From c2503ac8b2c992cf1ccb40e883d5f297146b1e2a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dariusz=20Wo=C5=BAniak?= Date: Sat, 3 Jul 2021 20:49:56 +0200 Subject: [PATCH 1/9] chore: update packages --- .../AutoMoq.TestFixture.Samples.csproj | 38 +- src/AutoMoq.TestFixture.Samples/app.config | 15 + .../packages.config | 7 +- src/AutoMoq.Tests/AutoMoq.Tests.csproj | 54 +- src/AutoMoq.Tests/app.config | 15 + src/AutoMoq.Tests/packages.config | 11 +- src/AutoMoq/AutoMoq.csproj | 29 +- src/AutoMoq/app.config | 15 + src/AutoMoq/packages.config | 7 +- src/packages/Castle.Core.4.4.1/.signature.p7s | Bin 0 -> 9480 bytes ...L - Apache Software Foundation License.txt | 57 + src/packages/Castle.Core.4.4.1/CHANGELOG.md | 394 + .../Castle.Core.4.4.1/Castle.Core.4.4.1.nupkg | Bin 0 -> 919111 bytes src/packages/Castle.Core.4.4.1/LICENSE | 13 + .../lib/net35/Castle.Core.xml | 6124 +++++ .../lib/net40/Castle.Core.xml | 6130 +++++ .../lib/net45/Castle.Core.xml | 6130 +++++ .../lib/netstandard1.3/Castle.Core.xml | 5741 ++++ .../lib/netstandard1.5/Castle.Core.xml | 5741 ++++ src/packages/Castle.Core.4.4.1/readme.txt | 10 + .../CommonServiceLocator.1.3.nupkg | Bin 21056 -> 0 bytes .../Microsoft.Practices.ServiceLocation.XML | 268 - .../Microsoft.Practices.ServiceLocation.dll | Bin 18112 -> 0 bytes .../Microsoft.Practices.ServiceLocation.pdb | Bin 24064 -> 0 bytes .../CommonServiceLocator.2.0.6/.signature.p7s | Bin 0 -> 9488 bytes .../CommonServiceLocator.2.0.6.nupkg | Bin 0 -> 68423 bytes src/packages/Moq.4.0.10827/License.txt | 39 - .../Moq.4.0.10827/Moq.4.0.10827.nupkg | Bin 1605195 -> 0 bytes src/packages/Moq.4.0.10827/Moq.chm | Bin 541525 -> 0 bytes src/packages/Moq.4.0.10827/lib/NET35/Moq.dll | Bin 507392 -> 0 bytes src/packages/Moq.4.0.10827/lib/NET35/Moq.pdb | Bin 357888 -> 0 bytes src/packages/Moq.4.0.10827/lib/NET40/Moq.dll | Bin 488448 -> 0 bytes src/packages/Moq.4.0.10827/lib/NET40/Moq.pdb | Bin 343552 -> 0 bytes .../lib/Silverlight4/Castle.Core.dll | Bin 239616 -> 0 bytes .../lib/Silverlight4/Moq.Silverlight.dll | Bin 139264 -> 0 bytes .../lib/Silverlight4/Moq.Silverlight.pdb | Bin 341504 -> 0 bytes .../lib/Silverlight4/Moq.Silverlight.xml | 5101 ---- src/packages/Moq.4.16.1/.signature.p7s | Bin 0 -> 9469 bytes src/packages/Moq.4.16.1/Moq.4.16.1.nupkg | Bin 0 -> 565511 bytes .../NET35 => Moq.4.16.1/lib/net45}/Moq.xml | 13583 ++++++---- .../lib/netstandard2.0}/Moq.xml | 12935 +++++---- .../Moq.4.16.1/lib/netstandard2.1/Moq.xml | 7827 ++++++ src/packages/Moq.4.16.1/moq.png | Bin 0 -> 6829 bytes src/packages/NUnit.2.5.9.10348/Logo.ico | Bin 1078 -> 0 bytes .../NUnit.2.5.9.10348/NUnit.2.5.9.10348.nupkg | Bin 766139 -> 0 bytes .../NUnit.2.5.9.10348/NUnitFitTests.html | 277 - .../Tools/NUnitFitTests.html | 277 - .../NUnit.2.5.9.10348/Tools/NUnitTests.config | 85 - .../NUnit.2.5.9.10348/Tools/NUnitTests.nunit | 14 - .../NUnit.2.5.9.10348/Tools/agent.conf | 4 - .../NUnit.2.5.9.10348/Tools/agent.log.conf | 18 - .../NUnit.2.5.9.10348/Tools/launcher.log.conf | 18 - .../NUnit.2.5.9.10348/Tools/lib/Failure.png | Bin 1445 -> 0 bytes .../NUnit.2.5.9.10348/Tools/lib/Ignored.png | Bin 1444 -> 0 bytes .../Tools/lib/Inconclusive.png | Bin 1436 -> 0 bytes .../NUnit.2.5.9.10348/Tools/lib/Skipped.png | Bin 1405 -> 0 bytes .../NUnit.2.5.9.10348/Tools/lib/Success.png | Bin 1439 -> 0 bytes .../NUnit.2.5.9.10348/Tools/lib/fit.dll | Bin 49152 -> 0 bytes .../NUnit.2.5.9.10348/Tools/lib/log4net.dll | Bin 258048 -> 0 bytes .../Tools/lib/nunit-console-runner.dll | Bin 32768 -> 0 bytes .../Tools/lib/nunit-gui-runner.dll | Bin 188416 -> 0 bytes .../Tools/lib/nunit.core.dll | Bin 139264 -> 0 bytes .../Tools/lib/nunit.core.interfaces.dll | Bin 57344 -> 0 bytes .../Tools/lib/nunit.fixtures.dll | Bin 9728 -> 0 bytes .../Tools/lib/nunit.uiexception.dll | Bin 90112 -> 0 bytes .../Tools/lib/nunit.uikit.dll | Bin 258048 -> 0 bytes .../Tools/lib/nunit.util.dll | Bin 126976 -> 0 bytes .../Tools/nunit-agent-x86.exe | Bin 7680 -> 0 bytes .../Tools/nunit-agent-x86.exe.config | 69 - .../NUnit.2.5.9.10348/Tools/nunit-agent.exe | Bin 7680 -> 0 bytes .../Tools/nunit-agent.exe.config | 69 - .../Tools/nunit-console-x86.exe | Bin 4608 -> 0 bytes .../Tools/nunit-console-x86.exe.config | 69 - .../NUnit.2.5.9.10348/Tools/nunit-console.exe | Bin 4608 -> 0 bytes .../Tools/nunit-console.exe.config | 69 - .../NUnit.2.5.9.10348/Tools/nunit-x86.exe | Bin 5632 -> 0 bytes .../Tools/nunit-x86.exe.config | 83 - .../NUnit.2.5.9.10348/Tools/nunit.exe | Bin 5632 -> 0 bytes .../NUnit.2.5.9.10348/Tools/nunit.exe.config | 83 - .../Tools/nunit.framework.dll | Bin 135168 -> 0 bytes .../NUnit.2.5.9.10348/Tools/pnunit-agent.exe | Bin 13824 -> 0 bytes .../Tools/pnunit-agent.exe.config | 77 - .../Tools/pnunit-launcher.exe | Bin 24576 -> 0 bytes .../Tools/pnunit-launcher.exe.config | 77 - .../Tools/pnunit.framework.dll | Bin 6656 -> 0 bytes .../NUnit.2.5.9.10348/Tools/pnunit.tests.dll | Bin 4608 -> 0 bytes .../NUnit.2.5.9.10348/Tools/runFile.exe | Bin 3072 -> 0 bytes .../Tools/runFile.exe.config | 43 - .../NUnit.2.5.9.10348/Tools/runpnunit.bat | 2 - .../NUnit.2.5.9.10348/Tools/test.conf | 24 - .../NUnit.2.5.9.10348/fit-license.txt | 342 - .../NUnit.2.5.9.10348/lib/nunit.framework.dll | Bin 135168 -> 0 bytes .../NUnit.2.5.9.10348/lib/nunit.framework.xml | 10385 -------- .../NUnit.2.5.9.10348/lib/nunit.mocks.dll | Bin 20480 -> 0 bytes .../lib/pnunit.framework.dll | Bin 6656 -> 0 bytes src/packages/NUnit.2.5.9.10348/license.txt | 15 - src/packages/NUnit.3.13.2/.signature.p7s | Bin 0 -> 9476 bytes src/packages/NUnit.3.13.2/CHANGES.md | 1855 ++ src/packages/NUnit.3.13.2/LICENSE.txt | 20 + src/packages/NUnit.3.13.2/NOTICES.txt | 5 + src/packages/NUnit.3.13.2/NUnit.3.13.2.nupkg | Bin 0 -> 1292603 bytes src/packages/NUnit.3.13.2/build/NUnit.props | 7 + src/packages/NUnit.3.13.2/icon.png | Bin 0 -> 16371 bytes .../lib/net35/nunit.framework.xml | 21818 ++++++++++++++++ .../lib/net40/nunit.framework.xml | 21286 +++++++++++++++ .../lib/net45/nunit.framework.xml | 21233 +++++++++++++++ .../lib/netstandard2.0/nunit.framework.xml | 21198 +++++++++++++++ .../Should.1.1.12.0/Should.1.1.12.0.nupkg | Bin 16895 -> 0 bytes src/packages/Should.1.1.12.0/lib/Should.dll | Bin 26624 -> 0 bytes src/packages/Should.1.1.20/.signature.p7s | Bin 0 -> 9467 bytes .../Should.1.1.20/Should.1.1.20.nupkg | Bin 0 -> 29632 bytes .../.signature.p7s | Bin 0 -> 18702 bytes .../Icon.png | Bin 0 -> 7006 bytes .../LICENSE.TXT | 23 + ...untime.CompilerServices.Unsafe.5.0.0.nupkg | Bin 0 -> 130329 bytes .../THIRD-PARTY-NOTICES.TXT | 884 + ...System.Runtime.CompilerServices.Unsafe.xml | 258 + ...System.Runtime.CompilerServices.Unsafe.xml | 258 + ...System.Runtime.CompilerServices.Unsafe.xml | 258 + ...System.Runtime.CompilerServices.Unsafe.xml | 258 + ...System.Runtime.CompilerServices.Unsafe.xml | 258 + ...System.Runtime.CompilerServices.Unsafe.xml | 258 + ...System.Runtime.CompilerServices.Unsafe.xml | 258 + ...System.Runtime.CompilerServices.Unsafe.xml | 258 + .../useSharedDesignerContext.txt | 0 .../version.txt | 1 + .../.signature.p7s | Bin 0 -> 18703 bytes .../LICENSE.TXT | 23 + ...tem.Threading.Tasks.Extensions.4.5.4.nupkg | Bin 0 -> 89582 bytes .../THIRD-PARTY-NOTICES.TXT | 309 + .../lib/MonoAndroid10/_._ | 0 .../lib/MonoTouch10/_._ | 0 .../System.Threading.Tasks.Extensions.xml | 166 + .../lib/netcoreapp2.1/_._ | 0 .../System.Threading.Tasks.Extensions.xml | 166 + .../System.Threading.Tasks.Extensions.xml | 166 + .../System.Threading.Tasks.Extensions.xml | 166 + .../lib/xamarinios10/_._ | 0 .../lib/xamarinmac20/_._ | 0 .../lib/xamarintvos10/_._ | 0 .../lib/xamarinwatchos10/_._ | 0 .../ref/MonoAndroid10/_._ | 0 .../ref/MonoTouch10/_._ | 0 .../ref/netcoreapp2.1/_._ | 0 .../ref/xamarinios10/_._ | 0 .../ref/xamarinmac20/_._ | 0 .../ref/xamarintvos10/_._ | 0 .../ref/xamarinwatchos10/_._ | 0 .../useSharedDesignerContext.txt | 0 .../version.txt | 1 + src/packages/Unity.4.0.1/.signature.p7s | Bin 0 -> 9506 bytes src/packages/Unity.4.0.1/Unity.4.0.1.nupkg | Bin 465379 -> 475012 bytes 152 files changed, 145323 insertions(+), 28452 deletions(-) create mode 100644 src/AutoMoq.TestFixture.Samples/app.config create mode 100644 src/AutoMoq.Tests/app.config create mode 100644 src/AutoMoq/app.config create mode 100644 src/packages/Castle.Core.4.4.1/.signature.p7s create mode 100644 src/packages/Castle.Core.4.4.1/ASL - Apache Software Foundation License.txt create mode 100644 src/packages/Castle.Core.4.4.1/CHANGELOG.md create mode 100644 src/packages/Castle.Core.4.4.1/Castle.Core.4.4.1.nupkg create mode 100644 src/packages/Castle.Core.4.4.1/LICENSE create mode 100644 src/packages/Castle.Core.4.4.1/lib/net35/Castle.Core.xml create mode 100644 src/packages/Castle.Core.4.4.1/lib/net40/Castle.Core.xml create mode 100644 src/packages/Castle.Core.4.4.1/lib/net45/Castle.Core.xml create mode 100644 src/packages/Castle.Core.4.4.1/lib/netstandard1.3/Castle.Core.xml create mode 100644 src/packages/Castle.Core.4.4.1/lib/netstandard1.5/Castle.Core.xml create mode 100644 src/packages/Castle.Core.4.4.1/readme.txt delete mode 100644 src/packages/CommonServiceLocator.1.3/CommonServiceLocator.1.3.nupkg delete mode 100644 src/packages/CommonServiceLocator.1.3/lib/portable-net4+sl5+netcore45+wpa81+wp8/Microsoft.Practices.ServiceLocation.XML delete mode 100644 src/packages/CommonServiceLocator.1.3/lib/portable-net4+sl5+netcore45+wpa81+wp8/Microsoft.Practices.ServiceLocation.dll delete mode 100644 src/packages/CommonServiceLocator.1.3/lib/portable-net4+sl5+netcore45+wpa81+wp8/Microsoft.Practices.ServiceLocation.pdb create mode 100644 src/packages/CommonServiceLocator.2.0.6/.signature.p7s create mode 100644 src/packages/CommonServiceLocator.2.0.6/CommonServiceLocator.2.0.6.nupkg delete mode 100644 src/packages/Moq.4.0.10827/License.txt delete mode 100644 src/packages/Moq.4.0.10827/Moq.4.0.10827.nupkg delete mode 100644 src/packages/Moq.4.0.10827/Moq.chm delete mode 100644 src/packages/Moq.4.0.10827/lib/NET35/Moq.dll delete mode 100644 src/packages/Moq.4.0.10827/lib/NET35/Moq.pdb delete mode 100644 src/packages/Moq.4.0.10827/lib/NET40/Moq.dll delete mode 100644 src/packages/Moq.4.0.10827/lib/NET40/Moq.pdb delete mode 100644 src/packages/Moq.4.0.10827/lib/Silverlight4/Castle.Core.dll delete mode 100644 src/packages/Moq.4.0.10827/lib/Silverlight4/Moq.Silverlight.dll delete mode 100644 src/packages/Moq.4.0.10827/lib/Silverlight4/Moq.Silverlight.pdb delete mode 100644 src/packages/Moq.4.0.10827/lib/Silverlight4/Moq.Silverlight.xml create mode 100644 src/packages/Moq.4.16.1/.signature.p7s create mode 100644 src/packages/Moq.4.16.1/Moq.4.16.1.nupkg rename src/packages/{Moq.4.0.10827/lib/NET35 => Moq.4.16.1/lib/net45}/Moq.xml (50%) rename src/packages/{Moq.4.0.10827/lib/NET40 => Moq.4.16.1/lib/netstandard2.0}/Moq.xml (50%) create mode 100644 src/packages/Moq.4.16.1/lib/netstandard2.1/Moq.xml create mode 100644 src/packages/Moq.4.16.1/moq.png delete mode 100644 src/packages/NUnit.2.5.9.10348/Logo.ico delete mode 100644 src/packages/NUnit.2.5.9.10348/NUnit.2.5.9.10348.nupkg delete mode 100644 src/packages/NUnit.2.5.9.10348/NUnitFitTests.html delete mode 100644 src/packages/NUnit.2.5.9.10348/Tools/NUnitFitTests.html delete mode 100644 src/packages/NUnit.2.5.9.10348/Tools/NUnitTests.config delete mode 100644 src/packages/NUnit.2.5.9.10348/Tools/NUnitTests.nunit delete mode 100644 src/packages/NUnit.2.5.9.10348/Tools/agent.conf delete mode 100644 src/packages/NUnit.2.5.9.10348/Tools/agent.log.conf delete mode 100644 src/packages/NUnit.2.5.9.10348/Tools/launcher.log.conf delete mode 100644 src/packages/NUnit.2.5.9.10348/Tools/lib/Failure.png delete mode 100644 src/packages/NUnit.2.5.9.10348/Tools/lib/Ignored.png delete mode 100644 src/packages/NUnit.2.5.9.10348/Tools/lib/Inconclusive.png delete mode 100644 src/packages/NUnit.2.5.9.10348/Tools/lib/Skipped.png delete mode 100644 src/packages/NUnit.2.5.9.10348/Tools/lib/Success.png delete mode 100644 src/packages/NUnit.2.5.9.10348/Tools/lib/fit.dll delete mode 100644 src/packages/NUnit.2.5.9.10348/Tools/lib/log4net.dll delete mode 100644 src/packages/NUnit.2.5.9.10348/Tools/lib/nunit-console-runner.dll delete mode 100644 src/packages/NUnit.2.5.9.10348/Tools/lib/nunit-gui-runner.dll delete mode 100644 src/packages/NUnit.2.5.9.10348/Tools/lib/nunit.core.dll delete mode 100644 src/packages/NUnit.2.5.9.10348/Tools/lib/nunit.core.interfaces.dll delete mode 100644 src/packages/NUnit.2.5.9.10348/Tools/lib/nunit.fixtures.dll delete mode 100644 src/packages/NUnit.2.5.9.10348/Tools/lib/nunit.uiexception.dll delete mode 100644 src/packages/NUnit.2.5.9.10348/Tools/lib/nunit.uikit.dll delete mode 100644 src/packages/NUnit.2.5.9.10348/Tools/lib/nunit.util.dll delete mode 100644 src/packages/NUnit.2.5.9.10348/Tools/nunit-agent-x86.exe delete mode 100644 src/packages/NUnit.2.5.9.10348/Tools/nunit-agent-x86.exe.config delete mode 100644 src/packages/NUnit.2.5.9.10348/Tools/nunit-agent.exe delete mode 100644 src/packages/NUnit.2.5.9.10348/Tools/nunit-agent.exe.config delete mode 100644 src/packages/NUnit.2.5.9.10348/Tools/nunit-console-x86.exe delete mode 100644 src/packages/NUnit.2.5.9.10348/Tools/nunit-console-x86.exe.config delete mode 100644 src/packages/NUnit.2.5.9.10348/Tools/nunit-console.exe delete mode 100644 src/packages/NUnit.2.5.9.10348/Tools/nunit-console.exe.config delete mode 100644 src/packages/NUnit.2.5.9.10348/Tools/nunit-x86.exe delete mode 100644 src/packages/NUnit.2.5.9.10348/Tools/nunit-x86.exe.config delete mode 100644 src/packages/NUnit.2.5.9.10348/Tools/nunit.exe delete mode 100644 src/packages/NUnit.2.5.9.10348/Tools/nunit.exe.config delete mode 100644 src/packages/NUnit.2.5.9.10348/Tools/nunit.framework.dll delete mode 100644 src/packages/NUnit.2.5.9.10348/Tools/pnunit-agent.exe delete mode 100644 src/packages/NUnit.2.5.9.10348/Tools/pnunit-agent.exe.config delete mode 100644 src/packages/NUnit.2.5.9.10348/Tools/pnunit-launcher.exe delete mode 100644 src/packages/NUnit.2.5.9.10348/Tools/pnunit-launcher.exe.config delete mode 100644 src/packages/NUnit.2.5.9.10348/Tools/pnunit.framework.dll delete mode 100644 src/packages/NUnit.2.5.9.10348/Tools/pnunit.tests.dll delete mode 100644 src/packages/NUnit.2.5.9.10348/Tools/runFile.exe delete mode 100644 src/packages/NUnit.2.5.9.10348/Tools/runFile.exe.config delete mode 100644 src/packages/NUnit.2.5.9.10348/Tools/runpnunit.bat delete mode 100644 src/packages/NUnit.2.5.9.10348/Tools/test.conf delete mode 100644 src/packages/NUnit.2.5.9.10348/fit-license.txt delete mode 100644 src/packages/NUnit.2.5.9.10348/lib/nunit.framework.dll delete mode 100644 src/packages/NUnit.2.5.9.10348/lib/nunit.framework.xml delete mode 100644 src/packages/NUnit.2.5.9.10348/lib/nunit.mocks.dll delete mode 100644 src/packages/NUnit.2.5.9.10348/lib/pnunit.framework.dll delete mode 100644 src/packages/NUnit.2.5.9.10348/license.txt create mode 100644 src/packages/NUnit.3.13.2/.signature.p7s create mode 100644 src/packages/NUnit.3.13.2/CHANGES.md create mode 100644 src/packages/NUnit.3.13.2/LICENSE.txt create mode 100644 src/packages/NUnit.3.13.2/NOTICES.txt create mode 100644 src/packages/NUnit.3.13.2/NUnit.3.13.2.nupkg create mode 100644 src/packages/NUnit.3.13.2/build/NUnit.props create mode 100644 src/packages/NUnit.3.13.2/icon.png create mode 100644 src/packages/NUnit.3.13.2/lib/net35/nunit.framework.xml create mode 100644 src/packages/NUnit.3.13.2/lib/net40/nunit.framework.xml create mode 100644 src/packages/NUnit.3.13.2/lib/net45/nunit.framework.xml create mode 100644 src/packages/NUnit.3.13.2/lib/netstandard2.0/nunit.framework.xml delete mode 100644 src/packages/Should.1.1.12.0/Should.1.1.12.0.nupkg delete mode 100644 src/packages/Should.1.1.12.0/lib/Should.dll create mode 100644 src/packages/Should.1.1.20/.signature.p7s create mode 100644 src/packages/Should.1.1.20/Should.1.1.20.nupkg create mode 100644 src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/.signature.p7s create mode 100644 src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/Icon.png create mode 100644 src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/LICENSE.TXT create mode 100644 src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/System.Runtime.CompilerServices.Unsafe.5.0.0.nupkg create mode 100644 src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/THIRD-PARTY-NOTICES.TXT create mode 100644 src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/lib/net45/System.Runtime.CompilerServices.Unsafe.xml create mode 100644 src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/lib/netcoreapp2.0/System.Runtime.CompilerServices.Unsafe.xml create mode 100644 src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/lib/netstandard1.0/System.Runtime.CompilerServices.Unsafe.xml create mode 100644 src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.xml create mode 100644 src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/ref/net461/System.Runtime.CompilerServices.Unsafe.xml create mode 100644 src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/ref/netstandard1.0/System.Runtime.CompilerServices.Unsafe.xml create mode 100644 src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/ref/netstandard2.0/System.Runtime.CompilerServices.Unsafe.xml create mode 100644 src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/ref/netstandard2.1/System.Runtime.CompilerServices.Unsafe.xml create mode 100644 src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/useSharedDesignerContext.txt create mode 100644 src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/version.txt create mode 100644 src/packages/System.Threading.Tasks.Extensions.4.5.4/.signature.p7s create mode 100644 src/packages/System.Threading.Tasks.Extensions.4.5.4/LICENSE.TXT create mode 100644 src/packages/System.Threading.Tasks.Extensions.4.5.4/System.Threading.Tasks.Extensions.4.5.4.nupkg create mode 100644 src/packages/System.Threading.Tasks.Extensions.4.5.4/THIRD-PARTY-NOTICES.TXT create mode 100644 src/packages/System.Threading.Tasks.Extensions.4.5.4/lib/MonoAndroid10/_._ create mode 100644 src/packages/System.Threading.Tasks.Extensions.4.5.4/lib/MonoTouch10/_._ create mode 100644 src/packages/System.Threading.Tasks.Extensions.4.5.4/lib/net461/System.Threading.Tasks.Extensions.xml create mode 100644 src/packages/System.Threading.Tasks.Extensions.4.5.4/lib/netcoreapp2.1/_._ create mode 100644 src/packages/System.Threading.Tasks.Extensions.4.5.4/lib/netstandard1.0/System.Threading.Tasks.Extensions.xml create mode 100644 src/packages/System.Threading.Tasks.Extensions.4.5.4/lib/netstandard2.0/System.Threading.Tasks.Extensions.xml create mode 100644 src/packages/System.Threading.Tasks.Extensions.4.5.4/lib/portable-net45+win8+wp8+wpa81/System.Threading.Tasks.Extensions.xml create mode 100644 src/packages/System.Threading.Tasks.Extensions.4.5.4/lib/xamarinios10/_._ create mode 100644 src/packages/System.Threading.Tasks.Extensions.4.5.4/lib/xamarinmac20/_._ create mode 100644 src/packages/System.Threading.Tasks.Extensions.4.5.4/lib/xamarintvos10/_._ create mode 100644 src/packages/System.Threading.Tasks.Extensions.4.5.4/lib/xamarinwatchos10/_._ create mode 100644 src/packages/System.Threading.Tasks.Extensions.4.5.4/ref/MonoAndroid10/_._ create mode 100644 src/packages/System.Threading.Tasks.Extensions.4.5.4/ref/MonoTouch10/_._ create mode 100644 src/packages/System.Threading.Tasks.Extensions.4.5.4/ref/netcoreapp2.1/_._ create mode 100644 src/packages/System.Threading.Tasks.Extensions.4.5.4/ref/xamarinios10/_._ create mode 100644 src/packages/System.Threading.Tasks.Extensions.4.5.4/ref/xamarinmac20/_._ create mode 100644 src/packages/System.Threading.Tasks.Extensions.4.5.4/ref/xamarintvos10/_._ create mode 100644 src/packages/System.Threading.Tasks.Extensions.4.5.4/ref/xamarinwatchos10/_._ create mode 100644 src/packages/System.Threading.Tasks.Extensions.4.5.4/useSharedDesignerContext.txt create mode 100644 src/packages/System.Threading.Tasks.Extensions.4.5.4/version.txt create mode 100644 src/packages/Unity.4.0.1/.signature.p7s diff --git a/src/AutoMoq.TestFixture.Samples/AutoMoq.TestFixture.Samples.csproj b/src/AutoMoq.TestFixture.Samples/AutoMoq.TestFixture.Samples.csproj index 4300a94..48905c8 100644 --- a/src/AutoMoq.TestFixture.Samples/AutoMoq.TestFixture.Samples.csproj +++ b/src/AutoMoq.TestFixture.Samples/AutoMoq.TestFixture.Samples.csproj @@ -1,5 +1,6 @@  + Debug AnyCPU @@ -13,6 +14,8 @@ v4.5 512 + + true @@ -34,20 +37,24 @@ false - - ..\packages\Moq.4.0.10827\lib\NET35\Moq.dll + + ..\packages\Castle.Core.4.4.1\lib\net45\Castle.Core.dll - - ..\packages\NUnit.2.5.9.10348\lib\nunit.framework.dll + + ..\packages\Moq.4.16.1\lib\net45\Moq.dll - - ..\packages\NUnit.2.5.9.10348\lib\nunit.mocks.dll - - - ..\packages\NUnit.2.5.9.10348\lib\pnunit.framework.dll + + ..\packages\NUnit.3.13.2\lib\net45\nunit.framework.dll + + + ..\packages\System.Runtime.CompilerServices.Unsafe.5.0.0\lib\net45\System.Runtime.CompilerServices.Unsafe.dll + + + ..\packages\System.Threading.Tasks.Extensions.4.5.4\lib\portable-net45+win8+wp8+wpa81\System.Threading.Tasks.Extensions.dll + False ..\..\lib\System.Web.Mvc.dll @@ -62,9 +69,6 @@ - - - {9A4C2524-6E70-4937-BF27-2A449F51D7E9} @@ -76,7 +80,17 @@ ASPXCodeBehind + + + + + + + This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. + + + NL0lusQ)Y8jZJxP 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

=m@U~V4YyTQf|$93hgm$|N;r~4w&TqkD% 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\(_?a}Q61_piGJtn6#kohAVbvr8Y8C?)0LD5DF; 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%0DA0$Tfn6(Qb1fpGGUG&aOE`Ef3(Y=nVruer znXJ}f#L{b)-eZ@p+@_M38r>w?J3|X94^0k4=_3(aQ>v3xrr;S}Z(e&TkgtkL$z!8f*4I*P3jdQ*dTo7p-I4wr#Ux+v(U&-k@Wf9ox2TTOHfBos+Nrs#A5U z&c)g_ulC*2SYtk;!*2{i82S!e$MeF=-dD5mSD+E*`>7F1;6pxO0eEfMu6de?9u4#mRb?`c_IsGzI2M8z zdp-F0-1D^Kcsnp`wJ(|{nOEdhRZr?k++hayi$$tlKY99;cnhH zqkX;jsh8+^S7R3)KL+O3-$@7H^nuy<%EOq=4pUJU+<{Nw5H_&%&W!|K1BQR#+Vmr%D+s>t-aTk4$sgW z`Pt;=McggKiW=2M^57^SE7RK4ZguK2ERO$|YQ` zMlm&yDgfAP5?Ow(;Gc~CFJx{M%;eEM_{o!$nm9nMt!n8g32i{-NFDY1uNA5Y(9@6s zxu_P-!_~<`-kWIarm6^^g}?NOWhBc<+ajOi%AMh|zx6qm`Bj1wA(1V&406@=U_SY^?yI)@Y8sYP7tp(Vb#rs+O{vlh!s_93C~trJNZuEI7Ph%uAGEwG&EwS&?1=G}}Or}o4pADOYi13eX!+X&boIZ&6&&ZamFCIeo4F(n4~_aELzBJo@(AD2|(Nfcp+hXy+O89IVE zc|f1;s9XjI4VMMn!SlBL3>IuvN-N|j4iEd?bm*(t8!GT2el|` zJ}@mN^`Kwy#viUjA1#iw;*mIq)xwfAMvPcS(nO^gd=Lqh!uI_AyLr$Y=eTQ;wmKYA zqK3WSTMk-*P{~uvgI?RtO2LQo=Mu;XZ<-%JQwQ@9`RtGOpQZLN2-gdNog5TY0Ea7R?jSJk6fO92&W-I@~`vNAcpkXNJ?#t5&Y@XQZd z`RvS7xdsNYDW;jYjgqc|rV>jmlet(A*rt#$1?Ruv(FL7uNzA3WRjg9~{EbA!?}Ott zY&d_Iq%&9N2XCNRH3{&p9o>rqX6s512VvpxD+3lhv&s4V!mC@!gN5V4fKO%3qA+Tj zDx+*mv;S=6OE8D@hBApc{?+a@j0kmEF>i*sJ!75T&dg+^458b*d=uWujI^U@ax+e!j@M23vSoxY)0G?IGx$G0OX&IfqM zY!_iY5CXcO}ccmeI|gOOf_;m@)Igh5_#Gui7w+AAwXY9EiM@}gb!uMTXN9cM>dF7f%@jr zWH~)48W0Vh!KZLa9W~6q`}JR8VU=1M$H|%ZC)TBXU6e%N(rJX}AW%+l>tCgnaeLT4 z8z8Wlpu(eG3>IOMn`s$mk{ilp56LQ>9aO~;7avtjZqa_%rbTWDD z6@(zli&Q0ejx4G#E^v$^bc|lmVTVHq{Jj-QT^9$88TQ2sGi3n|^D%ruytZc+7YAkh z6Y-W)4iYxZtxjEOU)U;K*g{3f;?6pEuKw31f84y- zmStDOU0htnM3eQP>}AT*-dxH8qtdj{T!OLuCw}S5u(=z6oLCxf39+Mkh5M~olA2$>vkkev)>_DX4tN5dfiaU~0%hyf~--722NDcn%&`y<>fdkb-z0SU^4& z7f8&1lHjrG%v2%C@ZwUr;<)~z8HaLb>yAzV6Z|X$3ObIpffgljbGmwopr)}1iCUDI zykV~8NS9@Y#k`$d$ekxB`}jY8!4HIbp3yU+^B|%M8R&|HQiOgUsPp)JycgGX4DLvO4rXmc_7BNFRg@o#Gmi0uY8lNdQ+yP*Suw(B{y#-j5Ez_ znNSIcf)qGMXY<4mi!Pnecge|B|t@Z>5dk|dDx+5|0~i01;|2wA`bNMARMrI4gG+b z{M2` zb;i(CwidIDm}I7lFxdZN*!O*x>%2q#+*7YM@gh3+JpGV^lhS7%zXG`feYo7HN8t1Z z7DfrRV(pqGrFW4FR|cse9V^iGC1-#x$=au%o7l~$g))O4U-i~C6O{hQDSUzq zLgQ2Sf}2JMe1BWmA8`HQ39*9w#J)oJE0-dS`h_m&Q{A&02qz4cVd?UfTEGd`0dz?k z47#5@PXVc#x-_c(gl&=hBZw?u8EP*S%t+;FMlLMy2NP<4?hcEARd+510`vHo(Sq62 z-SH}DU$fQqDoDt%)l+ANU6}23KrfPuK@9(MqE9C30&?ng&Zn=A1a(IyK`LiKx6hDT zdu8<~oEiH0!Lwk``}U<}q2+C6!qs~pQR*J!YZg+B&Xq2Z-IHx@1hXx$YN4fIraC*c zn9+DTlZM65+x|z^t+oW1b%Q}bt1m}*>4qg>&>~E8LFNZa@)wHvC`?qj{^OV|Je6=A z_H;MQH3UQp$`&aIZx+zHvBw-D{0uPjuRMf4?xxhi`FAYFi7N1RY6q*{LHK)=_2J^f z>eNw`Jp9?p5y3B^%cG5}WEmxv2}h_)`{W@$2R#lb0NgpgAVQ&Ua%<2JvasnYl&d$rs3H#V3ox>$ z@ObVL;-me(osFQMaQo($t3YL!-|gpfv&7vc$`r&@t#L*4;E8k=mQ*C=RWbSiEP##- zWgLnI2(RhxjSavHQfmWFtKB=W9!!)gW+3=HFn43Q024$mI8@Z0_B|ZgjlY#ub}ygs zF!<7_`0Qm|lk+UKbS>`sMDZy3kd)4|gTo&_ZlGN;jB97hRw0u2&&>Xb$bj&1WoTX9 zf5|{dsQGsw0JrnZ^>HkIna2Dq^fu%Gh#Z5O;l#28OLHK6BiNqQpY8pCELqF60+d&E zS-m?eHg(Bh=vOU{*XWvBHm#$RmvS7Sh7gnd>A3NZFvuA9BvyFiLMYbPeBzK(Pk9+$ zJC}kZm)HLRU9Qm@?HWsv%Nj0{cS==ef^9sL^fM-VhHxX0z)@hG|Da3tjZOhN6hs5- zW!zYjHyklk59Wzv`g1Lv;--I9K7_>QqTy^WeoJIS6JZ)Q)VAYg6L35?z_IBLML#Xe zR@&4r@0ohEgf}*^o!Jr!?~z5uk-?Ljl$vSbt4rU-oK=5se%7<#d7J ziz5=3*lQ?6-)@SOKIFf!aH+#15YLiPGJH-I7brWvCQ{U}7@C6$ui|vS;SzOw5rFOo z^tq)>^9XUbn|V zaEhCkpZ4Rhz83L83kvYXDxVU_?{G)u92=#mBvy{7jx8|G_?8}^C)AcBP2GRF)id9R z8g|SnU5^Ay3PG+>aEYcOTa)Ohn=6)Oqa;$z7n%t(TB|P<+?V)Bu?zzo^mjXarQ&Ny zLycT*0%OJ-RrcI!kqp1~6+W?F->JNuoUOwv+-7$eMeiu2!Q^2z#tYM+;w#^xXf&7- z)uT|xSOz|*lJ#>moTodNNyroWx#dhp#n8Gi(IcIB@J+ESsZ*cQi&oV~^YSH1+L+eS zlOG!YtP@W`BsvMGO40_JEaLTbjX4~@HAa3 z_@0^P`Dq(}Mk1#*xs@DvA1{TRgVd2NQr+1+9%NFEKyag`DL3{26Mwz9*E#6OC0-wd z@2>Y2NChe~7((nlBGkpIxOKPlKU$||Bu`OrHNr2oWK0B^jK2HFm0#1R)zBGmu%2gc z*cVivtXrb)OhI<}RU_)>l_8~5uLHW{#)om@e^9v&*r9H8QgNhl$`L)cXzC$JiJ{;R zEO@j-@X&%Y->66Lia}C<1ffCDU&$&DkqNESrpxuw3zW)|uD$!#j%qF#j!T6I2x&974C&9Zx18x0t*TY?Lem zTi1xY7(FUNl7VdHeXoyWr#F)}R-4J6n4nlArpmC|XGw*{0j}1(Lpn22$y^RL6O1%z z;pU0>R5)%I*tO&EH?%2xyJC4k>shUL;s1gPQ7NB~ZrnvY{McX{NJtM7zrGZ&e=<)e z5B%nmY)%i~Kb#@pt{koq8`ME#7bySo>)GH@rAx$_GNO*S5oGwoMUe4h;l%Bxkq(2! zH(JvfFo?(==fG`;eK@3!`jK3WDOM?%@mLK3d^7L=P1j>IWP`^rote$64{Cr=Ve$dc z)K>Hb2#Yop{)aOBI-DSkS>#w@=ypk1oC3fS^+erPBrqR!SL{~% zT>Dg&uGw!U;`U}8{-{U66oYJxvuNV#aw-}PY1S$fYg24ZmZEHVhUuB=ZLWL2wI+^- z@Bb}q%a^iNfHP9*XB*DDTI#+D6!I|rWtnaE6>Zc2HglyYD(caVcWi-hm6}I?+~}|U`e{THM)5^l8;)hwQmLFm-lSq! z16f?6L%87@{qji5qaB2unCL6@0rqW=XVRp;O z3IYHDjjA&5wD#mQHa@=)It}CqF^UEsCkz)8HL0EnY!jZtm94IS< ze;1C(9Eclq6kBK-$O$42wx3HU+~@0EP*-v|P2@98#61CZD*P?^{l2q88ru3M&8>_= zv9qJ7QJ!wX%RuR2aFVnU7O~+)V2zeE(sOze$MtM_k|zdVq-&$u73gtR%8??2bv1MB zNS0&2XHKqp>10F8RAGPya7$<2%U}N|xq;w6frlXL_CJB=_9RNeoR4RJ4m)=G58lup z=eeE|1M{aOyz>ijn|KW-kiE0rtvP|hrPV&se88}}BrVVe zpL*AkE4s#p$$j@Qd!_p7bqpA`kVK( z^C3Z^oS~=B-zH`4%85MF<)D((93P*Z^9{}GcG}sgIN^Rs5Jcsa+I>GOdfx^wW#IAx z#XN* z^2ml;b}fdO-(BRw`d8lSifc^20H=AYtzGQByUTHMLb%F}`@z28bR$iZ&UwW)M3H40 zs9kSCR;+r;AKgMs!(CwpYTOdWT~9#Hb)cjQ>=`%=V0VK{(?R>BL*k8vncIE;I!7N+ zi$PVCqQim}r4(Xt!_<89G)c$DC3Zz3B%RYP`R!c@O#+YNQQOmq_rht!M6B7I^=$DS zquRXvxbBHZWgOv>2D%p|?!6KV%T|1bGZwIw{rbL}wNWfVNar?y0^Z`c`l#PSGS zj$iT7#EWub8tQb2WPp3nGm9sda61UBby)^mSn+@bJ8 zT(Pu$mk2|;qr9fseWtC&+%_2mKt8$5*RD5>w}3(4L}KMH+{?h_I1|`R@Pn zt6d^S11d=rnU&x@F<;K1brZdH>0bT$Pvk3_y%fQ-+3D1L;=($~0BzU_WFY$5`X)==kjaYU`S$0w4aRO+T%XCYeex_ZS6Yp;^ zfUKC#t_sgd(ayMus;!bSTCr7`jRJk?Et&1+fUISS2jZQf=>~#Z2_9#*GJo^_h%%4D ztCBbw%|s?nF%Q?iWp4REkW1^C)K2+P${RWXpPqjjsNvNauUxb4AT>1t>zp78{JNB| zFgi7-AA=Qe000RdXs_Iq5E3(^e<<6VT>~2t(s>o|9 zGBR!sjwB9qhl9L{r}Z!RMlNBC#7n0{>M027l#2KPE>KJ4!`v5_wJif%2%c`)eiaKs?u{*F-0+Hq#OBQq$JNp=GIPwN441zG_Bt(c~^#dRO*cC3wA542_vZ2W`KAErv|c8p$t^gNMTlBQGpGJc`L z5VdA4?q&^-Q9MIIq17lHEH1)h6@c74_ z_Q*-pTqQufZp%wCEKH9`h3XXzpz?N&QSg?|Q99TerYEQ!>=T)~?G*d$_)PUnW;ZR< z8MWM8%iRflU<|L^H6uA$`pA1R#u>x(uqxuxJvoGb8Tjj=ydZ1`r3uESK7)G`>91m* znp4F}i}P3Tiwp9Tp79j~lJad%VXMO%4MH}q>*`kpvd%`1XIQuurPtIZHEka}?`kHXZ|6l$5fI%M~oRd<0%PnIM8+?C0w3NMY9e>e>g;j*S2QmNJC>A_^cc$nkIvd{>zt`23I)9X$x5k`vD1~Aq(fVljK^`6; zJ>Op)-5rq<{ueL^TvwwqTm&m`R{=k&1uKRG=nHa4B!&<46{kIxzJTb-Ob^YZcXYsI$8 z7URZd@yX4J%|bfkdPr0<)N0aNMNr0X9ZR3pBY~33gHr|Y%|HfL#pFU3y0%P^nF11yl1@yS@3ablZb-Q>p*IgFsekZw9bf{Nd zt=WDDw#&oBa5uM$!UokjU zipo^YU8v97O+<7rY2YI$;2$gYU}Ogtz6idB5PnrCx4r8qUj@go-`V%p{g6HmkVbf3 zM0&|S&S5g9eW~xR(eIzD`JWn_9{3$0H*2`(uMEX1FRD~&B@!~$L%KU2vNX15gCBhD z4_8n@rBnae9@S&SNVZt~VXgU1V>!!VN?x^Z4Sl{-l9aS`>qc;*IZ;~4arWICdh$f3 z#yeNfBKDRYbgg_?Q(RO3j#QZ`fY4OAblTiRTBM+*aS1?@W2%dRg?Y>ss{<9}^-SQiL!%o%sjW7L+xRvFG%UjAT z-rLeEJxd^+UEYy4LcUK}h+{kIi^R~eS=k3yjycCHTP9Cfue+)82WmRj)|u~RYi{gV z?usyvq=nBWe*WO4$lh2uqS8l}SfmPHWvfpST|LGaZ==c1N*>O^ScwNJERd zlrB3~<%O#6FI<~les7KS$?7MA&(n&SeKameW!gMnS;^j}T+JfW=LY1J#Cqb^ISh*l zI{C`s8vFP&WNaVa%lyvLPGp7V z%j(XRat#WJw6Sf{uLuU2qm0SNr!wNa{07GECr+pTNk^gc2zbb-@*!vl-ISx@LNs0y zIn~MPY_P*UbFpU0$#fHRiT`K;!s1^Y&qFZ$_lo6zWdQ1}ozMpkv=!{&S;Ts;cLVNJ zO-tfSlao(ZkU$|LfUYaL?b?I6SUBd%JTEV_CYufMZ^}GChH7-8Bv9s5C*5pbRy5s4 zK*vt%u%XWsEs?{rJ_%h3UQejV^r*`7y6c(a_)c%NAPxb>J-cJ|>?olRb8c&5cOq%{ z2+)_3Pr-h;>4lmiy-QVkysRo6BRwWXo#>5JXXgNZVsvB5mb_WEBh41EsRq%Jl=H65-+C{1@JESMJ%FD{i&-nr~tB9R`!{E(dc!-AG z!n(;jera<}-ME%85-117?Qr z(UvQQ84c2_i^NoNH|7<=^G*+8`pzQFxW9Do{F!^0Ff`t^y94w4t$Xplz8BDDgws$q zG^zN_GX-(ar_^_iuzbI8r4*cBZ(i=2-`7&e?VzFEFB zy!-MPe&2eCp@uskY%GhU6c=4Lzkg7aBC_00gu2cwebb67ERECeTyp*a_BH^26RyxE zk&aaD;mT(si=~XV!L?-M{?}n2f@b_kznW(Sx>Y&-5Q5jZdz~KoTimI!)PTb85-pwM z*~yK1k2h+-mZEcK+;5{N?PlJ^lxr>WG)%Bj2Nto3C3$!zxEIe#1XE3Z6A`1JUpW-> z0v=~ydcCb$RS16+FKv$WtN$oU!}ak`hZuFo*qWKT>Ju?l{5XS2p~UJuU96{QW)ANl zkxhIy)fM#e+*zw-8P_#l+ob9rU+-W;-}$BfuA=Fs(-<+Fpd|3FPG}-J6PX0v_4hZ1 zh1~la)LGqet}O!xRw$wO`bu+qP4>Wujy4B@(N&-@$6YVkPJc7kfM_^B3XK_3Js!Vi zl;biVe3Ajaongmv-x@H-(5F^WUhmFSDEY` z11H|GTU{LNyFzp?>-D3f=lZ9d{4*jy^=cr1AZ&lkj^F zuRS#O7}LsI6%xFHcKTm2UPa5Kb7d@{J`Ll(ipXiFrIk;bnIxOzm$x+5qZ-oc7$!ut z-hX|hs5;@Zy6|mAdqACI4gFap#A;uNwM#FylE-betfNtcHlVB1DmQY(3}feOfJTj> z+P(->O&NyDBGN!=r+Z-S0^0Yt;W4F%1*llyH|DTf3w;YQTt{&D@GEYeGoi64>s25h zJqd?Aob}Xv!3-_=kg`_+`VwL9Pr6VNi=LX=ugrlhvz)*$eTC$lBSr36MrZShdJ>A# zi6wDVyux56Ulza&Q(*4K6$y57$*wXr`?KmTowi$#nE!fHI&h9BIuc8w@1l}XK0MP3 z6{+1z7HJ!crJFia6yTeSf5(enp_Ubqqi!HR@cI>|IhlTEHihgF0A)-#5cdVrkp;;U zv@O|`HPshW%bp7k`oG#7;=@!5z->vGCS2S?NlPOSkd4t?+iEr$@Q-m*BfD?mk^H4h zpy{CQ zZ0=azO|_O-T(Za{(}xLa8bh;(IgE;;X8kMw`>psU@OOuM#Fw=&Vh5X^-8qb4#NYL% zGFv5v9R?P@SHtk;JWQ%QYJx839&E;NOH}@-3(h;mcbBrBMMBxLuLcNMUHT`Uq*Vt> zLV!ZB&dO|qm>jeDJSF6*M;UP+7I^;{dpPV?>V>Kaz71>d%!~+A>MyxQeYbYbBdpSr zMoVfE73dgFk&)+LcUGx$^~f7D%LAFoT#dh?w=8Wul zi#E87ud*CSNTE&vePdJsO%^bJSIxHl>g!oU5h(awX&?tONwG)i{JKo!N_X(=y*~Kb$w-U1K0Yp@RKq8GWM6M@{nhTRbGv+=(T`&c z9}M0z(z_vj&|zOr(I)oE?n6c!zoq75J#4KLA40L?G(;Y)4KNBlMBzxp!w66QA)Cib{v94 zVrs)vHE)zwyf7_~9By?|^=-~i+2OpC$mH9 zE-^s>#Ln!R;&8|)E3K%ekf40I^J=G0X$7VZ1p zz7v49F$C_$PPH>1!|ka*#=bSVgi_M9`SkYDUq#*|nadm|MT9QMM9*52qu z*=Gw>`r946S}NTa5fivtY0(!n(vyTP=78;6KoY$9n=}dmx=n@n;4AJJ%%oH+cMh&c z&#ywXiduxJ8-z$?_NXpRn%KU|F|b7mhYY!;J-}%BJ~O2G-6@ntrJ{A}ej?>cQ9aziVrB*CP>)1coA*sbwKIjl>8!wOB;O>WDWYKN5BH{N` zT)PmC`gC)knfLy0na@r;U620H03si6WqcVZ8^*IXzt8AfixR@7k`abP@kmxEEvN=8 zOPoE_%L!*F?Otlx-Yy;~^-LGX4XE_6B2zYgkBT72Dag)V3w4!Fhh{{@>2KwRl!m;GR6WuD`SFcUbvf}VJK!uGhC*8 z*amNVmOE~mR#(?Yy-E1sMfcv z6gi~2+wy9#xA=7mwEFON1+ix4l1Qm_omiA9-Gf+~&k>2c3!Lc1R!O#u1Z3)PzPWS0 z3Dv=Aef>Sdpu_f!qS=7q3$U%T1}ir!=~`Z|#n>D?t$4>o$q4UL^`T33ph-dzW-{#3 z1k%WiZMcsk0zo&q8uh@~nxVciw+X+LobiM7%W?fve*N*SVeXtzxhTw$^a2|Eq6Ag? zLwJKCX&Ycifw1M20UKuy69{tRr)&~ohj&K1_Zf;-%&SNErH$nyP1m`dw`YT)<7^|g ziZ_a6Eto@*cgDbl%MC79pjmhj5v_T0%r-o8Q)Q7^8fxEgzYF{<;2`sc5LaK7rVFG! z94&mjgxnQfD@oOi+KK-3l|EeNGHyb57=ctpR;?8QElkFXgwnhb1f3~6k9rocua@il zTiW{+a$Fz?VIe$CoU#gF%++bDgCFH)iwm*O3N{R>)LO{S6k-nBnzqn-8YlWm;LyOW zWoIRCM^(aS1wCYzc)mI%Rg0E#Lj@uAF!S_{4{}|~WyMn$w({WHVOQP_x=nHieMTM% z-gt`El_@ZJPPQ(q=RcPZ6e3qU5Qlh-ACi}iQK}l`GA}P^+uyy^5 zwPl?^M{1|W>S5LXxo7aWi1B1UdQHkG3BftYdK!Csw&)z)d^8N^DIP?TUeUYvCr#Gh z=LYqW1xbc&rGF?G6D-xWsLSE4@B`^9F#Y%grkPwRh60P$7Rtr~Np*7S9ofRK3flEn zZ;pmL!wP|&(ohDedqIX@3UK#?j0?o+a02jk*)SW!Ga{HG`i#=RO;8Gm3_*X^G^zBo zN>L+z^J!5fWsVZkEEL5(U2Efw5BDy^4-sdw6-N6C-k z$bz&}Sw^nVTAPM9WjfWh9mF)NA{&d=qfU2<-s(tsEz!n4E=+c^{X(LORpuWbGaSl4 zuq0)6M?7K5zoNm=g;Mt+s4(Ux&sfvsqOkM`z5_tXui45-MydPIz9ys9dQVdS*@Svw z!>;WFt94e}wui>~Z20pVNJc~Vt%`C+aux1IeAtE5 z@p`bVM-%AwmNls%I3SxH>l1opL1)68x>B!rd_0K3VP7-QoO6IXKb~*K6U(?IIcxHP zYeUC2!PS*p%SiKE$A}#cuEz%hn}H`=ZauX%QsJHocb4s!iRg4PJI2ggp+IPprFB9z zKw4*Hv;l0uns-HZGbsOtOlW7ifM z?%3<25+jUri}*soTd8kwt+pm1vrlFd1)o4Yn@xJ|9K)mKGp;#|ma1T7+>_i;$I`JD zKLgI~W-Us%A>j%>Lm}P@=;+H^vG=d2Z6<_~D(Aqf@PX%IL&@%vow^B6tEiD(2UR=x zjCRa5R53nI29CVySj?ZR$IBIg`tnw(^?k8zzfV_;Pjr$Gy*Rqk!nTppJJI%j(%gO( zJLtPno)w5Lp}#e;?t7mLiSGM=3%@R8>Z{aFOEJ@D+Aq`H*|Z*XDydm`j4OrU*+DyW zn?SJgAv;IycmeP>J(?`HJ1OsWk*6DnuLfMc-{1m8=2Uc!jgTuHg>lrj#)LaGoGTb; z88mbts98*-CCRP0n@^^LBwX83a{YotjIxK#Aw`Cs^^1>*m=n}GVDb0p8s~#-HS{3* zK8c4ZR3sw$sR3#EG3RV(MEGZQy$n_Kl$875=W+a3v*p}$Az z!&inWn@Ue%i{qfL-@gy;lRVwGTn+#yFrylrzsaf<-~3MIk^EuyHr9$eZrQ?wH3?x4 zIl*t8T0ina(XQ51n8Y2GLX=N$7zN99uPf?lk-5fB5(Pp6H~wVSD)$L_Vv`S>Pd-Tc zo_wOF@Wqf^BT&i3*axeDcW@0e10m_2F%qhrjR&}pL!-5i=By~hB^QaU_>fm6CJ%uQ z45!$=Nyek1ztx#zv>NkQl5v$CB}tWZC>?O<)StLZu2!PlJao`m zuX=xn_!Yfv4VQ%IpDnFt73(`ljem2Po(YCoJxNk@V6&_u2n}(EJ48d9myC0D zNCz1*)Oseu92pu>3;04AqJYRX(;tgP!ibyR&MwHh*;3A;`=T{9mT}~4oc8Hjns)%& zb5yxpH7w+kiv#-Mn%g@c)7=8WWh3smP~#>$+LQqTtKD#r_jd^JPpD}3g-zr;;tP&=oy{G`${Ghkdn$-{%LDlwTK(i9pXOic8YO@yvX)Jhk z$s1qDab?RS9hVq6$f>M)=A!yUv>ax@i24sBxe(aM?S&EULB)en&x`y6E7b^+j6d(F z?qR$!`@1`9RnWs^h~4ha+hn{}+dx*uAretI^=W|@z(2>w3o#b{b`s|F=`DnxPUh`B z-W69LKHl5xdxK0fI+&QIsSFqM?=>=abiHrO&!D`E^ROsjsIms^eNcKG(_MSdU9+2d zjV-N!TDegm%+-sGIm&fIch!X@nl8uw?pcK17@d^3z>Uo-iZ0Mf^JEeO1A@#mw8u99 zF^W^#b@TvvEOi@C#5OAiwIo3urT2HTuOzcgS!DrSGYVY~{sdU^axxr3?#WaG;C4mz z5kZu*2$W%XCg1!uVf&e%O85tT+q5`nsW4mfuE)rVjlGvBZ=}%RdKP z#8&E*%rAee^{?;Lu6sB4>kkg3=s>0kNTmJPkPsa{X|d6s(;%!1tYvAgz+TT|HX_ud zOZYoUl=@@kgHsn<#-=)c9=)dkJqe;LlsASk@KCJ3f$8c{$xZ`X!jJCNde^TP)u!BA zZUkIdI<{nBX6>At_S%CZ8tt6?Oq1URS-v|+k+C;7T*BKFNp#!34xbnnf+%V!z(_RX z=-VG`o;lPN6DjP;Vs(dMpQ*%-)Df|E=kCyWTLcfEu2nLK!YSe``73UPlhDB!cye4a z*Q<1q*Q@-U|<>q)doTXsRu2As~vKaWlzEJL_13&Z22l4xgEJoh#_lo?fU_HI=} zX3_nEP)e~}qQ-6{YnXOmZ_yy#od#&^2g*&4YkG}P+|%a=4JiJuqzOc6!7-ou4b!P?ie7GDIpG|n z-P%ygag$l+Ez-+5-!t4^_3iLG#G)%PaKBzqI65u32DYK4-XHBHN3|GUQP$NdC{4Un zVxw=QGi1fV$mfc3xi-T|%mk43>hEeo!+4Vo+CROo11bK-$f38MF_$74K(6JBX;Od` zvLIqbn|!$;3184cDQkF}Y~t2W&UQ4+Ybs+SN3ZOkOZNJgEAt)j8ic;6PaR13N+G?K zX#b1R=QOe9(Ro=XW3J8%;1BXqfXbyCWt8a!a6mhxH60?XB#Y(Rmn?B~YG4;j`&oi= zTvmWP^8m@dQOO9yyOn0rOD7gjMe$#C;VXGlDPW;|=QwZEyPdYSbOxi+Lc^D7JI?ZD zi2ZAObq3x+#Yk#0d~BN_Ay0DHfenkc=fZg^XdKa;)G)G{#5>95rer>@nns*lC|Lws zpHi;1p?mn?#Q0prS9jRi9i@Z-M+QpW(u1b^D12C;RXR?MBZa1=(X~I#&LP?Antx)7 zI$_SI8gNFur(`pA53ScVt(ECoN2%9r$}XZRuV;Kz^{bu4m><-RQYzW&(he^jFBc=C7n=&4Q~Qi0455<`w=BMEDRSKwYUK zmQ#qOfcPvrDNds#19~3rg5DuF)?Btd8Ih8x@kX8Jk zu@?;w_lkNJCwuB2yd2UI32D^Dn%{jP>+swtiwg86Y&y7D9_iJ@pxy;qG1AUrG9P!? z@}(3I3}iV#3o0izZjPgEaxd$n$h49?M@3-E0T2Z!0NYER#%LAsukmAn3-+q`9J!%?o_+uv}_W=PNd{;FA9#zBS;*eY8(K%@vr+>ex` z3BQ>>it6P+TVKvKxt6%N3+CZ0dxH+*w$w>3PMQa#2qnpbbj-@RH+EB7CW8cc=k>*( ziP4-}Sv3D}4i+Xn57~zP;1$fzs~Y73?>OVND2BFujqFbG$|8I3CE4+;00$SU3LL5! zZ+eweJ(mw_ZQf6HmBUuL$A;nFe3=Ja(;in?YYM02)xX!NYw}MID@rNWw~r5($A+Ps z|K-)-=k}j)z`MTgS8Tw>)lL}u^*CfWrt=%Vb;JVhNUxtnT2i`>>9C$`DV+vCL7|Rr zDFS`4Q4m6++#E@^5dgx_PzSb}e|M^yE+)Cx+t=0$Y|uBcla|nLVv851DV^g+E}|zN z@T@CKnwXC~580RSDOKcxE+MS(${hD#^k53ayr>iEHZeh|Bjr4ntR6QQhfmhmH+EcD zv=EfZW=NSd6HGtls3YxD`Hcqg^h@s1nay<6)6y3^J)OLaIAi9Bm8}kv9^DaDA!1{L zO-*?GPQfn}M+-c^IH2hTDSm7@p~fq@khz8BXlwJhGGQAzv$paa#nz27-9hgrrj$Y_ zhJrj|lDfdbOk2CvY|SnAuONID@<$kQ#vdWML65Cc$RP`i`Cn|m{|^9PK%l=UM^dQE z3QON5bs*DVT{^GP4g_DEs1tbQ#6Vx!JXOC9^;*W3!nz+Qz0s)1nHCHFi4*= zNT1ZPls=!-NUyJTT~L2>(CPOK(z}fG_eV(YHAH$1t=4p*HA9G>&SwS*L!Ep!MEq=s z_}Q?v*#?N8HHh!(Xv%;&%7~vK#3$;SPj3nF^FVxQi$;FC9{H2?lb{~?1@}K~t$Wwt z{&x~>_a*Yc{l#`=0%53@exPs_|EJS|agE5bwJY$og^D?S1Ut(RJIic=on<0+mZ8DQ z{5R~39P61fGhYK-z+YP3uo*LTGeBtKEH0mACRc9F8)uBmWy~$Xx)#Q{oR@bsFN~@@VvnhnocGA zu|>S3gY_`dfkoYn@22XI*p{jeiS4WEkl5y`gcQg39|79c%bShWcY#I^CW9;J+y92y zjTDuq6DrT!p~@po_V4HA*J!JA;0V1InQ=Ri$yI9G}Up=4pgdA2?Sxyzg9X)lI3Jr@9rd{I_$l%}m2%|8J&YgL(LMtLr{-H@F(Xc(4z} z?Sb_MURKJqK{MOIO%3{A#7f1sa9xf?t4^;cm9+iKFgh}cRLb)&Ntijq${SWP?kg^J z)L?Kh*oj?j!_0a^$$9QUn`DHG6M8Lzk8;kdpMxA8t~u|?YsaW7n%lw0Y~VGAy0(95 z*Z|bPOI^{%gV703G;$HILybG4T`rxU3S>_k?wexn`;b|o?H)i3uha4_YQaAZ$usrI zA4c-ic{Lp|enBTM$QjE5QIWf&Id^#8<{+#J^mizozB%tIP2`HJEa0YA|3q9Y}N%Yu$ zp=<3(G+=LxcT%#qSR{{rcLXiS5-rGXffi&VS`b?%97zjWY^Q}-_RT!c&CGX2>GZ;S zX6kxKsmRq$_MBnLo_5BVayDYh@s&!ix}K?t!}Gjb)s6%SWXh6?(*shQh#o+n5_-UL zWW<;A?g$EyQTdEefKZ?4vbuLS^Zzr}!iUAZG`9HAYxDtJn;zf4pPV^y_|DB@@Pwb} zb%!QdcW9QStx*a`*;z+$YY40C7Ah8QZB+g8LsBl$d`~n9a4c8Sh*klY6cSS-Bteoj z2wA51>F{L=<`*03yANoV3cd}+C0YH>`{AI6!@eDS*cbLbM9_6KB8G>1e@*ztIzh5D zoyb1x1k`j=^}i2FIDsfQ3)np^r0D8GTwMsI=W&0C#ywfa!Qs$ogRBo9YVCZ9(feI% zI^p`hjO#HpC%jZni>>j}VXP0=Kr*FqBUvC-6X$`OKY$0O8X|hV^qFcXeR>~O`XsHH zF*onUP&_q);dzGPLFe+efZ(Z-EKcydWKCUS@cSHV;RE7+)b7t4IyIW<)TW3|}aw=ae#sbZ^16C$l9c!0CPtjJ=!Xlme&`ydu(1M|j46Og zS8zJ60N$?k{NQ>P@@^D8G!p-4CWum)ovKLX6m>8u!XQn#I(^WqQwx{4aeZ*5wfqjF z56(=C*(;IVf%mwRyvNOVf~EN&E*VGJH2GPcTcVr;lKw4B-wt4ruGw)8hy<`De5u4| zkx%4M5kdQo40&FX`SToo2jZBrvE~!M^^l{?-91F(ZUr19qJ|w9L>v@Gbk5qsMh%jk zWRexPvK`qvUR-&W0*OFJXJaD1oM|T-y}zN+kk|IBqkVV$xBT};o0NpR5_-0f`%bvO z2zl&#!{^Kj0UpCt?3PtufLsAJ&qqGqb}QZ-?j9U1y9Y<{?m^!%deh)oOD>EbXNmoz zq;)FwYk$^XkTm!;v=`ZxA}s{T%WdIN)pU4pmZ+vj`1&ZOCc$_Pi=~eLAci^kG0#-V zj4ijc|2V=a-N#sfuc0;mV}M5SIaNbjU^eME-UH`5N?!*2n~CX#9ZfncsCKsplWi^6 zrL8{@4LLyWLqC$>y}A_fyoZt5*|6$-QnggJdIr^*E3_u(++*>o@?fiL(;Q%l6{jh% z{2cTFNh%^=llN*P@V2IOSW1VA28+|u?Oc9$A)l;{qLdp&kcP+|-~3Eff5X(&!&+{2 z0TQxttDv81EEN&#eV8&gnqytmu?4f)sK=R9LSehSG_blP+#IB#aRIygFbr+Pdjq1i znN1Ie`%N=#36kz-bPsih9qo0}v2K)FBs3jY){`m!0f-mFi(f4LSrqF}Bv%trf`&pL z-X?xinO?SP?Ixd%)uH- z0TJkXc7l(kM(Ys^>1V8NX-WVeR|V4CVi~+xgJaF4O3pz;F52AOVht5e2u)1rcKuUX z!}hHwTa}B&<^*WVZ2BGuJXSSKTM|x!ABkw<`41(`&a&(A#`uW6;Po-n0KZ*WC|E5wY>@Oq5P zryu$7FrnH0=s6!V#2!2Gd$DJ9+B9oTvo^noUE^k1hhZ{I_;?kg)mIXH(CtVn!c)OL zsxwj|vr=emV;wU#C!whn zqp8=hHBpwzyy^Ooev{6ZHj}ijKO5uZHiqgW`?ZI1lKxLv0I>a^Cd?l6zDDJ!4KR%u4{am}cX=dbHOk&x5BAJ@mKPBh1}PSnS2e_^6m8i2QYi{Ei=%>iD`;#+DzqE(4-+1WY$_RPn7kTZL%3E$#nwLbkm9&p^oM z{@MH+d^TY=!|xy>Gr(I%i12N6nE@f~RN&;&7^O_#!t+(OT*|_L63=~+g*u+OeXCjA z@Lv|S^S24v&w7==Nq;lG%72|c{_}by12ckw9?~@?V2utq*#w-d11ct6>FgwBA}96s2f<8@SX!_ZMW zwB4+Uh4<;YUZW9aXej?R;6V#P=vUnP9hIAi%)NEzg={CvnG_o{}bA0$O32Q zq0`o~ImsJ!NluR^Io&d6UR~=X`YvZ0fU?Wk%0Hs&h~97qYuu3<_mbNj?1~Ysu^*ia z&SS}?)y0Z@CM#um!CfjmpZRLz^O?I^okz*}%m&nJ=V8=~{r^NCo>2au6QSXgKM$i* z{##MpTOoDQV@Mrh8!UD7XgyD-^$qCJ860y)e4;7;k5uS}Rdyg>KJk+&O_XqVP{Q58 zuqe3&rE|@AroH%fNYBm)>6rlfbRGjeTte4Q(?O?&^o>TaPa{yj{+?-xl{bXj!G?s` z|LSMo1=@Ee`!0lUqpE%Zc!=bxdJ&xc?7SGxGc9w(m{c{Ro1wipH;ivNFW+d28e2S$ z1#7z><+b=rc(W*WrC_dH#&^qk&y}0@UT1G`DLa(!KxPX4wobqY0gG;W^I3<;{f!t|ETvVS(!Ws5Brn zoJm8LD~lxI4N7xylq)skWz~7O#OV8FIPZ5jaIEvOBg&&IpQUD0rp`2X z$@@vR#Gy7=d*jpPp9H)~e!d*|GDUUH^1p=b1GZB*7Wb~k;og-bb0NKE*d(GSN6%fm zbNUg!3&fB)HObofqtQKo;x5(-Zp+WmmKoHH$|Yf2?9S0gbdDZMWbDqaBRac=NP*t4 zs`_PU9g6Rt^vL}a(%3+G-6MLMwUcC7?}&1W6vN<3tTDyzrTioXX*k-KTv{cuI5U9u z%V~W8AZF12Q$j?~w!|tLyunKexx@9TkZx(288XWeOs~%78N&&F!}1V2f5prx3*qlV zUf^I80Xc}GI(Qg!X}5#zF_yuVD$M!S1YZ_3^kOC3H-L`d@NX|~)$)z0qine`joQfb!sB1@^Oc{`Ztyh@$8YcPCSCa;H`vJG z_|2slPCSvC9R9QdKl0|3WNWfC4*M2^d_62|t64PwD!o|B+7V4|*ED=r&4=xtq=O5L zcG-4>oI8Fim4b^$jt}9cJdx)501w=Nfd|%i93MgsQLUvS3o?rk&~8|DWO1>CY7Ot} zab)hTwo%RjOinS1)a9KGi?p8gc%kHLWX3 z>%;G1&S*^s%VtuE?Oy~rG(Tc_#WbmIL25@F?WbyYtgE&)X9r&aFnF-9!7v`FL*_%| zIoJ-B?L?$(x9WwXd{aIb1BD6PbVGRO{T1+q{V1}nnnV|tN9m**DuA{0-NO!+@*|dB z>>}0-NL|Ohx4a$g=*VJ=fjaRvCdxHT3mOdm>bT$%EE1HqY3s+mc%$sA+NXyl5sg1r z7jig9Lrj6{ZJ2l7G?O7EUeYhHmvk+*Ed~(dj|cbGBeS&bXhK#(aj7G=uRrVp1`+m7oi0W6y?TgUcjY3a z?7xyk$^KnpAoFDTmOCpQ8Giq$W6QwpZs)Z|fmip~X6j^aY8-~$;|Qwblhs||DITS2 zAZb0yDT<3G^OfOR!&EJIlcYS}cIC`R?Aj+$aTb$tCGf>Uaj~j?6QbznBT@9Y5kVw6 zoTueq{)W7PZ7kN15cXid#q3r43&C~JjJYx$|6uqh3vc)#a)bny-4{G(L`R$RvwxaYN!&Pm(i+SZdOn(*JyEp{(ez^ zFVWx2EN!=4>|lMI11pR=Y+H}-TD&nt20>y#b6DS0A zY^g%k05bm!FogqDw3ZIL8>@KDB@W7aw~v(l>haPz0L=~VKyQn8Z!tM1W1|Np&d3?G zY)QfZ&J5-u9#v14QZM9Ef5@dmP;2*hR_2T+(LU=Fl)gQa>`A$@p2I8O{`@e_))aUm z&ja)lGX0&vx&KJ%UyzA>S3=t*b2-Gt~4)>Cwy)mtUirJU+Vv7YaaVizSlN3R@h^X1z4rXE;j zwyf3sj=)cb4~KI7?I7krnP(s{O6q**Z-6^=F>95@1eb6bmk{Ex(66yNz25=$G%}Gn zR~MzRgCWRAJ)#2MU?rz1Y7E6 zx=lJR^ya+aFJkXUde7zS{KYo27Kt~iPR1FGdoWW)yTH!%JnUSjV`d2^xl&YGbo~b~ z$xswu;4XQtJZ}*0ZQtVt51KYFs;@(2WU6Bd?~cDuv0-UX>C!-qnE3EnB-rY2Wm@x) z$(Gr?CpLdGxXsUop(_s&T!Tk+kj)}JU-f@;ww~(U!J`ygd15XuPGfl_cnsuP(+T`F zH(Ps>e3Aei`V;vp;k*&Epsj*c!B0>N>AdrJp$T{z{1j~}<=x@AK?VP?Ht;bV3{Yh zx$y@%OO5nvb@~-`>E&SM@bud@NZ%&qM|ZEoOs|FO9=Hp?PUq{_`6fj9C`a|@ki!?$ zHF7h|HS{EkD%in>4ss~VAi+F4q-*bEM+4=KX#cbZ>Bm!QN*DYBh{9P9u4~1MdXD4V z`6;~iYQvx(SB0#uWR0pSS|eme$@X z9C5Zs6mNTDw3Q1;{s5N{ruvUcI0o&RMBVeAUzSypE3D|O73K`v28pL}{KJ?*%JSU= z5{aLMz{vUTRkbUjicBWC3u%LCOyLk0Jcn6!1mS1jl`Jk@sb#_|;@{p#6(`_J#$P3H z9vp_}A65QIij6bKb^pU`9Qstz-G4RWz{9zcrHrY#N(92NHNgs7%t1Y$FtT+rd>dE# zjD4WZ^XjY-$BY=+eP7i}O<%!RAi}0pUjRt1LXR?S=p5pUcc|LeM11_+yilG~wXcd? z#llVB*BCZm)5$kV@|GR9lzby6$8T|kWDCB|Am3=5Mh;zN`o*cJ9}A;GIW+~H6$|3B zzQJW(6}Cy1t~O&5Ne%G?8^Z*@20RZ`jy>eQh*3WclloJNEkGmirTRdoQ8eV%X_1XI zwqtaVV$($##mA}4gkdS8+xA!xXi+S$^e9C%X{MJ7UPj$17faI_4$`)cNT6ZUM=DlG zyDb|QEw&bV(jxRIO{2?}yag7gx$TBR=Ugvk`~7un<2Pbg0ruWbXB}jw;&o5{Zs_p} z)mOND@vmZEMtqQS#^_UkSmR3vuO?!G&8x4?9ykFsX+~&;CCTM0QusD zPdm22&#f9G$t0X>XL?lm`A)h#T@0EoRW_w{m9OorljuT`Bt59d#f2?G=7q`FxKPKF z-XPAEL>-42k>4@RPFm+to*It{?;Fr)-~f_;4nR+u=IILSSxu#5NV3t}1HVsT;XIWd z%savBXl}|4g^8dU=C4^Wt{9 z3`Ykp+X+Jt-vkUI!<+qo1`Phfftwly{=8A(6O95NYZUm4Fz~G?@X0XnuTkJH!@$2q zfwzT$e~$v6Y83c%qrhiI1`3@bJ;Lf^nWe?@|H0yrTlCLYd^zVEAjISQzmCuH>gOqN z0PZspJ~ZZJJh1ZqF#TsEnEtB~O#j&krvGXL(|D!H9`c5O5zS{_<|7ir%p++!$ zuMte&{xC4TNML%6!1QW?>4ktP+-F`B!Ibb7?;*x^&9AlOX%x+ou}qlpFH`bt0TIV9 zDmiSlQOV(>Yn6HH0q4v6wM@#%Y<~dqPP6P}xlHl1&9V=eOS%4;3VSKd!~jvL>-T{# ze-j)rEya6Wx`G*fMa@X3{BJ70>T$IeHNS<%UZ!f-feROu6cpH$wt6(=rR$izUZ>@x zZ|d*0@$U?s2~C9HbZx!hG+RRKzyX-6D3;%{*!{OdClcLB2HXyVJt|0=|; zX>y}a#ICKxQ=Jx_B_46y?_9|U;ftFe@0ti-a#sjv7tRFD15rAYAI#*0slcO@?aNYp zCom<3sZtcwl!_Upa!LiF&}@_{iFXYnn^cZjmaQ}MDy4Pd)yN~tO}Gki4Jfufb+cuN z;DXcMd+$ASS8E4r>*eOY!&*XK%Wh>_ZCfu>$N;Y^q!pGF4p{dr&Pwz+QwycSRGYAO~o41K2Y|{yav1Am#u_VbXcipcj9l;N4L|Ka3yiTXidO5deoX7i5 zWwm*Q7u%cKe)Il1qNIxk|17|?Rai$)b4r^#!$o~6VS?qR{2a!-2>^D|QeTpwGBmy@ zdOgTiy2nbUE$u$oO3q-oJZKf37r0=jG<~AA4tGLAv};y+z09*rvtbpEG@Or3o1FeOVb^+ADo?_7J~_yFaX5aEbEHi$O4*n;!I5>-84v1~ zkdTl{!vZRAEVn3rfX23+E`=w}i4fcXsq}ggRc)iV#seMJ5ba${LC#%)j%3kwH{$|BbhmS#yCHAJx;eq+x>`lK8Jv;ap zb6dUu0_8Hn^b3mB$@Nr}T{)M2u|clyt0*@Zt0KFfj4Vy6f1HA#H9i)z*T@*v-+@`n z`O!Bbw0MssZ?A(iQEpNF6F4z1j7{XS)`16=JN*sZNWM*fo|2;>S0gHzB+2e>n2h8c z+wVl3oJ{sc1g;lR-Jgo!%1}C8=jR%TjdU?Wb&fe~cZXM-*b*zOo#90atF#+zT%usx zzXc>}chx^R?4NSC*4mO4Y$XAO6N0V9wG{_XiQ1(4yThE)zUSU=+`l_=+#hc^?jMbh z`+o6p-^IU=`}$)Z_w&F5{d>tRu6M2fF$PTCA_h#2W570b{ZxDx^=#Hfd`fLw(8r($Sa-A7I4>JJFD;8Cnqnkg6eE$Q7zr}PNPHCsE@1xN6_o)$FvjH7DEJf)Zuv`?gl` ziT}bGlu-^T?l*|yt`@`;_v_<|`wh%)@yo9UCB=gG?Z6GnexqbBZZZ3foc+dO*?*|S z%-^?}==Pv3SDC`(t5*kZ&_Opus{|O&gTgfe&NEr(5hefIVU?of_d{`PMzufP zsP<<@*8YBS@4X`T-XwDGcSP>J2XZgmXWkUay{oIUslb8nTIPV?&E#tLA435hdOzhH z+~Yxb+^#Nis1}9IPwYzg4?+8t&=fA{W$?yoWMwycV>M;<&K8|=y}|{eOu0?Il>-;( z?URDG=G;HV9M5Ru;~7syRvX3`s}05ViVBFG8OItcpDgnq7AV{zQtkkM_am0f6ET5Nq!av`7vKB7ha%Ri8os{+(j( zon!9#G4}$@KQ2@lh$jx1?^7GQr_v`qdv&#-;)DS zZLpW(m0Mem2^}b7bgw0c-0zJ*RPP&K-J9~Qe@%(_#`)~n8(CwR%!s5&!}54EDeS)c zP`GR6(QI4Q5aNFasMlM`Eu^GpVgw%)l))hHwJ<)&OBcol`2hjf{g%G-V)GmB*jIF- z38rfI3q33~^I9o`FkJuoqtm~b6Fm?DWWTs=BFBGIPYX>~9+o;ElEHq^GW#dC)ou7) z?ZG%2bIKaB&4gwQZ%iD-%}xaIns;B6R_+}m_Te!0;V?EP&#j6Vd5uVzD?>Q4%Am`D z-XL1TJ|N|joc?{e=MNiPH-)pV;`D!{KDIcbBH!uXkJCJ4(nN5RjE?^o#kWACj_Du` zGh=_p#(hu{L8VqBg2shYU00ph$_vkVTlG@x0mFq_6)ZuKxw@!`KRgo7F&qN@wA`^p zp#OJh2u+Um-6S1&q^|2dE%6X;;0`(i4kBe}njNIDUVAW4xkDIAkA!gUUm8Z%70not zBJT4y#<|-T!Zw$*A`!k_U>SSE@*evm20d_ag_}OgcDdEI);`?W`S+&ysn#Z&TjmOA zDnkolb~&mEH1}XLJ~2&YR9sVG?j2cUXo|gyTAmQoE_z1AlpqlrCON^OS~dTO-kLMF zVKlpV6k{|`)gFy8sH=qhQ|x0*l9o{souiK^H>>u(p90I;`hIWmews=56Bg+|AUU!6 zpXe_V7H?KHM3-Ca{==B3vIX|#!i+yUEF_lrVrge%>+0>VourPG}LV?(*f;oSz~J}wsi@tFJgn0r;seL~FriJ1Gu znERxdTcouojI;*6e;(AQ>Tg-s^;_&ZKKG;`$u9&+erfT8=CxnM#KtFMqTp&COdm=U7{pNQ zB^jO<0fr3*`Cl@~@ARL}-Fz`b*eK_#lJjNcjE4Ia3H^->_sfQ69vzPD%kMj$HI&-Z zP9g>uR6{xZP@7aI(b-CQk&%^+oc?Mkmd5R0Tv{~0lw-saC1eUd>jBfcn7=jpBP2_$+$@Iv2q4cq%? zLGCv#W4CGvwfQ{8ZA7(?d|gzY>Z~CL^QTN?=R__o;W}G5C;FlmJ3+s~{bK{esjAIp zxrJAbX7kEX-(NKP{zZdTqv2cde$LR>w<28tl(m1akeuHb&V#?AV?yHo&dxL8{2QF@ zegDw4{8fMdAyYt;T`YzXgZB?dlWKnt39~Zi!^T)*%hj&7+kAQ*#k#=&@PtODAmt0) zhF#+G8J$QmiGqD1f zQz`#QEmg?%zdst_O@(;m_y=KmF%}3p1XV{Sr!6_71RF}H@*WVL6Os#f+7xxh?a7E4 zYHgI-9cGleSJ~K${0q+oribz_7j&-+_-85qeDa4Qme;1<2gGe z`{H}5@PPQM@dM)e4tvq+)aSOBtE4|5F#Wg8r+=Xx%R7gvPs{VB}9*y)C9U_E#^$*|Y8*HPy-3l1SSIzn*w(bUD`zc2R7Ji7)=P5U9Tl#Mv#O z?OYLOz!h74;2o#W+EQr=OY2kbd|J#ToAHttSt4^&aw9gn5-K<8iBNKv*p{I_F9(I= zVsobDWLvgi{WUgU0~Hu~Tj+Bx4*3*~$yzfe&5lCj_ml$Fa{H0-eD5`w6P)EoX0OfrQ9L+rSJu)PlNahLY`>Lbwt#}7eR-6 z1cQ%bPt5vaF*b|dky-S%nME(lESe&-XsWX0t?c#TI?mf4ZVsJE-ySoE`olTYhheUp zHvQY04H=&|Wd0P{UPTP%RKd)tB<@`4bvQGb-g*DYq?^i9NZf_CYG32DBT(j@1}L-Z zaFhvg=2GCyn;K_If-_~onI6HJUdEZ8E#u5PbvRQRjx(kI5zhR%9%q;)!T!f(Xy;$F zo#ts`r+K=xb31A03~uLkVLLVTkf$2`Q<+N$O8i{cnw^-(^}H&iOOU zoUh58m!T|pTNt1EN#9?r$D21IyeTr?XgXjB&-jG7>t@~xRs8;L-+wRzyMjx!Ou~~dB{lOaNZ5hhtq>qL{ypzOlW0jaB-&aW`2nyl(Evy4KC~y`1R`K)~S1l%}{09)cMRah1m? z&&GLuT*s_l0FC2wc6cT2$@(j4=md8%R~nt-E;cDU?f9Ru!|P?gtG`|b&>7IShM-k; zKI!i*o8e3u%`b#!M zi0gB%o#dNtG?&)a^_8NZtczY(7ailTy3D^}LgApdTkfRHf6*K>%jSS+{!Ur9}e#nhFQx)%bvf z>nYQ%&iw_JkgGNKQVGqr{wi#1wy>=^N^~q2Z_)|h0=?NVlKIRtL}V@#k^e+QWL_Qf z0q?>3)F5c*kf!lF3ent2h~~~h@#iz`+{w^Rx3*&)nQRj>nPn;oJN56?Q_1M&lapZ1 zoJ^QCUEGPig8P#6zapg5zY=h8{i`qmif`Ft&ASl8Ux8?kwn8L??X2=stK)(T3?3%= zoc~O*NBmWW7C$W0^(k$bR3og`jK8gFX)|Yu6hj}uUdq@s- zBa^8*E;0%9s=G*Clbj#JaM+ezBCK zPipXvT+!7xH6Y}UNu_NFxS>^Lk#Zs6zM4YH_GMyI+AF9U24y1*Vs&^hb!8J(i03rs zuaJ4O7b#&k+tFh^Y)7a(R$nDqj5(LZOF#utw%Uq!V6jZ?8ec4PL!Z2nEbn{zU(o9% zyx_11`k*#B?CrR637B^_ z&@BsEw}d*Wd$wHXBHT_Tc$LyiXkE>Pu5W#%zKj}Dm9v!Vdgx_btp9Cpxh;`WN7iErPMW6n zB(+)`6Ra~beba_QS!t$Fi-bb$1`2hYO{kPH`mycrh%L=;*_O6h5Lo7ZIE&XliPuxktF;5r^>ASB8rc)h6! z@ZO+7hReFDhM4Lf4P;0ixy`JE4G0?M%ovT5F*-oT=s;!8Ot}1hVQehosty7B_7T8V zH557$re6b0$7+}!EHFJpV7gRbdMLwmX$+=K{~b&Z{s5ScOE*w0@hVDjl3l$P--|+? z)GSDymw7uXA=gYtoB5mMb1fTX-rNVEIP&JVQ>nJ#i~#cU;|W51f7jc~lL(s$_OWvq#nQsc$uUfO>&WJ;-GG+(c! zy6Q(IX$Hh$16Hvy$Pj;uz&}h+6y>nMYT%>Tv}_lR5X;hYgsp5y;g zK2PD(#;r8t54`y%^FXwwbC!R(lAF1s`Ce1X_Mf(68-cIK^L;Cx?@Pn;J<}kc!{^nn zi|0#Xj>v^r&e!fg%d3OoO<+0a4nsTN#<*qLvTW)vQ*N`{G1jDysl4M9I3I~|Up8@9 zih@S^nZ#wi9tSFj&FTitq^nr#V*uMCfZ2Q^UPLd~OX1{fK87F`uensI-Fk*ZX zY)a|=<@JdsBGFel5n}u7?gG!fDcxZtzWI=;6zuO!qtsU$AugE##%q(c%z{IXLD0-JX4Ie-ALnMYg{u zzVnp-IAy9lyKD45z4U`-puT?{y-%MMRI!7Th%ccUJ}Wv+m$7!Y4^sxRVV$REyv_Ez zds^&ZBEAH(2??+PF(2ZjAWS-*=W{GVpHX^40r@SucY_MAhrdw2RD)vcGv_38O4+Fo$V|g>4s(99 zAGgg+v+lCDwaps6cSI82B$4n|h=jK?TqoGIUcMUx!Ewm_y=`7IiUjN5HIVf>gBX*g9vO%G(vmqFDR+F5_j_aGlqvxY}Imo3e`X21&A-tGpI(4U^Ho3fy|}6YsUygH?Q?* z`mi9P53^$QVT%0$q=5@Dl;OeRWudS#S%kf)-7QR7lx_ZFj8^*#kpkZpyi2mZ zm=C?@-!2O$d)S*=LfBqs>7$Kr+r};qN!74>tK~a?K|-XvNg~|^@7S<^YD;X2S$Zhx zJs(@+ya^(S)AwCjz^dJ(zwAF({A|^MS>!w`Pn_5ew{vO>F~3(cM&8~u(l*^yIj zpH7ICV8;qWBysos^!pF?y2}xIv(k5pd#LPNxvwaXpR!>Kt}qhbIZ?{Y;$+D7CUp5S zBR}_Q8Xvn&#uw8vZsohwrSZWnich;&UKwqC@hhOV|2>2hY=`8J`C=f};a|K3t_{X= zlJWiDmm^5G(r19(4{AfKKLC&4Ce%om+^wmw>b+ptlW~1;sS?d4t62BgAi`s02E-R)TJyQr z_l*S12B&RFJi0vEG2Z*hyF^}zj)j=~JVr!jt=k#rcBXcTSsh6nJb-={f?iAHdr5mo zl(sdN_Q81Ch6ATRlT>wjT5ey(dNfb_9JWUZG~iMn(n6%9e7Mece|^4tR4m^EanFNs z&m(b9k5yL$8Xv|z8c%p=JZ5R!Guh(lv~7Zq#kB`}IN}20>fW}otaRG)kcMVe(JTe9V-Mx;2P9n#H2SFsO;L!A)1x82FMYJY*L@Fb?(=CN5e-%&Yl z54;udOB7Z842pJ(G5e%rXIpryRcP&9kdbCcu2(D0V3w!XzKn> zbVm#F^xeoiN9PSh5MC26Vzn+}ZhaA^?jIrlJe|K1&v>%VxMO`r4T6gQ6ngm-dRZ%j z*4BE!7@r2XUbZVOds=Jyry&HuEeP3fiGt-_n$Zc^U3PG)e}xn7t9*;vb&n-)%TC!d zIxfwl+{cwEsnnM7TZ!->dtAMy}`2-*B(3vM#1^Q zR2?#UbM{2PxJMX5K@QZ)K}Vs!UZ{D&A1y1iGlDgsAM;v{4Ks2bFe4{9(jES<001YQ zDMiNQevOr8+dq;@8=Vk%UbZLRwhfyo;6&MD^`4I1Sq`3Oep;BO?4n(8gBMJiZ8h(; zJ9|5)aemOV&GhY@)|;0KzOg6nlKqn7ivLS^yax}f9h``}<%hGU&Xvh=+SpLrUFV`k2anK9(FO1i+A846OE4&5#c-GLXb zcq#=iQs!lh%%c;fmXY=IyHhzkc!^T*t40T=^UlSsNv}LFpQPTp^gC^4uK=y5L-{8V zkb7E5tc8HmhtO0Zc$spi2(S31r&1a(AF(t3^wG6CkN+F=hhg7eIfLLgfQDAih6~MN zgc;Z_wq6TbbRTHZPMQ|2jnks4rbRn%kq+LEyz_P5Q-ltl8ZTmUt@%`{q@Y9{XYX&=7{e3TMYkPCiA~TXRc9_txIUiVyZ+{e~(3t*D>285*reS zJs4R=(3F0mDbx<9T4AD6Jz3L~KPauV-DOE?$G=;IBO^b|(~Eof3SY06>kKYDgz?-> zk7s{;Ap7({?!HA_co=#2(0K<07d{y;;!It{p7lk{){M|UUt}J`7B^^mw_}1Y>hM=U zU%eoPLuUb^*y(p9iQtgd7yArfsKXaKSS1+py}j!&WJ{PMh?8+;B(pRIj>`=JkLAJN zNjNDFJ{sZrm!i*t0{t2V3NaLDH1Lz8UD%6dP;5mb%|KXf4>Kjf3y8rL426bqPH?3o zR|0}T&kEp72iXBg!Kc)_q3pCrj%#-R|({QFYMDac?&JO=KWfB?SEOP z`R-?wEZm03^zCext@xbG4XETQbp}HHKcVbaWoz#nn0VijDReVqpu7s`RBth0zeNy} zIdX>|_u1kj=yilH$A35MlZ&_7_zzYZGL={M#%nJ>!PCOY;Li%i<;uHDl(X1c(_uC` zI7zr&DMrY6x1)O;dEaK&cyj$kVWsLV;MG$$q3UcZq_QvlRR4;JEOX-S#XvDD3EPoR zGa!ecZ*Y4TtIFdP-M1iIB`6*@B8X_o49eXwrf+_NjXpX4J3{_AB~8@%M$?(EC6EO& zbNy11Z4gf&DmD{oSLmQ-3JU%Py;{QKNgW9~MF+L13EVXbKg9|&43Bk^9BWJLaXNN1 zic7}xouFg#Y671UiDe?JD$^I+aUG_;N5#Y94X#V9Tf9CN)}YBFqU+myLS2bL_ejtD}gh)nQoUR@X<5XmzZ_;jIp%8nn7s$Bm1%Itm-s>L?;=br{yT z)%DRMS{*BKc&o#x2Cbf^iXyrt&WvAywzb;gH})1aqY2I zM`6QS9YsW~4#OI^x;}bDt79b&Z*>?oyw$UXa!nX=u&}0m9d*9(b-rcd)xtlCopqB&+`j{rVM4JV~fShOKX{OMbxm78cErNH3bLx69*I zZEtKkw#XM3Rx_%t4{n^{o4~A6IUL}$2me;#x%d-Jy_}KHL%`9HgYKc@{#zE>TX|!# zv3z-)ZC4iWqp#0R7>kX;Omz*Qa@Lk&x}D%XErT-#T!W1hUPJt3l3#k*2OxL{(*C=E z@!1sWbB^nb)bPPcfq!ReZU_8~J#MV|dLLq6Z+3dxq!`;jmqH53;6LbNU6?sok(8Ga zv8k2OYw7zYEbCF&>RX(sx7D|pnLnylXK*XugFKadVNwEn#b|+lP7+J(k|5J32|; zk@uyZl0wr0LuF$>kZZBY88|i`G+<}a=6f)c^KQ^d-CO$^tVepW#Cb1pZK(Hpo8YO< zWAg60gODthPnEsAzOT@@Lvgc(#a(8}e0j|hlcQ|}vM~nF=^sp#lCo&+LjN*4Jig}j ze>nRN_^68R?YU*|?xsNs34{_ty<|6$BoK;p6a@)VBTYaQq+dutfh8dnl_FRu3W6Xi zBB-b!pr~NOf++TefW5x!n!P0fQ+o-B8f7cAepm%WWBatCntdnu5P)}6n$Ga_H9jX*t&^cXV|$u zvZo2Dt+s*s&1V0Cj8I)Yr&d9to|98xhLRfO)z8b$tCv?d4__-@(6fe}YYC}+2De~P zFh~nm?_emUPF_wi}S1{J!>28oivVi@45UeRG#j4>JVWrdAP2nU{acXDzm%$(RHZO zDB)z1SJ4rOt ziG4ffx7yU=xuL<&UBW%nZiITz=Xd*LOZ!)%l%|ywpo*)wjo6c{_U&L(S8D?pcndjH zaxQRaC86>{wl2fgMSs~(OmTwp@GACj4hRSwBhz^ki(*t!{XlR%OWJL`JhM`1_PIs4jMc`QJcI=2Y* zZ35?JUUT0TI1i^L0z5ZK4%(}E1k>$JnEwV-O{WAhIfpFGP(LY>RKQt7!9xK&6mX}{ zbG%{~w;S%!yw36st!kzTocKuyH?<-yFbLYWQk3F4R-`4Ns(~8oeB|HSnuEs$lb=^hjg_68kr+E3~lYc;} z;@A<>s^RKSI(LB7qj7clWfx%U0!_ekH?^IE>tgZ*v>dCNsC_-%S*`I2i-~<{L@PkK zldSRwT!3%qhO7ZR6Ty>Xh^c{^M{Ucr#+!-S3aD6ae)I(9E3GlM4B;7m#WQj#P;toT z`F>;Jm_%&C{Rk%9Wh^t{kzG|LR|jR@WC|({BG^S5Yw~mVQih`b!zqSSh_=eA90qTl z`d$&bDWh`Tep;=MA_(pjBWR}dY@|o{mj=JR;JwU>Hi$S}&i4mt3SvC8CiC@ zmff&y(IW_A$RDRI8Y@|W5=cHRtKuk6GL>UHgvkE4;9*M^T~V!gk|)vsCBPeUSdGz+ zg0^0OsCj=x>uva|}(IUZD=aRrrbvZRtECxZ4H z8P5@;U5+?gmSK!rhE6EM7{w89x%okGr?bq*7)6nP=PHU7T@bG;hmg$C&5$2i__w1T zfuCVI-Bne?+38_K*9A06h&Ndlun#k;j6{u|%IhTGYOkL&I*+UNXeas)df1M~YbKSe;qebd;*WO;7Gf&#xZ^LhK{^RnY zTY0fuc$0R&4MWfI+h;1b(~HGn0}^ZJK^z(+`OYT`{q%-+AA?2S1?U#<9nXfyd%&Z8 zC{{`C8Rjg}s++4*C{gt6C-WX_8RQpld_WX7&-b^GZ^rQfz`h2bs=HK4no<^W{n9N4e&eC56`jktQiS#o;HOcdOz^F``a47^Y{+GyYV64 zEz0*BcOpWb$1X;`Pgg~o@?I70!A;$+9eC{ZdouH?YRRMZX3q8}2Huq?($uTR3aE<8^ z{8p5~3ta^p0U{&eNYa_vtVsD>Z15Jm zm#BI-eiVEb>e(J2nH$3yZQxVNn179Wi4na^*UsgCZ?IaDWjQeQh_UDq>GljNy;V!G zak=0DbkZ5fn;appVRI>4hn)VK&biT3h$u z@gU~gu7-tpr4n*p;1`Ws%4P9Fz3#tO!g!=vrmGUE+}oGSs>wdRY9>e@!|5S-j-?{n z6Ag7VG_!J2ta&FJE^p?zYjQmTe`6@MBrNjT@PIbTV zOjQokT!(2|R5u&w?p5DhW1s(oZu>2KkHX$Czwm^oolHD2rP^DFS|X#V@U0|xg3B@6;kn4!)^}O@GpH z;(U9S!8c5JV)|&bZZh%$c`gsOERglVU*YQz0UT;hu=vxLW%0`lS(cm}qJ*5AfOM$H zuz1_mF)Y^JcZE?y-`xq;cZX03x?@_n|9GW41|dwQ8^)}tb9$gghTX{GeO%AcA)NW< zw>N&GxF@lmL-i%_Nti_4nQgFwc4rPaajpT*=^T_BVb^1a3#+^w3t!Ek?<9gyK|c19 zMR1;hJtkVVnVc|ZLp{U2|9D1F?veRYePKVX0p)P#R2on~$wy-vQXDQvlI~Q2@_bIe zg-ZVh#3qhMWu;mik$yM})v<(LJ##_IqDT8 zNK1CyQ#?xZ=|-Juy4$JPLUX^245ytX zTs51g)bIyimkgXl8s0yA<$J4x5v+Sgf6}gXoiTdorc@A^K3p0G-R0V8s+~77T>uRcW{6OLW~V&jY}i6+#vGfKW@z zqu@Wq;uq~mq-3ri5K8hq&cFw@d+Byh%5M2IzuITb>tawnN_>u#4UrjcGqYv5i~_yr zCf^FwNZo;BGQs8W`@ zrDRJV<=^<9fBxxe_fui6aKo^L`VZDp1LEloQem%j!(J)BC`tb;_Z!d_`=a=G7pZu& z-FUOrRC&1}Pe}EZl6<5kKZr6c&o9L%mTNIB7^w)%aS6;(1V$*K?-pDUxxO4b ziEfXvaH@%0wag7&8PWLO{X7;2G;%YJ0P?NCye3ALv)J!R=u2NX%~w@P0j^zz*Uol; zWt-Y7FnNGOZ6n1r%vy$Os(LWq1PAz{Bx1zY%U?r2-USu3G-elKMIhg5Gwf;cg`2Jl zSLGJ2O3AGGt^-?GPVLcz_!#5Qe03&lgHG%9j<=C>im&5(`pF={`QKnkF*%R*K;KJ*ln;c*_I3pyy1+j6}2_i`penhf*~$B)yz*0 z#9D|0((Eqi7&u05_`(BaXy)QY9R19=$YKM|T#WZF(K0mXsG(6GI&WN6(99kAl~W2G5bf^OIsE zLJ6Lz{%~)UT~0qa z2}7mCyIQwrq1Rz4F9jDa17uWOMZ8g2t+_hD@QvnEp2s4zS-y$-rCq{%|AyrW+))Og zzE>?ptWo|jg3`J#B%Ma-zW#Q^VzpB#CN19lxIdqT%enA}Hh^j#HM59c&~%(WbP~1a z?;-lT&!s~L}%++H|N~^gvE0fE{Ye$ zBH0R?nF-VihCHzE56X*&yrNMm2;VrK5s>Q%GhS)tEH(dfyrp4qCi2DP1KnI5OLX1c@mm?X4!Q(>i~#GHSu zyN{wfk7FKx7M5l5t!zC{w-3OrImW=c9-te}Y{@q?sw#I(`VD1AS5sCV`!VO2_Y3w| zeE!Q6y=ZpzHRf$Qf>LkrPN_HeetD$-0Y1f#`_cH2C@s!#zsg|EyymwpUq(zlr33~Lw9ud#rAycDO|z?C09t>kQt*TO}5#VsgGM|_ROR=g(_52 zKWnmy0i5fvj`DyRB~x4X@`HIA7nI0+8TQ%ynVjVm_WJ+BdkwMNAm0fjDNW1S5ZkNr zybI}`AU}w{dvr}yJwpxFuwP>Tb^q%BG5j;_Z!JDwsD#S(u7qHVtAFa7Sbd<8@sVdE zdR&I38{UGxj)G>y^uT=kFY&?@FT)ejbl%`4^(>SooTU3_aNSdJpD$->y+?qolKrJ!zv6L50n zeJ;!ysrji{o^#KS$~#CuL2m74xn)-FqaJF6n;6bfQ0*j_XAiN$FYs|^EWNsb*R!JM zG=Ao9Rak>1$O@5aB4V6r#bg-H5~+OUq7SBffNnWU{PHvz7U)cW9MS(J#&31NP_(f9 zSnwOh@s77)fbbHp<0Vd9x)ci#zi#8xnc@Sh;vh1O-~G$23&nJ23zik#js97&*|BrGAyv@T(=Gpc?gz8xF*O}Z zOx%MoS;LA>7#3UB576@l>X94pl|Dg_+(^F}rwm%t(6R`VHXn3hB~-#4>#!qO6lKY9 zcsB^Y&YcF7d?Q0R z_h2$;zs=Ic{tsk{s@Hp6*0~QA+yxr)3G74;?uVBz)HKa!KLD$hX6dO`S?5%C8GJLB>DuRDXT?w19iHm<-%cw?9Y=U0ppzcd$yOtU z^n}!4Y62hp%WvxXvlB#Qi#V4rEp-$t6sqA)*mIQukWCHa2eG)}HoF_YuY9R9|qtv&T@U{8D}L(YR<6tM6lJ;=)U0 zpC*z2x>`ZJA%8121^M%r?2lPPD{qkNT!n{8?2ZF}@ON|WiG`}PdsX+Zj|c41bY~w% zxCB!+Ag!gMym!LP7?6o&Ju`W>hv7`aS8*$4!+DrL5M<(93rS0;?=^V$cAM&k43)?Za&6@EJ{*Uqg;&?a5r+15tce9Ll-v1Ks;D3up5^$X>0ogK8w?9Jt5JRrj zD$%@~bz(`YImqv)Ww0 z^8|lL-0hbd8s!*LNVHC!P74R4WC8I$fgYuGAEfS+Mr{7kM8*G?cok1UIB|q&GDtWe zlTr#bEA9x&yHD)ruUZ4{g;&Mx&^}nbMlDotaqEyRZ|e3p2;WqXtVe|U@|VQ?FP404 zCc!?RngHdLL1AlR=oLNvBKmC@XY>Ezwp`Cy#thx=4WYkKI)Qf&fp?iWI~mTi(eLDa z&}lW4oio#2Wu`#>I?wSJ#3ajk9`f9|%^&^f_jR23C{Lil+y2Ume#h5E15vk)lnEVG z-An13S3qmoTipi4S)wNH+(oxp0#Eaw$W+WKIyy8vYxh@Vg%n zr8PcuUm_4&KjD58t<+P^iWg8s-LO=Ati`q=)lwwLcc&O4F}X$-ZZa9RuB;iRw92{g zEC_6(U9m^aK_8Zy86S~L=>1Y_`f>}O+ z0v}Cu^J+Pdvf^pmPbE#FMSg&OEB4@zB=|I>oH~R^+XkdJ@+2m?mhtZ{6rzrp9Z@dbGCNA~JAZ;%JH^jWp_}}Sc__;t zOV7_QqDv2dEJ2;d__vU~&6+9??rHeZH+U130&wb<^ENg@RLbvQie^c*aLKygXncsW zWhb%x+z{`Wj81pT@a*Q|@z)lf;{?i~ssXYizqmI<)l|J}cC5%-4|C$?-@~R^p$WwKL=g4SyPXN`m2t`LcJfe z9>=*HezZ5vxs>aj6U=6Z6PR$yZ~=bA*IzY=OzL5S84Nj71nL1CBdB7WG-5HxPda|! zag4RGL5q2pw*t@!rg-bd8ub{}kSi1463<|&>SF!E^qivMM|4yD{6216);%?K=2}L{ zv-t5|Rn51>syPyi;Vn#oF4X&PyQwTej79s@_xA%BH7Y*DjNl;euay2c`bz7l5&sfp>lqP@aPVXHK1`_=j&8IiF%B z{Y-pb4}kD-1geIQ?MJdw>2z3WtoAFtj#xpZ@f{}`3H;7yhUaS2=W5pT;%V=mu?+1Y z+Rv49ooPCMvI(c@(o(V0a!=pn_0cOnN9|zvR)@m4js8^fF(wqtHxT35ZHQ&6F}}pc zT0Vo2xxN~rHacb|xV~GeAxu4Fw)R(#HB@ho_jo+&0cPTN@tVgrX`Np9G}ioRz333H z9B!%^Vr@-_Mm3`}sp(KV-l2L+bWMP}--$dIReQ&EvCrkRv+~J&?P0R0er{#C5dHPn@VXJbu%XPR* zIc#$swke0ZU5C4s!*m!I_yvm_qY!CD2IDphkK*ndFA{*33U>=BR0Rk2vbvj zF6zzxF}<#LsM-D(;ITV+wtolD_P@luaFQOmT?P0G0dD62x4Ua^ys4c`>0~79D<>vq zCWKPb4Bc9955DyF{+Vg1ClZSA^WWQIH-~o4x||YZ_tyxLHrHUt-4Q> zXMs$f2c)3ye#ld9=Ue`^lIwTAtKwnE$RBvU$9?ZD?=8U5~Zj5RGDOFRR#GXkj5`PVa)i! zh#o)P>)qN6#NpHN7 zcxk7Xmv%BQ?UcNv^E(N(xgU3sTg}DX>4xD3w{FWmIUK`;En+!88)}cgIr11Qe`aDR-SV%OQFP~8zvuGiXYTi$Uuy71aF6~&i0oSAk{S@=wO z0}#KCW%9{&3H&DZQ39|AO~vaig}ST7L8Nb*a1u%?*Der$J zntXnQMzetfqNAC6iiNjl^8PSPe1bDFPH86nT_WG5iGGALYkZG0>^r1n#Sd>2GN0f8 zBj4S@*Va2(%I9@4E8Yp>M#?K>4$guWxDnh8UiIC!4W7$i_n6Wj67B%94k861<@;zBhsz!FCiss)&6_ z5)lVAe!<}hC8`gqU&aWQVsfx2Ww57|_mk?^#ZS8uo-KWp9IASbko`QbP<0!!ng~A5 zmCJ8MM7{N+#qPXLF23d0`-AYZ-mCRA*^6)R2F?w3aCua?|B`X~$t)Nmd?? zvJXo;_G9g5*&ca@h*!cO_ow0hj0}UXmG)DR>XAd}bHoX3si;L&R0*3Iu4hD^b^Tze zs13hoRkIJ*ZDfq!RIsCm2G8J(DnPY9?^f&cs-9nP9bSmed+Vw1-#TZ!d48=Ha$Iem zz=hyp{;(VEu%h##>+qs-IN~}SQ4TM;4lgN(mtBXK<)p+-JA>z!hiayMh|~7WL+fz3 zXJhlwap37j(g~9S{N`KscsNUBUk-cBYl6pXV!YQRkJsdQuPGj{vUsnl90Y;rK17&J`XS?{()c}Lnwq`N zVSLT=11${G83klSQ)nMcp_Q9Lj!dBrrQp+b8_byE8{@3vm@2K;d}>dN*3qJFjkKcF z3uDxqxYQd<>M2a!S?!nSHx$`-X`15e?_5HzS+V!+>S6wpuj_fntPFX;Aw{3}ERS;3 z@j{^%mUE?Fo(ZVK`n!X(($TSbQXJDjqq}lz9b_u<+@DCLR-~G&HH2qZx-}p#GtrQ9 zuvwVdNu??2CQag_`c*LdV&9}d@T^o;1d?hNzprTI1%kzGXll+ui?ux0Kj8YGnN;XG z%WpVoQTeK~-lF=N(!ZhJvXh01y=AB8$+z6`J*ff0hQo%FjuM4xSx$zDqosZsNo@yw z5%&=!whl-T^_#nA9Hg$FhF)F_#oDrgYD?z|p8AFZM$qxpbY6glZcW|DtY^vzP&Ot6>AGG4hsydU zYc_je{W#V{b#0{b%px8~- zZ!`7V+*H-j0+vI1oywMoP^Z%7a=F* zx7eX_B=&z)%V0)LrGp(QGx;WtwkV~D>Jol|XD$LBYs~AHv$(qL)~00EOh0v+LY~-! z_y}r13LC5F(>hU7OrFfQ7n$;6 zd9leC%iE~xY-{qpeJ;M?l$i3kE+f-vXR1s6g;D0l*E^Y~_NpPAjDS$*qI5pj-$bs{ z&>T)jCYvkNJ$0NN=h)QiowH3mc;ntvuO~IZCB=?-=yoTB@Z6_P7mbUh8bw`LqRTn* z-XpaR>s;<^@+A>@-LVV6Skh3i6{ zjDtJfC9AcJtF#^_D?2b`foLtD+Ml6JmFM*X)m+)gJS(w$(twx>DsD={DvWbgDfUDX zR&k0<%;dycu)XQb5AH|EoCQWs$&gNzh$!2@;_?0i%fZu3r9F$&l*~Jkt?(1xe58s`bCny z3N$Ri;$Rj(7Mj((1(S=vBJEK=a)np=4fWJD)*qV0q0UCbs6k(*#DHqmXR!!#&Hpw=y*kP6;XJsFJ?fMEz06m6 z93Qd5iRIT0aJPk00AGkgyu^pY2dAtLum>{>G^fi&id!Kkc_|w43tEpvrI$+?jjwefCu}4gATBAIX?9MgaH>}l$N!T#?4P3r|BDLWbM6q)v zDmBfpmj`g;2qtPHlt(g;4=k@W@@oW6l7Vqq)glkp*|S}j0dR}f^Q|*UpV=A{(6PKi zo7n;ba!d`{N}^KzpY)*F5sX zsQi-m-{(P|e67B1=zLdAw&j;R$Itn@z_hZ869hCTZy@@|-18QxLQj`^lk2y(1g<)_ z(%g87{&0#v>+G+vcuja8dSYn+=ky}~K|w1`e9Z_rRY?3>xaa)M{_PK9o)LkQGan;N z&}pu&31`~G&sN7xNHJ*Be9TJs9iNqMm8T38)7_hSsisnroTXBVJ+zEh?BO)4FNMs{ zV#UKMQ1sA6$j4d@wluGI)OOGO$k=?9GS#YhgcxQn4QKWBRA1#+8f$7p#FRI;s@wVId@$L3~T)Ty%^&;Et zhq!k8F4}HeRJ;9zcKgw7x4Q#UVS44S8h?%XP3@%ps(u+?t=snm__hvyifilky%OR_ z-h!918S|NZx&J~^wRz&K^EIJ|Yx(cQFOJ{cCvRTADhcKrnfP7?D+}7jD~OkeOX|w+ zUf1uEm}Jx=zjIyvfs%I8)V@JycRpWJ$R=3%EsPqEm6|oMl*V4|^1C51|3v8vD)z$u zmsfiBljpIdfRInWMg2y}#PrB1%{}J0&@0)6)C0do?S~T^{lmo(eA0x9Q~vTGG2K=5 zA>AWo5Yw?|;iapJGlb$`gjTNhMR=K*W;|ATyTOoTF#^!1SAG#WvRZY1eVg*B@o~)> zad8;Tau#_rK2VS7I*&;PrVP$ZRDD6kLDY_^duk`U>T|&r_Y}OWGkP6@SHSDl(KsqJ zb=ZR6FNmqOFTZrKt6`>~;swM^JOfb|PSPXEGM_12Nwqk)J7sQPM(o;W%+jmyO7nUZ zDZV*hru+s1WOxG%^e~ovNS8-`V`4BC<4y>_tQ@S& z(pjD%MpnZ6cf{iBfym!Ny<%V4K$jvD9-)i%2r!>8f?&*&NpXFon)cavr}yp}$zr|d zO_)YXPPwj1SxQn)R}yDQx>nW;Nm95;N&2=sOp5Leq%6fhQZUr^gMhxiPM4sz>MAF}}(@ov%Lm?|ju-bK_AJHT%E# zDwp}{Ph|bqGw@Y&4_`Hre3cu=SGhI$s-@zqT*X%{Yw*>d{~KS$5+=TCBKa!U!&jWH zB<}LnCz7vPM)~Ta|Cz61)WBCQy?oUqp0Aq3@l|28t|ebJjpM7_C|`Z3_zKNY*-Y|P z3)q{xeDy_uCEC}JO12(1w=ZuHR&UqKm+en?@$h4aOA-dp{TbuOe0D8}`PJY@m%v;- zaux?_&1NB+MJUu|#7Bp$g3g(FRMT+xM|6Cu zTtq^=xj)wMNdZ05F52vY$~KbU5F^Wt%J&=F#5YMBUAQ`u(I&;w^ktj0jcb$QXq)_~ z+5}mwERk)}9`<%_oBS@@IhyUItaq|IR?CezJY!v8(rnFZ`>~YP^sHo(@z7xB5 zX0uDQg`U(-ml$1RRp0&eaj2_)+FaZS{)@cO#ZLNdqq*^j^?R_q2q*fp3MP|~xIuRE zt~ERPxvG=HBSdq!bKOp!90)oO7;<*)>C>rHs-CePZB}-ZZQIq;qd5^tiF@?jGUwEz z&yDtIEf_!N-nun5=Z?ikA3oRHhr7iyOt-i`+%{T%$uHgG_@!%RyOFjw^9}S_VtD^QPt;s}#6cfQC)J~5K za+wI1hI#ZE;2C}TNscM?a12wF(U@Z%m3btN85HH1+Cg^=aCzqX>tj36SfMGhSOT`>oLy7@mohDVmxy3nRsNx={%DA?>w@P ze%otqJgV+dFqvz#}wBk6aR!H9?O)y@VihO}ZHh1S@V+5=f7X z_6nVml7&WiScp@TB$!9-$3G*Y{L@JB52~til;oc=u#a~6r}=;3pRqOgXDsJ7>Z(UB1&cKB@Xuu&VjP>7 zo`HX2`h~{p^4wJjwPlB~m%Lbh(3y8R3UiL$V8W97!MgRx*GnIbUvZV@ge~D zFl$v#22bQ=BAJQNWJbvldIY|B_%`8MWC)uUHQdnxhrRm-{q)Eb4l{Gb zGKn7`Ovub*-vs@%8ZD?8fMAQbTU9OcO0a^8!SLd@3uDr23BIF9>9rJ16fe7$@VB8j z*|p4+?;D(9U3Dw{cGTQ>iBf1?LPF~rDYQ5(J+jB|?$V zLFiCOj{rN@nd-ZJ5>0upH~FLq0=N>2Nz0%tp`Mc&B?$#LDWPsKJ$DQsqt>j6$*33s z$S5Y{$|xk~%BUg<-E%f_Kl1EonWdaUMaJY5Q|A518@V?1$SM?bIe!DB##wE~4JT`2 z4YF2#x~wsttU0|+Zu<8&Sr=`SHL*4sNo}%Fw#gdVCO4b^)*S0pbF5L#vF^0ySTCDn zji))7stoEj$4#<1)*fdvuDHSGLF6xb|2RZI2DA zJvO48H@od|s~Pv=iP-i|NFZO*?3Yf zVQ&0SLHXgq>Jz9Z>)TJ43)@fU!5#m`g9dcfi!PcQkD3#YN+iio8duAGmIIO-;ZIF; z4}JpjVTF6qIQJ%DUGi-=m%gIDn~eN5vRu;XRGm}}ucv@Q*b4BY5R#Q2lC13V@mp`nvX6I5 zB%@~{dX$TI#d9&>wGVo~r#@*od&qI+#H`|`(we!R=bpM$^BX-L&!@6!R4%Ak2=3hI z<<1hra7JSPXs={TXJ0&bZ`S!6$ZfiNZaGZ(?uu{aUn?DfpXjXM;8Px)5ZpRt{ReZC zhfzy2@v*hs2xl4g5^~J1W!Ovc>o@FWm~&;3WSfOc(BWD->#}rCM)e3!(`P}ibvRYO z6TelDfZ%?U%Q9DI^`PMleI|b6Ul`2vjA_eJWT=(RdpugGM^Wd#%E$1NVpcwm-wK>w ztUSP-**<9U355ut;XGl=oqk59^CS!4r%X9NkwKo0xkaNr6Cdr+8KONKbL%7BoZK@| zdX77Ol+yD`RB-qPEGjZFOOSzI0QUtX38|4@2E@t9YkvU)o$exHXOX+{8Q2SBvYwBZ zCK#@6E1a%mveV$C7t&7`$u6t;V-=FqqC~Dj0*$EfLkBH`|@pyODOtxo-{KT%YUe z48dnQ&JcVT)6E4R*3DJ*MSPg=Stp0d=L~ed3$;Dys_vSFn^X6pP-}I=hK3j_M!RdQPcVYaIY%IVL*X>de#zvQH|>{A)_}>>(`nrlB)6j` zZ##qd7(7t(3MAoS`9MuwEvA$UHS0*NgYNi}B08KW^-fGPee#t}e#&77*MZN0W-Y0c zub9I0;4y*yJk^uHs(23Y!FMaqnuR+kiGJAqPThcdhUISWf^M3Dn~Gd7(A}xegJw`? z4pA6`PWAvNfR`~yUhIUt*yRAsdwv?o;N&pA6jZPm(sP!2>T5_v*(dMC59e> zDnch>)!3hs_hNf;`JgB!zn&g}rkF6^7=p#=LZn%Tj4pMmeJrE2$TP3UJj^dfYYo$H2a?GDE}1zS6ysnP_^| z2VCyn>`(Fsq_^Kr{bXGbbzg(x8&YO^( z?NZ~O$$*IgmbH3h8&Z)+nm3}KZwcqcJH2HJj}GaNMg4!|+inFF`@vyP=y4mH&OoSt zdYh%b!BCru==k(|vQ^V+d4E{VHv#hLPS#9Nv z>?yg+98*Mn&8p?Cf-DW zlS6VWAt}IjP{I@Sz)V>9=1Jv?h>=-&gnmNQBN;}3a2ciYS)F&BK#nG2GhEWT43agJ z<4GXn(vb5AttDU$Wz!0T3Dk87w2l&x+2XTD!}#pcQ*ze|&T{7VguC(S&fWh0JGKUi z(ZCvnX}PnvXZ5&!t7moZ`IKJKdX?)BG+Au@!BlzuaZv4BK@mnJs+T+ZvvPm@1+dXe zHQ0zR%|-YHX2Yy_*OadBq5JIj%a8qt_NpGgbIG?n7Roo1bLv;V&O>5`Q{pOzjl8b% zZ!%A@ZfbYLx|ju%say6NMB08k=#I4}pB4VOX4sjmW0fPk>51Tm|KhaptOlOLzZDJt zhdfTh`dY)uy1_)59y#*Fu#Umg%6xe8vlDLxW2YB|JmZ=f?H?!~F6ZMysBTrh9_vGp z)91P8cQVygfy7XzpSRX^3qCxa;Xi|BdG9#bq_xy3zemqWmgx_d zgPeTkTDC#d%ajgivmz^Q2l1H6r*ybHI16_^^A=obw7?w-_1&-oe>a4??&ovsmG8^7 z)N!nLigdpofsHRxRGyG4pJP0Qbfd9<5-!Ve9EtS^$P^vqFN!DPmn?vC;q9{8yK=En zb}||s zdCotaO)~8xS;Z&K*ro{6m64f?_Q=eVJc65)M<1It_Ndmai^-!H0mvgJsg&&PVs;2Bz;$49w4d2(^}Et=&sZ?g=Smw4qU>6g= z^`R-9#`A9shF7#HXkAd;y11|dTzsqxX4^PTG_4XMW4tCZ9ucDHpqb?pr(Irw5O!l- z1gJAN9WqF?o}~*s9oY1|A-&JRx`l8CO=z3;nBt6e=lE1j7j4=T3gQ9BKeS?Wcut*+ zwe&~RbV0LraVU}RdkU&te)Ik(U54we$vXDYAFV*ecEa_@51SD*MspbaHB!IOr-C=f zNC0!*g!p}kEUhIT?fU2fOI*|)=CeIumUh`NKV4k65WbgpgUgyO8_7)WF=MDD+H?)~ zwZwfr+KskES~r;Qc86KW_LsZD{F=?(?7qJX%)OmKXY;xlLleZ)oi@x*5SMg;c}Ld` z^DWV<P7xQd%YEdVCN7w0Zb}jVVV9LjD^oK? za_~M{uQ>taFuCW9q1j@70^G-qyl+LOXgCtSA$IvsAGmz68Ri)Fo!$;+y%8|CuvyCC zzuN(7(}=z$mIPL&W{a1Tkhhfkk*?MizF%Jo^JO+y^gz00l*-FuUNRB+{33bA(3iO^EyO3+v>TluX7<=H zzlG>QIcy<*z6RmcxG$KGSOfDAGI5f*DNRggYP~1GK6|jaDNhXOi?aVs}RCXf5AmL=*;;8;Uv3~eGF zoc3F-j-s^HhWQ;u@p715r@~y;VZ;0`;#jvMgL{bCLyz^b#JD8H>Se?HfJ)s<+&cRF zx_yKZ?pD@EjP2U3jOuwceD!)WhISDLrXLwxAd1$(OzR6%C$pazegVw1IxzLAFh8Ag zWN^0lBY@VwturWO2hj>!Mhh`tM_cq0UoAZ{c%aB!H$QctXgC>WKAHW5xeR>u;I^SF zyNEyM!Jal1z3;Cc=y9dg@3O_=ASnOb7nHx{cAvWf^`FA^zoKBq&@!4i_ewqr}9q{T5oH3H7_NBBlRtwR(uo^N#gtB>vZ z#m5OK(bZGHhwD~?TRvcJyk;R%oXb3r+Y{!R6qu=OK2rd5G@Gm0<;et?wb_1v`*NEi zrS1HC9}_4epoD=RU~hzykF54J;oTUJvt8k;_=|$L1MBOT^Cwztt)cx0Jzrgm|x9XlEhTTf}u&h?60hb5?@` z8(j#ldto%p_ES;nWnb`_h0UnXB%n;uK~xi!_a^|=r8(2z4 zNpu0Dcjrjdm(hreB`RgqW}HMLIfdY*UG}|0=we1I2)$2eG=~gLLda}!86#tmL{k{m zpCggO=-Ud3Ze}X`Ya^f8;uc1Aih&x6+Znw%7U_k=!;B8EgkOjjoIu0p02PUs#R4kr zvqON|&`K448|MMF6?HWDt*u_T94MR7bBszveMWm2wWARnXfdPnL_#`n#WY4k$nOp@N|ZBtd$vSZG8#eX zb84YVMrY0Kuxg1uMl51fcMzzI5mzzl!c@kHG`(e198K3Xe8q4H?(S}b2MBJ1y9Eh0 zXz;)w2@LK&xVyU!1b4UK!JWZfUhd~x-=E#9yLWX}*E*~EbRFA?*!{L-IwuUN+)E!L zqn2DN&UqH1b;2b5E2yBD!Wx+Se|e&eWiwarl0PniIc?U6VLPKE6i>h<^WY zt#B8K2X3j~vZ8_2Y&zY5O>Bd;{6a_iMk2^3KBY3RS!mWHS|{CwP3iQ7=rH+OF~2T; z)Kt3zlLG3f9T(e0Wlvv$~f84rwi`V0t8a%E3zB*fN7y?qg)q&{$Tk&vwc94UaNtj-&vot`{8L!?r1WQD`^8ULbI}?+Y34E2$b5q;iUv`DCQ+ z6qbXTvlAg|=~~pB3Bt&keGF~uC6;j!yl(5&msw1B_*x^mGPa*aGy8#%K~ zb^2Y5B9N8l>T}-9&a@+D(Jez!lLqN**AT&vcEnyD(hIg+qIvgl0wOY^`IZ|#2@bA@ z)l)-ZNk2JK3)i{b@rDl%qh}{09m=1R=tm+shbWafLo0OqI&RyfdANTS0iT<9??K zAspK^^kYUL+;M7Gk+zi?f$r|*4t`bIu9r~qrdp~sHoAFKceTLX#O=UdB~mg;H4e{= zSXwSFaP0L2?nI7dUsUXm_>u^2H|0{~=@9vFJh%+1w77Q?d{~4NDZ>%DAkQ~S%~!4J z=XuR?yYZ?Yo^`nNlR~B(H`Qeb#+3|VkV%V(%3`3Q4^Pf{MA#lf<*Af)?r%|i`p)W? zU}&GOhgKIH(}}LggW*0gtW%2j(c;G!BLjyRM(l}#2r7YwWRt8X$}*i};&Pqt1bI#_bgc##ACno2 zS4Z|4#@$qxhZrTS3p0yPEL|bbarGh*;|u_4l__%5E23l$X>h{SR>X9DQHqBSj=yMe zk0DOLUUyZLJ46y=!<%n%%?fuLm)M$th|IjRe`$e~qZ{DT0JnI{wmqK)>U2gqa!i}X zYI=ROyjoqw&MVYq#WJC z^~6C{P_ZpSqq(M23g<7J9b@rZT9-9n@Nuy;Fu|Jre&cw|TPDCmv0g5SRJihg%ZR0G zga*8r&7vL(%B-j`0Yrh^=jWX(XUI!E-c5SR5HPtS2Cp<2ia zaGyNi_K$2z$#zR}%nGB#L%eiN$#ySbeI&#xy=roY6z*L?ljl6{=4daJmx)PbPGOIc zr+#ykH}-ut_4&a@(feNvo#bher*=tW+*C8(*XQ~)@4-Ev_)`igmM``Jn6UF{s%b|W zjUlH0i1SbW#TYvca-V#oP?!Z#J`LArh{{E>2HtR`^8L5}X6=`8RC!NaDl%kEb#G*e zwvcIhh4dIX8O1%#@F8-3?O*#b@O`TkcsY16VyLA(b1iZO zA1PbFRQm<$u)@-%HQqrWgplI$rweLam8B;i`!|5c}nM-MsFN4Jr zMVuWtfTl6rtE<(QG5|obP>BYd4$(T2)I-17FRAF*$Vcg zc{;+1u7Y{dgj%3@LOOSGl({9K%z@E{PQ{qn6>`B@OU>6Zb61ub!(uI-!?6ynO{C z5SNOs%>mzaQtCAQfNe2T(c<|p&3uE=xY|G3C?r)Gm`Q~y{GehDq) zSyH8%VwE|fS8%1volExGEwPgl0Q4E?9E>9)j z`ggF}-kblDZU5cej>DyL8q?;M%SOsN@+JS~zdW%P9g)0~^Spvil>f-)l&jZgAdT1$ zAyW_tw^iFu=|`ytdlr{doGQ@kM!R9kulDvrpOO8as=1wn1&o~u|0Vm>OA$qolhdf- z=aGxhm5%I>{F1sRgsHNt@#V#JVb59Rmt8p%!iqL|O*Kt>4;$f1{>sy)gN)t#Mxn zW1sf38duRfpJFz2!WO`SN}~0r;Ck0=l?D=`4PmL0JD|Y{@_kEV((|y!ua4PyE}`yy zVS7bNwH{)l5YwfqB@E25^#(-3igc8#qQ())OAdR?#}lq!${z-KlU7+_Y# z>&f{VQ{>$4ndL@!=pgXQkw}T}_xNjmorzUy`CqCQOw zS(ry)!X3^9kwW-oFId74^2~0|E|5=gbqC8AgNs)kayX5TXE5|W_a8m5h_AS_I|NJ& zJMP1|6UADR*3|adPss+Z7D0|zITzXqo=D#3pJQ`qrHuL zATwyfg0r5kw5p~z+!=DGY2Q*^9?(gfpJsSbsr?lyi5Ttn>>2WQ1YxBZ5k%8pmfJw9 z@Kh*;-U_Es)%k9nCJb9Gt{&}#S+H2e!0{}woE@DOYP{$+tt%Sc6nlfsZ8k&a!v|NP z%^}?@ntvM|D*uk}rlXp&f4@9A!@hvo{juTBN}Y}!H4^r-PhzPQLfwUKx>YDj^%WX~ zj-T4nY(H+!84SJvPsq&KOFH96KcTzF-Wy>!2a@iFsm0%@w^*Jot2n(1v_VFTbh=o> z(HMA|-&}&nf8Vd@L#wVJi%CB4j1MmQ2!@pg9wDRa0^1F?CYjqYd3=9-HW2=ja5c#C zbz5k>J8t{y-6Aq-zieWe*p=Q)%zJs~1;zPmxJ0@uMzS=|+lNDw_NvOTd|tfnSm#nJE=zDg?wdyf$Hc5yJpWpc=D-05{bC=5=V zMJYr8cok4MxqqR9e*tM_opLd(>n#;!!cCzNF9e>mL;f!tCUUeICnIr5+r*A0H)u>L7 z;_aoUfG8W=`B!cG9J+;E5@=k0zf*t)TIXQ%&wPyiy^1xn3%!$ zi>2SpMLoF`9yT{o2VXv(t5-4_ueIL%I$S8mZ86&^?Fy80(xtld#w`+#9nA_WiuI(m z#n{UU8|971SHl=d;-I=rdUKmW)Dm+VV|Jb>z!zU{A=)`?j`em-s}4MNRB11pv=5iH z`XkadBw}7^?S+}R`KJ|e&|BmR%zO+^AalLZU`-iTvBivQah=YQXr`cd5uWjEAlfIj zr9U8zoGwXzmB|_5A=t^@HE1}Lrt&NCi@5mFW6u!UeHEJ(<7tLyvwNcW@1>_DOKLUi zFOo;Ev&-oy1i;vV=FM%*+-+#%rx&7Y9oTNM9tTr#f!u?)7!tHQ-L1zM_^2!MDVbj9 z?mh>m@E=&!!sVsc#+e@jjvE#en1*A-(!&ic>JR=eZH@l&&FvOvmwcP8?PCW|KLOrOsVHF` z|98EGhzIAr`AX6cuLHM85K`4uSEipTH}B>5LVWn9TFkxqxjBd<>diZq&+l?Qpu@0q z7iy-64PUB*pQ|cMFcd`1DqSy!SQZyA&08jkN(6i=oxHG^vY}c0+Sxeg=}dml+2-28 zlW4isM8Qx{F&9%+9K4^gQOKk78)H(VUD~JNa7OKoQ(kwHnr8_)=-zN89RUp-VYp{Q zqS;6_5I+KU%+*i_2x$4G2 zSlfuSyGzX!%Q{lxQ~piwTH1$?AW@5-2<`I6r%{>Yu5w=T-5g&|mBzn@A75JHH+=={ z!C18S%C(rb*GP%)6Hxp9oV}~PUw}m>jpsv_!!18q%%w5p^;ep^^qG&!>+}5*EEbiRclgyZ{GHTSk!CVw6~}VM zWqF__x(+j?b{&emKiwqQgTA#?n;kR%?cO2qFIA2>jmtZd z`&eES1N_J2uQ%EvW)53zBb8v#F^{66uMP4&u22uE;Q2YXp_gTev{AFLH0F!&@WHj; zJ{&FCWQ#|02U5Fbz!noN4?{tdp-a6J(Z0Z3+J=bHb6P=E=|!#RdsOMoHSAh`GoJI( z4P4*(T;7B|gm88`umG4jMN9C9XZbsJ&hm*A#og_o%W$>+vO(Z@OXjG%pzYw3O5U~9 zYdXmui%^T%@~BduL*z*nri-lPY;`^j6RZ8t=v;a1N1@TvAZ5Rp<7kdGMN1ZTtYJDZ z#pqjID&I);(^VoQYIXZkOQ?c|;fUwSw2$nPcoGm+-EC{RB+`Bt3Zy zagM`tDzS?Vr#fR?&IL__c$kJ5@)uLHjcnGybfIeL8h6EE+dk-rcBS2g<*v&uTQZjM ze76-ubL}+aIM43aw_FZud5g7lQ5es4gr-tyz?wf74LN!i4EeqT^ZMqmba*$2>>L$V zq2R&U-d)HQPf&}eeh*)gu5=-NBSWs?K-~25_5~?Zvcd4?eM?^)4tAbAN&a%&^w?ZC zE`J$A_ZPC4h7`J14qHX`g)g%;=*N4p$oHXVKFisxtEi?F|7wzBSCa+&NBf7ipck$? zs3>(I@B0G@Gg|CbNw`nFYxhF>NNqnYa&XK19R8WdOtZftb#sY$lCOS63h}(#g`i6j zeGk5Bkm@@W9_nqs8pUnQ`u%=-RsLX}ua#ifu+Q2dI`5!WZvB;|V$}&ml^C4o_O^O3 z-KwuWa}@YK8DBi%F3c@Trj+D-Fm-@sazA18~7^S`t$r&o9Gq;&V*Za%Xa zgj7wemNk9O=vG&#w@YKfur}oe-+}83+-}Fje(onM4lWx56huqBJY<~@q_GphW(HTA z+}xqsqijsZ+gV=#9N=v!!zCQpj>Tune^ns0KMkAKeVy|#}H7G}DZez`W!EOKOUVO<6@z>7G= ze%S76Q&$`nlG@mo5Fd3Mb1q`8=t^~n-3DwExzco_5&0#6I%IKu`IO`IGVaJyM&eA3 z8QU-3dB*b^TFqriRq&-0Z#)|0BvD>=DkkyTC1gh<4z~AXDOpN8n%)bIVRzo8PR(sD@fsJ=quj$)FBY26;*-Y-edarIuq2m)BqYRK+EoJls=na> zvHe(PEh#qdQx)pj2&m%eri1uCl~$>KD4f;|^v-7348--y-9rcf#_YSdfIHOU{hu&cG7l&f9Esc8{XHA{$zozvKaDd zGo5}xeb6le10-{)MOU&Z8c6)jTT#BX**FK0Csd~|V9dtX$&>y)j?=-896HumdcU)dgVGq5NX5ET|Axk_ z4s<2$?FS2S-d&hU*u*f-zo)EDDH1aTg-y0>Yvb{}&0acr?t#=axGeTH`{ZGBQZ@So z(w|Pk`XDiO%j*nHpoOfvoowk-H^`8%%1()+%Fd=>DyN|->-Wc&4p zYb>bBY$9-@;hq&*BE8l-D z>%G0lJMjuXy0jQupLTa>6WyfQxh>ZHTUoVC;k{=M%}JJ-8js|;@>NTyvj?@I=ItM7 zEi@d#bIs4Lvl%7C!l;yE6n;Cf&cwA; zSs_Q&=gCYUFZN08VoIQj=yOG_AJVF<8^t<~2plC)aV(P!)?1XCEPj{>^A;||PkKHj zDt?XR#lVT3D=n4CK25PdD)i^nv?NyV;zY5Pc*<3Rx}m8&nRi@#LpmMzFmAOhRDp%%=NJE2{H&74bSgh3-Joe8dXMFrJU{Z zz!CVm7YWGncJ#MS-wV4Gaxo7^J9MhEGP@|1fci z@twxkXPxwJ_ug5RWVeA?g=F-vy|ZOH-{LJy_1}VTiV}SS4oZ|`l_)JZF9Av{!YDIq z2wGp>wY4Enf0^l>t0M%6T#hDRMEN<@B9tl?b&xhvL1VsW{g z#BgH`ain>AC0R0jf2h-=iM0HlD)@Jz4y_GoX1Yt9xT4?HR!4d*bQN+iQ~9+&bTt(8 zD9~o5cSBj25p_;%)B^+4f8w^#>-(VQs-9~l*vMVj&->^!ZWn<#EOm?j++6kdx30V0 zv-R!8F;ME_aEMtWb9Ga^tny2mb)MEOFL+MI<%So$U}>HU+gq?hR!L1pvHK*UOgy)M zd_u`w%Ln{XP%$WD>d#_N*CoPP8oT_qC`ei z-H(Fjq%nver{=P(<&NvQT`&2iMCy-KH>;}8`g(isR}Nue70q3QYKkwFjZ(8OY3LjM>;zvXOvxHzkNub$Q)kc2 za!0alnKmwjUAt&moA|5-|FN3U<8UsUm!eeh-`52fNc3k`rfGS{*?w zUy0mHhIWZ=+_0R{xMp%Wd5qX3x=K@m@N(FghkO0mRlZDAKU67CQ!|fxo_HqNOUhle z{u%E}z|vegq6Xv4M8@vG*lXIlV-xS3PQQuO1VY}!Dr^EDwpChVLIi7$zyHt6d8_o#;C{kP3 zJqQG{1aPM^?3>!9D#Z#{Rv5nFJ6MoLs_d=}P_cL@c3#E_Hl&FAftd`k3yI?4Z7hZg zJhMGodyl8u4h}rup9CELoXmsL(cnRSEj`eGtJMM?D4=1ILVXxnGZ?B2WXr)KiQd=l zDI}*8xcV=32qGionf#C0%!}Y?+bFCobf`<|!gX^p!1mopVT)Jt){-faA=ikD9`s+B z-tV?BkgZml2i>Wt!>x0E=Pmz=ENhza;(8mm4&OVq=;53-EdhRDW@69T>lMB4ry1xg!n?(Y4`{pT9rx+2A83eGF&Iycu%3Lc66qZWO7z&y zjYCiS4V10?G*1f0Ih_e5fdVh51Jg2rF7t^7`7=JxFasS2Wcs`9)kK3JWKqweAItKX ztTO@2iXoS$U8_>PfSc06+fCB8$@Z(wezzRYgC4eH37)BBoK_-j(iC4qCkc11NSAr0 zV5dQc)0wQJG7Y}?hVt+UN(a`$sgY@)AZHg&yj}CVh<}YHHh5xvR=Brc-|{+8jDE?Q zT0sPg$z6K)|A=^jHw*Mwm8j6?U`z5pL@>D4>woZlpW|SEd#CC=EV#wfm%VAwU{wi{ zN-}zt6I4(kUaM2udnh72H@Zz3wgW`BiyN|S72;nilyVSCz)4{^2uZ?pNPhB!Z zzSbSekm1H(GVD=04MbX6`LlWwS?n5A2ge_8iRL=h@@{etexQEv3XO(iC@V;By*Qh< z!^y`#&A{k?kBU057bZyCd*8Z@a6V7b&RkL^Co8~2N6F-*rzEPPor5(%$FeQmn#7N4 zr)j<+*;avuQex(pMS)Bm3@zhOGlQZ>--&{Qgp!GVo}axaQUc5b$X#kJ5=c?Qcn&3N zr=r3=RuDK|r9N?3qrvh}hfWJ0^dAt`MRz6pY?K8Xy~W?VAj`#;YdqHsRjo6y z<7g=8+egyBh2YFQ!Ni=vt`cSFJz~8dbx4vN1qpY`yYnfp4x{a-CEEs1-Tx35qi2mGmr53HG1Bk7!)>JLR&S`4wR3sT9Yl8^S z3-0jt$bzTuNbfKtrvyGmJD%?S5ys@nJtH@Nw8F)u8Z{SKmX1` z6~m7GCc=9+1htt9f_O81hVivum3489eicmH=(%6m4Ud#LZ%8}chxbo(Ytk%Fb&~rL z%(MZmUJ;(AxnwHIo=MIpxa=!67CVtSEOQTuVh{G=^Ok27 za!BR&=#}FTgNYXpIK>ZJ%;EiYIi48i5J3NEJ#4*l#^=)-lfmWV=bAI+#Z*KbtS(^- zk`4fMUoAbvu}5eAAjxd1ABGP1=Y=O__BL)Xd{5=NC!9(0v(_b=3qnuGDx>eFiDTuY-p}#22G`b09&d*U5T@ z3f)y#Cxcjc4DMtw$DeJT3eB%#FT6R-@7B+sGy_)NBb-|xwIHHx*h7`K5fRY#mQD2w zu9Lew7-&C5Yy_LO0%+MyNIS7Lj9*FSoxI6&lHP6Iw?URZnV(+(q+Sj(crOO7oXjVF zA$!vn`VW5q97dN6)o#4QxetV5&kTG7Zl)X{D4{?{Wxqf8JdFNg^4@d>2$!~SAVG(- z=1YDV?euWZ++m(!27+t{)3jOM7oNLWQF?8(GMNai2TfM~vh&5KS1ikW$8(1YRi67o z!Wr)u2I~7;_O9+8g$Ju|cMW531BXjw{|;b+krl|q{dD`w^C>e$2EBIF`(+TAC;Ey3 zop_Zh{yEe4gesAkR{4*|im1NNk4@}TEL!JE#g^3(Kt{Q=i2LYnMUQcbVt~(~HR?76 zohi-fsFH8>k4M*R{jp=z@?A&W!SUaI%vn&m%t@-lR?%Ctyo5r}C$5Yr7AB?xrOW%K z;*9hKky=;LSGA(Y;X8-)mD;BmXJ!2PeW!vgNo4YzO5q0WsrZv&$ zpYdX)8c~L-vgqx7S>3%05%c^0%KLBCGyR%l^jrEmjioA9Hb>YBwH+=K@kz9?0i_*K z{g$yu)&LY{9%LVaJBVL&xiz?Y>i2}FWvE&k z4xqH=ZlKLMcrQeI<~&m#C-@|eO%V1y_&F31$g|n7dQR6ejC-d z3tNAO<9=ENw-;_W$rz#Ow2Wlq z7e-~>*4QOGdb=e#`+n3%KJ_%@Znf!3iUq?vk`c>0TEvFWqABI|xcN%63c0G5I1O>M znrr5|dL*+7a(|^nY-w0&YumHkyYVF+1B8(Flu|Q3nWC1`y>bVN8$rYk_TM5g^bCqE zJ-TFHyQ0zPIll-N7gb|x9G6>Qz&@Ii%pJ4gE?erFrgYq4qEQg!lvk-U>R^+sM%%&VA7f>Wk4nz+b4Sg%|4rAP zO+J_SNq$YIC^yR#TtfCu=%@c=mTKU?&~61Y4Rd;APtW?>p>8NyP`TxqrYU<4Lf2w< z6q%+=(vSE-?*JDFKSaWR4`trFRM5CMS*6S*$7H1FxH9a07+?d= zGHw2Ge(hNIC))2X-?+JdmYuN_HpnOYHzIQYQw@k2TdmYgGv0Bzx*|6&0ioX@yB7Q2TPm|Aa)nRIhwCWX}F|hHQ=<-D(`Oivlyq9 z1{cKTGB5iK4o9w?D0!e|AmWC>6~Y2b`>i$oKWFU5;mXOj5w)WPs^0A4?->WFxY zGbC;W>4#41SD=cr+?g=X6RV$*)8r0j*GW8)A6^UQ(8Ss!cTnc1niB+4fkEHcQS)xq zS&{?oB$E9rkrZ#I-NlfeM2R1@a{h|y$La)5KUzz_ya|^q%SGzH#%RkkuUJp8(HUT| zoeHpOb(MMGDJi!i3x3u5Ynp4&{o4l+B;4&}MyHy0386<=#dA3Aaa%2>_A~w|xAcko zHqe7U4HI(l80kJF9u1j%E;jo6r-P0HbxJ5Qb{(#oG9VHDEMo*m@nxlj^V_`qIKwd| zEG)j$=u!!khWajcaZf-D&85?3&c!D_W_<|aAPC4pjSYdyO4j@2b0$t+|4Z(6mS_qv zMi!QD+s@|i&iMeyT@RcQ%Bhlf3^YSTU#$Bl_Hi#ju5sY{``Nn0P5|Q#k!Vs(bhm5n z0bzHDZ8d$Csvv{_)3jB1l1=Kfeel~ZB8|wCgt-%4q0$_+#4l^H2^b=U2R0VwmP_xx%iS%AU+0SFMc0%DJTt0no|0!$^{j*YXw-t=1!V)wOGG9C) zGMY+H8%U8|(%$ZnepLZhY>CyiRPy^ny$|QE@2<;h2tCo%QZ4%= zzxWT`F5`+hoAMr8`&Krz1G(bZ<)D~K=_NOw z2F2SG2b(6E{Gt*gak+Ks6LqB%b?=$5`Xfgh4|?;MzwiXCbxf*&zH$x5wljkXRVSJ# z>yen4Y^+TUAVXQu$4FcfzvyD;r7Eht-Y>w8?^%!td`aaQJzkjzQ6(#_LV+v5VNS+E zTFm*TQ0@>nPOm*g6axH=`a}3`-n~}$9IZjn$W=tr-ZK1Lst_`c4Nft4>6NsKv0CSV z9*Y`#2b5UMP3NHYI$Ir}=`yya^Ok$#waS&t7VGb;b6v5L-Qt-UNZAD+I^?kQiCcm2 z%CXne3$&`W4ZX*!r)gaSpng#{4)|4AdM5ks=jVb;Js4^ND!iA{*Iyc1WWC)oy&8?5 zNNgpHF+w*#N#YZE>6U}v?GXDOh|u2*eC)i+{9MP`#Q|gJHG=+2UW4})5vclks~6uA zIbBFgdE)2?X5yi~Z35&&G6{^00S}6pFiN3sxz9%Uovl)jkK*Mnp*Obygg--XJd`v! zsL~?6WrAK2oN}Cu3cmW%QDhrP^AV-2+H3fOV@jvPy8p&92#<< zM-zjUKP;3ZoXnW<5~`gc-TH`AA*5&Hihlihs+F@Inh zU#<_SzMj`v9oK1Ruy$gEcekFQ5wq_Hkf`zluD)dHj}MXb5sig_dxYWZrsth%{pnI; zRrK!RQkshUzBASsr})Mv|Jsjb{|pW$IR;e(%&zlqJ1JS#uh{YCRcjB$@{Rv!uNX0x z$7=5C%nDE1P%bh!ZVN@%qX2OiZs4pEih-yK_ZreT-%abAYwX%OluT+a<>D-r z@Fm`?0;mrMcoTgkMfTTQ-WPOo?g*9vv#+q?p=tTCuBcPp_Nv-wGoeWpkgo>@z|+vg za&dJWAZ*Vv5jFNb7u$qCZr%*rj;xl2L_WS;{~DXo5HWQ_-)twz2tpqaszc(&~5 zf3~sGapxscqva0%)=KK;CWIe&kK9$$f=~}5?d7i8uZMkR0n^Y75C zFU;kUn)n*Pi~QyEb_ZuCAIBdbVasmi)AYa0^E*IpH6eJ8gG$tNH%I z^@pvB1l9EAb*IxDP!n|bEnpGpOsu?GXZ=)=g!YNGytrf^TGcq_Z%puGpDxYrc z@-@~O4d=<%aOK}J%EW?)kjyzR`Eic}!-E0?t{Vr0F4*!*wJ5}UH7ZqZxh=3jfxQ^f z5|&}{Adl>!CRJwe^m$&zCIDm=p2d5ZJL81VA488$Td$TEN&^(Z|xxx@^f+#nx!~ic2wMhnb$YC<{}yhzcA=JI)Q}dr2C3$ zSFQzk(D&hRPq*Y;5@0soLO186&REF1Hh%b%DM=NNSMl&^@+{SYUO|Lnnvh(t{=oOzS zW{#DU8b5mx@kx7~L%sNvN*{Z($2MI{7I0EmiKahFahG2Zso&rTVesS^sHnne>J29n zzL|JsNA}p2^l2n?tq8i!3QiXn0XSR=%8LM5E(P~0AkjT}7Gy28z4%9pV;|F4!N%%A zQUhJ{C^qVkU|k^6O?9u7)@;GFa=g_@K>&o5mzma_Ku3;1sa9*cqNsjXN3j!Ysdx&m z0!o^fqmXM8Hf@PJAtDQIn9jDE-Sq;I=8SD3fNpqF@0F%=->%SuMtFo|(h4po_66*c z;(YT`)|t^?BKw<^hVLRRebWFN{HgaR>U=rOHkkn9qAlV%ol7Obx)R|6Z|X}Oj}-Hb zL-K<-_O?Fv8)em7c`+QDywl`Utiy8hm`t3*Jn}fveL#52%?agoh~}*zZT%8yBC#0% zgQ9A*LJdTy>{H>|a`AxDtgHxCfoKt*ih`mNpNf3T1n8Txya7_Ari%QhiAW%A@wy@b za)X+Rq968Qd1mZ30m8M~ggl+GY8pYlu>CysH3qyaf5yMBgA-~-58M^`qxS&H?Pz}95M2{b{IOKp}L=0*9 z(V25dVBzqqVVf#F>F3isqz)RxwDRdsKeMDLGrL4jrc=9?Ayu$Q?1fGG@`Q3KCOFLh zFh5OWRPiyPZo7+_%xqa4k5+R1>SL2DaorNiURs4j7VU1nmior9dShh9&G%%{3uXIq zs^vTkNfBs`n@!#xL`9hAewj0)Zezsp%DXn*4Mmy5rf)4yqSoZ?ie<9R{nC&g zdYsFX6RwZB^VUIy$y)~`I7XUf*vwONu_dN&gu*uhOOC8QX2bsowz(1wnQtRNN7hns zH(yaoDDr|1vM(V$=U)G_$o)_n9g3pm_x6Af$X$yRHo1H@&`_bWH^Y7LMiSyfyY!J_ z{*H=76mg;_Xi|=M_<}9R$p%pKo<(qevuLD$C>q;WYl}4p`i&uCmJtExsbs}6DM@J6 z%5;ps?us&@sNX;ar#2ipX%T8N)>LiB;QCdm-jGtWxUumIm8+V)RqQt^f8O;W^-R^w zrN!xx7$aaKged=da&9_t@*Qs2Po+haxv>VLL=c`)4Aga ztp0|e%iPYl|4V3aQ>j>$%myUBpDWZI7lb@NVm%@t;dw|ng8gO;nW-hiDNlAv3Ws16 z>m?;aQ0C;5%pB2LiL8jcW41RlO0 z!IB`D>q|1`?DA||xd>CuZ0&yU%Rk6oS??Y2#+}0#lR%s`R5WNlQ>F#+ z8})-CUyj6ejRk#9_#w~8aZ~-UvHtGoVGU!w-8XNDDmK)$Y3A3}+K|b2*BKVbZ&Z~L z?zhS8WMkp%nhQ$Q!5Y>O^hBp>8yvCa>Y9^DSilj=*58hVplFq~r@YBXb2}c6p}oTJ zGV)GI!8RG>*bL;!K;OJ1Fw}-jraCeNM#d}M*?E2&DBey$A#)XV)+DmXxmGL()*@;{ zn0MMFxFPi^?6YGP6)K!E$K!p&PCr}~^DI)zUJz;MiXXdSM_H%~tc46F^CWaY+^bJ} z+9gZ%s~#p990g1LaNtWAd0X)K;$Z6(C0X85+;fr~GD3rGtS$y8Xgeve?nPbMxb$*`9(wte-Bo70% zTls*q+c!8;Cn!A^jAxH1??30n+QfL@a}e8CAD_Lu=a$a<+;WUa3@$cI8GI-%HB>Aj z-34l>fSZq_K#zBYH%NjBgSjWM&R=31s%3|Upx^F1m-2QDfg}BHjRS+2T%Tr7ETR)f zo+7P{ZT!ILc8_T?v%tphi`C2@I&A3qdt7two2#(5=b_|qLK{b_BD05%8*8wlCq-e8 zV&M{wh0Lo*`%ic+^Na$?6@A{<1t+RuEHTXxrsRxptJAnJ3aBZU+eb zborilc#bK}^Vn$}7XI`h37zpW09NKrFm%=K8gIN0k!ekP>IgxTWx+4=8E`0+rC0a? zHdUc=rFx1A^^!?p>N>H<8k4;_rGEo*XQHUNy88Y{N3hDhZH6Vc()9gVrZaEG*`s(% zl(O~OP2B2drXQMKL)U`DY8;FGQz2eMUD8W|_#mqRZbEww!K6u=Nc~j1o22EmHvnVn z)ts$e7;0ep?2r|bKMX%AX+I1TxcZBg>Cv}Wd21AHp^aLVJ|W@!4^jRP38uWuVo@Ef zMQd;4moI~MX~3yp6pEajud6iajWYd*a%a4Od>Qj+K~~1WMI)G=#6ABl8fSYFQI@?Q z8~N{E_;)|QDmnWk5G`Q=d3M<39wP5j?X8@hLdg0WB&WSeE*G%V6auYt8e8nDWmIR8 z+~KB-N zzTG24mTWwsXx2Z>z~z&^5KY2jES~R2L(H)L=VK>DWPH|Vmh-4Bi$(v3qv`8|1-)9- zLUJQ39})4WhHS!rw|Su#j6ghkUUP<_bpvZQrC7hl$#!5Y1r9c^mt)SeQlj8ucA~LL zypctM(VZx*!Ohe`(ln@S*nH%j?mXDRk$4C_U$JVEFRPFfw$wo!;~ zQRDzr@4~`7-Uu*6PHwYO~MMc-Pp~P!oCg)JavENFSxB7^%_Bg*l7( z;g7H;lKmEyQAlwj>rNgXhceT-%@uQhJ?|vOWI7@VgLmYZq9#nLk!V@>UoT%SrPYx-)hhS6@IO z#4!PETB>T{erM?^l*6=Pux$_BJVxzl8Uj}*>WN1som_x`6G!DJ6Y&)IvL6o}P}ZsZ zSd}m1I218t@HA_8NBYS2|DIBxcU4)mZF6JDSOnIz?Nnhgof*tK#1Y(O*ftr?broNf zJGbrVW5}>wZ@G_LlSQOXFgFF)2dvLAcEN4H7MO^6`p=8cwOJoBv=DbbBWfz1h5r@T z>-*T5M3z89YCT4gkR~{ZBFNapECGVJLn!_qNml{Y#`ASci@Up1+=>@Xai_&0xJ!`Y zPD-K0p}4yjcXxLQ?(SBCTRwjO@0{%2J8vdAdro#|X5Y+vH-3;Nmfl`d+6x~GPpG$W4D zME3<#pqF#RrMfIy1~9~`n5~;IeW-iS*ZfZ1Ax~gyVQ*B(g6CodM(|ooz7=9y^6H)N zAng!7?9m=4)6SJ(1Pgo8e8p71xrrL9yh4_p^+|{{?Nj#RD4fC`3=wvoi)Df)NwCO> z#QQ1CczdxR;i1klb$slI<|`Qj#Ob~5zlY{D7@V)GCX_UEE4`FPKNb+tKKvVRKhU&$p`l=UzKwDbg(`CE1r-InBHjc ztk8qv>=oD%xH5j>J@X3mw>`dyeE$6>PsW!y@L2YlL;K4|kG0D%AJ*1*39U!F@8;_x z4h7a?8^g*9s%hYnj)LNGz@D5Py*}C7stmkR=yLHheIuXl1NGg6!R}$8e!`@Kd$maPWf`aM2;jCKCl(eO60>_?VSq5 zZSbGYWCE0&`b+DoTj;qk6{r*6o_8lq1#_EYMU;XXyuWK)kr%B=s-|4@ytmQc)p|zN zjM5Vz!xi!*MFh}Ai3MWHhs zh$HJ{XjY@bL^p%0^0W3Hf1+2UlevBZ*VZh7^Nl%}lKtg9qza zX_lDFhn6jQDtkkam71lMcxEA))H;=pfJg~#qnkzodRddMgv2tO$Ck* zhk_hKzTZ`*NJoi1RWq8r;G?N61%d^0a_S*(F+&(94}jS&-WfjbX+kI_F99i;^wf@A zP%B0sN6_Iil)Q3LKW4!JM?6MXfu-edspFCImkLQ zM87fj{!dZ!b1B%=~SqMJ#u5D2*PWo4i*JgxE{&tXvhqa>1os z)-FpoPoe4D)^Kd3iSJRD>9$Ns;;za3%i<}RKgh+ z<;g@=pDNsPsxA;vv9)ITea*vWE9KeOot;#`f9tg#B=ZP$ZcX#>{UmLIOYRFzN!@y9 z9o3Hxjp93!xdr?Rrm2`SW+&7yx|>rr*yOIj}^Jg))g15q5O0UDbsfe$|2Y7M~(^|82w0h zg`Lbu)ol3&(yz_V??-W05V$83pgQv=1J-v$Bbsa{JUjU>znn*9Twc_?%=4Q4OWJCt zeLK`%>;6N}uOEGq+PNO<-;2bQEk=k$j(E;+dFN?d=9^v1l$^^$uUc_`gm{&`rFI!n z_!=LI!gDJPt6(yeL$ulv?k7>dNwvz`V1+ZZrZkw#Jb2Z3^dZr0A$=+09!jgIql#x= zcP)6)Yd%n3sEr(;%jLL$$DnshiWd?S07wo`K`N|8N-}&sT2Q!eg8fYWact^U{U6)TrW>($7ct)t9RYquJ zPKe;i4~#c*Q!C zBuDA?L#Dww7h&qokd>GCUa6Xjy&4=(1Mfkp60|vyM^4iOW%`PIF2aKSQ@BQf0Z91| zgQh92)HK(RU*Yog+nkgS-QN^zCv!Kvj1X78>4za;kn!9c*L3+%3xhZ513S%qMSe#p z>RUkPPe<8Q?4K8sc0rqD*p9KFrtlj^?k2~AI*qi(*FtO7zGS}AL0)=zkH6gv%T_#) zh7fGLvq)q<<#e&)iUuhOAs*p z>if2=&&a?Kh3$)m?f6%YE4NubkvLAyTEhF&LfHL#53O>P8=g4iJGJ;t!!X=cMb()s zcI0lW5zHXxE8+f+c)){YxCBd93FIgud7Vf>#oEAiN~$9!or|3V5j&(!13Z%Sj- ztUE|YgezKP!8BS(fEGn!OLj$T@3BuHH$aO5Mq|t4w5DxSeFl|5fsD@6(_10mt%M4g zq_8&;I$X7no2Fw`$oWmeAkDFGwEbs}GI-g_fI#o}fB4gA7wq<;RLmQ}*T zP3Nt-hlDWbjN$?Dc)FLvrsSVKg1{1KW(<0)@Yzov()-oRH{hw$qDkAf3xR7~8P{dS z!?~XlMm9)z=9Wd?t&w#OZxpEtvq2}dQ*7odbmm1i(t-l17E~cU>$~<08yTyj?E9$XHdBnPUQm*^W(AzwS?|p7o)LpQ;w4%X zQii5jwEwaYEJ35S)XhSi5`MG;r4$Yr=6$kks5eosqw*yL%hPePt#F+YMW&ho6JO-= zG?Z#`O}N~#0z^QVvBTKAF)uK=g;H9w}m)Rynd8`^ ze##A6qt?)sgs}E=G#X+`)R^$BnrZ`6i~~hXwRO$7*3xlsTbG4+h?jyuSEMIB#;&rH z$`&bn^He{N9PA@+R6eCrP}Tj_liWXR6h|R#N0#Av_lo{N3fjY#JA8R2Ed_$lC5 z1|4Oq;N;YG*3WxNDB6MKr3B{xjtNN!5T!9I@j(XpExk!i7_zK+_7Zv2mkj*LX}G-Y z-zS9j{zVrUMl2`mvZr>H%Zm(3Jg6CCfB>yZRf;{M*Tv@q@O~QUF=bfmO6Troejc|_ z#4&2XY0-O34t?(u{3Z^~q(zWI5ww|9=%tkYAE40db4?p^Vgt|&f~{9U%JotU=)gq7<`{P zIbQ_n?Y#JEvE)2n+RveaTITNLJdvuwIxK0#mE4RWV-8l#1eK@hxQfHdc@lA!?_Fa5 zR9?KT=NrEz+XUwKzqW^_))tl9%Z=Yfih?r2EQ4P~&(q!DVu!&uy1FmvZU_uIiU(z_ zZY>3NQ~SMwCt^yV1qq?IP!iN52v?G_%DsFo|f0S zWnJkSF4DD{+W~H!VUIGu>Qj@Ws8zocY=VBwgKN4IC4!qNw=>5*D%}NRU1&Wmbg_j@ zoh&j_2iym51yer}wS%6_#4TFQA0$V`H@I}_A_$L28K3he9n7n^e=JQPn{2PUt)-jX zT=lg-i?;Z{>up96W$~T=)qx_|B6{?8b6vM+MfKv+itx3{VX$V-Td!&ibA<1P!m~ke?}F(LDJXu#1r>gOm%LDGx``PDSE1P7Mb!k5&fESH zBE{XLAo%W1?jzcCF+6gJlwe?K8eMXr1%17$Tc0R?NX~8P97VTUen}T!&BvxNl!};w zA7=QZdPY`>%ouIC5%)D_ih(*(S0`SIW*J{-3;(V0qp4&|;=cuCC97nE@t4OBJL}0J z25L~_^g;0-gx~HG*6)aSd54(8B)%aMKA$WWf9qIbBQ010{HB>Y z+Cnjw6tX?hbA{Ya^)064itH>CSEd(PvJKGJsx=S{%&fth;y|1w?2Lg=R?Px5n%($H zov2o(2464>gA;kG=elv#TS<*E5|!~4gXiD*DAlBHA}4aq)GwxP)|Yr_Uk>LVp|VxW zxx~7%&J*|&fQFC`_$|Nman7j0TPGFxIYlfe=}8{@SQ^%E$TaPS{eNN0{S_0czQkB@p6e4N9ykm z@_c~-;qpAhv;CI7(a5N0#*x0}Lg0Du&CB87y;-!51R7PKZ_36(-tdOtGaqL0GUu+^o@;K{+-~ea&x{=;57HmE*2AayXj<|2lKYa@ICPb8BpqV@d zX<{R~)2mKud>0J$wnXX&s!pC#H}Tz!VG7k1W-f^7kE-$lI8xri0=yTwSrsto&o}IA3^)00AnuVJ^k`jNbV2YSm{6=Hc;MhuJ{H& z?=tbH9E?bQLL~>uyhwz~m8pBvZX}AzTydPhMkKNw?S%GjVyyG~tK}X4U z@FA6aZ#|nikgaR;)lBYP+%kk1w`=T{_cwf1zUU1PT$xSu^J!PnJ;M(XC4@xR4Z_VP zc^;f}$FFn>@HfI!A+cY~kw{fp|11T_%%a}A=Ht}A52dh?D*qB3#ha^@ttb0m<#Nnh zCHbiwoh^cjYkp?^`vYOMNnpTZhIL(ez*ok}^aq2%bXIM*}byZF9=DHg@Sdpp~v=3f~$gnjc#U zZzlg|PzxPntPmwGf%sW0MP)Z(8Y31~ki{lr8oz~3sasHVAu73OOR{{)ADn^{8Msz~ z)_(Am^{xW(kGkcgQi$sl{awPTJCU$=hyT!$eP37>5qW~lV61$9^OtVuT!QWxdEc$u zMS7KL9>c@n6^eh+MFtEXvCFol;!P6#gBO)jN#*?1?frgXNTBH;pnR1 zEN#=)WEiL>Zo*zJkZ+BD!tOfp7OiZP&{11vY?ToYsu_GG|Dbcw%w#pkb`vOF-o5`A zSem?ff$$cA+B!4l0q3D4>I(PuKe!078lC0X%#*KW{nMg4UXiUKAVk&jvt{kj_Yg6* zb^2inLqjD8nnQLeFV06(t}w;)`PW3S12ygc5NCARe?dAAf!S5e^#iM#^~G9O4*s$a zs%Msj&sR9T7Rb7K*U@?19sc)b;WJSL{R@>hGgj-H`AY`nn|Z1@c-jYx17XqUEz<1W zxX)Dj%{zOaY$w2QL)Z!2%qMA}cmEB%WXOI-rB48g=;7imqF^zA-Y#wA8WH+O3G6aM zX4eJ3;dKq?qnvpIhoFPFk#G%X;Z3XSek5BGneZ+n zH>sz(r2@Mz*O`_#XeYfe;aonw?D^E&~IOH~4 z%u|T5qHD=Qys;4C?zpP)DR^qS>Btyl)Y4%d_<=!}zsWXs{2i8Z4N124U-6=C%bz4A z8azmBQrwnjGMae;B|}L!E7Ug^!Pe#}mqX;ADAd>f{ELBh2`brK7PWQF`MW+7{z!ZI z)?P+f*~k8l>XRsxrLxyU(M6@Q`25{seHrxeA6Yzp06>iT{v-e^q(UwFt3W560)_y#|O5b ziUD)_7&14qsac+iwR6U(g`wH5wS2~Kg}VLhiwHTT zM5I81P+|t22ddT~^;e8z1{MU`7)JfTU>K*Po}7v&9i)JJLR6oO`Uwdvu|oJlEFsGJ z4nfkI0RKmtTp@g!%GBW&_OTV5r&!RV?mIE`oOTd@aPB&1c(*>>C9%Sb2;$G*YU5_q zrp2lV0^3mmDw2^b$f2T`#J?@^-P1IvqEW z40lAI-PmJ|%Jj)MqkE++3$>Llvows$CP7j|aLxK{9y(eexz3bu1Pj{@!%GxYm5?FxF*8iYZWr_`>K zara&*bCd=ZMRZ+({T9>Z<6^b6%%F%NiCZMy;Pt7}WSVz(!-_kkVSfj9gq~d5uP|vbOQ8 zmd&2W;>ZQCm5`g7)%du2m6UrgqG-(ln3!7FWpFK!I5=$bt99BnPVH|J zTe}#1Ab#pg1|Pdx!@Fe{7K0R83K2lJ>(=CgZI)W>Xwd@4kewIhZ@_ArI)0a)&Pqnx z=gvwRoAb-Xc_d24*`UD_O5T|{(M_EG8*pz~Q9F@A{p*I%C2T$b=5q2y{bk*QbFhhs zuEgo<>CC%KBVxr#096L3^c|p67VI!?6795mc`5^4_LX8qS*DWFIN(*TGtE9Zz&kp& zI_xqlu)Peq<xh zlD)$jVzkQ>F~8ux1%`K2S$Uc?6rE1mi}1R=I>e*@%oS!L)>#&~E%7hc#T@ULcqe>f zYg#8@d=Skn+;FSvfXN5r8b`d90g7Woxv&84M44i(YiY=oDR+|#6dL+Ei#AgAfPB}R zPH8r+>F0^z`Qk-o4ffgXG~(J&uQ@(x75>VU5%Vw0_Q^GDYb7bV7&8Wz_4`ZOo41a2 zZw=-}?@HK)tC<4);?W*~&U7>TQc^JJY5k#%+aGBhm$dRDXRnLddG^U=7#HUh#dvx( z3CVzn#Z7Bb&PEPSY>z^PaJZqkU_k2c4Ex76P$SvRsLeu-Sn!Q1+rCyY(MM^@+@ip^ z>bJz94^`Y|G7?7_1K+%TSkjq41zRUNjdj@-XLY_i?kv`K<#2g4Fsz;bGw@U(DslxF zf7$Tke|mT@q&49e34Xow?tJf1|C!JbP!7P#ZIMpB6sk0`x}gi!M(2GzBp)YrRmzfH z__`};jyWggRV<35V1fuQN_ME5+*`U);q7{!#`9dTnrnx?u#ln>(?a3LVSY$}!1}E( zGdpE_Q~m_QKtS*N<+Ifp`}0PP%`8oYY96UaV(kY)7*Sb!en*-4ZL5x4gOtq#wW0N+t&lGI5QHW6&?x(Jt9kdg)j61SQjY+4kh#c zT@Jq=AD{H|Y+b&DZx5W=H^AGmE;FWYC2GfVz7O4r>kx}b`C_JPm@seh$ktNJtsUca zJ$?axO@mHukmmSLL*U4X0^}Vq%%Y1C&1Bu~=`&i&voUAujFo{aZ8rAL&TN2> zbb0$;euK1|ZZ{j1;hu!gj3s@%oQi{`ZLQU)FCOKoCoUMG(RnWM?S3!TddYfkdAk?# zmTpTiDxa^G68NBp$L;ix&(4p><0oo~DII;qOtY=-R*u&f+N7R`hDQeng%GIFqY%`D z@9p~kDP6iA9%LTPVu~E3s69sLd=54Q=S`OU3cOBPk&V{KBKlT)C`N9<(BUy{=j$&$ z#j4fE_uPy>$MUx&q`Ho>W8sAvqB&U}>@=$-;wOvY1}|!B<|90T2DZ}~IG6z(B3{RzQVrG4VzNV7Do*Oq@mUcKBo+0~5+Q;CRBU%f* zda>4-PL&ag_S{*f8%m2nm`L_>`t!lS!_&tL`_5e$;}!47*4(fi##zlPzvzn03G1g8 z(|IX^@b$%PRwmTiiKL3ONx&ouFgW<;-s6pBnxVX(SH2;lHx z^5pP@tS0(z%Z$|W4w%#;ilk*1aP$QR>pZ@NraXCd${j#MUR~JBXBJjo-C%janY@$x zt%15lPsYnn>GZH!@lrTo(jUt}6W&tm45@`_;h@Q^*0+hvLW0^&XF;ia&b*(5!pL`EA{DSs z|6JBX_6-0#*<^XKLk=Uk3uAz{1trckenbsw*6*-=5-~i#;b6{wQ+-*%hl|>P%oA0k zeZS?T^Zx6w?2C;)+9!e9UtqAmK;{zcp!^Ta+THgxK9~jG&oOsWd4S-$;}I%&^Po;S zMlhM~RFDUKa3LWbpDfQgm`_BxR2Zy)Rhao-*jF4Y6dVexU1uJEtM53BRkco5?tvF= z7j1#m=!|gE@FY_BSWKDG$dsQ%-m?_+z~`w%efdH9w(6c@Q&7;#rl>r+YHPXNoj;Qw zC@iegP?|yDV3Q;)ywY9sxG@O?C96&?KRp>Nz#cnJiWXWf>N9W3ptUL&=+GJUD73TH z&Q$e?J38RD1fTjE^6wpYkyCUyjpKw!lct%ktYLK0|{MHr7*R2KU03`8nltm^bv{9HN(<2M>(Ua2T=AJQ7b_CJQQ%5N*) z9ApN_HH!$2#?b3sMTLV|IRNu&5SU;UtZCHkDd1m{-X!cfJ(iAXQuS(#`h@D>Zj5Kj zk<+^6WH_BFy3=#k{DpH4dNt-Hwq6v+Ar@-goWZ*g#`x}agCVw=&rfFd8YT8Qe*os< zZo^LW)XtREHFR;=cR>eBzghR?y;)VN@Sn+QxR`msvmKA$PSAfHo-Ba2>6{x`JrM*2 z_cx-InIXR{JkV{EbilkhT>g}>WpGSv&GBZXV|zR}i4AW#iFq}>i3Naf9-_mnFkPu; z<2%~O6gtPedhgMu(_lhe^Iv^ZIoA%)r7Qb78Q7&9`geR^FaIU6j&`;u&DcCL4?BXJ zKc9iMCr1~?@02E6E8WKL6xv<^d2usqMPAh^E~#L#148AinAqEgU8-~jF_2sV!9LQo zV<058(PXJt?bT`|;bBNa@9sfHHnC^k=Z=EoW9lDIM|t^Ljzl?%SiK;9?JL+g40iSm zizpagyp7Z;m9Y($$xogTqPkW5|xOPDz_ftq`I6+~Gcizg@Du>cSK(mlJ<~F7~>yFEq8J?c!B* zqJKQz?E_M0@;*hFHbct1w23uprPhS##ol4=l?KAtOODvb012S9%HJK2AUl`DuiIeD zKhEIrtFJ2>>l(4C$B?Ag+1dS-8>{mlS1Sl=V!7$N8(7y5oqr4e-6Rb$X2H~B;kNbQ z!EAS?2Sqj!h}X?clNLbRJn6Oi7y4f*@npjoxASX6gKC&93Vclq{eqykKX{o$?E2z> z?4ns;+48hW|J2R2fx)nWAjadxDg621zQB85t)xx#>&6gj>BrD#GFFMmUpMrfb4$LN zuk8npFfM;a!{$zO-P^1=<$>4q+pHsj^0@|%j{xA!AYZ3OnJ-K6>#Kt*lx{mK`Vq0R zDJ|*3+F$=8=8~civk#|$9!&Lh(Ebia)*>vjo^p~fdZ6O0pAYcQ)2?9deCBWR?t%1% zr;ZpYn6I7sgJMoejG`YDIZg#`1b#pHR=>U&Ux-6na^y3K6syuM+VsJX3jvmi(&J@? zxJ$W(&MCdt|9r3DOn657eJ7XB^?s$^7EL;upoFI`EP=znZbN2!ZD96%luXtbKDIFPch$X~LsuoBcGa{p1eBNMmbcqxY$S61T6>Me` zy;A|oueZc~bS`AWo(zJ$<_mx;>34rUI{(?&d*#`1vYg~fr9qG~r;2^@+KdxdCL>5Tx{@Xq^WwRK-0Sdq+@-i~j@ zgET3T$D4l~^8wxc+HNDg<=)HL#p+!N#8u{L{|YRe2Ya@K%sRjz&6fZl?tcISB^+nn z7IN7K(G-~L%k`d_s!&amdmZ&dk+_;HNCaYNYnAjgT%P0~E8Le+QM-XMxIy|dY0$9_Rd~MZMqBZ0P8_N3i0>cKv56$AoEtBnnIU!Q z6EL73!Fj%#fZ4r1-euOc7q%;3Dc&_G(aRn`XW+BG)Xd=)&;!`dy`u>qF1H`{`psyA z3&AuT)khomPkE>Gu-ZMh6vO7b-HY&ged-whX8*^#uMmGdo}u85w2;E{<{8{)K%?y= zNg~_m#ztMcGCcvSpXZwf<|BKOouj%P@T;zadM6lgfA_a@!w8~{1fESjdMNaeXTEF1 z0H?{bw|TO0NJScWTE#P6EI8+zm%;8}7R`I%C6(5L)BTOS7`KW$8|u7w4@X$S9Eqco z@h?s_IuODzNYBCtKPJF|{i7Z>5`$s-!M6Nvr(ZQ^R`a$t(Tswee_T_z!7=2lU)cAM zvr}Vvdc}|Fgn2afRWX6qjicb1*bt!%9MeVso_dv4LP%$1hqG+zEL3C620CK=}m#-M%`%Dt1Xy1~ucj(DgNoHF3n ztE`2qJ45rzk?K}YqSwhu!I}-jaN6q)kIb{((m?X@Kpx-N9Wy`CPh9d=Yt@M6TXlB* zx?W7-mU%j$`53prGC;W52OS^&KW@f>I*j}gZWbwJNMsXHwK!!0`rsyCe+06T!LGe- zf-Zwz+lR>S9#t00z} zz3#PYO{h)2uf(7!N;9*2yi=Yto2Hjb0Fr-ZKQPk@b5y)Z@;hg>=jiBWXMmB_^!I;> z0@+WPt3GU#SCscuo8TV+W9dY!P1w6vyiL5#XzC~A*XT_c@iSKwdLJoh3!2i=`N!36qwFb4goSK)h)PdlYs&aM-qZ@_AVoRpX5%d+~d3Af32 zd>7$6WV1qY5yicGEf?vMO%$0t=sPx5@7YwN5u^8Kdz8yabL1{ z0<;A}4oq*SDG(A^B>e+N=;TjmR}2g;@uzoTSJoR`lD6Z4|F~_--e~Nmgo&ufSP^wl zp8Kr-I)GL@tIQ|d{XW4;nuJh){ZK@wO!b<%o&}hAlq>?c{s-HSbbjE&ZY+);X^7fL zYm7@@UeQ;59;tOEsbAlh@n%?D657FI1&$ujd4BSI?}<)@vLrVoBf*bb6Z0o>yL{1l zJym%hvUT-f?oa<;J?D?IcQx;aP^npe*pZq;sM8Rac!vtbwcvGe%%%Sj{71OV`~MI~ zYN5Xo9_lo>CG;W7FZ>^Bbf3vr;m`M>$$FQ>hQonunyZ)szbE%_61@(Cz2pRA73{233n6Ek1Po2&?a_8ua-)LVK#MD)e~16bM!T|3afJU|7*)i&FOZacAu zJy37>!h)4XZy5IezaP-1yO_JI{0(M*25lLkf#2o54PqA8r3PF*S?}z+XNcR$+Ntsy z+pLhs2xC#+qrnRyv>+I=RslD016biJaJ(Fl8Z3Q+06+UHPT#MtH508&$RA)63B8xB zm!A8uh#R@?*%{n)ENG>E@*siBA;(uF!oPZ| z_wDsjG{S%BjcB7Kg)I8f1_NV`{S;3}D4&aqhgDVM;u5K3B2A0f%MB#&(qui*ts>v3S_EClCfMr=-S~p}W0uP#`DS3_STBooXN%|0=?m6O?1C)p5>ly9 zE2*QCr6{|J2~=>xpDZFbF;2A%BEfW`5|JLNZh03B?;SmVV9~2QL9FY)r|>1j8#R=o zJJN*j-V3TIMUDTFwEqb48}a#%5WW#T)l_kIWuD?yNTT0#&;T96pDE$VnTV{K+5pb4 zlxU}-^xDvn#stqkANiSx-`~S1ZjpzN{HQ7a?ML&PJr{#$ay(o;`&K?Hd~Uxe4x+-B zbCh7&x=zePL5!3pDDqIyaPs!)V=*L#;$IFVe^~Z5p#gbCM>^Vo1S2O9w>GGs-^eUt zz)Am8N%}yu&%|3CO~#N36{j?&Lkx_IaJi^_4`^0W+TLG6P)X5W)l)&$FV`7Y06fIE zcF~SD4NhK5`Mq`|C*i1Aes4c^bGp-E&wkQhd2?aq(`uTfc95}8~=r8iG@qU~!cNHb6@9c{bk~!pFaFQ_ClrsW9agf8hj^4k$pegc$K^zqhA0<$6?@mhV-7Jzdb?QzM+Wdk zOBlM^$4|PG{`Ty1&jl+?R*wdg^dij7-;8>atj1>=$@?;;8`Q0yr9>35v~(Z z5@G0~*KV8M0-x;~*X{R4M?Ql*-OX7cVGF9);tMXJ$|vRMsp5(1)Z{b~VfH1tDY-1y z7GjmNJ6R+W6|)=BlmW_VK+w`}$=!68PX?QmdCtR*-hXANH79G&})W03q>`80iYW3;|J z?#;SJT2@Q$CjM1jp`aBAmZ^O$KCI45=Pe4WV~vnqu+mkG2g|^kwT>I>=kti`g-T`P z4Sy{rv?)BXxZpo)JB*o8sd(XPHU!3IvnB8&fnWX%Cl0aofW6tJ!(I|T3mvL>leKD zl1I(KSGpw|wnfsJydw^f5>3WP3D~NjMTyshoPwcEEQaH!JL3BGMmWc&6V*7Vi9sg! zU2T$sH(@oann3arZKIw2f@o!LXVu_F00|0X5DZ?eJnf;mxo7caD0-h|jwds+y8$It zXKrco1FpTwS-YVCPgtGAroa2AuxCjRyv$T7;^hQO)+2oDf6+J{ zt!bBv0S{dmBbF5|@hiwgi?=*z`%jd49IyOodaO^Qd0m?A^0-ys0nZC%rL}Wmsug&7 z;BtQS+8tn|DJACB;D@>*C;fOYo{hmWJMuVT(b82}6QR$2ys2zBecRmnIr~JIH^)}ANbFLsmX2rn{fkj- zd|mcK6I|ZI=#D_$XHLs*FRl}`x^3aKeenm*Q-?`hLXf}X~82dAME`7cbO9D)XuDC z6$J@XF9Zo~pJ*D0_~QaoBakN~l?xHS)=wP^%t@3QW&X0{IAe(Cci-FJv^#kd?D$d5 z>VZIHed25r&l+PDY8@_HSD-L!pVMXWUORMV0d+Oo);Yhok#sz-7#m2o11}`e0JL6P zG4s{qp*8>IWcmUxR}3qmLQiCIRwNLu)!dECm39RZZqH(V4(>%9@=upp!)xn@2i?+P z&@cnLdLSWdOFsB3%#Y?-a+<6PB?N*CVe3p)Gb%u<5}l>BbDY*M8NY7D|7sdNNz}ba zYq8JFhbHb1Q((vHKRIdQk-n5~i?~Q!_i{UV>(YOc_F=ZHZ5NNP7ngHKT{X+mz#tS7 z7K{V~{*k)&Jt)wWr<9P^3rLqb`&oJbpQQb5JbG{)P?meOS32vnq*%9sY29)#^;@> zm*tkdEb6)3)&+#q1$~b!6j6>xtIosW`rJNSkj7>6RQ>j|t~~~-AQ901j8bV)`d%5W zU(HBUuLvlAbwL>9B*CbEc#ZSwy49(2m`)_L^vChrnS$bMFJ^VkOy8$Q>w3M2@Riv5 zeROYQ;rT6sW!uGMy)oDOTI+EU9t(Wo64B~^z_a|DiPt5Qx3Q>wfF_ve5xutzi)<4` zFK5n7i?;DK!9-75S1&yuaCy}=sRyo*JPr4)I?hu<7ZuHgKr>>zlI-eOB*&g36_<5Y0 zp%J(F$USB9{k=z6rWalO$67{b_f+XsU%Xub=8S~P4eDbXMe14j-^g|eUxb8XSjM?o zFAS|2O5b#^AZ(gm;9vO~buVIZQxr@Cs&#(3hoX&LLIFl78GSZy=aR0<`S7Lc4BIB_?e?vbH>cp0 zJi$YLxbKX#n2Hl8adG&@aIl3+v`+C^+NbWs0?2U;9WOKp{P!{mxl{HY)bAzMyRAD7 zm|>r?v75*s*QHm`XZoJfr72YI143}XZW_Edw~;Cp9r)2ITrV`-^2@}(`d`%WB`2BG zt8$Og&vwsJm6HdR0FWC{AW8?=khOXoVxdaARjFgekNogudO%a?Y`-)p|I6q^9?2Ra z`&uwLrNi3;T}e=_vhyvtQ(OY%n6d8sqz=sJ;NN=p$=$*_9&#uo#>_Iiy7q8ZmG>C7 zYp5zKt#?@X2ei=tpg>gQVUS+ncGj);Tl#35EeBLLnThQ;NBwx5|7$(Z54SO4q?jj{ zosr%3gQ!hTqkUH0So1+*aoi#W@{tU9M#5t(j?l}opvH8JeF>ANyKN`5HCJs+dd>sQ z_ub9&S-@cKV>b-Fiss-~F?yWVJ-idg+E{JRdPJ^p|C1_X`AU_049srU@*G$wtBwW# zZt@`LUC~`M!fSlS$B!95@Xil0>%^AOh(#%dE33h>TCNR=pVy6-_75%G(^mj?H>rL< zy`Ik(PGuwbM7bmB27GMXU49BukC9OP4QFIzD982bQ}Na+((BdDaKNx~^Byf*LEq@$ zeFVCAMH5W>+_!#a{{vR$%{cHNJGe11r~)75whPrKeW$xVvXKwVMPmoua*@M7fAE_&*2XXuX>Q10+X6W0rTqAJZIfiBTXdq?ltIg3s*DM}a zT0im($pthyAXh)Qs*bH?N5=)->*-CiIDZ~g_roE%GdI$U);@E{Dx1bKNZkGNTsG7& zRGhILS2Fz(o$D@A!0G1|@wH{*Hy3Es?|B68TlfjoYaG0eAaKnk=igUMe;!1}FYT3G z9|K}&`IW5Q30_+fDhOhOw<>Y@jI1@v&>d>04tcl=l@p3J160hk>5tpSi03U3D{*(! z=xtjSX5Gt+4}hu%7*oRsrBWGd#gp}^dN2n+xD{Is2R8fKx$Gi6;mC=C@Rd{Eij-ve>T^M5_ zg6Ge-aS%r8T7B-mY=09KAGd>O^r~2v)xdn1)+wG2Xv(GB57n`!X*SG*>w@RpV06hT z(BU5=I*>#q#9cGIo<7mXDUgKqd>KQcNc`wJvt}iPp!6KqZy~bD=@4tRiR1Q9)jEB$ z@`kPA^>F)nxB)Gjdnlz7bbs+q+Kz8tMuF8q?>GHJ^ zZkhFw?sQ^pE&)oeg9=?cb@rL}ORKfdicV>hAF>j`p~hr}L)ulj`;2e-bA3bF%`$UZ zpukD50&;MYFTyZXylP6pkY1=o*G4Mac6wwmdT({67dHAG`!PqNPco!8AGr|cBpt(s$T zz%Z4%4aF(>_1tkUl;bt4aHrrcb0_|cYG%`Y9kQcUy`W<=&l}>MSv8W;F8fpl@6Ex* z95B(o@G;%ewWGj~f7}`OAWIMLP^n1>j*-{N`-rKk=yRtV;i6W${3B`v{vxiY{w%bt zc+!hi^kG{0p)a&dQNX5wl0ZnjQ0kwn_Ptqu3n?h^B%gH5twt(3D$1K4YcsBvBR&8R3Mfyz^+ve>LmHE+|D? zNUeSo<*M}|tF@j+>BQ~Z{T%|#Webp$ zcmvOei#85RZ#&w*ij)lDxq!3eT8)Z4gf4jc<3#_t=ZSEId!(A12`kqem(U)R&^7|0 z3!SF*TuI33YMJR8R_k$VL`)8?4DAH%^Z5dtb7Avys9xo-60wW(Rl6fpUkT z5_UJ*hKc+}&N-I+Mxli;(YpDMqm_I|;}i7^qS9}K**io2;$H>d(aTyr!pn>~YT_j8_l z1AHtgrzX;_`JZYT+T$L|ylhn}FMGU#aSSgvbdVO@5)3&vtbk1>ty#6z*q^aYW13Y=p~0u}PtIqjn^X9qWY?*o2@d z;pHe&jYrkM5mDPV?EAbtt#sZfQpTT;9{Lt|2N=^?An8{S#&JO2z|v=I zB6EQ674dj&hgxKMk}Zi@eBeCwD>EyP zJT_vq_1Bnv^Kf}(6rVYzd01q|J4-}p1QO@%m`(~g6o|gGB}{Bt@v>O_m1j@2WdLAM z#62E2JvdNrbtDGy3XS$5bKsdZqUYV}jBuyLt4}U2iW#mB4?Nn|{-9qbH~wP?HwHQQ z;ATcMWywa7s2@wtydh4$Ql$K$tC+HArPq(%u%2M^or9BR%sWjoJuJ#4C`cg-p|Nc zH0>J3pP;Z57jUK(c zVa;!&-YyxMM$nCNx2>}|pelrYX~S^X)?E5Rf$gAjS0lTd|Kw(C z-IvO#8kc_m4Zy7u$_C(83vJpgzf0-Xnn-I_dCWhOOYx0Ha8%hJqV?4Zy-@crOMXjk zBW!5YkJZ98EcCRl2Bq<036>0M+XH$wD?i9qQ?UrKyNl{YMsyFT-!zO1fo!1}!8H;i z&Z+?wz^6inU@7b$*m^o{vL#K;YG=@Us>w8-3Jam??>{xd;H5VJL9k!7rl0k;e@K9yo-Q#X|(3;Ep4tR zQx)yFyvBttYf9g;jBiToR7T07J-}DFM5wy`i+~wN953zbAL@tjN+$~`jyTLU>StA~ z-Qq!Ab39GkX(4)O-jz*%=Xbnmi?Z0r3y7)pI zL01*fgT<$6?pun0LuXLw8GTSAdtLukCc&P>YMj<`UG#Z4V;2Ssqg@4M0>}~e`DuQH-^*ChD0Vnx5O>U2vyIsyXNbczdXT$E}L)!K0v#8Xj=J= z#fUB@k?Mb{xhPaI_(h2wQ2XD)*f1?=XJyqMl=n?WIC%dOqq6t#(7QeOls(79{!Jc6aViX&UG^46sk!R9DNYn*Z zQxGlDh#1xy^=|P~{(<+%&yW-WWQ}(Y@e=&X#}@jQI^?uz$#NG=9DS01xF(sOuw~`% zBDeDpC1sv}QfRBwQ_9~k9UscyO;Il6#t@=p0e+ZFbO87A^ppgHJv!T3id}z-EGYv2 zl~u3FT=A!{DjV!?0e*ltQUL0RcJ#8BQm9;Nyxk*M$oSwp?sBl6Rmys+?B6a?IM_Pkhk&y?3=PFvE5l}gvGJ-Q%S9tt z-o86^UFo~4_J*30ckqIm{Pru6?u#$!uX__wQ+9mIPbv`Bs_GBPaCh$$GP!7dl|wIt z5+9ZC8am6U-IwY30D3N}BXqSwGLK6xnTL6_p8=I`fTw(fFK)`zeK7yiueTp1%WD=5 z{)c(JvV#jiI>#5{e0a;=`GXQswwR8p-GH+n>idaG>Rp&?0fl#;X_JNxhlaEPSpSpq zSF89h!Mw`1{}EJM@yDuFGaj>){m7t|y49fAbJKZ9ItUA>a(z2J&wlN|lNyO-v(Z=0 zeh7`y1U-GRIQt?yLg(&VbAV;(S9E~I*9*9fYU)+Hjrw5;=su{v26UT@p;qb(Rl0vg z{han!eJ}ej3JOuEw6(7?F;xgnt~Laie6tnKfPK=DsbsxR?Tv7gF(w;7&FVbOFEV|V zo+B?`vS~Qsu-I96@39$}rLYPa)V?b)Fbn&6*9ha$X4&EJBv@bO;9^geim7P^0zCe1)&zX8B$(}lO{Xgj#utdib{GYsFvA!TpkTv`o4LA}S-xQ)Qbm`tX zzck=~f;70D*D9&|Zwsidq5aQo+Rl}G2kJcksetD6X2pF}IIYF4Y;C*bE#=66slk6~ ze~adW#{X+d7mUs|duy$5*zRYtu!?q0f$ zL)RrOF0B8b%tLOYpO}w~kC7jM_x~}+a#6O)A-tmYe?|KoL#F6CzY(VxI42y0k=T61 zsAN-Ruz3&q;RG1i&Ii-0q~ghW_~rYD_bLS#1Sox~w&7jI7>q)ZZFJ7Ogg)rn7H62C zaFk_HSfqI6c%?lDdriu>lx)1LXLGjMhg>3Wm9;Y2?QO6^mcq6}q(bwf-$?fNL4p`~ zThg~pyrUF$fxAL7u+Mw+bUzq3 z>R>l_cOE}55IJh^-N{eo>AJ($!Wn$`HNCk5ZUtW>?&5a~Jt@}<6uU~#p?Qo4#{)5+tQ;bT#uflRPRPw@zpxtBcVi@X|fnNkA3<;BZkoDj4tAxYT)Y z;3!^6)M#td*{W<^$*K{wS(!ht(%5TzsR8IM1IuMpnaY}6#cp8zb^g8aaRC?yP&@KGI^VxpcMRUf0IA#>gzl*&EQ!<}dNq`ZRPab%1|Rh2bE-o?g$i zzxFHsv1SX^PN?U7^pUAeXyv2qv9HDPLfYMo=Z=6PmUav|wvU^W4}~X|hhBz9CMk(F zF_l6f-i`k3u$U-ulF#n?#yDK zLQNg?-VZQb4S#@qgherfTsHzTb4HjCaRnh8d%+zy?c1@|MyRbzyHl7%tz&^~IKyVl z4m0p|nl{8W5N2$(!MjlK)|#r;NjYg=$#1{_Sgi2aglEV?!XKrF4$Yh^VcnMX7qgof7*#YcK}6tN-{JSNev*uLRCgO3e; z4VF$Voz+ROKG+=gvoC~0 zvbHB7gG9QaNUT#pjg_KSpy`%)w%WjaYPHt!U z^UCgIy6N(MV}|nQq}}XpL(ky)g7pz@B0dxMM#KT5pQU?$#U02McwsOBr=Hn+gK=(C zy3_YyF8QA5d&9b(c?~A6PXKR(f@yW9f1i4M1@{8834w@Dlm?eYohh<(P<2KX&>Z@yrQ-n{qeWL7F@EgOGhx@GD!sIfC4=B(653ClCm5pfGgfAQ4 z*2`_cK9~d|0DsxogepeTA6c#%^t=a)Y(}qEPjBQ7(oF$}Se=6b=(Vp^loLU>w z4Eo}jJ7G(_n-C`qFP$~+X&)@-nD6#jBb;O<$QKPxiQkiLY1%Y@1ytXl_I4rn7@Nqz z8oe~K16||t?5F$W$}&eYaUAd?*82n`8wz?VVzzLQLd_=h$pW?MTmzXTjv;(H5nXzU z*lO_4h_V216H5*_Hw77Awi1s81Qt=euX1ni&}x(W0VRKb_Gcd9yD)v(wUs>XX39O+ zSyvCGG+liRsWMKV`U59-bOTRwmPZ?HTfw(VKoI^3O4gcgz62lWgO3PRd6Y9$z8WM8 zeW>Pj?$ur>R@1x?>}^Zi9SlJyiVAo59lIaCyqS0Kp1(krNq?S$X|Bb3|K!F6Uhjyu zyJ1cQ9CY-+a7Sys zza;xLaJXl`{BJCn204aX%z{3{pCRN&a4nhe1sl2}pn(*5?ixB;s zZO_Nc2k(dVXP0WNy@VF!iD{jB<=~~3fXfHB z!$%!{)iaEgsgQX(miRV-+dSIop#oAbAhUm(cADJxT?m%s_dp#fWg_z}uyM=PbSe2W zAz>0~{S0S(EIHUPC~DT>_ZS=M&lmK;NpH)_$c}m!)Mfym{Q@=;OCYu`_rxWMR=Xp? zt!cCeZo+}VpwL|fSK)BYj=ye9bi8Myg5`9Ju?8u%t(_$G(*Py=?vH*yERjAce}^qu z{qbUWpe9p^dgIF6m$$E72|rTTcDC78F2+65&+W-!!Zn@W z5q+Pn-Ayq?*668!GwYAq%koHld{nC+AuC#4s^hj5th#cX{#-7Po=(}~>zegkKm)lt z>cIc)-4d?&BKNpjy=O8>Y|Tab&;Om^JdwXIB*;nHg2xx{szuYNR3LkMK~PDh_Orw^ zz9b~bVLgI6;gK?dPDkX;6vYC$;BUoqj~k0k~kIu|WCeM*BXn&kv_ zwC_1>i+A?t#redBb;;t9E9Qss$tgWWpJlmMLwOL*>Iuip^#71HHE#!Z)<9WyO2P%( z4ou{57jh86^Z8{C*48Bda!k7&&b}=v3E^=lSiCRk0{uQqa9-YUs?0Z=3u^-+wi(+X z$q&<&Wqb<{!ndPRf^t7rG~zNq0!`@my9r{f zM|V~9_;R-3L_FT{+$cfV*s(G}3ij7QI~=C;|L|pWqRK<{&D4ba_ZPaK>zNeD()$%w z2eG`N?fF|Jq#?pv;2zX7eEz85(bWDYTzNy>Gs4qF5FX!z=3-p}IEQ=Go@Afo=yl)` zM*ir>$Xfp=jk2lblYT$b6E86B%>k(CD{y1$PjrLtFZ6zgy9f6c>j;y3s2eEsH$1TK z#@;Mr)7=Qs9+p{o3tE2O9rDK}p;2OM+Ka4DaJ94#!f`1$$Ew(tQcu~B{N1J8lCJ}n zw?)hhYtuMi*9YA*=8@H@)g9{3f&ujGf&rw4l_MBki)sJy=2pLMvqxZ6vqw;y^);m9 znjl#1f*{mxg&$J493OnQCLeUS((5mJ+1F%xSw4lLB0rSvazF6xVn1kK+1D^hsaF(F z>DOF4$yanwEk4+{tVcwhds?*B!gtwKh~;(1&FlU>j#&+s)#nLlsz#qGp#V!7#2O2HM_N1uC5{#Sf_o{|+{Qt6s_Jw|p=Gx^^Ny zbqiu>m30L%oqvs0XJ13vg?Yc`y={=xy)4l2Mepd5PkCs>NU&wOyfhULF;M@vM1Sq5 zi4m76e0^6#vX0HRI0Hv2BrG0XdC#bYRvz^E>S<8e1KN=W@gv-Y@squ9479ExRG5|_ zWmW?rNmfIzET^eo4E^v640};v`pBwjKgw!b(8Q|8xK8yo1fTX^xZ+oU#<>^phujCT zbAgMoezyym;YWx<%jz;95zMky=>x`7Qy?C`{X6CdUEsPxb=f`<;_$BVJHdxu{wSq( zUtj>MvZA|{lU&d`NA=#2A!GgK3mG|=*4#kf_Xur^_fQL5 zWmCDDzQI1E@&>Hcz5PC{@`e?STIW`nh?YT{pie>K(Pf+d03o!CkdF?7K3*xKZ@7G_I9u`Cxb})~D5VVW|7j(3Td=??L z8`{MFSPQC0w&eq6twKr1f;Zr4VFZ;`%fz#TaXdzH;69abKquA()??dR0^3#@`=y)k zk7@$bUoG(77KA}}7D`XLkQ}R{ppu0>vxnfmnhn?w?)=fsjCWuhtVt*rZ2ul%d4sqs z+8YWnXqW&Z0QT!N4OW_-(eH5LG~NZtk!lh9s}C0KqAvqEfcNX<1^w0&q(wEua`O-R zYawfFV2>z*$4W6UfEdknei}NK`7a4B{PH@rE2~qpHrO;<9fTrl8HxLUAkGZ!uac*7 zs?|o)GwBTE%47?YQ{ZAx18=ZRZwm5AcMbfPZXRC;JNRwdb^>Nv7Ei&IF{X&eu&A#s z6ZO-fDRXo|56pL44{F<%5$1|5P5AVyughgggFsE^0=Jzx?zf!5its~;aOTonY=>-E zOK$@=Wd7>yn9*!QJ77L=g0%LgyMO_>5f3wZu%GC}k7R!xo(!RFK;<2|ps{Y$r%o@S zjkt~k&{(nM^4K(knb3(?f7^_Gzqc!2{lGT(+w?Z{+vK*wqv;j6zv&eP9cvz#zoj5F zzwH&Qzat^ohmj!S+lnvYQ?5yAZ}5TQSe5Me*eqM^>gRfKJY zk(l}Ok(pWZ8S4Fn`SQt#!PjYs(bsv1;nVTrkwD+#AwanExaoxR(A>27S)omK`J*ln zi-8^B0zsNE_YjK6e<0~m{=m9HBY~yDAbrheAb~R?jf3r?#l!1iFcUm)e`&`KI9bp? zC^N_lh+42-Oy)2hOlFiP=YA;QS)d;96#O|A-L6?MF~$hv!OkexAKEEVFibFVo^68> z+jt7LwNU{^atpzU^xB~dfqR}4nR{I$V(Hl`3nSf>4kosxBk<6kEeONj!6?_B(<#v& z#VM)=$+P5A2dJ(~;nZo*SU=858 zIP5A)D$09%D%!dA`uFznp;{=c=&2x(7+$b`7nuQ3hVuWC`I|F9crQAOx*vaUJ2}*l-;lkn#?8 zL-;BS?0K{dLS4^;6|@q9@?H1;{-pUD-9HAZkZzg#V0}~CiUW(=GKBuv`M|poc*XAz zSdVK6dfR*S2sGT>gZ8(*ww(hS7tqj$Nd0oRAoKLLA~L$3_wWBGfDD8bg9V2TM*&Ac zo&iHaoG~MNhO>%2D$3_cJQa2&CqkS_@a1Qhx{I7AnE0E|lOY5%Gx6qZrFfzgrU)j8 z{FT7{O0*Po^q=Ny_ZtRVfCoTlLcdY7BR*Zs(*qqvn*#fwXCV9uGMAn#=d(vYk!P&m zkl4#^nF_uv8~>BgwNgB^EYKcqsTUL$s3w}n<^*3SwL@d3wu58lrpK{DoiZEYC(In_ z7GRI|g0;f_8#_;bl9R7JtyZ8t-6iS@LxlA80#40tc|&hC3na_u35g3nK@!BvWb;H} z-|^L0hv1A8LU{iQulr~2@O2OyGVj+1{|Ed1>8<5pDwu77P#)2*6WBYTLg4@UY^qP`4+xI|&xN0|KzwQ&w*(i8_Qk%*8+3sD z`2F?c?|50*Ka@E$y62dEzrd-%S8zx8K15I3Ct_gb4N3pj&>Fa=m@7xXx6G>NrFp%X zJa|K->d+IL4+8eJyP^pFDMKlc&Ih*1+TGz-;xl&LGj-a<2{CU9yCG}+62t@oe`MAO zqH@*^$a)XS86@~fU?J=u^2EOa`aOT|O|RQWz4_tGBs6Sz{0S`MnGMQRKwKzncGqcK zRk*0Zvf{G-XO-0~)zW88)m+z1#2#&4e+)gfM?Xeys5`4Yc+dI5`JVjIL1@v;dBuFi z!ilT&UFvrnQWnR~c|)&*-BUh;Q-7Eg^E+ktDSfbVZIH#h@(u%Fm=VMuTdTSb?* z=^Y!7){l6vj6PY)QdVj6y9L(!Lxcaq`>;RioEQq_hX111i4#OWNex#-u%RnM-}4Z;D%7^RMcy*ukhEo?la*nA($>*7bH#bx_S`yy)!@}o(y(Qc7b!sa zssbu&FdTDt;On*b+L~`yah^Ji9qz&L;AE`VH|v7GthLkJb#UxbygfWbJP^2bJ-m+E z!}@gd4gYlo|BfL^)t%@>x!?6`_Ht?Kw0X|4ulW7^ado(Scq5YTo1wff+wIVB-M2Za zRws}<|K(HHq1u>cYkP;nrN^N&Vey^VnlV}tNa6nx(9&3(`C ztVB(Uy_7f4yXc8)ich|0y}RoP?H^-qZtm3}PusDY9|2e8Wl&|mrD+sziwSayo8meQ z#QLNeKlk+pQA#{tl76vW_m!#Ld7~w1L`!b$HmIJ|t(DDJohJ2g)>v;!Ioi@@x%ezK zzl@fezhN$_&vh17fN}sc%M^9i9euwaCq0X*J!O}g-_g{i!l19M#>_GJd)) zHUHyK>l2CbyQcdWimPyOXU}%&=jyK316h?hd1biRy#23~YYBEMYtsK}v)TT$v&0&A zF3tO$+%GA2&h>{+VG8mgI(^buJ$?JW6Pc$E$o6uBdN;^?DCT4WgwRf~n-H^4V@H2I zJvtC`T44uqJwSOUNT2r4+{@{iKU(2H)3{A{q_iLFW@{tGNpnCUG;36|>C7qAN#afL zXe3rUGK@+Tidd%0fO3${NZuDRDA)I(AySv($#xqX@_W z49tXPjqQ!1+;Mire&zs%j9~|A=likm^43Y)@t@}GSU#bBhU@I$xxPNYliN=n*n#q3 z+jeQ!tv9I)?80)O*rp{Mc06QwzT}VG8+iS@;$-_|f0B<=5*I1vGPaY%Lat;&W)f6Zy z+ltP?Mq$o8pKv(czdnu#4n>d8?ZRdIxv}KYZfYc+}+a-eg?D5mddYjD!cHFz(-+VQPC)BY%4ft9vDQu zQqLkMKXBvR|6aGYXjOMFZ&$tb9a)J=qx+D&jWc4@!q|6>3Q)O?4xzY4PQCOM)JlEL zOe9i!tNlVIPwlPhU=PqKK;jB2=pIy^JQ-l9$L#M*(5;5`EO_wp4}U<@yY6RY`@tyL zq_s6Tvsw!E>y8E-5x7^YVAr7AHPnf7#lb*&!%_1SNJVPb>WjQRWzrBv+IJP?p+#j= zw~iyc`t@|$$frCytpV%#v+DGjUrrB5_xSyS?(q?*#SN=R9Wb&BPC(?TAkTWB3hdOD zacJf5_h}=v?rHr=ZMg1jVibA|Mzr|o<^OXF(pP)y`$cD~5cK6QpKg1lCXemEzRG$M zQ<|W)0c6%R;%;(A$ZpM7`YW(c21ZG?&C5{4W6gej)V7)(lfQi2Wd3!jgnf(haYSaj zXhfzxBp+p|QwM#Lf-E||gYOoh6v;|TaK{wzA=5bDP;NXhOuk;K@=!Dr>lfv1KDDG} z29XD_Qt^Z3zV)({kqge@P!axT-mVgfO4Xj*j8(!@L)nvLuFGI+I_~2aM95A=7+UbBUz|sDgP<&XftlirIEn{Pc zl%`4jY!#LL>RHC0n#X{&E|;CPE|`*st63P7D^0ER)gH9ogxX4$+DdJ63NrnYS_Dgg z_6V@5$9d?qy~<@W8xye4m}-NI#dbRDoT34ES%$&E!M5n2n-Z8kmyc^|RFzQ?SK6PV z|LdtY0yw0boYcnxIHXB$Hf?&BY|0UP?-NoDx}Eb>SqA%_6$> zZlX7wp`=V?8~K+p)3bO?%f+y1FiT)xqXEWyO=?ZmnmSlyE zbZoL!6*XkElP5=M8l9G@owBU7bS#3o=aMziO^zDtTWf!r725v%>-EcA0xel#`7t$~ z(QBGJhjtNgB)c!PZR~zi)oLHp2i4xGzlK$iXN}r~HLb76`(({j)wR*Si#sN#w$mB) z=bp<`(RUPQ=)F|nS*Csovb`=Bk;M)U=D2j?`ks9?zfr~Ksl_#i&`{Y*7$d_hnR{xY zT@RobRm#I#Wmj89ZfcML68f5U{ZSw8@Xa{w@OV}2GwfZHv z)ZANd7U45AwA3_oYKtbtW@nmCjV`pjV0nt>HW@3#wTk>S+2|zdHVdGYuDMTNL+@dd zQ!~j3-mc;febz1~htRYXFYUF=j-OO|aJPi#k=`t%ja4BV`Q`roG3lu>`c*s) z#Alqa=N{EU*0`S3rJM@`smAnWa$I7j=*Be;>BZPLhmP?)gSKtWap2gdPKxpx zkfT@T>)*Axe6ERG9C_1LPI-fa&wp~+Pm(!EH?ju@(H-b9{uAmWj-$vDHC2<6r>oK9 zh1n~r1cS!DoK>_&QlPskK{Ii0s4M%v{l3$=B}y}VfG~|8>CwtR_213x2_cUB0bz`; zbDYq66nfmD2yRV$6SFr!5$OqN5K5kRTs=*yi;-hk@oU7~Rjw-85Ocq;^WI9YGI{@C zn;u*1`c7`CB|Hc*N{t2%=U*s>|NRN1f>6C1b`)`i@ zLHokAaxoppRVrKYJwXAV`)SY)mq3lBx3^>;;rk29wLrH=AK?(256U%1H!8U`ZcmT) zzmK76e84OF(vu)-V_n;VUr)?cG@#2Z_qWJl4+6&5{_5RyNvAkEyO?NPt3B)GfXCKY z=+E97V9}hL$aJSNxLzht*NHXTH;O=m9#nVr5AO@^An9#G`S}qin+Y;PJ`?0 z;esTnqM@JL^w$JieVYm7*q{hie?IP*nvlgy5qClvSaI7kcA@!xA!?cSJI{xMQ9-sC z!sfd=s&`1QetTopW(|P#xjL+)hmdB5i2}Xgk0y^lDWj_cbk5`$w_J`^^qob)2E_(N zd1hJtJVRHxiq=(6T)!bjg&sqqi#Q3I7q8rz-Oy-CS8@2`#*}(b)n0`O(0uugD?G>x zuH-uN8I{Qf?{BVJs_@L<60`vwS z;LJ`-Lv~7OjWTuTVX;ie=7<}Kv-WDF_FHNUL;{U3`v}bi2-j4f@f%Pt_GkXOgu!%s zV-!!!0ITyThQGJ8lm{4RD^l9XISALL36sa?9mlRnHVN+}gir1wmP~*OEojWVk(glJIxR?wIxZr90-<8s`8-*sZ8AI}@prwTU5wGHVsmI0W zG<`@U9FROCAqr|`+h#kJMaQk)5|gX({RX*(&ZXbn&`8i)X%|-O2iRSmyfh>yx~|UT zXsG@T@rl6(7TQVs;b!6QK_IJm`C5lT7m|RhEPO?SW5-;rzW6zA7c^MQ6-78Y!teC#!kh`UiJ5J-JD`AMujs|M2 z`3|IGxlUG9h8kWL9kbCnnHTej;NxeUQ>TsLZ~eAn-Ow(w>upliY76IFwjsfzj_r5o ztc?OrM>Tfb(|0W@g-yL=BM$CT$;Xg-=_Kg(CIekAiIOp<4YiL~+ToCM^|iRCwfVCM zyQa!Vad+8e6&p(LoO8c*ZbX+AD3BV5o;xcpaXYiy2}Y%+l&Z4VHV>Z#J#)rj#K~u2 z?|BZ|a&G>sZ|R6d3kxx@#iLOoRv5<62e{J7GNJPf0s#C~-zMPbiaSEUU_lam%) zYTez$OBlBnnZ5%%`59p;DU(!(Gj3Aa#}p=#iJ_cWsC}~l{xsDHD%TlQ1pOo{FFQ)! zHE22c!WJstfY;`ac-!_PYR_Gv1>&7xilF7$G@cu}$ZyuD*H|zK@H)1$gP0 zuq6C~V#-~n^^{Wh#yIAV3(9#))TVunX66KI8qLaeKN`|PMi1#Ik?F5 zxQ&4PAsvEE8J^c<>esX$)(Y2&z7w9771!&_PZVs)xBDL)GKcJQ8L85al>xCsz&jB9@;g^k%YoTJsVeE*cp& z*baSI>qT0UJhcO#I~fj8!SqaPfZsoLjw-rS68{)u|F#t0(8FTzktLW*Nn1s#!_lPu zsiOXE;~8h_O>DP}*aj)x^Kl=U8{h99v;Xo=ZPEqHCmSm!ala&m`)jP2q{Wxuj-JT5 zaLGe!68g)+IuzMdIH-Sstctp%otHW(-|0is@!jX8`Dd%-W1?9pi=8bH6CZf-@e1aT1S1N@d;-i=-UB$)pXyA#Jr zp`i+nY!nmHVv?;nOz-LHeGVj69$lE9UIi1i?Fw~5p62UH)h(nHfXwi_pds;^5HUv& zVv-Ug@~3Ex-shXk``<3Dr7XkR0RP^|gCBl%UKPw6qF$!82bJ^f^Lp%D!^;4&|v^VWUg?KQUVW1Q#HJz<-arhO?yhRZ{XpJ~h zrCo$eWMntRvSzrp!5xHWJG9K)r6F6<;BgSc=57Jf<}+QB#_br*Tn9XAWOH}j)i#fi zyDMaao_FS6!QP}F58@#!vSqKvIJLkb{JSdX z47qQO1dmw=o-&c;N=wj(*z6e;QIWmP)RJ45S8pGX)4?h&-0b*vg1ak$krOnB0_W99 ziZn-DlY`5XAXPZJ5rZi%jzAyC>88k%4o&`h@iLMpni7NiA{&|4_`pN2{q=+r4r!csN`y)wS4%Sbu87(m z*^FhW1?wPf(_WqvLMB}0AzpWtdI?~k`~BwbM_D*b!m76GAW0E(R-s1M{?pf*3gAZt6)05OGexhPR>qpvI{JC%Ia+az*Z0#>-As`ri((Eul3OidIW3tk5k-d{ccCj;+ zfd3yCPpv6i4M)WR!qy@5k<~INdZIKM6I(9!_MEksP`h?nF1k9|cU)|?RApKVQ9 z@SO#{YyO~lq1s4ML~ZE8t;P+37w#{Otvj=3CRLh2B!t#M8tyDsA1(Ok(eB<*1J(Eb(IjVOi_^Z;3|hOgw`2| zwaa7^-&{MZNQa!f<|C>lo+#FMtV7YHGhV%sjG1^M=w(tO*vJn|q9&bq)t^ut|4(Qp zW81HM8j)z6ZJJt02*Ti8vUXK|$HbNDFge8%l>AvS7Dza=p4u%$ueED+$=z zNEs>#nB1Xt87sQO_yn76EZ9|Ev*lF0qY3kXAQH`%>JZZLfl4{fkR&sknJWs|lg1ZH zf>=fyDhOq5aWMCbhzLfI=})O66suS$Q)5fi-0iDG88S*bVurQqExWyM5N2nrmph5k zWyutmX020$g=(3m#HMj#xU=xBz+mq-xlqRiY&p)^hC`0$5ct8Ymj z+Lkq%b5tkox!&;djZEwraZthnDXk)|Mszx`z;ZXCyN1=E0VQKYvW; zDhO-yIE(QyCx=}I%;Fk0(k*6@xdJ}tqY5;5t7yEe$8+|6>Q@iZV0>uNcOQ=#N;8sV}xD$GU0mC$IQGA=Aj}+iY1T4rv#MT38;7nt;c! z|4|YH)$Et-%!j8OZ8{s3U-g~=5rkgu;N%iTF10|1>cW<_lIp(c2F+H(Q$brlZN5zf z(M1mP1CWSY2XtmzU6eS~_CJ2XeM*L08l<^?#xBzC!OP04V=3m4EPFpl7vj{1>QG)> zo}>_#FTJ~zj$Z>$cJjyy-k}I|tjDTWVy>R5x-m}f+Z{4dX z!6-Z{yEYDGQAF+LLu!Pgz(F#FC*=xdYF^Lu&nPT{%mvN?^VcF~4HE%p-hmb(EVmuy zO{AnjiJq1-h5on5I*$ghJ!PYKVyI@R>R+Z@bM@Ij?G z6YrSc-=W$BVw7gabVgjg5Z5LEAm^8^A5Bpgb(mSAM~Wuplf7>Rw_g=`^YqWEiBOID zj~{X@BVS$dw%{-GF*{CJ!|u+rjWk2MY1$KuamS8B#65xnbrg0K)NB&AU!c&+2H_G$ z?P-h%&7~wDsh{R%jQ!>^Waqq4bDK;=@vOpaJrZX-9A%+?Bh= z(nBHtzREkZCM1j%+Jh9}ia(86yqv)b&{>V*`VoinR815<_hc2IvlV@)A-`aCdZ;kW z)kT#kdC7Y`T9b}A0kvY$tVfJjO zT4H#h(_SSWW|$9w@>E)d5)^EFG=a3>$BC4io)t|Po=#SU9*Hz)cZ)_y>Wvsz3NFH% zRo6-42^|WTN)zf9<8dqM=Tw+j_pPx!C>`K)Ka5Ly7@JKZctxO1yr1>mVDsQbeW7YU z_+(YJ0Qx6+iHwTOR4&YB$)C%ucqJ!8OJxm|Kc)}XtFa1X5WIJPY81UCun*PZq?jhN z?!l)ESKI(#mW)6CGAI)B+>tTrRHCU9@1Q0~Pn5L@kbucy@k{)|lynjF6jZ$zaf!Dl z@EcUrqks%;^@(S7jtm&;@es3I*kzXhI10po3GB%8a=APrVJw|ap@p$TZ0>COX76Lk z+^zRx)bCot!`9##t<3s}wEI)ZWRN7#Y_Mo94=Cm^ojE}?zNd1_ewZCoGY>%9>Qf_* zALCses0=q8dp}6y>R0pDF{SVPbOCbmf_D#1@x}b=f7c(I@Xm2K7%MXj#E+ zK^e>#clGvsKa|wyAU=FXY6Ew11S95#cxyWN?y=v6d78o#dUc}+fhOwO@y#KMY9hBPncwg1a!ks5No><`f7)NsfNJi6<6WZBY`e-+H z7V*7Kc&8^2UekW#be%qss3EH=JYYxJ8AANa`7-}=Q=Y|XBTNy1Zt+WGNCdO4P0-yyGOzjue8(M+{0J*a9oPzDRzT8k@U z+Q2b?O8{h%ZQ3~|PEF!-qMXZZs4by%H2(;9`@UaZ13xGxA)H@b*;po}ZG7CWFG?He z^?>WpO8TbyXJjN zBI!BE zDv~v5gVimTW#Np1xIHR@`AGZ_@%TB~F21;ojr5R*y<{brH#od<#bu!?Umv564Ahck z3B~~^U&{J}GWRKh3^0J~Q)d9g=ju0M7uw@YM6B}(sN4)Pc;xAq(aks7MH_SK8prf< z>)sGR<>odpq6IZy$}!9T!3;md-9d2YUlYRKhss=|LHpO>sfYcCme)!%<|3a2RbL)< z3N$8Sl*T*Tk1Kvo&Lu;w^u3IM>Yg0G#;&+>X+_v~8LM4Ek@aiV@~5zd+Z#rD+ZNJ= z9=XjHLn6OyvqRaTRlcoVNC^d28$OB>D1V$xO?VuUwmFu`{%wBLYFsRnT+2#5i0`{k z%A;F~HuUMY{7L3>_D1|MeYZPbj42HkRd=&tuAbl+nLE!G6VTbn`Pzd;%|!(pMVF6t zGnDjV>QkX5`wyX0`pl3L?;8qa6pg%FXJw68b_6`my5S6*6xaTy8nCVpdIdSkF)zCe zhj~QOpC2NiZrlASYN4oLV@L6Vc$~U=>$imcfJ<6WI|Dnx7M(YcwpG?=Lxd^Mv%6LiN?->l3LFKp7qimsF_t0P!$z9>2* z>)QajU?-OAAiy9mj{32Tpt1V2vYq0!PiWO{J;W@JXYV*4YU02UbMixdv~I|dAFmj# zo2?itE~*rCn)P3#3{-k&*qSc0ArEQpA#=5hCPwBaC~8%4Kedxl04tql$kUW6ZR9fBl?*AD9wm(x|0n}D$_ z;n5a~p~jb&n5m&b7%@MFqUN=Xr_0oIH%^r*XXU!J4?Xe3G*sNZZOx$gvNh|}_vC2I z%@Y%TQ{m<|^*IX2n>97f-R7Jt6E&@MoH7nlG;-(4xaC!}Y;e(8aB}08rhv3DUqHyC z=cL?&03Cj=qyvO;lgw6(doJi)a^s3sE>pjDaCOKs+rf~2Sln7fvY3FJV$u0{v=u}{ zL0yDlcyfrwWbU3B44xpQT?@C+I5bTW&A`=|y6YPpq#DgVrCp@!)ec7}FauTlO-9WW zgKcS=#ncu@vvw3+hm#f%plL#L)d0IS576$Vkel`7ZXp5)S?&jLOW_zqC9{HF?dRhpZkpznjFZnEj~B~mn`r2VHOJ2O!=S5C zrWsH`-oaF~qiVGTW@@DMY1~3vd)dJTN#H|&G(ZQ4-W-1;t7H{jC9nHs7G?DexLhnm z13-p(vT=%f;W5YvQcs^zAEqUiv7^4UfRCaJ5saski`$YL3|Qvd+dK@$k6`$aS`c?s zUpC_)tRo*tpG|F9K~E!B5O&sbEOOPlwz~SZvULKTGJ&KP6mD`#zJwq*wJIPYH>=tXc0l99i5Iw(d-<+I8h)29KfYB|XkwvHG ztbD17#asbsV>%gV-O$ab&M{{fJ4xd=fQf!YCEy)vd8tZn5My*nErDklU|FiK zSgzLM&-0*1%*qJSKz~}A0|EfPY+S5Ne#kp#Q86N*n$=QW>o7FGIT1(>Xbf4<1uJWj z=L|&qyH!2@wjRu03u`_}S_-jua*8cy6B2<#Yr2LqoeI#anzeGay0L0k-(eH0$wuG8pZ$#o2P z$RhF(v`!3tna|v8x6XGiZ|G7~8=9{XLyIV2FXuh95}FT(IU4yqpt|n$kT$5h%k3r* zvuPC!61#&H48q02>}?3QQG?Rt^^5OhZjP+S`9|ZDHC!l=t3?(j7DB~Yi3KtbRfZt^ z8rnI6=mS|qJ9%~*x4u_dIGi|Q8{L`a>G~rR*tt5{NzNo?2r4*=1O2_OXT*cQV90_* z#50`PiHf_eRE=mf%(Woq21Db+;);Wi8Q8&CEscxiYuacca)I z{b)WSEV~}m5}|wVc}pvdEb!Eh5`(=s#*CG6F&J7`V}k(oXaPk!c0C+@oH|xTi`<&h zR}#uLU(C`*`>ea}Fi{<zW#)wwGbOc(UVy;Y+TddNQ#E7uOBSxAK>a6l_lzzci`hin2&4pHN%tj8s0Ep zXDuO2(I}wNA!8LhM?e(F(wiT1(820ZeP>J8`4Wsz`s;$gN9n%oI^LO4(KzSxFce^{ zT-H9!j;)tKv{x?h9KWo7-&c9u;nre|uR@ZF&O_6=#`5gKu)V`YW9&3zL!))8%|w%C zAlu+%r@f?JPI*kS)PLHwXaijT1LL@z5=H8|8U!^|;NCEw?{_k;dT^Nd_PmrK0Da(! z0#%n}nHBNYx=G_tG-_On?hV!co49eCwy&%)n7tX`qH}AwOcrBwM+5AuBJ|#P5v{+W4B(x&^d2!SVE^CbdnN_P8x=gTBGiui%}E}TgOex0mqFSvU0y{D1A0@a*)z#!N`tF zAB}NP&iNPztFJqBP{a!y_mbm9Up}3voGaC;71koxN?2Y$&c>Tg3MtYtGYDby&79_b zP2WAY&j>Hza&N2THiUk`>kokx&y-LgMb6=eF9?*3jar>?uvV^lEZZ2Iz68&AY^uyh!(0= zT|`#v+Y7FIwM<8be7bzd58lJagzh+LCUD%$J{`o-^*_Q(pQ2db(+KXt)Iu29(hgs= zZl{ns~jPfwf_o#Erg&($%`Gvm_?)v z7|}l70#K%}n4_cQ9ySYeEI)P=H0q&uK*LEq;nn8#ELUQtK)?g<9ev`7Izn~^B$?I^ zp274ZhcGuLkGR|T`5OE;brJviNkpRRuqZyr$tfQXhw-6c+8GawWMjtRyVvC!44;_s z`RF9M$rdTrD47m3Y+TVdeG7{|g!1#Y*;_wXK3il$7}?nfe&XWOV`1^v+=do6oHz93 z<18jXh~Yavl9i3>_#MYpLoMFV*`u*YkmhSu`i5-~9}&Z&Wk*}LL3^k|%bC{A7Ze1J z(6U-F?r<&Z7-M~Cs^r|*V#$iz|lTkwjxsfSN$g)?y zqG4||je0G`qvdKtn5gR-Rh73C+L*zjTx7tym}>eeV2tRqHKJa!cr{Ex;@HfdhE)=~XjbLcHZpT3_S%O$6M*xtZ*3=VFX zlEnDjeo9m>Gj|XosCbc35#(YRK`YY$=6E&WEQK>NN6sk+>vA^3?Vwx04+~l}(YST; zBGbB!vc#guB-2TDX~nwo0aqciz3#K|(X4Tb@X4FdzTJ<$USEWFH2k=I1V5y756D}- zGM}__zkz8C${iFdyaFh#W76(Y$TO<@j<1os;p-|ldBNbTX;OyrHVQ$`C2}WfjAC;! zhA|JaFCp`F-nR%Fq6!ud1COHyfz#LC5}t6(@D;HyOTV84Qj5$UE)ij#D(_90v@%Weh>_6BgXu(O0}}GSY4Lyd|?v^MBGc@B?o5aC!C%) zJA8z23KRP+=lm$!KEp}^?~TpZtvV9gnd{2DlUMN!#%@_Vm-|StyjPK1;n*!bSv?=X zdJ#;_=S^?mtEREvA8@_V<2osBkecH~bB|^bC;{W;vT*_FJc3hs^K}o~q9Ih?`7p9U zT8ljAE5%{ob^S|mNQd48vlw);SZFM9!gYvv9SwiOI1(cC4cUl)ya^Ed;pByjJo*sL ziOTV+;6u84^MMYn1aKPKx)uziFMB$wH;4`9l)=m!C_t8Gvv@9XSZZH&P;Xvzx93r+c}8r76CBi9oF@z+jjGAwVg*L)&4)g$`*?LJoWAD1 z7Ei1p8m#86Sftzs=R~SG4kP-@p%_j=>T7l?-D4zpGk-Nt1zB$?5VH~pD-8pJe%O=l zhc}+V${XR-m{U*CO-Kbp^`dS-h%NGO#LyOcUw#x8C6H zGVYe>?m7`&+H-?G@ZOOpo{;Y|&>Tj~Zn_ce9CLjA2w#xag&UD_dXu5tUW$0OA$ ziyZ`9=L(BcC|BG-I4ZFYOOlkBQdzUQjc%1kd0oVI_oA6fK@Q{5UJl+Ka!V4Nd?>3b z(G}&Yzo|*EUXYW64hj=AU8NVE!cdbwehpDBe+6IxAJZg|iA^O!bH;sQS?dH4ItB$e zUc6u$VcLPmmX>5wTb)CaJYGDHq7=SZphgIWOd zWdQi;L)sT^tzLK;SOFsAwG;y0I(2Y-+=sxounI>3&iGOo;Zb)9jAEq@hfm&Z#4i`g z?jnJt#jQGc;}GSR<7HiE479|rL)8oFbY&Kvr+{<#b0u6BDmvZ|Z~oRL3A%xso6wC{ zH1ZpF85!n%@iCuWqRS$fSBDIfQbs^};*t4BiqKjp$)Bv2OZgRIs;+6|O3+f0Q$JKK zteE4T_F6_l^EEF7&f)_(ziu1dD$1R&(0WBS07gzO&q66Mgx(&s7!-T0H(sfYKwbm* z6>kdm7U(H;=A6?_U3g}D7^;B2tk&SPA;tYAas-sQfv_8N^qhULK|nvg2E`Y(~C>!XKRl{ zcb}8J@eSXmbW4%U%}uuum!#N@AF$dHJ z{dzDRDh6&W)MsaTc6|bduAO*hC%#PR~Kh6LUMBUD2y z7?c(fUXr)Ng;+sooqo_M?8U)6v@%;OId^(cNz8>L4jx5x5aKEz3pm*6s^gd{9MKmD#EO|idE2_F=W^IHgD@E-(MW*; zd&p%)7Sy-^Hz-cVigPwr6#Ixh8$;8$fpH@pgv_GF;HVc13WF0XF72exYlMnsoOE7E z!trPC@yt>vv~+<}Byu0M)-f98d{I$RN?2TrdGlA|+KM|DY}`cZ;ajp{vHYeIAlBz5 zf`}#8L85z{$&jMYbJs&(`wfIBZR~A7SOT&WF#YR=ig*N^dPK=yVsN*P4bs;2h1LK2 zr>lpGCn{1k=LT!}Op5b)GeOkpGJ1yN4hd>Mb1ab*bQ(*u8tyx5gdaxaT}S-4TgVEF zyh9t_*V*P~lLMvhe@Z>2aw@Ots;X)LJqW+2)R4NUb^^4dJisn0-}nrJPY!+;m3lwN zU4jr*coyMZS1XY;=E;8+(NmxEu0 ze5z{B!D1G5DhkG30=NVrDwINr3R$KwMKuVxX^2�wMMc`C(cnNwEWb${ov@H@O#-IySv-{kYpa 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

>-+y3s?_9o6 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­JxJ>aAuRu8T&*6=B@m zv#FP=T{Id}b9TX*`5SwQ)G5vgSPV}c>0~ihP7iipw#(QWKJVBGFGgF<=+SN%Kk&Wa>=+U8@gOkuDJ*c`9yA50Oe|WMu$Ig3s$GX zqZMcq42AX=a3f;o3agT^t9U0up+z+1O_$U)j(dN6X$!=uxR&%Cj0j6_O9xeXnLC}! zHk%w5_wl;5&Q-W`&?H8MjGOL7xD4ey=-nMSU-+FjOuY92ROc(87M2ikQz5G?{ABYs zpuI;}E*Q~@B+i<16A9-j#XpJg22B<(WI4iLwIW$A(+TJJbI<4#=wF9MRs0Y1`6b$k&DYQfC`l925(?Pq8=4stD%qMix#~L@6N=h8+ZgFPncLbBN}C%R+c+B2IsJ56 z)cg^%-iq#(qbmR>uLmKYY1Ovw(jvDtVYF<$gu23ne?d&Ez=|uOEMd-lRdf9-rBHY^ zTLR{H5r1qHX+R0B4})drOF7%^tEacL0~RL37F+7>sm{*U*6ttg%^3HGQO|ZQ9U2?-SIL&Qw>G5T zmRi!(H@$T>H@Q7?hp~N}8`QUJF!=ap5+Wk5P4+~S+Gg>iT^k}I#tG+&?6@>k@>T1R z@r5rFtFmHczB|mLeRwF~P`fKml`o~|PoLTk>7uVWtJ=D|6BVL@;}^ixafCLFz29Be zHn6A1Q&1B^B%fRn8f{-jegO%2)?4%X zsO(N|Rg(Ig)k{Gx3qg5vJxWW*=9kSVbXHp_Ig+_NoRG)tWqCstT99-<+-sD@f=*+o z@<*XA6nj)w?yb0|eq(_J0V*f7^UB2=(q}~4lR0_X#$z2vxW}xeH!7_a?wnr3j=cJJ zldjR@n2B9f5afy8=ChA!J`+)j9jVVTL4C36LVcW;2wh%-cFwgwAZ_IujT%t}%`{0mOtJ8Gq0+p`rAt}U!*@v2?@In?+nN^IK>A+^*L!B1RS z*Ut>vGr*3>M5;XI#{n9w0D(v=a9kW*ACb`1A--j#!yU)w$^qcwJ-s22&PDh~zJ~+q zQ1<8373p3{w76dS4*MR93JYi{jz!7wZ1Q)F6HN^je5AoiOx78QE%I)*de!CGBpf7t zsk8>d)deeZ|5)@y%Fz@8D1M<%?(^Y&sBiNTz)a~Bh2mgyyH;x^7PjI2M5+$S-`4J* ze%{BIYM{*F>sR&W0m9GOMlNGF>TDb{YcpvSp^SLPWgT29oA7G&c2#kFDfpTWG zTO;u4r27Z^5J>VgJXs}IYlWN=0W{1Ga=C2H4M~Ld939wo3Z0_kUbg6L@9TK5v|@va zlFC>a&nWMXr`vU_&7B5|p?c_y*btGT9FLfBN&4W3|4#Lyo2`4uNO{q_U~b|KOzXs{ zb$@F_F40@V>C`Y<&w&GUgk;>&$_1lL8*wxT1vb-hl3k|oH$Vk1r}zb7kLY(^{&F;8 zDzL0f-(1HtU7o$X`~nBih*w5&Fn|Ou(BNCzbI?zytVjJBW<}(>E1v3*9o!bWJCc))Dp8mJ_Ca;=0*d9bfVuRhGo~3Gs*;2nHr=Bgw^EYbmT7;rvXv6kkCZ z7^N=LSNNo@sONY-EPIEbv5d8ylBnRQkc5rIS`)M;mvBFy?g=B zghe7KmH5^`JM2(2=EXRd}%ge=s+d8e{Q?()OGtU&~zk<&Q z44jgYo9O=x<|`^a*m`Iq9;9k|0KkpIfuKH1$DOg9=qo?=wG{?Ti1icXqs%U`IC5C+ zNK7yn54lhY|0G#4vdMXe9trWLPw>V4gNrAoI>l3dgCX*z zJAlCygCtO1qXR0=0}QP}1ZsaD1J6!~P(Ug0M}*E}>-_%NGZ8L9D&P53Jk=q-S~|?Z zcFGhKCEpKisPA2{oDWcGw4-8sKhxoL%_)S;?pT~XVIAQVeMtRY5}!sXy>$S0k{0Nt zlfN6lq;7$ZDsdg!Y(u!W;Nrx&6kLB9t0d|2WIqfa&{S|531Ltg&6zUN2E&` zaiH!ui?q$81LqCP1Iuyl;O5%>Z08YH`SWVUI}zPp%^=-;f&AAq?b2Ox41Rndq7ehy zwLXN)ka8e&e25pY5Iaj}Db2y>hAJMGx(4NGDJIsDxM7zs#g1=IzBuC;lcvo=hj`V` zEjDOQS&+VOa&%4{M@%ZIm+Gvtt}Lv$;BXgY*x_LQ9-?pY`^o2&IH3XUp=YNy1;z{_dj$!x6$tTBBd-Y*PRDzDDz)C7FxLUNedM_Zt;*^3$fvyta^P zdb8U2A8n_P))ob5{E9}N%m-Cg`t5w6i;6h>`{5U7kUFc{MNr<>YVMIAL}&+nVDpp0 z9y%{RagK_+QRhVa+06I5H*;HAvZ6zQDP?vT2AM`n!I_VUQ*PT>xMLYNQILRQMnQvLO7sMEH8+JfOZ$@%Xu`x)GS~ zm$r(OSiPftrlQYxJjwy(s=MR+DF}YR^#5FR%T9&c8*RHS_J?Id+|gDXG)Kz6K!w-q zmkUM7pY_4(r-vCsr~EC9QPqmD?@r~8Kvq&e+$AW%%(6KZ2L>QLvqOj~Hf&AU)tU%; z*5Kb@@`Ww<<3?uFXhzrixe?c0)a-=tniKRA8=V2~9yJosMYiukl=-=#U3@)WV&)T&j~ z67Nbd==swA{AS<=>S5_4_b8nJh&G-q(fNRs;@M)XW zTR6-ZyxX^^`*Zl%vVQ1A=H33o>lr1yW__j?)J~sjXIP(L3)lnl?^@Poc2oRv<=sr_VpT zfxoG6ult*sosg+PhKA8y^5ZsDF}F%oS2ygw(q~MZGFrVg`F7q7rVQ04Z2@NW{hAlH z`nGOUqpP(xAI5>N1g!mc7sgQ?ZuRpfjdDgcZAuK)G%>FQhqV-zsoG2q5aVD8oxS&@ z(0ULrPL_zRFux~20AiEKVwQA?9EyHpS`H&kKb}F7oV=qlw{9s=F1=`bIV<9kekY~g zFR-^Dx0MGkL^j^(<)(K6(aWuto{taWfg_`WJkTv^i4yHW*3K?8a7B3e%Oy@KbJCp zJZlmqv3i-p;=A2jRc&=YNW;lgr3%SEQ_xQzUVsxkTAbW0K!v*UXkZMJ*-9&NQI|23Z3-!0A4?FHM z_^m@((-1cVpE`NqQIcfCJMwZ0zm;Jem&nOA3xsvTsQ72R*$QA!FW{!On$&)IZ8c&T zbhWs2Btbdy6Ow2O@9lakCufOn9wAY&hxri7h*iK(xa16|2-XMRBZst%<5KA!f0$-O z{8uxI=I5>%;g^L=^=0A0e3?-W#`;Fq|7Ij*#R|yv1K@(LU(k8|8(E&Vis9i&24Z*m z7-Z&{X`+a^^e?vOos0!Dk$%0bzGUasPQt!b+SLI5Z>M zs`FPsb;dxvqJV%+W7k6RC}bMnAU8i{l)P{5>u*PX#S}YZTuW7X#M(UybgC2zn~5{l z@f%7VbuD_tR+cnsQd>=5SH0+{uFt<8Dovzq0uq`E)1u6p7COa=DpHfT*Ij_Kg>~~ud_LW?8;`pzxX%%#YfbytCojR9~OxX093>cZ2SPcz~ z0US&$42%Z)MutW#MjUi@j@CwocGim9wrc<+@0`ZZ-9*#c1Tqm?_%hA5OMUR~@YWtI zj{-a>T=iK&f1aG-!cH28@1OR&xO6{$mPdl(~$WKVdJ@d%vicCfS@0e#I3LYMI0&Tm2D}**QL>Vsf}H7(!KNEwY58 zLu2)pI|O5$tWNyH<)Y;!+$5f`$=lhU#Sk~eC~Zri8joxJu+>Xn7HC6T*%CWILMD;C zRYKxTcuueNY@r^+yN%4qIDX1^`{#B(W?8ob^q+zR1T;ceEKd_Qk^)5v1oZcd@Fhre zj^?H|`cBRc#&mXUjsSmBFbHU>VDaE5cwk77Tz`@WfIrDC2rwuEA^;u&S}#}}*ccQH z1Q;9$VDuk^z`1H*Dyqf~j$gY)oD489jC2gFbnMIkItDrh00SKp9W&k6En0DXM>9?a zaTWzDJ4ZnYgRe+C8o~}L%4U`pEN1G$%Je3xEQW4sZq$|{s*LiCP6|9QFuDE+LI8iz z7JxrUPA(`2FbD_|-0{vK=8EV?%%R>N+#3ML-+uk0$H3rU{W4~N1wcc9s(?YDf~Y7l zpaW3<7GO}}gw0LOg}$_cP{PKL0ULn%_ckmllB=sLozYj7;a3%%p{+Fo34rKt6(}n1 zzqb%@bo}Cw5ut=Ip`xv=6QPg*;2S19fR%xP0q{RRnwaoRU!{L9{=e#mKQPgMX293L zfcgU?0s;JiVL<$Wfq|+J(5DWBe6{OB?pyR;>`{uUH^>r0%YRQj5OPqc>%l$yu9cxD zG3s+S)lme7hi~M-zy)Bs$HZ2KAG;}OGXzpSBBnC3x=d_sa+l^`TfBY0Q`FziAzUWd zt6TlRGMYot(tT0KV(Ac@%wv7A^jWB7=k3Mqk7Qb1p~w25Kx`-pSn9VC?$KvS#`w_4 zjBv4DzRj0{r~ZU>Sj*O%iH>C%`l%8^m^XcB4KpI)$&kuqMRXc6!>F0xhU$-e$$^=b z#_5oE^jf&Oh{@nw9ppt+%?B(R{7B(8Qnz-XhB@Gkhfv!XU#!~DS)X!QUUJhiSjv}# zG4q+1d=90HwSvch;E=xk6Oa(=hCx~1BXGckom@e4jhPa8#A{a~IaKte=4g~c4FRP0Q3 z$gKip#ndlw+XtFE@u-!IhOm>Tfg2jrc`Fg+rGzeOeWo^@Mt#oJ_LqH-(I6| zNv*A7idyu6>*fl`@{sJas`mO{`qLCzs3D=I=#J#;OI~3_=<{#x0RCU+ApF6w{-L^H z&{(*-i|r=PN2)fz!3byv7Ul6upEkuwgGZm)~Rt7p;(1BDhg-dY{gk&JVp& zk`K>&5GNkQ5husG`oH7_5}TkXGs!#EQINHhnD_N5-l3U>hlwoE<`tZV(hw$9<4J}< zZNok6$>?Eql@HWc+cB6h+4EM~qK^ZVN&0x);LPXK2w zdoF7*^FJTuV8#63eU8=t+Lr0R-&XE#7YM<`0ipnQ2$;XKdGNax5C|B63PADC{|Ew% zf%ms#j$f?!uX7{4ki61ge*U8+=zqdY&4FJYR4@faXZD~ydM~t(#?A=p|5up#1pxns znY84G@hiCE~WTC@Mt-42Cf16%igeh@BKW812qxv*HqhtDr~j8kF)X4 zhzgB1MbVmjIwXFwNQGB?_R)q2s8UtSy25VvtY{G7Pnn{!+Mls?xR3~O=x=Q`O$vQc zB-JEC!{k(XloU9e_7ou8ba4eeq{w@jXkvNpW@a@RCEA4AtM+wpG3}+#gD7S>)BNN7 z!bPYzM@Dd@P=bv0tl=aeAM_61c*_zZ$tN24r>{;%mi6Z*LTe4Rk&CDBn~%VRQ)vu_ zJWx1T4SpGNLkUO_e<1x{Bi3I0C7ujy@|0dt60w5l;^WTDtb`fsP4bSh3e$}guD>u- z{tGkN|ACp1$PFfHdv?zD@?&fUvs@_u6*K?;0IRRH4+A@Z`QH~iUjWMRRb>7Lo&x+L z{}n+|0mxs12L^=-qxQ7~{6ah@TN?(Xf74hnNK{BgVqZqeNrf2Q^}ZOg#L*|#Lw&X}wzgi@Az?P+1G zP4=0wCx)m*sAMT`l!Ww3DG4dNkg_FFueFj;WU25yGmK^O_P+n?`>yZ3zHeN(&N zKlgdgbAHe7{yq1Z!*MIXyx#aSkwL92yk;mb=}P97CVu=tS~?ROXO#0n+W?=ishKL* zCI{iWmRe>b!s|a)5euP=9;F1kDwrT46z@2GKA)9A^1fAIpZG1_{E?WwsNs{H@tRJJ zcRY?9?-8GwLv@c#$^nUF|l(i%8D93q{dq9&M6{2-ry zIG-3(Ye9&J9n=&5)qFx`4~ugOnK~>mhlQzS4f&)f(;)(a(EtPmQ@=bZKY~!&?H7pQ zewu$=ibrxxC5zVw+p#A4Zl3 z#KIao<`Ubb4-emZ8etT-f5O#da34otouAIR-&!}xmTc0CM3Ic&8hgE+^L*XMWxLs> zS8;0Bh_RJamU@b6nW0DlX~$?&uIFJ-l?Hvim_+8(4Uli0m$G4nsdc~Mg%@cJM|w?9 zRo`?=zvi5Yhj`{dnsWa?{lk!bfXY~_a)g{dNiyOras%Y?#eC}<3NqAAo zmwKb%a_hlcdB@TM_)gC9@Txq1`^K%EU+#u#nq8!Uh4O9! zfour(s-t#gaGM$muY%Su#+A%;Xx7CIMmQw6xWUYTW(Vj8K}zIc5d11xL&8Ybg?N;i z1HnNFoR@YW5s)l$4d5g6@K6;q1RRb)3qt&BQ1(~?(bW;?Hb))piEEgTdboQ4q$A(} zlcYws%=Bn+dQlInMp=bHi%Dhr+#h0RU+`ykX1#H|D6IE6hVPT)ZDV^#X@z+>T9Q|S zI-O%Zaq{lo&hyZ!;Db@XxjQ)e$sZ+nxI?7YJ=Iw@{mgFe|XLsJ=n#M`}nK-@O=)Ubqy4nZaw~~Sx z&R{Q|ec2gOy8}8DA9_=H%rt{PdTPe|SiYT$kI(p9gAC?MUvFkUCh2#`6QVg^kA6{l z2oG$IpMBQza(BE){cf4()ADY-V&XfR)9>>&jpYkR4cC28@R5`W#7a@-4*&#`U0S^s>ei^WnmV_&eU_%3+mZ&2NIFnh$Vlbd()>*W$dn#x}6Tfx|AN ze&C*zA9k{R&0t{nfcbFz!;Vblt%m+PPoI9|IWjezPV^c(`-X@82A5zji90hsS~EE$ zJuQ?=1PbL6Sbn|P(4kx`U?*~Mw2{@HwUbcj+A*^FgIX~Lz&wFjRvS(a?iX>;wZh;4 zKN!P zC6!LDIeYBLbhFdHlC!<2jtAb;15ZhM zLW@wiEf9!!7Z01^y$M87V@IN|2i^tT?bIM|u>cvSm6S!zaBhyKM68=9IkqDswId!R zSna~3hO+AeW>*LVt+WMpr^R34Aa<8ajE=3SZ!LeN5Dj=kq>`0RuY-8zon`}a8;)#S zmMmwVWYBa>dGp-efN=3i?r1lv;A$1aNVu2VNBGO+4a(#{~ej%bVaR z>f!F{54aw9(K|VwRiIW8HFwAP0KpIIx*&*=)n+H0{d~fh_Ph5$5I5xEMq=hsoB)K(Yva>v!NdhcX<@w7=M{(0l~LM<1EC`+RsT%7(VJ{>lj z*m8vlKE@%5T(_s=vrvGOOQNk)`m2#9`Owd!Bg})kwLC|A=-e^QIakbK)e}rdFBIBz z{)zc~!gl(A6leYq-Y-QKM?)l|=cy&>4n)fRS#Vpa$RQy&DlLMqp~pftX@^n|K>Hy} z$efoM=SE)baK<@7Vvq>Lh-8pqqeJl1bI0^I^GD=FpLHp33_04Ozg{+wPaayB@j(3Q z>f!7m55_5u0PYmBxU1kppzI@CTH>+yeZS%KcU>`E+gdirsOZD^B7u>Q=1!#0s6A6t zx9J9Codf$W_}bUI8%_tYp*m{{l?pxg+JD>d%{44)SISoVvE*qV#rU{9-{PF)M|pi{ zu_{u$g*97VSxa8V{+!SDbq@@M_Q&oSiRIlSV*LllchWx9HLmrax0Qdj@4eeAR=Yv% z!wiqp&T#?G=SGBUK|80neaf`4Yx%4>^(WC%W_=1NzhYCzg@o&#A9I8rF>;Q!zV7Oe z8f{g)9X4Ru6I1#qExUA^(7hJb!I!rWs_#9j8S~i5)js>ft90IR(u;U*wxEXiEw7ql zJPD-0%g0L+vF&;%6JsksMnF|crK5A@=BL68Mi|Z^y}mq1JYO)>5Q_b*I6K~{{Xzu$`E=!s+|Wfu$%$57r@JRB{u(e zCzMUl#(9(#`Q?Q255&Tv{VDs+_ohVQ5Al<(el#Du4Zo$~m7^HL;1ZE61yf8oYE_!tgE{vP}&|J2VR)# zI(6%!ntbpRsRw>)l_#!$`jmU}?6c@YANO8$(iFPx+`8B^QuBh=WF(b zp*EHWGHo}SW+}kzo_o5rfZ=X?TOIN`Zg{r%oF(3OydkrGmig;> zl}GWXj#hS#=NYs-d(RwabMJ(|QlwuFpJI%}6Gd%-{cKs=^XjMDWJU_w`&xzEIMvTh zoUgsyt3O<1%GRQs5aCyura}#9eE}aKtPDuu$W_HdC(!di7_)&6K?hc{7eh#b3QIs4 zTSukR4)O$lH+wq@rr3KDAj!o-2#Ak=)na&0EF@1Y2I56=NEE~h3)&>mAJ;BKf&_|b z2eN6(ybCl#1xOB(NtI5OijZ7UXuf@K>Rc>`2XZ4NI$lNmWTL1mLY(vfLDRulr7nTd zad9jX7CA*|i>e%E88qhFw>`aP9FG6* zqzU@wf%aOWNw1}=c&T}?$5Z4@%{>L;K8`~}%3m(VlQzoE6eVWERhx4qwJtH6j!IjG zTOA$@*Vh(1+5aZLdE=cxEmJH1vnFVy(FHoaif0;hLj|xe>f)989{nS?BQH_muNw3e z$U`DS+oCx1zXfz!<9%Bl`ctI*cPvWP_m5|qW_uz%;E zBmN)5sq!*7z0L*Cx)NS5;La;-vlX4~uM7(mS^=l4;_b4PW$G%)&fjxKA6&J$nxx;D zDP?`f~lYc3tAw$u3CaYv-pnPSVxb10^Ej)%${zOe*;-`Z?fy5|DVK3x>bWd6GS=d{ZUG$RHk z9tZ1c>^!*6x;K4mD{f<}SWtI}^KrYJ0%Lie3!EA(bnDex-qyl6_)C$?;Z-hiz>F*CZ`Ks3PLx!^1Nu2M$VkC5N z(p%7$iIL+n_tjzRG9`eby(Bau6wrWBLLixiUbKSv%m)^PP%}nd?|XBMyDDV5ClszR zJ7GFwqio&x=dCj=Oh$iV${EZycT}9b6J{XerQ*@xUVky<-FZI5>&-)F zSvVvE`~ zX9N4zYnk$=12^HAp%5BrtD$$GP?nqsYxX3I~}6T*V+ zBlJ9_bxdikf>GR#?-{OddmvcKwa);K;D&L7{3s?EIY%*gJ%a)}NWYr~zpP;I%8w1+ z(UqVePyS1;D7R2?H>l`hGNpt7IeU&M7;G(U!?Jp+z?2R}^pyv)lOxb&37(GjEHF_@ z88~b`Z0l>T#(0S~IPL%C&S`-*ZkvdIU6%o}C-adozGW@IU}x!JFjt(Ng1aLTqolCB zH3wH$S~JHtP7iLx!(i-}Y0Y$IBmTk+$jw}CMjLo@pYLva5U2nvqcx)@L`OBV1^SgY zWHawlRfYV4Hz6ssWk(abOV=GWfL^)mg185(bP zfRj3-3gve`0vCP{6v;wW$B-u~}Nnw7KI;mdo2v%QDHA*IO-DdZ`|3J8HGe yX<7rcdBjTwpjW8>`K;ol=2y=?U25L{HHsz|b)NwPl6;&C{G4Eb!ERCVRsRbXpsSYv literal 0 HcmV?d00001 diff --git a/src/packages/Castle.Core.4.4.1/LICENSE b/src/packages/Castle.Core.4.4.1/LICENSE new file mode 100644 index 0000000..ebb9ac9 --- /dev/null +++ b/src/packages/Castle.Core.4.4.1/LICENSE @@ -0,0 +1,13 @@ +Copyright 2004-2016 Castle Project - http://www.castleproject.org/ + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. \ No newline at end of file diff --git a/src/packages/Castle.Core.4.4.1/lib/net35/Castle.Core.xml b/src/packages/Castle.Core.4.4.1/lib/net35/Castle.Core.xml new file mode 100644 index 0000000..02ab92e --- /dev/null +++ b/src/packages/Castle.Core.4.4.1/lib/net35/Castle.Core.xml @@ -0,0 +1,6124 @@ + + + + Castle.Core + + + +

+ Abstract adapter for the support + needed by the + + + + + Adds an element with the provided key and value to the object. + + The to use as the key of the element to add. + The to use as the value of the element to add. + An element with the same key already exists in the object. + key is null. + The is read-only.-or- The has a fixed size. + + + + Removes all elements from the object. + + The object is read-only. + + + + Determines whether the object contains an element with the specified key. + + The key to locate in the object. + + true if the contains an element with the key; otherwise, false. + + key is null. + + + + Returns an object for the object. + + + An object for the object. + + + + + Gets a value indicating whether the object has a fixed size. + + true if the object has a fixed size; otherwise, false. + + + + Gets a value indicating whether the object is read-only. + + true if the object is read-only; otherwise, false. + + + + Gets an object containing the keys of the object. + + An object containing the keys of the object. + + + + Removes the element with the specified key from the object. + + The key of the element to remove. + The object is read-only.-or- The has a fixed size. + key is null. + + + + Gets an object containing the values in the object. + + An object containing the values in the object. + + + + Gets or sets the with the specified key. + + + + + Copies the elements of the to an , starting at a particular index. + + The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. + The zero-based index in array at which copying begins. + array is null. + The type of the source cannot be cast automatically to the type of the destination array. + index is less than zero. + array is multidimensional.-or- index is equal to or greater than the length of array.-or- The number of elements in the source is greater than the available space from index to the end of the destination array. + + + + Gets the number of elements contained in the . + + The number of elements contained in the . + + + + Gets a value indicating whether access to the is synchronized (thread safe). + + true if access to the is synchronized (thread safe); otherwise, false. + + + + Gets an object that can be used to synchronize access to the . + + An object that can be used to synchronize access to the . + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Abstract implementation of . + + + + + Identifies a property should be represented as a nested component. + + + + + Applies no prefix. + + + + + Gets or sets the prefix. + + The prefix. + + + + Identifies the dictionary adapter types. + + + + + Assigns a specific dictionary key. + + + + + Identifies an interface or property to be pre-fetched. + + + + + Instructs fetching to occur. + + + + + Instructs fetching according to + + + + + Gets whether or not fetching should occur. + + + + + Assigns a property to a group. + + + + + Constructs a group assignment. + + The group name. + + + + Constructs a group assignment. + + The group name. + + + + Gets the group the property is assigned to. + + + + + Suppresses any on-demand behaviors. + + + + + Assigns a specific dictionary key. + + + + + Initializes a new instance of the class. + + The key. + + + + Initializes a new instance of the class. + + The compound key. + + + + Assigns a prefix to the keyed properties of an interface. + + + Key prefixes are not inherited by sub-interfaces. + + + + + Initializes a default instance of the class. + + + + + Initializes a new instance of the class. + + The prefix for the keyed properties of the interface. + + + + Gets the prefix key added to the properties of the interface. + + + + + Substitutes part of key with another string. + + + + + Initializes a new instance of the class. + + The old value. + The new value. + + + + Requests support for multi-level editing. + + + + + Generates a new GUID on demand. + + + + + Support for on-demand value resolution. + + + + + Specifies assignment by reference rather than by copying. + + + + + Removes a property if matches value. + + + + + Removes a property if null or empty string, guid or collection. + + + + + Provides simple string formatting from existing properties. + + + + + Gets the string format. + + + + + Gets the format properties. + + + + + Identifies a property should be represented as a delimited string value. + + + + + Gets the separator. + + + + + Converts all properties to strings. + + + + + Gets or sets the format. + + The format. + + + + Suppress property change notifications. + + + + + Assigns a prefix to the keyed properties using the interface name. + + + + + Indicates that underlying values are changeable and should not be cached. + + + + + Initializes a new instance of the class + that represents a child object in a larger object graph. + + + + + Manages conversion between property values. + + + + + Initializes a new instance of the class. + + The converter. + + + + + + + + + Gets the effective dictionary value. + + The dictionary adapter. + The key. + The stored value. + The property. + true if return only existing. + The effective property value. + + + + Uses Reflection.Emit to expose the properties of a dictionary + through a dynamic implementation of a typed interface. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Contract for manipulating the Dictionary adapter. + + + + + Defines the contract for building typed dictionary adapters. + + + + + Gets a typed adapter bound to the . + + The typed interface. + The underlying source of properties. + An implementation of the typed interface bound to the dictionary. + + The type represented by T must be an interface with properties. + + + + + Gets a typed adapter bound to the . + + The typed interface. + The underlying source of properties. + An implementation of the typed interface bound to the dictionary. + + The type represented by T must be an interface with properties. + + + + + Gets a typed adapter bound to the . + + The typed interface. + The underlying source of properties. + The property descriptor. + An implementation of the typed interface bound to the dictionary. + + The type represented by T must be an interface with properties. + + + + + Gets a typed adapter bound to the . + + The typed interface. + The underlying source of properties. + An implementation of the typed interface bound to the namedValues. + + The type represented by T must be an interface with properties. + + + + + Gets a typed adapter bound to the . + + The typed interface. + The underlying source of properties. + An implementation of the typed interface bound to the namedValues. + + The type represented by T must be an interface with properties. + + + + + Gets a typed adapter bound to the . + + The typed interface. + The underlying source of properties. + An implementation of the typed interface bound to the . + + The type represented by T must be an interface with properties. + + + + + Gets a typed adapter bound to the . + + The typed interface. + The underlying source of properties. + An implementation of the typed interface bound to the . + + The type represented by T must be an interface with properties. + + + + + Gets the associated with the type. + + The typed interface. + The adapter meta-data. + + + + Gets the associated with the type. + + The typed interface. + The property descriptor. + The adapter meta-data. + + + + Gets the associated with the type. + + The typed interface. + Another from which to copy behaviors. + The adapter meta-data. + + + + Contract for traversing a . + + + + + Defines the contract for customizing dictionary access. + + + + + Determines relative order to apply related behaviors. + + + + + Copies the dictionary behavior. + + null if should not be copied. Otherwise copy. + + + + Defines the contract for building s. + + + + + Builds the dictionary behaviors. + + + + + Contract for creating additional Dictionary adapters. + + + + + Contract for editing the Dictionary adapter. + + + + + Contract for dictionary initialization. + + + + + Performs any initialization of the + + The dictionary adapter. + The dictionary behaviors. + + + + Defines the contract for building typed dictionary keys. + + + + + Builds the specified key. + + The dictionary adapter. + The current key. + The property. + The updated key + + + + Contract for dictionary meta-data initialization. + + + + + Initializes the given object. + + The dictionary adapter factory. + The dictionary adapter meta. + + + + + Determines whether the given behavior should be included in a new + object. + + A dictionary behavior or annotation. + True if the behavior should be included; otherwise, false. + + behaviors are always included, + regardless of the result of this method. + + + + + + Contract for managing Dictionary adapter notifications. + + + + + Defines the contract for retrieving dictionary values. + + + + + Gets the effective dictionary value. + + The dictionary adapter. + The key. + The stored value. + The property. + true if return only existing. + The effective property value. + + + + Defines the contract for updating dictionary values. + + + + + Sets the stored dictionary value. + + The dictionary adapter. + The key. + The stored value. + The property. + true if the property should be stored. + + + + Contract for validating Dictionary adapter. + + + + + Contract for dictionary validation. + + + + + Determines if is valid. + + The dictionary adapter. + true if valid. + + + + Validates the . + + The dictionary adapter. + The error summary information. + + + + Validates the for a property. + + The dictionary adapter. + The property to validate. + The property summary information. + + + + Invalidates any results cached by the validator. + + The dictionary adapter. + + + + Contract for property descriptor initialization. + + + + + Performs any initialization of the + + The property descriptor. + The property behaviors. + + + + + + + + + Initializes a new instance of the class. + + The name values. + + + + Gets a value indicating whether the object is read-only. + + true if the object is read-only; otherwise, false. + + + + Determines whether the object contains an element with the specified key. + + The key to locate in the object. + + true if the contains an element with the key; otherwise, false. + + key is null. + + + + Gets or sets the with the specified key. + + + + + Adapts the specified name values. + + The name values. + + + + Describes a dictionary property. + + + + + Initializes an empty class. + + + + + Initializes a new instance of the class. + + The property. + The annotations. + + + + Initializes a new instance class. + + + + + Copies an existing instance of the class. + + + + + + + + + + Gets the property name. + + + + + Gets the property type. + + + + + Gets the property. + + The property. + + + + Returns true if the property is dynamic. + + + + + Gets additional state. + + + + + Determines if property should be fetched. + + + + + Determines if property must exist first. + + + + + Determines if notifications should occur. + + + + + Gets the property behaviors. + + + + + Gets the type converter. + + The type converter. + + + + Gets the extended properties. + + + + + Gets the setter. + + The setter. + + + + Gets the key builders. + + The key builders. + + + + Gets the setter. + + The setter. + + + + Gets the getter. + + The getter. + + + + Gets the initializers. + + The initializers. + + + + Gets the meta-data initializers. + + The meta-data initializers. + + + + Gets the key. + + The dictionary adapter. + The key. + The descriptor. + + + + Gets the property value. + + The dictionary adapter. + The key. + The stored value. + The descriptor. + true if return only existing. + + + + Sets the property value. + + The dictionary adapter. + The key. + The value. + The descriptor. + + + + Adds a single behavior. + + The behavior. + + + + Adds the behaviors. + + The behaviors. + + + + Adds the behaviors. + + The behaviors. + + + + Copies the behaviors to the other + + + + + Copies the + + + + + Provides a generic collection that supports data binding. + + + This class wraps the CLR + in order to implement the Castle-specific . + + The type of elements in the list. + + + + Initializes a new instance of the class + using default values. + + + + + Initializes a new instance of the class + with the specified list. + + + An of items + to be contained in the . + + + + + Initializes a new instance of the class + wrapping the specified instance. + + + A + to be wrapped by the . + + + + + Contract for value matching. + + + + + Contract for dynamic value resolution. + + + + + Contract for typed dynamic value resolution. + + + + + + This is an abstract implementation + that deals with methods that can be abstracted away + from underlying implementations. + + + AbstractConfiguration makes easier to implementers + to create a new version of + + + + + Gets node attributes. + + + All attributes of the node. + + + + + Gets all child nodes. + + The of child nodes. + + + + Gets the name of the . + + + The Name of the . + + + + + Gets the value of . + + + The Value of the . + + + + + Gets the value of the node and converts it + into specified . + + The + + The Default value returned if the conversion fails. + + The Value converted into the specified type. + + + + A collection of objects. + + + + + Creates a new instance of ConfigurationCollection. + + + + + Creates a new instance of ConfigurationCollection. + + + + + is a interface encapsulating a configuration node + used to retrieve configuration values. + + + + + Gets the name of the node. + + + The Name of the node. + + + + + Gets the value of the node. + + + The Value of the node. + + + + + Gets an of + elements containing all node children. + + The Collection of child nodes. + + + + Gets an of the configuration attributes. + + + + + Gets the value of the node and converts it + into specified . + + The + + The Default value returned if the conversion fails. + + The Value converted into the specified type. + + + + Initializes a new instance of the class. + + The name. + + + + Gets the value of . + + + The Value of the . + + + + + Deserializes the specified node into an abstract representation of configuration. + + The node. + + + + If a config value is an empty string we return null, this is to keep + backward compatibility with old code + + + + + Helper class for retrieving attributes. + + + + + Gets the attribute. + + The type. + The type attribute. + + + + Gets the attributes. Does not consider inherited attributes! + + The type. + The type attributes. + + + + Gets the attribute. + + The member. + The member attribute. + + + + Gets the attributes. Does not consider inherited attributes! + + The member. + The member attributes. + + + + Gets the type attribute. + + The type. + The type attribute. + + + + Gets the type attributes. + + The type. + The type attributes. + + + + Gets the type converter. + + The member. + + + + Checks whether or not collection is null or empty. Assumes collection can be safely enumerated multiple times. + + + + + Generates a HashCode for the contents for the list. Order of items does not matter. + + The type of object contained within the list. + The list. + The generated HashCode. + + + + Determines if two lists are equivalent. Equivalent lists have the same number of items and each item is found within the other regardless of respective position within each. + + The type of object contained within the list. + The first list. + The second list. + True if the two lists are equivalent. + + + + Constant to use when making assembly internals visible to Castle.Core + [assembly: InternalsVisibleTo(CoreInternalsVisible.ToCastleCore)] + + + + + Constant to use when making assembly internals visible to proxy types generated by DynamicProxy. Required when proxying internal types. + [assembly: InternalsVisibleTo(CoreInternalsVisible.ToDynamicProxyGenAssembly2)] + + + + + Creates a new lock. + + + + + Find the best available name to describe a type. + + + Usually the best name will be , but + sometimes that's null (see http://msdn.microsoft.com/en-us/library/system.type.fullname%28v=vs.110%29.aspx) + in which case the method falls back to . + + the type to name + the best name + + + + Defines that the implementation wants a + in order to + access other components. The creator must be aware + that the component might (or might not) implement + the interface. + + + Used by Castle Project components to, for example, + gather logging factories + + + + + Increments IServiceProvider with a generic service resolution operation. + + + + + This interface should be implemented by classes + that are available in a bigger context, exposing + the container to different areas in the same application. + + For example, in Web application, the (global) HttpApplication + subclasses should implement this interface to expose + the configured container + + + + + + Creates a new extended logger, getting the logger name from the specified type. + + + + + Creates a new extended logger. + + + + + Creates a new extended logger, getting the logger name from the specified type. + + + + + Creates a new extended logger. + + + + + Creates a new logger, getting the logger name from the specified type. + + + + + Creates a new logger. + + + + + Creates a new logger, getting the logger name from the specified type. + + + + + Creates a new logger. + + + + + Gets the configuration file. + + i.e. log4net.config + + + + Gets the configuration file. + + i.e. log4net.config + + + + The Logger sending everything to the standard output streams. + This is mainly for the cases when you have a utility that + does not have a logger to supply. + + + + + Creates a new ConsoleLogger with the Level + set to LoggerLevel.Debug and the Name + set to String.Empty. + + + + + Creates a new ConsoleLogger with the Name + set to String.Empty. + + The logs Level. + + + + Creates a new ConsoleLogger with the Level + set to LoggerLevel.Debug. + + The logs Name. + + + + Creates a new ConsoleLogger. + + The logs Name. + The logs Level. + + + + A Common method to log. + + The level of logging + The name of the logger + The Message + The Exception + + + + Returns a new ConsoleLogger with the name + added after this loggers name, with a dot in between. + + The added hierarchical name. + A new ConsoleLogger. + + + + The Logger using standard Diagnostics namespace. + + + + + Creates a logger based on . + + + + + + Creates a logger based on . + + + + + + + Creates a logger based on . + + + + + + + + Interface for Context Properties implementations + + + + This interface defines a basic property get set accessor. + + + Based on the ContextPropertiesBase of log4net, by Nicko Cadell. + + + + + + Gets or sets the value of a property + + + The value for the property with the specified key + + + + Gets or sets the value of a property + + + + + + Provides an interface that supports and + allows the storage and retrieval of Contexts. These are supported in + both log4net and NLog. + + + + + Exposes the Global Context of the extended logger. + + + + + Exposes the Thread Context of the extended logger. + + + + + Exposes the Thread Stack of the extended logger. + + + + + Provides a factory that can produce either or + classes. + + + + + Creates a new extended logger, getting the logger name from the specified type. + + + + + Creates a new extended logger. + + + + + Creates a new extended logger, getting the logger name from the specified type. + + + + + Creates a new extended logger. + + + + + Manages logging. + + + This is a facade for the different logging subsystems. + It offers a simplified interface that follows IOC patterns + and a simplified priority/level/severity abstraction. + + + + + Determines if messages of priority "trace" will be logged. + + True if "trace" messages will be logged. + + + + Determines if messages of priority "debug" will be logged. + + True if "debug" messages will be logged. + + + + Determines if messages of priority "error" will be logged. + + True if "error" messages will be logged. + + + + Determines if messages of priority "fatal" will be logged. + + True if "fatal" messages will be logged. + + + + Determines if messages of priority "info" will be logged. + + True if "info" messages will be logged. + + + + Determines if messages of priority "warn" will be logged. + + True if "warn" messages will be logged. + + + + Create a new child logger. + The name of the child logger is [current-loggers-name].[passed-in-name] + + The Subname of this logger. + The New ILogger instance. + If the name has an empty element name. + + + + Logs a trace message. + + The message to log + + + + Logs a trace message with lazily constructed message. The message will be constructed only if the is true. + + + + + Logs a trace message. + + The exception to log + The message to log + + + + Logs a trace message. + + Format string for the message to log + Format arguments for the message to log + + + + Logs a trace message. + + The exception to log + Format string for the message to log + Format arguments for the message to log + + + + Logs a trace message. + + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs a trace message. + + The exception to log + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs a debug message. + + The message to log + + + + Logs a debug message with lazily constructed message. The message will be constructed only if the is true. + + + + + Logs a debug message. + + The exception to log + The message to log + + + + Logs a debug message. + + Format string for the message to log + Format arguments for the message to log + + + + Logs a debug message. + + The exception to log + Format string for the message to log + Format arguments for the message to log + + + + Logs a debug message. + + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs a debug message. + + The exception to log + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs an error message. + + The message to log + + + + Logs an error message with lazily constructed message. The message will be constructed only if the is true. + + + + + Logs an error message. + + The exception to log + The message to log + + + + Logs an error message. + + Format string for the message to log + Format arguments for the message to log + + + + Logs an error message. + + The exception to log + Format string for the message to log + Format arguments for the message to log + + + + Logs an error message. + + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs an error message. + + The exception to log + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs a fatal message. + + The message to log + + + + Logs a fatal message with lazily constructed message. The message will be constructed only if the is true. + + + + + Logs a fatal message. + + The exception to log + The message to log + + + + Logs a fatal message. + + Format string for the message to log + Format arguments for the message to log + + + + Logs a fatal message. + + The exception to log + Format string for the message to log + Format arguments for the message to log + + + + Logs a fatal message. + + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs a fatal message. + + The exception to log + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs an info message. + + The message to log + + + + Logs a info message with lazily constructed message. The message will be constructed only if the is true. + + + + + Logs an info message. + + The exception to log + The message to log + + + + Logs an info message. + + Format string for the message to log + Format arguments for the message to log + + + + Logs an info message. + + The exception to log + Format string for the message to log + Format arguments for the message to log + + + + Logs an info message. + + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs an info message. + + The exception to log + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs a warn message. + + The message to log + + + + Logs a warn message with lazily constructed message. The message will be constructed only if the is true. + + + + + Logs a warn message. + + The exception to log + The message to log + + + + Logs a warn message. + + Format string for the message to log + Format arguments for the message to log + + + + Logs a warn message. + + The exception to log + Format string for the message to log + Format arguments for the message to log + + + + Logs a warn message. + + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs a warn message. + + The exception to log + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Manages the instantiation of s. + + + + + Creates a new logger, getting the logger name from the specified type. + + + + + Creates a new logger. + + + + + Creates a new logger, getting the logger name from the specified type. + + + + + Creates a new logger. + + + + + The Level Filtered Logger class. This is a base class which + provides a LogLevel attribute and reroutes all functions into + one Log method. + + + + + Creates a new LevelFilteredLogger. + + + + + Keep the instance alive in a remoting scenario + + + + + The LoggerLevel that this logger + will be using. Defaults to LoggerLevel.Off + + + + + The name that this logger will be using. + Defaults to String.Empty + + + + + Logs a trace message. + + The message to log + + + + Logs a trace message. + + A functor to create the message + + + + Logs a trace message. + + The exception to log + The message to log + + + + Logs a trace message. + + Format string for the message to log + Format arguments for the message to log + + + + Logs a trace message. + + The exception to log + Format string for the message to log + Format arguments for the message to log + + + + Logs a trace message. + + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs a trace message. + + The exception to log + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs a debug message. + + The message to log + + + + Logs a debug message. + + The exception to log + The message to log + + + + Logs a debug message. + + Format string for the message to log + Format arguments for the message to log + + + + Logs a debug message. + + The exception to log + Format string for the message to log + Format arguments for the message to log + + + + Logs a debug message. + + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs a debug message. + + The exception to log + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs an info message. + + The message to log + + + + Logs an info message. + + The exception to log + The message to log + + + + Logs an info message. + + Format string for the message to log + Format arguments for the message to log + + + + Logs an info message. + + The exception to log + Format string for the message to log + Format arguments for the message to log + + + + Logs an info message. + + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs an info message. + + The exception to log + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs a warn message. + + The message to log + + + + Logs a warn message. + + The exception to log + The message to log + + + + Logs a warn message. + + Format string for the message to log + Format arguments for the message to log + + + + Logs a warn message. + + The exception to log + Format string for the message to log + Format arguments for the message to log + + + + Logs a warn message. + + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs a warn message. + + The exception to log + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs an error message. + + The message to log + + + + Logs an error message. + + The exception to log + The message to log + + + + Logs an error message. + + Format string for the message to log + Format arguments for the message to log + + + + Logs an error message. + + The exception to log + Format string for the message to log + Format arguments for the message to log + + + + Logs an error message. + + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs an error message. + + The exception to log + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs a fatal message. + + The message to log + + + + Logs a fatal message. + + The exception to log + The message to log + + + + Logs a fatal message. + + Format string for the message to log + Format arguments for the message to log + + + + Logs a fatal message. + + The exception to log + Format string for the message to log + Format arguments for the message to log + + + + Logs a fatal message. + + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs a fatal message. + + The exception to log + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Determines if messages of priority "trace" will be logged. + + true if log level flags include the bit + + + + Determines if messages of priority "debug" will be logged. + + true if log level flags include the bit + + + + Determines if messages of priority "info" will be logged. + + true if log level flags include the bit + + + + Determines if messages of priority "warn" will be logged. + + true if log level flags include the bit + + + + Determines if messages of priority "error" will be logged. + + true if log level flags include the bit + + + + Determines if messages of priority "fatal" will be logged. + + true if log level flags include the bit + + + + Implementors output the log content by implementing this method only. + Note that exception can be null + + + + + Supporting Logger levels. + + + + + Logging will be off + + + + + Fatal logging level + + + + + Error logging level + + + + + Warn logging level + + + + + Info logging level + + + + + Debug logging level + + + + + Trace logging level + + + + + NullLogFactory used when logging is turned off. + + + + + Creates an instance of ILogger with the specified name. + + Name. + + + + Creates an instance of ILogger with the specified name and LoggerLevel. + + Name. + Level. + + + + The Null Logger class. This is useful for implementations where you need + to provide a logger to a utility class, but do not want any output from it. + It also helps when you have a utility that does not have a logger to supply. + + + + + Returns empty context properties. + + + + + Returns empty context properties. + + + + + Returns empty context stacks. + + + + + No-op. + + false + + + + No-op. + + false + + + + No-op. + + false + + + + No-op. + + false + + + + No-op. + + false + + + + No-op. + + false + + + + Returns this NullLogger. + + Ignored + This ILogger instance. + + + + No-op. + + Ignored + + + + No-op. + + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + Ignored + Ignored + + + + No-op. + + Ignored + + + + No-op. + + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + Ignored + Ignored + + + + No-op. + + Ignored + + + + No-op. + + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + Ignored + Ignored + + + + No-op. + + Ignored + + + + No-op. + + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + Ignored + Ignored + + + + No-op. + + Ignored + + + + No-op. + + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + Ignored + Ignored + + + + No-op. + + Ignored + + + + No-op. + + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + Ignored + Ignored + + + + The Stream Logger class. This class can stream log information + to any stream, it is suitable for storing a log file to disk, + or to a MemoryStream for testing your components. + + + This logger is not thread safe. + + + + + Creates a new StreamLogger with default encoding + and buffer size. Initial Level is set to Debug. + + + The name of the log. + + + The stream that will be used for logging, + seeking while the logger is alive + + + + + Creates a new StreamLogger with default buffer size. + Initial Level is set to Debug. + + + The name of the log. + + + The stream that will be used for logging, + seeking while the logger is alive + + + The encoding that will be used for this stream. + + + + + + Creates a new StreamLogger. + Initial Level is set to Debug. + + + The name of the log. + + + The stream that will be used for logging, + seeking while the logger is alive + + + The encoding that will be used for this stream. + + + + The buffer size that will be used for this stream. + + + + + + Creates a new StreamLogger with + Debug as default Level. + + The name of the log. + The StreamWriter the log will write to. + + + + Creates outputting + to files. The name of the file is derived from the log name + plus the 'log' extension. + + + + + The TraceLogger sends all logging to the System.Diagnostics.TraceSource + built into the .net framework. + + + Logging can be configured in the system.diagnostics configuration + section. + + If logger doesn't find a source name with a full match it will + use source names which match the namespace partially. For example you can + configure from all castle components by adding a source name with the + name "Castle". + + If no portion of the namespace matches the source named "Default" will + be used. + + + + + Build a new trace logger based on the named TraceSource + + The name used to locate the best TraceSource. In most cases comes from the using type's fullname. + + + + Build a new trace logger based on the named TraceSource + + The name used to locate the best TraceSource. In most cases comes from the using type's fullname. + The default logging level at which this source should write messages. In almost all cases this + default value will be overridden in the config file. + + + + Create a new child logger. + The name of the child logger is [current-loggers-name].[passed-in-name] + + The Subname of this logger. + The New ILogger instance. + + + + Used to create the TraceLogger implementation of ILogger interface. See . + + + + + General purpose class to represent a standard pair of values. + + Type of the first value + Type of the second value + + + + Constructs a pair with its values + + + + + List of utility methods related to dynamic proxy operations + + + + + Determines whether the specified type is a proxy generated by + DynamicProxy (1 or 2). + + The type. + + true if it is a proxy; otherwise, false. + + + + + Readonly implementation of which uses an anonymous object as its source. Uses names of properties as keys, and property values as... well - values. Keys are not case sensitive. + + + + + Initializes a new instance of the class. + + The target. + + + + Gets the number of elements contained in the . + + The number of elements contained in the . + + + + Gets a value indicating whether access to the is synchronized (thread safe). + + true if access to the is synchronized (thread safe); otherwise, false. + + + + Gets an object that can be used to synchronize access to the . + + An object that can be used to synchronize access to the . + + + + Gets a value indicating whether the object is read-only. + + true if the object is read-only; otherwise, false. + + + + Gets or sets the with the specified key. + + + + + Gets an object containing the keys of the object. + + An object containing the keys of the object. + + + + Gets an object containing the values in the object. + + An object containing the values in the object. + + + + Gets a value indicating whether the object has a fixed size. + + true if the object has a fixed size; otherwise, false. + + + + Adds an element with the provided key and value to the object. + + The to use as the key of the element to add. + The to use as the value of the element to add. + + is null. + An element with the same key already exists in the object. + The is read-only.-or- The has a fixed size. + + + + Removes all elements from the object. + + The object is read-only. + + + + Determines whether the object contains an element with the specified key. + + The key to locate in the object. + + true if the contains an element with the key; otherwise, false. + + + is null. + + + + Removes the element with the specified key from the object. + + The key of the element to remove. + + is null. + The object is read-only.-or- The has a fixed size. + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Copies the elements of the to an , starting at a particular index. + + The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. + The zero-based index in at which copying begins. + + is null. + + is less than zero. + + is multidimensional.-or- is equal to or greater than the length of .-or- The number of elements in the source is greater than the available space from to the end of the destination . + The type of the source cannot be cast automatically to the type of the destination . + + + + Returns an object for the object. + + + An object for the object. + + + + + Reads values of properties from and inserts them into using property names as keys. + + + + + + + + + + This returns a new stream instance each time it is called. + It is the responsibility of the caller to dispose of this stream + + + + + + + + + + + + + + + Represents a 'streamable' resource. Can + be a file, a resource in an assembly. + + + + + Only valid for resources that + can be obtained through relative paths + + + + + Returns a reader for the stream + + + It's up to the caller to dispose the reader. + + + + + Returns a reader for the stream + + + It's up to the caller to dispose the reader. + + + + + Returns an instance of + created according to the relativePath + using itself as the root. + + + + + Depicts the contract for resource factories. + + + + + Used to check whether the resource factory + is able to deal with the given resource + identifier. + + + Implementors should return true + only if the given identifier is supported + by the resource factory + + + + + Creates an instance + for the given resource identifier + + + + + Creates an instance + for the given resource identifier + + + + + Adapts a static string content as an + + + + + Enable access to files on network shares + + + + + Default implementation. + + + + + Initializes a new instance of the class based on the configuration provided in the application configuration file. + + + This constructor is based on the default configuration in the application configuration file. + + + + + This service implementation + requires a host name in order to work + + The smtp server name + + + + Gets or sets the port used to + access the SMTP server + + + + + Gets the hostname. + + The hostname. + + + + Gets or sets a value which is used to + configure if emails are going to be sent asynchronously or not. + + + + + Gets or sets a value that specifies + the amount of time after which a synchronous Send call times out. + + + + + Gets or sets a value indicating whether the email should be sent using + a secure communication channel. + + true if should use SSL; otherwise, false. + + + + Sends a message. + + If any of the parameters is null + From field + To field + e-mail's subject + message's body + + + + Sends a message. + + If the message is null + Message instance + + + + Gets or sets the domain. + + The domain. + + + + Gets or sets the name of the user. + + The name of the user. + + + + Gets or sets the password. + + The password. + + + + Configures the sender + with port information and eventual credential + informed + + Message instance + + + + Gets a value indicating whether credentials were informed. + + + if this instance has credentials; otherwise, . + + + + + Email sender abstraction. + + + + + Sends a mail message. + + From field + To field + E-mail's subject + message's body + + + + Sends a message. + + Message instance + + + + Sends multiple messages. + + List of messages + + + + Interface describing elements composing generated type + + + + + Performs some basic screening and invokes the + to select methods. + + + + + Encapsulates the information needed to build an attribute. + + + Arrays passed to this class as constructor arguments or property or field values become owned by this class. + They should not be mutated after creation. + + + + + Default implementation of interface producing in-memory proxy assemblies. + + + + + Initializes a new instance of the class with new . + + + + + Initializes a new instance of the class. + + The module scope for generated proxy types. + + + + Provides instructions that a user could follow to make a type or method in + visible to DynamicProxy. + The assembly containing the type or method. + Instructions that a user could follow to make a type or method visible to DynamicProxy. + + + + Creates a message to inform clients that a proxy couldn't be created due to reliance on an + inaccessible type (perhaps itself). + + the inaccessible type that prevents proxy creation + the type that couldn't be proxied + + + + Base class that exposes the common functionalities + to proxy generation. + + + + + It is safe to add mapping (no mapping for the interface exists) + + + + + Generates a parameters constructor that initializes the proxy + state with just to make it non-null. + + This constructor is important to allow proxies to be XML serializable + + + + + + Initializes a new instance of the class. + + Target element. This is either target type or target method for invocation types. + The type of the proxy. This is base type for invocation types. + The interfaces. + The options. + + + + Initializes a new instance of the class. + + Type of the target. + The interfaces. + The options. + + + + Provides appropriate Ldc.X opcode for the type of primitive value to be loaded. + + + + + Provides appropriate Ldind.X opcode for + the type of primitive value to be loaded indirectly. + + + + + Emits a load indirect opcode of the appropriate type for a value or object reference. + Pops a pointer off the evaluation stack, dereferences it and loads + a value of the specified type. + + + + + Emits a load opcode of the appropriate kind for a constant string or + primitive value. + + + + + Emits a load opcode of the appropriate kind for the constant default value of a + type, such as 0 for value types and null for reference types. + + + + + Emits a store indirectopcode of the appropriate type for a value or object reference. + Pops a value of the specified type and a pointer off the evaluation stack, and + stores the value. + + + + + Wraps a reference that is passed + ByRef and provides indirect load/store support. + + + + + Provides appropriate Stind.X opcode + for the type of primitive value to be stored indirectly. + + + + + Represents the scope of uniqueness of names for types and their members + + + + + Gets a unique name based on + + Name suggested by the caller + Unique name based on . + + Implementers should provide name as closely resembling as possible. + Generally if no collision occurs it is suggested to return suggested name, otherwise append sequential suffix. + Implementers must return deterministic names, that is when is called twice + with the same suggested name, the same returned name should be provided each time. Non-deterministic return + values, like appending random suffices will break serialization of proxies. + + + + + Returns new, disposable naming scope. It is responsibility of the caller to make sure that no naming collision + with enclosing scope, or other subscopes is possible. + + New naming scope. + + + + Generates the constructor for the class that extends + + + + + + Initializes a new instance of the class. + + The name. + Type declaring the original event being overridden, or null. + The event delegate type. + The add method. + The remove method. + The attributes. + + + + Returns the methods implemented by a type. Use this instead of Type.GetMethods() to work around a CLR issue + where duplicate MethodInfos are returned by Type.GetMethods() after a token of a generic type's method was loaded. + + + + + Exposes means to change target objects of proxies and invocations. + + + + + Changes the target object () of current . + + The new value of target of invocation. + + Although the method takes the actual instance must be of type assignable to , otherwise an will be thrown. + Also while it's technically legal to pass null reference (Nothing in Visual Basic) as , for obvious reasons Dynamic Proxy will not be able to call the intercepted method on such target. + In this case last interceptor in the pipeline mustn't call or a will be throws. + Also while it's technically legal to pass proxy itself as , this would create stack overflow. + In this case last interceptor in the pipeline mustn't call or a will be throws. + + Thrown when is not assignable to the proxied type. + + + + Permanently changes the target object of the proxy. This does not affect target of the current invocation. + + The new value of target of the proxy. + + Although the method takes the actual instance must be of type assignable to proxy's target type, otherwise an will be thrown. + Also while it's technically legal to pass null reference (Nothing in Visual Basic) as , for obvious reasons Dynamic Proxy will not be able to call the intercepted method on such target. + In this case last interceptor in the pipeline mustn't call or a will be throws. + Also while it's technically legal to pass proxy itself as , this would create stack overflow. + In this case last interceptor in the pipeline mustn't call or a will be throws. + + Thrown when is not assignable to the proxied type. + + + + Provides the main DynamicProxy extension point that allows member interception. + + + + + Provides an extension point that allows proxies to choose specific interceptors on + a per method basis. + + + + + Selects the interceptors that should intercept calls to the given . + + The type of the target object. + The method that will be intercepted. + All interceptors registered with the proxy. + An array of interceptors to invoke upon calling the . + + This method is called only once per proxy instance, upon the first call to the + . Either an empty array or null are valid return values to indicate + that no interceptor should intercept calls to the method. Although it is not advised, it is + legal to return other implementations than these provided in + . + + + + + Encapsulates an invocation of a proxied method. + + + + + Gets the arguments that the has been invoked with. + + The arguments the method was invoked with. + + + + Gets the generic arguments of the method. + + The generic arguments, or null if not a generic method. + + + + Gets the object on which the invocation is performed. This is different from proxy object + because most of the time this will be the proxy target object. + + + The invocation target. + + + + Gets the representing the method being invoked on the proxy. + + The representing the method being invoked. + + + + For interface proxies, this will point to the on the target class. + + The method invocation target. + + + + Gets the proxy object on which the intercepted method is invoked. + + Proxy object on which the intercepted method is invoked. + + + + Gets or sets the return value of the method. + + The return value of the method. + + + + Gets the type of the target object for the intercepted method. + + The type of the target object. + + + + Gets the value of the argument at the specified . + + The index. + The value of the argument at the specified . + + + + Returns the concrete instantiation of the on the proxy, with any generic + parameters bound to real types. + + + The concrete instantiation of the on the proxy, or the if + not a generic method. + + + Can be slower than calling . + + + + + Returns the concrete instantiation of , with any + generic parameters bound to real types. + For interface proxies, this will point to the on the target class. + + The concrete instantiation of , or + if not a generic method. + + In debug builds this can be slower than calling . + + + + + Proceeds the call to the next interceptor in line, and ultimately to the target method. + + + Since interface proxies without a target don't have the target implementation to proceed to, + it is important, that the last interceptor does not call this method, otherwise a + will be thrown. + + + + + Returns an object describing the operation for this + at this specific point during interception. + + + + + Overrides the value of an argument at the given with the + new provided. + + + This method accepts an , however the value provided must be compatible + with the type of the argument defined on the method, otherwise an exception will be thrown. + + The index of the argument to override. + The new value for the argument. + + + + Describes the operation for an + at a specific point during interception. + + + + + Executes the operation described by this instance. + + There is no interceptor, nor a proxy target object, to proceed to. + + + + Attributes should be replicated if they are non-inheritable, + but there are some special cases where the attributes means + something to the CLR, where they should be skipped. + + + + + Determines whether the specified method is internal. + + The method. + + true if the specified method is internal; otherwise, false. + + + + + Determines whether this assembly has internals visible to dynamic proxy. + + The assembly to inspect. + + + + Checks if the method is public or protected. + + + + + Returns list of all unique interfaces implemented given types, including their base interfaces. + + + + + Checks whether the specified is a delegate type (i.e. a direct subclass of ). + + + + + Abstracts the implementation of proxy type construction. + + + + + Gets or sets the that this logs to. + + + + + Gets the associated with this builder. + + The module scope associated with this builder. + + + + Creates a proxy type for given , implementing , using provided. + + The class type to proxy. + Additional interface types to proxy. + The proxy generation options. + The generated proxy type. + + Implementers should return a proxy type for the specified class and interfaces. + Additional interfaces should be only 'mark' interfaces, that is, they should work like interface proxy without target. (See method.) + + Thrown when or any of is a generic type definition. + Thrown when or any of is not public. + Note that to avoid this exception, you can mark offending type internal, and define + pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. + + + + + Creates a proxy type that proxies calls to members on , implementing , using provided. + + The interface type to proxy. + Additional interface types to proxy. + Type implementing on which calls to the interface members should be intercepted. + The proxy generation options. + The generated proxy type. + + Implementers should return a proxy type for the specified interface that 'proceeds' executions to the specified target. + Additional interfaces should be only 'mark' interfaces, that is, they should work like interface proxy without target. (See method.) + + Thrown when or any of is a generic type definition. + Thrown when or any of is not public. + Note that to avoid this exception, you can mark offending type internal, and define + pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. + + + + + Creates a proxy type for given and that delegates all calls to the provided interceptors and allows interceptors to switch the actual target of invocation. + + The interface type to proxy. + Additional interface types to proxy. + The proxy generation options. + The generated proxy type. + + Implementers should return a proxy type for the specified interface(s) that delegate all executions to the specified interceptors + and uses an instance of the interface as their targets (i.e. ), rather than a class. All classes should then implement interface, + to allow interceptors to switch invocation target with instance of another type implementing called interface. + + Thrown when or any of is a generic type definition. + Thrown when or any of is not public. + Note that to avoid this exception, you can mark offending type internal, and define + pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. + + + + + Creates a proxy type for given that delegates all calls to the provided interceptors. + + The interface type to proxy. + Additional interface types to proxy. + The proxy generation options. + The generated proxy type. + + Implementers should return a proxy type for the specified interface and additional interfaces that delegate all executions to the specified interceptors. + + Thrown when or any of is a generic type definition. + Thrown when or any of is not public. + Note that to avoid this exception, you can mark offending type internal, and define + pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. + + + + + Used during the target type inspection process. Implementors have a chance to customize the + proxy generation process. + + + + + Invoked by the generation process to notify that the whole process has completed. + + + + + Invoked by the generation process to notify that a member was not marked as virtual. + + The type which declares the non-virtual member. + The non-virtual member. + + This method gives an opportunity to inspect any non-proxyable member of a type that has + been requested to be proxied, and if appropriate - throw an exception to notify the caller. + + + + + Invoked by the generation process to determine if the specified method should be proxied. + + The type which declares the given method. + The method to inspect. + True if the given method should be proxied; false otherwise. + + + + Provides proxy objects for classes and interfaces. + + + + + Gets or sets the that this log to. + + + + + Gets the proxy builder instance used to generate proxy types. + + The proxy builder. + + + + Creates proxy object intercepting calls to members of interface on object with given . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The interceptors called during the invocation of proxied methods. + Object proxying calls to members of on object. + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is not an interface type. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target + use method. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of on object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is not an interface type. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target + use method. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of type on object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not an interface type. + Thrown when given does not implement interface. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target + use method. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of type on object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not an interface type. + Thrown when given does not implement interface. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target + use method. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + Additional interface types. Calls to their members will be proxied as well. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of and types on object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not an interface type. + Thrown when given does not implement interface. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target + use method. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + Additional interface types. Calls to their members will be proxied as well. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of and types on object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not an interface type. + Thrown when given does not implement interface. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target + use method. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + Interceptors can use interface to provide other target for method invocation than default . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not an interface type. + Thrown when given does not implement interface. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + Interceptors can use interface to provide other target for method invocation than default . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is not an interface type. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + Interceptors can use interface to provide other target for method invocation than default . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is not an interface type. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + Interceptors can use interface to provide other target for method invocation than default . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + Additional interface types. Calls to their members will be proxied as well. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of and types on object or alternative implementation swapped at runtime by an interceptor. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not an interface type. + Thrown when given does not implement interface. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + Interceptors can use interface to provide other target for method invocation than default . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not an interface type. + Thrown when given does not implement interface. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + Interceptors can use interface to provide other target for method invocation than default . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + Additional interface types. Calls to their members will be proxied as well. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of and types on object or alternative implementation swapped at runtime by an interceptor. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not an interface type. + Thrown when given does not implement interface. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . + + Type of the interface which will be proxied. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of types on generated target object. + + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is not an interface type. + + Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. + They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. + As a result of that also at least one implementation must be provided. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . + + Type of the interface which will be proxied. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of types on generated target object. + + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is not an interface type. + + Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. + They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. + As a result of that also at least one implementation must be provided. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . + + Type of the interface which will be proxied. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of types on generated target object. + + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is not an interface type. + + Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. + They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. + As a result of that also at least one implementation must be provided. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . + + Type of the interface which will be proxied. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of type on generated target object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not an interface type. + + Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. + They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . + + Type of the interface which will be proxied. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of type on generated target object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not an interface type. + + Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. + They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . + + Type of the interface which will be proxied. + Additional interface types. Calls to their members will be proxied as well. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of and types on generated target object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not an interface type. + + Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. + They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . + + Type of the interface which will be proxied. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of on generated target object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not an interface type. + + They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . + + Type of the interface which will be proxied. + The proxy generation options used to influence generated proxy type and object. + Additional interface types. Calls to their members will be proxied as well. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of and types on generated target object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not an interface type. + + Since this method uses an empty-shell implementation of to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. + They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The target object, calls to which will be intercepted. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + Additional interface types. Calls to their members will be proxied as well. + The target object, calls to which will be intercepted. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of and types. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + Arguments of constructor of type which should be used to create a new instance of that type. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not a class type. + Thrown when no constructor exists on type with parameters matching . + Thrown when constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The target object, calls to which will be intercepted. + Arguments of constructor of type which should be used to create a new instance of that type. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not a class type. + Thrown when no constructor exists on type with parameters matching . + Thrown when constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The target object, calls to which will be intercepted. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not a class type. + Thrown when no parameterless constructor exists on type . + Thrown when constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + Additional interface types. Calls to their members will be proxied as well. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of and types. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + Additional interface types. Calls to their members will be proxied as well. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + Arguments of constructor of type which should be used to create a new instance of that type. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of and types. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not a class type. + Thrown when no constructor exists on type with parameters matching . + Thrown when constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + Additional interface types. Calls to their members will be proxied as well. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of and types. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The proxy generation options used to influence generated proxy type and object. + Arguments of constructor of type which should be used to create a new instance of that type. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not a class type. + Thrown when no constructor exists on type with parameters matching . + Thrown when constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + Arguments of constructor of type which should be used to create a new instance of that type. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not a class type. + Thrown when no constructor exists on type with parameters matching . + Thrown when constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not a class type. + Thrown when no parameterless constructor exists on type . + Thrown when constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + Additional interface types. Calls to their members will be proxied as well. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of and types. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + Additional interface types. Calls to their members will be proxied as well. + The proxy generation options used to influence generated proxy type and object. + Arguments of constructor of type which should be used to create a new instance of that type. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of and types. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not a class type. + Thrown when no constructor exists on type with parameters matching . + Thrown when constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Exposes access to the target object and interceptors of proxy objects. + This is a DynamicProxy infrastructure interface and should not be implemented yourself. + + + + + Get the proxy target (note that null is a valid target!) + + + + + Set the proxy target. + + New proxy target. + + + + Gets the interceptors for the proxy + + + + + Because we need to cache the types based on the mixed in mixins, we do the following here: + - Get all the mixin interfaces + - Sort them by full name + - Return them by position + + The idea is to have reproducible behavior for the case that mixins are registered in different orders. + This method is here because it is required + + + + + The default file name used when the assembly is saved using . + + + + + The default assembly (simple) name used for the assemblies generated by a instance. + + + + + Initializes a new instance of the class; assemblies created by this instance will not be saved. + + + + + Initializes a new instance of the class, allowing to specify whether the assemblies generated by this instance + should be saved. + + If set to true saves the generated module. + + + + Initializes a new instance of the class, allowing to specify whether the assemblies generated by this instance + should be saved. + + If set to true saves the generated module. + If set to true disables ability to generate signed module. This should be used in cases where ran under constrained permissions. + + + + Initializes a new instance of the class, allowing to specify whether the assemblies generated by this instance + should be saved and what simple names are to be assigned to them. + + If set to true saves the generated module. + If set to true disables ability to generate signed module. This should be used in cases where ran under constrained permissions. + The simple name of the strong-named assembly generated by this . + The path and file name of the manifest module of the strong-named assembly generated by this . + The simple name of the weak-named assembly generated by this . + The path and file name of the manifest module of the weak-named assembly generated by this . + + + + Initializes a new instance of the class, allowing to specify whether the assemblies generated by this instance + should be saved and what simple names are to be assigned to them. + + If set to true saves the generated module. + If set to true disables ability to generate signed module. This should be used in cases where ran under constrained permissions. + Naming scope used to provide unique names to generated types and their members (usually via sub-scopes). + The simple name of the strong-named assembly generated by this . + The path and file name of the manifest module of the strong-named assembly generated by this . + The simple name of the weak-named assembly generated by this . + The path and file name of the manifest module of the weak-named assembly generated by this . + + + + Users of this should use this lock when accessing the cache. + + + + + Returns a type from this scope's type cache, or null if the key cannot be found. + + The key to be looked up in the cache. + The type from this scope's type cache matching the key, or null if the key cannot be found + + + + Registers a type in this scope's type cache. + + The key to be associated with the type. + The type to be stored in the cache. + + + + Gets the key pair used to sign the strong-named assembly generated by this . + + + + + Gets the strong-named module generated by this scope, or if none has yet been generated. + + The strong-named module generated by this scope, or if none has yet been generated. + + + + Gets the file name of the strongly named module generated by this scope. + + The file name of the strongly named module generated by this scope. + + + + Gets the directory where the strongly named module generated by this scope will be saved, or if the current directory + is used. + + The directory where the strongly named module generated by this scope will be saved when is called + (if this scope was created to save modules). + + + + Gets the weak-named module generated by this scope, or if none has yet been generated. + + The weak-named module generated by this scope, or if none has yet been generated. + + + + Gets the file name of the weakly named module generated by this scope. + + The file name of the weakly named module generated by this scope. + + + + Gets the directory where the weakly named module generated by this scope will be saved, or if the current directory + is used. + + The directory where the weakly named module generated by this scope will be saved when is called + (if this scope was created to save modules). + + + + Gets the specified module generated by this scope, creating a new one if none has yet been generated. + + If set to true, a strong-named module is returned; otherwise, a weak-named module is returned. + A strong-named or weak-named module generated by this scope, as specified by the parameter. + + + + Gets the strong-named module generated by this scope, creating a new one if none has yet been generated. + + A strong-named module generated by this scope. + + + + Gets the weak-named module generated by this scope, creating a new one if none has yet been generated. + + A weak-named module generated by this scope. + + + + Saves the generated assembly with the name and directory information given when this instance was created (or with + the and current directory if none was given). + + + + This method stores the generated assembly in the directory passed as part of the module information specified when this instance was + constructed (if any, else the current directory is used). If both a strong-named and a weak-named assembly + have been generated, it will throw an exception; in this case, use the overload. + + + If this was created without indicating that the assembly should be saved, this method does nothing. + + + Both a strong-named and a weak-named assembly have been generated. + The path of the generated assembly file, or null if no file has been generated. + + + + Saves the specified generated assembly with the name and directory information given when this instance was created + (or with the and current directory if none was given). + + True if the generated assembly with a strong name should be saved (see ); + false if the generated assembly without a strong name should be saved (see . + + + This method stores the specified generated assembly in the directory passed as part of the module information specified when this instance was + constructed (if any, else the current directory is used). + + + If this was created without indicating that the assembly should be saved, this method does nothing. + + + No assembly has been generated that matches the parameter. + + The path of the generated assembly file, or null if no file has been generated. + + + + Loads the generated types from the given assembly into this 's cache. + + The assembly to load types from. This assembly must have been saved via or + , or it must have the manually applied. + + This method can be used to load previously generated and persisted proxy types from disk into this scope's type cache, e.g. in order + to avoid the performance hit associated with proxy generation. + + + + + ProxyBuilder that persists the generated type. + + + The saved assembly contains just the last generated type. + + + + + Initializes a new instance of the class. + + + + + Saves the generated assembly to a physical file. Note that this renders the unusable. + + The path of the generated assembly file, or null if no assembly has been generated. + + This method does not support saving multiple files. If both a signed and an unsigned module have been generated, use the + respective methods of the . + + + + + allows customization of the behavior of proxies created by + an (or proxy types generated by an ). + + You should not modify an instance of once it has been + used to create a proxy (or proxy type). + + + + + + Initializes a new instance of the class. + + The hook. + + + + Initializes a new instance of the class. + + + + + Gets or sets the that should be used during proxy type + generation. Defaults to an instance of . + + You should not modify this property once this instance + has been used to create a proxy. + + + + + + Gets or sets the that should be used by created proxies + to determine which interceptors to use for an interception. If set to + (which is the default), created proxies will not use any selector. + + You should not modify this property once this instance + has been used to create a proxy. + + + + + + Gets or sets the class type from which generated interface proxy types will be derived. + Defaults to (). + + You should not modify this property once this instance + has been used to create a proxy. + + + + + + Gets the collection of additional custom attributes that will be put on generated proxy types. + This collection is initially empty. + + You should not modify this collection once this instance + has been used to create a proxy. + + + + + + Adds a delegate type to the list of mixins that will be added to generated proxies. + That is, generated proxies will have a `Invoke` method with a signature matching that + of the specified . + + You should not call this method once this instance + has been used to create a proxy. + + + The delegate type whose `Invoke` method should be reproduced in generated proxies. + is . + is not a delegate type. + + + + Adds a delegate to be mixed into generated proxies. The + will act as the target for calls to a `Invoke` method with a signature matching that + of the delegate. + + You should not call this method once this instance + has been used to create a proxy. + + + The delegate that should act as the target for calls to `Invoke` methods with a matching signature. + is . + + + + Mixes the interfaces implemented by the specified object into + created proxies, and uses as the target for these mixed-in interfaces. + + You should not call this method once this instance + has been used to create a proxy. + + + The object that should act as the target for all of its implemented interfaces' methods. + is . + is an instance of . + + + + Provides proxy objects for classes and interfaces. + + + + + Initializes a new instance of the class. + + Proxy types builder. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + If true forces all types to be generated into an unsigned module. + + + + Gets or sets the that this log to. + + + + + Gets the proxy builder instance used to generate proxy types. + + The proxy builder. + + + + Creates proxy object intercepting calls to members of interface on object with given . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The interceptors called during the invocation of proxied methods. + Object proxying calls to members of on object. + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is not an interface type. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target + use method. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of on object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is not an interface type. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target + use method. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of type on object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not an interface type. + Thrown when given does not implement interface. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target + use method. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of type on object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not an interface type. + Thrown when given does not implement interface. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target + use method. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + Additional interface types. Calls to their members will be proxied as well. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of and types on object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not an interface type. + Thrown when given does not implement interface. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target + use method. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + Additional interface types. Calls to their members will be proxied as well. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of and types on object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not an interface type. + Thrown when given does not implement interface. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target + use method. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + Interceptors can use interface to provide other target for method invocation than default . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not an interface type. + Thrown when given does not implement interface. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + Interceptors can use interface to provide other target for method invocation than default . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is not an interface type. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + Interceptors can use interface to provide other target for method invocation than default . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is not an interface type. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + Interceptors can use interface to provide other target for method invocation than default . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + Additional interface types. Calls to their members will be proxied as well. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of and types on object or alternative implementation swapped at runtime by an interceptor. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not an interface type. + Thrown when given does not implement interface. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + Interceptors can use interface to provide other target for method invocation than default . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not an interface type. + Thrown when given does not implement interface. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + Interceptors can use interface to provide other target for method invocation than default . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + Additional interface types. Calls to their members will be proxied as well. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of and types on object or alternative implementation swapped at runtime by an interceptor. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not an interface type. + Thrown when given does not implement interface. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . + + Type of the interface which will be proxied. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of types on generated target object. + + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is not an interface type. + + Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. + They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. + As a result of that also at least one implementation must be provided. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . + + Type of the interface which will be proxied. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of types on generated target object. + + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is not an interface type. + + Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. + They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. + As a result of that also at least one implementation must be provided. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . + + Type of the interface which will be proxied. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of types on generated target object. + + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is not an interface type. + + Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. + They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. + As a result of that also at least one implementation must be provided. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . + + Type of the interface which will be proxied. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of type on generated target object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not an interface type. + + Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. + They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . + + Type of the interface which will be proxied. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of type on generated target object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not an interface type. + + Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. + They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . + + Type of the interface which will be proxied. + Additional interface types. Calls to their members will be proxied as well. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of and types on generated target object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not an interface type. + + Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. + They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . + + Type of the interface which will be proxied. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of on generated target object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not an interface type. + + They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . + + Type of the interface which will be proxied. + The proxy generation options used to influence generated proxy type and object. + Additional interface types. Calls to their members will be proxied as well. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of and types on generated target object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not an interface type. + + Since this method uses an empty-shell implementation of to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. + They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The target object, calls to which will be intercepted. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + Additional interface types. Calls to their members will be proxied as well. + The target object, calls to which will be intercepted. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of and types. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + Arguments of constructor of type which should be used to create a new instance of that type. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not a class type. + Thrown when no constructor exists on type with parameters matching . + Thrown when constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The target object, calls to which will be intercepted. + Arguments of constructor of type which should be used to create a new instance of that type. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not a class type. + Thrown when no constructor exists on type with parameters matching . + Thrown when constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The target object, calls to which will be intercepted. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not a class type. + Thrown when no parameterless constructor exists on type . + Thrown when constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + Additional interface types. Calls to their members will be proxied as well. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of and types. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + Additional interface types. Calls to their members will be proxied as well. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + Arguments of constructor of type which should be used to create a new instance of that type. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of and types. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not a class type. + Thrown when no constructor exists on type with parameters matching . + Thrown when constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + Additional interface types. Calls to their members will be proxied as well. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of and types. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The proxy generation options used to influence generated proxy type and object. + Arguments of constructor of type which should be used to create a new instance of that type. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not a class type. + Thrown when no constructor exists on type with parameters matching . + Thrown when constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + Arguments of constructor of type which should be used to create a new instance of that type. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not a class type. + Thrown when no constructor exists on type with parameters matching . + Thrown when constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not a class type. + Thrown when no parameterless constructor exists on type . + Thrown when constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + Additional interface types. Calls to their members will be proxied as well. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of and types. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + Additional interface types. Calls to their members will be proxied as well. + The proxy generation options used to influence generated proxy type and object. + Arguments of constructor of type which should be used to create a new instance of that type. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of and types. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not a class type. + Thrown when no constructor exists on type with parameters matching . + Thrown when constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates the proxy type for class proxy with given class, implementing given and using provided . + + The base class for proxy type. + The interfaces that proxy type should implement. + The options for proxy generation process. + of proxy. + + + + Creates the proxy type for interface proxy with target for given interface, implementing given on given and using provided . + + The interface proxy type should implement. + The additional interfaces proxy type should implement. + Actual type that the proxy type will encompass. + The options for proxy generation process. + of proxy. + + + + Creates the proxy type for interface proxy with target interface for given interface, implementing given on given and using provided . + + The interface proxy type should implement. + The additional interfaces proxy type should implement. + The options for proxy generation process. + of proxy. + + + + Creates the proxy type for interface proxy without target for given interface, implementing given and using provided . + + The interface proxy type should implement. + The additional interfaces proxy type should implement. + The options for proxy generation process. + of proxy. + + + + Creates a delegate of the specified type to a suitable `Invoke` method + on the given instance. + + The proxy instance to which the delegate should be bound. + The type of delegate that should be created. + + The does not have an `Invoke` method that is compatible with + the requested type. + + + + + Creates a delegate of the specified type to a suitable `Invoke` method + on the given instance. + + The proxy instance to which the delegate should be bound. + The type of delegate that should be created. + + The does not have an `Invoke` method that is compatible with + the requested . + + + + + Checks whether the specified method is accessible to DynamicProxy. + The method to check. + true if the method is accessible to DynamicProxy, false otherwise. + + + + Checks whether the specified method is accessible to DynamicProxy. + The method to check. + If the method is accessible to DynamicProxy, null; otherwise, an explanation of why the method is not accessible. + true if the method is accessible to DynamicProxy, false otherwise. + + + + Checks whether the specified type is accessible to DynamicProxy. + The type to check. + true if the type is accessible to DynamicProxy, false otherwise. + + + + Determines whether this assembly has internals visible to DynamicProxy. + + The assembly to inspect. + + + + Checks whether the specified method is accessible to DynamicProxy. + Unlike with , the declaring type's accessibility is ignored. + + The method to check. + true if the method is accessible to DynamicProxy, false otherwise. + + + + Determines whether the specified method is internal. + + The method. + + true if the specified method is internal; otherwise, false. + + + + + Applied to the assemblies saved by in order to persist the cache data included in the persisted assembly. + + + + + Handles the deserialization of proxies. + + + + + Resets the used for deserialization to a new scope. + + + This is useful for test cases. + + + + + Resets the used for deserialization to a given . + + The scope to be used for deserialization. + + By default, the deserialization process uses a different scope than the rest of the application, which can lead to multiple proxies + being generated for the same type. By explicitly setting the deserialization scope to the application's scope, this can be avoided. + + + + + Gets the used for deserialization. + + As has no way of automatically determining the scope used by the application (and the application might use more than one scope at the same time), uses a dedicated scope instance for deserializing proxy types. This instance can be reset and set to a specific value via and . + + + + Holds objects representing methods of class. + + + + + Holds objects representing methods of class. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/packages/Castle.Core.4.4.1/lib/net40/Castle.Core.xml b/src/packages/Castle.Core.4.4.1/lib/net40/Castle.Core.xml new file mode 100644 index 0000000..ec9d692 --- /dev/null +++ b/src/packages/Castle.Core.4.4.1/lib/net40/Castle.Core.xml @@ -0,0 +1,6130 @@ + + + + Castle.Core + + + + + Abstract adapter for the support + needed by the + + + + + Adds an element with the provided key and value to the object. + + The to use as the key of the element to add. + The to use as the value of the element to add. + An element with the same key already exists in the object. + key is null. + The is read-only.-or- The has a fixed size. + + + + Removes all elements from the object. + + The object is read-only. + + + + Determines whether the object contains an element with the specified key. + + The key to locate in the object. + + true if the contains an element with the key; otherwise, false. + + key is null. + + + + Returns an object for the object. + + + An object for the object. + + + + + Gets a value indicating whether the object has a fixed size. + + true if the object has a fixed size; otherwise, false. + + + + Gets a value indicating whether the object is read-only. + + true if the object is read-only; otherwise, false. + + + + Gets an object containing the keys of the object. + + An object containing the keys of the object. + + + + Removes the element with the specified key from the object. + + The key of the element to remove. + The object is read-only.-or- The has a fixed size. + key is null. + + + + Gets an object containing the values in the object. + + An object containing the values in the object. + + + + Gets or sets the with the specified key. + + + + + Copies the elements of the to an , starting at a particular index. + + The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. + The zero-based index in array at which copying begins. + array is null. + The type of the source cannot be cast automatically to the type of the destination array. + index is less than zero. + array is multidimensional.-or- index is equal to or greater than the length of array.-or- The number of elements in the source is greater than the available space from index to the end of the destination array. + + + + Gets the number of elements contained in the . + + The number of elements contained in the . + + + + Gets a value indicating whether access to the is synchronized (thread safe). + + true if access to the is synchronized (thread safe); otherwise, false. + + + + Gets an object that can be used to synchronize access to the . + + An object that can be used to synchronize access to the . + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Abstract implementation of . + + + + + Identifies a property should be represented as a nested component. + + + + + Applies no prefix. + + + + + Gets or sets the prefix. + + The prefix. + + + + Identifies the dictionary adapter types. + + + + + Assigns a specific dictionary key. + + + + + Identifies an interface or property to be pre-fetched. + + + + + Instructs fetching to occur. + + + + + Instructs fetching according to + + + + + Gets whether or not fetching should occur. + + + + + Assigns a property to a group. + + + + + Constructs a group assignment. + + The group name. + + + + Constructs a group assignment. + + The group name. + + + + Gets the group the property is assigned to. + + + + + Suppresses any on-demand behaviors. + + + + + Assigns a specific dictionary key. + + + + + Initializes a new instance of the class. + + The key. + + + + Initializes a new instance of the class. + + The compound key. + + + + Assigns a prefix to the keyed properties of an interface. + + + Key prefixes are not inherited by sub-interfaces. + + + + + Initializes a default instance of the class. + + + + + Initializes a new instance of the class. + + The prefix for the keyed properties of the interface. + + + + Gets the prefix key added to the properties of the interface. + + + + + Substitutes part of key with another string. + + + + + Initializes a new instance of the class. + + The old value. + The new value. + + + + Requests support for multi-level editing. + + + + + Generates a new GUID on demand. + + + + + Support for on-demand value resolution. + + + + + Specifies assignment by reference rather than by copying. + + + + + Removes a property if matches value. + + + + + Removes a property if null or empty string, guid or collection. + + + + + Provides simple string formatting from existing properties. + + + + + Gets the string format. + + + + + Gets the format properties. + + + + + Identifies a property should be represented as a delimited string value. + + + + + Gets the separator. + + + + + Converts all properties to strings. + + + + + Gets or sets the format. + + The format. + + + + Suppress property change notifications. + + + + + Assigns a prefix to the keyed properties using the interface name. + + + + + Indicates that underlying values are changeable and should not be cached. + + + + + Initializes a new instance of the class + that represents a child object in a larger object graph. + + + + + Manages conversion between property values. + + + + + Initializes a new instance of the class. + + The converter. + + + + + + + + + Gets the effective dictionary value. + + The dictionary adapter. + The key. + The stored value. + The property. + true if return only existing. + The effective property value. + + + + Uses Reflection.Emit to expose the properties of a dictionary + through a dynamic implementation of a typed interface. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Wraps a with a dynamic object to expose a bit better looking API. + The implementation is trivial and assumes keys are s. + + + + + Contract for manipulating the Dictionary adapter. + + + + + Defines the contract for building typed dictionary adapters. + + + + + Gets a typed adapter bound to the . + + The typed interface. + The underlying source of properties. + An implementation of the typed interface bound to the dictionary. + + The type represented by T must be an interface with properties. + + + + + Gets a typed adapter bound to the . + + The typed interface. + The underlying source of properties. + An implementation of the typed interface bound to the dictionary. + + The type represented by T must be an interface with properties. + + + + + Gets a typed adapter bound to the . + + The typed interface. + The underlying source of properties. + The property descriptor. + An implementation of the typed interface bound to the dictionary. + + The type represented by T must be an interface with properties. + + + + + Gets a typed adapter bound to the . + + The typed interface. + The underlying source of properties. + An implementation of the typed interface bound to the namedValues. + + The type represented by T must be an interface with properties. + + + + + Gets a typed adapter bound to the . + + The typed interface. + The underlying source of properties. + An implementation of the typed interface bound to the namedValues. + + The type represented by T must be an interface with properties. + + + + + Gets a typed adapter bound to the . + + The typed interface. + The underlying source of properties. + An implementation of the typed interface bound to the . + + The type represented by T must be an interface with properties. + + + + + Gets a typed adapter bound to the . + + The typed interface. + The underlying source of properties. + An implementation of the typed interface bound to the . + + The type represented by T must be an interface with properties. + + + + + Gets the associated with the type. + + The typed interface. + The adapter meta-data. + + + + Gets the associated with the type. + + The typed interface. + The property descriptor. + The adapter meta-data. + + + + Gets the associated with the type. + + The typed interface. + Another from which to copy behaviors. + The adapter meta-data. + + + + Contract for traversing a . + + + + + Defines the contract for customizing dictionary access. + + + + + Determines relative order to apply related behaviors. + + + + + Copies the dictionary behavior. + + null if should not be copied. Otherwise copy. + + + + Defines the contract for building s. + + + + + Builds the dictionary behaviors. + + + + + Contract for creating additional Dictionary adapters. + + + + + Contract for editing the Dictionary adapter. + + + + + Contract for dictionary initialization. + + + + + Performs any initialization of the + + The dictionary adapter. + The dictionary behaviors. + + + + Defines the contract for building typed dictionary keys. + + + + + Builds the specified key. + + The dictionary adapter. + The current key. + The property. + The updated key + + + + Contract for dictionary meta-data initialization. + + + + + Initializes the given object. + + The dictionary adapter factory. + The dictionary adapter meta. + + + + + Determines whether the given behavior should be included in a new + object. + + A dictionary behavior or annotation. + True if the behavior should be included; otherwise, false. + + behaviors are always included, + regardless of the result of this method. + + + + + + Contract for managing Dictionary adapter notifications. + + + + + Defines the contract for retrieving dictionary values. + + + + + Gets the effective dictionary value. + + The dictionary adapter. + The key. + The stored value. + The property. + true if return only existing. + The effective property value. + + + + Defines the contract for updating dictionary values. + + + + + Sets the stored dictionary value. + + The dictionary adapter. + The key. + The stored value. + The property. + true if the property should be stored. + + + + Contract for validating Dictionary adapter. + + + + + Contract for dictionary validation. + + + + + Determines if is valid. + + The dictionary adapter. + true if valid. + + + + Validates the . + + The dictionary adapter. + The error summary information. + + + + Validates the for a property. + + The dictionary adapter. + The property to validate. + The property summary information. + + + + Invalidates any results cached by the validator. + + The dictionary adapter. + + + + Contract for property descriptor initialization. + + + + + Performs any initialization of the + + The property descriptor. + The property behaviors. + + + + + + + + + Initializes a new instance of the class. + + The name values. + + + + Gets a value indicating whether the object is read-only. + + true if the object is read-only; otherwise, false. + + + + Determines whether the object contains an element with the specified key. + + The key to locate in the object. + + true if the contains an element with the key; otherwise, false. + + key is null. + + + + Gets or sets the with the specified key. + + + + + Adapts the specified name values. + + The name values. + + + + Describes a dictionary property. + + + + + Initializes an empty class. + + + + + Initializes a new instance of the class. + + The property. + The annotations. + + + + Initializes a new instance class. + + + + + Copies an existing instance of the class. + + + + + + + + + + Gets the property name. + + + + + Gets the property type. + + + + + Gets the property. + + The property. + + + + Returns true if the property is dynamic. + + + + + Gets additional state. + + + + + Determines if property should be fetched. + + + + + Determines if property must exist first. + + + + + Determines if notifications should occur. + + + + + Gets the property behaviors. + + + + + Gets the type converter. + + The type converter. + + + + Gets the extended properties. + + + + + Gets the setter. + + The setter. + + + + Gets the key builders. + + The key builders. + + + + Gets the setter. + + The setter. + + + + Gets the getter. + + The getter. + + + + Gets the initializers. + + The initializers. + + + + Gets the meta-data initializers. + + The meta-data initializers. + + + + Gets the key. + + The dictionary adapter. + The key. + The descriptor. + + + + Gets the property value. + + The dictionary adapter. + The key. + The stored value. + The descriptor. + true if return only existing. + + + + Sets the property value. + + The dictionary adapter. + The key. + The value. + The descriptor. + + + + Adds a single behavior. + + The behavior. + + + + Adds the behaviors. + + The behaviors. + + + + Adds the behaviors. + + The behaviors. + + + + Copies the behaviors to the other + + + + + Copies the + + + + + Provides a generic collection that supports data binding. + + + This class wraps the CLR + in order to implement the Castle-specific . + + The type of elements in the list. + + + + Initializes a new instance of the class + using default values. + + + + + Initializes a new instance of the class + with the specified list. + + + An of items + to be contained in the . + + + + + Initializes a new instance of the class + wrapping the specified instance. + + + A + to be wrapped by the . + + + + + Contract for value matching. + + + + + Contract for dynamic value resolution. + + + + + Contract for typed dynamic value resolution. + + + + + + This is an abstract implementation + that deals with methods that can be abstracted away + from underlying implementations. + + + AbstractConfiguration makes easier to implementers + to create a new version of + + + + + Gets node attributes. + + + All attributes of the node. + + + + + Gets all child nodes. + + The of child nodes. + + + + Gets the name of the . + + + The Name of the . + + + + + Gets the value of . + + + The Value of the . + + + + + Gets the value of the node and converts it + into specified . + + The + + The Default value returned if the conversion fails. + + The Value converted into the specified type. + + + + A collection of objects. + + + + + Creates a new instance of ConfigurationCollection. + + + + + Creates a new instance of ConfigurationCollection. + + + + + is a interface encapsulating a configuration node + used to retrieve configuration values. + + + + + Gets the name of the node. + + + The Name of the node. + + + + + Gets the value of the node. + + + The Value of the node. + + + + + Gets an of + elements containing all node children. + + The Collection of child nodes. + + + + Gets an of the configuration attributes. + + + + + Gets the value of the node and converts it + into specified . + + The + + The Default value returned if the conversion fails. + + The Value converted into the specified type. + + + + Initializes a new instance of the class. + + The name. + + + + Gets the value of . + + + The Value of the . + + + + + Deserializes the specified node into an abstract representation of configuration. + + The node. + + + + If a config value is an empty string we return null, this is to keep + backward compatibility with old code + + + + + Helper class for retrieving attributes. + + + + + Gets the attribute. + + The type. + The type attribute. + + + + Gets the attributes. Does not consider inherited attributes! + + The type. + The type attributes. + + + + Gets the attribute. + + The member. + The member attribute. + + + + Gets the attributes. Does not consider inherited attributes! + + The member. + The member attributes. + + + + Gets the type attribute. + + The type. + The type attribute. + + + + Gets the type attributes. + + The type. + The type attributes. + + + + Gets the type converter. + + The member. + + + + Checks whether or not collection is null or empty. Assumes collection can be safely enumerated multiple times. + + + + + Generates a HashCode for the contents for the list. Order of items does not matter. + + The type of object contained within the list. + The list. + The generated HashCode. + + + + Determines if two lists are equivalent. Equivalent lists have the same number of items and each item is found within the other regardless of respective position within each. + + The type of object contained within the list. + The first list. + The second list. + True if the two lists are equivalent. + + + + Constant to use when making assembly internals visible to Castle.Core + [assembly: InternalsVisibleTo(CoreInternalsVisible.ToCastleCore)] + + + + + Constant to use when making assembly internals visible to proxy types generated by DynamicProxy. Required when proxying internal types. + [assembly: InternalsVisibleTo(CoreInternalsVisible.ToDynamicProxyGenAssembly2)] + + + + + Creates a new lock. + + + + + Find the best available name to describe a type. + + + Usually the best name will be , but + sometimes that's null (see http://msdn.microsoft.com/en-us/library/system.type.fullname%28v=vs.110%29.aspx) + in which case the method falls back to . + + the type to name + the best name + + + + Defines that the implementation wants a + in order to + access other components. The creator must be aware + that the component might (or might not) implement + the interface. + + + Used by Castle Project components to, for example, + gather logging factories + + + + + Increments IServiceProvider with a generic service resolution operation. + + + + + This interface should be implemented by classes + that are available in a bigger context, exposing + the container to different areas in the same application. + + For example, in Web application, the (global) HttpApplication + subclasses should implement this interface to expose + the configured container + + + + + + Creates a new extended logger, getting the logger name from the specified type. + + + + + Creates a new extended logger. + + + + + Creates a new extended logger, getting the logger name from the specified type. + + + + + Creates a new extended logger. + + + + + Creates a new logger, getting the logger name from the specified type. + + + + + Creates a new logger. + + + + + Creates a new logger, getting the logger name from the specified type. + + + + + Creates a new logger. + + + + + Gets the configuration file. + + i.e. log4net.config + + + + Gets the configuration file. + + i.e. log4net.config + + + + The Logger sending everything to the standard output streams. + This is mainly for the cases when you have a utility that + does not have a logger to supply. + + + + + Creates a new ConsoleLogger with the Level + set to LoggerLevel.Debug and the Name + set to String.Empty. + + + + + Creates a new ConsoleLogger with the Name + set to String.Empty. + + The logs Level. + + + + Creates a new ConsoleLogger with the Level + set to LoggerLevel.Debug. + + The logs Name. + + + + Creates a new ConsoleLogger. + + The logs Name. + The logs Level. + + + + A Common method to log. + + The level of logging + The name of the logger + The Message + The Exception + + + + Returns a new ConsoleLogger with the name + added after this loggers name, with a dot in between. + + The added hierarchical name. + A new ConsoleLogger. + + + + The Logger using standard Diagnostics namespace. + + + + + Creates a logger based on . + + + + + + Creates a logger based on . + + + + + + + Creates a logger based on . + + + + + + + + Interface for Context Properties implementations + + + + This interface defines a basic property get set accessor. + + + Based on the ContextPropertiesBase of log4net, by Nicko Cadell. + + + + + + Gets or sets the value of a property + + + The value for the property with the specified key + + + + Gets or sets the value of a property + + + + + + Provides an interface that supports and + allows the storage and retrieval of Contexts. These are supported in + both log4net and NLog. + + + + + Exposes the Global Context of the extended logger. + + + + + Exposes the Thread Context of the extended logger. + + + + + Exposes the Thread Stack of the extended logger. + + + + + Provides a factory that can produce either or + classes. + + + + + Creates a new extended logger, getting the logger name from the specified type. + + + + + Creates a new extended logger. + + + + + Creates a new extended logger, getting the logger name from the specified type. + + + + + Creates a new extended logger. + + + + + Manages logging. + + + This is a facade for the different logging subsystems. + It offers a simplified interface that follows IOC patterns + and a simplified priority/level/severity abstraction. + + + + + Determines if messages of priority "trace" will be logged. + + True if "trace" messages will be logged. + + + + Determines if messages of priority "debug" will be logged. + + True if "debug" messages will be logged. + + + + Determines if messages of priority "error" will be logged. + + True if "error" messages will be logged. + + + + Determines if messages of priority "fatal" will be logged. + + True if "fatal" messages will be logged. + + + + Determines if messages of priority "info" will be logged. + + True if "info" messages will be logged. + + + + Determines if messages of priority "warn" will be logged. + + True if "warn" messages will be logged. + + + + Create a new child logger. + The name of the child logger is [current-loggers-name].[passed-in-name] + + The Subname of this logger. + The New ILogger instance. + If the name has an empty element name. + + + + Logs a trace message. + + The message to log + + + + Logs a trace message with lazily constructed message. The message will be constructed only if the is true. + + + + + Logs a trace message. + + The exception to log + The message to log + + + + Logs a trace message. + + Format string for the message to log + Format arguments for the message to log + + + + Logs a trace message. + + The exception to log + Format string for the message to log + Format arguments for the message to log + + + + Logs a trace message. + + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs a trace message. + + The exception to log + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs a debug message. + + The message to log + + + + Logs a debug message with lazily constructed message. The message will be constructed only if the is true. + + + + + Logs a debug message. + + The exception to log + The message to log + + + + Logs a debug message. + + Format string for the message to log + Format arguments for the message to log + + + + Logs a debug message. + + The exception to log + Format string for the message to log + Format arguments for the message to log + + + + Logs a debug message. + + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs a debug message. + + The exception to log + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs an error message. + + The message to log + + + + Logs an error message with lazily constructed message. The message will be constructed only if the is true. + + + + + Logs an error message. + + The exception to log + The message to log + + + + Logs an error message. + + Format string for the message to log + Format arguments for the message to log + + + + Logs an error message. + + The exception to log + Format string for the message to log + Format arguments for the message to log + + + + Logs an error message. + + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs an error message. + + The exception to log + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs a fatal message. + + The message to log + + + + Logs a fatal message with lazily constructed message. The message will be constructed only if the is true. + + + + + Logs a fatal message. + + The exception to log + The message to log + + + + Logs a fatal message. + + Format string for the message to log + Format arguments for the message to log + + + + Logs a fatal message. + + The exception to log + Format string for the message to log + Format arguments for the message to log + + + + Logs a fatal message. + + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs a fatal message. + + The exception to log + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs an info message. + + The message to log + + + + Logs a info message with lazily constructed message. The message will be constructed only if the is true. + + + + + Logs an info message. + + The exception to log + The message to log + + + + Logs an info message. + + Format string for the message to log + Format arguments for the message to log + + + + Logs an info message. + + The exception to log + Format string for the message to log + Format arguments for the message to log + + + + Logs an info message. + + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs an info message. + + The exception to log + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs a warn message. + + The message to log + + + + Logs a warn message with lazily constructed message. The message will be constructed only if the is true. + + + + + Logs a warn message. + + The exception to log + The message to log + + + + Logs a warn message. + + Format string for the message to log + Format arguments for the message to log + + + + Logs a warn message. + + The exception to log + Format string for the message to log + Format arguments for the message to log + + + + Logs a warn message. + + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs a warn message. + + The exception to log + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Manages the instantiation of s. + + + + + Creates a new logger, getting the logger name from the specified type. + + + + + Creates a new logger. + + + + + Creates a new logger, getting the logger name from the specified type. + + + + + Creates a new logger. + + + + + The Level Filtered Logger class. This is a base class which + provides a LogLevel attribute and reroutes all functions into + one Log method. + + + + + Creates a new LevelFilteredLogger. + + + + + Keep the instance alive in a remoting scenario + + + + + The LoggerLevel that this logger + will be using. Defaults to LoggerLevel.Off + + + + + The name that this logger will be using. + Defaults to String.Empty + + + + + Logs a trace message. + + The message to log + + + + Logs a trace message. + + A functor to create the message + + + + Logs a trace message. + + The exception to log + The message to log + + + + Logs a trace message. + + Format string for the message to log + Format arguments for the message to log + + + + Logs a trace message. + + The exception to log + Format string for the message to log + Format arguments for the message to log + + + + Logs a trace message. + + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs a trace message. + + The exception to log + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs a debug message. + + The message to log + + + + Logs a debug message. + + The exception to log + The message to log + + + + Logs a debug message. + + Format string for the message to log + Format arguments for the message to log + + + + Logs a debug message. + + The exception to log + Format string for the message to log + Format arguments for the message to log + + + + Logs a debug message. + + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs a debug message. + + The exception to log + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs an info message. + + The message to log + + + + Logs an info message. + + The exception to log + The message to log + + + + Logs an info message. + + Format string for the message to log + Format arguments for the message to log + + + + Logs an info message. + + The exception to log + Format string for the message to log + Format arguments for the message to log + + + + Logs an info message. + + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs an info message. + + The exception to log + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs a warn message. + + The message to log + + + + Logs a warn message. + + The exception to log + The message to log + + + + Logs a warn message. + + Format string for the message to log + Format arguments for the message to log + + + + Logs a warn message. + + The exception to log + Format string for the message to log + Format arguments for the message to log + + + + Logs a warn message. + + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs a warn message. + + The exception to log + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs an error message. + + The message to log + + + + Logs an error message. + + The exception to log + The message to log + + + + Logs an error message. + + Format string for the message to log + Format arguments for the message to log + + + + Logs an error message. + + The exception to log + Format string for the message to log + Format arguments for the message to log + + + + Logs an error message. + + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs an error message. + + The exception to log + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs a fatal message. + + The message to log + + + + Logs a fatal message. + + The exception to log + The message to log + + + + Logs a fatal message. + + Format string for the message to log + Format arguments for the message to log + + + + Logs a fatal message. + + The exception to log + Format string for the message to log + Format arguments for the message to log + + + + Logs a fatal message. + + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs a fatal message. + + The exception to log + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Determines if messages of priority "trace" will be logged. + + true if log level flags include the bit + + + + Determines if messages of priority "debug" will be logged. + + true if log level flags include the bit + + + + Determines if messages of priority "info" will be logged. + + true if log level flags include the bit + + + + Determines if messages of priority "warn" will be logged. + + true if log level flags include the bit + + + + Determines if messages of priority "error" will be logged. + + true if log level flags include the bit + + + + Determines if messages of priority "fatal" will be logged. + + true if log level flags include the bit + + + + Implementors output the log content by implementing this method only. + Note that exception can be null + + + + + Supporting Logger levels. + + + + + Logging will be off + + + + + Fatal logging level + + + + + Error logging level + + + + + Warn logging level + + + + + Info logging level + + + + + Debug logging level + + + + + Trace logging level + + + + + NullLogFactory used when logging is turned off. + + + + + Creates an instance of ILogger with the specified name. + + Name. + + + + Creates an instance of ILogger with the specified name and LoggerLevel. + + Name. + Level. + + + + The Null Logger class. This is useful for implementations where you need + to provide a logger to a utility class, but do not want any output from it. + It also helps when you have a utility that does not have a logger to supply. + + + + + Returns empty context properties. + + + + + Returns empty context properties. + + + + + Returns empty context stacks. + + + + + No-op. + + false + + + + No-op. + + false + + + + No-op. + + false + + + + No-op. + + false + + + + No-op. + + false + + + + No-op. + + false + + + + Returns this NullLogger. + + Ignored + This ILogger instance. + + + + No-op. + + Ignored + + + + No-op. + + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + Ignored + Ignored + + + + No-op. + + Ignored + + + + No-op. + + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + Ignored + Ignored + + + + No-op. + + Ignored + + + + No-op. + + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + Ignored + Ignored + + + + No-op. + + Ignored + + + + No-op. + + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + Ignored + Ignored + + + + No-op. + + Ignored + + + + No-op. + + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + Ignored + Ignored + + + + No-op. + + Ignored + + + + No-op. + + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + Ignored + Ignored + + + + The Stream Logger class. This class can stream log information + to any stream, it is suitable for storing a log file to disk, + or to a MemoryStream for testing your components. + + + This logger is not thread safe. + + + + + Creates a new StreamLogger with default encoding + and buffer size. Initial Level is set to Debug. + + + The name of the log. + + + The stream that will be used for logging, + seeking while the logger is alive + + + + + Creates a new StreamLogger with default buffer size. + Initial Level is set to Debug. + + + The name of the log. + + + The stream that will be used for logging, + seeking while the logger is alive + + + The encoding that will be used for this stream. + + + + + + Creates a new StreamLogger. + Initial Level is set to Debug. + + + The name of the log. + + + The stream that will be used for logging, + seeking while the logger is alive + + + The encoding that will be used for this stream. + + + + The buffer size that will be used for this stream. + + + + + + Creates a new StreamLogger with + Debug as default Level. + + The name of the log. + The StreamWriter the log will write to. + + + + Creates outputting + to files. The name of the file is derived from the log name + plus the 'log' extension. + + + + + The TraceLogger sends all logging to the System.Diagnostics.TraceSource + built into the .net framework. + + + Logging can be configured in the system.diagnostics configuration + section. + + If logger doesn't find a source name with a full match it will + use source names which match the namespace partially. For example you can + configure from all castle components by adding a source name with the + name "Castle". + + If no portion of the namespace matches the source named "Default" will + be used. + + + + + Build a new trace logger based on the named TraceSource + + The name used to locate the best TraceSource. In most cases comes from the using type's fullname. + + + + Build a new trace logger based on the named TraceSource + + The name used to locate the best TraceSource. In most cases comes from the using type's fullname. + The default logging level at which this source should write messages. In almost all cases this + default value will be overridden in the config file. + + + + Create a new child logger. + The name of the child logger is [current-loggers-name].[passed-in-name] + + The Subname of this logger. + The New ILogger instance. + + + + Used to create the TraceLogger implementation of ILogger interface. See . + + + + + General purpose class to represent a standard pair of values. + + Type of the first value + Type of the second value + + + + Constructs a pair with its values + + + + + List of utility methods related to dynamic proxy operations + + + + + Determines whether the specified type is a proxy generated by + DynamicProxy (1 or 2). + + The type. + + true if it is a proxy; otherwise, false. + + + + + Readonly implementation of which uses an anonymous object as its source. Uses names of properties as keys, and property values as... well - values. Keys are not case sensitive. + + + + + Initializes a new instance of the class. + + The target. + + + + Gets the number of elements contained in the . + + The number of elements contained in the . + + + + Gets a value indicating whether access to the is synchronized (thread safe). + + true if access to the is synchronized (thread safe); otherwise, false. + + + + Gets an object that can be used to synchronize access to the . + + An object that can be used to synchronize access to the . + + + + Gets a value indicating whether the object is read-only. + + true if the object is read-only; otherwise, false. + + + + Gets or sets the with the specified key. + + + + + Gets an object containing the keys of the object. + + An object containing the keys of the object. + + + + Gets an object containing the values in the object. + + An object containing the values in the object. + + + + Gets a value indicating whether the object has a fixed size. + + true if the object has a fixed size; otherwise, false. + + + + Adds an element with the provided key and value to the object. + + The to use as the key of the element to add. + The to use as the value of the element to add. + + is null. + An element with the same key already exists in the object. + The is read-only.-or- The has a fixed size. + + + + Removes all elements from the object. + + The object is read-only. + + + + Determines whether the object contains an element with the specified key. + + The key to locate in the object. + + true if the contains an element with the key; otherwise, false. + + + is null. + + + + Removes the element with the specified key from the object. + + The key of the element to remove. + + is null. + The object is read-only.-or- The has a fixed size. + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Copies the elements of the to an , starting at a particular index. + + The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. + The zero-based index in at which copying begins. + + is null. + + is less than zero. + + is multidimensional.-or- is equal to or greater than the length of .-or- The number of elements in the source is greater than the available space from to the end of the destination . + The type of the source cannot be cast automatically to the type of the destination . + + + + Returns an object for the object. + + + An object for the object. + + + + + Reads values of properties from and inserts them into using property names as keys. + + + + + + + + + + This returns a new stream instance each time it is called. + It is the responsibility of the caller to dispose of this stream + + + + + + + + + + + + + + + Represents a 'streamable' resource. Can + be a file, a resource in an assembly. + + + + + Only valid for resources that + can be obtained through relative paths + + + + + Returns a reader for the stream + + + It's up to the caller to dispose the reader. + + + + + Returns a reader for the stream + + + It's up to the caller to dispose the reader. + + + + + Returns an instance of + created according to the relativePath + using itself as the root. + + + + + Depicts the contract for resource factories. + + + + + Used to check whether the resource factory + is able to deal with the given resource + identifier. + + + Implementors should return true + only if the given identifier is supported + by the resource factory + + + + + Creates an instance + for the given resource identifier + + + + + Creates an instance + for the given resource identifier + + + + + Adapts a static string content as an + + + + + Enable access to files on network shares + + + + + Default implementation. + + + + + Initializes a new instance of the class based on the configuration provided in the application configuration file. + + + This constructor is based on the default configuration in the application configuration file. + + + + + This service implementation + requires a host name in order to work + + The smtp server name + + + + Gets or sets the port used to + access the SMTP server + + + + + Gets the hostname. + + The hostname. + + + + Gets or sets a value which is used to + configure if emails are going to be sent asynchronously or not. + + + + + Gets or sets a value that specifies + the amount of time after which a synchronous Send call times out. + + + + + Gets or sets a value indicating whether the email should be sent using + a secure communication channel. + + true if should use SSL; otherwise, false. + + + + Sends a message. + + If any of the parameters is null + From field + To field + e-mail's subject + message's body + + + + Sends a message. + + If the message is null + Message instance + + + + Gets or sets the domain. + + The domain. + + + + Gets or sets the name of the user. + + The name of the user. + + + + Gets or sets the password. + + The password. + + + + Configures the sender + with port information and eventual credential + informed + + Message instance + + + + Gets a value indicating whether credentials were informed. + + + if this instance has credentials; otherwise, . + + + + + Email sender abstraction. + + + + + Sends a mail message. + + From field + To field + E-mail's subject + message's body + + + + Sends a message. + + Message instance + + + + Sends multiple messages. + + List of messages + + + + Interface describing elements composing generated type + + + + + Performs some basic screening and invokes the + to select methods. + + + + + Encapsulates the information needed to build an attribute. + + + Arrays passed to this class as constructor arguments or property or field values become owned by this class. + They should not be mutated after creation. + + + + + Default implementation of interface producing in-memory proxy assemblies. + + + + + Initializes a new instance of the class with new . + + + + + Initializes a new instance of the class. + + The module scope for generated proxy types. + + + + Provides instructions that a user could follow to make a type or method in + visible to DynamicProxy. + The assembly containing the type or method. + Instructions that a user could follow to make a type or method visible to DynamicProxy. + + + + Creates a message to inform clients that a proxy couldn't be created due to reliance on an + inaccessible type (perhaps itself). + + the inaccessible type that prevents proxy creation + the type that couldn't be proxied + + + + Base class that exposes the common functionalities + to proxy generation. + + + + + It is safe to add mapping (no mapping for the interface exists) + + + + + Generates a parameters constructor that initializes the proxy + state with just to make it non-null. + + This constructor is important to allow proxies to be XML serializable + + + + + + Initializes a new instance of the class. + + Target element. This is either target type or target method for invocation types. + The type of the proxy. This is base type for invocation types. + The interfaces. + The options. + + + + Initializes a new instance of the class. + + Type of the target. + The interfaces. + The options. + + + + Provides appropriate Ldc.X opcode for the type of primitive value to be loaded. + + + + + Provides appropriate Ldind.X opcode for + the type of primitive value to be loaded indirectly. + + + + + Emits a load indirect opcode of the appropriate type for a value or object reference. + Pops a pointer off the evaluation stack, dereferences it and loads + a value of the specified type. + + + + + Emits a load opcode of the appropriate kind for a constant string or + primitive value. + + + + + Emits a load opcode of the appropriate kind for the constant default value of a + type, such as 0 for value types and null for reference types. + + + + + Emits a store indirectopcode of the appropriate type for a value or object reference. + Pops a value of the specified type and a pointer off the evaluation stack, and + stores the value. + + + + + Wraps a reference that is passed + ByRef and provides indirect load/store support. + + + + + Provides appropriate Stind.X opcode + for the type of primitive value to be stored indirectly. + + + + + Represents the scope of uniqueness of names for types and their members + + + + + Gets a unique name based on + + Name suggested by the caller + Unique name based on . + + Implementers should provide name as closely resembling as possible. + Generally if no collision occurs it is suggested to return suggested name, otherwise append sequential suffix. + Implementers must return deterministic names, that is when is called twice + with the same suggested name, the same returned name should be provided each time. Non-deterministic return + values, like appending random suffices will break serialization of proxies. + + + + + Returns new, disposable naming scope. It is responsibility of the caller to make sure that no naming collision + with enclosing scope, or other subscopes is possible. + + New naming scope. + + + + Generates the constructor for the class that extends + + + + + + Initializes a new instance of the class. + + The name. + Type declaring the original event being overridden, or null. + The event delegate type. + The add method. + The remove method. + The attributes. + + + + Returns the methods implemented by a type. Use this instead of Type.GetMethods() to work around a CLR issue + where duplicate MethodInfos are returned by Type.GetMethods() after a token of a generic type's method was loaded. + + + + + Exposes means to change target objects of proxies and invocations. + + + + + Changes the target object () of current . + + The new value of target of invocation. + + Although the method takes the actual instance must be of type assignable to , otherwise an will be thrown. + Also while it's technically legal to pass null reference (Nothing in Visual Basic) as , for obvious reasons Dynamic Proxy will not be able to call the intercepted method on such target. + In this case last interceptor in the pipeline mustn't call or a will be throws. + Also while it's technically legal to pass proxy itself as , this would create stack overflow. + In this case last interceptor in the pipeline mustn't call or a will be throws. + + Thrown when is not assignable to the proxied type. + + + + Permanently changes the target object of the proxy. This does not affect target of the current invocation. + + The new value of target of the proxy. + + Although the method takes the actual instance must be of type assignable to proxy's target type, otherwise an will be thrown. + Also while it's technically legal to pass null reference (Nothing in Visual Basic) as , for obvious reasons Dynamic Proxy will not be able to call the intercepted method on such target. + In this case last interceptor in the pipeline mustn't call or a will be throws. + Also while it's technically legal to pass proxy itself as , this would create stack overflow. + In this case last interceptor in the pipeline mustn't call or a will be throws. + + Thrown when is not assignable to the proxied type. + + + + Provides the main DynamicProxy extension point that allows member interception. + + + + + Provides an extension point that allows proxies to choose specific interceptors on + a per method basis. + + + + + Selects the interceptors that should intercept calls to the given . + + The type of the target object. + The method that will be intercepted. + All interceptors registered with the proxy. + An array of interceptors to invoke upon calling the . + + This method is called only once per proxy instance, upon the first call to the + . Either an empty array or null are valid return values to indicate + that no interceptor should intercept calls to the method. Although it is not advised, it is + legal to return other implementations than these provided in + . + + + + + Encapsulates an invocation of a proxied method. + + + + + Gets the arguments that the has been invoked with. + + The arguments the method was invoked with. + + + + Gets the generic arguments of the method. + + The generic arguments, or null if not a generic method. + + + + Gets the object on which the invocation is performed. This is different from proxy object + because most of the time this will be the proxy target object. + + + The invocation target. + + + + Gets the representing the method being invoked on the proxy. + + The representing the method being invoked. + + + + For interface proxies, this will point to the on the target class. + + The method invocation target. + + + + Gets the proxy object on which the intercepted method is invoked. + + Proxy object on which the intercepted method is invoked. + + + + Gets or sets the return value of the method. + + The return value of the method. + + + + Gets the type of the target object for the intercepted method. + + The type of the target object. + + + + Gets the value of the argument at the specified . + + The index. + The value of the argument at the specified . + + + + Returns the concrete instantiation of the on the proxy, with any generic + parameters bound to real types. + + + The concrete instantiation of the on the proxy, or the if + not a generic method. + + + Can be slower than calling . + + + + + Returns the concrete instantiation of , with any + generic parameters bound to real types. + For interface proxies, this will point to the on the target class. + + The concrete instantiation of , or + if not a generic method. + + In debug builds this can be slower than calling . + + + + + Proceeds the call to the next interceptor in line, and ultimately to the target method. + + + Since interface proxies without a target don't have the target implementation to proceed to, + it is important, that the last interceptor does not call this method, otherwise a + will be thrown. + + + + + Returns an object describing the operation for this + at this specific point during interception. + + + + + Overrides the value of an argument at the given with the + new provided. + + + This method accepts an , however the value provided must be compatible + with the type of the argument defined on the method, otherwise an exception will be thrown. + + The index of the argument to override. + The new value for the argument. + + + + Describes the operation for an + at a specific point during interception. + + + + + Executes the operation described by this instance. + + There is no interceptor, nor a proxy target object, to proceed to. + + + + Attributes should be replicated if they are non-inheritable, + but there are some special cases where the attributes means + something to the CLR, where they should be skipped. + + + + + Determines whether the specified method is internal. + + The method. + + true if the specified method is internal; otherwise, false. + + + + + Determines whether this assembly has internals visible to dynamic proxy. + + The assembly to inspect. + + + + Checks if the method is public or protected. + + + + + Returns list of all unique interfaces implemented given types, including their base interfaces. + + + + + Checks whether the specified is a delegate type (i.e. a direct subclass of ). + + + + + Abstracts the implementation of proxy type construction. + + + + + Gets or sets the that this logs to. + + + + + Gets the associated with this builder. + + The module scope associated with this builder. + + + + Creates a proxy type for given , implementing , using provided. + + The class type to proxy. + Additional interface types to proxy. + The proxy generation options. + The generated proxy type. + + Implementers should return a proxy type for the specified class and interfaces. + Additional interfaces should be only 'mark' interfaces, that is, they should work like interface proxy without target. (See method.) + + Thrown when or any of is a generic type definition. + Thrown when or any of is not public. + Note that to avoid this exception, you can mark offending type internal, and define + pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. + + + + + Creates a proxy type that proxies calls to members on , implementing , using provided. + + The interface type to proxy. + Additional interface types to proxy. + Type implementing on which calls to the interface members should be intercepted. + The proxy generation options. + The generated proxy type. + + Implementers should return a proxy type for the specified interface that 'proceeds' executions to the specified target. + Additional interfaces should be only 'mark' interfaces, that is, they should work like interface proxy without target. (See method.) + + Thrown when or any of is a generic type definition. + Thrown when or any of is not public. + Note that to avoid this exception, you can mark offending type internal, and define + pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. + + + + + Creates a proxy type for given and that delegates all calls to the provided interceptors and allows interceptors to switch the actual target of invocation. + + The interface type to proxy. + Additional interface types to proxy. + The proxy generation options. + The generated proxy type. + + Implementers should return a proxy type for the specified interface(s) that delegate all executions to the specified interceptors + and uses an instance of the interface as their targets (i.e. ), rather than a class. All classes should then implement interface, + to allow interceptors to switch invocation target with instance of another type implementing called interface. + + Thrown when or any of is a generic type definition. + Thrown when or any of is not public. + Note that to avoid this exception, you can mark offending type internal, and define + pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. + + + + + Creates a proxy type for given that delegates all calls to the provided interceptors. + + The interface type to proxy. + Additional interface types to proxy. + The proxy generation options. + The generated proxy type. + + Implementers should return a proxy type for the specified interface and additional interfaces that delegate all executions to the specified interceptors. + + Thrown when or any of is a generic type definition. + Thrown when or any of is not public. + Note that to avoid this exception, you can mark offending type internal, and define + pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. + + + + + Used during the target type inspection process. Implementors have a chance to customize the + proxy generation process. + + + + + Invoked by the generation process to notify that the whole process has completed. + + + + + Invoked by the generation process to notify that a member was not marked as virtual. + + The type which declares the non-virtual member. + The non-virtual member. + + This method gives an opportunity to inspect any non-proxyable member of a type that has + been requested to be proxied, and if appropriate - throw an exception to notify the caller. + + + + + Invoked by the generation process to determine if the specified method should be proxied. + + The type which declares the given method. + The method to inspect. + True if the given method should be proxied; false otherwise. + + + + Provides proxy objects for classes and interfaces. + + + + + Gets or sets the that this log to. + + + + + Gets the proxy builder instance used to generate proxy types. + + The proxy builder. + + + + Creates proxy object intercepting calls to members of interface on object with given . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The interceptors called during the invocation of proxied methods. + Object proxying calls to members of on object. + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is not an interface type. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target + use method. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of on object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is not an interface type. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target + use method. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of type on object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not an interface type. + Thrown when given does not implement interface. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target + use method. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of type on object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not an interface type. + Thrown when given does not implement interface. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target + use method. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + Additional interface types. Calls to their members will be proxied as well. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of and types on object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not an interface type. + Thrown when given does not implement interface. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target + use method. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + Additional interface types. Calls to their members will be proxied as well. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of and types on object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not an interface type. + Thrown when given does not implement interface. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target + use method. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + Interceptors can use interface to provide other target for method invocation than default . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not an interface type. + Thrown when given does not implement interface. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + Interceptors can use interface to provide other target for method invocation than default . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is not an interface type. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + Interceptors can use interface to provide other target for method invocation than default . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is not an interface type. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + Interceptors can use interface to provide other target for method invocation than default . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + Additional interface types. Calls to their members will be proxied as well. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of and types on object or alternative implementation swapped at runtime by an interceptor. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not an interface type. + Thrown when given does not implement interface. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + Interceptors can use interface to provide other target for method invocation than default . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not an interface type. + Thrown when given does not implement interface. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + Interceptors can use interface to provide other target for method invocation than default . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + Additional interface types. Calls to their members will be proxied as well. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of and types on object or alternative implementation swapped at runtime by an interceptor. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not an interface type. + Thrown when given does not implement interface. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . + + Type of the interface which will be proxied. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of types on generated target object. + + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is not an interface type. + + Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. + They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. + As a result of that also at least one implementation must be provided. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . + + Type of the interface which will be proxied. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of types on generated target object. + + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is not an interface type. + + Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. + They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. + As a result of that also at least one implementation must be provided. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . + + Type of the interface which will be proxied. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of types on generated target object. + + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is not an interface type. + + Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. + They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. + As a result of that also at least one implementation must be provided. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . + + Type of the interface which will be proxied. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of type on generated target object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not an interface type. + + Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. + They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . + + Type of the interface which will be proxied. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of type on generated target object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not an interface type. + + Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. + They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . + + Type of the interface which will be proxied. + Additional interface types. Calls to their members will be proxied as well. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of and types on generated target object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not an interface type. + + Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. + They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . + + Type of the interface which will be proxied. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of on generated target object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not an interface type. + + They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . + + Type of the interface which will be proxied. + The proxy generation options used to influence generated proxy type and object. + Additional interface types. Calls to their members will be proxied as well. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of and types on generated target object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not an interface type. + + Since this method uses an empty-shell implementation of to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. + They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The target object, calls to which will be intercepted. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + Additional interface types. Calls to their members will be proxied as well. + The target object, calls to which will be intercepted. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of and types. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + Arguments of constructor of type which should be used to create a new instance of that type. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not a class type. + Thrown when no constructor exists on type with parameters matching . + Thrown when constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The target object, calls to which will be intercepted. + Arguments of constructor of type which should be used to create a new instance of that type. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not a class type. + Thrown when no constructor exists on type with parameters matching . + Thrown when constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The target object, calls to which will be intercepted. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not a class type. + Thrown when no parameterless constructor exists on type . + Thrown when constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + Additional interface types. Calls to their members will be proxied as well. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of and types. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + Additional interface types. Calls to their members will be proxied as well. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + Arguments of constructor of type which should be used to create a new instance of that type. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of and types. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not a class type. + Thrown when no constructor exists on type with parameters matching . + Thrown when constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + Additional interface types. Calls to their members will be proxied as well. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of and types. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The proxy generation options used to influence generated proxy type and object. + Arguments of constructor of type which should be used to create a new instance of that type. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not a class type. + Thrown when no constructor exists on type with parameters matching . + Thrown when constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + Arguments of constructor of type which should be used to create a new instance of that type. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not a class type. + Thrown when no constructor exists on type with parameters matching . + Thrown when constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not a class type. + Thrown when no parameterless constructor exists on type . + Thrown when constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + Additional interface types. Calls to their members will be proxied as well. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of and types. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + Additional interface types. Calls to their members will be proxied as well. + The proxy generation options used to influence generated proxy type and object. + Arguments of constructor of type which should be used to create a new instance of that type. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of and types. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not a class type. + Thrown when no constructor exists on type with parameters matching . + Thrown when constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Exposes access to the target object and interceptors of proxy objects. + This is a DynamicProxy infrastructure interface and should not be implemented yourself. + + + + + Get the proxy target (note that null is a valid target!) + + + + + Set the proxy target. + + New proxy target. + + + + Gets the interceptors for the proxy + + + + + Because we need to cache the types based on the mixed in mixins, we do the following here: + - Get all the mixin interfaces + - Sort them by full name + - Return them by position + + The idea is to have reproducible behavior for the case that mixins are registered in different orders. + This method is here because it is required + + + + + The default file name used when the assembly is saved using . + + + + + The default assembly (simple) name used for the assemblies generated by a instance. + + + + + Initializes a new instance of the class; assemblies created by this instance will not be saved. + + + + + Initializes a new instance of the class, allowing to specify whether the assemblies generated by this instance + should be saved. + + If set to true saves the generated module. + + + + Initializes a new instance of the class, allowing to specify whether the assemblies generated by this instance + should be saved. + + If set to true saves the generated module. + If set to true disables ability to generate signed module. This should be used in cases where ran under constrained permissions. + + + + Initializes a new instance of the class, allowing to specify whether the assemblies generated by this instance + should be saved and what simple names are to be assigned to them. + + If set to true saves the generated module. + If set to true disables ability to generate signed module. This should be used in cases where ran under constrained permissions. + The simple name of the strong-named assembly generated by this . + The path and file name of the manifest module of the strong-named assembly generated by this . + The simple name of the weak-named assembly generated by this . + The path and file name of the manifest module of the weak-named assembly generated by this . + + + + Initializes a new instance of the class, allowing to specify whether the assemblies generated by this instance + should be saved and what simple names are to be assigned to them. + + If set to true saves the generated module. + If set to true disables ability to generate signed module. This should be used in cases where ran under constrained permissions. + Naming scope used to provide unique names to generated types and their members (usually via sub-scopes). + The simple name of the strong-named assembly generated by this . + The path and file name of the manifest module of the strong-named assembly generated by this . + The simple name of the weak-named assembly generated by this . + The path and file name of the manifest module of the weak-named assembly generated by this . + + + + Users of this should use this lock when accessing the cache. + + + + + Returns a type from this scope's type cache, or null if the key cannot be found. + + The key to be looked up in the cache. + The type from this scope's type cache matching the key, or null if the key cannot be found + + + + Registers a type in this scope's type cache. + + The key to be associated with the type. + The type to be stored in the cache. + + + + Gets the key pair used to sign the strong-named assembly generated by this . + + + + + Gets the strong-named module generated by this scope, or if none has yet been generated. + + The strong-named module generated by this scope, or if none has yet been generated. + + + + Gets the file name of the strongly named module generated by this scope. + + The file name of the strongly named module generated by this scope. + + + + Gets the directory where the strongly named module generated by this scope will be saved, or if the current directory + is used. + + The directory where the strongly named module generated by this scope will be saved when is called + (if this scope was created to save modules). + + + + Gets the weak-named module generated by this scope, or if none has yet been generated. + + The weak-named module generated by this scope, or if none has yet been generated. + + + + Gets the file name of the weakly named module generated by this scope. + + The file name of the weakly named module generated by this scope. + + + + Gets the directory where the weakly named module generated by this scope will be saved, or if the current directory + is used. + + The directory where the weakly named module generated by this scope will be saved when is called + (if this scope was created to save modules). + + + + Gets the specified module generated by this scope, creating a new one if none has yet been generated. + + If set to true, a strong-named module is returned; otherwise, a weak-named module is returned. + A strong-named or weak-named module generated by this scope, as specified by the parameter. + + + + Gets the strong-named module generated by this scope, creating a new one if none has yet been generated. + + A strong-named module generated by this scope. + + + + Gets the weak-named module generated by this scope, creating a new one if none has yet been generated. + + A weak-named module generated by this scope. + + + + Saves the generated assembly with the name and directory information given when this instance was created (or with + the and current directory if none was given). + + + + This method stores the generated assembly in the directory passed as part of the module information specified when this instance was + constructed (if any, else the current directory is used). If both a strong-named and a weak-named assembly + have been generated, it will throw an exception; in this case, use the overload. + + + If this was created without indicating that the assembly should be saved, this method does nothing. + + + Both a strong-named and a weak-named assembly have been generated. + The path of the generated assembly file, or null if no file has been generated. + + + + Saves the specified generated assembly with the name and directory information given when this instance was created + (or with the and current directory if none was given). + + True if the generated assembly with a strong name should be saved (see ); + false if the generated assembly without a strong name should be saved (see . + + + This method stores the specified generated assembly in the directory passed as part of the module information specified when this instance was + constructed (if any, else the current directory is used). + + + If this was created without indicating that the assembly should be saved, this method does nothing. + + + No assembly has been generated that matches the parameter. + + The path of the generated assembly file, or null if no file has been generated. + + + + Loads the generated types from the given assembly into this 's cache. + + The assembly to load types from. This assembly must have been saved via or + , or it must have the manually applied. + + This method can be used to load previously generated and persisted proxy types from disk into this scope's type cache, e.g. in order + to avoid the performance hit associated with proxy generation. + + + + + ProxyBuilder that persists the generated type. + + + The saved assembly contains just the last generated type. + + + + + Initializes a new instance of the class. + + + + + Saves the generated assembly to a physical file. Note that this renders the unusable. + + The path of the generated assembly file, or null if no assembly has been generated. + + This method does not support saving multiple files. If both a signed and an unsigned module have been generated, use the + respective methods of the . + + + + + allows customization of the behavior of proxies created by + an (or proxy types generated by an ). + + You should not modify an instance of once it has been + used to create a proxy (or proxy type). + + + + + + Initializes a new instance of the class. + + The hook. + + + + Initializes a new instance of the class. + + + + + Gets or sets the that should be used during proxy type + generation. Defaults to an instance of . + + You should not modify this property once this instance + has been used to create a proxy. + + + + + + Gets or sets the that should be used by created proxies + to determine which interceptors to use for an interception. If set to + (which is the default), created proxies will not use any selector. + + You should not modify this property once this instance + has been used to create a proxy. + + + + + + Gets or sets the class type from which generated interface proxy types will be derived. + Defaults to (). + + You should not modify this property once this instance + has been used to create a proxy. + + + + + + Gets the collection of additional custom attributes that will be put on generated proxy types. + This collection is initially empty. + + You should not modify this collection once this instance + has been used to create a proxy. + + + + + + Adds a delegate type to the list of mixins that will be added to generated proxies. + That is, generated proxies will have a `Invoke` method with a signature matching that + of the specified . + + You should not call this method once this instance + has been used to create a proxy. + + + The delegate type whose `Invoke` method should be reproduced in generated proxies. + is . + is not a delegate type. + + + + Adds a delegate to be mixed into generated proxies. The + will act as the target for calls to a `Invoke` method with a signature matching that + of the delegate. + + You should not call this method once this instance + has been used to create a proxy. + + + The delegate that should act as the target for calls to `Invoke` methods with a matching signature. + is . + + + + Mixes the interfaces implemented by the specified object into + created proxies, and uses as the target for these mixed-in interfaces. + + You should not call this method once this instance + has been used to create a proxy. + + + The object that should act as the target for all of its implemented interfaces' methods. + is . + is an instance of . + + + + Provides proxy objects for classes and interfaces. + + + + + Initializes a new instance of the class. + + Proxy types builder. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + If true forces all types to be generated into an unsigned module. + + + + Gets or sets the that this log to. + + + + + Gets the proxy builder instance used to generate proxy types. + + The proxy builder. + + + + Creates proxy object intercepting calls to members of interface on object with given . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The interceptors called during the invocation of proxied methods. + Object proxying calls to members of on object. + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is not an interface type. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target + use method. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of on object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is not an interface type. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target + use method. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of type on object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not an interface type. + Thrown when given does not implement interface. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target + use method. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of type on object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not an interface type. + Thrown when given does not implement interface. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target + use method. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + Additional interface types. Calls to their members will be proxied as well. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of and types on object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not an interface type. + Thrown when given does not implement interface. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target + use method. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + Additional interface types. Calls to their members will be proxied as well. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of and types on object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not an interface type. + Thrown when given does not implement interface. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target + use method. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + Interceptors can use interface to provide other target for method invocation than default . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not an interface type. + Thrown when given does not implement interface. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + Interceptors can use interface to provide other target for method invocation than default . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is not an interface type. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + Interceptors can use interface to provide other target for method invocation than default . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is not an interface type. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + Interceptors can use interface to provide other target for method invocation than default . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + Additional interface types. Calls to their members will be proxied as well. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of and types on object or alternative implementation swapped at runtime by an interceptor. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not an interface type. + Thrown when given does not implement interface. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + Interceptors can use interface to provide other target for method invocation than default . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not an interface type. + Thrown when given does not implement interface. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + Interceptors can use interface to provide other target for method invocation than default . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + Additional interface types. Calls to their members will be proxied as well. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of and types on object or alternative implementation swapped at runtime by an interceptor. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not an interface type. + Thrown when given does not implement interface. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . + + Type of the interface which will be proxied. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of types on generated target object. + + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is not an interface type. + + Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. + They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. + As a result of that also at least one implementation must be provided. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . + + Type of the interface which will be proxied. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of types on generated target object. + + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is not an interface type. + + Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. + They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. + As a result of that also at least one implementation must be provided. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . + + Type of the interface which will be proxied. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of types on generated target object. + + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is not an interface type. + + Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. + They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. + As a result of that also at least one implementation must be provided. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . + + Type of the interface which will be proxied. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of type on generated target object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not an interface type. + + Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. + They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . + + Type of the interface which will be proxied. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of type on generated target object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not an interface type. + + Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. + They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . + + Type of the interface which will be proxied. + Additional interface types. Calls to their members will be proxied as well. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of and types on generated target object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not an interface type. + + Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. + They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . + + Type of the interface which will be proxied. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of on generated target object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not an interface type. + + They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . + + Type of the interface which will be proxied. + The proxy generation options used to influence generated proxy type and object. + Additional interface types. Calls to their members will be proxied as well. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of and types on generated target object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not an interface type. + + Since this method uses an empty-shell implementation of to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. + They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The target object, calls to which will be intercepted. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + Additional interface types. Calls to their members will be proxied as well. + The target object, calls to which will be intercepted. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of and types. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + Arguments of constructor of type which should be used to create a new instance of that type. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not a class type. + Thrown when no constructor exists on type with parameters matching . + Thrown when constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The target object, calls to which will be intercepted. + Arguments of constructor of type which should be used to create a new instance of that type. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not a class type. + Thrown when no constructor exists on type with parameters matching . + Thrown when constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The target object, calls to which will be intercepted. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not a class type. + Thrown when no parameterless constructor exists on type . + Thrown when constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + Additional interface types. Calls to their members will be proxied as well. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of and types. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + Additional interface types. Calls to their members will be proxied as well. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + Arguments of constructor of type which should be used to create a new instance of that type. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of and types. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not a class type. + Thrown when no constructor exists on type with parameters matching . + Thrown when constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + Additional interface types. Calls to their members will be proxied as well. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of and types. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The proxy generation options used to influence generated proxy type and object. + Arguments of constructor of type which should be used to create a new instance of that type. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not a class type. + Thrown when no constructor exists on type with parameters matching . + Thrown when constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + Arguments of constructor of type which should be used to create a new instance of that type. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not a class type. + Thrown when no constructor exists on type with parameters matching . + Thrown when constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not a class type. + Thrown when no parameterless constructor exists on type . + Thrown when constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + Additional interface types. Calls to their members will be proxied as well. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of and types. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + Additional interface types. Calls to their members will be proxied as well. + The proxy generation options used to influence generated proxy type and object. + Arguments of constructor of type which should be used to create a new instance of that type. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of and types. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not a class type. + Thrown when no constructor exists on type with parameters matching . + Thrown when constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates the proxy type for class proxy with given class, implementing given and using provided . + + The base class for proxy type. + The interfaces that proxy type should implement. + The options for proxy generation process. + of proxy. + + + + Creates the proxy type for interface proxy with target for given interface, implementing given on given and using provided . + + The interface proxy type should implement. + The additional interfaces proxy type should implement. + Actual type that the proxy type will encompass. + The options for proxy generation process. + of proxy. + + + + Creates the proxy type for interface proxy with target interface for given interface, implementing given on given and using provided . + + The interface proxy type should implement. + The additional interfaces proxy type should implement. + The options for proxy generation process. + of proxy. + + + + Creates the proxy type for interface proxy without target for given interface, implementing given and using provided . + + The interface proxy type should implement. + The additional interfaces proxy type should implement. + The options for proxy generation process. + of proxy. + + + + Creates a delegate of the specified type to a suitable `Invoke` method + on the given instance. + + The proxy instance to which the delegate should be bound. + The type of delegate that should be created. + + The does not have an `Invoke` method that is compatible with + the requested type. + + + + + Creates a delegate of the specified type to a suitable `Invoke` method + on the given instance. + + The proxy instance to which the delegate should be bound. + The type of delegate that should be created. + + The does not have an `Invoke` method that is compatible with + the requested . + + + + + Checks whether the specified method is accessible to DynamicProxy. + The method to check. + true if the method is accessible to DynamicProxy, false otherwise. + + + + Checks whether the specified method is accessible to DynamicProxy. + The method to check. + If the method is accessible to DynamicProxy, null; otherwise, an explanation of why the method is not accessible. + true if the method is accessible to DynamicProxy, false otherwise. + + + + Checks whether the specified type is accessible to DynamicProxy. + The type to check. + true if the type is accessible to DynamicProxy, false otherwise. + + + + Determines whether this assembly has internals visible to DynamicProxy. + + The assembly to inspect. + + + + Checks whether the specified method is accessible to DynamicProxy. + Unlike with , the declaring type's accessibility is ignored. + + The method to check. + true if the method is accessible to DynamicProxy, false otherwise. + + + + Determines whether the specified method is internal. + + The method. + + true if the specified method is internal; otherwise, false. + + + + + Applied to the assemblies saved by in order to persist the cache data included in the persisted assembly. + + + + + Handles the deserialization of proxies. + + + + + Resets the used for deserialization to a new scope. + + + This is useful for test cases. + + + + + Resets the used for deserialization to a given . + + The scope to be used for deserialization. + + By default, the deserialization process uses a different scope than the rest of the application, which can lead to multiple proxies + being generated for the same type. By explicitly setting the deserialization scope to the application's scope, this can be avoided. + + + + + Gets the used for deserialization. + + As has no way of automatically determining the scope used by the application (and the application might use more than one scope at the same time), uses a dedicated scope instance for deserializing proxy types. This instance can be reset and set to a specific value via and . + + + + Holds objects representing methods of class. + + + + + Holds objects representing methods of class. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/packages/Castle.Core.4.4.1/lib/net45/Castle.Core.xml b/src/packages/Castle.Core.4.4.1/lib/net45/Castle.Core.xml new file mode 100644 index 0000000..ec9d692 --- /dev/null +++ b/src/packages/Castle.Core.4.4.1/lib/net45/Castle.Core.xml @@ -0,0 +1,6130 @@ + + + + Castle.Core + + + + + Abstract adapter for the support + needed by the + + + + + Adds an element with the provided key and value to the object. + + The to use as the key of the element to add. + The to use as the value of the element to add. + An element with the same key already exists in the object. + key is null. + The is read-only.-or- The has a fixed size. + + + + Removes all elements from the object. + + The object is read-only. + + + + Determines whether the object contains an element with the specified key. + + The key to locate in the object. + + true if the contains an element with the key; otherwise, false. + + key is null. + + + + Returns an object for the object. + + + An object for the object. + + + + + Gets a value indicating whether the object has a fixed size. + + true if the object has a fixed size; otherwise, false. + + + + Gets a value indicating whether the object is read-only. + + true if the object is read-only; otherwise, false. + + + + Gets an object containing the keys of the object. + + An object containing the keys of the object. + + + + Removes the element with the specified key from the object. + + The key of the element to remove. + The object is read-only.-or- The has a fixed size. + key is null. + + + + Gets an object containing the values in the object. + + An object containing the values in the object. + + + + Gets or sets the with the specified key. + + + + + Copies the elements of the to an , starting at a particular index. + + The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. + The zero-based index in array at which copying begins. + array is null. + The type of the source cannot be cast automatically to the type of the destination array. + index is less than zero. + array is multidimensional.-or- index is equal to or greater than the length of array.-or- The number of elements in the source is greater than the available space from index to the end of the destination array. + + + + Gets the number of elements contained in the . + + The number of elements contained in the . + + + + Gets a value indicating whether access to the is synchronized (thread safe). + + true if access to the is synchronized (thread safe); otherwise, false. + + + + Gets an object that can be used to synchronize access to the . + + An object that can be used to synchronize access to the . + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Abstract implementation of . + + + + + Identifies a property should be represented as a nested component. + + + + + Applies no prefix. + + + + + Gets or sets the prefix. + + The prefix. + + + + Identifies the dictionary adapter types. + + + + + Assigns a specific dictionary key. + + + + + Identifies an interface or property to be pre-fetched. + + + + + Instructs fetching to occur. + + + + + Instructs fetching according to + + + + + Gets whether or not fetching should occur. + + + + + Assigns a property to a group. + + + + + Constructs a group assignment. + + The group name. + + + + Constructs a group assignment. + + The group name. + + + + Gets the group the property is assigned to. + + + + + Suppresses any on-demand behaviors. + + + + + Assigns a specific dictionary key. + + + + + Initializes a new instance of the class. + + The key. + + + + Initializes a new instance of the class. + + The compound key. + + + + Assigns a prefix to the keyed properties of an interface. + + + Key prefixes are not inherited by sub-interfaces. + + + + + Initializes a default instance of the class. + + + + + Initializes a new instance of the class. + + The prefix for the keyed properties of the interface. + + + + Gets the prefix key added to the properties of the interface. + + + + + Substitutes part of key with another string. + + + + + Initializes a new instance of the class. + + The old value. + The new value. + + + + Requests support for multi-level editing. + + + + + Generates a new GUID on demand. + + + + + Support for on-demand value resolution. + + + + + Specifies assignment by reference rather than by copying. + + + + + Removes a property if matches value. + + + + + Removes a property if null or empty string, guid or collection. + + + + + Provides simple string formatting from existing properties. + + + + + Gets the string format. + + + + + Gets the format properties. + + + + + Identifies a property should be represented as a delimited string value. + + + + + Gets the separator. + + + + + Converts all properties to strings. + + + + + Gets or sets the format. + + The format. + + + + Suppress property change notifications. + + + + + Assigns a prefix to the keyed properties using the interface name. + + + + + Indicates that underlying values are changeable and should not be cached. + + + + + Initializes a new instance of the class + that represents a child object in a larger object graph. + + + + + Manages conversion between property values. + + + + + Initializes a new instance of the class. + + The converter. + + + + + + + + + Gets the effective dictionary value. + + The dictionary adapter. + The key. + The stored value. + The property. + true if return only existing. + The effective property value. + + + + Uses Reflection.Emit to expose the properties of a dictionary + through a dynamic implementation of a typed interface. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Wraps a with a dynamic object to expose a bit better looking API. + The implementation is trivial and assumes keys are s. + + + + + Contract for manipulating the Dictionary adapter. + + + + + Defines the contract for building typed dictionary adapters. + + + + + Gets a typed adapter bound to the . + + The typed interface. + The underlying source of properties. + An implementation of the typed interface bound to the dictionary. + + The type represented by T must be an interface with properties. + + + + + Gets a typed adapter bound to the . + + The typed interface. + The underlying source of properties. + An implementation of the typed interface bound to the dictionary. + + The type represented by T must be an interface with properties. + + + + + Gets a typed adapter bound to the . + + The typed interface. + The underlying source of properties. + The property descriptor. + An implementation of the typed interface bound to the dictionary. + + The type represented by T must be an interface with properties. + + + + + Gets a typed adapter bound to the . + + The typed interface. + The underlying source of properties. + An implementation of the typed interface bound to the namedValues. + + The type represented by T must be an interface with properties. + + + + + Gets a typed adapter bound to the . + + The typed interface. + The underlying source of properties. + An implementation of the typed interface bound to the namedValues. + + The type represented by T must be an interface with properties. + + + + + Gets a typed adapter bound to the . + + The typed interface. + The underlying source of properties. + An implementation of the typed interface bound to the . + + The type represented by T must be an interface with properties. + + + + + Gets a typed adapter bound to the . + + The typed interface. + The underlying source of properties. + An implementation of the typed interface bound to the . + + The type represented by T must be an interface with properties. + + + + + Gets the associated with the type. + + The typed interface. + The adapter meta-data. + + + + Gets the associated with the type. + + The typed interface. + The property descriptor. + The adapter meta-data. + + + + Gets the associated with the type. + + The typed interface. + Another from which to copy behaviors. + The adapter meta-data. + + + + Contract for traversing a . + + + + + Defines the contract for customizing dictionary access. + + + + + Determines relative order to apply related behaviors. + + + + + Copies the dictionary behavior. + + null if should not be copied. Otherwise copy. + + + + Defines the contract for building s. + + + + + Builds the dictionary behaviors. + + + + + Contract for creating additional Dictionary adapters. + + + + + Contract for editing the Dictionary adapter. + + + + + Contract for dictionary initialization. + + + + + Performs any initialization of the + + The dictionary adapter. + The dictionary behaviors. + + + + Defines the contract for building typed dictionary keys. + + + + + Builds the specified key. + + The dictionary adapter. + The current key. + The property. + The updated key + + + + Contract for dictionary meta-data initialization. + + + + + Initializes the given object. + + The dictionary adapter factory. + The dictionary adapter meta. + + + + + Determines whether the given behavior should be included in a new + object. + + A dictionary behavior or annotation. + True if the behavior should be included; otherwise, false. + + behaviors are always included, + regardless of the result of this method. + + + + + + Contract for managing Dictionary adapter notifications. + + + + + Defines the contract for retrieving dictionary values. + + + + + Gets the effective dictionary value. + + The dictionary adapter. + The key. + The stored value. + The property. + true if return only existing. + The effective property value. + + + + Defines the contract for updating dictionary values. + + + + + Sets the stored dictionary value. + + The dictionary adapter. + The key. + The stored value. + The property. + true if the property should be stored. + + + + Contract for validating Dictionary adapter. + + + + + Contract for dictionary validation. + + + + + Determines if is valid. + + The dictionary adapter. + true if valid. + + + + Validates the . + + The dictionary adapter. + The error summary information. + + + + Validates the for a property. + + The dictionary adapter. + The property to validate. + The property summary information. + + + + Invalidates any results cached by the validator. + + The dictionary adapter. + + + + Contract for property descriptor initialization. + + + + + Performs any initialization of the + + The property descriptor. + The property behaviors. + + + + + + + + + Initializes a new instance of the class. + + The name values. + + + + Gets a value indicating whether the object is read-only. + + true if the object is read-only; otherwise, false. + + + + Determines whether the object contains an element with the specified key. + + The key to locate in the object. + + true if the contains an element with the key; otherwise, false. + + key is null. + + + + Gets or sets the with the specified key. + + + + + Adapts the specified name values. + + The name values. + + + + Describes a dictionary property. + + + + + Initializes an empty class. + + + + + Initializes a new instance of the class. + + The property. + The annotations. + + + + Initializes a new instance class. + + + + + Copies an existing instance of the class. + + + + + + + + + + Gets the property name. + + + + + Gets the property type. + + + + + Gets the property. + + The property. + + + + Returns true if the property is dynamic. + + + + + Gets additional state. + + + + + Determines if property should be fetched. + + + + + Determines if property must exist first. + + + + + Determines if notifications should occur. + + + + + Gets the property behaviors. + + + + + Gets the type converter. + + The type converter. + + + + Gets the extended properties. + + + + + Gets the setter. + + The setter. + + + + Gets the key builders. + + The key builders. + + + + Gets the setter. + + The setter. + + + + Gets the getter. + + The getter. + + + + Gets the initializers. + + The initializers. + + + + Gets the meta-data initializers. + + The meta-data initializers. + + + + Gets the key. + + The dictionary adapter. + The key. + The descriptor. + + + + Gets the property value. + + The dictionary adapter. + The key. + The stored value. + The descriptor. + true if return only existing. + + + + Sets the property value. + + The dictionary adapter. + The key. + The value. + The descriptor. + + + + Adds a single behavior. + + The behavior. + + + + Adds the behaviors. + + The behaviors. + + + + Adds the behaviors. + + The behaviors. + + + + Copies the behaviors to the other + + + + + Copies the + + + + + Provides a generic collection that supports data binding. + + + This class wraps the CLR + in order to implement the Castle-specific . + + The type of elements in the list. + + + + Initializes a new instance of the class + using default values. + + + + + Initializes a new instance of the class + with the specified list. + + + An of items + to be contained in the . + + + + + Initializes a new instance of the class + wrapping the specified instance. + + + A + to be wrapped by the . + + + + + Contract for value matching. + + + + + Contract for dynamic value resolution. + + + + + Contract for typed dynamic value resolution. + + + + + + This is an abstract implementation + that deals with methods that can be abstracted away + from underlying implementations. + + + AbstractConfiguration makes easier to implementers + to create a new version of + + + + + Gets node attributes. + + + All attributes of the node. + + + + + Gets all child nodes. + + The of child nodes. + + + + Gets the name of the . + + + The Name of the . + + + + + Gets the value of . + + + The Value of the . + + + + + Gets the value of the node and converts it + into specified . + + The + + The Default value returned if the conversion fails. + + The Value converted into the specified type. + + + + A collection of objects. + + + + + Creates a new instance of ConfigurationCollection. + + + + + Creates a new instance of ConfigurationCollection. + + + + + is a interface encapsulating a configuration node + used to retrieve configuration values. + + + + + Gets the name of the node. + + + The Name of the node. + + + + + Gets the value of the node. + + + The Value of the node. + + + + + Gets an of + elements containing all node children. + + The Collection of child nodes. + + + + Gets an of the configuration attributes. + + + + + Gets the value of the node and converts it + into specified . + + The + + The Default value returned if the conversion fails. + + The Value converted into the specified type. + + + + Initializes a new instance of the class. + + The name. + + + + Gets the value of . + + + The Value of the . + + + + + Deserializes the specified node into an abstract representation of configuration. + + The node. + + + + If a config value is an empty string we return null, this is to keep + backward compatibility with old code + + + + + Helper class for retrieving attributes. + + + + + Gets the attribute. + + The type. + The type attribute. + + + + Gets the attributes. Does not consider inherited attributes! + + The type. + The type attributes. + + + + Gets the attribute. + + The member. + The member attribute. + + + + Gets the attributes. Does not consider inherited attributes! + + The member. + The member attributes. + + + + Gets the type attribute. + + The type. + The type attribute. + + + + Gets the type attributes. + + The type. + The type attributes. + + + + Gets the type converter. + + The member. + + + + Checks whether or not collection is null or empty. Assumes collection can be safely enumerated multiple times. + + + + + Generates a HashCode for the contents for the list. Order of items does not matter. + + The type of object contained within the list. + The list. + The generated HashCode. + + + + Determines if two lists are equivalent. Equivalent lists have the same number of items and each item is found within the other regardless of respective position within each. + + The type of object contained within the list. + The first list. + The second list. + True if the two lists are equivalent. + + + + Constant to use when making assembly internals visible to Castle.Core + [assembly: InternalsVisibleTo(CoreInternalsVisible.ToCastleCore)] + + + + + Constant to use when making assembly internals visible to proxy types generated by DynamicProxy. Required when proxying internal types. + [assembly: InternalsVisibleTo(CoreInternalsVisible.ToDynamicProxyGenAssembly2)] + + + + + Creates a new lock. + + + + + Find the best available name to describe a type. + + + Usually the best name will be , but + sometimes that's null (see http://msdn.microsoft.com/en-us/library/system.type.fullname%28v=vs.110%29.aspx) + in which case the method falls back to . + + the type to name + the best name + + + + Defines that the implementation wants a + in order to + access other components. The creator must be aware + that the component might (or might not) implement + the interface. + + + Used by Castle Project components to, for example, + gather logging factories + + + + + Increments IServiceProvider with a generic service resolution operation. + + + + + This interface should be implemented by classes + that are available in a bigger context, exposing + the container to different areas in the same application. + + For example, in Web application, the (global) HttpApplication + subclasses should implement this interface to expose + the configured container + + + + + + Creates a new extended logger, getting the logger name from the specified type. + + + + + Creates a new extended logger. + + + + + Creates a new extended logger, getting the logger name from the specified type. + + + + + Creates a new extended logger. + + + + + Creates a new logger, getting the logger name from the specified type. + + + + + Creates a new logger. + + + + + Creates a new logger, getting the logger name from the specified type. + + + + + Creates a new logger. + + + + + Gets the configuration file. + + i.e. log4net.config + + + + Gets the configuration file. + + i.e. log4net.config + + + + The Logger sending everything to the standard output streams. + This is mainly for the cases when you have a utility that + does not have a logger to supply. + + + + + Creates a new ConsoleLogger with the Level + set to LoggerLevel.Debug and the Name + set to String.Empty. + + + + + Creates a new ConsoleLogger with the Name + set to String.Empty. + + The logs Level. + + + + Creates a new ConsoleLogger with the Level + set to LoggerLevel.Debug. + + The logs Name. + + + + Creates a new ConsoleLogger. + + The logs Name. + The logs Level. + + + + A Common method to log. + + The level of logging + The name of the logger + The Message + The Exception + + + + Returns a new ConsoleLogger with the name + added after this loggers name, with a dot in between. + + The added hierarchical name. + A new ConsoleLogger. + + + + The Logger using standard Diagnostics namespace. + + + + + Creates a logger based on . + + + + + + Creates a logger based on . + + + + + + + Creates a logger based on . + + + + + + + + Interface for Context Properties implementations + + + + This interface defines a basic property get set accessor. + + + Based on the ContextPropertiesBase of log4net, by Nicko Cadell. + + + + + + Gets or sets the value of a property + + + The value for the property with the specified key + + + + Gets or sets the value of a property + + + + + + Provides an interface that supports and + allows the storage and retrieval of Contexts. These are supported in + both log4net and NLog. + + + + + Exposes the Global Context of the extended logger. + + + + + Exposes the Thread Context of the extended logger. + + + + + Exposes the Thread Stack of the extended logger. + + + + + Provides a factory that can produce either or + classes. + + + + + Creates a new extended logger, getting the logger name from the specified type. + + + + + Creates a new extended logger. + + + + + Creates a new extended logger, getting the logger name from the specified type. + + + + + Creates a new extended logger. + + + + + Manages logging. + + + This is a facade for the different logging subsystems. + It offers a simplified interface that follows IOC patterns + and a simplified priority/level/severity abstraction. + + + + + Determines if messages of priority "trace" will be logged. + + True if "trace" messages will be logged. + + + + Determines if messages of priority "debug" will be logged. + + True if "debug" messages will be logged. + + + + Determines if messages of priority "error" will be logged. + + True if "error" messages will be logged. + + + + Determines if messages of priority "fatal" will be logged. + + True if "fatal" messages will be logged. + + + + Determines if messages of priority "info" will be logged. + + True if "info" messages will be logged. + + + + Determines if messages of priority "warn" will be logged. + + True if "warn" messages will be logged. + + + + Create a new child logger. + The name of the child logger is [current-loggers-name].[passed-in-name] + + The Subname of this logger. + The New ILogger instance. + If the name has an empty element name. + + + + Logs a trace message. + + The message to log + + + + Logs a trace message with lazily constructed message. The message will be constructed only if the is true. + + + + + Logs a trace message. + + The exception to log + The message to log + + + + Logs a trace message. + + Format string for the message to log + Format arguments for the message to log + + + + Logs a trace message. + + The exception to log + Format string for the message to log + Format arguments for the message to log + + + + Logs a trace message. + + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs a trace message. + + The exception to log + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs a debug message. + + The message to log + + + + Logs a debug message with lazily constructed message. The message will be constructed only if the is true. + + + + + Logs a debug message. + + The exception to log + The message to log + + + + Logs a debug message. + + Format string for the message to log + Format arguments for the message to log + + + + Logs a debug message. + + The exception to log + Format string for the message to log + Format arguments for the message to log + + + + Logs a debug message. + + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs a debug message. + + The exception to log + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs an error message. + + The message to log + + + + Logs an error message with lazily constructed message. The message will be constructed only if the is true. + + + + + Logs an error message. + + The exception to log + The message to log + + + + Logs an error message. + + Format string for the message to log + Format arguments for the message to log + + + + Logs an error message. + + The exception to log + Format string for the message to log + Format arguments for the message to log + + + + Logs an error message. + + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs an error message. + + The exception to log + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs a fatal message. + + The message to log + + + + Logs a fatal message with lazily constructed message. The message will be constructed only if the is true. + + + + + Logs a fatal message. + + The exception to log + The message to log + + + + Logs a fatal message. + + Format string for the message to log + Format arguments for the message to log + + + + Logs a fatal message. + + The exception to log + Format string for the message to log + Format arguments for the message to log + + + + Logs a fatal message. + + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs a fatal message. + + The exception to log + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs an info message. + + The message to log + + + + Logs a info message with lazily constructed message. The message will be constructed only if the is true. + + + + + Logs an info message. + + The exception to log + The message to log + + + + Logs an info message. + + Format string for the message to log + Format arguments for the message to log + + + + Logs an info message. + + The exception to log + Format string for the message to log + Format arguments for the message to log + + + + Logs an info message. + + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs an info message. + + The exception to log + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs a warn message. + + The message to log + + + + Logs a warn message with lazily constructed message. The message will be constructed only if the is true. + + + + + Logs a warn message. + + The exception to log + The message to log + + + + Logs a warn message. + + Format string for the message to log + Format arguments for the message to log + + + + Logs a warn message. + + The exception to log + Format string for the message to log + Format arguments for the message to log + + + + Logs a warn message. + + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs a warn message. + + The exception to log + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Manages the instantiation of s. + + + + + Creates a new logger, getting the logger name from the specified type. + + + + + Creates a new logger. + + + + + Creates a new logger, getting the logger name from the specified type. + + + + + Creates a new logger. + + + + + The Level Filtered Logger class. This is a base class which + provides a LogLevel attribute and reroutes all functions into + one Log method. + + + + + Creates a new LevelFilteredLogger. + + + + + Keep the instance alive in a remoting scenario + + + + + The LoggerLevel that this logger + will be using. Defaults to LoggerLevel.Off + + + + + The name that this logger will be using. + Defaults to String.Empty + + + + + Logs a trace message. + + The message to log + + + + Logs a trace message. + + A functor to create the message + + + + Logs a trace message. + + The exception to log + The message to log + + + + Logs a trace message. + + Format string for the message to log + Format arguments for the message to log + + + + Logs a trace message. + + The exception to log + Format string for the message to log + Format arguments for the message to log + + + + Logs a trace message. + + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs a trace message. + + The exception to log + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs a debug message. + + The message to log + + + + Logs a debug message. + + The exception to log + The message to log + + + + Logs a debug message. + + Format string for the message to log + Format arguments for the message to log + + + + Logs a debug message. + + The exception to log + Format string for the message to log + Format arguments for the message to log + + + + Logs a debug message. + + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs a debug message. + + The exception to log + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs an info message. + + The message to log + + + + Logs an info message. + + The exception to log + The message to log + + + + Logs an info message. + + Format string for the message to log + Format arguments for the message to log + + + + Logs an info message. + + The exception to log + Format string for the message to log + Format arguments for the message to log + + + + Logs an info message. + + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs an info message. + + The exception to log + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs a warn message. + + The message to log + + + + Logs a warn message. + + The exception to log + The message to log + + + + Logs a warn message. + + Format string for the message to log + Format arguments for the message to log + + + + Logs a warn message. + + The exception to log + Format string for the message to log + Format arguments for the message to log + + + + Logs a warn message. + + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs a warn message. + + The exception to log + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs an error message. + + The message to log + + + + Logs an error message. + + The exception to log + The message to log + + + + Logs an error message. + + Format string for the message to log + Format arguments for the message to log + + + + Logs an error message. + + The exception to log + Format string for the message to log + Format arguments for the message to log + + + + Logs an error message. + + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs an error message. + + The exception to log + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs a fatal message. + + The message to log + + + + Logs a fatal message. + + The exception to log + The message to log + + + + Logs a fatal message. + + Format string for the message to log + Format arguments for the message to log + + + + Logs a fatal message. + + The exception to log + Format string for the message to log + Format arguments for the message to log + + + + Logs a fatal message. + + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs a fatal message. + + The exception to log + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Determines if messages of priority "trace" will be logged. + + true if log level flags include the bit + + + + Determines if messages of priority "debug" will be logged. + + true if log level flags include the bit + + + + Determines if messages of priority "info" will be logged. + + true if log level flags include the bit + + + + Determines if messages of priority "warn" will be logged. + + true if log level flags include the bit + + + + Determines if messages of priority "error" will be logged. + + true if log level flags include the bit + + + + Determines if messages of priority "fatal" will be logged. + + true if log level flags include the bit + + + + Implementors output the log content by implementing this method only. + Note that exception can be null + + + + + Supporting Logger levels. + + + + + Logging will be off + + + + + Fatal logging level + + + + + Error logging level + + + + + Warn logging level + + + + + Info logging level + + + + + Debug logging level + + + + + Trace logging level + + + + + NullLogFactory used when logging is turned off. + + + + + Creates an instance of ILogger with the specified name. + + Name. + + + + Creates an instance of ILogger with the specified name and LoggerLevel. + + Name. + Level. + + + + The Null Logger class. This is useful for implementations where you need + to provide a logger to a utility class, but do not want any output from it. + It also helps when you have a utility that does not have a logger to supply. + + + + + Returns empty context properties. + + + + + Returns empty context properties. + + + + + Returns empty context stacks. + + + + + No-op. + + false + + + + No-op. + + false + + + + No-op. + + false + + + + No-op. + + false + + + + No-op. + + false + + + + No-op. + + false + + + + Returns this NullLogger. + + Ignored + This ILogger instance. + + + + No-op. + + Ignored + + + + No-op. + + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + Ignored + Ignored + + + + No-op. + + Ignored + + + + No-op. + + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + Ignored + Ignored + + + + No-op. + + Ignored + + + + No-op. + + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + Ignored + Ignored + + + + No-op. + + Ignored + + + + No-op. + + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + Ignored + Ignored + + + + No-op. + + Ignored + + + + No-op. + + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + Ignored + Ignored + + + + No-op. + + Ignored + + + + No-op. + + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + Ignored + Ignored + + + + The Stream Logger class. This class can stream log information + to any stream, it is suitable for storing a log file to disk, + or to a MemoryStream for testing your components. + + + This logger is not thread safe. + + + + + Creates a new StreamLogger with default encoding + and buffer size. Initial Level is set to Debug. + + + The name of the log. + + + The stream that will be used for logging, + seeking while the logger is alive + + + + + Creates a new StreamLogger with default buffer size. + Initial Level is set to Debug. + + + The name of the log. + + + The stream that will be used for logging, + seeking while the logger is alive + + + The encoding that will be used for this stream. + + + + + + Creates a new StreamLogger. + Initial Level is set to Debug. + + + The name of the log. + + + The stream that will be used for logging, + seeking while the logger is alive + + + The encoding that will be used for this stream. + + + + The buffer size that will be used for this stream. + + + + + + Creates a new StreamLogger with + Debug as default Level. + + The name of the log. + The StreamWriter the log will write to. + + + + Creates outputting + to files. The name of the file is derived from the log name + plus the 'log' extension. + + + + + The TraceLogger sends all logging to the System.Diagnostics.TraceSource + built into the .net framework. + + + Logging can be configured in the system.diagnostics configuration + section. + + If logger doesn't find a source name with a full match it will + use source names which match the namespace partially. For example you can + configure from all castle components by adding a source name with the + name "Castle". + + If no portion of the namespace matches the source named "Default" will + be used. + + + + + Build a new trace logger based on the named TraceSource + + The name used to locate the best TraceSource. In most cases comes from the using type's fullname. + + + + Build a new trace logger based on the named TraceSource + + The name used to locate the best TraceSource. In most cases comes from the using type's fullname. + The default logging level at which this source should write messages. In almost all cases this + default value will be overridden in the config file. + + + + Create a new child logger. + The name of the child logger is [current-loggers-name].[passed-in-name] + + The Subname of this logger. + The New ILogger instance. + + + + Used to create the TraceLogger implementation of ILogger interface. See . + + + + + General purpose class to represent a standard pair of values. + + Type of the first value + Type of the second value + + + + Constructs a pair with its values + + + + + List of utility methods related to dynamic proxy operations + + + + + Determines whether the specified type is a proxy generated by + DynamicProxy (1 or 2). + + The type. + + true if it is a proxy; otherwise, false. + + + + + Readonly implementation of which uses an anonymous object as its source. Uses names of properties as keys, and property values as... well - values. Keys are not case sensitive. + + + + + Initializes a new instance of the class. + + The target. + + + + Gets the number of elements contained in the . + + The number of elements contained in the . + + + + Gets a value indicating whether access to the is synchronized (thread safe). + + true if access to the is synchronized (thread safe); otherwise, false. + + + + Gets an object that can be used to synchronize access to the . + + An object that can be used to synchronize access to the . + + + + Gets a value indicating whether the object is read-only. + + true if the object is read-only; otherwise, false. + + + + Gets or sets the with the specified key. + + + + + Gets an object containing the keys of the object. + + An object containing the keys of the object. + + + + Gets an object containing the values in the object. + + An object containing the values in the object. + + + + Gets a value indicating whether the object has a fixed size. + + true if the object has a fixed size; otherwise, false. + + + + Adds an element with the provided key and value to the object. + + The to use as the key of the element to add. + The to use as the value of the element to add. + + is null. + An element with the same key already exists in the object. + The is read-only.-or- The has a fixed size. + + + + Removes all elements from the object. + + The object is read-only. + + + + Determines whether the object contains an element with the specified key. + + The key to locate in the object. + + true if the contains an element with the key; otherwise, false. + + + is null. + + + + Removes the element with the specified key from the object. + + The key of the element to remove. + + is null. + The object is read-only.-or- The has a fixed size. + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Copies the elements of the to an , starting at a particular index. + + The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. + The zero-based index in at which copying begins. + + is null. + + is less than zero. + + is multidimensional.-or- is equal to or greater than the length of .-or- The number of elements in the source is greater than the available space from to the end of the destination . + The type of the source cannot be cast automatically to the type of the destination . + + + + Returns an object for the object. + + + An object for the object. + + + + + Reads values of properties from and inserts them into using property names as keys. + + + + + + + + + + This returns a new stream instance each time it is called. + It is the responsibility of the caller to dispose of this stream + + + + + + + + + + + + + + + Represents a 'streamable' resource. Can + be a file, a resource in an assembly. + + + + + Only valid for resources that + can be obtained through relative paths + + + + + Returns a reader for the stream + + + It's up to the caller to dispose the reader. + + + + + Returns a reader for the stream + + + It's up to the caller to dispose the reader. + + + + + Returns an instance of + created according to the relativePath + using itself as the root. + + + + + Depicts the contract for resource factories. + + + + + Used to check whether the resource factory + is able to deal with the given resource + identifier. + + + Implementors should return true + only if the given identifier is supported + by the resource factory + + + + + Creates an instance + for the given resource identifier + + + + + Creates an instance + for the given resource identifier + + + + + Adapts a static string content as an + + + + + Enable access to files on network shares + + + + + Default implementation. + + + + + Initializes a new instance of the class based on the configuration provided in the application configuration file. + + + This constructor is based on the default configuration in the application configuration file. + + + + + This service implementation + requires a host name in order to work + + The smtp server name + + + + Gets or sets the port used to + access the SMTP server + + + + + Gets the hostname. + + The hostname. + + + + Gets or sets a value which is used to + configure if emails are going to be sent asynchronously or not. + + + + + Gets or sets a value that specifies + the amount of time after which a synchronous Send call times out. + + + + + Gets or sets a value indicating whether the email should be sent using + a secure communication channel. + + true if should use SSL; otherwise, false. + + + + Sends a message. + + If any of the parameters is null + From field + To field + e-mail's subject + message's body + + + + Sends a message. + + If the message is null + Message instance + + + + Gets or sets the domain. + + The domain. + + + + Gets or sets the name of the user. + + The name of the user. + + + + Gets or sets the password. + + The password. + + + + Configures the sender + with port information and eventual credential + informed + + Message instance + + + + Gets a value indicating whether credentials were informed. + + + if this instance has credentials; otherwise, . + + + + + Email sender abstraction. + + + + + Sends a mail message. + + From field + To field + E-mail's subject + message's body + + + + Sends a message. + + Message instance + + + + Sends multiple messages. + + List of messages + + + + Interface describing elements composing generated type + + + + + Performs some basic screening and invokes the + to select methods. + + + + + Encapsulates the information needed to build an attribute. + + + Arrays passed to this class as constructor arguments or property or field values become owned by this class. + They should not be mutated after creation. + + + + + Default implementation of interface producing in-memory proxy assemblies. + + + + + Initializes a new instance of the class with new . + + + + + Initializes a new instance of the class. + + The module scope for generated proxy types. + + + + Provides instructions that a user could follow to make a type or method in + visible to DynamicProxy. + The assembly containing the type or method. + Instructions that a user could follow to make a type or method visible to DynamicProxy. + + + + Creates a message to inform clients that a proxy couldn't be created due to reliance on an + inaccessible type (perhaps itself). + + the inaccessible type that prevents proxy creation + the type that couldn't be proxied + + + + Base class that exposes the common functionalities + to proxy generation. + + + + + It is safe to add mapping (no mapping for the interface exists) + + + + + Generates a parameters constructor that initializes the proxy + state with just to make it non-null. + + This constructor is important to allow proxies to be XML serializable + + + + + + Initializes a new instance of the class. + + Target element. This is either target type or target method for invocation types. + The type of the proxy. This is base type for invocation types. + The interfaces. + The options. + + + + Initializes a new instance of the class. + + Type of the target. + The interfaces. + The options. + + + + Provides appropriate Ldc.X opcode for the type of primitive value to be loaded. + + + + + Provides appropriate Ldind.X opcode for + the type of primitive value to be loaded indirectly. + + + + + Emits a load indirect opcode of the appropriate type for a value or object reference. + Pops a pointer off the evaluation stack, dereferences it and loads + a value of the specified type. + + + + + Emits a load opcode of the appropriate kind for a constant string or + primitive value. + + + + + Emits a load opcode of the appropriate kind for the constant default value of a + type, such as 0 for value types and null for reference types. + + + + + Emits a store indirectopcode of the appropriate type for a value or object reference. + Pops a value of the specified type and a pointer off the evaluation stack, and + stores the value. + + + + + Wraps a reference that is passed + ByRef and provides indirect load/store support. + + + + + Provides appropriate Stind.X opcode + for the type of primitive value to be stored indirectly. + + + + + Represents the scope of uniqueness of names for types and their members + + + + + Gets a unique name based on + + Name suggested by the caller + Unique name based on . + + Implementers should provide name as closely resembling as possible. + Generally if no collision occurs it is suggested to return suggested name, otherwise append sequential suffix. + Implementers must return deterministic names, that is when is called twice + with the same suggested name, the same returned name should be provided each time. Non-deterministic return + values, like appending random suffices will break serialization of proxies. + + + + + Returns new, disposable naming scope. It is responsibility of the caller to make sure that no naming collision + with enclosing scope, or other subscopes is possible. + + New naming scope. + + + + Generates the constructor for the class that extends + + + + + + Initializes a new instance of the class. + + The name. + Type declaring the original event being overridden, or null. + The event delegate type. + The add method. + The remove method. + The attributes. + + + + Returns the methods implemented by a type. Use this instead of Type.GetMethods() to work around a CLR issue + where duplicate MethodInfos are returned by Type.GetMethods() after a token of a generic type's method was loaded. + + + + + Exposes means to change target objects of proxies and invocations. + + + + + Changes the target object () of current . + + The new value of target of invocation. + + Although the method takes the actual instance must be of type assignable to , otherwise an will be thrown. + Also while it's technically legal to pass null reference (Nothing in Visual Basic) as , for obvious reasons Dynamic Proxy will not be able to call the intercepted method on such target. + In this case last interceptor in the pipeline mustn't call or a will be throws. + Also while it's technically legal to pass proxy itself as , this would create stack overflow. + In this case last interceptor in the pipeline mustn't call or a will be throws. + + Thrown when is not assignable to the proxied type. + + + + Permanently changes the target object of the proxy. This does not affect target of the current invocation. + + The new value of target of the proxy. + + Although the method takes the actual instance must be of type assignable to proxy's target type, otherwise an will be thrown. + Also while it's technically legal to pass null reference (Nothing in Visual Basic) as , for obvious reasons Dynamic Proxy will not be able to call the intercepted method on such target. + In this case last interceptor in the pipeline mustn't call or a will be throws. + Also while it's technically legal to pass proxy itself as , this would create stack overflow. + In this case last interceptor in the pipeline mustn't call or a will be throws. + + Thrown when is not assignable to the proxied type. + + + + Provides the main DynamicProxy extension point that allows member interception. + + + + + Provides an extension point that allows proxies to choose specific interceptors on + a per method basis. + + + + + Selects the interceptors that should intercept calls to the given . + + The type of the target object. + The method that will be intercepted. + All interceptors registered with the proxy. + An array of interceptors to invoke upon calling the . + + This method is called only once per proxy instance, upon the first call to the + . Either an empty array or null are valid return values to indicate + that no interceptor should intercept calls to the method. Although it is not advised, it is + legal to return other implementations than these provided in + . + + + + + Encapsulates an invocation of a proxied method. + + + + + Gets the arguments that the has been invoked with. + + The arguments the method was invoked with. + + + + Gets the generic arguments of the method. + + The generic arguments, or null if not a generic method. + + + + Gets the object on which the invocation is performed. This is different from proxy object + because most of the time this will be the proxy target object. + + + The invocation target. + + + + Gets the representing the method being invoked on the proxy. + + The representing the method being invoked. + + + + For interface proxies, this will point to the on the target class. + + The method invocation target. + + + + Gets the proxy object on which the intercepted method is invoked. + + Proxy object on which the intercepted method is invoked. + + + + Gets or sets the return value of the method. + + The return value of the method. + + + + Gets the type of the target object for the intercepted method. + + The type of the target object. + + + + Gets the value of the argument at the specified . + + The index. + The value of the argument at the specified . + + + + Returns the concrete instantiation of the on the proxy, with any generic + parameters bound to real types. + + + The concrete instantiation of the on the proxy, or the if + not a generic method. + + + Can be slower than calling . + + + + + Returns the concrete instantiation of , with any + generic parameters bound to real types. + For interface proxies, this will point to the on the target class. + + The concrete instantiation of , or + if not a generic method. + + In debug builds this can be slower than calling . + + + + + Proceeds the call to the next interceptor in line, and ultimately to the target method. + + + Since interface proxies without a target don't have the target implementation to proceed to, + it is important, that the last interceptor does not call this method, otherwise a + will be thrown. + + + + + Returns an object describing the operation for this + at this specific point during interception. + + + + + Overrides the value of an argument at the given with the + new provided. + + + This method accepts an , however the value provided must be compatible + with the type of the argument defined on the method, otherwise an exception will be thrown. + + The index of the argument to override. + The new value for the argument. + + + + Describes the operation for an + at a specific point during interception. + + + + + Executes the operation described by this instance. + + There is no interceptor, nor a proxy target object, to proceed to. + + + + Attributes should be replicated if they are non-inheritable, + but there are some special cases where the attributes means + something to the CLR, where they should be skipped. + + + + + Determines whether the specified method is internal. + + The method. + + true if the specified method is internal; otherwise, false. + + + + + Determines whether this assembly has internals visible to dynamic proxy. + + The assembly to inspect. + + + + Checks if the method is public or protected. + + + + + Returns list of all unique interfaces implemented given types, including their base interfaces. + + + + + Checks whether the specified is a delegate type (i.e. a direct subclass of ). + + + + + Abstracts the implementation of proxy type construction. + + + + + Gets or sets the that this logs to. + + + + + Gets the associated with this builder. + + The module scope associated with this builder. + + + + Creates a proxy type for given , implementing , using provided. + + The class type to proxy. + Additional interface types to proxy. + The proxy generation options. + The generated proxy type. + + Implementers should return a proxy type for the specified class and interfaces. + Additional interfaces should be only 'mark' interfaces, that is, they should work like interface proxy without target. (See method.) + + Thrown when or any of is a generic type definition. + Thrown when or any of is not public. + Note that to avoid this exception, you can mark offending type internal, and define + pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. + + + + + Creates a proxy type that proxies calls to members on , implementing , using provided. + + The interface type to proxy. + Additional interface types to proxy. + Type implementing on which calls to the interface members should be intercepted. + The proxy generation options. + The generated proxy type. + + Implementers should return a proxy type for the specified interface that 'proceeds' executions to the specified target. + Additional interfaces should be only 'mark' interfaces, that is, they should work like interface proxy without target. (See method.) + + Thrown when or any of is a generic type definition. + Thrown when or any of is not public. + Note that to avoid this exception, you can mark offending type internal, and define + pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. + + + + + Creates a proxy type for given and that delegates all calls to the provided interceptors and allows interceptors to switch the actual target of invocation. + + The interface type to proxy. + Additional interface types to proxy. + The proxy generation options. + The generated proxy type. + + Implementers should return a proxy type for the specified interface(s) that delegate all executions to the specified interceptors + and uses an instance of the interface as their targets (i.e. ), rather than a class. All classes should then implement interface, + to allow interceptors to switch invocation target with instance of another type implementing called interface. + + Thrown when or any of is a generic type definition. + Thrown when or any of is not public. + Note that to avoid this exception, you can mark offending type internal, and define + pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. + + + + + Creates a proxy type for given that delegates all calls to the provided interceptors. + + The interface type to proxy. + Additional interface types to proxy. + The proxy generation options. + The generated proxy type. + + Implementers should return a proxy type for the specified interface and additional interfaces that delegate all executions to the specified interceptors. + + Thrown when or any of is a generic type definition. + Thrown when or any of is not public. + Note that to avoid this exception, you can mark offending type internal, and define + pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. + + + + + Used during the target type inspection process. Implementors have a chance to customize the + proxy generation process. + + + + + Invoked by the generation process to notify that the whole process has completed. + + + + + Invoked by the generation process to notify that a member was not marked as virtual. + + The type which declares the non-virtual member. + The non-virtual member. + + This method gives an opportunity to inspect any non-proxyable member of a type that has + been requested to be proxied, and if appropriate - throw an exception to notify the caller. + + + + + Invoked by the generation process to determine if the specified method should be proxied. + + The type which declares the given method. + The method to inspect. + True if the given method should be proxied; false otherwise. + + + + Provides proxy objects for classes and interfaces. + + + + + Gets or sets the that this log to. + + + + + Gets the proxy builder instance used to generate proxy types. + + The proxy builder. + + + + Creates proxy object intercepting calls to members of interface on object with given . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The interceptors called during the invocation of proxied methods. + Object proxying calls to members of on object. + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is not an interface type. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target + use method. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of on object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is not an interface type. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target + use method. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of type on object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not an interface type. + Thrown when given does not implement interface. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target + use method. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of type on object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not an interface type. + Thrown when given does not implement interface. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target + use method. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + Additional interface types. Calls to their members will be proxied as well. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of and types on object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not an interface type. + Thrown when given does not implement interface. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target + use method. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + Additional interface types. Calls to their members will be proxied as well. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of and types on object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not an interface type. + Thrown when given does not implement interface. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target + use method. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + Interceptors can use interface to provide other target for method invocation than default . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not an interface type. + Thrown when given does not implement interface. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + Interceptors can use interface to provide other target for method invocation than default . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is not an interface type. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + Interceptors can use interface to provide other target for method invocation than default . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is not an interface type. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + Interceptors can use interface to provide other target for method invocation than default . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + Additional interface types. Calls to their members will be proxied as well. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of and types on object or alternative implementation swapped at runtime by an interceptor. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not an interface type. + Thrown when given does not implement interface. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + Interceptors can use interface to provide other target for method invocation than default . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not an interface type. + Thrown when given does not implement interface. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + Interceptors can use interface to provide other target for method invocation than default . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + Additional interface types. Calls to their members will be proxied as well. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of and types on object or alternative implementation swapped at runtime by an interceptor. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not an interface type. + Thrown when given does not implement interface. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . + + Type of the interface which will be proxied. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of types on generated target object. + + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is not an interface type. + + Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. + They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. + As a result of that also at least one implementation must be provided. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . + + Type of the interface which will be proxied. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of types on generated target object. + + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is not an interface type. + + Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. + They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. + As a result of that also at least one implementation must be provided. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . + + Type of the interface which will be proxied. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of types on generated target object. + + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is not an interface type. + + Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. + They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. + As a result of that also at least one implementation must be provided. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . + + Type of the interface which will be proxied. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of type on generated target object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not an interface type. + + Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. + They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . + + Type of the interface which will be proxied. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of type on generated target object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not an interface type. + + Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. + They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . + + Type of the interface which will be proxied. + Additional interface types. Calls to their members will be proxied as well. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of and types on generated target object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not an interface type. + + Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. + They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . + + Type of the interface which will be proxied. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of on generated target object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not an interface type. + + They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . + + Type of the interface which will be proxied. + The proxy generation options used to influence generated proxy type and object. + Additional interface types. Calls to their members will be proxied as well. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of and types on generated target object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not an interface type. + + Since this method uses an empty-shell implementation of to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. + They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The target object, calls to which will be intercepted. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + Additional interface types. Calls to their members will be proxied as well. + The target object, calls to which will be intercepted. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of and types. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + Arguments of constructor of type which should be used to create a new instance of that type. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not a class type. + Thrown when no constructor exists on type with parameters matching . + Thrown when constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The target object, calls to which will be intercepted. + Arguments of constructor of type which should be used to create a new instance of that type. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not a class type. + Thrown when no constructor exists on type with parameters matching . + Thrown when constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The target object, calls to which will be intercepted. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not a class type. + Thrown when no parameterless constructor exists on type . + Thrown when constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + Additional interface types. Calls to their members will be proxied as well. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of and types. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + Additional interface types. Calls to their members will be proxied as well. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + Arguments of constructor of type which should be used to create a new instance of that type. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of and types. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not a class type. + Thrown when no constructor exists on type with parameters matching . + Thrown when constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + Additional interface types. Calls to their members will be proxied as well. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of and types. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The proxy generation options used to influence generated proxy type and object. + Arguments of constructor of type which should be used to create a new instance of that type. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not a class type. + Thrown when no constructor exists on type with parameters matching . + Thrown when constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + Arguments of constructor of type which should be used to create a new instance of that type. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not a class type. + Thrown when no constructor exists on type with parameters matching . + Thrown when constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not a class type. + Thrown when no parameterless constructor exists on type . + Thrown when constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + Additional interface types. Calls to their members will be proxied as well. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of and types. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + Additional interface types. Calls to their members will be proxied as well. + The proxy generation options used to influence generated proxy type and object. + Arguments of constructor of type which should be used to create a new instance of that type. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of and types. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not a class type. + Thrown when no constructor exists on type with parameters matching . + Thrown when constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Exposes access to the target object and interceptors of proxy objects. + This is a DynamicProxy infrastructure interface and should not be implemented yourself. + + + + + Get the proxy target (note that null is a valid target!) + + + + + Set the proxy target. + + New proxy target. + + + + Gets the interceptors for the proxy + + + + + Because we need to cache the types based on the mixed in mixins, we do the following here: + - Get all the mixin interfaces + - Sort them by full name + - Return them by position + + The idea is to have reproducible behavior for the case that mixins are registered in different orders. + This method is here because it is required + + + + + The default file name used when the assembly is saved using . + + + + + The default assembly (simple) name used for the assemblies generated by a instance. + + + + + Initializes a new instance of the class; assemblies created by this instance will not be saved. + + + + + Initializes a new instance of the class, allowing to specify whether the assemblies generated by this instance + should be saved. + + If set to true saves the generated module. + + + + Initializes a new instance of the class, allowing to specify whether the assemblies generated by this instance + should be saved. + + If set to true saves the generated module. + If set to true disables ability to generate signed module. This should be used in cases where ran under constrained permissions. + + + + Initializes a new instance of the class, allowing to specify whether the assemblies generated by this instance + should be saved and what simple names are to be assigned to them. + + If set to true saves the generated module. + If set to true disables ability to generate signed module. This should be used in cases where ran under constrained permissions. + The simple name of the strong-named assembly generated by this . + The path and file name of the manifest module of the strong-named assembly generated by this . + The simple name of the weak-named assembly generated by this . + The path and file name of the manifest module of the weak-named assembly generated by this . + + + + Initializes a new instance of the class, allowing to specify whether the assemblies generated by this instance + should be saved and what simple names are to be assigned to them. + + If set to true saves the generated module. + If set to true disables ability to generate signed module. This should be used in cases where ran under constrained permissions. + Naming scope used to provide unique names to generated types and their members (usually via sub-scopes). + The simple name of the strong-named assembly generated by this . + The path and file name of the manifest module of the strong-named assembly generated by this . + The simple name of the weak-named assembly generated by this . + The path and file name of the manifest module of the weak-named assembly generated by this . + + + + Users of this should use this lock when accessing the cache. + + + + + Returns a type from this scope's type cache, or null if the key cannot be found. + + The key to be looked up in the cache. + The type from this scope's type cache matching the key, or null if the key cannot be found + + + + Registers a type in this scope's type cache. + + The key to be associated with the type. + The type to be stored in the cache. + + + + Gets the key pair used to sign the strong-named assembly generated by this . + + + + + Gets the strong-named module generated by this scope, or if none has yet been generated. + + The strong-named module generated by this scope, or if none has yet been generated. + + + + Gets the file name of the strongly named module generated by this scope. + + The file name of the strongly named module generated by this scope. + + + + Gets the directory where the strongly named module generated by this scope will be saved, or if the current directory + is used. + + The directory where the strongly named module generated by this scope will be saved when is called + (if this scope was created to save modules). + + + + Gets the weak-named module generated by this scope, or if none has yet been generated. + + The weak-named module generated by this scope, or if none has yet been generated. + + + + Gets the file name of the weakly named module generated by this scope. + + The file name of the weakly named module generated by this scope. + + + + Gets the directory where the weakly named module generated by this scope will be saved, or if the current directory + is used. + + The directory where the weakly named module generated by this scope will be saved when is called + (if this scope was created to save modules). + + + + Gets the specified module generated by this scope, creating a new one if none has yet been generated. + + If set to true, a strong-named module is returned; otherwise, a weak-named module is returned. + A strong-named or weak-named module generated by this scope, as specified by the parameter. + + + + Gets the strong-named module generated by this scope, creating a new one if none has yet been generated. + + A strong-named module generated by this scope. + + + + Gets the weak-named module generated by this scope, creating a new one if none has yet been generated. + + A weak-named module generated by this scope. + + + + Saves the generated assembly with the name and directory information given when this instance was created (or with + the and current directory if none was given). + + + + This method stores the generated assembly in the directory passed as part of the module information specified when this instance was + constructed (if any, else the current directory is used). If both a strong-named and a weak-named assembly + have been generated, it will throw an exception; in this case, use the overload. + + + If this was created without indicating that the assembly should be saved, this method does nothing. + + + Both a strong-named and a weak-named assembly have been generated. + The path of the generated assembly file, or null if no file has been generated. + + + + Saves the specified generated assembly with the name and directory information given when this instance was created + (or with the and current directory if none was given). + + True if the generated assembly with a strong name should be saved (see ); + false if the generated assembly without a strong name should be saved (see . + + + This method stores the specified generated assembly in the directory passed as part of the module information specified when this instance was + constructed (if any, else the current directory is used). + + + If this was created without indicating that the assembly should be saved, this method does nothing. + + + No assembly has been generated that matches the parameter. + + The path of the generated assembly file, or null if no file has been generated. + + + + Loads the generated types from the given assembly into this 's cache. + + The assembly to load types from. This assembly must have been saved via or + , or it must have the manually applied. + + This method can be used to load previously generated and persisted proxy types from disk into this scope's type cache, e.g. in order + to avoid the performance hit associated with proxy generation. + + + + + ProxyBuilder that persists the generated type. + + + The saved assembly contains just the last generated type. + + + + + Initializes a new instance of the class. + + + + + Saves the generated assembly to a physical file. Note that this renders the unusable. + + The path of the generated assembly file, or null if no assembly has been generated. + + This method does not support saving multiple files. If both a signed and an unsigned module have been generated, use the + respective methods of the . + + + + + allows customization of the behavior of proxies created by + an (or proxy types generated by an ). + + You should not modify an instance of once it has been + used to create a proxy (or proxy type). + + + + + + Initializes a new instance of the class. + + The hook. + + + + Initializes a new instance of the class. + + + + + Gets or sets the that should be used during proxy type + generation. Defaults to an instance of . + + You should not modify this property once this instance + has been used to create a proxy. + + + + + + Gets or sets the that should be used by created proxies + to determine which interceptors to use for an interception. If set to + (which is the default), created proxies will not use any selector. + + You should not modify this property once this instance + has been used to create a proxy. + + + + + + Gets or sets the class type from which generated interface proxy types will be derived. + Defaults to (). + + You should not modify this property once this instance + has been used to create a proxy. + + + + + + Gets the collection of additional custom attributes that will be put on generated proxy types. + This collection is initially empty. + + You should not modify this collection once this instance + has been used to create a proxy. + + + + + + Adds a delegate type to the list of mixins that will be added to generated proxies. + That is, generated proxies will have a `Invoke` method with a signature matching that + of the specified . + + You should not call this method once this instance + has been used to create a proxy. + + + The delegate type whose `Invoke` method should be reproduced in generated proxies. + is . + is not a delegate type. + + + + Adds a delegate to be mixed into generated proxies. The + will act as the target for calls to a `Invoke` method with a signature matching that + of the delegate. + + You should not call this method once this instance + has been used to create a proxy. + + + The delegate that should act as the target for calls to `Invoke` methods with a matching signature. + is . + + + + Mixes the interfaces implemented by the specified object into + created proxies, and uses as the target for these mixed-in interfaces. + + You should not call this method once this instance + has been used to create a proxy. + + + The object that should act as the target for all of its implemented interfaces' methods. + is . + is an instance of . + + + + Provides proxy objects for classes and interfaces. + + + + + Initializes a new instance of the class. + + Proxy types builder. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + If true forces all types to be generated into an unsigned module. + + + + Gets or sets the that this log to. + + + + + Gets the proxy builder instance used to generate proxy types. + + The proxy builder. + + + + Creates proxy object intercepting calls to members of interface on object with given . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The interceptors called during the invocation of proxied methods. + Object proxying calls to members of on object. + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is not an interface type. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target + use method. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of on object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is not an interface type. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target + use method. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of type on object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not an interface type. + Thrown when given does not implement interface. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target + use method. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of type on object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not an interface type. + Thrown when given does not implement interface. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target + use method. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + Additional interface types. Calls to their members will be proxied as well. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of and types on object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not an interface type. + Thrown when given does not implement interface. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target + use method. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + Additional interface types. Calls to their members will be proxied as well. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of and types on object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not an interface type. + Thrown when given does not implement interface. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target + use method. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + Interceptors can use interface to provide other target for method invocation than default . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not an interface type. + Thrown when given does not implement interface. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + Interceptors can use interface to provide other target for method invocation than default . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is not an interface type. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + Interceptors can use interface to provide other target for method invocation than default . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is not an interface type. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + Interceptors can use interface to provide other target for method invocation than default . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + Additional interface types. Calls to their members will be proxied as well. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of and types on object or alternative implementation swapped at runtime by an interceptor. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not an interface type. + Thrown when given does not implement interface. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + Interceptors can use interface to provide other target for method invocation than default . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not an interface type. + Thrown when given does not implement interface. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + Interceptors can use interface to provide other target for method invocation than default . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + Additional interface types. Calls to their members will be proxied as well. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of and types on object or alternative implementation swapped at runtime by an interceptor. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not an interface type. + Thrown when given does not implement interface. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . + + Type of the interface which will be proxied. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of types on generated target object. + + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is not an interface type. + + Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. + They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. + As a result of that also at least one implementation must be provided. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . + + Type of the interface which will be proxied. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of types on generated target object. + + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is not an interface type. + + Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. + They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. + As a result of that also at least one implementation must be provided. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . + + Type of the interface which will be proxied. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of types on generated target object. + + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is not an interface type. + + Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. + They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. + As a result of that also at least one implementation must be provided. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . + + Type of the interface which will be proxied. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of type on generated target object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not an interface type. + + Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. + They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . + + Type of the interface which will be proxied. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of type on generated target object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not an interface type. + + Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. + They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . + + Type of the interface which will be proxied. + Additional interface types. Calls to their members will be proxied as well. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of and types on generated target object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not an interface type. + + Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. + They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . + + Type of the interface which will be proxied. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of on generated target object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not an interface type. + + They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . + + Type of the interface which will be proxied. + The proxy generation options used to influence generated proxy type and object. + Additional interface types. Calls to their members will be proxied as well. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of and types on generated target object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not an interface type. + + Since this method uses an empty-shell implementation of to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. + They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The target object, calls to which will be intercepted. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + Additional interface types. Calls to their members will be proxied as well. + The target object, calls to which will be intercepted. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of and types. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + Arguments of constructor of type which should be used to create a new instance of that type. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not a class type. + Thrown when no constructor exists on type with parameters matching . + Thrown when constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The target object, calls to which will be intercepted. + Arguments of constructor of type which should be used to create a new instance of that type. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not a class type. + Thrown when no constructor exists on type with parameters matching . + Thrown when constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The target object, calls to which will be intercepted. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not a class type. + Thrown when no parameterless constructor exists on type . + Thrown when constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + Additional interface types. Calls to their members will be proxied as well. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of and types. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + Additional interface types. Calls to their members will be proxied as well. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + Arguments of constructor of type which should be used to create a new instance of that type. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of and types. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not a class type. + Thrown when no constructor exists on type with parameters matching . + Thrown when constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + Additional interface types. Calls to their members will be proxied as well. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of and types. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The proxy generation options used to influence generated proxy type and object. + Arguments of constructor of type which should be used to create a new instance of that type. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not a class type. + Thrown when no constructor exists on type with parameters matching . + Thrown when constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + Arguments of constructor of type which should be used to create a new instance of that type. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not a class type. + Thrown when no constructor exists on type with parameters matching . + Thrown when constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not a class type. + Thrown when no parameterless constructor exists on type . + Thrown when constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + Additional interface types. Calls to their members will be proxied as well. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of and types. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + Additional interface types. Calls to their members will be proxied as well. + The proxy generation options used to influence generated proxy type and object. + Arguments of constructor of type which should be used to create a new instance of that type. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of and types. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not a class type. + Thrown when no constructor exists on type with parameters matching . + Thrown when constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates the proxy type for class proxy with given class, implementing given and using provided . + + The base class for proxy type. + The interfaces that proxy type should implement. + The options for proxy generation process. + of proxy. + + + + Creates the proxy type for interface proxy with target for given interface, implementing given on given and using provided . + + The interface proxy type should implement. + The additional interfaces proxy type should implement. + Actual type that the proxy type will encompass. + The options for proxy generation process. + of proxy. + + + + Creates the proxy type for interface proxy with target interface for given interface, implementing given on given and using provided . + + The interface proxy type should implement. + The additional interfaces proxy type should implement. + The options for proxy generation process. + of proxy. + + + + Creates the proxy type for interface proxy without target for given interface, implementing given and using provided . + + The interface proxy type should implement. + The additional interfaces proxy type should implement. + The options for proxy generation process. + of proxy. + + + + Creates a delegate of the specified type to a suitable `Invoke` method + on the given instance. + + The proxy instance to which the delegate should be bound. + The type of delegate that should be created. + + The does not have an `Invoke` method that is compatible with + the requested type. + + + + + Creates a delegate of the specified type to a suitable `Invoke` method + on the given instance. + + The proxy instance to which the delegate should be bound. + The type of delegate that should be created. + + The does not have an `Invoke` method that is compatible with + the requested . + + + + + Checks whether the specified method is accessible to DynamicProxy. + The method to check. + true if the method is accessible to DynamicProxy, false otherwise. + + + + Checks whether the specified method is accessible to DynamicProxy. + The method to check. + If the method is accessible to DynamicProxy, null; otherwise, an explanation of why the method is not accessible. + true if the method is accessible to DynamicProxy, false otherwise. + + + + Checks whether the specified type is accessible to DynamicProxy. + The type to check. + true if the type is accessible to DynamicProxy, false otherwise. + + + + Determines whether this assembly has internals visible to DynamicProxy. + + The assembly to inspect. + + + + Checks whether the specified method is accessible to DynamicProxy. + Unlike with , the declaring type's accessibility is ignored. + + The method to check. + true if the method is accessible to DynamicProxy, false otherwise. + + + + Determines whether the specified method is internal. + + The method. + + true if the specified method is internal; otherwise, false. + + + + + Applied to the assemblies saved by in order to persist the cache data included in the persisted assembly. + + + + + Handles the deserialization of proxies. + + + + + Resets the used for deserialization to a new scope. + + + This is useful for test cases. + + + + + Resets the used for deserialization to a given . + + The scope to be used for deserialization. + + By default, the deserialization process uses a different scope than the rest of the application, which can lead to multiple proxies + being generated for the same type. By explicitly setting the deserialization scope to the application's scope, this can be avoided. + + + + + Gets the used for deserialization. + + As has no way of automatically determining the scope used by the application (and the application might use more than one scope at the same time), uses a dedicated scope instance for deserializing proxy types. This instance can be reset and set to a specific value via and . + + + + Holds objects representing methods of class. + + + + + Holds objects representing methods of class. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/packages/Castle.Core.4.4.1/lib/netstandard1.3/Castle.Core.xml b/src/packages/Castle.Core.4.4.1/lib/netstandard1.3/Castle.Core.xml new file mode 100644 index 0000000..ae17928 --- /dev/null +++ b/src/packages/Castle.Core.4.4.1/lib/netstandard1.3/Castle.Core.xml @@ -0,0 +1,5741 @@ + + + + Castle.Core + + + + + Abstract adapter for the support + needed by the + + + + + Adds an element with the provided key and value to the object. + + The to use as the key of the element to add. + The to use as the value of the element to add. + An element with the same key already exists in the object. + key is null. + The is read-only.-or- The has a fixed size. + + + + Removes all elements from the object. + + The object is read-only. + + + + Determines whether the object contains an element with the specified key. + + The key to locate in the object. + + true if the contains an element with the key; otherwise, false. + + key is null. + + + + Returns an object for the object. + + + An object for the object. + + + + + Gets a value indicating whether the object has a fixed size. + + true if the object has a fixed size; otherwise, false. + + + + Gets a value indicating whether the object is read-only. + + true if the object is read-only; otherwise, false. + + + + Gets an object containing the keys of the object. + + An object containing the keys of the object. + + + + Removes the element with the specified key from the object. + + The key of the element to remove. + The object is read-only.-or- The has a fixed size. + key is null. + + + + Gets an object containing the values in the object. + + An object containing the values in the object. + + + + Gets or sets the with the specified key. + + + + + Copies the elements of the to an , starting at a particular index. + + The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. + The zero-based index in array at which copying begins. + array is null. + The type of the source cannot be cast automatically to the type of the destination array. + index is less than zero. + array is multidimensional.-or- index is equal to or greater than the length of array.-or- The number of elements in the source is greater than the available space from index to the end of the destination array. + + + + Gets the number of elements contained in the . + + The number of elements contained in the . + + + + Gets a value indicating whether access to the is synchronized (thread safe). + + true if access to the is synchronized (thread safe); otherwise, false. + + + + Gets an object that can be used to synchronize access to the . + + An object that can be used to synchronize access to the . + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Abstract implementation of . + + + + + Identifies a property should be represented as a nested component. + + + + + Applies no prefix. + + + + + Gets or sets the prefix. + + The prefix. + + + + Identifies the dictionary adapter types. + + + + + Assigns a specific dictionary key. + + + + + Identifies an interface or property to be pre-fetched. + + + + + Instructs fetching to occur. + + + + + Instructs fetching according to + + + + + Gets whether or not fetching should occur. + + + + + Assigns a property to a group. + + + + + Constructs a group assignment. + + The group name. + + + + Constructs a group assignment. + + The group name. + + + + Gets the group the property is assigned to. + + + + + Suppresses any on-demand behaviors. + + + + + Assigns a specific dictionary key. + + + + + Initializes a new instance of the class. + + The key. + + + + Initializes a new instance of the class. + + The compound key. + + + + Assigns a prefix to the keyed properties of an interface. + + + Key prefixes are not inherited by sub-interfaces. + + + + + Initializes a default instance of the class. + + + + + Initializes a new instance of the class. + + The prefix for the keyed properties of the interface. + + + + Gets the prefix key added to the properties of the interface. + + + + + Substitutes part of key with another string. + + + + + Initializes a new instance of the class. + + The old value. + The new value. + + + + Requests support for multi-level editing. + + + + + Generates a new GUID on demand. + + + + + Support for on-demand value resolution. + + + + + Specifies assignment by reference rather than by copying. + + + + + Removes a property if matches value. + + + + + Removes a property if null or empty string, guid or collection. + + + + + Provides simple string formatting from existing properties. + + + + + Gets the string format. + + + + + Gets the format properties. + + + + + Identifies a property should be represented as a delimited string value. + + + + + Gets the separator. + + + + + Converts all properties to strings. + + + + + Gets or sets the format. + + The format. + + + + Suppress property change notifications. + + + + + Assigns a prefix to the keyed properties using the interface name. + + + + + Indicates that underlying values are changeable and should not be cached. + + + + + Manages conversion between property values. + + + + + Initializes a new instance of the class. + + The converter. + + + + + + + + + Gets the effective dictionary value. + + The dictionary adapter. + The key. + The stored value. + The property. + true if return only existing. + The effective property value. + + + + Uses Reflection.Emit to expose the properties of a dictionary + through a dynamic implementation of a typed interface. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Wraps a with a dynamic object to expose a bit better looking API. + The implementation is trivial and assumes keys are s. + + + + + Contract for manipulating the Dictionary adapter. + + + + + Defines the contract for building typed dictionary adapters. + + + + + Gets a typed adapter bound to the . + + The typed interface. + The underlying source of properties. + An implementation of the typed interface bound to the dictionary. + + The type represented by T must be an interface with properties. + + + + + Gets a typed adapter bound to the . + + The typed interface. + The underlying source of properties. + An implementation of the typed interface bound to the dictionary. + + The type represented by T must be an interface with properties. + + + + + Gets a typed adapter bound to the . + + The typed interface. + The underlying source of properties. + The property descriptor. + An implementation of the typed interface bound to the dictionary. + + The type represented by T must be an interface with properties. + + + + + Gets a typed adapter bound to the . + + The typed interface. + The underlying source of properties. + An implementation of the typed interface bound to the namedValues. + + The type represented by T must be an interface with properties. + + + + + Gets a typed adapter bound to the . + + The typed interface. + The underlying source of properties. + An implementation of the typed interface bound to the namedValues. + + The type represented by T must be an interface with properties. + + + + + Gets the associated with the type. + + The typed interface. + The adapter meta-data. + + + + Gets the associated with the type. + + The typed interface. + The property descriptor. + The adapter meta-data. + + + + Gets the associated with the type. + + The typed interface. + Another from which to copy behaviors. + The adapter meta-data. + + + + Contract for traversing a . + + + + + Defines the contract for customizing dictionary access. + + + + + Determines relative order to apply related behaviors. + + + + + Copies the dictionary behavior. + + null if should not be copied. Otherwise copy. + + + + Defines the contract for building s. + + + + + Builds the dictionary behaviors. + + + + + Contract for creating additional Dictionary adapters. + + + + + Contract for editing the Dictionary adapter. + + + + + Contract for dictionary initialization. + + + + + Performs any initialization of the + + The dictionary adapter. + The dictionary behaviors. + + + + Defines the contract for building typed dictionary keys. + + + + + Builds the specified key. + + The dictionary adapter. + The current key. + The property. + The updated key + + + + Contract for dictionary meta-data initialization. + + + + + Initializes the given object. + + The dictionary adapter factory. + The dictionary adapter meta. + + + + + Determines whether the given behavior should be included in a new + object. + + A dictionary behavior or annotation. + True if the behavior should be included; otherwise, false. + + behaviors are always included, + regardless of the result of this method. + + + + + + Contract for managing Dictionary adapter notifications. + + + + + Defines the contract for retrieving dictionary values. + + + + + Gets the effective dictionary value. + + The dictionary adapter. + The key. + The stored value. + The property. + true if return only existing. + The effective property value. + + + + Defines the contract for updating dictionary values. + + + + + Sets the stored dictionary value. + + The dictionary adapter. + The key. + The stored value. + The property. + true if the property should be stored. + + + + Contract for validating Dictionary adapter. + + + + + Contract for dictionary validation. + + + + + Determines if is valid. + + The dictionary adapter. + true if valid. + + + + Validates the . + + The dictionary adapter. + The error summary information. + + + + Validates the for a property. + + The dictionary adapter. + The property to validate. + The property summary information. + + + + Invalidates any results cached by the validator. + + The dictionary adapter. + + + + Contract for property descriptor initialization. + + + + + Performs any initialization of the + + The property descriptor. + The property behaviors. + + + + + + + + + Initializes a new instance of the class. + + The name values. + + + + Gets a value indicating whether the object is read-only. + + true if the object is read-only; otherwise, false. + + + + Determines whether the object contains an element with the specified key. + + The key to locate in the object. + + true if the contains an element with the key; otherwise, false. + + key is null. + + + + Gets or sets the with the specified key. + + + + + Adapts the specified name values. + + The name values. + + + + Describes a dictionary property. + + + + + Initializes an empty class. + + + + + Initializes a new instance of the class. + + The property. + The annotations. + + + + Initializes a new instance class. + + + + + Copies an existing instance of the class. + + + + + + + + + + Gets the property name. + + + + + Gets the property type. + + + + + Gets the property. + + The property. + + + + Returns true if the property is dynamic. + + + + + Gets additional state. + + + + + Determines if property should be fetched. + + + + + Determines if property must exist first. + + + + + Determines if notifications should occur. + + + + + Gets the property behaviors. + + + + + Gets the type converter. + + The type converter. + + + + Gets the extended properties. + + + + + Gets the setter. + + The setter. + + + + Gets the key builders. + + The key builders. + + + + Gets the setter. + + The setter. + + + + Gets the getter. + + The getter. + + + + Gets the initializers. + + The initializers. + + + + Gets the meta-data initializers. + + The meta-data initializers. + + + + Gets the key. + + The dictionary adapter. + The key. + The descriptor. + + + + Gets the property value. + + The dictionary adapter. + The key. + The stored value. + The descriptor. + true if return only existing. + + + + Sets the property value. + + The dictionary adapter. + The key. + The value. + The descriptor. + + + + Adds a single behavior. + + The behavior. + + + + Adds the behaviors. + + The behaviors. + + + + Adds the behaviors. + + The behaviors. + + + + Copies the behaviors to the other + + + + + Copies the + + + + + Contract for value matching. + + + + + Contract for dynamic value resolution. + + + + + Contract for typed dynamic value resolution. + + + + + + This is an abstract implementation + that deals with methods that can be abstracted away + from underlying implementations. + + + AbstractConfiguration makes easier to implementers + to create a new version of + + + + + Gets node attributes. + + + All attributes of the node. + + + + + Gets all child nodes. + + The of child nodes. + + + + Gets the name of the . + + + The Name of the . + + + + + Gets the value of . + + + The Value of the . + + + + + Gets the value of the node and converts it + into specified . + + The + + The Default value returned if the conversion fails. + + The Value converted into the specified type. + + + + A collection of objects. + + + + + Creates a new instance of ConfigurationCollection. + + + + + Creates a new instance of ConfigurationCollection. + + + + + is a interface encapsulating a configuration node + used to retrieve configuration values. + + + + + Gets the name of the node. + + + The Name of the node. + + + + + Gets the value of the node. + + + The Value of the node. + + + + + Gets an of + elements containing all node children. + + The Collection of child nodes. + + + + Gets an of the configuration attributes. + + + + + Gets the value of the node and converts it + into specified . + + The + + The Default value returned if the conversion fails. + + The Value converted into the specified type. + + + + Initializes a new instance of the class. + + The name. + + + + Gets the value of . + + + The Value of the . + + + + + Deserializes the specified node into an abstract representation of configuration. + + The node. + + + + If a config value is an empty string we return null, this is to keep + backward compatibility with old code + + + + + Helper class for retrieving attributes. + + + + + Gets the attribute. + + The type. + The type attribute. + + + + Gets the attributes. Does not consider inherited attributes! + + The type. + The type attributes. + + + + Gets the attribute. + + The member. + The member attribute. + + + + Gets the attributes. Does not consider inherited attributes! + + The member. + The member attributes. + + + + Gets the type attribute. + + The type. + The type attribute. + + + + Gets the type attributes. + + The type. + The type attributes. + + + + Gets the type converter. + + The member. + + + + Checks whether or not collection is null or empty. Assumes collection can be safely enumerated multiple times. + + + + + Generates a HashCode for the contents for the list. Order of items does not matter. + + The type of object contained within the list. + The list. + The generated HashCode. + + + + Determines if two lists are equivalent. Equivalent lists have the same number of items and each item is found within the other regardless of respective position within each. + + The type of object contained within the list. + The first list. + The second list. + True if the two lists are equivalent. + + + + Constant to use when making assembly internals visible to Castle.Core + [assembly: InternalsVisibleTo(CoreInternalsVisible.ToCastleCore)] + + + + + Constant to use when making assembly internals visible to proxy types generated by DynamicProxy. Required when proxying internal types. + [assembly: InternalsVisibleTo(CoreInternalsVisible.ToDynamicProxyGenAssembly2)] + + + + + Creates a new lock. + + + + + Find the best available name to describe a type. + + + Usually the best name will be , but + sometimes that's null (see http://msdn.microsoft.com/en-us/library/system.type.fullname%28v=vs.110%29.aspx) + in which case the method falls back to . + + the type to name + the best name + + + + Defines that the implementation wants a + in order to + access other components. The creator must be aware + that the component might (or might not) implement + the interface. + + + Used by Castle Project components to, for example, + gather logging factories + + + + + Increments IServiceProvider with a generic service resolution operation. + + + + + This interface should be implemented by classes + that are available in a bigger context, exposing + the container to different areas in the same application. + + For example, in Web application, the (global) HttpApplication + subclasses should implement this interface to expose + the configured container + + + + + + Creates a new extended logger, getting the logger name from the specified type. + + + + + Creates a new extended logger. + + + + + Creates a new extended logger, getting the logger name from the specified type. + + + + + Creates a new extended logger. + + + + + Creates a new logger, getting the logger name from the specified type. + + + + + Creates a new logger. + + + + + Creates a new logger, getting the logger name from the specified type. + + + + + Creates a new logger. + + + + + Gets the configuration file. + + i.e. log4net.config + + + + Gets the configuration file. + + i.e. log4net.config + + + + The Logger sending everything to the standard output streams. + This is mainly for the cases when you have a utility that + does not have a logger to supply. + + + + + Creates a new ConsoleLogger with the Level + set to LoggerLevel.Debug and the Name + set to String.Empty. + + + + + Creates a new ConsoleLogger with the Name + set to String.Empty. + + The logs Level. + + + + Creates a new ConsoleLogger with the Level + set to LoggerLevel.Debug. + + The logs Name. + + + + Creates a new ConsoleLogger. + + The logs Name. + The logs Level. + + + + A Common method to log. + + The level of logging + The name of the logger + The Message + The Exception + + + + Returns a new ConsoleLogger with the name + added after this loggers name, with a dot in between. + + The added hierarchical name. + A new ConsoleLogger. + + + + Interface for Context Properties implementations + + + + This interface defines a basic property get set accessor. + + + Based on the ContextPropertiesBase of log4net, by Nicko Cadell. + + + + + + Gets or sets the value of a property + + + The value for the property with the specified key + + + + Gets or sets the value of a property + + + + + + Provides an interface that supports and + allows the storage and retrieval of Contexts. These are supported in + both log4net and NLog. + + + + + Exposes the Global Context of the extended logger. + + + + + Exposes the Thread Context of the extended logger. + + + + + Exposes the Thread Stack of the extended logger. + + + + + Provides a factory that can produce either or + classes. + + + + + Creates a new extended logger, getting the logger name from the specified type. + + + + + Creates a new extended logger. + + + + + Creates a new extended logger, getting the logger name from the specified type. + + + + + Creates a new extended logger. + + + + + Manages logging. + + + This is a facade for the different logging subsystems. + It offers a simplified interface that follows IOC patterns + and a simplified priority/level/severity abstraction. + + + + + Determines if messages of priority "trace" will be logged. + + True if "trace" messages will be logged. + + + + Determines if messages of priority "debug" will be logged. + + True if "debug" messages will be logged. + + + + Determines if messages of priority "error" will be logged. + + True if "error" messages will be logged. + + + + Determines if messages of priority "fatal" will be logged. + + True if "fatal" messages will be logged. + + + + Determines if messages of priority "info" will be logged. + + True if "info" messages will be logged. + + + + Determines if messages of priority "warn" will be logged. + + True if "warn" messages will be logged. + + + + Create a new child logger. + The name of the child logger is [current-loggers-name].[passed-in-name] + + The Subname of this logger. + The New ILogger instance. + If the name has an empty element name. + + + + Logs a trace message. + + The message to log + + + + Logs a trace message with lazily constructed message. The message will be constructed only if the is true. + + + + + Logs a trace message. + + The exception to log + The message to log + + + + Logs a trace message. + + Format string for the message to log + Format arguments for the message to log + + + + Logs a trace message. + + The exception to log + Format string for the message to log + Format arguments for the message to log + + + + Logs a trace message. + + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs a trace message. + + The exception to log + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs a debug message. + + The message to log + + + + Logs a debug message with lazily constructed message. The message will be constructed only if the is true. + + + + + Logs a debug message. + + The exception to log + The message to log + + + + Logs a debug message. + + Format string for the message to log + Format arguments for the message to log + + + + Logs a debug message. + + The exception to log + Format string for the message to log + Format arguments for the message to log + + + + Logs a debug message. + + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs a debug message. + + The exception to log + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs an error message. + + The message to log + + + + Logs an error message with lazily constructed message. The message will be constructed only if the is true. + + + + + Logs an error message. + + The exception to log + The message to log + + + + Logs an error message. + + Format string for the message to log + Format arguments for the message to log + + + + Logs an error message. + + The exception to log + Format string for the message to log + Format arguments for the message to log + + + + Logs an error message. + + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs an error message. + + The exception to log + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs a fatal message. + + The message to log + + + + Logs a fatal message with lazily constructed message. The message will be constructed only if the is true. + + + + + Logs a fatal message. + + The exception to log + The message to log + + + + Logs a fatal message. + + Format string for the message to log + Format arguments for the message to log + + + + Logs a fatal message. + + The exception to log + Format string for the message to log + Format arguments for the message to log + + + + Logs a fatal message. + + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs a fatal message. + + The exception to log + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs an info message. + + The message to log + + + + Logs a info message with lazily constructed message. The message will be constructed only if the is true. + + + + + Logs an info message. + + The exception to log + The message to log + + + + Logs an info message. + + Format string for the message to log + Format arguments for the message to log + + + + Logs an info message. + + The exception to log + Format string for the message to log + Format arguments for the message to log + + + + Logs an info message. + + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs an info message. + + The exception to log + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs a warn message. + + The message to log + + + + Logs a warn message with lazily constructed message. The message will be constructed only if the is true. + + + + + Logs a warn message. + + The exception to log + The message to log + + + + Logs a warn message. + + Format string for the message to log + Format arguments for the message to log + + + + Logs a warn message. + + The exception to log + Format string for the message to log + Format arguments for the message to log + + + + Logs a warn message. + + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs a warn message. + + The exception to log + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Manages the instantiation of s. + + + + + Creates a new logger, getting the logger name from the specified type. + + + + + Creates a new logger. + + + + + Creates a new logger, getting the logger name from the specified type. + + + + + Creates a new logger. + + + + + The Level Filtered Logger class. This is a base class which + provides a LogLevel attribute and reroutes all functions into + one Log method. + + + + + Creates a new LevelFilteredLogger. + + + + + The LoggerLevel that this logger + will be using. Defaults to LoggerLevel.Off + + + + + The name that this logger will be using. + Defaults to String.Empty + + + + + Logs a trace message. + + The message to log + + + + Logs a trace message. + + A functor to create the message + + + + Logs a trace message. + + The exception to log + The message to log + + + + Logs a trace message. + + Format string for the message to log + Format arguments for the message to log + + + + Logs a trace message. + + The exception to log + Format string for the message to log + Format arguments for the message to log + + + + Logs a trace message. + + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs a trace message. + + The exception to log + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs a debug message. + + The message to log + + + + Logs a debug message. + + The exception to log + The message to log + + + + Logs a debug message. + + Format string for the message to log + Format arguments for the message to log + + + + Logs a debug message. + + The exception to log + Format string for the message to log + Format arguments for the message to log + + + + Logs a debug message. + + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs a debug message. + + The exception to log + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs an info message. + + The message to log + + + + Logs an info message. + + The exception to log + The message to log + + + + Logs an info message. + + Format string for the message to log + Format arguments for the message to log + + + + Logs an info message. + + The exception to log + Format string for the message to log + Format arguments for the message to log + + + + Logs an info message. + + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs an info message. + + The exception to log + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs a warn message. + + The message to log + + + + Logs a warn message. + + The exception to log + The message to log + + + + Logs a warn message. + + Format string for the message to log + Format arguments for the message to log + + + + Logs a warn message. + + The exception to log + Format string for the message to log + Format arguments for the message to log + + + + Logs a warn message. + + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs a warn message. + + The exception to log + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs an error message. + + The message to log + + + + Logs an error message. + + The exception to log + The message to log + + + + Logs an error message. + + Format string for the message to log + Format arguments for the message to log + + + + Logs an error message. + + The exception to log + Format string for the message to log + Format arguments for the message to log + + + + Logs an error message. + + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs an error message. + + The exception to log + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs a fatal message. + + The message to log + + + + Logs a fatal message. + + The exception to log + The message to log + + + + Logs a fatal message. + + Format string for the message to log + Format arguments for the message to log + + + + Logs a fatal message. + + The exception to log + Format string for the message to log + Format arguments for the message to log + + + + Logs a fatal message. + + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs a fatal message. + + The exception to log + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Determines if messages of priority "trace" will be logged. + + true if log level flags include the bit + + + + Determines if messages of priority "debug" will be logged. + + true if log level flags include the bit + + + + Determines if messages of priority "info" will be logged. + + true if log level flags include the bit + + + + Determines if messages of priority "warn" will be logged. + + true if log level flags include the bit + + + + Determines if messages of priority "error" will be logged. + + true if log level flags include the bit + + + + Determines if messages of priority "fatal" will be logged. + + true if log level flags include the bit + + + + Implementors output the log content by implementing this method only. + Note that exception can be null + + + + + Supporting Logger levels. + + + + + Logging will be off + + + + + Fatal logging level + + + + + Error logging level + + + + + Warn logging level + + + + + Info logging level + + + + + Debug logging level + + + + + Trace logging level + + + + + NullLogFactory used when logging is turned off. + + + + + Creates an instance of ILogger with the specified name. + + Name. + + + + Creates an instance of ILogger with the specified name and LoggerLevel. + + Name. + Level. + + + + The Null Logger class. This is useful for implementations where you need + to provide a logger to a utility class, but do not want any output from it. + It also helps when you have a utility that does not have a logger to supply. + + + + + Returns empty context properties. + + + + + Returns empty context properties. + + + + + Returns empty context stacks. + + + + + No-op. + + false + + + + No-op. + + false + + + + No-op. + + false + + + + No-op. + + false + + + + No-op. + + false + + + + No-op. + + false + + + + Returns this NullLogger. + + Ignored + This ILogger instance. + + + + No-op. + + Ignored + + + + No-op. + + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + Ignored + Ignored + + + + No-op. + + Ignored + + + + No-op. + + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + Ignored + Ignored + + + + No-op. + + Ignored + + + + No-op. + + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + Ignored + Ignored + + + + No-op. + + Ignored + + + + No-op. + + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + Ignored + Ignored + + + + No-op. + + Ignored + + + + No-op. + + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + Ignored + Ignored + + + + No-op. + + Ignored + + + + No-op. + + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + Ignored + Ignored + + + + The Stream Logger class. This class can stream log information + to any stream, it is suitable for storing a log file to disk, + or to a MemoryStream for testing your components. + + + This logger is not thread safe. + + + + + Creates a new StreamLogger with default encoding + and buffer size. Initial Level is set to Debug. + + + The name of the log. + + + The stream that will be used for logging, + seeking while the logger is alive + + + + + Creates a new StreamLogger with default buffer size. + Initial Level is set to Debug. + + + The name of the log. + + + The stream that will be used for logging, + seeking while the logger is alive + + + The encoding that will be used for this stream. + + + + + + Creates a new StreamLogger. + Initial Level is set to Debug. + + + The name of the log. + + + The stream that will be used for logging, + seeking while the logger is alive + + + The encoding that will be used for this stream. + + + + The buffer size that will be used for this stream. + + + + + + Creates a new StreamLogger with + Debug as default Level. + + The name of the log. + The StreamWriter the log will write to. + + + + Creates outputting + to files. The name of the file is derived from the log name + plus the 'log' extension. + + + + + The TraceLogger sends all logging to the System.Diagnostics.TraceSource + built into the .net framework. + + + Logging can be configured in the system.diagnostics configuration + section. + + If logger doesn't find a source name with a full match it will + use source names which match the namespace partially. For example you can + configure from all castle components by adding a source name with the + name "Castle". + + If no portion of the namespace matches the source named "Default" will + be used. + + + + + Build a new trace logger based on the named TraceSource + + The name used to locate the best TraceSource. In most cases comes from the using type's fullname. + + + + Build a new trace logger based on the named TraceSource + + The name used to locate the best TraceSource. In most cases comes from the using type's fullname. + The default logging level at which this source should write messages. In almost all cases this + default value will be overridden in the config file. + + + + Create a new child logger. + The name of the child logger is [current-loggers-name].[passed-in-name] + + The Subname of this logger. + The New ILogger instance. + + + + Used to create the TraceLogger implementation of ILogger interface. See . + + + + + General purpose class to represent a standard pair of values. + + Type of the first value + Type of the second value + + + + Constructs a pair with its values + + + + + List of utility methods related to dynamic proxy operations + + + + + Determines whether the specified type is a proxy generated by + DynamicProxy (1 or 2). + + The type. + + true if it is a proxy; otherwise, false. + + + + + Readonly implementation of which uses an anonymous object as its source. Uses names of properties as keys, and property values as... well - values. Keys are not case sensitive. + + + + + Initializes a new instance of the class. + + The target. + + + + Gets the number of elements contained in the . + + The number of elements contained in the . + + + + Gets a value indicating whether access to the is synchronized (thread safe). + + true if access to the is synchronized (thread safe); otherwise, false. + + + + Gets an object that can be used to synchronize access to the . + + An object that can be used to synchronize access to the . + + + + Gets a value indicating whether the object is read-only. + + true if the object is read-only; otherwise, false. + + + + Gets or sets the with the specified key. + + + + + Gets an object containing the keys of the object. + + An object containing the keys of the object. + + + + Gets an object containing the values in the object. + + An object containing the values in the object. + + + + Gets a value indicating whether the object has a fixed size. + + true if the object has a fixed size; otherwise, false. + + + + Adds an element with the provided key and value to the object. + + The to use as the key of the element to add. + The to use as the value of the element to add. + + is null. + An element with the same key already exists in the object. + The is read-only.-or- The has a fixed size. + + + + Removes all elements from the object. + + The object is read-only. + + + + Determines whether the object contains an element with the specified key. + + The key to locate in the object. + + true if the contains an element with the key; otherwise, false. + + + is null. + + + + Removes the element with the specified key from the object. + + The key of the element to remove. + + is null. + The object is read-only.-or- The has a fixed size. + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Copies the elements of the to an , starting at a particular index. + + The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. + The zero-based index in at which copying begins. + + is null. + + is less than zero. + + is multidimensional.-or- is equal to or greater than the length of .-or- The number of elements in the source is greater than the available space from to the end of the destination . + The type of the source cannot be cast automatically to the type of the destination . + + + + Returns an object for the object. + + + An object for the object. + + + + + Reads values of properties from and inserts them into using property names as keys. + + + + + + + + + + This returns a new stream instance each time it is called. + It is the responsibility of the caller to dispose of this stream + + + + + + + + + + + + + + + Represents a 'streamable' resource. Can + be a file, a resource in an assembly. + + + + + Only valid for resources that + can be obtained through relative paths + + + + + Returns a reader for the stream + + + It's up to the caller to dispose the reader. + + + + + Returns a reader for the stream + + + It's up to the caller to dispose the reader. + + + + + Returns an instance of + created according to the relativePath + using itself as the root. + + + + + Depicts the contract for resource factories. + + + + + Used to check whether the resource factory + is able to deal with the given resource + identifier. + + + Implementors should return true + only if the given identifier is supported + by the resource factory + + + + + Creates an instance + for the given resource identifier + + + + + Creates an instance + for the given resource identifier + + + + + Adapts a static string content as an + + + + + Enable access to files on network shares + + + + + Interface describing elements composing generated type + + + + + Performs some basic screening and invokes the + to select methods. + + + + + Encapsulates the information needed to build an attribute. + + + Arrays passed to this class as constructor arguments or property or field values become owned by this class. + They should not be mutated after creation. + + + + + Default implementation of interface producing in-memory proxy assemblies. + + + + + Initializes a new instance of the class with new . + + + + + Initializes a new instance of the class. + + The module scope for generated proxy types. + + + + Provides instructions that a user could follow to make a type or method in + visible to DynamicProxy. + The assembly containing the type or method. + Instructions that a user could follow to make a type or method visible to DynamicProxy. + + + + Creates a message to inform clients that a proxy couldn't be created due to reliance on an + inaccessible type (perhaps itself). + + the inaccessible type that prevents proxy creation + the type that couldn't be proxied + + + + Base class that exposes the common functionalities + to proxy generation. + + + + + It is safe to add mapping (no mapping for the interface exists) + + + + + Generates a parameters constructor that initializes the proxy + state with just to make it non-null. + + This constructor is important to allow proxies to be XML serializable + + + + + + Initializes a new instance of the class. + + Target element. This is either target type or target method for invocation types. + The type of the proxy. This is base type for invocation types. + The interfaces. + The options. + + + + Initializes a new instance of the class. + + Type of the target. + The interfaces. + The options. + + + + Provides appropriate Ldc.X opcode for the type of primitive value to be loaded. + + + + + Provides appropriate Ldind.X opcode for + the type of primitive value to be loaded indirectly. + + + + + Emits a load indirect opcode of the appropriate type for a value or object reference. + Pops a pointer off the evaluation stack, dereferences it and loads + a value of the specified type. + + + + + Emits a load opcode of the appropriate kind for a constant string or + primitive value. + + + + + Emits a load opcode of the appropriate kind for the constant default value of a + type, such as 0 for value types and null for reference types. + + + + + Emits a store indirectopcode of the appropriate type for a value or object reference. + Pops a value of the specified type and a pointer off the evaluation stack, and + stores the value. + + + + + Wraps a reference that is passed + ByRef and provides indirect load/store support. + + + + + Provides appropriate Stind.X opcode + for the type of primitive value to be stored indirectly. + + + + + Represents the scope of uniqueness of names for types and their members + + + + + Gets a unique name based on + + Name suggested by the caller + Unique name based on . + + Implementers should provide name as closely resembling as possible. + Generally if no collision occurs it is suggested to return suggested name, otherwise append sequential suffix. + Implementers must return deterministic names, that is when is called twice + with the same suggested name, the same returned name should be provided each time. Non-deterministic return + values, like appending random suffices will break serialization of proxies. + + + + + Returns new, disposable naming scope. It is responsibility of the caller to make sure that no naming collision + with enclosing scope, or other subscopes is possible. + + New naming scope. + + + + Generates the constructor for the class that extends + + + + + + Initializes a new instance of the class. + + The name. + Type declaring the original event being overridden, or null. + The event delegate type. + The add method. + The remove method. + The attributes. + + + + Returns the methods implemented by a type. Use this instead of Type.GetMethods() to work around a CLR issue + where duplicate MethodInfos are returned by Type.GetMethods() after a token of a generic type's method was loaded. + + + + + Exposes means to change target objects of proxies and invocations. + + + + + Changes the target object () of current . + + The new value of target of invocation. + + Although the method takes the actual instance must be of type assignable to , otherwise an will be thrown. + Also while it's technically legal to pass null reference (Nothing in Visual Basic) as , for obvious reasons Dynamic Proxy will not be able to call the intercepted method on such target. + In this case last interceptor in the pipeline mustn't call or a will be throws. + Also while it's technically legal to pass proxy itself as , this would create stack overflow. + In this case last interceptor in the pipeline mustn't call or a will be throws. + + Thrown when is not assignable to the proxied type. + + + + Permanently changes the target object of the proxy. This does not affect target of the current invocation. + + The new value of target of the proxy. + + Although the method takes the actual instance must be of type assignable to proxy's target type, otherwise an will be thrown. + Also while it's technically legal to pass null reference (Nothing in Visual Basic) as , for obvious reasons Dynamic Proxy will not be able to call the intercepted method on such target. + In this case last interceptor in the pipeline mustn't call or a will be throws. + Also while it's technically legal to pass proxy itself as , this would create stack overflow. + In this case last interceptor in the pipeline mustn't call or a will be throws. + + Thrown when is not assignable to the proxied type. + + + + Provides the main DynamicProxy extension point that allows member interception. + + + + + Provides an extension point that allows proxies to choose specific interceptors on + a per method basis. + + + + + Selects the interceptors that should intercept calls to the given . + + The type of the target object. + The method that will be intercepted. + All interceptors registered with the proxy. + An array of interceptors to invoke upon calling the . + + This method is called only once per proxy instance, upon the first call to the + . Either an empty array or null are valid return values to indicate + that no interceptor should intercept calls to the method. Although it is not advised, it is + legal to return other implementations than these provided in + . + + + + + Encapsulates an invocation of a proxied method. + + + + + Gets the arguments that the has been invoked with. + + The arguments the method was invoked with. + + + + Gets the generic arguments of the method. + + The generic arguments, or null if not a generic method. + + + + Gets the object on which the invocation is performed. This is different from proxy object + because most of the time this will be the proxy target object. + + + The invocation target. + + + + Gets the representing the method being invoked on the proxy. + + The representing the method being invoked. + + + + For interface proxies, this will point to the on the target class. + + The method invocation target. + + + + Gets the proxy object on which the intercepted method is invoked. + + Proxy object on which the intercepted method is invoked. + + + + Gets or sets the return value of the method. + + The return value of the method. + + + + Gets the type of the target object for the intercepted method. + + The type of the target object. + + + + Gets the value of the argument at the specified . + + The index. + The value of the argument at the specified . + + + + Returns the concrete instantiation of the on the proxy, with any generic + parameters bound to real types. + + + The concrete instantiation of the on the proxy, or the if + not a generic method. + + + Can be slower than calling . + + + + + Returns the concrete instantiation of , with any + generic parameters bound to real types. + For interface proxies, this will point to the on the target class. + + The concrete instantiation of , or + if not a generic method. + + In debug builds this can be slower than calling . + + + + + Proceeds the call to the next interceptor in line, and ultimately to the target method. + + + Since interface proxies without a target don't have the target implementation to proceed to, + it is important, that the last interceptor does not call this method, otherwise a + will be thrown. + + + + + Returns an object describing the operation for this + at this specific point during interception. + + + + + Overrides the value of an argument at the given with the + new provided. + + + This method accepts an , however the value provided must be compatible + with the type of the argument defined on the method, otherwise an exception will be thrown. + + The index of the argument to override. + The new value for the argument. + + + + Describes the operation for an + at a specific point during interception. + + + + + Executes the operation described by this instance. + + There is no interceptor, nor a proxy target object, to proceed to. + + + + Attributes should be replicated if they are non-inheritable, + but there are some special cases where the attributes means + something to the CLR, where they should be skipped. + + + + + Determines whether the specified method is internal. + + The method. + + true if the specified method is internal; otherwise, false. + + + + + Determines whether this assembly has internals visible to dynamic proxy. + + The assembly to inspect. + + + + Checks if the method is public or protected. + + + + + Returns list of all unique interfaces implemented given types, including their base interfaces. + + + + + Checks whether the specified is a delegate type (i.e. a direct subclass of ). + + + + + Abstracts the implementation of proxy type construction. + + + + + Gets or sets the that this logs to. + + + + + Gets the associated with this builder. + + The module scope associated with this builder. + + + + Creates a proxy type for given , implementing , using provided. + + The class type to proxy. + Additional interface types to proxy. + The proxy generation options. + The generated proxy type. + + Implementers should return a proxy type for the specified class and interfaces. + Additional interfaces should be only 'mark' interfaces, that is, they should work like interface proxy without target. (See method.) + + Thrown when or any of is a generic type definition. + Thrown when or any of is not public. + Note that to avoid this exception, you can mark offending type internal, and define + pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. + + + + + Creates a proxy type that proxies calls to members on , implementing , using provided. + + The interface type to proxy. + Additional interface types to proxy. + Type implementing on which calls to the interface members should be intercepted. + The proxy generation options. + The generated proxy type. + + Implementers should return a proxy type for the specified interface that 'proceeds' executions to the specified target. + Additional interfaces should be only 'mark' interfaces, that is, they should work like interface proxy without target. (See method.) + + Thrown when or any of is a generic type definition. + Thrown when or any of is not public. + Note that to avoid this exception, you can mark offending type internal, and define + pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. + + + + + Creates a proxy type for given and that delegates all calls to the provided interceptors and allows interceptors to switch the actual target of invocation. + + The interface type to proxy. + Additional interface types to proxy. + The proxy generation options. + The generated proxy type. + + Implementers should return a proxy type for the specified interface(s) that delegate all executions to the specified interceptors + and uses an instance of the interface as their targets (i.e. ), rather than a class. All classes should then implement interface, + to allow interceptors to switch invocation target with instance of another type implementing called interface. + + Thrown when or any of is a generic type definition. + Thrown when or any of is not public. + Note that to avoid this exception, you can mark offending type internal, and define + pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. + + + + + Creates a proxy type for given that delegates all calls to the provided interceptors. + + The interface type to proxy. + Additional interface types to proxy. + The proxy generation options. + The generated proxy type. + + Implementers should return a proxy type for the specified interface and additional interfaces that delegate all executions to the specified interceptors. + + Thrown when or any of is a generic type definition. + Thrown when or any of is not public. + Note that to avoid this exception, you can mark offending type internal, and define + pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. + + + + + Used during the target type inspection process. Implementors have a chance to customize the + proxy generation process. + + + + + Invoked by the generation process to notify that the whole process has completed. + + + + + Invoked by the generation process to notify that a member was not marked as virtual. + + The type which declares the non-virtual member. + The non-virtual member. + + This method gives an opportunity to inspect any non-proxyable member of a type that has + been requested to be proxied, and if appropriate - throw an exception to notify the caller. + + + + + Invoked by the generation process to determine if the specified method should be proxied. + + The type which declares the given method. + The method to inspect. + True if the given method should be proxied; false otherwise. + + + + Provides proxy objects for classes and interfaces. + + + + + Gets or sets the that this log to. + + + + + Gets the proxy builder instance used to generate proxy types. + + The proxy builder. + + + + Creates proxy object intercepting calls to members of interface on object with given . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The interceptors called during the invocation of proxied methods. + Object proxying calls to members of on object. + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is not an interface type. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target + use method. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of on object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is not an interface type. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target + use method. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of type on object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not an interface type. + Thrown when given does not implement interface. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target + use method. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of type on object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not an interface type. + Thrown when given does not implement interface. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target + use method. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + Additional interface types. Calls to their members will be proxied as well. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of and types on object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not an interface type. + Thrown when given does not implement interface. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target + use method. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + Additional interface types. Calls to their members will be proxied as well. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of and types on object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not an interface type. + Thrown when given does not implement interface. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target + use method. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + Interceptors can use interface to provide other target for method invocation than default . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not an interface type. + Thrown when given does not implement interface. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + Interceptors can use interface to provide other target for method invocation than default . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is not an interface type. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + Interceptors can use interface to provide other target for method invocation than default . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is not an interface type. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + Interceptors can use interface to provide other target for method invocation than default . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + Additional interface types. Calls to their members will be proxied as well. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of and types on object or alternative implementation swapped at runtime by an interceptor. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not an interface type. + Thrown when given does not implement interface. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + Interceptors can use interface to provide other target for method invocation than default . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not an interface type. + Thrown when given does not implement interface. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + Interceptors can use interface to provide other target for method invocation than default . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + Additional interface types. Calls to their members will be proxied as well. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of and types on object or alternative implementation swapped at runtime by an interceptor. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not an interface type. + Thrown when given does not implement interface. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . + + Type of the interface which will be proxied. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of types on generated target object. + + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is not an interface type. + + Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. + They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. + As a result of that also at least one implementation must be provided. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . + + Type of the interface which will be proxied. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of types on generated target object. + + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is not an interface type. + + Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. + They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. + As a result of that also at least one implementation must be provided. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . + + Type of the interface which will be proxied. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of types on generated target object. + + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is not an interface type. + + Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. + They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. + As a result of that also at least one implementation must be provided. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . + + Type of the interface which will be proxied. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of type on generated target object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not an interface type. + + Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. + They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . + + Type of the interface which will be proxied. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of type on generated target object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not an interface type. + + Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. + They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . + + Type of the interface which will be proxied. + Additional interface types. Calls to their members will be proxied as well. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of and types on generated target object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not an interface type. + + Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. + They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . + + Type of the interface which will be proxied. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of on generated target object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not an interface type. + + They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . + + Type of the interface which will be proxied. + The proxy generation options used to influence generated proxy type and object. + Additional interface types. Calls to their members will be proxied as well. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of and types on generated target object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not an interface type. + + Since this method uses an empty-shell implementation of to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. + They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The target object, calls to which will be intercepted. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + Additional interface types. Calls to their members will be proxied as well. + The target object, calls to which will be intercepted. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of and types. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + Arguments of constructor of type which should be used to create a new instance of that type. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not a class type. + Thrown when no constructor exists on type with parameters matching . + Thrown when constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The target object, calls to which will be intercepted. + Arguments of constructor of type which should be used to create a new instance of that type. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not a class type. + Thrown when no constructor exists on type with parameters matching . + Thrown when constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The target object, calls to which will be intercepted. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not a class type. + Thrown when no parameterless constructor exists on type . + Thrown when constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + Additional interface types. Calls to their members will be proxied as well. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of and types. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + Additional interface types. Calls to their members will be proxied as well. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + Arguments of constructor of type which should be used to create a new instance of that type. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of and types. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not a class type. + Thrown when no constructor exists on type with parameters matching . + Thrown when constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + Additional interface types. Calls to their members will be proxied as well. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of and types. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The proxy generation options used to influence generated proxy type and object. + Arguments of constructor of type which should be used to create a new instance of that type. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not a class type. + Thrown when no constructor exists on type with parameters matching . + Thrown when constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + Arguments of constructor of type which should be used to create a new instance of that type. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not a class type. + Thrown when no constructor exists on type with parameters matching . + Thrown when constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not a class type. + Thrown when no parameterless constructor exists on type . + Thrown when constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + Additional interface types. Calls to their members will be proxied as well. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of and types. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + Additional interface types. Calls to their members will be proxied as well. + The proxy generation options used to influence generated proxy type and object. + Arguments of constructor of type which should be used to create a new instance of that type. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of and types. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not a class type. + Thrown when no constructor exists on type with parameters matching . + Thrown when constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Exposes access to the target object and interceptors of proxy objects. + This is a DynamicProxy infrastructure interface and should not be implemented yourself. + + + + + Get the proxy target (note that null is a valid target!) + + + + + Set the proxy target. + + New proxy target. + + + + Gets the interceptors for the proxy + + + + + Because we need to cache the types based on the mixed in mixins, we do the following here: + - Get all the mixin interfaces + - Sort them by full name + - Return them by position + + The idea is to have reproducible behavior for the case that mixins are registered in different orders. + This method is here because it is required + + + + + The default file name used when the assembly is saved using . + + + + + The default assembly (simple) name used for the assemblies generated by a instance. + + + + + Initializes a new instance of the class; assemblies created by this instance will not be saved. + + + + + Initializes a new instance of the class, allowing to specify whether the assemblies generated by this instance + should be saved. + + If set to true saves the generated module. + + + + Initializes a new instance of the class, allowing to specify whether the assemblies generated by this instance + should be saved. + + If set to true saves the generated module. + If set to true disables ability to generate signed module. This should be used in cases where ran under constrained permissions. + + + + Initializes a new instance of the class, allowing to specify whether the assemblies generated by this instance + should be saved and what simple names are to be assigned to them. + + If set to true saves the generated module. + If set to true disables ability to generate signed module. This should be used in cases where ran under constrained permissions. + The simple name of the strong-named assembly generated by this . + The path and file name of the manifest module of the strong-named assembly generated by this . + The simple name of the weak-named assembly generated by this . + The path and file name of the manifest module of the weak-named assembly generated by this . + + + + Initializes a new instance of the class, allowing to specify whether the assemblies generated by this instance + should be saved and what simple names are to be assigned to them. + + If set to true saves the generated module. + If set to true disables ability to generate signed module. This should be used in cases where ran under constrained permissions. + Naming scope used to provide unique names to generated types and their members (usually via sub-scopes). + The simple name of the strong-named assembly generated by this . + The path and file name of the manifest module of the strong-named assembly generated by this . + The simple name of the weak-named assembly generated by this . + The path and file name of the manifest module of the weak-named assembly generated by this . + + + + Users of this should use this lock when accessing the cache. + + + + + Returns a type from this scope's type cache, or null if the key cannot be found. + + The key to be looked up in the cache. + The type from this scope's type cache matching the key, or null if the key cannot be found + + + + Registers a type in this scope's type cache. + + The key to be associated with the type. + The type to be stored in the cache. + + + + Gets the key pair used to sign the strong-named assembly generated by this . + + + + + Gets the strong-named module generated by this scope, or if none has yet been generated. + + The strong-named module generated by this scope, or if none has yet been generated. + + + + Gets the file name of the strongly named module generated by this scope. + + The file name of the strongly named module generated by this scope. + + + + Gets the weak-named module generated by this scope, or if none has yet been generated. + + The weak-named module generated by this scope, or if none has yet been generated. + + + + Gets the file name of the weakly named module generated by this scope. + + The file name of the weakly named module generated by this scope. + + + + Gets the specified module generated by this scope, creating a new one if none has yet been generated. + + If set to true, a strong-named module is returned; otherwise, a weak-named module is returned. + A strong-named or weak-named module generated by this scope, as specified by the parameter. + + + + Gets the strong-named module generated by this scope, creating a new one if none has yet been generated. + + A strong-named module generated by this scope. + + + + Gets the weak-named module generated by this scope, creating a new one if none has yet been generated. + + A weak-named module generated by this scope. + + + + allows customization of the behavior of proxies created by + an (or proxy types generated by an ). + + You should not modify an instance of once it has been + used to create a proxy (or proxy type). + + + + + + Initializes a new instance of the class. + + The hook. + + + + Initializes a new instance of the class. + + + + + Gets or sets the that should be used during proxy type + generation. Defaults to an instance of . + + You should not modify this property once this instance + has been used to create a proxy. + + + + + + Gets or sets the that should be used by created proxies + to determine which interceptors to use for an interception. If set to + (which is the default), created proxies will not use any selector. + + You should not modify this property once this instance + has been used to create a proxy. + + + + + + Gets or sets the class type from which generated interface proxy types will be derived. + Defaults to (). + + You should not modify this property once this instance + has been used to create a proxy. + + + + + + Gets the collection of additional custom attributes that will be put on generated proxy types. + This collection is initially empty. + + You should not modify this collection once this instance + has been used to create a proxy. + + + + + + Adds a delegate type to the list of mixins that will be added to generated proxies. + That is, generated proxies will have a `Invoke` method with a signature matching that + of the specified . + + You should not call this method once this instance + has been used to create a proxy. + + + The delegate type whose `Invoke` method should be reproduced in generated proxies. + is . + is not a delegate type. + + + + Adds a delegate to be mixed into generated proxies. The + will act as the target for calls to a `Invoke` method with a signature matching that + of the delegate. + + You should not call this method once this instance + has been used to create a proxy. + + + The delegate that should act as the target for calls to `Invoke` methods with a matching signature. + is . + + + + Mixes the interfaces implemented by the specified object into + created proxies, and uses as the target for these mixed-in interfaces. + + You should not call this method once this instance + has been used to create a proxy. + + + The object that should act as the target for all of its implemented interfaces' methods. + is . + is an instance of . + + + + Provides proxy objects for classes and interfaces. + + + + + Initializes a new instance of the class. + + Proxy types builder. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + If true forces all types to be generated into an unsigned module. + + + + Gets or sets the that this log to. + + + + + Gets the proxy builder instance used to generate proxy types. + + The proxy builder. + + + + Creates proxy object intercepting calls to members of interface on object with given . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The interceptors called during the invocation of proxied methods. + Object proxying calls to members of on object. + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is not an interface type. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target + use method. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of on object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is not an interface type. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target + use method. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of type on object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not an interface type. + Thrown when given does not implement interface. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target + use method. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of type on object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not an interface type. + Thrown when given does not implement interface. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target + use method. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + Additional interface types. Calls to their members will be proxied as well. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of and types on object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not an interface type. + Thrown when given does not implement interface. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target + use method. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + Additional interface types. Calls to their members will be proxied as well. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of and types on object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not an interface type. + Thrown when given does not implement interface. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target + use method. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + Interceptors can use interface to provide other target for method invocation than default . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not an interface type. + Thrown when given does not implement interface. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + Interceptors can use interface to provide other target for method invocation than default . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is not an interface type. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + Interceptors can use interface to provide other target for method invocation than default . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is not an interface type. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + Interceptors can use interface to provide other target for method invocation than default . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + Additional interface types. Calls to their members will be proxied as well. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of and types on object or alternative implementation swapped at runtime by an interceptor. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not an interface type. + Thrown when given does not implement interface. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + Interceptors can use interface to provide other target for method invocation than default . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not an interface type. + Thrown when given does not implement interface. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + Interceptors can use interface to provide other target for method invocation than default . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + Additional interface types. Calls to their members will be proxied as well. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of and types on object or alternative implementation swapped at runtime by an interceptor. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not an interface type. + Thrown when given does not implement interface. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . + + Type of the interface which will be proxied. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of types on generated target object. + + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is not an interface type. + + Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. + They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. + As a result of that also at least one implementation must be provided. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . + + Type of the interface which will be proxied. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of types on generated target object. + + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is not an interface type. + + Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. + They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. + As a result of that also at least one implementation must be provided. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . + + Type of the interface which will be proxied. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of types on generated target object. + + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is not an interface type. + + Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. + They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. + As a result of that also at least one implementation must be provided. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . + + Type of the interface which will be proxied. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of type on generated target object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not an interface type. + + Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. + They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . + + Type of the interface which will be proxied. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of type on generated target object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not an interface type. + + Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. + They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . + + Type of the interface which will be proxied. + Additional interface types. Calls to their members will be proxied as well. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of and types on generated target object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not an interface type. + + Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. + They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . + + Type of the interface which will be proxied. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of on generated target object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not an interface type. + + They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . + + Type of the interface which will be proxied. + The proxy generation options used to influence generated proxy type and object. + Additional interface types. Calls to their members will be proxied as well. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of and types on generated target object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not an interface type. + + Since this method uses an empty-shell implementation of to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. + They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The target object, calls to which will be intercepted. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + Additional interface types. Calls to their members will be proxied as well. + The target object, calls to which will be intercepted. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of and types. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + Arguments of constructor of type which should be used to create a new instance of that type. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not a class type. + Thrown when no constructor exists on type with parameters matching . + Thrown when constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The target object, calls to which will be intercepted. + Arguments of constructor of type which should be used to create a new instance of that type. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not a class type. + Thrown when no constructor exists on type with parameters matching . + Thrown when constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The target object, calls to which will be intercepted. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not a class type. + Thrown when no parameterless constructor exists on type . + Thrown when constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + Additional interface types. Calls to their members will be proxied as well. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of and types. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + Additional interface types. Calls to their members will be proxied as well. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + Arguments of constructor of type which should be used to create a new instance of that type. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of and types. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not a class type. + Thrown when no constructor exists on type with parameters matching . + Thrown when constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + Additional interface types. Calls to their members will be proxied as well. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of and types. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The proxy generation options used to influence generated proxy type and object. + Arguments of constructor of type which should be used to create a new instance of that type. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not a class type. + Thrown when no constructor exists on type with parameters matching . + Thrown when constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + Arguments of constructor of type which should be used to create a new instance of that type. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not a class type. + Thrown when no constructor exists on type with parameters matching . + Thrown when constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not a class type. + Thrown when no parameterless constructor exists on type . + Thrown when constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + Additional interface types. Calls to their members will be proxied as well. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of and types. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + Additional interface types. Calls to their members will be proxied as well. + The proxy generation options used to influence generated proxy type and object. + Arguments of constructor of type which should be used to create a new instance of that type. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of and types. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not a class type. + Thrown when no constructor exists on type with parameters matching . + Thrown when constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates the proxy type for class proxy with given class, implementing given and using provided . + + The base class for proxy type. + The interfaces that proxy type should implement. + The options for proxy generation process. + of proxy. + + + + Creates the proxy type for interface proxy with target for given interface, implementing given on given and using provided . + + The interface proxy type should implement. + The additional interfaces proxy type should implement. + Actual type that the proxy type will encompass. + The options for proxy generation process. + of proxy. + + + + Creates the proxy type for interface proxy with target interface for given interface, implementing given on given and using provided . + + The interface proxy type should implement. + The additional interfaces proxy type should implement. + The options for proxy generation process. + of proxy. + + + + Creates the proxy type for interface proxy without target for given interface, implementing given and using provided . + + The interface proxy type should implement. + The additional interfaces proxy type should implement. + The options for proxy generation process. + of proxy. + + + + Creates a delegate of the specified type to a suitable `Invoke` method + on the given instance. + + The proxy instance to which the delegate should be bound. + The type of delegate that should be created. + + The does not have an `Invoke` method that is compatible with + the requested type. + + + + + Creates a delegate of the specified type to a suitable `Invoke` method + on the given instance. + + The proxy instance to which the delegate should be bound. + The type of delegate that should be created. + + The does not have an `Invoke` method that is compatible with + the requested . + + + + + Checks whether the specified method is accessible to DynamicProxy. + The method to check. + true if the method is accessible to DynamicProxy, false otherwise. + + + + Checks whether the specified method is accessible to DynamicProxy. + The method to check. + If the method is accessible to DynamicProxy, null; otherwise, an explanation of why the method is not accessible. + true if the method is accessible to DynamicProxy, false otherwise. + + + + Checks whether the specified type is accessible to DynamicProxy. + The type to check. + true if the type is accessible to DynamicProxy, false otherwise. + + + + Determines whether this assembly has internals visible to DynamicProxy. + + The assembly to inspect. + + + + Checks whether the specified method is accessible to DynamicProxy. + Unlike with , the declaring type's accessibility is ignored. + + The method to check. + true if the method is accessible to DynamicProxy, false otherwise. + + + + Determines whether the specified method is internal. + + The method. + + true if the specified method is internal; otherwise, false. + + + + + Holds objects representing methods of class. + + + + diff --git a/src/packages/Castle.Core.4.4.1/lib/netstandard1.5/Castle.Core.xml b/src/packages/Castle.Core.4.4.1/lib/netstandard1.5/Castle.Core.xml new file mode 100644 index 0000000..ae17928 --- /dev/null +++ b/src/packages/Castle.Core.4.4.1/lib/netstandard1.5/Castle.Core.xml @@ -0,0 +1,5741 @@ + + + + Castle.Core + + + + + Abstract adapter for the support + needed by the + + + + + Adds an element with the provided key and value to the object. + + The to use as the key of the element to add. + The to use as the value of the element to add. + An element with the same key already exists in the object. + key is null. + The is read-only.-or- The has a fixed size. + + + + Removes all elements from the object. + + The object is read-only. + + + + Determines whether the object contains an element with the specified key. + + The key to locate in the object. + + true if the contains an element with the key; otherwise, false. + + key is null. + + + + Returns an object for the object. + + + An object for the object. + + + + + Gets a value indicating whether the object has a fixed size. + + true if the object has a fixed size; otherwise, false. + + + + Gets a value indicating whether the object is read-only. + + true if the object is read-only; otherwise, false. + + + + Gets an object containing the keys of the object. + + An object containing the keys of the object. + + + + Removes the element with the specified key from the object. + + The key of the element to remove. + The object is read-only.-or- The has a fixed size. + key is null. + + + + Gets an object containing the values in the object. + + An object containing the values in the object. + + + + Gets or sets the with the specified key. + + + + + Copies the elements of the to an , starting at a particular index. + + The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. + The zero-based index in array at which copying begins. + array is null. + The type of the source cannot be cast automatically to the type of the destination array. + index is less than zero. + array is multidimensional.-or- index is equal to or greater than the length of array.-or- The number of elements in the source is greater than the available space from index to the end of the destination array. + + + + Gets the number of elements contained in the . + + The number of elements contained in the . + + + + Gets a value indicating whether access to the is synchronized (thread safe). + + true if access to the is synchronized (thread safe); otherwise, false. + + + + Gets an object that can be used to synchronize access to the . + + An object that can be used to synchronize access to the . + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Abstract implementation of . + + + + + Identifies a property should be represented as a nested component. + + + + + Applies no prefix. + + + + + Gets or sets the prefix. + + The prefix. + + + + Identifies the dictionary adapter types. + + + + + Assigns a specific dictionary key. + + + + + Identifies an interface or property to be pre-fetched. + + + + + Instructs fetching to occur. + + + + + Instructs fetching according to + + + + + Gets whether or not fetching should occur. + + + + + Assigns a property to a group. + + + + + Constructs a group assignment. + + The group name. + + + + Constructs a group assignment. + + The group name. + + + + Gets the group the property is assigned to. + + + + + Suppresses any on-demand behaviors. + + + + + Assigns a specific dictionary key. + + + + + Initializes a new instance of the class. + + The key. + + + + Initializes a new instance of the class. + + The compound key. + + + + Assigns a prefix to the keyed properties of an interface. + + + Key prefixes are not inherited by sub-interfaces. + + + + + Initializes a default instance of the class. + + + + + Initializes a new instance of the class. + + The prefix for the keyed properties of the interface. + + + + Gets the prefix key added to the properties of the interface. + + + + + Substitutes part of key with another string. + + + + + Initializes a new instance of the class. + + The old value. + The new value. + + + + Requests support for multi-level editing. + + + + + Generates a new GUID on demand. + + + + + Support for on-demand value resolution. + + + + + Specifies assignment by reference rather than by copying. + + + + + Removes a property if matches value. + + + + + Removes a property if null or empty string, guid or collection. + + + + + Provides simple string formatting from existing properties. + + + + + Gets the string format. + + + + + Gets the format properties. + + + + + Identifies a property should be represented as a delimited string value. + + + + + Gets the separator. + + + + + Converts all properties to strings. + + + + + Gets or sets the format. + + The format. + + + + Suppress property change notifications. + + + + + Assigns a prefix to the keyed properties using the interface name. + + + + + Indicates that underlying values are changeable and should not be cached. + + + + + Manages conversion between property values. + + + + + Initializes a new instance of the class. + + The converter. + + + + + + + + + Gets the effective dictionary value. + + The dictionary adapter. + The key. + The stored value. + The property. + true if return only existing. + The effective property value. + + + + Uses Reflection.Emit to expose the properties of a dictionary + through a dynamic implementation of a typed interface. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Wraps a with a dynamic object to expose a bit better looking API. + The implementation is trivial and assumes keys are s. + + + + + Contract for manipulating the Dictionary adapter. + + + + + Defines the contract for building typed dictionary adapters. + + + + + Gets a typed adapter bound to the . + + The typed interface. + The underlying source of properties. + An implementation of the typed interface bound to the dictionary. + + The type represented by T must be an interface with properties. + + + + + Gets a typed adapter bound to the . + + The typed interface. + The underlying source of properties. + An implementation of the typed interface bound to the dictionary. + + The type represented by T must be an interface with properties. + + + + + Gets a typed adapter bound to the . + + The typed interface. + The underlying source of properties. + The property descriptor. + An implementation of the typed interface bound to the dictionary. + + The type represented by T must be an interface with properties. + + + + + Gets a typed adapter bound to the . + + The typed interface. + The underlying source of properties. + An implementation of the typed interface bound to the namedValues. + + The type represented by T must be an interface with properties. + + + + + Gets a typed adapter bound to the . + + The typed interface. + The underlying source of properties. + An implementation of the typed interface bound to the namedValues. + + The type represented by T must be an interface with properties. + + + + + Gets the associated with the type. + + The typed interface. + The adapter meta-data. + + + + Gets the associated with the type. + + The typed interface. + The property descriptor. + The adapter meta-data. + + + + Gets the associated with the type. + + The typed interface. + Another from which to copy behaviors. + The adapter meta-data. + + + + Contract for traversing a . + + + + + Defines the contract for customizing dictionary access. + + + + + Determines relative order to apply related behaviors. + + + + + Copies the dictionary behavior. + + null if should not be copied. Otherwise copy. + + + + Defines the contract for building s. + + + + + Builds the dictionary behaviors. + + + + + Contract for creating additional Dictionary adapters. + + + + + Contract for editing the Dictionary adapter. + + + + + Contract for dictionary initialization. + + + + + Performs any initialization of the + + The dictionary adapter. + The dictionary behaviors. + + + + Defines the contract for building typed dictionary keys. + + + + + Builds the specified key. + + The dictionary adapter. + The current key. + The property. + The updated key + + + + Contract for dictionary meta-data initialization. + + + + + Initializes the given object. + + The dictionary adapter factory. + The dictionary adapter meta. + + + + + Determines whether the given behavior should be included in a new + object. + + A dictionary behavior or annotation. + True if the behavior should be included; otherwise, false. + + behaviors are always included, + regardless of the result of this method. + + + + + + Contract for managing Dictionary adapter notifications. + + + + + Defines the contract for retrieving dictionary values. + + + + + Gets the effective dictionary value. + + The dictionary adapter. + The key. + The stored value. + The property. + true if return only existing. + The effective property value. + + + + Defines the contract for updating dictionary values. + + + + + Sets the stored dictionary value. + + The dictionary adapter. + The key. + The stored value. + The property. + true if the property should be stored. + + + + Contract for validating Dictionary adapter. + + + + + Contract for dictionary validation. + + + + + Determines if is valid. + + The dictionary adapter. + true if valid. + + + + Validates the . + + The dictionary adapter. + The error summary information. + + + + Validates the for a property. + + The dictionary adapter. + The property to validate. + The property summary information. + + + + Invalidates any results cached by the validator. + + The dictionary adapter. + + + + Contract for property descriptor initialization. + + + + + Performs any initialization of the + + The property descriptor. + The property behaviors. + + + + + + + + + Initializes a new instance of the class. + + The name values. + + + + Gets a value indicating whether the object is read-only. + + true if the object is read-only; otherwise, false. + + + + Determines whether the object contains an element with the specified key. + + The key to locate in the object. + + true if the contains an element with the key; otherwise, false. + + key is null. + + + + Gets or sets the with the specified key. + + + + + Adapts the specified name values. + + The name values. + + + + Describes a dictionary property. + + + + + Initializes an empty class. + + + + + Initializes a new instance of the class. + + The property. + The annotations. + + + + Initializes a new instance class. + + + + + Copies an existing instance of the class. + + + + + + + + + + Gets the property name. + + + + + Gets the property type. + + + + + Gets the property. + + The property. + + + + Returns true if the property is dynamic. + + + + + Gets additional state. + + + + + Determines if property should be fetched. + + + + + Determines if property must exist first. + + + + + Determines if notifications should occur. + + + + + Gets the property behaviors. + + + + + Gets the type converter. + + The type converter. + + + + Gets the extended properties. + + + + + Gets the setter. + + The setter. + + + + Gets the key builders. + + The key builders. + + + + Gets the setter. + + The setter. + + + + Gets the getter. + + The getter. + + + + Gets the initializers. + + The initializers. + + + + Gets the meta-data initializers. + + The meta-data initializers. + + + + Gets the key. + + The dictionary adapter. + The key. + The descriptor. + + + + Gets the property value. + + The dictionary adapter. + The key. + The stored value. + The descriptor. + true if return only existing. + + + + Sets the property value. + + The dictionary adapter. + The key. + The value. + The descriptor. + + + + Adds a single behavior. + + The behavior. + + + + Adds the behaviors. + + The behaviors. + + + + Adds the behaviors. + + The behaviors. + + + + Copies the behaviors to the other + + + + + Copies the + + + + + Contract for value matching. + + + + + Contract for dynamic value resolution. + + + + + Contract for typed dynamic value resolution. + + + + + + This is an abstract implementation + that deals with methods that can be abstracted away + from underlying implementations. + + + AbstractConfiguration makes easier to implementers + to create a new version of + + + + + Gets node attributes. + + + All attributes of the node. + + + + + Gets all child nodes. + + The of child nodes. + + + + Gets the name of the . + + + The Name of the . + + + + + Gets the value of . + + + The Value of the . + + + + + Gets the value of the node and converts it + into specified . + + The + + The Default value returned if the conversion fails. + + The Value converted into the specified type. + + + + A collection of objects. + + + + + Creates a new instance of ConfigurationCollection. + + + + + Creates a new instance of ConfigurationCollection. + + + + + is a interface encapsulating a configuration node + used to retrieve configuration values. + + + + + Gets the name of the node. + + + The Name of the node. + + + + + Gets the value of the node. + + + The Value of the node. + + + + + Gets an of + elements containing all node children. + + The Collection of child nodes. + + + + Gets an of the configuration attributes. + + + + + Gets the value of the node and converts it + into specified . + + The + + The Default value returned if the conversion fails. + + The Value converted into the specified type. + + + + Initializes a new instance of the class. + + The name. + + + + Gets the value of . + + + The Value of the . + + + + + Deserializes the specified node into an abstract representation of configuration. + + The node. + + + + If a config value is an empty string we return null, this is to keep + backward compatibility with old code + + + + + Helper class for retrieving attributes. + + + + + Gets the attribute. + + The type. + The type attribute. + + + + Gets the attributes. Does not consider inherited attributes! + + The type. + The type attributes. + + + + Gets the attribute. + + The member. + The member attribute. + + + + Gets the attributes. Does not consider inherited attributes! + + The member. + The member attributes. + + + + Gets the type attribute. + + The type. + The type attribute. + + + + Gets the type attributes. + + The type. + The type attributes. + + + + Gets the type converter. + + The member. + + + + Checks whether or not collection is null or empty. Assumes collection can be safely enumerated multiple times. + + + + + Generates a HashCode for the contents for the list. Order of items does not matter. + + The type of object contained within the list. + The list. + The generated HashCode. + + + + Determines if two lists are equivalent. Equivalent lists have the same number of items and each item is found within the other regardless of respective position within each. + + The type of object contained within the list. + The first list. + The second list. + True if the two lists are equivalent. + + + + Constant to use when making assembly internals visible to Castle.Core + [assembly: InternalsVisibleTo(CoreInternalsVisible.ToCastleCore)] + + + + + Constant to use when making assembly internals visible to proxy types generated by DynamicProxy. Required when proxying internal types. + [assembly: InternalsVisibleTo(CoreInternalsVisible.ToDynamicProxyGenAssembly2)] + + + + + Creates a new lock. + + + + + Find the best available name to describe a type. + + + Usually the best name will be , but + sometimes that's null (see http://msdn.microsoft.com/en-us/library/system.type.fullname%28v=vs.110%29.aspx) + in which case the method falls back to . + + the type to name + the best name + + + + Defines that the implementation wants a + in order to + access other components. The creator must be aware + that the component might (or might not) implement + the interface. + + + Used by Castle Project components to, for example, + gather logging factories + + + + + Increments IServiceProvider with a generic service resolution operation. + + + + + This interface should be implemented by classes + that are available in a bigger context, exposing + the container to different areas in the same application. + + For example, in Web application, the (global) HttpApplication + subclasses should implement this interface to expose + the configured container + + + + + + Creates a new extended logger, getting the logger name from the specified type. + + + + + Creates a new extended logger. + + + + + Creates a new extended logger, getting the logger name from the specified type. + + + + + Creates a new extended logger. + + + + + Creates a new logger, getting the logger name from the specified type. + + + + + Creates a new logger. + + + + + Creates a new logger, getting the logger name from the specified type. + + + + + Creates a new logger. + + + + + Gets the configuration file. + + i.e. log4net.config + + + + Gets the configuration file. + + i.e. log4net.config + + + + The Logger sending everything to the standard output streams. + This is mainly for the cases when you have a utility that + does not have a logger to supply. + + + + + Creates a new ConsoleLogger with the Level + set to LoggerLevel.Debug and the Name + set to String.Empty. + + + + + Creates a new ConsoleLogger with the Name + set to String.Empty. + + The logs Level. + + + + Creates a new ConsoleLogger with the Level + set to LoggerLevel.Debug. + + The logs Name. + + + + Creates a new ConsoleLogger. + + The logs Name. + The logs Level. + + + + A Common method to log. + + The level of logging + The name of the logger + The Message + The Exception + + + + Returns a new ConsoleLogger with the name + added after this loggers name, with a dot in between. + + The added hierarchical name. + A new ConsoleLogger. + + + + Interface for Context Properties implementations + + + + This interface defines a basic property get set accessor. + + + Based on the ContextPropertiesBase of log4net, by Nicko Cadell. + + + + + + Gets or sets the value of a property + + + The value for the property with the specified key + + + + Gets or sets the value of a property + + + + + + Provides an interface that supports and + allows the storage and retrieval of Contexts. These are supported in + both log4net and NLog. + + + + + Exposes the Global Context of the extended logger. + + + + + Exposes the Thread Context of the extended logger. + + + + + Exposes the Thread Stack of the extended logger. + + + + + Provides a factory that can produce either or + classes. + + + + + Creates a new extended logger, getting the logger name from the specified type. + + + + + Creates a new extended logger. + + + + + Creates a new extended logger, getting the logger name from the specified type. + + + + + Creates a new extended logger. + + + + + Manages logging. + + + This is a facade for the different logging subsystems. + It offers a simplified interface that follows IOC patterns + and a simplified priority/level/severity abstraction. + + + + + Determines if messages of priority "trace" will be logged. + + True if "trace" messages will be logged. + + + + Determines if messages of priority "debug" will be logged. + + True if "debug" messages will be logged. + + + + Determines if messages of priority "error" will be logged. + + True if "error" messages will be logged. + + + + Determines if messages of priority "fatal" will be logged. + + True if "fatal" messages will be logged. + + + + Determines if messages of priority "info" will be logged. + + True if "info" messages will be logged. + + + + Determines if messages of priority "warn" will be logged. + + True if "warn" messages will be logged. + + + + Create a new child logger. + The name of the child logger is [current-loggers-name].[passed-in-name] + + The Subname of this logger. + The New ILogger instance. + If the name has an empty element name. + + + + Logs a trace message. + + The message to log + + + + Logs a trace message with lazily constructed message. The message will be constructed only if the is true. + + + + + Logs a trace message. + + The exception to log + The message to log + + + + Logs a trace message. + + Format string for the message to log + Format arguments for the message to log + + + + Logs a trace message. + + The exception to log + Format string for the message to log + Format arguments for the message to log + + + + Logs a trace message. + + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs a trace message. + + The exception to log + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs a debug message. + + The message to log + + + + Logs a debug message with lazily constructed message. The message will be constructed only if the is true. + + + + + Logs a debug message. + + The exception to log + The message to log + + + + Logs a debug message. + + Format string for the message to log + Format arguments for the message to log + + + + Logs a debug message. + + The exception to log + Format string for the message to log + Format arguments for the message to log + + + + Logs a debug message. + + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs a debug message. + + The exception to log + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs an error message. + + The message to log + + + + Logs an error message with lazily constructed message. The message will be constructed only if the is true. + + + + + Logs an error message. + + The exception to log + The message to log + + + + Logs an error message. + + Format string for the message to log + Format arguments for the message to log + + + + Logs an error message. + + The exception to log + Format string for the message to log + Format arguments for the message to log + + + + Logs an error message. + + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs an error message. + + The exception to log + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs a fatal message. + + The message to log + + + + Logs a fatal message with lazily constructed message. The message will be constructed only if the is true. + + + + + Logs a fatal message. + + The exception to log + The message to log + + + + Logs a fatal message. + + Format string for the message to log + Format arguments for the message to log + + + + Logs a fatal message. + + The exception to log + Format string for the message to log + Format arguments for the message to log + + + + Logs a fatal message. + + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs a fatal message. + + The exception to log + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs an info message. + + The message to log + + + + Logs a info message with lazily constructed message. The message will be constructed only if the is true. + + + + + Logs an info message. + + The exception to log + The message to log + + + + Logs an info message. + + Format string for the message to log + Format arguments for the message to log + + + + Logs an info message. + + The exception to log + Format string for the message to log + Format arguments for the message to log + + + + Logs an info message. + + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs an info message. + + The exception to log + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs a warn message. + + The message to log + + + + Logs a warn message with lazily constructed message. The message will be constructed only if the is true. + + + + + Logs a warn message. + + The exception to log + The message to log + + + + Logs a warn message. + + Format string for the message to log + Format arguments for the message to log + + + + Logs a warn message. + + The exception to log + Format string for the message to log + Format arguments for the message to log + + + + Logs a warn message. + + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs a warn message. + + The exception to log + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Manages the instantiation of s. + + + + + Creates a new logger, getting the logger name from the specified type. + + + + + Creates a new logger. + + + + + Creates a new logger, getting the logger name from the specified type. + + + + + Creates a new logger. + + + + + The Level Filtered Logger class. This is a base class which + provides a LogLevel attribute and reroutes all functions into + one Log method. + + + + + Creates a new LevelFilteredLogger. + + + + + The LoggerLevel that this logger + will be using. Defaults to LoggerLevel.Off + + + + + The name that this logger will be using. + Defaults to String.Empty + + + + + Logs a trace message. + + The message to log + + + + Logs a trace message. + + A functor to create the message + + + + Logs a trace message. + + The exception to log + The message to log + + + + Logs a trace message. + + Format string for the message to log + Format arguments for the message to log + + + + Logs a trace message. + + The exception to log + Format string for the message to log + Format arguments for the message to log + + + + Logs a trace message. + + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs a trace message. + + The exception to log + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs a debug message. + + The message to log + + + + Logs a debug message. + + The exception to log + The message to log + + + + Logs a debug message. + + Format string for the message to log + Format arguments for the message to log + + + + Logs a debug message. + + The exception to log + Format string for the message to log + Format arguments for the message to log + + + + Logs a debug message. + + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs a debug message. + + The exception to log + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs an info message. + + The message to log + + + + Logs an info message. + + The exception to log + The message to log + + + + Logs an info message. + + Format string for the message to log + Format arguments for the message to log + + + + Logs an info message. + + The exception to log + Format string for the message to log + Format arguments for the message to log + + + + Logs an info message. + + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs an info message. + + The exception to log + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs a warn message. + + The message to log + + + + Logs a warn message. + + The exception to log + The message to log + + + + Logs a warn message. + + Format string for the message to log + Format arguments for the message to log + + + + Logs a warn message. + + The exception to log + Format string for the message to log + Format arguments for the message to log + + + + Logs a warn message. + + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs a warn message. + + The exception to log + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs an error message. + + The message to log + + + + Logs an error message. + + The exception to log + The message to log + + + + Logs an error message. + + Format string for the message to log + Format arguments for the message to log + + + + Logs an error message. + + The exception to log + Format string for the message to log + Format arguments for the message to log + + + + Logs an error message. + + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs an error message. + + The exception to log + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs a fatal message. + + The message to log + + + + Logs a fatal message. + + The exception to log + The message to log + + + + Logs a fatal message. + + Format string for the message to log + Format arguments for the message to log + + + + Logs a fatal message. + + The exception to log + Format string for the message to log + Format arguments for the message to log + + + + Logs a fatal message. + + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Logs a fatal message. + + The exception to log + The format provider to use + Format string for the message to log + Format arguments for the message to log + + + + Determines if messages of priority "trace" will be logged. + + true if log level flags include the bit + + + + Determines if messages of priority "debug" will be logged. + + true if log level flags include the bit + + + + Determines if messages of priority "info" will be logged. + + true if log level flags include the bit + + + + Determines if messages of priority "warn" will be logged. + + true if log level flags include the bit + + + + Determines if messages of priority "error" will be logged. + + true if log level flags include the bit + + + + Determines if messages of priority "fatal" will be logged. + + true if log level flags include the bit + + + + Implementors output the log content by implementing this method only. + Note that exception can be null + + + + + Supporting Logger levels. + + + + + Logging will be off + + + + + Fatal logging level + + + + + Error logging level + + + + + Warn logging level + + + + + Info logging level + + + + + Debug logging level + + + + + Trace logging level + + + + + NullLogFactory used when logging is turned off. + + + + + Creates an instance of ILogger with the specified name. + + Name. + + + + Creates an instance of ILogger with the specified name and LoggerLevel. + + Name. + Level. + + + + The Null Logger class. This is useful for implementations where you need + to provide a logger to a utility class, but do not want any output from it. + It also helps when you have a utility that does not have a logger to supply. + + + + + Returns empty context properties. + + + + + Returns empty context properties. + + + + + Returns empty context stacks. + + + + + No-op. + + false + + + + No-op. + + false + + + + No-op. + + false + + + + No-op. + + false + + + + No-op. + + false + + + + No-op. + + false + + + + Returns this NullLogger. + + Ignored + This ILogger instance. + + + + No-op. + + Ignored + + + + No-op. + + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + Ignored + Ignored + + + + No-op. + + Ignored + + + + No-op. + + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + Ignored + Ignored + + + + No-op. + + Ignored + + + + No-op. + + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + Ignored + Ignored + + + + No-op. + + Ignored + + + + No-op. + + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + Ignored + Ignored + + + + No-op. + + Ignored + + + + No-op. + + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + Ignored + Ignored + + + + No-op. + + Ignored + + + + No-op. + + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + Ignored + + + + No-op. + + Ignored + Ignored + Ignored + Ignored + + + + The Stream Logger class. This class can stream log information + to any stream, it is suitable for storing a log file to disk, + or to a MemoryStream for testing your components. + + + This logger is not thread safe. + + + + + Creates a new StreamLogger with default encoding + and buffer size. Initial Level is set to Debug. + + + The name of the log. + + + The stream that will be used for logging, + seeking while the logger is alive + + + + + Creates a new StreamLogger with default buffer size. + Initial Level is set to Debug. + + + The name of the log. + + + The stream that will be used for logging, + seeking while the logger is alive + + + The encoding that will be used for this stream. + + + + + + Creates a new StreamLogger. + Initial Level is set to Debug. + + + The name of the log. + + + The stream that will be used for logging, + seeking while the logger is alive + + + The encoding that will be used for this stream. + + + + The buffer size that will be used for this stream. + + + + + + Creates a new StreamLogger with + Debug as default Level. + + The name of the log. + The StreamWriter the log will write to. + + + + Creates outputting + to files. The name of the file is derived from the log name + plus the 'log' extension. + + + + + The TraceLogger sends all logging to the System.Diagnostics.TraceSource + built into the .net framework. + + + Logging can be configured in the system.diagnostics configuration + section. + + If logger doesn't find a source name with a full match it will + use source names which match the namespace partially. For example you can + configure from all castle components by adding a source name with the + name "Castle". + + If no portion of the namespace matches the source named "Default" will + be used. + + + + + Build a new trace logger based on the named TraceSource + + The name used to locate the best TraceSource. In most cases comes from the using type's fullname. + + + + Build a new trace logger based on the named TraceSource + + The name used to locate the best TraceSource. In most cases comes from the using type's fullname. + The default logging level at which this source should write messages. In almost all cases this + default value will be overridden in the config file. + + + + Create a new child logger. + The name of the child logger is [current-loggers-name].[passed-in-name] + + The Subname of this logger. + The New ILogger instance. + + + + Used to create the TraceLogger implementation of ILogger interface. See . + + + + + General purpose class to represent a standard pair of values. + + Type of the first value + Type of the second value + + + + Constructs a pair with its values + + + + + List of utility methods related to dynamic proxy operations + + + + + Determines whether the specified type is a proxy generated by + DynamicProxy (1 or 2). + + The type. + + true if it is a proxy; otherwise, false. + + + + + Readonly implementation of which uses an anonymous object as its source. Uses names of properties as keys, and property values as... well - values. Keys are not case sensitive. + + + + + Initializes a new instance of the class. + + The target. + + + + Gets the number of elements contained in the . + + The number of elements contained in the . + + + + Gets a value indicating whether access to the is synchronized (thread safe). + + true if access to the is synchronized (thread safe); otherwise, false. + + + + Gets an object that can be used to synchronize access to the . + + An object that can be used to synchronize access to the . + + + + Gets a value indicating whether the object is read-only. + + true if the object is read-only; otherwise, false. + + + + Gets or sets the with the specified key. + + + + + Gets an object containing the keys of the object. + + An object containing the keys of the object. + + + + Gets an object containing the values in the object. + + An object containing the values in the object. + + + + Gets a value indicating whether the object has a fixed size. + + true if the object has a fixed size; otherwise, false. + + + + Adds an element with the provided key and value to the object. + + The to use as the key of the element to add. + The to use as the value of the element to add. + + is null. + An element with the same key already exists in the object. + The is read-only.-or- The has a fixed size. + + + + Removes all elements from the object. + + The object is read-only. + + + + Determines whether the object contains an element with the specified key. + + The key to locate in the object. + + true if the contains an element with the key; otherwise, false. + + + is null. + + + + Removes the element with the specified key from the object. + + The key of the element to remove. + + is null. + The object is read-only.-or- The has a fixed size. + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Copies the elements of the to an , starting at a particular index. + + The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. + The zero-based index in at which copying begins. + + is null. + + is less than zero. + + is multidimensional.-or- is equal to or greater than the length of .-or- The number of elements in the source is greater than the available space from to the end of the destination . + The type of the source cannot be cast automatically to the type of the destination . + + + + Returns an object for the object. + + + An object for the object. + + + + + Reads values of properties from and inserts them into using property names as keys. + + + + + + + + + + This returns a new stream instance each time it is called. + It is the responsibility of the caller to dispose of this stream + + + + + + + + + + + + + + + Represents a 'streamable' resource. Can + be a file, a resource in an assembly. + + + + + Only valid for resources that + can be obtained through relative paths + + + + + Returns a reader for the stream + + + It's up to the caller to dispose the reader. + + + + + Returns a reader for the stream + + + It's up to the caller to dispose the reader. + + + + + Returns an instance of + created according to the relativePath + using itself as the root. + + + + + Depicts the contract for resource factories. + + + + + Used to check whether the resource factory + is able to deal with the given resource + identifier. + + + Implementors should return true + only if the given identifier is supported + by the resource factory + + + + + Creates an instance + for the given resource identifier + + + + + Creates an instance + for the given resource identifier + + + + + Adapts a static string content as an + + + + + Enable access to files on network shares + + + + + Interface describing elements composing generated type + + + + + Performs some basic screening and invokes the + to select methods. + + + + + Encapsulates the information needed to build an attribute. + + + Arrays passed to this class as constructor arguments or property or field values become owned by this class. + They should not be mutated after creation. + + + + + Default implementation of interface producing in-memory proxy assemblies. + + + + + Initializes a new instance of the class with new . + + + + + Initializes a new instance of the class. + + The module scope for generated proxy types. + + + + Provides instructions that a user could follow to make a type or method in + visible to DynamicProxy. + The assembly containing the type or method. + Instructions that a user could follow to make a type or method visible to DynamicProxy. + + + + Creates a message to inform clients that a proxy couldn't be created due to reliance on an + inaccessible type (perhaps itself). + + the inaccessible type that prevents proxy creation + the type that couldn't be proxied + + + + Base class that exposes the common functionalities + to proxy generation. + + + + + It is safe to add mapping (no mapping for the interface exists) + + + + + Generates a parameters constructor that initializes the proxy + state with just to make it non-null. + + This constructor is important to allow proxies to be XML serializable + + + + + + Initializes a new instance of the class. + + Target element. This is either target type or target method for invocation types. + The type of the proxy. This is base type for invocation types. + The interfaces. + The options. + + + + Initializes a new instance of the class. + + Type of the target. + The interfaces. + The options. + + + + Provides appropriate Ldc.X opcode for the type of primitive value to be loaded. + + + + + Provides appropriate Ldind.X opcode for + the type of primitive value to be loaded indirectly. + + + + + Emits a load indirect opcode of the appropriate type for a value or object reference. + Pops a pointer off the evaluation stack, dereferences it and loads + a value of the specified type. + + + + + Emits a load opcode of the appropriate kind for a constant string or + primitive value. + + + + + Emits a load opcode of the appropriate kind for the constant default value of a + type, such as 0 for value types and null for reference types. + + + + + Emits a store indirectopcode of the appropriate type for a value or object reference. + Pops a value of the specified type and a pointer off the evaluation stack, and + stores the value. + + + + + Wraps a reference that is passed + ByRef and provides indirect load/store support. + + + + + Provides appropriate Stind.X opcode + for the type of primitive value to be stored indirectly. + + + + + Represents the scope of uniqueness of names for types and their members + + + + + Gets a unique name based on + + Name suggested by the caller + Unique name based on . + + Implementers should provide name as closely resembling as possible. + Generally if no collision occurs it is suggested to return suggested name, otherwise append sequential suffix. + Implementers must return deterministic names, that is when is called twice + with the same suggested name, the same returned name should be provided each time. Non-deterministic return + values, like appending random suffices will break serialization of proxies. + + + + + Returns new, disposable naming scope. It is responsibility of the caller to make sure that no naming collision + with enclosing scope, or other subscopes is possible. + + New naming scope. + + + + Generates the constructor for the class that extends + + + + + + Initializes a new instance of the class. + + The name. + Type declaring the original event being overridden, or null. + The event delegate type. + The add method. + The remove method. + The attributes. + + + + Returns the methods implemented by a type. Use this instead of Type.GetMethods() to work around a CLR issue + where duplicate MethodInfos are returned by Type.GetMethods() after a token of a generic type's method was loaded. + + + + + Exposes means to change target objects of proxies and invocations. + + + + + Changes the target object () of current . + + The new value of target of invocation. + + Although the method takes the actual instance must be of type assignable to , otherwise an will be thrown. + Also while it's technically legal to pass null reference (Nothing in Visual Basic) as , for obvious reasons Dynamic Proxy will not be able to call the intercepted method on such target. + In this case last interceptor in the pipeline mustn't call or a will be throws. + Also while it's technically legal to pass proxy itself as , this would create stack overflow. + In this case last interceptor in the pipeline mustn't call or a will be throws. + + Thrown when is not assignable to the proxied type. + + + + Permanently changes the target object of the proxy. This does not affect target of the current invocation. + + The new value of target of the proxy. + + Although the method takes the actual instance must be of type assignable to proxy's target type, otherwise an will be thrown. + Also while it's technically legal to pass null reference (Nothing in Visual Basic) as , for obvious reasons Dynamic Proxy will not be able to call the intercepted method on such target. + In this case last interceptor in the pipeline mustn't call or a will be throws. + Also while it's technically legal to pass proxy itself as , this would create stack overflow. + In this case last interceptor in the pipeline mustn't call or a will be throws. + + Thrown when is not assignable to the proxied type. + + + + Provides the main DynamicProxy extension point that allows member interception. + + + + + Provides an extension point that allows proxies to choose specific interceptors on + a per method basis. + + + + + Selects the interceptors that should intercept calls to the given . + + The type of the target object. + The method that will be intercepted. + All interceptors registered with the proxy. + An array of interceptors to invoke upon calling the . + + This method is called only once per proxy instance, upon the first call to the + . Either an empty array or null are valid return values to indicate + that no interceptor should intercept calls to the method. Although it is not advised, it is + legal to return other implementations than these provided in + . + + + + + Encapsulates an invocation of a proxied method. + + + + + Gets the arguments that the has been invoked with. + + The arguments the method was invoked with. + + + + Gets the generic arguments of the method. + + The generic arguments, or null if not a generic method. + + + + Gets the object on which the invocation is performed. This is different from proxy object + because most of the time this will be the proxy target object. + + + The invocation target. + + + + Gets the representing the method being invoked on the proxy. + + The representing the method being invoked. + + + + For interface proxies, this will point to the on the target class. + + The method invocation target. + + + + Gets the proxy object on which the intercepted method is invoked. + + Proxy object on which the intercepted method is invoked. + + + + Gets or sets the return value of the method. + + The return value of the method. + + + + Gets the type of the target object for the intercepted method. + + The type of the target object. + + + + Gets the value of the argument at the specified . + + The index. + The value of the argument at the specified . + + + + Returns the concrete instantiation of the on the proxy, with any generic + parameters bound to real types. + + + The concrete instantiation of the on the proxy, or the if + not a generic method. + + + Can be slower than calling . + + + + + Returns the concrete instantiation of , with any + generic parameters bound to real types. + For interface proxies, this will point to the on the target class. + + The concrete instantiation of , or + if not a generic method. + + In debug builds this can be slower than calling . + + + + + Proceeds the call to the next interceptor in line, and ultimately to the target method. + + + Since interface proxies without a target don't have the target implementation to proceed to, + it is important, that the last interceptor does not call this method, otherwise a + will be thrown. + + + + + Returns an object describing the operation for this + at this specific point during interception. + + + + + Overrides the value of an argument at the given with the + new provided. + + + This method accepts an , however the value provided must be compatible + with the type of the argument defined on the method, otherwise an exception will be thrown. + + The index of the argument to override. + The new value for the argument. + + + + Describes the operation for an + at a specific point during interception. + + + + + Executes the operation described by this instance. + + There is no interceptor, nor a proxy target object, to proceed to. + + + + Attributes should be replicated if they are non-inheritable, + but there are some special cases where the attributes means + something to the CLR, where they should be skipped. + + + + + Determines whether the specified method is internal. + + The method. + + true if the specified method is internal; otherwise, false. + + + + + Determines whether this assembly has internals visible to dynamic proxy. + + The assembly to inspect. + + + + Checks if the method is public or protected. + + + + + Returns list of all unique interfaces implemented given types, including their base interfaces. + + + + + Checks whether the specified is a delegate type (i.e. a direct subclass of ). + + + + + Abstracts the implementation of proxy type construction. + + + + + Gets or sets the that this logs to. + + + + + Gets the associated with this builder. + + The module scope associated with this builder. + + + + Creates a proxy type for given , implementing , using provided. + + The class type to proxy. + Additional interface types to proxy. + The proxy generation options. + The generated proxy type. + + Implementers should return a proxy type for the specified class and interfaces. + Additional interfaces should be only 'mark' interfaces, that is, they should work like interface proxy without target. (See method.) + + Thrown when or any of is a generic type definition. + Thrown when or any of is not public. + Note that to avoid this exception, you can mark offending type internal, and define + pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. + + + + + Creates a proxy type that proxies calls to members on , implementing , using provided. + + The interface type to proxy. + Additional interface types to proxy. + Type implementing on which calls to the interface members should be intercepted. + The proxy generation options. + The generated proxy type. + + Implementers should return a proxy type for the specified interface that 'proceeds' executions to the specified target. + Additional interfaces should be only 'mark' interfaces, that is, they should work like interface proxy without target. (See method.) + + Thrown when or any of is a generic type definition. + Thrown when or any of is not public. + Note that to avoid this exception, you can mark offending type internal, and define + pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. + + + + + Creates a proxy type for given and that delegates all calls to the provided interceptors and allows interceptors to switch the actual target of invocation. + + The interface type to proxy. + Additional interface types to proxy. + The proxy generation options. + The generated proxy type. + + Implementers should return a proxy type for the specified interface(s) that delegate all executions to the specified interceptors + and uses an instance of the interface as their targets (i.e. ), rather than a class. All classes should then implement interface, + to allow interceptors to switch invocation target with instance of another type implementing called interface. + + Thrown when or any of is a generic type definition. + Thrown when or any of is not public. + Note that to avoid this exception, you can mark offending type internal, and define + pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. + + + + + Creates a proxy type for given that delegates all calls to the provided interceptors. + + The interface type to proxy. + Additional interface types to proxy. + The proxy generation options. + The generated proxy type. + + Implementers should return a proxy type for the specified interface and additional interfaces that delegate all executions to the specified interceptors. + + Thrown when or any of is a generic type definition. + Thrown when or any of is not public. + Note that to avoid this exception, you can mark offending type internal, and define + pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. + + + + + Used during the target type inspection process. Implementors have a chance to customize the + proxy generation process. + + + + + Invoked by the generation process to notify that the whole process has completed. + + + + + Invoked by the generation process to notify that a member was not marked as virtual. + + The type which declares the non-virtual member. + The non-virtual member. + + This method gives an opportunity to inspect any non-proxyable member of a type that has + been requested to be proxied, and if appropriate - throw an exception to notify the caller. + + + + + Invoked by the generation process to determine if the specified method should be proxied. + + The type which declares the given method. + The method to inspect. + True if the given method should be proxied; false otherwise. + + + + Provides proxy objects for classes and interfaces. + + + + + Gets or sets the that this log to. + + + + + Gets the proxy builder instance used to generate proxy types. + + The proxy builder. + + + + Creates proxy object intercepting calls to members of interface on object with given . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The interceptors called during the invocation of proxied methods. + Object proxying calls to members of on object. + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is not an interface type. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target + use method. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of on object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is not an interface type. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target + use method. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of type on object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not an interface type. + Thrown when given does not implement interface. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target + use method. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of type on object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not an interface type. + Thrown when given does not implement interface. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target + use method. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + Additional interface types. Calls to their members will be proxied as well. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of and types on object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not an interface type. + Thrown when given does not implement interface. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target + use method. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + Additional interface types. Calls to their members will be proxied as well. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of and types on object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not an interface type. + Thrown when given does not implement interface. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target + use method. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + Interceptors can use interface to provide other target for method invocation than default . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not an interface type. + Thrown when given does not implement interface. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + Interceptors can use interface to provide other target for method invocation than default . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is not an interface type. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + Interceptors can use interface to provide other target for method invocation than default . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is not an interface type. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + Interceptors can use interface to provide other target for method invocation than default . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + Additional interface types. Calls to their members will be proxied as well. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of and types on object or alternative implementation swapped at runtime by an interceptor. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not an interface type. + Thrown when given does not implement interface. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + Interceptors can use interface to provide other target for method invocation than default . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not an interface type. + Thrown when given does not implement interface. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + Interceptors can use interface to provide other target for method invocation than default . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + Additional interface types. Calls to their members will be proxied as well. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of and types on object or alternative implementation swapped at runtime by an interceptor. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not an interface type. + Thrown when given does not implement interface. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . + + Type of the interface which will be proxied. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of types on generated target object. + + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is not an interface type. + + Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. + They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. + As a result of that also at least one implementation must be provided. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . + + Type of the interface which will be proxied. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of types on generated target object. + + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is not an interface type. + + Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. + They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. + As a result of that also at least one implementation must be provided. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . + + Type of the interface which will be proxied. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of types on generated target object. + + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is not an interface type. + + Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. + They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. + As a result of that also at least one implementation must be provided. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . + + Type of the interface which will be proxied. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of type on generated target object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not an interface type. + + Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. + They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . + + Type of the interface which will be proxied. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of type on generated target object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not an interface type. + + Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. + They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . + + Type of the interface which will be proxied. + Additional interface types. Calls to their members will be proxied as well. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of and types on generated target object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not an interface type. + + Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. + They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . + + Type of the interface which will be proxied. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of on generated target object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not an interface type. + + They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . + + Type of the interface which will be proxied. + The proxy generation options used to influence generated proxy type and object. + Additional interface types. Calls to their members will be proxied as well. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of and types on generated target object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not an interface type. + + Since this method uses an empty-shell implementation of to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. + They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The target object, calls to which will be intercepted. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + Additional interface types. Calls to their members will be proxied as well. + The target object, calls to which will be intercepted. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of and types. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + Arguments of constructor of type which should be used to create a new instance of that type. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not a class type. + Thrown when no constructor exists on type with parameters matching . + Thrown when constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The target object, calls to which will be intercepted. + Arguments of constructor of type which should be used to create a new instance of that type. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not a class type. + Thrown when no constructor exists on type with parameters matching . + Thrown when constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The target object, calls to which will be intercepted. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not a class type. + Thrown when no parameterless constructor exists on type . + Thrown when constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + Additional interface types. Calls to their members will be proxied as well. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of and types. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + Additional interface types. Calls to their members will be proxied as well. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + Arguments of constructor of type which should be used to create a new instance of that type. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of and types. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not a class type. + Thrown when no constructor exists on type with parameters matching . + Thrown when constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + Additional interface types. Calls to their members will be proxied as well. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of and types. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The proxy generation options used to influence generated proxy type and object. + Arguments of constructor of type which should be used to create a new instance of that type. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not a class type. + Thrown when no constructor exists on type with parameters matching . + Thrown when constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + Arguments of constructor of type which should be used to create a new instance of that type. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not a class type. + Thrown when no constructor exists on type with parameters matching . + Thrown when constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not a class type. + Thrown when no parameterless constructor exists on type . + Thrown when constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + Additional interface types. Calls to their members will be proxied as well. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of and types. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + Additional interface types. Calls to their members will be proxied as well. + The proxy generation options used to influence generated proxy type and object. + Arguments of constructor of type which should be used to create a new instance of that type. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of and types. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not a class type. + Thrown when no constructor exists on type with parameters matching . + Thrown when constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Exposes access to the target object and interceptors of proxy objects. + This is a DynamicProxy infrastructure interface and should not be implemented yourself. + + + + + Get the proxy target (note that null is a valid target!) + + + + + Set the proxy target. + + New proxy target. + + + + Gets the interceptors for the proxy + + + + + Because we need to cache the types based on the mixed in mixins, we do the following here: + - Get all the mixin interfaces + - Sort them by full name + - Return them by position + + The idea is to have reproducible behavior for the case that mixins are registered in different orders. + This method is here because it is required + + + + + The default file name used when the assembly is saved using . + + + + + The default assembly (simple) name used for the assemblies generated by a instance. + + + + + Initializes a new instance of the class; assemblies created by this instance will not be saved. + + + + + Initializes a new instance of the class, allowing to specify whether the assemblies generated by this instance + should be saved. + + If set to true saves the generated module. + + + + Initializes a new instance of the class, allowing to specify whether the assemblies generated by this instance + should be saved. + + If set to true saves the generated module. + If set to true disables ability to generate signed module. This should be used in cases where ran under constrained permissions. + + + + Initializes a new instance of the class, allowing to specify whether the assemblies generated by this instance + should be saved and what simple names are to be assigned to them. + + If set to true saves the generated module. + If set to true disables ability to generate signed module. This should be used in cases where ran under constrained permissions. + The simple name of the strong-named assembly generated by this . + The path and file name of the manifest module of the strong-named assembly generated by this . + The simple name of the weak-named assembly generated by this . + The path and file name of the manifest module of the weak-named assembly generated by this . + + + + Initializes a new instance of the class, allowing to specify whether the assemblies generated by this instance + should be saved and what simple names are to be assigned to them. + + If set to true saves the generated module. + If set to true disables ability to generate signed module. This should be used in cases where ran under constrained permissions. + Naming scope used to provide unique names to generated types and their members (usually via sub-scopes). + The simple name of the strong-named assembly generated by this . + The path and file name of the manifest module of the strong-named assembly generated by this . + The simple name of the weak-named assembly generated by this . + The path and file name of the manifest module of the weak-named assembly generated by this . + + + + Users of this should use this lock when accessing the cache. + + + + + Returns a type from this scope's type cache, or null if the key cannot be found. + + The key to be looked up in the cache. + The type from this scope's type cache matching the key, or null if the key cannot be found + + + + Registers a type in this scope's type cache. + + The key to be associated with the type. + The type to be stored in the cache. + + + + Gets the key pair used to sign the strong-named assembly generated by this . + + + + + Gets the strong-named module generated by this scope, or if none has yet been generated. + + The strong-named module generated by this scope, or if none has yet been generated. + + + + Gets the file name of the strongly named module generated by this scope. + + The file name of the strongly named module generated by this scope. + + + + Gets the weak-named module generated by this scope, or if none has yet been generated. + + The weak-named module generated by this scope, or if none has yet been generated. + + + + Gets the file name of the weakly named module generated by this scope. + + The file name of the weakly named module generated by this scope. + + + + Gets the specified module generated by this scope, creating a new one if none has yet been generated. + + If set to true, a strong-named module is returned; otherwise, a weak-named module is returned. + A strong-named or weak-named module generated by this scope, as specified by the parameter. + + + + Gets the strong-named module generated by this scope, creating a new one if none has yet been generated. + + A strong-named module generated by this scope. + + + + Gets the weak-named module generated by this scope, creating a new one if none has yet been generated. + + A weak-named module generated by this scope. + + + + allows customization of the behavior of proxies created by + an (or proxy types generated by an ). + + You should not modify an instance of once it has been + used to create a proxy (or proxy type). + + + + + + Initializes a new instance of the class. + + The hook. + + + + Initializes a new instance of the class. + + + + + Gets or sets the that should be used during proxy type + generation. Defaults to an instance of . + + You should not modify this property once this instance + has been used to create a proxy. + + + + + + Gets or sets the that should be used by created proxies + to determine which interceptors to use for an interception. If set to + (which is the default), created proxies will not use any selector. + + You should not modify this property once this instance + has been used to create a proxy. + + + + + + Gets or sets the class type from which generated interface proxy types will be derived. + Defaults to (). + + You should not modify this property once this instance + has been used to create a proxy. + + + + + + Gets the collection of additional custom attributes that will be put on generated proxy types. + This collection is initially empty. + + You should not modify this collection once this instance + has been used to create a proxy. + + + + + + Adds a delegate type to the list of mixins that will be added to generated proxies. + That is, generated proxies will have a `Invoke` method with a signature matching that + of the specified . + + You should not call this method once this instance + has been used to create a proxy. + + + The delegate type whose `Invoke` method should be reproduced in generated proxies. + is . + is not a delegate type. + + + + Adds a delegate to be mixed into generated proxies. The + will act as the target for calls to a `Invoke` method with a signature matching that + of the delegate. + + You should not call this method once this instance + has been used to create a proxy. + + + The delegate that should act as the target for calls to `Invoke` methods with a matching signature. + is . + + + + Mixes the interfaces implemented by the specified object into + created proxies, and uses as the target for these mixed-in interfaces. + + You should not call this method once this instance + has been used to create a proxy. + + + The object that should act as the target for all of its implemented interfaces' methods. + is . + is an instance of . + + + + Provides proxy objects for classes and interfaces. + + + + + Initializes a new instance of the class. + + Proxy types builder. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + If true forces all types to be generated into an unsigned module. + + + + Gets or sets the that this log to. + + + + + Gets the proxy builder instance used to generate proxy types. + + The proxy builder. + + + + Creates proxy object intercepting calls to members of interface on object with given . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The interceptors called during the invocation of proxied methods. + Object proxying calls to members of on object. + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is not an interface type. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target + use method. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of on object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is not an interface type. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target + use method. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of type on object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not an interface type. + Thrown when given does not implement interface. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target + use method. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of type on object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not an interface type. + Thrown when given does not implement interface. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target + use method. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + Additional interface types. Calls to their members will be proxied as well. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of and types on object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not an interface type. + Thrown when given does not implement interface. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target + use method. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + Additional interface types. Calls to their members will be proxied as well. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of and types on object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not an interface type. + Thrown when given does not implement interface. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target + use method. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + Interceptors can use interface to provide other target for method invocation than default . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not an interface type. + Thrown when given does not implement interface. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + Interceptors can use interface to provide other target for method invocation than default . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is not an interface type. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + Interceptors can use interface to provide other target for method invocation than default . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is not an interface type. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + Interceptors can use interface to provide other target for method invocation than default . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + Additional interface types. Calls to their members will be proxied as well. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of and types on object or alternative implementation swapped at runtime by an interceptor. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not an interface type. + Thrown when given does not implement interface. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + Interceptors can use interface to provide other target for method invocation than default . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not an interface type. + Thrown when given does not implement interface. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on object with given . + Interceptors can use interface to provide other target for method invocation than default . + + Type of the interface implemented by which will be proxied. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + Additional interface types. Calls to their members will be proxied as well. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of and types on object or alternative implementation swapped at runtime by an interceptor. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not an interface type. + Thrown when given does not implement interface. + Thrown when no default constructor exists on actual type of object. + Thrown when default constructor of actual type of throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . + + Type of the interface which will be proxied. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of types on generated target object. + + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is not an interface type. + + Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. + They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. + As a result of that also at least one implementation must be provided. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . + + Type of the interface which will be proxied. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of types on generated target object. + + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is not an interface type. + + Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. + They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. + As a result of that also at least one implementation must be provided. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . + + Type of the interface which will be proxied. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of types on generated target object. + + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is not an interface type. + + Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. + They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. + As a result of that also at least one implementation must be provided. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . + + Type of the interface which will be proxied. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of type on generated target object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not an interface type. + + Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. + They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . + + Type of the interface which will be proxied. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of type on generated target object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not an interface type. + + Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. + They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . + + Type of the interface which will be proxied. + Additional interface types. Calls to their members will be proxied as well. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of and types on generated target object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not an interface type. + + Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. + They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . + + Type of the interface which will be proxied. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of on generated target object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not an interface type. + + They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . + + Type of the interface which will be proxied. + The proxy generation options used to influence generated proxy type and object. + Additional interface types. Calls to their members will be proxied as well. + The interceptors called during the invocation of proxied methods. + + Object proxying calls to members of and types on generated target object. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given array is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not an interface type. + + Since this method uses an empty-shell implementation of to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. + They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The target object, calls to which will be intercepted. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + Additional interface types. Calls to their members will be proxied as well. + The target object, calls to which will be intercepted. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of and types. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + Arguments of constructor of type which should be used to create a new instance of that type. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not a class type. + Thrown when no constructor exists on type with parameters matching . + Thrown when constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The target object, calls to which will be intercepted. + Arguments of constructor of type which should be used to create a new instance of that type. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not a class type. + Thrown when no constructor exists on type with parameters matching . + Thrown when constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The target object, calls to which will be intercepted. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not a class type. + Thrown when no parameterless constructor exists on type . + Thrown when constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + Additional interface types. Calls to their members will be proxied as well. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of and types. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + Additional interface types. Calls to their members will be proxied as well. + The target object, calls to which will be intercepted. + The proxy generation options used to influence generated proxy type and object. + Arguments of constructor of type which should be used to create a new instance of that type. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of and types. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not a class type. + Thrown when no constructor exists on type with parameters matching . + Thrown when constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + Additional interface types. Calls to their members will be proxied as well. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of and types. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The proxy generation options used to influence generated proxy type and object. + Arguments of constructor of type which should be used to create a new instance of that type. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not a class type. + Thrown when no constructor exists on type with parameters matching . + Thrown when constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + Arguments of constructor of type which should be used to create a new instance of that type. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not a class type. + Thrown when no constructor exists on type with parameters matching . + Thrown when constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not a class type. + Thrown when no parameterless constructor exists on type . + Thrown when constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of type. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given is a generic type definition. + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + Additional interface types. Calls to their members will be proxied as well. + The proxy generation options used to influence generated proxy type and object. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of and types. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not a class type. + Thrown when no default constructor exists on type . + Thrown when default constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . + + Type of class which will be proxied. + Additional interface types. Calls to their members will be proxied as well. + The proxy generation options used to influence generated proxy type and object. + Arguments of constructor of type which should be used to create a new instance of that type. + The interceptors called during the invocation of proxied methods. + + New object of type proxying calls to virtual members of and types. + + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given object is a null reference (Nothing in Visual Basic). + Thrown when given or any of is a generic type definition. + Thrown when given is not a class type. + Thrown when no constructor exists on type with parameters matching . + Thrown when constructor of type throws an exception. + + This method uses implementation to generate a proxy type. + As such caller should expect any type of exception that given implementation may throw. + + + + + Creates the proxy type for class proxy with given class, implementing given and using provided . + + The base class for proxy type. + The interfaces that proxy type should implement. + The options for proxy generation process. + of proxy. + + + + Creates the proxy type for interface proxy with target for given interface, implementing given on given and using provided . + + The interface proxy type should implement. + The additional interfaces proxy type should implement. + Actual type that the proxy type will encompass. + The options for proxy generation process. + of proxy. + + + + Creates the proxy type for interface proxy with target interface for given interface, implementing given on given and using provided . + + The interface proxy type should implement. + The additional interfaces proxy type should implement. + The options for proxy generation process. + of proxy. + + + + Creates the proxy type for interface proxy without target for given interface, implementing given and using provided . + + The interface proxy type should implement. + The additional interfaces proxy type should implement. + The options for proxy generation process. + of proxy. + + + + Creates a delegate of the specified type to a suitable `Invoke` method + on the given instance. + + The proxy instance to which the delegate should be bound. + The type of delegate that should be created. + + The does not have an `Invoke` method that is compatible with + the requested type. + + + + + Creates a delegate of the specified type to a suitable `Invoke` method + on the given instance. + + The proxy instance to which the delegate should be bound. + The type of delegate that should be created. + + The does not have an `Invoke` method that is compatible with + the requested . + + + + + Checks whether the specified method is accessible to DynamicProxy. + The method to check. + true if the method is accessible to DynamicProxy, false otherwise. + + + + Checks whether the specified method is accessible to DynamicProxy. + The method to check. + If the method is accessible to DynamicProxy, null; otherwise, an explanation of why the method is not accessible. + true if the method is accessible to DynamicProxy, false otherwise. + + + + Checks whether the specified type is accessible to DynamicProxy. + The type to check. + true if the type is accessible to DynamicProxy, false otherwise. + + + + Determines whether this assembly has internals visible to DynamicProxy. + + The assembly to inspect. + + + + Checks whether the specified method is accessible to DynamicProxy. + Unlike with , the declaring type's accessibility is ignored. + + The method to check. + true if the method is accessible to DynamicProxy, false otherwise. + + + + Determines whether the specified method is internal. + + The method. + + true if the specified method is internal; otherwise, false. + + + + + Holds objects representing methods of class. + + + + diff --git a/src/packages/Castle.Core.4.4.1/readme.txt b/src/packages/Castle.Core.4.4.1/readme.txt new file mode 100644 index 0000000..59e0292 --- /dev/null +++ b/src/packages/Castle.Core.4.4.1/readme.txt @@ -0,0 +1,10 @@ +Thanks for downloading this Castle package. +You can find full list of changes in CHANGELOG.md + +Documentation (work in progress, contributions appreciated): +DictionaryAdapter: https://github.com/castleproject/Core/blob/master/docs/dictionaryadapter.md +DynamicProxy: https://github.com/castleproject/Core/blob/master/docs/dynamicproxy.md +Discussion group: http://groups.google.com/group/castle-project-users +StackOverflow tags: castle-dynamicproxy, castle-dictionaryadapter, castle + +Issue tracker: https://github.com/castleproject/Core/issues \ No newline at end of file diff --git a/src/packages/CommonServiceLocator.1.3/CommonServiceLocator.1.3.nupkg b/src/packages/CommonServiceLocator.1.3/CommonServiceLocator.1.3.nupkg deleted file mode 100644 index 8cdb1fd1e53aca9b4ae7b47b41726d7cf19048c5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21056 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 diff --git a/src/packages/CommonServiceLocator.1.3/lib/portable-net4+sl5+netcore45+wpa81+wp8/Microsoft.Practices.ServiceLocation.XML b/src/packages/CommonServiceLocator.1.3/lib/portable-net4+sl5+netcore45+wpa81+wp8/Microsoft.Practices.ServiceLocation.XML deleted file mode 100644 index dbfa9ae..0000000 --- a/src/packages/CommonServiceLocator.1.3/lib/portable-net4+sl5+netcore45+wpa81+wp8/Microsoft.Practices.ServiceLocation.XML +++ /dev/null @@ -1,268 +0,0 @@ - - - - Microsoft.Practices.ServiceLocation - - - - - The standard exception thrown when a ServiceLocator has an error in resolving an object. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with a specified error message. - - - The message that describes the error. - - - - - Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. - - - The error message that explains the reason for the exception. - - - The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. - - - - - The generic Service Locator interface. This interface is used - to retrieve services (instances identified by type and optional - name) from a container. - - - - - Get an instance of the given . - - Type of object requested. - if there is an error resolving - the service instance. - The requested service instance. - - - - Get an instance of the given named . - - Type of object requested. - Name the object was registered with. - if there is an error resolving - the service instance. - The requested service instance. - - - - Get all instances of the given currently - registered in the container. - - Type of object requested. - if there is are errors resolving - the service instance. - A sequence of instances of the requested . - - - - Get an instance of the given . - - Type of object requested. - if there is are errors resolving - the service instance. - The requested service instance. - - - - Get an instance of the given named . - - Type of object requested. - Name the object was registered with. - if there is are errors resolving - the service instance. - The requested service instance. - - - - Get all instances of the given currently - registered in the container. - - Type of object requested. - if there is are errors resolving - the service instance. - A sequence of instances of the requested . - - - - This class provides the ambient container for this application. If your - framework defines such an ambient container, use ServiceLocator.Current - to get it. - - - - - Set the delegate that is used to retrieve the current container. - - Delegate that, when called, will return - the current ambient container. - - - - The current ambient container. - - - - - This class is a helper that provides a default implementation - for most of the methods of . - - - - - Implementation of . - - The requested service. - if there is an error in resolving the service instance. - The requested object. - - - - Get an instance of the given . - - Type of object requested. - if there is an error resolving - the service instance. - The requested service instance. - - - - Get an instance of the given named . - - Type of object requested. - Name the object was registered with. - if there is an error resolving - the service instance. - The requested service instance. - - - - Get all instances of the given currently - registered in the container. - - Type of object requested. - if there is are errors resolving - the service instance. - A sequence of instances of the requested . - - - - Get an instance of the given . - - Type of object requested. - if there is are errors resolving - the service instance. - The requested service instance. - - - - Get an instance of the given named . - - Type of object requested. - Name the object was registered with. - if there is are errors resolving - the service instance. - The requested service instance. - - - - Get all instances of the given currently - registered in the container. - - Type of object requested. - if there is are errors resolving - the service instance. - A sequence of instances of the requested . - - - - When implemented by inheriting classes, this method will do the actual work of resolving - the requested service instance. - - Type of instance requested. - Name of registered service you want. May be null. - The requested service instance. - - - - When implemented by inheriting classes, this method will do the actual work of - resolving all the requested service instances. - - Type of service requested. - Sequence of service instance objects. - - - - Format the exception message for use in an - that occurs while resolving a single service. - - The actual exception thrown by the implementation. - Type of service requested. - Name requested. - The formatted exception message string. - - - - Format the exception message for use in an - that occurs while resolving multiple service instances. - - The actual exception thrown by the implementation. - Type of service requested. - The formatted exception message string. - - - - This delegate type is used to provide a method that will - return the current container. Used with the - static accessor class. - - An . - - - - A strongly-typed resource class, for looking up localized strings, etc. - - - - - Returns the cached ResourceManager instance used by this class. - - - - - Overrides the current thread's CurrentUICulture property for all - resource lookups using this strongly typed resource class. - - - - - Looks up a localized string similar to Activation error occurred while trying to get all instances of type {0}. - - - - - Looks up a localized string similar to Activation error occurred while trying to get instance of type {0}, key "{1}". - - - - - Looks up a localized string similar to ServiceLocationProvider must be set.. - - - - diff --git a/src/packages/CommonServiceLocator.1.3/lib/portable-net4+sl5+netcore45+wpa81+wp8/Microsoft.Practices.ServiceLocation.dll b/src/packages/CommonServiceLocator.1.3/lib/portable-net4+sl5+netcore45+wpa81+wp8/Microsoft.Practices.ServiceLocation.dll deleted file mode 100644 index 95bbd51e3a3482858c15f779c1e2724612cbe2df..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18112 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 WkFIW^%O7#~x4&GSU#I^q68bMcgSfH) diff --git a/src/packages/CommonServiceLocator.1.3/lib/portable-net4+sl5+netcore45+wpa81+wp8/Microsoft.Practices.ServiceLocation.pdb b/src/packages/CommonServiceLocator.1.3/lib/portable-net4+sl5+netcore45+wpa81+wp8/Microsoft.Practices.ServiceLocation.pdb deleted file mode 100644 index d5f24e4c10e778b5897c3ec5c20e48aab5825feb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24064 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 literal 0 HcmV?d00001 diff --git a/src/packages/CommonServiceLocator.2.0.6/CommonServiceLocator.2.0.6.nupkg b/src/packages/CommonServiceLocator.2.0.6/CommonServiceLocator.2.0.6.nupkg new file mode 100644 index 0000000000000000000000000000000000000000..91dfa7692fb49297b292c95a4aa762aca4d8fbed GIT binary patch literal 68423 zcmaIdb8u(Rx-j}+VomJH#7-uj*tTukwr$&X@{MiVwrwYGetX}2&w1;fd#YBi?$v*G zRX?kq&(kd<4*CNH2nYxg2(g4yuC)RS0Sg!i2m}NO2#hTTnYO8vpgPDuII0xG*<_33f4P<**MeXst% zGAe47m9B!`ayZ&l#xt+uIR5-nBlQ@^ji=eSc^ZzET_vq`D)J!S6L-}~Idt?r1fW)& zQW?^KXy`u0Rcp44yU$6VpY3RM6|YToRpzRXmW1WOVUA4bp7MZH7&RN`lVwY#^dfbt zG_w`!MMw9`zk%t>lbt{^|JM>KU7~$5g8~6fK>`6`e=i}wwWX!CmAs*ylc~O;gtfk| zgS8!vm7~3lp?;;3tkpX6&kx!dcG&xi7)tjgCy+{zB@-VIr=R^dz|HgLG{|8JqN9y& z`B}Mmz;?M>x%{E4iDzi4*dMA?Bd*d6R}(U?XH(V#ZNX}NxNOxGsz$8ohCV{8VyP4K z=6$aZu8&n75ArjRFNzjF$=06@8{u+Y$6AurD*}xh;wIhN;3Zbm5Ni9oqm5snvZQy>a-!XADA}cm^^rZZOjG|)(HYpH1`ckn>@L>y%-Cb7v=oZ_ z*;0~IRj*9~lLot9N1my6c?S^!f0dW*fODp%eYkfsTHR#8m8S?Rzt}26^TRyxPm&Bi zb9e4P%y8sP%@|Z<^09FACSmxTjCzFt=&;%5;$92v?%YcPTHvN$MSxa*ewEM^ zG#9ne5(rk{5CU^fF-T%CfB}tX3dzd9r*D<*SlwdMNcg@!gxgry)79R|>qmI=mav9e zaLf>~qXnK#9eZ0YTA7~N%UmVhYj&IK`G9C1xvOdVWa$L+G*F@U^#{W949=hCX)LY* z8-(mXYW|8nPZptEA(6D!`Vf!To02Z;u{Is)pV6K$0=W<(7JlCBnNqIfG?lvRWG-Lp zncR^NVRe_k9pGpfPPbvzii6#cU-sgFx1N~c%mpWMo#JLM2Ui+Ji@Kci2Hnp(Y3j+$ z01tVlyOJ&8*|!ckWrmHkY`hq{b;9V>>eGsEza7B7-h2B-2Mt?CWps1Sj2L*#%seZ7aVCB^u+FVWJ-Udm z)`Tr{B)An2vzZQ0Jexb%aFMG(QYGle`vogM)Jl@a6z2c=F}#_r;wC+PFT+zx*sFbu zQ?=@R54kwL&TOPIQO3dIGNS2-s z?ePK>y>Jd@#$B9hW`N2w3|~aoJgY=M<$2&RS)Z)l%jEQ@58ez@f~oubE^1U%q1143Y*<>U7M6G`dY*M=2!WhGy(DpE-2ijhEne@S_u0$o(sucY>*~+={X1i6vwD!Daf*6bMSS zMT%2b#dI21NDp8ZhVgxo!}PE%!8aD}oqb7D_7H2Wc=pAq?p_|Za4M)`7cQO*tzOMe zezkT8OH%XRB$)9U!RC|?EU5_9yI2#i>_9;(E)BIwhT5r~Ee&0;Ip|VM5v-?E83^>- zMo%r3OpF2Z#O5If?`GW9^*-)ZYn=FXrtcPx8M0gY+4rDclUUq7z;=_SN^f9~46XV7 zl#L}H$2klhz*GKEWzO9LNXP;U0e({XqX962(ZH~pEF@?i{J4~r5l0iD=2KPUl{=+6 zJz;E$k9y8MkEil5#U&r>ZF&N!cPi`n;PRQ z7dChewt9CnYAaJD`5hxfM}({9@t!TO{vmUmy1Cg}4<$Q}!)}I+6`YBqB9%JIx2=xT zmhDB*4_#J`GhaXHLeE4nsuUIaR+s;R_U@;d{yBB<} z`;-=sbEvm4ne(7wT)Q#rH!_j<@@YrX=^{j7Aj{I~*QsilJ{$OiMvMfm4~{m$ig^a)~3(5iV(sP_|@YQH&}d z`CM(ZFo^b?ya-I&w_B!~I_{84_x(GrYk9Tl9;#jZB7-q)&lqw@njsCc+q4-5FP;q? zbd{{1u!CPH8+XRp%u%hvdTZR#D09T*yp>RQ2lc};f}W<>3GQpB{D32Pa>-K>XP&Lh5a!%;cUQ7mYj?fgNV8?Q1n zMJ^g|SdN{V^cjS;O|e2Cd`WVt;XRBq?Q{I8S4lbiqpx@3Bc;{q5jGIF@J6{F5f7@s z_L7ekeiC3GLTI=;hcPn2Rfc?&k%G!zL=|0cN`uoj)0x|>5KQw-5?nvU_=9BisO(4U zqyY8@Cr?w_aYFQrvm~S71Td#Af#wF>eS7Gs!s2b1?=cCv`-XsIRk}jrr-|6-h$a** zdoiX-VQ@hvUujy;X)5V#~FBJ zMatmqHBFM%zBk7OewK8T!q=G7!Xb(KhV8zx=q!d9>%1?z1?lP(vI}nb`>0T)%_HB> zA%U;cH`W;IR^O_JPH@Ha$!4%38W}JAJfFhMChFzlC z+!AV|Y?&2KFtmBftkd-KDlMY)h2DIu1nc@Quqvvh${Y2V`_Oooa&)~KJDH>U_%X%XoXTkan#ruR{kj0EZDk0I; zv!%;>2NsXygH;=Qzq6@Hn_5Q=K+YL6SICKmb8Pk>G&|Yq>OYqNdz2H1gmkpPJbKqn633ax%hLkn3Cs31B-wwIw)i+7oXKT=$ImQ=guf(62=SOq5al%`eihkhgRVV z`~t=c_kL#^G~>z}!=d`icABz%%BOSR{nvf^X0|WQ!w2-epfy6p0j_t~`Tdwqi?XWF z)tj;37rHUAWL%b1T<0HZ#gr)J#*_}25@Skp1A)b1*KC>2ZEb3RWQ)WLsH4v(c84fb zA?iBqnf`;F4xE&ZBu!liww<1ownSd_T2@fC1H-b_V60b_X#8>ty@0xvzLm z1n;VuBXy4XUbqAi7J@VHj~x~k%kA&X-&ubv1_qbcMPWzk6UCdYXcNy%I*T$bssN`J z`r&8Y&y=I60K*n&Fb#MKJ! z<`DvK&RgyO3(xbHn}-AE{qwQV@y*P{^j7*Echj6cFZTD4 znne@=Ki2wg*d~-bU$7%U8wevnoFPu2_tYX%18V}6DiG?TifCj<@t~rX>g-d1R{m@Yl{O#L<9nbS|u7&?|EoYPE4B^ZQS zEfSNerAgFhTRa$X=j_JzGBd-QrivRk4d_=B=ervj3*F_@xIhjV*rw|a#M#)L&t|CV zOD87}1=!Lg9#^2zM35uZs4y2AT*{NKM*0gA17S>6o06^oVXFWQt#IdiLpVY->RiLh zR2OSGb*WMfs(eyp&G}7;RD}ZkcnPyw4}$nfK_ydDN$LI&#Rj3d8LQ*tnFf<~VtB&1 z%*;>+g6t3ym{h9e>GCr*HtYS^iO$1-q=X0%hIPA1x|W34n${!@aklCc_B^^swpAui zWe`{*>P9+Hot6|BC1HC`xYTB$2~1AZiKTqnwmerj&=~+}kztE*r5a7}By2LzCz)?T zDs$l;^@(O`CRXKqE3#>P6Wp%`MiRRf38`nejuQ`p!rC@v;klcFlz|e}se*BwOEq=I z!k%atcJ{e(%nl~c$z3OORN)wVOETkUUYErh`ZP+vr1c_`x~1+1R#CP)2^jxMe-_4y zk$#umhJrfLMcvS4HZ(ewNHzEP7Xhj?e@D?u>`6h|LuV&F*luP6xfKDqxkAF>kfozL zx4d$6!ALb_YiE{nio=B?JGC;(m8IC>wR-kEHn!=CKDsuB*U4BmMo&kAUrVzC??s%h z)R}$DkxCn|_ROZQCot->>;`B#f70GXN`oZag!9^z(OYH)BGqV$NbCAw;DkjY;ne6` zg`3xpN6#Fn22?&BB8}ee1)QTROLQgK%Oy$jOx3O0(9RZ+UpnDA(yOB?&}B<)wWD*cn+@SD%OKMh9+paT z!PdAAX%_)VrU31LI^f%WLj5k}#dX4fDfRK1%Ty*g%`_S+5<{A5{Zj+jbpVVJbTBzs z-z|O1%-@iP=n6^Fw?zYbcK7;uJvZFmHY8g~yjsNNx;w&pHvK^o?O_q~HkkK6$<^Vv zNQ2;7CX@4ytFcYlK6v)O1ufXG=+9(SqGsQXf- zQ$n1I8CWg)SnIOy=^N|<<(*t|G4Ug~-0TPHmr8nyeFp2b!qKC&5$kdhDQ8xnCU%A~ zN$WX3>7K04AtAW{J4LAs%(?(QemulMSZ*-;`GiruFJvb}f{8Ubd-~PPz8*kHJ;PSK zPrsqcA}iH;d)9~{oHIIng_mF7_la67d^kHPb0R(r{fZec`FiW?SxKeePaVjkNd_qmQ$nx!EuUseVl}sFK z1`OX!xNMF_Oa^uxYyD0SrI5oWXcho(h)Et9t^xVfqcxh#A)q-7<-6oVAfUXEPqMUT zSdJH`R^fkEcZqRo9|azXzbeTYBN0YYL9m?2Q)$JEIc+ubD^A0TDU6Y17IPI}PDq+h zz<3;N1F93@#DM@}v**KGIzKN)G;6SV{ban))6-V}wr$GG`y!Wk?TP5B?M%}yK*Tl( zW#9~i9DAr@v;YOH%vj@PTdU9`ok0MVO7-BE@-MK*KoKztNa6#~qLd}F2e)y0-=JYP z<&dI;Cbo^=)AFOPl_s*()(-*mw~>X0)EQQEbCx2RzXr%G4kYAyFjSE74aHo0C0NqF z1HNSH2{XgOsM>T9dWT&3C`Xj7VKVt9fh{JAX4UT!Ww9{`>uY>!ym!5o?Mka?wLsV| z;e*LP=3DCl{PeJL?zbef)TLhQ4t# z)N-{*njk?@uu`k)zI+$XU&W`?)n#&&!^G5X>$?*a47Sab!)LM)Y@5NfTdk(EdB|@N z2(z#RpUiiLpUiz*YCbH0rKzK-KkwH4;=fk8E?dKCylur5bItW}*CNU5TO19(q4Q`@D7k391~WECRsfh|%bc3LjQ{rHe8^Y~Hl<)aIV+6Ydg(}7uZiWht>6*IfpaD`M!-$J;BTM{b3V&20 zfIkIJU3#;GYUO6Q+A+bLav2Zf&mZ>e*m5u#7ynT$5n_yOSak9NK{$u-Cmk3RK$ z*SCV-u$%rFmR9?VvY)psSdAVoHw6)pS3Dc?0!E&|c&TGzq7Of0L1sM{dd9X+idDa2 z&>Mot{~{5hZ;31Hi9}D=|IAv77H*V(%L|O?Vd4yuD{ReGU_QdN7#_wc%L(7k-?tMj zhSpC8k`}5kpiSxDJe6`Y7xXFs^cD^jEt?Ruz-C66y zL~m*=T4R>sK5#Ube273;dwPiLe$YOvcFBl@%lT@@bR#;0gQn|PYD)82Qci8@X8&xb zdeYM6EKEDg75=X4^NxF#L^cVKc*9`yw?AuT`STqNf`--W{WHnaS!of+sbXc64U4ND zwQuUi!^&KuT{o(VwOQTX&4Lo-v+|H*J#Fze{IoIaky3(rQ}Ckv3_YVGrJ_i~Nd9=T zJ^U-9#On&Z)Hd1OyX67GQgBYI&g;=T?I@L*z4t=YT7pEK4n1;eI*laTYyYJNO-#t? z4R5MM7?D&G=Rw|k?@8IQc;qP9yV`BXDbL*E%X=4ViC|hX#EzXe-2}85O-uG= z@T)avD5Hy8@!c__Eyincey>3Gi`oyX@IVss&Ec31WDqUDhyCaK4FkWKV-6z)u-+`1 zAJ&xrMP+KHJUS^uv2u;n|xGVp7H`yhsr-3Z9@dclz^LlK#t_SXEgoeNyu9 z8O@Q}=fKegU3`>T!p|dodAQCLvqevu+j0%@o>_Dd%{4)Z?+9zyA)I+JHt?(2c;ni0 zbDo`pR^Vyp!~A3Pu70z9){^Xa5^5H@UOj%xNQ=l*+k7?V&zsc?&4=LPB7K-Oxe{|y%ZDzb*fFuCI*aKQ9L$Y@V3?@~mf}Vy~YmN5*()XW7{s3&zc6 zo3-w^)Wt@OV|APj>dKj3;!IQxmionM_4RIc>&>?S6rcrA6 zX(4952`_*HO5pi8ePjdmn~y^z1a`33O`6_jC#|u(cW#Ab3e`=HWE1^A+k3UL;4Sec zR7){uuSj&{s15tAREFJ4f!77aS2r>&(g=f!XK$S2{gVZIY?#m<{?T?h4AM!UFMb92 z=}siqj>bCXmyj(BeH$6Av(-zYi5N^vhz*h?SPT+Y*ErmOVoHWY@Q4zRPaNXeKmORp z6tO1!)J@=6+ZrCafrKHqmzcjVI*=wx-~ylDQ%8Rj-c2O{M6(4|?Bh7IT=}WfW>6CQ zf@M&t*5Y}ny*tYIM1fL4h<5Z?ho1Nn1pdsRqADnYIS9!YU>F^*#uuLcP--X+VhVRV zIAHXB=&Wi7nv4LySHFC-#oN2|POxPGH9snwJ*0@@$*MJVz*9pAcW+crd<4EjSZrRA;| z;vzBM(t~PRDrks2WMDL|GxrjSxWj334XL^@+b!eGGnUQcHw)B{*w;u@-%K-ZrMKp$ zm$?nW_TkCLnX{G17i7eI)amHNLAJAc;<*G*96ro(V$@NTExQ-LQ2BKdOhIm(H_U4> zOBE{6&epr$1wUnimp3aN(>n5&0@IOQd(lUo+fKhGM`a{WyoQkrsVTY&tz=>aDoo^4 zM|Jj-*KL(wqXLFOlZa4u{9bktjt+jp>&?^1#DQw8vEv< ze;p~L1$XZeVzFehWHFe>9`Ov`u%NDDYoun4M<2!c?D8#+n4yLSF}0{M7Pqg%=I8_8 zJhlH=#NLzFMo)8%9YI^AUsFg06F-&D_FffOrx#AZi+)Lqw$P1o9u|y)*tiB@@Ba;a zPv>dNBUq$ad-8e3|8pp~GxtNRU!Ve1g;f)77nahy0*>PgLb%fNW~#d!$8Z%*Cmzq|z! z=5UeNNxT9!$4)wd^tCCDWuV&RA_|>BBRoqBTI$2wt;25SHF~Xp7n$0~T#avP3iE6A zYv=-F8}K{Sq>AQ^>nJi2k|J1 zl`zQbPr>Q_zfE{?TAn|5nB{*wh&;pWo04ac=-(9B=q2op?1b*kTptf({S8y>XOII` zk-7sS-6ql-ZRsy>6YNb0NGE)0V*!C z9Y=@sdCLTL*T&^w&RH^NyL=6>NV#&=$7M2S$MpMR*~=H9T}4LeXSC*IpSCUHKmc0cHt1U`UqEzN!0|K^mM;r)U`CH=Cz$KK7abXl}@jcOcY*nd+5)pf;oN7;i4=lb*;Q?NHH3<+m?z6KhcaVBMH$mE;U?Z3L}w zT?lhK9p@Hsre(0I#=$U2&2cUTe>CKdPL;`@z0f1$)|2)EqkpjP>Wr8Esc z5F}?Al-{JdvN>z*DkOD9vH#$hmdI2X9Z_j}uEDb-Ydvkp*3x-3UZjI_b^$B=H*qYz zoJpA$oOWJt*7|gQ#@bCt$i9PlW8R%kqTj-nEfO+kWw+I>YK_X_I4fy^qjG>hZeasK zsyuTHyXbP5)yKpsWTD9U>FLpqlpm0nOVbAvFQ3(g!q(CRPd#U>f^U_4s1svubFkpN zHd(d9c|6HRn7&XM+fm_byyh@8z!70kRPl?|RLATPU94eMDSBq@N~9(BoOxs7uh6GK z5gu}BtsqMSXWc=R!sfn?t#SJd+XOmJeiLoKnda7rktBaT-@Fv(+!cma?$`_!OZCkt z-h>)WwQ3-~P)!-p216?xG8!NA2NMz`vH$SzLK5!!pbfu7(}BlHt6t;>7-~_ z20yF2fW1%6>&p{sD@BMa0tBe?3YqehE9)`qR0FESD4xo4Cq+!LU!cTM$!Kk{wji5f zEQ5wk+X>md+QRovafuwAK6NzcZ>=GCTm{{!)j^E|e!CgP!b^fD*=tXEXO)>KMY)%)okAkpx?Ty~us?p+Vh8*Ks>})i~=ea5_O+kW7 z6Di*=fouHBUcWNOwygY-KFNX7gA(#K#fk2+AcIL;LsH(bvb0ZgL|jY98zI?_7|DI) zkUT(&aOYkZwZfDV9Hsf+znqf82G>G%g=#`$=JbJd+k;l1n4Vq5Y^|y~Z8GO`8C2K5 zaF56n;=C*-rI?A6Nne_TdFeubGC`J|{h^P#Smo5Ri^qX6570iykl#iUj~DVByJL)A z%OlKY_Caf8JG|wZ8f&9Or#=ld{@56a$W)(?HW$f7NfE>}B@c;E1puUE&Pp&Bj#EGU zXj>g;45dBx@>^)X%ofKKxxem&uQHzwEA|k+95w~7wjA%L4U@m_MwiwFH@w|U7eAA| znOfRCPrL_cJzqNZ7C*K=Egdd;!dbR(y2ziVW5a7+-CAO2swo4jIc8_%jC=QN* zWmJTt8Fs4__m5QP_k+rzg{rVb{;CCZ?)*r(qAFPZ6Qwm%h6(rzkT0k5GkVRWgF812 zOs?~;#IHNSVbM(HUHR;<#C%f}HuO&?mm4sFrGU*spMlj98@eQyB9?wpWVDaAY@FVbOEf2M4pr( zA>-vh=AJs0!C~~rxOA70nw#7xW8!BL0jVJDvC<9Eab?WNj&yLlaMgLOG>JY5mE+hZ zZYuSm^r)R?>Z&S|(^!8LF+=Wstl@{n-#{nI(};Z==;2QKY7=7Y{b7Dq<|pm(I!p4@ zAC{D-xs3J>+#dmRLVj3}bkW@MtMJ9mUS(z?2(YQEw~*uAQY0b@8#30Irr|>tBJLJr z(Suf@4?TKa5*{mQm}21{zupS6SA4bzhbofg^tguGOr1=%ZfCzhl+s9!Ld20&*o{O7 zH0-s{-CZOGTpGb=oD4i(#clWN0-xU`Y%2jHoeXmH-m_SgRq%sd$MF41qL<}$F%yZrBHq-zid>xkBtR2pjy*ntt2%H5S`7u}t$os{bgb$>$1WFU!%fe;bHM#u1o zfP;OvM12pKV@#XHzWm2NRW5~;t4ODC!aXBUMBUs z?3?!Ds^$KLCNBZUvbSSwZ1$Lg@^nWx(66#5p)Jv2)TD<_513VH&gWXfW2KlAbr#YW zi;Bfta&Y37Ym23a=M`BQe`_tgboAZXXV4IH(`dOq)p{<^7^SJvB?TII#5`8Zn1IY? zYDelSpS|ougEK)m?FfIZy2FLveu-#S7`WOq%{1zCSAQp&`&xNW8vIpf4E+Tv^Lb}= z2|!yYz42LI-TWII3>eClS5IWf?(tD)24vT8T%*2|T#E4fj-tXW7ZTfNo861=barRL zZK@rE)hz!p6G94HViu1qyj6z86){jDg+`k!B-50E$ofPPKyH#cD4Y#VXY)Fufa?=g z47`@F(R>h}$Bu1Vo%o zZN?r1z8FEu@vU81#SgY}aydu_hYM3VNBZ*B1>FfhEmcfOqmHoz^zPIJAFnYF?n_+{ z-IQNYGfR^%%bB2R9d;rIzIfRWiLQU-xi?O_hp)=2qgL&CyUM+S?D>$)^qd!_96kfr z;OQV2@XM$5LR$Ba~_ zrOjVL65|IIsisM=l`V-&AWzt~wbQV|Z%GE}uro9PE`tgkj1zFIvv*rDPo|uE|0S*! zf<9=`C$+9M{EJF&F(Y2iV1~djeQF2*UQruJq%U>#F6bkv|wR3vpNfJEz$jZjl~-gFzmKw6pB(1(LuUFCj8^FWRhuvBNYVan z(Sf*f{CUs5Cz$nF)$dnCv-q{lEPa&@8u1bpdXo7wC#Ttmo*RWGTjMgg2TPvI0iUzQ zbSLMUrW&h(%hR?|@fX-7E%6bx8xTRr((!cL8!c zUR$WJ>O`Jy=b(V8n-;${lJ>B<{J1w))19pXYjp8++_+D1(H8uFi3!2Cn5ZB8BPJ4W z{}K~tzgMn*iHX6##RO9mY{VQ)A6k;=TTJl&o0#-&x{-g239Bt~33X_`56j%Qm~iVs zOlyfEOgklVHaiW%VFcz(q1Kvq0|*)`pXL7kau0$JF@bF3>knJ5uQeAS=x>uv2&l0R zs4>=W3YA+Wb#HDlFx+kHhJVB0#O%OZUIN)1fA-Id_!QF{8bChoh`5CM^H`V>g;Gn| z|KnBCrLE|fh<)z8AseYls<4R_B*#lWF(%vcq>%C5^SD8;pIf)3g(~= zoHGE)LXnD~=V0Zq<-q!ds|qSy8|NZq1~g^@yls#nAfYPR-l|R{A?i{akew_OKOJ)o zg9I<;g1Rl?_EV;Cs34Q{1k&h8byqc&hZ0$Q<}!l8ka(9fF$nQU8Hi;LTkg{aQ7YaB z`;n&UssQjOhNyPx?qIS4QTu1Id|}8yFmZcQC%Gf`fm9Y{P>nFwfs|E3d5)|Z)7UTU zgDR`|PsUNsEs^#xG{`NGr&*D9@Hho2ybvPE+-M-<83|%hM+J!H5Hui~VxsLA2cVin zD~R@xONjG=EnqFNXyLeo+~RL43HPD#{P9;{E)Uc6Nb(hCd8OPVbasZFz&rXovsobP zb40pKv{C70Ct4SDKUQ~O$L;&Kn5bmB;GXF@y(|0p-!uW^g?%ZJrMy5cf>(nE9`Y&i zb`_SS-+YQrt7XhV6{Nuct^FzbVVN`FlWqdFZB!8y2nhO@m^hzsz0wH=f3PTIyf@8+ z_Y14l#-FZ6WTDRn@BitOG}*DXjpM@ zTi7g2Fl&0XZ_Rg1cZ0mMfKa(xwVylrh)Oy#qRHIUQAsm}2RW;$|0wEAva=d=lE_bI zgV2pW6&DGivZ+c{pvU0^uD||Rzsp1k|sw<_cNIL=OVrJ#0 z3hGHcy`ED!I-XAY#LhrPp{H3g$MpU*@xRz-tOnbFGs%kTX}}vkcD-!pch+=pDEo1& z|HF=V!^%*8(WgVY_`$7O7wkgDf^5O4*>x@P0{0`yc>lhtr@d3OzOLv#wiYfb6NZfA zv{Frqbm=K`1tmg1JaY%K*v{3yxL zpwwk0|JXgIQpj2%E5<&!hU>#eW4*NlLTmlVu#uy=1ugdW3eAQs9fE!;dAYC@R!Z7S zsa$2_g8uy@yPOqOo1`;CR4jMm$&i5A`LyJPk41}qViUW{I;M5I)SZ9S%o@60gVl*a zeNnC|zFBeBi8HKq&40*b>K`)kCydZh6m2zjz$T#zuy{2m`Y8q;%PS`7WdzseuT+Hk zRxsvbVLVr8JB5=>|UL6F1Fv5)|*!9NcXQE?fuN{C;_l9n*}Tr3u=bMh8`F<Ta-2wv|YGh|@7mfSlb% zZlr%0PM28|IP6fPT}t{Ck`e|?Ad`z?M(NXBNam*3v7UQ36Cov9h8? z3VAXT$$>)j20AE0TZinQok}Bw5Krf2syDAYJM7O-5|b!hlm9}KsL7R}PN6%r|LC zHq+dni=wrfKk}~TH(n)F<%=8bFM?4KtWTRSJ_hil*dEWm(FF4wO%?_q(RBn%ztKb! z#~i8od?5V?pMorOz)AheO&QcTnxyqKRU-X&H1Rjq0TEI3R}41WD=SHpVZxvWrk3Lq z1Na_Q`kILgT>IZyLkYbJAj#53TG#!Jiulao6py%6>}>axt^l?~Jlt?kCxFUWg!p}1V6A9n(CpBB+0 zq^%~$Y@_PPFV>DS>k&$G|LnZ&)-A^bvh(q9F>c*(AMz#SY_bT#=gcddG)%~gC*d`gHw^lLM>%H?MD2(Q`Z zX(JJW_N-i#>UkHT`t1lks^k5(Ye*a+^Z5e|K~Z>-)3y73+gW^J?r}-3z#Z>b_lJdev^5#ap)0k@0SFc&d#};bzwUA52Z7w(IOl@Y9AYK;D z=OTmo{w4W-N8DA6fN&2x)~;=;2Spe|Y2{sI*ZXFd)Yzr=(?Jkv9qHyNS3k4b(s@tV zzCqsxgO4+T`XtM;CH0dTd)WlK z+DMMwA;L4k^N#MzQpUu~zPsST#3f^Ko0Sz=z=fCuZIx9g2cjmyP$%_u59FX$Nah2? zKn?hlmKTe}xq0oY;dEy&>0>_zT|x=Ltq*WInh(9k`D+oJGc#xX|=m)gG9 z?2e>!%@mjBkTz*{DdWpl)s(uu&_c-eFT0>upF>}nWZZc>$Oj;E$QRW{Si}@S1j1TAIMn**H%;2#=k;r;+ zK=1`TzTnWgoE&jQ@V-84%N!uA2_VIcJg!8HHYUCW_dKjYpPlUW<+Vf>lOrd17bA&> zZBOo-S6)waTN@{>*Xk(vd1P7A+{A1GUaaX-T0u7o63unCO$vup#D3idVlW_FR^KiwW}oVeFoQByH5TO&7b= z#V&LgyKLLGZQHiHY}>YN+qP|6ll`u>;=}y$&uryh?&XsiN1WH4{}z+ch5sogAEnla zgAE^Is0Uv$ttun8gDC`H{2(T(h&k1phx?M9bj&O$|Cg$ zBqhii5>Bg1#_%QQm`f*=#;Go3VlPr0CnU}qEVik*eoI${J#LzR+JhTJ3p|NI=rEil zzQhD%CZ2%IVV%l+fNm=o=O?aY`(TAWYv{P8tqa%|lyc?jJ+eaYup z57tqFSL4XOqpvDqxYMl?T?%~N8Qp%`K8`P#_3B8>kor!1&pwhc@8)Do>?FZ|b{c3_ z9L7)sxs;$F6^TPCa?DxuvVf;bVxKs}TVNdfZ!@7H{Krf-0A}L(A2Vrmm|FmtiSuNl z0>o*W&w2pxQbUT9^*?6vGG|Sl)@|JF9cIWNc?tTbiH_tZJEDSc3fo1L@l)l%76CR> zpc^em_*(*3=yP6(Ji)DU4a-M?f5E6@jp)5z_{ouQX|C<4AeC5ui8?E0$lMY>V>U-2 zjYZ-Gv*8;wly%(S%4F>E?w`s;2x@HaJ2l#Oa~qcd(}3QOPV%3PVz2efSJPY*|EWv} zp2TN+&t{t>XN{8bzr^I=1X_mD<5j_^qHH=ai=w^bOpO)#*$m&9WVRp%+eti9B|?&e z9f8RU#&BH|bR=>@2oOqfcq+-lB8MPcq01umR>JE_ z_gf+TFey6U(HRNt&**-9`-v5~33|Q;Y;E-JB`fAlRgLHzi&|10MBLJCL3o>GTuRc09 z)(1Ypc4y_s>qep3SV&wUf5{{tQyQ9B zh%^&3lLZ?#Dze-+PeqgipV6nF9>|7H3a>C-6hJ0~5~9tbz0{(`q9!8GhEPES?U*)1 z8}P-m()k&E4md_fP`j$6MJOQ!CeA}CwIDZ{e0{-pVLnH*=5k)%h*AkQpa3$l&in6V zf|?}rFERj&Pl7r`o?s ztT~}^=II#K4f!au+v2ujd%V9)1+8wc3m7xB3;dbqo!kFUN|cV}HJgkHl>y24{HWbX$w#_sJ_@Vy4v^V#6+OXu!ZVqr8&6q+XV;W4N308>*W>GO%bKP)A#SteG&7ALCg>*6JI z)(nj;XCrxw9%nENy~N7&@dm>G>Ke&z?R?>}hOQ>E}hOd4A& zGtU@-639Io8u7GdSs$@0!B!uw4pcF z)sqrWn9C8GgzagD8JllU+boQajEsvT{;5oi#TwQY z;qt7zW9;--uv*h>!{2WtxQXQS>#WS$49Bp_+Gl!pCtda&Q*rFVJ3kT1JT;lq7-1)% zW!oOcee_-UIU|i)TqBe}T^8+JC(zM#!OFyDIrEliba4&lv;pB9UGR4~vs-%eWvp7d zi{-2iH6vm}XxQYjmBkwv>J-L_Zk?IRPW^T z5$A#JmzZ4*Cg~SKfdP&zf1GeZTKnWBOS%~aJg0|GCyP0e@Z9r6Pr|)Rk)aYh%a*0E ztc}-M{G-}_r0a}KvrcQUB&u~kNR?yDVGyQ|`zx@0ub8UUw6J%+r$B48oh~}V@!8Sm zShi3BVu|%-YNC)X>hS8r8p7@G?rk>ZzsmZ<*QkBNn_y=s@LM4mr`IzV_XcmZybVEY z#4(5oj?C`8bPk;Xb8S@Dic4BWmjZclThX?5Q~I})-doPn%*ZQb7*kVvCKUzCX)VOV z!#n??lxML{e)Y*sC8xCDWNsY4-|!ioNd-PegAle&8pSGPCS?oY>4KMq$-}jmvj7ts z+6YG>>Yz%_plVH%UnNG_*wbpk4(bW`j1|vPod)HTQtB#2%c4)8#wEip6IYbQj&_(8 z)61<2dG*Ti$0xB!nt`o{JR*s8jg$}?PR2PYrkGLV zFQ>l1iknmYU2W8Yz@S>5)q`-}Y``M4zpSuZOfXzvfYe7!P%ywiF|P<|Kb|ngpG1@( zS4?yvUacTiZ&pFWO%@}L21)n{YR5d`eIwIS-8`|Y)%#iLlQWKf;EYB7yVutG`bKMf z?x&>J!pB;X*F`Vqm(6|HL>vywoU8F}&3e?@mRHl=h3l5*^Kwj`8QXwi)XG%)O>Dzc z9(wARhx_XrL|P>D9zrQV8?Dm&?V_)Vkf~)0ve^dwq%e+U%|D0Q{2E#{K7R6cOj^A;!l=%)Id=@P~@LMn#Lo{7r=1YL@#a>0OMwvI#jtQnVS^uZRNVZ<<&F2vIF0L z&qCI_Z7L%ACG7pXGnqu3SCSx|@9KKXe-%X`?rKdL&`gllHkO&vW5z~g zco&iGs>DNdW-t!^PiOMb`rkSe&Hs02V*CHUGob?g_2C2POj!G!a+a%DRkzt4(u-uo zUTau6SK>8N_P4OX2MGA)e-~Gd4YM?wUtPyy9H^+^zmpxMgCwb>(p{=&7P;;kVZGD? zJD7y&SDrt$x3{^C#B#YXO{a}7w-ACh2YyEZts}sv1dpMGNnC_B!(q-t=dRPfS8bwF zYdeT=X5U(WL8Cr@iG%fa3cHDWlb7D`-i#?>_I&Q?P=;q)NZ}89^?IE=6E@Otke=wn z>3SBydt|0=;(T{gKN?!e_ZD{nGOn~ zHo~|lYtj|8tKG4}pe|q2Ag+U58E(`ux2SWlekrxw8)VHI(6qNaJ0Vw+n^qiw;Z^=A zwbxbI*wx7?f6|!oc&SJiDhJIhGs2p=pO_V;tn9|} zdP)2*H2E0lmWm(rKrMhV zO7VF)SyB;?5=$xE-Ll)y4+h@&jSb#`MaTMn68$us!1*|4Fz#QVwbF)PH}Gz&T1hU? zF5at^vRq?86wg&#o&{SpZ6%x$gDC~PqI`%_Zs3RMN-%Wz38UIbNf?)H$;%mQ6nRyY zWwRz*Ft+Ig7vY#{z8wUkPxdU{g(y*DJeWSo6JAyoN~x_rIL7V1Y%jzT_; zH9r$}Ixf%w7Qk-&-LtS-iOpc^7ikK&RRoF>#9o#ogkBlJlcMPG;i8V0utf&kUp0yU zUux3+A2p#e^P6ytK8agg7Q(*Si+R9()Y5r!NfmS6d*R<3J*#7EKDVG+bs{W8Q)brA z45o_L-$HoS0n?}MpM3Sxn~sX(2XmgKc;7?8(&E;f1+mw31>SQ%8JxbPEbsrZBas#&S_7qu?R;5=?F)o;3ilB8zL^7xl~Ctb23W# zHKGNB5d&2614LBBhrr)YGn?oh*k4Wycbe#MW_r&~MB2rlPgJB&)HR>jl4Pi`>uU1c zi~=gn-tJY{-LBx}@+0%9ZOe1q*}2u(Gl5S4dGPLLNFXX&nW~UJ$(F+~44XVJ$f&*g z8PW6(ChRTHL3m_!F}uPjKHe-fvFy7^D5oA-Yl(x^g(97jTG&*&YWsXsO+}bV9dfQY ze8fgV)7v*nS+RVgT(#eV*p?gLfC{#kEoKrqyIKVNq2b{fofgfx*%z}&eBbCEL2*8+@B zrqw9`$4Id~xMD}LE;Cj!^Nj^fQ&mqq8T*JL`VmKf-hvmm)gy;va`?6myyDg%n323f zbv(^v=1*buPcHva-IY?XhUbS{B-U^F&?4hKc9EAsB%+@JN%1nStkd9lAj5 zUJedN%_|303}oY!WEpq;hGdMvf4IBIvTxIcGPkJT0^1E?oTml1)f|1mu1e&GIBhXw z!MN^b9p{~rq{BUI&l)?RJwy{m%Loq2TQCnjc}QLdpo#gIpoRe%u`AqwOFCwfy68Ef zc9j6OdSEHTq6%_ZT+-2X9$}XI!VFkOy0j_fuVOe+J2b*-M6K9H>%h(H4!GBFWzO+WG)j z%?B>vZC`XGHHx<*jjTE6P23bdrxr4nO%c!d^}IoEE@A<`5*m6gw3Zepc!LO$DSm;T zIsogp zJKSJHjRwpWQp|NWOfeeJt?5qz1f)+-pQs4YgstgKegB97C8I^fI&W1LdUnW+u1AiEs>H zoZ|}^=b*%+#&XAg#(fH<@;5y%i{Ixf2nvHcRRnKyYe#?T-_xKtol@x+|e-Fm3$GECEm&umi4V~QXk|_gfZ<)C+eX#S{_Rq{i=xZugT6#`XLd$lINXX0$;b3o*|B zR-K#(JUJ-ZAAc93?40HU1>6MV65vzn)9RxPo&4h(z5C@JD4Q<|nq7MCBRS(J*tj5m zaZo951H*7st-mdH5b-Dpn7V*D;5`Q7bl&n^M1Pq{%D(Eh7JA4MPrBG~ zlU(}Yw6G71Nhf9zTPdgp?-XHCw5nXfrC%^ZsPL z`WPh;t6W8&Bt1roBG`I}IuFnd{-@bKWbCI+8QI%SA!;NX%a^*yF?)xWV*ULLSHt`4 zV&fOb7VW8I>gW$J}Lx&-JM z)um^$4~f`?EY#^YtQHg?8XUHwD@slT(3K(#2>y78I>i=DpwEjM$mr( z7xj%AIP%vG0N{kP=XCy?&^L&dI4HGEnXJoiBT!4~&>idQO{wU!6F^PU4Yb1%&9`Rm zl(f^Jb9oBd3Je3Bwuycdu;i%&cS6reic7Q>XR5LD* zrp00Tv$N-qre#!@t!dc7W28Y{VuYdmGEIKrI-;Xq5MpDn+3`t*>I9dg`3%Eagu{EJbtjmX!`>K=H`d!jP>_C1)&0Qssp zDT4qv>2EeY>(27wOH>B9iH(53@AxQyo3sMliK&p=3}l^@Yr#J78toB<}4 zB+H`gDP&kwlvQ#5Xa;}6acDX*EHyunIv|JuM?skuWfVs-5%pnd6*6H}-??(3ZrytO z;+W~6>u{XcEeElHaM}p_Nry|U3C{b|KQK5~?Vnq3XLBjHQK@l=`7#S*Z@*m}_$0d-ghO#6?CO!EY&4-uZX-iK|k!j9F{)2 zxSeFj&LO6nyy@=*4tFA*H_zORM=H2kZuVfzTJy`YY9gz=Cotct0~0^%@m-fFC5fdJ z8Y`tRH<>(0Ui!JkAh=vkKAa;vvc~75KJ=cJtD?NF$k7@L;43^1?Ugg0E(oi}+bQop z(zw~Yh76q-HXbc(<*Qor9{OsptWP^X{1R{`-A*r>XdYbwrOAL3V4hE&}5DUfSHJigA=}Zpk?*E=fFISM$`++ir%CBEG7vMdYJ{*Ge+K)Hu5%RD`LH;GIG_Wcqw&QGa*^IWPwkAOB2j?S!8CNe@YVyqnIlf zYnXus6Bchvph(VIl5avPPr*Wh&$#1$J1Es6aqzVoS|* zG?=z~w)?)8CxGaSz$l`yR8eFxR`b|=W2r|`j_8qKFXbyvp(yp1cx0Nnl82kM=zHk2 zJlKl6G{J_URDteqj1PJfpPuH`0{8^o0HmCClL~_caT4 zY25R8B!IiAO5>?4v-UnN%lmGL-9NZb9XVg_dr z`#nh$0v@O8^;IA3ytSmjPV%+#g1z(kvix|FpPSunYNYP1>vgvZ`^#$Lm0x(X>P2U1 zvCHiE{o`uCCub*xSp3y{>vkZFYIxJv{e3`r!JGKyaW)#u$})2VBgbKn8;7{W9m6^d zm%|gV>pjkVkqF>*Pn`1m64sjGeSnl*`4@ zjX@q82W$M~pu2IgT(U6?I6|VX-&E2vapo+Iab$t+JRxa$RH-TKr3{Pns;SGe)@d;? zn96PC;`Jq1RUdDWY*WGY^~*96YuJz9|g}2g~iZlZF_h?u_BDSRc)KKczp7v#8rp-4UD0%CEf79dVf% z?^oPfo-x+M67qo5r0Cd{7zq!Pjlid zlmx}RICanT{uer-X9cCL*MJ+0lu_N+7y0i33sCooNR2Mzt<^(~?I!0a%Lo*a!Tm`U zzkKVL&um4WQyyR3`;!~^#KO^tDX6K&#g(43`o!c1Fl|FX&w43Hlg%%~JmDirai-w7 zR~v(;L~tWD+=9EN_Lszpj@bzb>Wa#1-cNPj<1TqD68byIpqJNArmp-e>~~y$WIE;= z;h6o-LI4mDsgadlepcfZi;#J=b3RUi)AIWF6kgp3O9Mo1?3LeoSFcXe1*8ttncNJO z?Obc`V^Y#RjrcSb)vYhL0`=nIo@G~lmrq9>Bd(wctvpj1fo20lDO>a9jtF~+a zsY&AB)Z~9%G+C_r{tFWEUl&dA|Lb5qBh~-qV!bM0pL5{I-S$MNIZ{j5WuV@u{I7jZ zq9qTcu4?QBOd_Rvt!uwcN2@cXWxMl}k#m&=?svR{gKv;ny?Mzw?O{+EwRsuL1R%>nrl(D>3Z~PpQ>+Gs~^)OA^*K^y-E3SS86hy96)En!Cc> zG_j*aEkbj{`u=#*n}N>AOsd=oxnQ`CuI<4;n@uJ$azu=X3qYhdCTr?I@wxhQ0-BHS zMCjxJ^4V8yNz+vuOSI%)Q3(Tl9K@5jtEbM-6~hD>>yiqQx!*iIwSN;02$Qx_Wg=~- zfw=T8JhqWgXP!Nk4c@&GptSt}z{v;zPUMiU{@i%{t`c8P)h*!EUNO!wzX9ufAZ}Y( z-%UvK7x7m+`^^0>qd)I6ihzZR+Z(~^uJSmuzw1Ol% znF2qHqMU=?_!~j9l?U6<;N;gIroB1@@yY5!yET=FL&gBXryd2UiN)_Sd)7*cBecKk zeEKmZj*d}u2uE;^Yw7-ObgD=dAn6S%QurLu!_?~hV!>Nn(hF8e4JM+!n}e$EIgL|p&`EI`OtVf z(y&(PN5VL7@^!KJr#C^fZy6##nD%v}LZ1ZUupw&dwu_SpX019BbM;@_n+X{Dv2%QW z$kOpE4g;OXO}`{KOd^3my6ERq+@2kA2;=@(!U(>&O#BeKxL)0lj=EiIEz+rbibTvX z)K?2$>3OwLY>K_YfFba)TEkn&Jth2Z*=RwJ0el^f`eV=912= z&$r)VBB6fo*1T@KB+E^b-5h@SODDiVtZp=h--DMfjth=HE=sKSA`OT~m3=%wu`1QA zRX#pfd)pJJQa^Z9Nw0vr;!;f$RUp8u1!Z!*u*AjBIj>_6T|80Nc$dBPz1sHY2(yG3 z=+7UB#0qk*1alo!x=n9?#FX5d`ky2P&}0omU4#jqAiWgG#9P5u03Rr(?6}E($;^Lg zba$cJgk)2rK6uCc+(eV|-@BJcZeSGnwfUPiogb}dw1sZ%LqX4_F}o^MK_Jhe(8Myn z*{ZLM#8bWgFd$GHdaIVtxG1}ek|Zi%WtX?74zXgrk1{ta_Bl<6+5bqmRp7%*rbysW zxS3L7NoREd`0N{Mk$Jak9Dq>dMfi#%`KaJ6-~zfwYW5mmRMc^TG-)v7tUw=Xm+t^u z9m{J@%#Em5^jGy$*=4`8G8}$tg4X8X39v%c8o&XB9g}_bdTnTk>au(hM0e`Hf>Q6P zNd~3U1X2Bj_astKudLFXXP|zLr~|RdI%7nsA;I1ytOhUsD&+GbibOxq(31uslR&dgPZ*7+w@H&8-<*_693|z z5}7-J!+FCU^hD((t2P$|D+^E%=|3-4=#CV7m?fWG$14=!hSsUe&k|$27qG-#L=w70 z@$I1GBoVZo^ha}DPSQ69a+lIs+QvL+TatX{psbGiXlxW= zuRdghXGdu1<{lx-2Z=wCNj}Sy10LP)A0*Mz3=Kbe@t6#`AM2IaaT_j*k|j_>Ja`4| zE&GDA%^*ecRP5Fto{L?U9K9i`(eJ-8x)HiDb5S&a#T*dZMN9$xSw!eFSN((b0CRU` zgGxuP+Y&?zFPkizYFil$6BQsRE%yZ3d|OCvpD~#O$L~Ha3Ztg#7KEot@uX`ASHB$K zci-i^VU8_(ysIINp_@_6lg^&zq(p^d`?;u5$?YQV!R>rUnugfi4QjbUrqp zu2cV{Z>90jJ`O6zL6m`_*C5`u0u}~um+sD}54$XMKY@JYgvuLf`h!)|L_@8Xdj-6S z{eiM=KJyiC5bgnK?|0-Y(XgGM+k|XLKAH8iK{qQBcR>SWIfQG#1e6kDU4R^jy4ylU zjItgg&*KLtU(ksvbd(#hY<&CNaaOSNwhr4T=xZoT>foGIb=>rcEO~ZVR*9GDNz&X$ z?IiWt$E`$H{$fPxn$=IyIa@{g3RcS$1+$CGg!ps1JJkuLH&{xamPFX{hKq6qv#g54 z=2Xc7rsG1hpMBk}6%w1%tHsXCwhb1!eRSU`FHRFr2$;+Yjm}Kbr`HvPHyat}E|er4 zdB*NxS5s3(jk3o@3LNB}9T!ND>QdQF42!Fj>w@m2o zVLeY*vli_v+STnbf1*zTzk&spYdfW+RR2lHLQr)r^l_N*JwG0A_0d%Rh7y* zZ`wT6pEhTt=D=nzLGFwyKm+qOY}nRYbkVL?w3rDwE;yl`D0^d5Vkt2dVWd(9f|aM# z6iQWabJKJS4Vr)pdbVN^5NlfV-Pbl)F>)5C`7UxT2xT#E)0JP;op%tcPoGP=5#^=) zsIc%cW@lXMsg|&iNOkZ3nJdf4l~mS8_jC;Es(vkLaXFt}UvV_Z>_&@-w8qH4L2WiE zu!D^u&v7AT#K3HE2I}Wq7&*~VzBsK&&vUUb>#FV?^k%W(U`IynKT>aKU&_j{xGnvY z*ZIL~!za*Z(zcFlNBG+alPfFpJzUxeT=}dQV@J|#fS4@+WD-ZnXGcxG4dI!m>=o(b z>Hp+%pGj>T(%z^auyem_NjKD|Ls3R4F=eibq~z~qlY`}~V=P+PTf&j7B@$((WgnWh z>KCkY1(BI`hSjIdH)eRtPx$e>jW|xu)cTARNy1XQCKI#Dc$NjMsaM{@KBU`dMs2xm zb^0_@jpMfyl06<4!pZys@SI)sb4J`yXLYk@T4a;>w`RGV z1U;SHt@?(qvFzvrl=d`2EJQ?_e|9^i;v6B3=5WcedQ7>I7hx7v$8S;0S63U!6q9Y{En!X7pM$D8R&97ib;-L~J#zkF3gf2* zMne?Ju1TPZC1`A;rp)^>iPsx}WdTNRQSU>76*$P?j<70!j!&ILYS(3Wv=HUW{R~x| z(QhSYvSo8T86c(jO?r!egD&7Q{-%Mk;W1GLOQ82;0mt>Dj4azCpv-BYF4d+ylgyWm-?@nzYRJC zX?a#RtbVh6aO6;>37^DJNKuqK;DgXm=otpAM6u}21b;m_Q3}*V@lvDt;W<(~1;GF` zMnqtK+2knEOofpjM@5yD@3!rR_gtSJar9%>Hby63*sUE+o`eA%X* z$1fFgnQTL!HlsJ^byzqa^AA0_?Ak1!yDjzrOwq25%=idoy(f4jE? zu+3Ef{KCeAU3-c0#?0edXc4pH*4@bMmK5jhC;PEG_nDmdl8wNZjb~;Hc8L zm^sGyYJB0!Z;o``P^BkCd$dC_ArmCHs!SczD>wR$+}fzWvE(w!CX8b9mEVX zTR@;AH*DDgzL*W5ok-M0)v(0S)fDsX8}Y-RMN9Qugnxg(u(5F?vEm`7gBFl58OPnb zk^1(RQpS&&oWwvmOw+j{5yZ<_6$xnB)|ZR$2d3IWD}MErqy6zK%>eEc?%RaQ@kdKj z3@Pki1^c2Rl@<6c0E@KXcxJk0SI%jbD|{b7_-Bae2)=oHHe6KNK}?Lnuq`lL4T7z` zk7*IE)oRjIwMGvp^Wg1=DR~=Sl>3McEe-iBUmVV_ylm4r0jxM9>A0iEF|MmeK@51U zEu_w;?t1CP_UCOs=da6H@<#?Ocdf0YNtKVskf70p+RN8lZU?rTGx!Z0E*hIBZuU3s zj-8w1l^|=3kEWtjE7qzD`460R>&&KGb76=qc8RT1SF?xlp)#d;&!-RmBW6kVr%`<8 zufvq6OixNJ{3R}L^M}G0X-k*$WmWItg@liVHp?W_t`hTL&Cx9Av0bkbXVKiO>;hHapN2+k9uh+PgvBeEpPP{3smnXmSygWlR zBLZU7$;y%5*0GwowrJP$+oVA%dHW@Xi&Tcm776YLD>Ll|Bg&UTA(+DHjC#zjck9NF zmeRg;LCz*vf{H!s~{Xu%{_0YV$}ZJ zuNLRx0`)4HS7%Uj{!_X0q!d>IfAsmIlF$ib&d+&M`=<187lM=&^ZA5+uiR!5_g;l! zW-AjYXt6QM&LQ^9DZHykVE&-ZZp+8dcJ?6-ze!{~x+^*%6CeQ(Ds8(+yHq>dS&MQ7R z-2pbs*Zb?9Hi(=57_P8f>$C(0-XW&c4*t8g^r|#RhEGHN^nmAL0N3Jypng{Ow;Wn( zB-KSDuvv|%-Rx`ny{0Qf&&5zuDmY=2O3Fxasb}u+l)_NjU1H#Jn7n+Q@)guK>~neC zOf0W@OT;V>+Q@ec;!iI5Wb%w&CpDYH!HJsQbDj6QONR1<{#G)m?>>vpIs zHQ8Et`|d1cF1jjGA*=Et?Rh7V4#wfNMx26&>6Tv{pnMo-!?<4Sb-?|b4-b(=qz*r? za4?iJvo1al4Bcg$0Fc7c_ChD%P;&gHv<0zo<&Nugh=bzCdyX0FJv83UojKFYzT|+wBvF>kIUM<|kxW7N2&UZn^XS8E zvt>iQQw$dmdhg@iJ{NzVbL{whN~`^V{<9%Hlg!ie5YcqvjNTmr5TUFnbyXN8)c=i8 z?oC5EP5wqGz%rqc zlE{uLcWEZg$Wp$ahemu|jT`;t@7x-wFgN9Xn~q*VTOr{yBbEYtG6qycryn4+q+DV% zjyLf@SJ2x~%4-L?94rf0${9ybq-2eR7DG~TR~R1oB%3GrFFaa_)r@^&?wz$$d`suD z9%IsucY&x?=SX;nYHILVL_ZQTd!If9wM?cSC6X{^@}AdK?TT&Dl_wMUcLv!iVHtZ{ zj^F9j@kUvXd>kGciUTPj1&*YWp6KYFGnF*mVlY|mO-QTrM9kx>*9h#x5 zKy=#6#EGKeViti1KdzvcVx#9VkA5OqztNww$^vJET>xl`SGKO$aw^oTZy@@cBX4m8 zrb)8dSNvH-or+$-2Ngn8MNKB);E4rQlY0T?>Rh+rUWd!+m@()^xK2c{SAAW@G!=N{z3w`(miW! zeCbDkrbPWqQ&PvU$M*_<5rd7jyWUz2RuK8z*qz{0R2y^IOCWxi-?g5irg8<@|3=kq2nXY}kTTBa?G!oe%NK3$`0Z8?7^vUOm`tjGne}x`qP&)geNt z4i#Bk8Rx`}Yg}oD5uzY9ru)xp2}=zUkj{4F1-pM~%JClodp+5^+yJz=Y8@agQ0ucQ z!dIXJ-O8utMyp5maa-=faNwI)NlxU->&JrEgtS;Jk}{tyKe#1o=5j7?OWjSeBuQ2o zrBU~8<5|2?)H5CmdpPL09ade_kPZkfxr!y_8Z7@0=EEj&E~*!Xb1~g2W?3@W4-%w; zA+U53ZnPAh9Fn;&u6jC5LgM=imH5hNZLpiNoQCXnDtZm7Q=E`jN)RvMZq`3s>hoXf zde0r#qc-W8@O6z3vVmW}Y0C@7bPkYGE;(2`D2I<6x_D@6$~_ z3a5WVSu(>c;~ro2u8Fy6)LVgOyfrG_%OH9GILWzg7bz;fI!ZuDLECAh(Tsv>LQr9@ zX3>P7Tq77XK$k}Pb5FGY&38c#G98oAiXEct)L=u$3}5NTVw^zRP}CwKQeY*j2`dFrDG#3)1E-7M9txI4R*%Q?BF?7Fhp|Q z0_v1>qbZ8|4N}SM0>SgMZZ~68790wTx_iETRg+(XT)v5708c^7*PiPVi96Q9aYw<| zl7s+v$_v(sh=vYH#)^YprY+%hlT20XM?Mh-E?0XEQ4kI?M%AO#-PiiD+&0TCDw|HT zql)dMe6FD*4CcfsC1d42XHL#Z+=#HO&UI8t($sO(WEn#F?XhO7k!bdtg=|OA2D<7& zmhJ(-QSKFz&)f?DuHw5)Gf*ZS9KO%Wd1Ue`lT4}s|8lPzDv%`D;>F{_$UB{aH-ift zh0iaphx03lIiv$Gk~xeyRJpGVPkWn02_Z^^QYZZoNDmfjbfCYkO|m=R2Lr5~k4KS5 zvzrzcPLZu3LgQN?|AAl{$b8d5_f;I;u`6S7F ztHxqC`J*)F>BD(X-`$lb%nv0t7w5x%%*qq=31P$R)LB1$hrI#KxwemC;`p31T~>^P z@)uKxwwZvRpr50C(oD%c{W=AOYpz6pN_N7ZhjjS4&Y*p;Zr1^#luz1M4AH^iAR1;D z>|urG zHdl}duQ1*GTp-}yipaRB=aRtX#;?IEh%~YX!s_AquqjE@heCDN)~LsH22VXsV-tXB`rDbU=Y%jg%In781R{76kR!>PBNaA;GM zzgVK{0BtNZiv2}GFGspDuc^rx+FyPMr}FFcV&)u|vjXv*Qh}Y~H~5rkfT6Ks6YOE2 zf--*=n{z<}CdSnwCPbi+oex(i?pacX5s@jJDm#N(<-=K_HoU)oELLk=9j5FSi%F}S z(%HmOJ=Mba&tBm{rDdhXBAcqEQq>BCU)q6~RpjH6UQLTCrjhn^Y4nL@QnGkDv^$D` zJcU7nvx3bk$jId5n31oUCV`Jf#uAXHtQqgOF)B|K|IJf4&oBhU+Y%;D0*%6Ofz6GY zOZd+)&aaH|`|AJXYHh&A##J)ox-F|UrD9J{@R(Pb>s4hCGJx0n?nm8q8j+h*p zkdtq(7y7y{Z6qYOLW`{u-?@;*1 zm77Hv(+Jb7dP;=v!@qwKQxj9uI2@aGnX)D`Nb!9K`+hj#z@BKGmAc7$!dKAjQ^z{C zUtng);O7_LFdlQq5JUSttK&GZaYOsDe$meTn?38;AO$%Uv)tTeHd{Lv6pRGp{djA- zQItk9!=N7FMt?mlwy!o7=>9@s7I=wt$pK{%&q7&%gB9-M+w z`=qiIj*4_z4M7J90sqAZO>k&ct)4cmS;QI;dEDBc!Ss%aNAp4x!18huQu8$vF&8Kq zhtXE*MyPp@f*^2)zCLe9lPl#}z8B-KpvG$}7GSDLjhR_w5`w3Vf%OgVz?MOY)Fh-9 zzgVi2$%m5x#R{aVA$kL&L5{*d#md=?QOIKWwtVyi9A288>=~#auO?{X@77A#SPEw3 zXk~xoGac2%j6e=~1``DnVpyL!gj5=`VPi*;2bgh?bF@_yUc)l7(faMiXe?UgOgoSw zC`li7nW?;fM?8P$tIn=`c`}!9+I0ItJ8FkBbDYaBN#&)!tqlu_C8iWwXs zczlWqF0yEdG{^xj$@`)Sn4JucngdaLl7_rUbTMG$wTvtN`579Pt@DXzLxVs@-UW+2~{G z`K?ZR^P^~QOYOtvMcn<{s@T=ZZ1dT=U=?pjT;Eh-v4s z3}z5-HWNxC^e=8lhMX&^+e_F(ASUSr^iP1#>K=j#uww;q(D@nZF6f^MOx-vi%FR~JWh*f5nWQl07jF4h{f+8V(9=7 z%braFZ(^>kn+Q3fnwA7t{Flpl`7IRqTUTw&3RZx#n!5<#m(T~$(#h2moJnZT(@JT^ zkv6+apHnuk>>K8i(tuE*PEc(^{z7Gbj-ueIF?(-t);L+9GfVF@5yVmG?l%X#9-e;x zK}nRC&SLyuOGGwn`AcN z-1uufd#_y98kU|dX2MWN|6fxz%6sCeg(!uRcXdCL~xkbofREzJWE5g@4KI|)ZdJF)l6>j^^qAIMd!JU=olZdbT&_{ zOz*R%%H-W4PQ6;sM{qu0otHB19?7jWc$~{!4l*IMXwj(H9sC^M_tWSX>zS24PUncN zT1r3aV5dl^{jXYYMbzKsrUaNY?ssvxT)!3+ojsiv+P<7F==rlQl-19S=D8l~(zMvr zIPZFdK0Yy;+HbTf9(tUq)a}kJHFGW(nv}n8bRt~GRx7@o^DW1Y2yebR!iYbJj31~) zPPL}Qe+NAc54aS;ZkZ6;!W>`_3*~@YV@0?SMG63n<-VQy=*4r8@W}}a@DB}R@C_U4 zQ*5j1je0_MdOH?a>Vg6LrUJJ7L1I{5eq>ffs9R#<1R;Zp7V1HPM-l`Bg`#l zWLpHz<|7cw^`GzLP2wn6l*G=B-`k!WdZnH8IhgCgYLFMbgLEDAnPe7qodM72u%o+g zB&-c@-tM1xQ3N2G^ruB!SIUuxw8!t))1->79osb+~Y>(_pgLa8WRj=iy8*wIM3K&#ah zw;|$L^S5K!z*v)}zNw2Q`Q|ykGlkIVS5lZnciIc8nV-B4+P4(<_(O28p|H~!AK&&+kr%oEuE@Av1m*0S!KMGM1WnV@;Qw0s|sQSQUK zNPIURp{T?#Zv#wLZcC6RT>nm14Bjp+BrnND4C-9LCv_X6(cg?imVW&?I3@b`rR6yG ztg7N_(}Q`fFVBR)>es(7ElvOb(qe`<{bgSVBHK4N+GQJw|5TG7n5=k;PosIloqd11 zwAj8B8XN!n(t;vfCwlFZ1x!}%+L5@gCL({ma|I?VxMmv!6Z;!a2N*a_bI6#49RwAK ze=jXptBJs+Wq76Wc!9JGXf0@#JAMrS{9q$vw6A3&DRb zEeHVU(?Y?n#QMKpTA2RtON#@#Y6}1A88rdYAT-ivA>j}2Kg7O+!C@AV0Ouj}m+Xo) z^l@IZPSAS*_AQT)M1cx<#7BEH%==BJNld>3x$Dce#5t*{xT&n}6^|=wTbZ{ww0uXc zn)7S*>ti5J&$3VNrU}7**6e;SKPZ@J-&=7S=e=8TI^%8BADDAfe4DOxJ|*l^US{t& zznCMg)s*YL)*cey%MdvzXCWRhH-7D6y%_`^01E(l(D4 zC*|tYU=%He=jgX@I)rDEl}h4&KuN@ld)0gtpu}QJIjS*dpE4K{3wY^M>TYUSA<^i2 zHPEE^BPn?1>DP58B8Ih%k*7%Esv|V}jP9-Eo)mcS1PmDPy0$7BdPF^J68I}{CQg}E zY$8B0Sw!n>ixP@$%AuD5Z9I0?p~;sv=xntW*gb#LGA(ykW%ZiVMTus0U^DuW(ZBz? z>%{b`;9X}Htr!TG+LcKazDX1{E&2qrun?~0$NM#EoVuPg@23-(#KMUftBv4iF7wDX z@y||XOy!5p5)x{f#v&ktXfpOtk3R-fVP<78vk8qO(mPmj7Xn5I-M|ZrhU6uAOI_0N zNPwIj+|DYTruC<&81%gP;2aaZih|&Nm}cwkM2j??SYK%#ZUk6wxj1~7$y7Ps6B)>I zxwXRZfbZYDADw@c;M%(xY=<3^1(#dq5R{fR=$m)<4(7H<-qMS<`?kbsSa!np8kbd~ zqy2FSrD*g7&Mm6skq>G9t!5Dz*DDmL-gNU$&27qcsUpSMkzx6$7|D|$#^w(Eg2vq{ zeSrIEPB1dc?51}^tt8a1P+8-|?fao2tY{3Xi*X2{y z;L1K_P7xd7nQDDxR!Pj^8y?5_S+BJ^s&u5?r^I!xUj%p9b7TFNzqLA+T5M+nQsXo_ zDnc?w6z_)HG!f3kk-q^gH|gO*b)EZJKr+h|F10BmpCzM&I92(!73LPw>ZN_K__h#VOQWS^iuvGBOyds_2=b z9a{wzQNKD`6@744Q$G>55JJ6=b!8)1hPBCsU)<|weDHGqTY`Im;GK(^iK9qeh$Ve@ z1-1rs70NO!aB~S5Vo4`yI#iDv0n3mebbwipXn?J1h$N=Nl9PfKXs33CJ9p)J2ci!@ z6?i6k&|c2@0Bcv_i=Q92KMc->@J*|09upx1HGa<`44{Bo0Sbs4uURq@a``j~pn%*U z77qq}lo)Nd@DVUhqIloibcRj62EXDgHa@fQKKxJ-^82;;@j!gPJs9EfTUB8aJ|*xC z#p{UJkJ`f){dL};tZ6JOI)in{d0yHH4}IU-LQJ9wfsxO*UKS-eEKVJtpSgJnRi_1k zo68knb__#9EU(6x65;LAN6Of&xWj^l0!c`j_!mO|=u}^_xk=)g%Z?NVr%J}#ifahU zNGCF$)t(n7Hq=GsuP1$+RLg7E%aKRMu>S2kPHR}`wrBUYS~iST6Hg7)M6_KPbDoR8 z22Eci)yM$&CpJvfCpIaJi5CsG!2L!tK9|RQ?~~jaB5dRjfCBm~nwS0K2Z2#pKZC9U ziD%%ZHl-?CQNuEW+wk1+KOI&yWNAk3vgkxy|{X6m*5>B~#6+ZWS zJ<(?lVN#lnFQM94r-ttQJ+gIar-f%Tj>ldoX38rtcEHJ{X;6g!oj2!0e0cn#Jqb25 zfsjo&N1P>&yXm#|*Bb0S`L8KPZ~K)@_{C7hJ`2(@2p!ogFnVE@(Ok0SNX?FD{Ji{Y zl8`%ha+SCJ3W4Nt*QS8b6O8VNxbn9JyKFVQTMH%sv-P)=3%4|d*!r5UW+-1Db3gsa zbImlp_1mPy{GODxa(V^h-&l}lx*Qp%y{15fD|70UP5r}91x90wg*RQq~3Vd>@;Q?3iu^pYjdNKaPwrSw|h=EAL_49qW9 zeHx02P%SB#6D0rMTwr>??%rxz9-dAg`|=hdACIYnXg+(4SQeU^t29Ec-jr2@GS;6- zSZYprgza+dTTnpn_h2#kF4+~KnswI8=A&y>+CAL(OH)i0achojdYX?r-+Z0tjhj;| zGg~&mg>0B^VB!<~>Y0^3b(wu(I(QLE)HFmeuSHGzlsRY;jb5r8_u(4rt`x^*8%|xm zBnDK3twk>ek4Yy%wuz*o{YiY}8Vdq1y{t%8-PSR_=w^Fz+RC)1C3lI3)Ib)It=^Ki zc};I>=re8Q4{f)g?cgIwk<|TiVcDAlvz&VEddA)4CKhWDtrsYb*W%WSH*0=$v;AkV zX$A}ER~?+a%r|WhgsC4m<~vsPqvf9V<7OS3W47suH8;nTViV*vQzh7k2o;MKrAtl)K7A!g}llWSevazJXb#ws&?tLfLdrSZSdJw|YH@CO7@ltoklb6qP{~$(3jr4rJD8MkQL7 zV@Ptt8oQGm(Z%pR=JelkZEsR}%WGFEbl9wy!fU#}5VP*=&i=ZQ)G#Q`EnYBZ_1f<) zK*pdxAnSHTI`Qve(H4Os^`2pneD>6;ozPGMtMMYEOuM`-0RJ`HfO!~^>nV0E>=4T{ z@PdhWOf+^cYfGuM>J$atJ8lqD3{DjAk&l_;vTW^a=AvO@W9_U`wm0gV9dyP}$WQ^O z7*Tnyqi0SA*>L|BU#@n~0mi4^KJPU%Qt4!Nh2yz?`r2mwDQb|# z9i$#Q!~cD(m;c#sda%fM`y1u#d_ss4DQ1%>nXN!ZU%BP3avW$kPP_TXjelNF1y~g7 z>Lj=%;Q~RNx`xy~QjL%s%w=GnV7?Hj1ThoJy1VXk>m1?S$T!Hvk!AFvNIlgg%H4)I z>W>v*!%T90uW@1}8;oKMLjjFd)2l!S04d~@zO_6;b}2l zp;gzvdx|g}Gxl?icplnUP9xXmf2n)kI&kB6I_#4sZ;)nhGs$ZEL+iA+hicg`ubqg9 zZ^PqKYIP9U3xV5kB9HGSynF*<=YRauYd$2iI)2A~_Ow6P)99B^+U~a|y`a;%y>`G) z;3L0V4WXa;^pXy3edf_zP%XXMbbVDbpysx62lDtH%lWeDh2_Qiq^0c0xdN%7_ERD| zpDva~s>xjpm$d1}Ppt49dE`*_uYqL+kycG&bV@=FOz({&N6{J8S?7$P!~#?p6{^dC zjSG4{6;!uqPDrE#!a|fsS#dhi(CZ&w(LZ_G_DB>~W;+*7X_W7`an^Ko{ldfT`p zz`K8CHH#>wMDxgt^W`8p$A}La%5WmR&E07q9D&L=r=Nf;8+j3ua%qVMK3YgFMJ^$_jWy`g@|EazpcsiRze8Q8&O#=1W0Pku4ukqX|oV z-C2g<|IX^R(ybkg&>{=8LdL{pho`tMc{oSBs-xrV~*Ubu6t{ z*>@6$i=R^jFwU$~H?nk^8ZOHl63)Iid9rPm=MqjV=2F~#Z>ZobJJR#J81B6^X76Zx z>@iIggT*VC%|MPPs&!zC-JTzd$y)w8Yh2sO!j_Sq(S0bKLkPtdyMJcW64s*DNYiG) zxYPR7zD^pN{E&ed!}I4P$j^67w77EJ%X%g!BJ7HPEBbt86|FZxeCf4aI0N6Sr8>&%hGgnjG4M9QHYkR*HViEROX11ys5kS$ZIRO@!?3!dAY87k4A z_n5V#IJa_aML54LN81#qZfi=w1hJW2m{*+|XdM)WacSo`aZ!pH{P9%s{j&ewQ@Wat z(Jbrcqi!~P1M@s|G^ZR}2pe%+q$lrfb(UqP4|S|2bwMsiSB{64ppLRZ9ZnSa zPj5k=Upi48!6&~Mcb=CHy+CHK+c3Up^5hZg=9kse{XWItn7K*%FQ*94Ygf60)qcCE zqD?jreP0*Ug*EgbUhC6=!6ggi|HTHQmuPP1P@rG`7Z_?R#Lq>aY{uYe|0%ma*zIRz z(th54bc83Ryic)Kd8Cf~o%RJXzcvSCC_^pM*i?n2J7%nZ2FiIfo_HL8(&F3i87I8I z>tZ=ZMaKL39bx{n7GB47c@8+{KqmKNZ2TrGX=)KH+qnKC>y|)JP#lq5( zX&cAAlzjdj=tfy~Z|7<2>h=8ozgSk@jxRc=pY@pj*W(NG|9yN(Qk`>I-|MKn_Yb&# z2ZgoK&Adk)W0*jXFkKTbe1Wj6)`PvwGe7kBjSkcOC3*-;i}i=KNZ|n4j{QpVi*+ zJs#Iia6Yaq`1F;(d1}`HPpxPA(;f=fV=aMwU*?(mouF1HJ6A=o-&5$Y;#DWMNhSKdz|JNz)XQV?YkML4N?4x+r15-kapO0X1Ydqb;~E+*9w-TGf$md=b8* z5!73>cuV#fa%O(8Ndm34Zt2#)y|(*TqRws}X} zAISZEn5o=>6lde$2Zz=Q(aT8T>|<)T%+qxO(^hh#8a4gdy|%=x=}RcdJz_XT6D4VcrZqX>Y(nL=z4Tl1C-r_#Z)XByc zX-nZi+=m)0AWtI;d#Bqx<38kNNR6*Tq^HF+9Z!(iQL_Zt~@Q8J#sjsb#3 z85l9i#X zNzq;Q1O7+q8Ls+Oz~$xlrDfQNv>>c@o=EX$tLwJcAgC={_|=;6M1t6n z>!RLaf&rJ8SpwNiDPsG9-`8=$iOK3li9d+Ould7&M)VIw^JIq4s3)ZoIkvFYfF&)U zhnAT>6KlR2e|#0{4oTqCpZBA~;zQL%rOjv0`*~9480trYC09H$H6jXg_xL?4M(KMao50$IK2qFNZG#TP%U0LPdEIROraOq zBCq@rog9b(4ezGurK+Avvn1kwB~ zpZ*3NYW$l`!CsaJ)*W^g3S{2rmha2=%xbH&6nJE<4`^$Bn!{zmiqNa0-|(U1usUrK z;YC&=wO+Zt3e*S%5WA@4hgRa?tjJYjDN8_GJDv~}LEL3`&G=BcuMhs1m@^j6Pd2Mu?(`2na-GwQAcZ(DRT6&vkG2--BK@0UugV2Gp-ri~^z2l= z6Kn^@x8?nCNjq(`F)ZNK_%iX07rv~cQi1gyC3^YxCh<{== zDx)c+qjRI=w}f-1kDWxhWVwW!swfE3?(ZC+c%gnwGb>HR?n{o2Q}@;~fpH%z%_0t@ zeL;Gu$R*#{Ykapb)td0yPn1ctDfUyhVqIK2B!DEsHk)33*O~G2ty1BB^jYe;=YujO zh(`TVXVV~>Wh8lpCO=10syvC8ZA5jI@We93x+9Gv5(7pb;%-{z6NDsH@p?Fk>Wn>@ z`7|7<bh zc+aL}Cu?=@xpZ;b*)ORMC!~LfVe1iXx_-QqcCQT9w!~ePT`$_JKKnRIwhjX{On}Qv z-z((#&L8Mc#1Vd&Z*kyCb{9r=ZH{QLXzZoW5dEz+B|RsoY1N=I7y-2x#_ z`j2E+gB1HB;%g*c$*Jd;k3bul z6NY{JpmlocNpk+gz#1lsvY;A13f#cU%$$N`Yv;-_7Uh&9OEob!b<>%H9Z;$gAP5~j zh?zG(Bpj{9GoV)2jr;4eRd+gYPBpYF;)MGN8b?TfpgP2M{cjRm)|NtUvCsz>`c=Mt zj+Px4>y-IQb1&#mx+6t33T8z!p{DMkW*8BitGHFQv!Hx#VKFiCMeQH1ivlny%BgSN zANW;x%j_6Nm(%gL?vFOm{b5OmxMqZF&N;5Dp|l=cE19usU#|-E93)LTWLRlC8GhIm z9AWwNPtlP5;`QO?<^}86PLcC

pdi99-yYC?fyysNOh&- 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 aX9VgM6%0(|c@pps90LWV83V*el>Y-<2?N#u literal 0 HcmV?d00001 diff --git a/src/packages/Moq.4.0.10827/License.txt b/src/packages/Moq.4.0.10827/License.txt deleted file mode 100644 index 8b6bcf8..0000000 --- a/src/packages/Moq.4.0.10827/License.txt +++ /dev/null @@ -1,39 +0,0 @@ -Copyright (c) 2007. Clarius Consulting, Manas Technology Solutions, InSTEDD -http://code.google.com/p/moq/ -All rights reserved. - -Redistribution and use in source and binary forms, -with or without modification, are permitted provided -that the following conditions are met: - - * Redistributions of source code must retain the - above copyright notice, this list of conditions and - the following disclaimer. - - * Redistributions in binary form must reproduce - the above copyright notice, this list of conditions - and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - * Neither the name of Clarius Consulting, Manas Technology Solutions or InSTEDD nor the - names of its contributors may be used to endorse - or promote products derived from this software - without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND -CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, -INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR -CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -SUCH DAMAGE. - -[This is the BSD license, see - http://www.opensource.org/licenses/bsd-license.php] \ No newline at end of file diff --git a/src/packages/Moq.4.0.10827/Moq.4.0.10827.nupkg b/src/packages/Moq.4.0.10827/Moq.4.0.10827.nupkg deleted file mode 100644 index 91e88a472f422eb47eb22f4a52959c5bbd36c6a5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1605195 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

AQw8g-CZ5C1*;g17gnSH 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 xB#D|I1 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

k59ltBU24AA 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%0A=PRbZzFCt`PheM`)@V7tL%`r&Z-Lho=i>JP< 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

tajzQfHF3NxNqH)Rs%#o9@Ja{aPu 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
9O2E`Er_{3Jn0E!RQBIcaRy`)@V1-tL_uDZ7)2g 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∾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⋘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

f|;&f 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 K&z>akzy1%yeAt}; diff --git a/src/packages/Moq.4.0.10827/Moq.chm b/src/packages/Moq.4.0.10827/Moq.chm deleted file mode 100644 index f5779bbbd8c085d4e4b4a4f7b32e056d2cb12aa6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 541525 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%0Aug;rkjKmu@ms&2L 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%0D*p+yQ`UlS>|L+J_4>r6 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 z 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

65gyfJc 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≺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 z zVLue9JIgYxx&zzAknPYt&_r?nNQtnN0Z(!w(-)-Tg9}STMKGV={~m@I(t=NW$ocDx9NFb@2Ky`rV`h1Hii=$xNIi zyrhYemN0XoF(~gwRBr}aeZ3qdjaJQ;qGM(j2m^DiFII)%qWzr3VS_1i34}jLz~K-O z0{{mAGekf#004hwev!A-TW#R?eAC4p00;Nswgs*3 zR`aWPSQ2`cKI=fV2mnTg;EE0a6Aj-TGt*~t4M0GX2Qve7a2KfpF*gQgHs>2jBpGA9 zYa4qNR;{`EFO#lv>b{cf`1RGcadMYcWQ&fIzN)Uy;_O%3x{6;s#fut?Ix-~wB$Jp8 zGZZK=VFtk8kiq}}838kz0=RyF_x--#x9{(EySv@4m#%5AvuWF|t#;kI9o0yrl(nIN zg*;;b8xesLMFK&z;2lIQLVN)*oZ2CGM`x6|dzjB-#JzzB9~inJBaL!qUn{(M?fO;2D3N>fOAnU%*3 zh{<-m3lyc=q(7@Dsv#HsWK(mkk0-E8MJ(h9?7UzbmDjeG(x1#c;wl4Z1rMr1)-({nCseHBz{>jBZu83q+f+v% zSz`S^$#RC5X{03K#I%ua7pZdT@kBQI5bx z@t)j61uVJS-ZH3^zJr^6+*%IV=k=p-!P@)0IXgPw+(7QK0(McTJB9L}4u8f`{8%Ow zUvWNNtuRyyE4Kbp;kM2YP`2v>a~7fD}&og{3~;k4ZI-N zsMQ63+s`Uh{CV4UET=Zw=4%tR#p|Xe!tW@;Fzp@Nx8IV}R~V{nRf$TaoaD8Q4<^Z8 z+EecrRGZfG^>=ZUrv_`s*_XAcmXH_Gqq&y0Z~cNj{?$LTX^fB-OS^DVny^da7uk3P zVQ%)TxJ=M^ZCf=3NW2S5KGuqC8YKRPw^*!9^Xa*Yr>vtB#8YOrw9ai=+iLSO@jU$< zb*mSbf>1Kc-JHeUA9Yt`_nO$pU+=%q_|nf6`s%BkwngC%+n!LDLdOxXXf2-7OC?@W zY_lfn@m%~!Wv-ZU|LxcPk-2f;MBOYhw)J{s1Dvn5^O9Zt;dZ!iiX?W(k+*tPv!=SG zN&wDwC{`%}InY1SMCE**@){5Zn&K@!fi>(58tE|yP4%sro-%yx&R=kwh!VvWc@aT6 zRlzVhN~N@kmq%r_2FIfau>4}~b>6FLD71lih;qqS$`Cw7WiCeg?{l@&`nRoe>ln|t zPPk3WFE&>7M%Kq-BlqK)Dg(RQ%VxfP07dVsFv?|e9| z70zu)-D0CJ=I?HYOq0M(cQksIHqrhoWZ`GWv3$sZn z_i+>j`zuzy9K0V>;3Efit7!!i?$!K^{1OLvy)TU+c=zBW=cKbf-Q9Yl)PIV_G8^P% z8MUXQw5MtrXawYzUBpjuQ!KI%jXQZXMk7?d{i0iF_4GA@&$vCYop3sI=p|*N%ZrBS zCZI9?QW7kAAu}xQ_Sko2-g`NqNk8#n9@)FgIvsI}zfxDl)!OMTz0>wXVc)*pra_bY z&rLF`i@9pxJN{>Tu!iB)Ow&v!B8~i$e~rU`SS_|rTvIYQfwrzm?2R03U+`-`-Xomf zgc>+&Z6JaCzhD#S~Wbrob1B>im>=mpUW64qkA#7$tyBewXfyc z?^a5Q*A~Jk6W!slmMZ2^`*0ra&OJFdm&H{(f#dTRnoHbQ=hSv*gqdWcFU4;OyH~cZ zDBbsK>tgY7(F3h7EE}`8S#su9=qkEBYOb{x(Q3RbBD-dW^MocR7D-p#y){eAJlkxR zJO8Y`=_Xxf#9|Ohm?XbLOq?}A_hv7PyqCV?_fCfmdvf@dmt3lG;qGC~+fN1D9mMEg zm6>we&uV>+sbAy&RVmZz4=8@O;t@~yfiXEE543K!;QhNsZ&n@ANkQ~iy?^y8eX`s^ z1OCyFw?yoZRv=g+ND&e83T4V(u$a9biX+*;e2Rpt=%qZ(%z_}dno(Vr4 zry-2eQPer(q#BG}AX{Rh($X`JT`sXh<#g^%0yX=aiEwmBPazCZ9=Mu5>Cx*KL zVxw!_7zZ8DA1U>Yf^|ytGR&gEEpFu)mw&(bDUbQ1JC2evPtS+t(qbbrn6YV&`l^(a z7S}hJFuaY}USB>QtaxZf68JrxwgLde!(_{^KA{wSO1e?;vazzD7acv}h(w$7D0BQK zeK{CN(Qd_*w$7R*^k1+vTMCvsZ={>TMb11aTBS*A^NPw+j(d0J_qw(7Td)#ws@HV~ znNcgupHma@Z}(y{!YvBQgT9sfrE0FGc9ix9y3;iZ<Q;ecDrm5Bt1mR3rw5GxpS!dyS*+>O9eVxskBn-zma;BXLNl=wIs@3w|(~z;f#`| z>Du_g9B6HRIeI-yx;`J|WZJ?K4ro~p&&UUFNd{E_r~k) z#p5<_;X2aEcni(T!TuW@e0=4RJHyJjUqUsU7$?QKdXz6uV0*Ud)$?8`vIbfzN8|m3 zqn2F!Y};BeP55^yvH`ZCJdo#&Jh^rCyf@{3p4!%w$wMjOA#Z{3b*UpVhTI}>1%-M#NrOFv72HB>tXzyH zcdkoVoC7#PB8kaF+v=P(X28So=!R}QRJw7^S00f>?sHkQ$JyO0A$)Dn+5xNdsLX!q zG%>Gcm5u3^n{m3!u}7&RLwqfUrBmIlMZXC%gFB{r%BR-fXJtjMBdk;NW4wfKb?h0T zq0}RnmZa(R-qPg_?$Hd0oYaZ9JvgQhe}8DF;_9sZYz+EgHHB(%_Pfo7&OYcYm+1yu zhbuP@A7=`SSke=Z5nPdd$NSdZKNWKTRd`Uv!Fq1Jc!gu%AGVxaFT@`zU(|HY3~EVpqP@n&%`Xo`FyWP1q00k- z_zZ!EWB4|*zU-dop<~@9f}xCtf6RquEW!XB00000xEvNQl`k3bj=MT94b=^cV~&3q z7E5^!oS;RTpf}A;>wR3BMkQ*|J?s{CGtC0>7~=c^HCy3L@+m}6fcO9a@&lCW>tCFa z7F-6(&EzW1g-(D^J)dYHBIp2V+W|*rpHaYa!v6XWhTbAsy!4VP#%O%CUQ!_%(H&&C z28GdMforARi9^=pnxIV1Ni7F9D&rIz;x;?141{+O%phC~!3c1MuZ@1LualRIyBLH< z!nAj5c*U9xZ(a*oGid(#w-s~_GfeB~ifWAht0;{9f_;jaxPT$cW_ zV`0Ui<2zu{Xddykq$TVxWq(LHv>%h7aM`PtN#cJlgP9m10N9L9$ z*El0-!yrJ4TL$%@lYO@;r^6r!Hmn#r_#C1d()`KzYvkS0*T~60x}LHfF$*i^%#jqF zt{o!NgfM&_=uo}I?1>(L-*!x|RqbX=dbM+rWaJpq9@oUH_M@^n^0X=TequOd(nv*) zZE6m<66SlE3NS!Bw!XMqb#V+JTcS@-_uZo$wiCSgkB+jh<&V8S@a;DuLrMxcv&JRm zc|JQYD8wH4>=ic^g|g@sPiB|&)i&V81Sp_Ff-oBiOeCN;0#RuM5a&~<*q%AGdLf`Z zL0>rfE2v&^!LYf9VeUrwA8HwuW^dU)S-%mx<552^IxWd|8QM1yQIC zREf)g26MpdN~?@pzo5rPl}GrQ>Wtc*jTh?;5A=#obtuTJFj93>9Q(vDI0;u2$R5e0Azay^cti?brQD?osH3i zqSVg?mdD1`sb{%4)w6|1Yw;K#sSY-C{2Ko0(!9{`Ibby0&Qb>DAUtvN`eR z_-+^^w!g*YR2l#PfEfS)1_9HI#vilOp8rliGv8+MT#>`Pw|d3_Im56Pbz*HVH>(j; zu)gVAvcFL6$TMq`EHNylp0Inh6Q?Bq)<<;X%?st5SO$6`apK2^MjB>&-Krea_hweJ ztPFmCnFt;8&pJ91Z?F&FEBGCnZmn;21gk8AV&+$^A!pCizZRU(nW!2nB~z|vmC?%0 z#LhMb;~Ssn^Fk|<(llw!6mi=dwyGZZ^`1IQu@iVJ>U=@n%>Fxm;I1;~QzWJdsSu6o zjb}Sn7pX~l+wgKNp`K&|YR>1~pKcARth}2~3#5PRqSC3^Bkx)la=nJoYgJrGW|y`5 zTUeSigY&`x{15;D9sr(3G>)svpzFHft^U5%yie#s+w>y#?7EyJD~b-GQJm&H2byXS zU_~1jU9#Jf&~VNi7@4x&#r2>@9$G$TH3s-auYw9Ly&Q4E*<^qP6W4RF}8VQAo|D5Nw<$X1bw{+=CnWpJNeqG)j|* zMxYUl(CfW3>-@<&d|~~`ai5a7pUHOcY}#A*?2IXS?j5HXcpW&jM}C>I5zqQJjCi8Q zhhwkx`-I*6)0VE12nO+F1??cvZEM^iolUdlKzsQr*h1F*E}X~baw-RfjhzmmW#IZ@ z2;UA~wD}ZCMk7Y4M|pv?PK_}`v$%}i>fA@;zo1zW@sz`jC!FKDol$J;bGl?WQ>>2H zMAdO|A89uk!)r3cK`1b9TO6mc~h2*s5yt;~Ag3bRjCyMwuFYGo%1u9Psus zKbD*nmm=JDf3#R*ri(|0>8{ux?e0QjVQga^cQ+fK)0q%|%9nOOEi{aTwyBCbVl45F z5?D($vU=znr!5Bn1;@~RS-8xjtfs||4;q@I0B9^9k*IxX6vbNDL^?$RBuS=U)-C3^ z8s2dF<7@V6Sexi`Y%>#&%*`N8Qkx5)i`li+TkGd1Rg>pP3U1h z@bs4(K_JoN@{y@rq`9W*BNP6bKWW-Re-PuVXEC57rtGv@x^m4vII|Lh9!f{;)uVW+ z9IEa6Rz4tf&dWRIJAuRYI^j@K$hXl@ z`a)Bh%}gInnLq#-89psNS_ZoH>^H@kpWMRyIirK~JU_#DC4uP8BYrtWi8vKXaX;pm z_=n>?=P{rgj%E{A9z2eWv2Pg5HZl0!I1&TcZzK)CI8SP#LS--{n1CZWKmfoVJ^*_F zJd(ma9A-oTblUFuXzSoQW8h>h959!!D0stvkobC3b32V)r-TODd8CN6d`V)m1c_ zo-VV8RUGiEW>xU)Pi_1oGibT_zsb14SB3=N^E~xR)<$X)n-b4^85S+I#*>tDoGWnq z=%2RZopBx%ypWL8NG?1Sz z9eYoNJ;?X{uUP$z$O%+eM>VpDPMR@=NA=3{|1A_J&7oD=cYQU(`p>PfXl3Ap610JZ zTP?6VI*fnDW~xQLyAWIah_eRc%MD(R<8gh)3OlLK=8!s`t zcqqKlyows%p*L^R#*EvI95O+Ra)`{W3#inGnC`k2Zq4%PL#K}R9^4cxEfG|z{G|3eVoxCteL?46Gv`PE;r$*W|GGaF378%MDIwzQ`)NG#kT ze7L`OP-k6%dtE@_(7PBym=p4s7V@4%NbVz~=hmK`fknAy5y=fc^jgoB{yeQNC!!>M$LO76~48CUs+W zGdr6kIS9qiai^}gCYb{4ouBo-?+JIzC$q04$tAd>TJ%oBUd~f4Y`;525i{GG@$Sim z0e~KqeQbG)NusJWN@Y!OGF9MrHcq~Rmozs+zXZh|3(Map_`kEHo{oTd`1r@JQEPpy z12(-e{z%3pPfi02$IfihL%+#?s%lD9IlJ0}N{5H* zqK)z-6~y=lL2QNwHIzzpP#_eH1tb6yW};UPUTAnSw&`f(MKS~$66t?TJmUUFo^-S< zS3Qms30)+T0384TlLzM`GC0^p|Cjy7j^hA)rvt{bICs&}yUD-}vNkp*T|<n(glQa?;pqf4zpqo88$QY?%9GQTIg_!ewbv5m8qHm73IyOJz5iWJ~Ts;OU z_2aY$xu~=NeULKf7AxwMLSpC(eSt3+1*CxanO_FT12vHDz!AwbmfK1-Q-u<0Pb%P^ zlERK9000L7h%Z=i6HaZu)6w@pm$yN1?(Y@y76T96; z*~N1xZS6Xqr-O`aWG?7u;Zs@at(g1~S^R`paO~ukAx}LOs0APd& zibepy01TA5GN0jQl3b^51LH|{cQKMAX{MwyC6j1q4bfCyQCsdct+qh*z0T7_Q{BBZ zZB#_HQR$^GdQhucRp~|_^r{xBsmf7$ur;r12tgWHS!QrE@RzokGf9wg000>QGnxZ9 z`vbo3=Xu?E{0K5*` zQ6O0A7`gR!h0+@csR!Jxk@Fls-i#1{Qo=!#5<{y4V8dM0^T^{!m%IpNqc(3d;99n< z2Btz23MjD>^LnW4UI9Gpd!Ibs>>`Vx?Sj+89j`f?IP%*e zd$Cfg<<6|&FmJRkA4|4Kdyu}BDKe7Qswk3LDmYu~n7=*G6fM8lQ`c(T+qxw#+p!;3s5{qyKQs&cP!vQ(G4p!xkQN`0KxP0(ITD}AQ)Zjfi{pcvi20|T>+o& zaB5ITJwA4$7F@7NHDgHCKZ2U{&3~#;+$K7Ah9O_NkVRDFb4oop=ro6eaHz36RrEvZ z9b2LovO`wWd{!~NYW1&6oDL>_s))V2&LJzq9R<#;(s%HahWpNsY}K{X49%b2*XadY zo-TnnPPs>JN=j1&vYvQQq1PvZ9BIMG6VEf@ofe=h`a2S5YK786Zi~+n8}X~_pA6LJ zCG34G>x{pBHWdXj34lpET4|FJDtn9O7)CUTug|yCYkk<9Y7Q*Qiq$a~wTVP=qxGHA z_2Vj}FS~G$Y1^*dMkZH6SA4u>A}@#F7-b8ib5QmUWqDL-Ft z$deNjIYZK7vay&Ltek#dwa!ehMa7e05e&DMq3_gdB>L(2s`S2X)+vGQ;wb2vARwtK z@Tey{8f9r=hbhPt^ zc(MJ6tcOtTbK7{x3R;u5NomGBj5U!`*Q98t(~vM7aLRK5gcO6eGf6^?#@BUQ)9-T+ z&Xv4O|LL6rKX8A6#U=`r(Z?}&O*orW=S0_F@w*~S64i6(^?O7T)r$R=_F|?2%Jkn` zSqVbNxv%nio+gC!o#W!!+O*oxt^0W=OQk1F1Qbd5ir5t8unu@yc0za2)P1HAIY(-y zaJDAwrj|w3H7_p2hw8dCTY{+4S9ZomknX&jn~)W1AKa}36$_K?SfQ-BTll_KP7F#F zr*HiVj2NYoCAX7#@w;#7{uEtGizjnB%4%Eg5HO%H z-K+F!yR5vv>!~R?u5(ZnmflzZY4)>B&@LoVVZNK%vZ@@ZG+) zyFwq@XV8}_@Q|oCxkuEsd3;e;oM^S#_PO*!t~M0B@EPtrvmNsH>8^VGgVUEM`a8DZ zHX)nrW#QQKPPVb0`K+t$*ylYJ^z%;N`Fd}PmZ?RXq}Ib8qyjX8UM~`fpR{;-_Okuh zS^~&(Ev?+d#3rxv zeb~JLE=!p4O;4>@;0?6Q=dDHkzZ6W_*t%<{26|3OyZ5ovSA>IZ4jSD2NpwXYZ+Uv2 zDkYH9g)4%VhdXHTjDrRvMJ0=JnfvE^l`Y=76}Jw0-kE$#12~Z&Rs=8LzT$nwqSa?l z#$WNP#bJLN8XPT0x*8^FpWN#-E5}1Ykf1fJe79y7{uMnQ&~|&R6|Xr}BrI!rLei*I z&WoM^N~e3MZ$P~VmkYegq&RI^g@82t9j)Oh;%80Fchkj&YCjgIHPFcEf4!#05;^(8 z=<-XOxz_AIul~vFeR!S6GP(1TK^eGOUA=m%Q_EUOQfl)%kd|3bM-aS1@gUE0cH{w2 z<0TuAO|Ef)KGXt32;~B8}-7F=Wy{kiXPkA)=3XnNV zsVQ?Faa*6?)+JM~F<)YSZ%KCY-O?AoZe{RiT(TM9RqgWS*2}l&`>B$5F`<;?-Gu%4 z^|DFQlF)#}=~vgJU&dnxzl7tgc2RY2k}178bSKC-2x;2+shRq(7f9wN=#SQ*E?x};e6~o2rt=v8|$9p zyM}2v3Uhq>dVoS$SCA9jly~{^mr6?is}kFn-hh-p%#O*5sOmfh{w=@r=96<;s&UQM zV^3-v)}DU)e-$f?9P`lq)b+<-D7B_lCbrv3eN&VJ{F}=>=&JzH8BK$5P}%s}LQaPN zexcjChogG7<);s5J-}Su&6oKl?pkq}iA)cQ+W>);ENi%lc@VIo@}v4z<3=4ag{XgG z5EnVCgFQEu9xz^Rw+dlJ&t-P#pzvaZdirQ_m1{QiLo$PCtS4VF5=&aA!jGh_vurSQ zhJX*`@t`u=T#9+%mCpG0LyTpa*N*46&}z`?fz(}o`&#gf8D3Ma-drnEIde=}3fyKt z2RSZ^$Qf=atY43&cQ1=ghly*F8Y0V(zFZ+{9of@;^Ah_r(^-9KO5UsHR#pvx*mqX) zx2raIwre^vP@rzgOB6sb_`@?-6NVb9JxH@)Up%s=$gdYX$8+6T?htW zn00X!Y*=1edRiQVKK7-WFG8;N_dq3dhLYY^@w&{sDX(t17kWy0M)izZO3r{cvM>U_ zDBo9tVc%V}eC_e#ynL_ozg8M*T1)gIF+dM^nAn@O7k-w)3oWzK)Yxt@FMrknH!VtC zzWTO-t0_UKcP=wac$Fsx05FKFPB{RC>8qg{ZndGWYBCD&h5o9TB@Njz{LVqQ^RD%# z$_Be%)MDa$wU!h$`;l|5Vg+lpFVJ+u+A5xrw)s8;A_IBc@7hm_rbI1DrB|~o@ixR^YJtNLbI_CO4kZL(HWcOVyl6vrY}yW|AU|2R znXeIVse6&kjQaLuhChXx?_AWb-K1D&n<_(kn)rWK97AS*$6d-enPnArpZt>HR8b#~(oC4ZZ zE>^DdQ+YB7v$}~C(RD8!rBg~*waGN0ZxMPoP9Ehh|eCUoux+tb#@dbufA>Mi$# zTQk;kE52PJH({Q|<*Db{nEfiJ!&2^g)`r0gCy8ZRPuFx3-f3j{h>TLrI=h>|h3AC}y^G3MtUZ#~c zyxT@(-s(dHV+^uA(xo;6%^L|d!v3usUbVi-Cq>9Qhl*%5>rK~*wm6d6t}#MpZ?prU zQ>wnT^S{lelJLQUdtYhZJ6V1RUGX2a%fISql}7%NFj!eNW|i)g(i-45T&-a`$7t3o zF~OBY%(;bS%5qm~&Xu%oaYDIHY&ldM`MZRQh1>}eE0|*P}5efYMmyu0EHzx z&fB;=(^wc=m!$dvYiK*uJW^;l?Sm3{{>^$ojJxgrQoTUy0Jp5q$Z%Ul*AK(?nGKo* z3S`OBS?_W9m{8CPoH=0&cIk|Ws5f1}G0 zR^d{Sy3#h9{|Nen8Ei44WtF|EEcFp8vt$ly~=pHkbWBeU@k+Vw1ma)jdT@K24JXU z2$4?d2FEi%;6t%gC5O{N;W6LRQonb2=UTGdvWs>Ni!uzT<2=@je+2>}G4`Eguu+JJ1_v`5Qj-)6>whf{AUDQ#@tuS!Rmnvpao^lu zdZZ;nS42LpHSv#8%r#bfhNZDPW~bX#nNCz%Bx+96+vSe-kNdG+ppyz-Yi1DPd;Y@` z(6j6Gp#MB3SYYf}cuo7G^g3z2ZXNDK#;<*S6a zdpzdxo9HZjQ$~@v8n2DAbA?-LwA_Rm6R29QNr8xi6(6ze?`1##`a`+)2uxjlk_f5b zmoocre^=VmRzeL&+wVZ$BJIg^qLL?7@;m2SDlzX_Fx*Y$AUD+y+ZgkUf^n!}BoSHt%cUb0qCo3+=SUE{gm-Yj!;KW(^DphpP9|m|-`76(5VTX?V!RX||G(5Z{=4&a z=|0FDUgObb%Q6#5P%bKs#&iOpv=rpw`Z}m^&~!25o5!}~bgqfrH-9#GY?wxf27SBH z<_S|@Z!-d2Z$1?y6bcc`Kq&bHzcR!O>%bmEBd>+=P<(>JM~Q8rYTe>YMlNCsjo!mwsJGt zV2XWcu0P$X*W2e3csiLc=-@`+Fr*Si-e2x zqTJEu#QOOBGSv46_-zTg>;X;N{!9Bsohx3nlM%I81p;~9_)L!uIoO>3e1$?^6!y!` zPG}O5tA$$(XfL-ZW)IHowT{edz-~&{xB&*y5crqrPA(*kz?zLEX8n)?h+RM#08Rl4 zAp9m%T8Spbc!&TpZ~{>PX@jcn=^st|ZUDkqHF++7C67E?9-6@j-2m;2>tl<{`k(ht zZMmw&sgv?U+3c5!fX^ClzyJr`H-0E=qtl&IgevDMdVATyl|wfkFJfrn^*X;oUAc`L z<1;Tze=}&^Y`rH7aHXO?R|}1x-|4*(;l2O><^I(QlcS14s}lL%69K417ZjY!w}E&B zsAQ^mGkEoBPK&;owd*Rr^_(3v+b^y7?f(#k2IU1$6Wf#Vz9Cy>o$jbN(U09K^Fj)T zW!D`?u;}^zR8dluONFdc7c|C!4FKcIGondh88o~>0JvZr+yKnY+J2iSX2cfj#txKo z4B9GNavIyy8Z~{;Os|gzW zO5`Coqid~PB^uJnN&&T6u8RXRSfwM(zjy9tYeZ;A*%2Og%~fG+b7(}EP^BUaWL8Y~ z{MlXZ${05env^LLp@Y<7fNC(TpyQnEzz+bNMHIySw0hU6LL~u-7NP(SP5=r3O(L7a zD3)TSs&uYa073u`P5=r3H34IP#d0jsg-X~`wX9+|0fHL6(PA{jhmVOvh8EwB@DmzF z>*Qcj1Of-fV~~f9jFCX`L@hXlH~?T{<9uK<`d+*-zupt$_0MG9w9J-itVss|Yz*vF z`Dck#v^r_>E>iBDFd!q|{4SGT?Pi__o$t#T_2Nlef1kw~8#2WV+x4|<`|$JLCKi_9 zv9fYQ?}3+CZ^%L=!6(B@rCQ}9FBT?;T7?KT&QUkZ`k1t;7vH5}WJh8Ev&^_-m;mg$ z%yQs-6;|Lb(yKRw<_m!2;@HQ+f@OEIT_16;P*GQ_r%6+jeS*~DC>L8Ruae=%HnD_9 zvuBy8Z8o(!_B}W$$v8|#rpdfq`5CQe#&0+VRQ8bl#E?o})C@?_Qkjc2DiG&{2=hPl zt;)1g6bZ#9J5c=%u{5}Q%a|tI3O@p|=`lyoygb-nYytQABFo!0xl-4aXZ_Ivs?jBLSD}> zcj`SB;~`^{Qkhdg(Q8@(L!tRfBoKX`@jPgT}e_RO!T@qtC+*GO2q(e*r4)ZwV6f>)5tGHe59K9swCfgkQWb{UlTN zM^E3Pw+MOKxMt_Aag$6SDt`(fZheI6~H4ZJOJyb#K`%>uuJ(TY=3_;#rcW zXKA0Vh}HoB$Piu80l*Z1U&n6lI+^jBElU;0%I$qMMx7M48(r4 zQTi-N5}7@{lxk5KmkUrabvsdE5M5z^nr-T@qO&KxLs%epv#%zoXR60;LK(H?D-3G0 zmaW;*4a*eIgU#>__ozi`pI=GoUh%kC#c(BcKNRX)DY%9DLXgTUr{tn0 z+M`SAP6gkh)U{2|PhoojttGRhX@pRBY^N5TaJK9p#YbI<9e0OHP({yH_LTE^;J!J{ zNBp!!h}<6mQIB?izubNk#N z*v9IUdzwHga^nDoR-ctR8mhRJ2&$#u=UdZw*^UQTE)GjT#orrqvhI$5Z^N#Z8s8k| zD30l__zL|JY+3o5-9-CIu0@CnQ(NlEy=$voj^6U7RV|p=#DtjFdScQG_bV{yFR4U6 zdYs_BN@CE<3UfE_=Z#@bJ$%EBSNN;w)WYl(Zp-sXaC-l&pl2*xc%*4sw?XFjunlvw zkH@{OSz=)Os2=r!pSp;6eCVHimj(SKY3}w)We27m>e$PL)~M3@+muT2L@mDybAJ_w z&8M5_wDfJgN?bjQAKCwC8$Ru1SQp%Tv1{W~P$j2U-uCJ4qZ};!pBhfcSnK(iR;)~+)D=8>Glj?M<6mdop37O@)M;aZ^$ zJUkKtc;gf#&s_kR&t?=m3Cfz-4YbSC^8QF)XR;HLs|vmASJPI-HHpw(l8$Bs#q#Cb zX^UHf&{tj3R+iCjm~+T?W+;`pvY)7tjxc!Y7fPt8b`zb-{dPAj4 z^wn#>)K@`%3%5k*%Q}|tHW%UiR8Nw%m!*^q5vr=!{I@(7ItxmBBEti?A~4}?X@L@N z)%+`OUu)R;(d|Pi=o%jYjVcs$?UKG@(iU*tE%R6}u01JZuEhch{S}oyG^bK#=m9}zZ%DrE4dgJ z=~lEkQJ%mKa{M34he*%?5$b&1!9G?ee;aXlTM8e}t~l-Tx25XQ|C4hX9x>`GMI+%W zuY_Uq(Cm_|v0%HJ?L54tM-GDfZ>pAzDOU)T5;W+J+CpiE5NxZlZoA!WaPreY)L>Ry zqcihh+un%lW}E!;5mnheDi!Kzu(asb$-N~GV~X{>Ubgl?bRf#a3v8 zhr0jy`InotoiAY8{aigQ3mL?iGE2r}`F!Q|z>f9uj;>@$Wvj!-tF#gNcv_QE!0sG7A?A&1unMx}n;Bzjw?tTfEqX9yis0FCG7eIn2FiStNNSEmC%wP8?GsmDN{Lqui1MVyWJ zFTYhVRH)xs)y#GP<;1_S8Fzzb(VyUqx>cm&vOQm?`2j>+_#gf&$36IlU^Q@hc^VvI zo*lK_Um5DE;)HL`@?vq3)~sg|_4Az7vt!d93#9`qJ$hj80WcCN(hMcK@s6Do`9J%y zCiODRr6W=^-cmElKY59@U@KWOhwxjd>uvSwZ>qejNr0u9t(lsh8w*Pz=}tn)p21Wq z6LcKiFt4)hFj_Yho7&@L?tr4>FXsd*b=E<5|fa+A`7+DR@VKGirc`ww_2>lG=CJ8s^PS5M-y;oZ7nJ;V|Do8J!lrahH>p>*dq z)QWNCuSwNAd%!XSZ}br)(`^@gQLsr*!qafTpW$uK2)pC=*tC;pv47B7tYAKrHWBRe ztTG10T#?2r>#j2O8p960<&vrWi^(XO?3qfqT0e+#NDQ>5s<4ygyLnWeytKGrpYKaP z=x!GUeZU87`MG>-^rNTTD@V({s??;8L=?#LHU{_&HHPh}(J~Fp_IURq3{9--yqmTS ze>v~Kjm%3Q1W^>LOL%$f$L|t`Fr18c5hk5$v@OSXRq|+W@tesZ7lSTgX>&R?#=pQ# z@*2g$j&9f0JZ_&+Q}{~$QKi{Q@7>PY9>Lt7sN~EYH+D$vT8`7t+s^O<`hlQLGZy za9+=@l|8k-B?}u#U=8k&Q>n|A{%6h7*c%6I&$qR!pIqZ-M}FNGCquNmqZfTJK${^& znmakIIU2>R>=!@)Kpz0#$ntQs)>>LHL%-LxPr#2D!3)7JAfhESM^u|xkGqyYM8Fx^ z2RpWb0t8}68Vzi4pJ2>yPOw%xil#Qm?r{8iqX1$b26nVrKCcp};|MQB1ooi1aD6=Et`2u}c$Phys@ zg3WZ>DWQDUaIkLhk?Wt5@c@wkAVV5kv@SqIiyD0cNqlL~|5B zwhJ)Ci^c(kAqH4XIbanQ7r;CKx6V1lei^W|{XsQ=dipUg5DM_7#2|>^0*nIy0001V z2e^220nz}pX(z~Mr+`ra0D1uF@&#T7Z~&YD(gHsy<855kHgF1$B+mfpBTD}c?_8}G z(jK~61Nhaic_UrU2>vGD^-}vg+6tPo3XrC-q5HS}TWs`^gi`a1AeLQz3WWy-H*B;u zC-p8kH;$*MP;1%nExVM;AAdfy^7Ib>ttsby-muf_#>U&0x?j0~$gJ@F&%-SDiIUhF zAA#@(t3wDXmwa7<#@Dz5P5@&707+XEk~ZUc$IFH+>PG9FKkSzyXTu!o{pg>y)3%Mm z)z`3b46u$nZo|BsQ0fLb0JMWqH%p*PqbW9q%?`#l(04ymtTh{*i``J5_h5Hz-gRz! z!+72UzTR})$$x|6GFW0eEpT{1zDB+M`U}S3yd!a(vKj|3000000NnwTkmVhG98}_` z$)r#KoB#mz0QrPqY6DIVlL2rB`GH*EfKWL{_wi%@?Z6dqc(@z@0H_675!Xb|m7PBh z^MprjZl3d)C{T#o{KRuxocZ9m`DY8#^~Pi59QRjpF;Wi66U^tbilYY_0Q>_)hBh)H z{RlLZ=SWY|pUl|4j2)V?7JW8Wd}Kw{GsQSdV?{ip$Q#pAMZGtYd*1Cg@Gm3XuiL@h zg8hn`6D~gFEc%MfoMw-ZwvaOc0DE`Hwgj=y=|aUA)6&3~bD!tUhe;}!iugz=Byu>S3-6D?lsf54oz(u6hot2UZw z6C-IE13-@D)sk}T7x~eErPiPud%$ZCIe%1kQfuYWgGjC7Ud#N-U9)yfHmB&$l0zb_ zHw)o0K0dkBfLvM_Q-=e+RL#f`uJAMf0OBt51Z`*jkNZ|YAXu3BgSQDm&dlg1# zmCNOi3nu`NhspF^Awi?(aTWctoq2tAZeBCJ!#Ku{Mgu};c`A& zs#3<4?S@3wWxitsbNZm|42(g>vJZk7L8e2JA*#Bl4$BFB!D|BKJMQ_v7~0csJa$3t z#X)-_^ALv(Bm1=OSNVtS75N8U=|+HwDNT@~qlZLDS=m`>i1_*^BtuGSd1GZE9h?r; zzTVpDRI^C+Ev5WtKN}gfZ}|XUb3oN^KbMVgnPO%5q6~@`er$VG@-*7WbL){XQGIDx zYrsLpIcH6%Qf-W!{+C;x;8DL7*<%X?HLb_d!#p-t?>1{my4S&eOY11%nq3G9|D=+g znWCH4qA=1y)P*k$a`+)NL@^QMuc(T7T=Te)T{bYV!q z4aWLt4BVVr ziArbq(Kf=)3Ty!Y0Hy$enaUKC<&Dd`+GpbnX>5Vr|B@_ub+~8nHaYyNlZt+bLd#I2 zR`ck@7+~`zGQ&uCcOkH?`3DC8@gWVJ+XLVvdMJ}ZXBm6qYbS?uj;g>>D`zshnYpXU zX_?%y$#=Ts-c9p+u~0ra<}M=OZuEx>fB*mh0OjEBkWR*FMaeaq^Qw27@Clm|AMV$w ztFIKb4`U*_o%UxVw|cFX_leAR*zl40i1hlRcA`s}O!6dA5aW4pM*slp2f-uqExY%w zQ#6D?kpaMd@}B(g7^*8I{wEDh6~zXaGWMN}%n;St-|n(W*2ip9fA)XaNMnD>)RXb} z^mN0@!1xQC{&%mf_IhCmYVM`mat-SRf3{5V$DL9ex&XBsrT&jj?{Rc@5D|gPnG63r zcvd{JWC@+a&WshudQWwk$#-e`k}|4;T$vR#`3+T0(-+5avFn8wB3-ds&ey|XP#wZ< zHDO5C_19*!K^ysW&LU&E@Kq1*(#j+>JMma&eh&BlINzYZFzdN|>iU6$ViMNlK3|s! z6-B&M9Q)DrbiWSM@xK8LJ7>2sShB2&j&mfw(18)t0uT-@lfdUKtjHv$CTC}7rkJ&X zN3*GB9GfvvBmf`*0R84fIFf0LoW!7fj^5KNDWm^=KN@igC49Isp3kVa%#P`O@WdbT{{o}kOu&l_gJ14 zG1->$%eTCr4FPeF~1BWV4S9)SVVk%T}urjs@T9;6X%!z zf>BGkAs*%-r#A#J4qaa0D?_YO(T0AhQYh4~o-#e`lmCA@??pG41D|i4EoAeiuFb}= ze2ZC>k1L1(r~v?<^!Yt37oDG&a61`XWL#>WyeXrmUI;XBQlNE7n#ON7)vSG)sgjbj zcy0yJ9}hh#8gz4JDE3ipfy2*C$U;_a_WqpbcPK~;x-J7>C?bV zbe@T3Hot8NoP;9)UX)@Oq{lenOs6PGq&50TiR`H_e7HBh2oh6i0c`)ivSQI0-})sumA&bH}lyfGy||F zcVyxK++54G01P()vdx(-lHH6|kLr;mar1DtRX|FLkXUsj`>LpDs1(7s2vKCwG?6%FK(S3=X2MW zo+a`wYIW$Pu;n;cEK4=L>U+5jI&zI>%|EWO)@g3ls_#-*Whf<*t$UNE1+kaWWRRcH z(hM$1c4S^muWG1|!Xgw3g?!*P>*zul`C# zh#Pt|bz;1lQPt*SEAOSNR!FUsAo+TV2NY?038W|8?Q%QbOXwGTp>N()VGOcmd+CO= zw?Z9D?NjuH&PyjrTIao0G-zY76ehC>kgb?xXY|Q#aTS zQY!8`Mzw}LYvgO}26p&Zj0@W4L6j&z{u`lVPKgV%lbrze^LN*&ZVmYBD+dj{YI==d z@D^kOim{8n7Q6p*`(#yrH7mOPIXm*|6(zntP&Id?>N(MLN|LpO&ON2Iq6>tgT z^)gc;fm0;2QH^WMJA%d7vSrG)J7)%V>@v}9WXeFncu>FU4^(*drY(d2+ zxz}S}@_L=J@6s~d?Meq#*u9Q9lP2nzie@j%qe-a)Ht}gy#le3tNcYwpq>N@fh-R#L z5;)n)aQx$(3;aJntFVonk3X27aI*=^>Ka1js@9l;4JRiOrLMpW)>a0E(ahZ6!>!9= zSKqc-C&prbm+&6Xot6X|U~BPyxSqGSku&{ZRgBoU&b3vDn>fVETBM>$YX;a*PG-ov z!_-xgH+$GJ1clvyTYT%yK50m*tO*`ETy49b9haSqA}%d?tJ^0M|A*(cY_gf6>3t4% zElH5Y(|Z>Nle+U)@>F$cdg4A0{nam0-VU#X_zK)jkXE|8-A?JMu?@0Z>vvJ|v)6Rao177;5ieW?fZO`lqHI3mzr)4?Q7YczL4 zPe*$Ff)xr6EZ~^;mOj3mB>$|gAn*p$wY~_~ELDW`3%Y~%GJWJ6j0b_Zl_$kI5Q0od z0=+E*`F3o0uDbO0`%5GM+avY3@6+f+vr$&b&w28;qz)^xie94_n&_h57duLHUjb3O zzHH;gG4X*mdMVvuD;PztJrC{XCnBVl~QStUZy=BXgi`i~hh_8ip z_@M@#NLrsIR)%uQ(jx&qYm=Q+Al)Jas~cK_NaGD*`WY(aaKsYX_WuyrW`+sSS*3(- ze=pO#=gdv=DHUER>9ce*E-56xUPVg=s5i`v3z&eb1=ud z4Y+0Ck{_Y2ifu9K#?;$hQVzUIQVl)b{dLQY)X`F0?cyrIBJ+G(Ck1lkOcRe#YR(_| zT;A*MuJZTPzl6~bC;i;Nu=}{@uDM>(3Wan0cKd$eMc7RUP(*v~rBu-L+OS=Sd%WK= zI;vUNY00iCpDIKwfA9fWgdp@Oibbm(0ipqwN0* zC=3k%aDY&K9ur;e*HLDC)5y$C3lI%i0GvP;0W`1v^^_Ukh*~=%18hSQ07jreiIU%a zSHp+`*sr6XB^!N(H#$2bT$V)7WN*@pytp(oD*O!DY|N}^^h{8LPO*|#7*xPkXEvUm zYI*ag0{KHBk$@j#p?Cu>*obo!mAv~G5iV8K+7i%q}ps4L#b9vFIW2$i0u-T^cJxfJ0IXix-BKiA$ zu`up4ocQnjx?*|2_0{p8T71!PR%M=|!MeG(DYwc|53J}fJ9ld4a#O-dVyUS3t*nfy&%S{Wla6r zI?1}cB-YZaiWbWeGzY<+ha-8rVuu7k5F%{{MV*M4mwi6E3}GvaQ$cw;Bmi$R_01Es zt(~Cd?_l;FQXr?>R<{o5Jy;qo1wB(ZWFBc6T%oi^PyCHN%CaQke-!Pu_LOvCXa~PX zEg1KkS)=aK=Byd|@>2No%6=Y6#8Sw5oIB8^fV_q{m7+ z3G5k`HNEKrx|ZE?>kXFp*-DmOI!a8XSoVrGvmf=2&0&GBi>(ZZRjm`7WRy0v=TdeaF4YoR6JY-q#&DN5gq(cPBeiHID{jiC*T6ZXWOX`e2Jn2z=Tj^vXmO(f(BfZN!PAzvSqn>rn12)vZ@m7~_O3f07!jrdt=^thqPW2}fki_{m_i z2>Iz^?H|6y42?@Mrwf9xTz$1oCXq69I@>2{vM(A5Si@oXDruc;% z-;uTr;|T3HFD2@5tdNZx!$07L32% zIHOH7=1-3@Ju0eGi0)L3G_E!|9JuVisve%rqizhixbwIwSfdurwbZW<6+D^peDebn zleTr)O&f&eiJdiBL&o)Bgde*WdCah%-jZyr5lah?-WmGQwh_QCKD`Ir|Y5gY;&Q#7atfN&EHY>edlrrTIGEhI_@az6rNncOr{Z zaJy7B#L%4F9niu0W_QeHduz3=wvSzRs9T6tatM~FTC_FJw#9cBG&8#mUB#f33GSm& z3bCn6iNf?;FA-;B&+QzK(&WRuFd8x*U~IQeqkjLBezxUEK5S$M5bn60*o2qd-lvtW`tFQzz7T2T3jNPLX=4{zu|1B93`y zu+n2D(+`Yo?_#v&__h~?FG{WOg=d~4#_uFgw*CvL z^uyOJXB~MPwyhSBI`Y@%xZs=Czw{#yJFy(Ix$n#1!4L7tl9hgi zcU+cSo?qDPj}lCrijp6>H=3)KV>VY38_MHWLnT=wEsx?R(>Wu9R&kGRq<>3hHc+I| zwomY&OJ?}cnQ|4^n#*NL9=OuMlT2SvA66GV23QvG44x*7o&qcqcrW=d?q^_TibL1< zRNdNj=Y5gKQBYxsoJZcbU6&h38)wru@?jgj%|s*{+sKJ+*fwvn`%0x``;#Bb%&A~O z8e>!A6^JXXwzIiIc-E$suPOFj=#D0rmx)waAi{=<;u*`Zr>~Caz;(PC#RNa? z#=!J@Y@`pq;wuL|xB}pRDW;b;MbVObo5v9NMNn)HfC1);Ek(^}7 z&yTV_ixZ_!Rqb~;-5r%%^cjTAh8N+~KnBz!1K0tC4=C+WrDmE!Wiy0Auy){a^c)3p z_qGjAInGX&6aWAV07z=1lneP(-ls2tFs&VQM;%q%{l2GTRl*_CMToQRQd`-~r+g;p zCS!T48`B9q188=|a}8`kxtda{b3!$i1IP6QyXi7Y;=lcXZiViW#7gBudPZSgwh)1m zjwAe2{Xc)dmdWzGUG&Ft9Y5{jkwK0igf18G*)GHoTgNE={CX=i*#_-pu~BZnxH#3= zUn&482VsbrJE?%o&rqZYjoK(xO?%S=DZ`{_3};rtSfUFxoRos|DAqc?5GVF6caB!; zDDZ8s?6q#*1@%wcqJhQ!2tL@VGlFGJiXYZv%>Mv|KFt z!5rIg7|_=M000000NH*&BUDoz91PqsrAPR5@>Tr4ki{MT#m4m4b|4O&nu$yq8c&^b z8octr-h@*C0Pg@Bqs%iwoRU3g#ZV@nt858*Dn4SsG^cAK56@(j#yr_d;Ki)?W!}g| zi0X|GyLPK8+pYsjX44cCNk^ioH_9kxH~^T|J;dY^VJB5(k5AN?IYH_&!7SpPyC15$ z2~u4sq>!eZAGN)Y7YusMgK)2ck9iiw zU9+6ZPfEaVYhC2Pa%o)Nz#G;88p%60Gti6Z;nZNU1caQw&e^*PR)!OR8~^~+ z0yTMeY!7FfUH6z?XHvIAQueu`&v2ePtR|a&qolkPP((+OIA0xgx?Z?fNB{ikD^JJl z@$XwfcyamQBcVNsEp4EDA&+PXor;Dw*Uv`VL^9e^YEZQpqr0^Sz?vFrx}KHA z@$o9WDaPPblQ3JHyW4j!2M8aq~lwjS~l)H{@UNqh^uJB&Vi%_s~x0Hd^&^Ti-6=4 z?TuYA{v+M=Yt+G4H+uv)z(7v`0000005LqaW7ZC1d!T~=00RKZ*%|nZf0?sYP`mQ) zOwg5m>JH=4P`u%#s26TBFD>~Vp+X|m{e)k=SX^#qa%}%OKU)o#PO_7A>$+L@zfrQ` zc}pD=wNH^f!KT6O|4E*^W27qZysN9V$)sw_EI!x%33|a+o*U2@?1a9W*w`~uf72Hh zUCO@OA9SdI2(VDwncEPDHHmKD;OgsWJ@Q8EwaoAS4C~(7aMa^LZDFddfS*-*Yo_Mq zQttZ6^7~y8L*c3yIB?s+-do|{s6`&rpJO@@EH>rVMuso&fp>eiF`M+v{fxK0jt}R2 z(t(MAK``Mm*Y*jI7k&j}uDahIJIM6_Hj{_IiNA4n_j@Mr%(*B0Ti4Ikjk!muYU7o| zX8L7=p0lj<=U%IVKdoz=Y|xDZp2!X=<>K6Qwb%1?H0v$pS{`6YyXtFMD)lYJHFgKMDmkHZ`e%x z#EKDtMiWBP=<3emROITkbes4i8DRhAVC~g^wiZpoVNm%BqeQAU+W5YtnM9ZZq11Ue zfLs40wApd=UznB|A@5;PpXrImhfl#_oM4 zZ7f2e&d2LVFAhd7(=ZY+sqr@rw6pn0QwjB`(g;M0D7@oZEJ%ZWfKe!%CPfzsE` zhoDVyztwv`h5v#~I;01x7Wg9jAwK~B@@$!f3Cr+EqC%k)L?E+KTo**o{cXjK5A^dS zQGrNgh1kA4+Pyms5H#_*}t*rPMFp8;`XkQNAeE2T%yiP0da%qt#D7 zeXsnKfA*J^zr|M}_#jThKjMS^M@m>P#D?WKO?HM9t-qxB%(t;N2aC6A!bqkxeQ(;- zaM1iqkWueZ7w!@2`uJ~|+2(-&fB^u#61F$}i#b^9nX|mBw8+@#%#l8XIGy47oypbX#FQC^!Ghhs4;#9mQ~#m@o%|Jt+3 zbf{58oKv6M|3_-d9|r)yDi9C?0000pHb64~0B>eUP`VdcakLcO^6h`NZW2db*P~QM zmd&LCu{H5GVC*NCkon)@zkz2JTL3nUw*Zq}!JQ za;SA&2nVErGUOqqxu^X5NckjEwWn=KQV6900E_?`%>mp$K>K~)@7;H8+q>PnZFI9c z`^iSVHQd^J?YDJkYg$JF3I;&{14u!IAWHy^MvxS~Pyhh~d?({UfM8G(paggb0eI5D zN8w3WA4m9O_&5j$;+8jUI;@DrE10QjvIrEUu1Q8#mz=~^YOkyp$XLA&A#_NEE7ht= zrF^`4H%FvSR7ROlheNeavaZoM*-AgMCjZ72eLQI1yc=EJ0cc_2pPf`*-Z5*MF>t4a zp-klJ%+_o=n5g%pSKtTH#!e>s^zQ2`A+HapnAsV)l@hX~>XXN<21+`Kh2@+qoVsvhwc7nfz?7AA8n#D)2doju>IPP@Z9IU9}@s#hsUzw-VN6kLSY&| zwD-73cc0&4+YH&g7QIJ)&FjbDg=`*+MeyHT^P(rDx(phG7bTb-ETXaabl*N{pRQ^I zTGh4b7{8)9SS~DT{7wJ)gzBs?X#X8lUsEmIK^gZ>mj_jsN}{2no_$0^0+nX95ESY5 z!WsO=3FY%36tA_h?IZMr*3UFR`1fs`wa$7ng|V$kYTlqU)n^wdZa(k|ztemiv4l4L z?Adf5HBH-9X5buD2+bwcWlb8~uv9DEt|C3XN)1W*8>LORdydR=#nrtQrJjN{$XlBjmE-MiMn1~y6|Y+)+wDG6!m9hWZRR_%>e&ZD*; z+P-c?hIk}&<$epNKvt@SLUvnG#_SAR)DwOZKcC)MXI_M7{5BFC+KWq%Xe;AdY46(0 z-UN6Frk`uKfQeSwWuzq{cHYzv2hI{zR}&0uRE|JWotI&L%r8qm$uz63k7d00RsEYi zy9^{%!C9?#L$9~*-91=sDr|R=>rnLuQ7_b(`&DCEJpv3F-eC_*?dtw9)~9FIX!CBKc~z=Q&$k(XrY!6U+;`BXIO;H4 zMV)<<9HKg32s=ZxI@fSC9V+V;2DSSdBn5P@vrfT#F#l`z39;r7XkBRf==%hN(g;+I zLtX9baT&V9i&;l(5fn83S@c%j>k#sU+TpJa5#{H!1HEQ-SapoSDTNBZ@M!3jb>?be z4liXM4W1j@Pa{B78RzcOxCXsT;HFrM-#B*%)JEPwV(Rx3#pWV?mmE@>SZ!Ak9p1~t zcfZu?PHe#vua&Cew5L$RAX&@wYHdSCNfnJ0A~^{wU1X#+6~^`{`(FxJ{AQCQGC~MK zkR)O4ue@PM$&jK2?r$$=BatA46R9!~wyLRYI9lG_VOIpIP}KAK@`k(f@YnDE)Qg>X zQYWmuM!72m%ibd%EY??$zdf( z;i@}$rQ$5H_mWq>6n8(avoCE;YsY~&=X<=E`TIPfZ2nqqC`K{)SckeoxWQncxV`fJ zhC9_T4zJ&#f&Ab7>g~4oji`oeWp~Icw(9PPB73LRWV|UMv1@YtOx%XO)m_*@c%h1@ zho~|1wY82k;%Q8oLo_MOnqU*Cw@LS0u%Pvh7IZqZ*{IV+Eq+%d6;+3t-#n_dX_K}ely_zY zT-qttvDP*&1N5Odjhq5QWjA80<6YcLaVn7$DE1PGGj~6wvheJo9)(~Lxt2IH5~HeT z&!kfL()($d=ahg!VBceVVYDQOlN4`fc4_?7+{!Ii<(0gn>uZCaH4lTPJl82ucPe*p z{92hN(L3a4F~?iU?Jlhy5Hqo_boO(wYl*{h2exC~Dx4d8F@hD%MW(JLx@EVi<`NF= zfD+AfWOSDU8uXo^lwH30@5~Koo9#-%3GCA(XrJFp5nrgbg}Y!0ScIXPS6lsa0{XHl#;EH$eI9pO^Q-Q=27uT)yOZOXl1Ty@H4_3$WLQcFF2f@G70U1nq)X$AYOy!g%j zq|iroH=R|L80R;!UpkP(+sFBBQF#LH-P@+S!~EeEYc#<9DZ=vs=V+!7#=59*$QHfi zo=Ki;wYxj3+V`C}J}PL-wR_mgZ-FZ_&8$XNGM z(kCJ@HiIgL_6;eb#-)PGC}*&&xD{bla$E=7G?(h#ywNr*FFO#0<|i8rly*PzEOWrc zVmw_o;IGYEAH9aki?RhiC&QlxUBjkxekr_P@Xc=zk7XMmZ_~@!&tB} zogE)e!x@wKQ_%Yx2?I(le-KyYXy2J&)?0oLRB*);jCV{_9w$ zriSV&-yNX{v|#C&{*~u^v$gm&N8D{+lh=FAHJ>UEiMVSEW^9+6Mc4DVmp$}Gv=f(3 z56^;TRJ6HGi_-jxydBq@GvkW_55%u&Mdv6al0ZjAdmg_&61kpQOmoGQuFJ$oA$gXL z`b@EFO85dRQtG17rmOy_`yu|AKtFBqDXnXcGAfBQEdW1TTIU7oSaK$!^1lo9881RV zuf3=MMB@EJ-yIj_TLH$A^;)^()kFI`K5TQQ4D=$#x;tGwubvki%A1wj1im@_W9g3RG7T-y?UF>lJoc*Ih`q z-A0Ty!;0dkvgt|o$)dfdr*~@~oHsO{i?+5)Q1U4;t86b@wBnrwU3-Pp4JuU@)8P7O z)Z5hSyBkhoMVubsTR)fLhVZq2GRIz)ZriR!8t&V!D1|NtE-Ve;GZH;|v3el`F>&3U zZ_~=j>$$7l) zU!=CKl$NKN-CWjG3!3_j+_hj!clZ-;34?u6CtQ5Julqsn%xeW-an+3k4CD0~(i50039;Wev)LK70urz9a*(9pL40DJ)d zlnb6^>o@#t0r7$zT%IisK)V_)-Dep*mM)Eum^{(JcoJR`%`aE{Y74kLjcu&Q0V0Ik zdp0jV7XadkvG#xgz(o3@BgN&1Q=g5ZqX|f*EJ&U*n6*oGj$KT4+!c*6O3TwmR=5<_ zOIOJo+FUNRvo*PMtkw(3wKI5NKj393%`W?9(sz{QoYUa*xXU-P8UO&m3;+NC00000 z0001vsR#2dE0xQl(W9HOT|KnAMk(pCWOuw*&QgQR7kJ*8-RFKFd!nL8Inqh6k*fdt zvU*K!A1osAdQT;R!2pZ^-~a#s0H6)Ue|h{{wjud?J|U54w5#Y^F_c+OP~{hivMC*V z@oJN|UhuV#RQ1*Lfp+OOJyRd#X~#31(2z(Y3Fz$Nq334a4JdMpA;9U(hY;NZZVtj@ z`GIOA)c^^BcVD>4XQB>Bppu3|=+p)(GrGAjk$>RpUnkd$)LgYH~gmfd3X`Y(&8}xNhN1! zZTVai3}0@H`KlmO}c<2llfQx5C>&)Sx5Z4 z&GR`^bmYvIvSWBMP#-Rhi3560F7*g7KFOQxm#OfY_7|?PBjcrer_02(qI1J_7}VEAX^#!W@f|t7Y^8wP+Ni4)Z@M zrtmj|HgG&=E3S(YY4q#uL6&J)uR9}6b|l_W@jGJxKmh=k_#Itaf0MuIw*Kr6OjfUe za)5jN07Yund(c(n_DdIJ=P%5yERukn4XQ$^t`IVbLC*QYrV?A1;4sAp`Cg>gPtVfW z88MZrQ_4A@swdP4Qo;v5y;ixs4ATR^aglqM;<9EZoDiRq$p3)&4;eq?O27G&Zf>#T zN+z3Dzh?z79dH{L(!_DDX1*{k-M&WYo{#VwimrUOyT39BA(Wv$UY|CgAIF!ouEXQw zOOvXTefuulo5PxLRtiK<6;&BqbFICItO(O-hv5=)Tb#JuL~D~hKPErIIll|+RUZNo z^zM}rT)kKlhCN)1(r0DcCr6vY88*<6j$h*DT{Cj#KgZGmk!>|IGp4d)6{(jt9}AFX zVsQ(pFLDK^1y0&9VGa`kVjO2O|Cj3lf(cc$r9=cCQ*SOrZjuH)3yHI!2M@pELv`HB zdZ-gl?SegWu7>X)K`W9{qP`PZlyg3aq=fk2&4~{~Hw;(y5Az+R6Ox*noGA&> z+DGOf**s-^$`+CgR2z8BGb<1Cu;D zTJy;4BQlU>p2tR2oUUi0y+8+b0H+z~F`$k(q=J$~i_9Zo&si|JU$Rt=)dur`ZU6xP1HcPj zIYIG*cx9C7I}V(2Y0UDX!2qCK zlYFf2H_W7(dS@7&%|1gGaL!7W(cv@LHWp^-d33 zYjVa_TThZ_a7jT@;1qlXpujVHrlAxx1*8D7;YoLP59B!5J%{ser7Q`5eh#-v6-lUQ z1y|w~(im)Nt|Bu5kg6xLx8QvnYR|O@2;aFvF)S7ZHp<9mFDf7(*BO- zUfqrVM^-{urJ>G3j^6Jq9Pj~fxjb~ExRjtEaSbu@<^s>sN}jQ(ZzcFIQZhW=yZ~BO zUB0J0(MJhZR}&4p;FZOpc|nL!FP`*WXe9vZTr;9@&^z20ybl~kP8zyp5fayjlU-k_ zULoA(=^Hs9u+MGWoNjc)WBZ>c*H_8a91sP6Lr<~FU+}R{+PeZ)7XMu0~$*$ zMGx4)MFoA3Y{o}b-%?%!QNq|_5F~VSk|G}tyeVipFYg6j9#?b-73O>QJtH0hiE9## z)74HZBiwom}6}|DjVn1$JRtNyp)L=F1SZK~Ak;8kU6Fq!g)KZA^U0&`4}t zdtgZ6G#3;HU zXY?2s3s}vNMSmz$=l`M7{7_A;!uE0o%K-LZ2FrEbl+dT59(*_>_{nac$uXM@ug0ag zYD4zglILTLF1eZdXu0rgSS3IClw;(+vinuz3VgYbOUoUnjMi7VP5a9hP1RHN8kZ(C z>VFj5f|D*wJ?jMk000000Hz0gL{>J9nNLriB9l5hBV)Xf{*b8v0G|PW&EaE9Z*PhT zv4Q;QTPJj!h-rT_`jZ`uWCIvh@DLCJ0000qH9#`}0A5v)py@8*q)3XNDQw$Wk|i>) z{p28vd2J;S2$pl(-FYqTw!3?mWFOHWia!utT!63)0L{!86c_+x0zT^ttPnCU4t2x@ zpg?s}8}&ppfUUNz%{@_9+UhR1>|ML|cE^dUyKl9sb=^m@t!a0BT;OWa_;@L8?KZwX zveq_f+M!{RZQ0`C6x+sN;0Z4{4YUaaxPBsHA^-s70IX;M5+5PH-{1Fpciy|U_jmr= zZT8#k=5DWR-@B`=y|r!Qw+o?z1g;9D;PwPETcqO*YOfG4`6u~h4oQ%7B$8p05I-_0 zKO_=}e>`s?BNW)8R-t$nndR1CH)q(9W!(b~rw03tBlTNFX&<_$Z)&P*1tVT}QR#4O zxm7GEkcY~aA*{6D7~+c2-WX03H>$>J?JVc7E3Uw!wOj)6ZU1{DTN>J{R2BJt2&8SP zpV@^H9F{PLEq+m3mbkrCFux{v3)YV6jDokD5NlXn-Vk923yS}Tv zB8lhGyWYfgM}EmgYfO5niz_!*d#LMju<2gPz={OU@x=IlWJOQbYmH@+y{z$$OZL)5 zTzSyEr>{#6VsSEHkVT<&h6XK<5rOw03nfQPJFE6qZuo=Q zLPUg#;wTzCpRKnUj=krm$dxj*I+w}UE8Z(yOrO&jw>(`>S8C9SnZy;JPk6SUH|&ZJ z8seGFs}*Pcz^@5h>-i4X7@>5V1f83%0l2Xxu<`25*vG?p#d3lnPE3%-mI{OvByPlF zL0%CgF(lv&L~gw0@Q0OJK;NEU5IP^=^Lq|AIbm~qB z1QTKM1hS9?#jJ(8f>|_F>CyTfyyE>#l08Di2G0XeJXq?t9)-8YEzaALSv6W|G_4kL z`R&zT5!}~*d5LjilG8x501g(Xye^eQ$>H}J( zQ8^74k5nl){fI{Zqd;80Mm9U~b-Qns7mF^)5ioH-PwUtyW9=tOyCt#W?ULh$15_mA z-a)cOq%(|M;Vl=V>izQOa9c7^xC>1(e~I6hewEx)sd^oL`87UuF#( zX~mOz(%Tle#dOFOh|e}241x-eB@k*pIT(t|Diei7BqC5r!l#H8O8g)UKkNmiRDvxJ zqvZakJ9IRV*seR2a?N#1WFK(ao+d@f=IC-2cClim>eZ%k)i2iR|Nd2XXx=0d3q~W3 zolie;y{dFqZoTTq@h4N>%ZRE#VkjN;_1b#cm0SZH)AC`8_+FCplpow0`TWib;zI@4uivU7)64~qT%fBce-CC`KnqK4C|yY+(AeCPgyXGmI@HJa+Xw+ zAzj7DvZ4Yxf$~+*VG910pfjUh0VXR38&4(>cTPj0JdIz&GgvA(n%e;UPkK@Fc8t#4 zL6-Q_NzXJszoTC?eavV5)kCy>d?sSR)C(3eE4GnO%1P8w{n)V%gw6;RsZFWs(BQ@C zeooduf^pos@5=plN>Cu#gMgL2k}vZ}4mokHihcpz{jrHmBWrLI7Aa>2#G@UhwHrWY znd1DW!on-7vpA;CSR_Q&PU~JycauQq>*RAm4v1G@@vA64Q(9X^|b%- zS6MfGpoDpVzR>eNLX>n>6=!)jM|_QqxWp#PNM^I-4!<7|@Dsm&jW`K2&VA~*NE808 zHCXt6VP{y`&bL{8o($eVb5~coZ_aKD+hiJiHP(i``>5C;ayuKHkg>DrBWCZq$T~Z# z-%DgVkO)O1l1kQ+#proI57{iQi0BUyb2w7V)MyG_d&1j2)^lrcK^R<-Ek{E%!khh! z{sKCtr7w6&{pO}x@@%&?qJwBmHGuY6PcO~;+=7=~8%h|$eri&d6`@Bzwm`Z4_rx|& zP0@%tFV0OABSKbnV#9zxP-Ba3C5om|=`Jij3ZqkPI%16~lfw;sa03Dp1yNGVvMdmR z_Qg;g4j$R3AnF@xumQFfeOCz7zlC2X$czO&kj2lr)d&xRY(}+Fwl|YMoaRFOC7Y^G zS+Ts)i1PkA+s|Fwi3q=aiqJTW&iat88WlM}6*c?8?*sN8`= zo{HoLP@C?|8uD$Jdhk2axH{B7Pr4ZUmTeezQ=RUNuFx-?E$B(l?=oZ&eByBbI;$gi zu+fBMM(0pb0~(8ol{BnHn#9eTmE|jTJz6nNF#hf@ik@(TtjL_m<7x&B&GW}yFsO94 zc=dX0w(LzYI^4UdX-A!{y{|E8Be!PHHHu$<@KK(i8R>WXf73`b8O@c|5Yec)>OPq$ zMHS;deL0ka-TmmV*{@E_ugKw=7_FVYL8WTf9essEEJq8=O3~GL?~(0O`{Q5h(nu;Y z!}+X`27;PH@x>diR>wL($^Rib>nBO=c=#I4wb@xU$6$ytc!?)Uil;OhbcRK}It!~C zhO_Vqhg5h1vxVf9Ia_vrvn*cIW%=8XP@$@pv;;m_vvhZ5tdGGW;U3B1UxvNCci#M2 z(*?wHZn^y4pIUS+UNrH>qLLirK+{7nwfu3E*b zdhWr@_!dOIkHn$w2uB9n{%_u)jACrxKX1$}Kj44Pz7{#pO<<(IoxYjm!=|E0M{Rjq zh_-iWRF(P@?@sz@{3*6^^~a`@{6+sl!3#_$7Lj%$-mB=e!Z9V=a*;UOH7B{SHZ5a^ zc0Yw$%feprUK6h1d|_&X@ZdjfJzsfSnGIITu+*-0YG2!AcMOShj~odcvO4}EA$Rn{ zi+0}Nv1-a;k=wE5_Y9sDemeUYDV5UB1a)IeQMWHioP9_UzaI8q`lR3=1ZgMlK6Gw< z*F~1sPr_UlPHi_^r1#IS zfk)lnd?x%Y{rDfn?!vXUit-OJid+HKvP!n-9crXAes~@?&Zjak0@cdX_u?o~uruhV zIagygf3%!-T8;xoyjpt%$Fu|8ix+(e?QZa!6FyPXMW(ezuQ&XrS{ghBpOaUJ&9^== z6JnsP>f)g)LjHv~7Nlk#z6-z=evFO0(P*@czZo>*%8zAlVr~jkyef@(8~eJ8V!%u;AMsh?3!r&yrVS2l&Sox z8aL09j@CtpE$M6tS(CCSvZJ!3vZb=7ibftA9+BSJOp<|rfnzJY52enw8;+490Utx( zd!)|hkO!Eq{XZm~Q8qpzxKq*3pzk0!y2AW$>Fly$5!oH}BLCkba7u+nHER2z)7fT2 zBT_r>lJI?x!BG`12iIr!4Nu6M(2vsZJ#y#u2nD2814P-u;poY;{1N<}M^n(gtKcUF z8(rVL_-RIe>Xmmy*?_UfU>>{Zc-?&VGdzW`A)>pJwJIe|U@&R4g!)Ul@F4l5gTNYNZOCNOmG*RQmQ1jS1}#)esB zlRlHd5gg~4U&6+mfOA6g#qWDXabK8$T+kw^|I|VFh`)>a2b=(^008~PPbgzs6z2G^ zmypK%cIx)HC7|cuW}GN^m4p*QtMkfu?`;{7GbWL#{eK>|iO!tA2!Le z)}>Pn&XF?CvPd>>&xd^cT-4_cHs?ad56fw=B`r!KRAqpu&<3;sH2?*G5V=gFz-_Gjh`8%8y}2XHs7<-zp|QHKhGtGA?R^cpTuU zfaN3(602CJ_Y-GROiFY5sNa{vK9NIpO3=P(A6ueIf{pQ`A?ke|VRC)~Lq#JU`X)6$|T}+P5DyF&G-`bm-!53ip}w* z|Mt>6Az4d5X)jf&NT)TmZ7)cV0@TklX+OmIo$m|HseZo%H`xcimet zmOehf4{L1bz)!p&{|;#L)%1ZJjIG&tt&piVQ=XJpl<7*VYOz37;C|*eGWuweaI*mC zXA6_p-YLK&Pb;}fG&+umun+**pc>f%LG|eXL(!nIPnm<`JWvB*08|ZIr+(&jvQj#g ztCfI}kPWH7xvpo3f6(@5cWX?0?}G=emO8q;L&B>S>CZWM`IN=UdQs&UugcS%Vvp z3}71qQ&6?hCs^D))#)D97L8!6FW)Q5!sm~yLC4g)O!MO?zuDq#(+K*hUHD?Ly;Ttz z(0kICAGPbu$qcm&B}8MYMJ}hYSNpznTucbU)Z`wI0Db@f0s#DJ@OZ0u<5RVg8zpR; zvCVwOV9Ut%OdNT;W~TEHs`WkH8Z}9EQj$*rDwhNi&anLIn>p~N?Uw78R}KpRfI|=v z0ssI2G&Ddn003`gY>?U?7;$9tpA?tvmSogxvaGPh9(%I2g12KDZ+(_^w!MAz%htmp z(LADf0s+PKhV=jdM2gI200031eBGXYLhtm15}eaXq?4PIlJ31qa>q`RfHEXGI`?kS zRH?Sw)UI7TiSo66_2EI)s=8_#=(0MXqiU+9T^i|XE>JIx7hRjj2N8Ja=?C#7dfMV~ zJIS)R^iDwX003wNtY`?p_W^s~-`?A9+jnlewcRbdF>^P@+ii0*wku__V!}c;0tgWx z2M~aW356pU1tb|nBg8Sp5amz=m`GqC9uOE3azZ(o0Es7^j^RS7;iOcr-ZJs1@y}AP zh%P8lCZawKN_&jby2Di<&8wtn7fL&dl~NEyKf}XVxQf?dwdj!{6QVXZVZI}X(l*MQ zsa3#QYw0+JsH&^Qx>{KlRGD9|s?o(N*j_w`X0&xa@k8aXjwFer95^KY0aem6WVr}z zg>Q$R+H=e5O-g3TYiK}JdAv55XC5I!C~=i&e&YWq8q!Zir_q5 z)ROAK(hXRha&8vTJdn%aq3jkU?Y^8m>sHYmZljF#o6msQ6VTjnPxemu1%)zcf~fUZqM3hbO79eA+?}4 zy(D!?&8oF3KG&0yL`?2RN!#UIWb)inq#HF#6BYNgw?LRaMLDs@P%VND^R=aW;kj37 z>|JR%G&@*sUEe@sws3^X9W7eNKKdkB>z1vgo1>m1q7RtfS2ZI){v}&6Z*dgIT`W%i zWT)xarr&!a-9NlPp~$STKmsy$dh!>}Hkl)FR>jzIfZJISlDke)=Nc_woK^W&jTmc$ zrp2DS6&|UZn5abu1YRn19YdFNhqKu1%qi-l?st944tORG<9<{y6^px})?43h&Z~Qr z*&XP*7kh+=7iLW`W_7XfEv%?URv$u?D0h?$BJn`WU#+M9Pf@XS!%0R~}wal>Mx$(Duq@aerNL{4G9#vB=Uy(U*7elxrR;!|Ct_tFFGPIJ9y`L6?a=^+mMTuyP9AJ!*v-xP_Q8ER-Gsv+GhcqF0;H_JNf+ zbkWwrtRd05njag)mL!&+<${7iQ8 zXN0lCuXN3%#c{z{sI6Nu+bg~*6(M=K4QyLz=u>Uh`g6s;4x|qvt551+I((a!;+qIp5bvWbkh6Dt}{tnWGyIKTBL+U^vYiN zDne4CpsrcIn|tIdO%(=UUF@$*_Jj5_(V?WY@Z@^Abrg<9;wSj4+R4Kr>I_g2x8_gr z`kG4JcD#O@eYc)|f)*NrL*TC^iG_geeirN7$^rJnnEh!zwZ-oT~;PL zVJYDDgwS z&H_nG##->rf()E~4X`O{+dxEGM{0jow>2)ub_7LOX77NT5y(k5O$0nUHtctZ5_K>s^s>vLe_lGZn&r&!Y zs&gQ+-K`eDdR0BerQ(#&t$%I@f1s*5k<^GK*u$j!lgr%eV0Xx}Jjuy_n`#7F3wmgf zG5-X0K;y&i3ZTn*so4RP(D%|%fsw%8dRlA0LsKqgG~(QV_cQym%|Ibi5I z6hCz+YE})_%A6t{7Cdczb{L7Pz??pM4+EBR_rvPkxrg<7aP;q9MH2FfH{);~TD{Zp zyO?&9uL||%lbrmmF|!ZtshqRzJqG^9bDW3J!O)UKF?17`h!#5P zzi`{N3cHf#boQ|vZ84Z*lX`+VrlD9NF7CPks-HQRPDGUtf3eM5su$gFVWE1$cl8_^ zSO2_UvDNXoZ-w06=We8+#f{cGO1C03`z}@^L{mhWKN)5S3u-3eWjCdq5}&0^De2-i z-ZI<2P^W9CgF7{#`mjqO96E@z-AL^eBi)zZ=XxhbDx zzC>5F{+Z>EZ2phNzlk9&1r2BpYgMeF4OzW{Q#F!Q;#vyR(S2Y9Vk-*|Of-3lY)8+A zY(Pdic!Yy7j%Pj`25nTt?TT=yV?&zXd}2$}CuzH8e!~<<(r&E~u%>DqJRjZC56*@> zZ>U$*8n}UyR3Z~s^%BX_gFm0IIqXa-h8``0^orFRa~?{qypt#29`1xq4xb`BJ^H2B zmY(04*r?ba{7zBGrLw|LJdNF$%-Z(gP~j+JI+^Xj1A7kb;`fd-YZrnkQF-NZBKvUc6V@BP`_f8x zh**B0P~UNku~&O)4fDgyT79bfCB@Ns3siWA;is;}g3(`O@gDCdQ3ZQvFdqARSi|}Z2Dh722?1GXm11xFiCfkE|P4uFwr1XgCfvq!}us9ua_jd@<|%>_t`sSim7)&(Bpb8EJ_!pm%!U79Ev#A#*H)@`Me ztcy{`Phn``ndqJw^`HuD%x{ zSNq(;k2aw=!bRaal*Aix|EY*{ZNz3VGmC{vsBO){=lc_4ev=3C~v%OXYFl)!qPyGJcZB6NcR%>1b;p<+hzEyyyP+*TdeD2_;bjoN9N02!-TKn>Ss;ErO)n-_A@`*w_ZT@xhP>c<6`vX$Xp)ROD~)!6i|A1(uUSr z#2tNjwN~Hq_>XxkK75VUTV4IqBoMch%8^MR2q-OE;L0Ph+ACwt!UTuNQSOtiwG;GvMRS1|=2gN*ZcJyYrVf2jk%V$G_QfxH~a zLKXl$SIc#A3^_4fqDO!!;Ija!cju_KRMD^9^uG>0^gH9m>C10wQwOv7E8c z{!*Wa<;fzle;vRm65mI37x)bH@W1$&R^&(Zzzw1kzd#=-fDah)-$V}05`Dn2wFRn0 zMzH<~q+)Z}N}>`y(i2&XJ1x-Vn2%kIZya{Ar4k12p06&Pk8Y=kBL5++mglv8QHE3G zm@k=!A)8l5pGV2re&CYYt4>kg&xv0_we5$jrwm`v9gy{*uWOJS{hJ|K4uha z)L+%2wB0h|K~;;h5pd(@2?7Iv3*(aeYCXd-TpZb5==Tmkbt+!;nUA_-%w&(m=ZEuh z5Q&%~j-~{;NMHb9R(9Tv@^c4AF%2&e@C52IwjIe*kn_3_Q4hQpmd!5jtMf%}oXsKzZnL0TZdE`=-bq@Tf7?poWH0piYH%5sq^t3_c^grjl^Y zjAs&3PqcZ^SK&8Cxi{Hjm@lsSR(iBd$bE8d^*|T4?9B9j2v1z`Q0M;j`9i|Xks3XJ z@k2RMMB&sh>kVB{y^dPC9<3SLT^sgX9E)lZXnu^HkT4&+>1^HMENC}Ck3YtTG zKT^GvqAx~}Xu8!EP_)=xUyibV$kZVc-6{9%q(w`L}~C*NJi(u^^y+ z005r=`LH*uiy%r8E>0H*A}!3uWho0K-|fiX8?`z^<_snID4ZkEOT%jJY1iBz4(;E4 zUb+A*F0z|4ip8oJ+k-_f14eTR)A=2zi%Q*R$0AbYUT(l87H+dapJ|at1&xu{$Pr)j zu-YA4bBl70SOn0(X8<_|uy<(=Ga3i;0#C_m+o#%vmOTjUJ%zh?9hi!1Bj3n0AU{kU%aTvj&nI7hG1`8Iz}z^u3nIIhOFhnrOloy z@*e#_NhrK6^u@-_TAuF4c+#^!W!90#3#Veb;PbKy@7sQ<=m_kU5Ay{ieoa zw}>JB@^K^77aiu_i~^5e3NkJCuP+bFPh{wj7wx+)U>_(VF7}t4_l-}Pqi9hApNrTq zsmr)yM?dv2R&V!RUm$6P%(Rr)Wdegg9|lAX&g|!2r^e>lhBeoqV0xKK8A`v#0xA zz-{ddkMi&1WTFycov(kVy;1L%|7hM&TZGb<)xqm8Umy~&Ul{yQiLPRffwS|`zh`zq zT-W^phhv=Zh?cXB;Lh8$cB6s3S|=`ALsca9yRIYABSQ%8{n+V5f7zDdVTQ>f>DkG{c{^vyfl7^l0YJ&wTp(ZGTIbSDFSFl} zIhYP8=eW3bh6fRE33{V>NAtOhdDj3kqH(d9(7^6Y77jDWjW1L6tQoy-QZ~FfBXu8? z&u`x9V~`AT(6G>>GWu=mpd7Hl1S?_3G&}|-NY^^>z-OHKVk3@NP*5=o_^&ro%DuaF z9?vgFJNWamOgt-D!(sr*003=ewH1?5Uvolal_BGF2<8#2oPi z^+bN-yQt`Vyn+L7*QLL0-tu}1^gsZBgEJSLCZ`=ynVJhmlhwUX@Cvz%N*xy#j6`xC zI&oFxJLi#m{Ya@ik!cQn4{KamF1;Wjba(&&Kp6l4000312JAr0tX#jjkNqEUyhk4e z(f7nc@~Uq+56tmSsd_-3P#m&5kOu%j005XfQuOKCW{=32=p6?D5sXM>g=F?cYC+e! zV~LFrfR)ulvyQ7}ceY&f<}eZ6j4^n z4R>FkvVfSkKUE3s+_?=keJD^!LOa*4S>}%;UBo6JF|er5X9*JQapPWOTt1DclplRZ zUy-dCCB_A88&=iW0QP;gZf#LqkJoflhWq3Rcih->XdrTkFWd4ao z5g6Te>c=KI*+&l8@3ul|R9eeX9^?>^9k2t*!20y_FN}{G0!g9t(_pwoBvv1cUhe@r z5q)c93H6tNL;=!8;2%qQ7 z@;g6s)5$jEbU_ml@Q4A3Nv>s zV6Y%-h}en=f04rVURy|d5X~dpKr3}qEC}~Txfl@`05riFo$WY1aDG-3K22LllVL<6 zQ0Poy4v~&`Ih;%+jdR1SSBo000002LK|Xm7fCq8A(*|5YEd7Kcs#<@nmi4 zK*3w6f~D+rECo#2)bfj%I`*x6hWQFY?>!>Z_mfE;E$`#|073tq!GvpFw$^U0ECBq;_`~>Z!TVZ@R8+_E)a} zhpL&{`*440w{5RbIPr{H`l#KAx!ZcXZmqX{7RX=?oJ%fvAOFwA7oAZIja#=`Hr;WL z#U-Jw!G7;>-0fKU=ex*dc!t`F!)mPE3!6j-(qfM9td2zy5olj#0QlRm`~XX%7DT8N z0018VaZb`l0#8!spd}Cx0ssI2L^eP&003`hkWjiOd~t0yx1`qkyVhj6tZL1)ySuqI zfsk_pxtEozb6%UfK5OTJAjLco{eRGQ)m_C<-PctXIJh5iI=qG5ZWjfhMljBRvUnnH3E0^;Ql8m?asmhNEuNB|2H*0n>Mcw7M>1 zJf=GCVxw`m8Hgu&MX1zdwDQ$1L7sr?%{w+V zCBw{%vmUWRnYBz4@;5%FhJMYb8|lwt_yv zRbBl)6JLDEtX2c~JKj&jpM?S2XI(W?MYet=$}6FjVQOj<)gW;N`y(su+Av-*Av5F( z_j(EM8bE653cX1oRd`gR!O_@OCa%p4&6u_!MHKUNLvzq#%u(4|5RCC&6OpO(ltR)9 zbSI_A#B4S|o26bYl8&2)oK{DYLkmQ>5acxQTuO?sCL5W;<|J0{lxTh|7 zbHzQo>ESz#tK-DK+;Oky!0C`#D&ShA0DUQKN}e{WI&3Gd;CFOH}KCXrgRzsdfJFru#M=E)$>g*;ROwNvA^`wyp43)s~PwrYk8 zqxFpzb6c3#5;02)R$%kBp7TgKq;DEf80I`cwy6|I44t**h)U;QVp7=>gED=|ZvR>2 z?b3HeU!r2GnJ7z#zHGCPBT^a?me`u<7(eh_T31SAl)x*O=!dfBp4|74uGPW%^@Mtc9cnerfVnKr@VqG~qEvR77 z^Lq_mXG6AZTAsU4Zz=Vu+-lNHb>xrR!M5?f${ z5uE-6uwT~W@&w&%PoP|(^vT@xRq-GOT?%RCS!qES7n1?RVRIPB&vagdXB$7_*uKKl zjkgdc=~MO6yak~^N=_kUJ!9E6j^Px?z*mujiT09DLG6Lk8CiESr9X4@GVUPQW{iUF z>BGO*;vz|A7vwW9z2*Xi%(MIXPkesw>S31^hP)o79r)!R<{;N5>mQeFO#Q?&3Ok8D zZ>)>}k9u3#PSkQq&lh*%a3?lvBH+RHCQp4dpnO`->6>RsW$VwQ?$L`ZNDr>jGajpdMAC(c&`Q*VUqG^%q2)gVDx>=dbPdk`J>ceY39>n@PcK z*=asw7<|4ZKNEP-=kJ(Y(CfAkZi+&go5!$Q}g^DrvRzMPvIhU_O(sJ?YJ-(3gr!QJ|9=ofZ?uUxS zZJLs=%t&?mtO!M*gHSDyNCszK}!)ZN5`wD-=j@+ysG$UU0vwloeEMdkFVLVja7 ziVIP1+ydhlr}Z1B{rGw%m*E4r2}$rH!58ZH((QJYSVx3=l2tn0HPBXbF}7Dq@SK}!WLg|t^P&cG1+R19)p&@G4}n~mZ8XVL_tVRYuQaW?bTnZ z%sL})<_`9|Mk#$8QF?5~gVcu0ooCLOmERv%T-Xod6Wtv5`G`ow(=KhTvw9VgT!}T3 zW`lgxHfgZHf%BCh&usp<%XNVmEwX}Ve>Uy$acgG5hMAScf_E7c*5?kDgB3Ao!Zp0z z$K5&xP2Ps;owjO#4e@eDsy-pFD#f`CmtpGcLi`9Ps(ss#o6Zuxy11RYog8o88O1)8 zfuEZvw*8I|Z`wIvVAJudv^AB2fK9o7Zcb!p{Ym{zvV`xH5kjf0huA`V#cnQ2EAhME zoWu%8ILvVoa>5UP&xDhEcKZ!`?kcD8$7!D8aQeZogCnagK|_)^!GJ<+SmE;1mO8BO zx2jEJEei2Ph?v*3#IgJJe$w@8D*RuF<}e-{G4Qi9>>0cwTWc_5<4Xs|n;IzXM)$>I z?j!o&Z{qip#<-mOqG7>K5nji3+ew|+wtc)gXa5bi(%9=Xx5p-PM+7}^+{KCS1lkI& z859}L-<}T}>!-=<*%bIDF)L-|fm+ba0JD7S;>f<^z)7cUVe4oYO3hHF1xQo9J z_;Q9@maV$qi02f@}eJ=L-0h1=w77XY!;Z! zw_}hoF)A{hAVq8|jWdiW$F~y0uvTKZ!fS)W`(hIXfUI_&>Ak(4nMX1Gp-zQL@)Q7c z`T*4>^iTqRheGY|PZthE5eP}2Dssr2C^%7vC;btsbDm{x_6+`{3)HnkG9;Gn?Pz)vn#N55 zCRH4>A5_YC)hJIan8io4t2Dg!FG|)H>c1vL$Gf9Ip+&1$=T-41XWm_c4fu4wyu1-F zxnj7aHY)q)*~zU&W!h+m?d6wae`;$<_nVMNDUB29&6J7X{3hh=1$TOLJI8e$ZqYce zLXCvZICn;g4mqmgS3EIeqLZnaoQs+rFW8<}Kf8*Ih2|}M-0oFD0l~yo?7o2rFj_WO z(h9i(YQR{Bb;yT{s91@0SclMwN@`OLbJ7WcdA*SApay{J$O9H(+)3pF%5y6clb|0k zOxoa_Wq`Sxfi`SYZ?eq-rOu7|%!FEZDCr^xjMBiH1NU+%1a8WGP;MxT{|qOWPzZ|d z5KfP#F_YXX(c{ULMVO{MtoHJbo~j2OJq2`s zhx5k&GIDp~(PJlL^&>qO47UYX&zCuF`mfv(N+pKhhPo=2nifHU+Gi-%R3CGZOSd z5&%G=UJp03oC4O2Z!p6ApoGWJ1OP$E*6cu1bEl3q>zhJmXj*`1R04o1YZ8z%@F`@? z`$o_j8kt}li2$W4&S@?4bdeMB@m>_Zf4{!{--)1vPN7(l-aJ@V;AhOJ+ETrYP>i$9 z(rKG0dItb}AO%><2+I|io*6HH`eAJ|G#aNU=YeIc7J`flr{UPkj5k-?p+KN2wSEJM z0{1kd$k*`M+YC2ntvWv##A>sFQNfm+Hu3{%-8M$4D3N+U?8H$DsENVU2!De)91POQ zDbDi;OIVcxYGN=s^JAC=!7`4_By|bm`_4RtcJ|ffGP&5^a=EEzK|=c=;`<;I0r0UB z`AmdL^{J3VAjDFAQ?g3&1iF$+tYearNk*VT0H6Q>h@K{jOq#GU>$3Pilk~X~9_pj? zssHt|EmSQ^Z87s!g2X|jQO>N8Txq+%#-<>=!DIV~i!EZ(pt(eQm$m)D1 zrmg&I*2BIN-f=!D8V~)hm;vfHo%yZmMq<;d@Tt6yM0odm_pJ!!0B4{AhJM5pkgHP9 z3Zb=G!D^&6?$yGZlp$`|X~k7mbGYH%THLu5qH5?>KybP2M7CmKW;@O?FJVeG``iq!E^Ds$Q=(F9mvoQ?3>AmT$SCG zi`YEP%CBoVuSkD`=w|yOX}^hGViIEOIkTG;uhI1Y}LT!4j8I%B?000>eQP)O#JTZiIYjIJ){%mwvO-$1|9#f`9fpSDr z{{Qr+p@duxqvc2M9NYqzPvUUZ`U5(;P)zrwcJyr2UBEQ5DVRhCr`-9WgQ-ubr0jPt zKWW-+^mY3Db^P~fQ*Te7xSPfu1)s_xA2J4tKSP4-KZ+L=!+WvN4EEc6?5=kH#>i#Q zq9Jx&i~r=Csl=?geY;ip^cXw$b-QXe*p>8--~u`ph=p6kp4FBG@mX1fZf>YNeYn=< zf{%Tm)M_VbqY%nVKAavObk|q6-gw674S2K1mf*)HI(;I`>Dd<}ZZEz_E&sKe{04zSD1nL&LST(K!~ob`n|TSX%uwMI|2nVZxr93rX}V@yWH^lJ=L_qgK=d za=XVCD<7uLz5DW+zDQ__lz)VXt&v+!E~Gs0dkD@2je{I?UGCv=v&S=c*2YlsOQ3Vi z9yn|4%~s)M-L!^j4N9+-P|J;n@i_Hv{H8K^%p%M3C(zz#9yM)K^c?R|eE6l#Fl}j5 zc8?Vo8!cNidCb;Vw8gNq;(DxmD*G%?Q%rCo!0uE4qYn43brMo(1S*r(x>xjMH|I^VB7!?}+!33@ z0EOpL>!2$AHSI%jbg-~lT~~wUlUZUaZ<`GpcI-wA5j#?~!&?X~^G?U>K7as%4FCWD z000000PmOs004F$7fjs|-=3{fBwE!;(;`YehYoSMx=8Mxjl)Ft-E`{Qm>+teP4v*wZ_BJ&wy1e4QN}c${20igNjbc+JeR01vQnMIN(r2-HncGN>2A6@RG9F`CP| z`{RPE&l6$(*2HGS?Lkj!2?feD^BW9$KI_FNzG|+wl157~OKV-AJYbY&c+P_pgR+m~q#+J_HnXQ74o(2VfeM?| zj_s{3F$R`;1#Q+`SCeGChxYAA+{R{)IneJ8Xme&9;Rd|9i6g*znE5wPZH!;DX0;pX zr+k{Npaum10O1f20ssI2Lo`4$003`gNRZkWFmXs~KPfHS#+D`a-TudLv^Cx35<=%j z-CONt-ge!)N!Am6Q9OeHaXn#u0Duu9D;fX*12A)BOn!F5B(vYZV#bnWu4N@j(yUo! z&L%aqnrP}}wz?0ZwRO607w8+g~{5{1X(2H1xXG3kTFMSZKl&Q8aIFIivs+uN=wlexNcfp+)zYXgh5Ie2!#q2 z#y_(q+%Pp#s2$L`3YkkasUlerW0g|~E-NB%VMtEeJRW9zln&yPHrA*O$er12sh*1& z)S##p;aRD02bwEVP?|HvxfbbX!*i)L<_ViEUBzv96^V;Qa^rDIpyN7_Uk7+E<%0$z z*|*&0^Cb|(+kqY{tF4FWfp}jl4pMr2NTH;C)@yOTEo_Io3e%PF1>waoT2-J|#4z;x zaKKs^Zxhc3TilO5Nx%j8L4o#9##`!M`>W8NEivPqP?p_mg?GA2+7;r?3YeSCL-;db zn_7cnPQ!vozITy36JT&lLhTEGZwAum#c>){DS(ydsi|pZPX-{w8w^O0QsfaoZHS5B z`vz&Va0P+bBuNRnRqnw*zUZTyxh(`x7c7<9opC5dp})@&BsDLckI-F-?P!1QU9t3 z(3+F~*IuylR?tG1g+@cM1YyQkh)Y;Y6^)<+Ly5Q(cYD=Y7=a6RO}<(@;%zf1)90ZQ z^(?%MT8g!OY?B!(CtZJ{1<}mn5H-jz#itpZ(6j15w;E7?D^by-Wj(Od#MHEbGj&c@ z)lh%h(27F&yK0UH_O-W}7JQqjsieW(K#jB2ymG2mpf7F6KaM?KE@p;9gWSCKfskgr zDAE%cIze>X&uE?UwYIZCac}Lm~X|N%@>HTtk91#lVQ~5FoMiovjQsJFCSMn$46hKw&JBbMk4ya3;kWFt4h!o{k z;X;IBA+0YZLRka5b!p$#{hnAz;Ay!Qz3-@N;_yw!>ozFLoOXn|&~>UK-@!ab*{);s zq189o53=4P+t#c(oJ#jNHzd|-S?nSItVKQX{Wz=HEiR(|I0fBrNM3}6M+3tS9C8=0 zykW*?s0E^mj0pc>|MI1BOJMt#9r+ZT+HFhKv-B3)0U-_6JDb{ut+#cz^RYW2d*fS| zSs5V7kT%Iv*F9ZB9v7(2xdM=?Tr>7rup!G8B@f|F`lX9Ri_IO0 zI(M8nj*vrh1_cnc+@sk7GU_k+-UhY3{iJ&x-A9Y|ukFi)f%1np()k{Vp$*XTaoX8S)dqG-!TMFGeJ3p-_oBn}MM%d0Mzlt?&PdGdZ>s1V`-oQqVJcwI2(^U4tqxGgqM`0-Cs96UVfpWL{sM8?3bor?dF zh=K(>32wO&o8ANxO18xX467Q}ft~}cvyR&=lDJx6hLgrpU+jscSI-!**rKY){O;fN z`zP`9XHvYSyj_=tI4Sb7Qw9={RKxTUVS(o?-PrTxOqAP#^T63JuN%c|dQP)}uOIdj zDIFIR;q&8LP9C&Jl=B)_xqJrfZ8@aE`wofU9l5)U1L0GTem{>{YaWhu*Z61lADvZD zFL`#DUc*XBBfr}I-e))=+0XJR$?0NAP7bJ=XV!A|yXsgrY0LozlDWnHE`I;oiAm1S zgIc;m^Kc!jsHPaC3=_n!V+F-Ca7TPBN4>eYu)es3-wj5zNx)li`vP2d)Ys= z?aGxY%3%&?6e`Giz1S|(J>L%-2VXapipiZa`vMhXXM1sUXw?{b=YPh|24^Fw_T|9Z zB#Jfx_2qrE@OMl80d+S)dMcwPlZ{FZTDUh)jBYK2)eD9;QrS^t9)DVsk)YwMiqg$= zbP{Pwpk!l~-U`@~^WzjZ{?TX-{#y+QKi5r>h4)$uv2ZZGi0jF_mL`^g@^lkrqEw5c zEvHylfaor1o|_FvS%AI`&Rn)r|B`UyyHvP-8Qg~T?RpxBHLaAWLR8-zieyp*RecVUP-bKj z&MJ2)l7f=}q*N8*1EQ+Rgq#iUIJ$b{Da?Wu0QzJx%nPzdp_U0ao8Otl1!q*~1u6hQ zB90G5tC zT7x41Y#|VlP_JxPVr+lxkt_kysO-u-4mDbWv;igGsOe4Vx0)YSv9{ zBDL$%Xa^>OB@>P^5vke!qH`!1Mkp?oOg~rxyG&@yR3>MCj9FAHqY)QYqa26?wwUmi z$xYAC;QGXyho`wSn9F3UbilXdfokPTP>T1LfIBf7SUyjJL zup#EHpf{dz=4}2sJxnS%csABuZ^d66WDJFuIM222uJdWfU9r7A?5!#jEu^eP>^V1r zMB-xnpRqaac#gQH9Tyjwzg-0WcV#~IsoE|pR{6<|h{^f6;>ggAZvAO?fp&q`Vm5m# z25TOvT1;{DBxwbmKanoEaVMUbUc7oA)-HEIpAqe%azOO_g-sVpIoPQX&;=*7yL2)2 zY!=Yj1|UEED>3zzxUc!LGH-FxSzrJE^m|r?S6*37YCR=I+V=T~g!9y% zL2?{oN26ELhPblNNv$Mw1qfnS+!|!_+#UH46n04l+#=sbD0D(3`Vk08pDKKN#tYij zA*20h)jH2ow?2jbpdiTFAz8xMy1LacPaxD9Dofhrfq5irP@NLxVpAAs7gnere@$d5?V&BiO}$aDKi8f6g3Gj;FZ&PR zD5ct{ruU70ZKa4rxlJy42K;ne#P3&m)|94fKkfCn890(TF#5IR7Utbm<>62u?0e?p zA~u_iXJU5j`4MMbs#sp$5H{4@g9|0!&Ic(%1$FR}JRBX^cV5kMUo*Ph5Q`T%3_4InU@y{vY4>2majiNv+xI87_oc zyF(K!#M#Ey&mDMn8yl}p1jS+8+v?EItry6A<6XZ>X4}D2yd*rp&)q%SMnRnMa!{S^ z+7=aUehU|UnW2xG7q^doMj18ih%UtW(*;hoHFnd(di(Ocd}P*#RETRM{L>Y;*V*`E z0bmc9)XDzv)Y>f$~7U@=wd*FdE zYd3eHUDs7u?Xp^j?V46kJM?Jd4yVv1pz`_8(%fY?6;QmkD51+~=rIf6q7tK!8STc- z_vS70p}RC(C7Ca$k2i%{^}|#i{5A6+x_L6-|@%8 zZN5myp@IsL7u<2#W}vTa{fOQJ@=(Y{CSynSbH?9)L@=JNWT>A! zL*{=8L%R-h!1%B{C%$qtoDEej%h8pAZXeO=ZUS7C`|fNrRYMdc9@i9SmpM0iG-++E zzuq&;G1*YLTo<$gx#nYJh5�nw26|DC@0b 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 xi-l)XhnqM3{~Y{V7BkFZi&v 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


TYOnu!BN9Q~zf2Eu@aMWy!^bM62L2!x@C9kx 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 E0KVNyNdN!< diff --git a/src/packages/Moq.4.0.10827/lib/NET35/Moq.pdb b/src/packages/Moq.4.0.10827/lib/NET35/Moq.pdb deleted file mode 100644 index b0eaa8025bef0343d7ac6389c20dfaed0bbc5d9c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 357888 zcmeF43%r$6{{Q!`eU2hjDj`%3Lb?edbUEGVrjl^z?9SQM;oLfx6k$h*3AxN@M&mL< zOlBC3Yi1gg>x5>eF_;EJ2r&(znQ{5QKWjbf+0WiRUC!>z@AW@U>(!_4+0Xi}^ij_gxIyG^t-Z-S=4o zO~22X+nKj*YT)K>J)^&P@`B+}INv||55M^5)n%g|{ozfWzT9)tbuO^{gq`mDr-88k zU*lJ>|JQHjJd=L^w9)u-v}w|5CqKK(pIglz8(BW;t|oV`7&L>fA99w zE6-{*`OmGMIy@5D)NI&Oh4+;Ad!_iY;g4(>uzGgYy+8I$hDeJ&6Qh@${`l|5SFRmD z;wYSIj*nrpYmnyuC*^eyms*Hf0d8ev(NPnQyYyh)%8{WlRp2)p%n*y z`Pu`?W6yo>u>of{K20{v9M@O*uRiIIhaPzDqa$AHwAaWxP8;`5!_-FOOLcvf{|m1U z{k+5b$4y&4@|zz_f9l(QjZc#eGspE+{_Ed~9C7h|b3gpa!RPkaWB-CH8>TiIU#jb? z{4d`4x7y==-|WruAB`KkA^P?D#;3`KndAB@|G`y*TYY@jpijD7I_RS7j~ld4!_-FO zOLcvf|LafY&FlK^w9@l$edvdejDM+fP*A@M-`F_oQe$hpL{``mujZc#eGspE+{_RRy{rkil$5lTuV#+IJ z*S1~QFtyS6Qe9u=f8;%Rryg|pbq`#y*GcofiQE`(e41>SIj*nrFF$bD4Hv%fF^PG`>{VSNVVRUd{<$tpEGP$vX;Lzj^8d?>0V7Hq0E? zSNY#`!wtDF*6w@3gj?6#ci~$#dpAsNG`>{VSNZ2YGpf^X_o=-3{>aO}>-n<-uWo#r zY?wK&ukycY^s1pBzyIQ6D_-09&M!~=<_`^18;vj3^;P~GuekEI^~*=zd)SQ?RsU^$ z)(;w=CL3ms>#O|R&fk0X6Ymdxbi)%ZzIM&nC$eU<-#tDpVXs0}X^ zmmYcAi7k#=c~j%lWW&sHeU<+QH|4fE?tyErf9^krfAj9zn};<_Z8W}A*H`&Jcw2tg z5udlY^nj0RuXwoE;QJe&CL3ms>#O|lzNSr^!B70I-yz3$`C$Cq3#T_sZ8W}A*H`(E zz5UK-S9Te>{Fs5ci#N@Sz0~+L*)VflU*+Fp!HEkyUGmw$+!={s7hFGO=l*{KsSfp3 z{*f6aUHAUWC1;lnd#B{FSIcf|AlYy9$*iyPe|~=Av@0vF{c3dn8za8WIe$Q-S8M}O zKz)_}*8^K0cg(%9_ctzD*y4rhXLoBL*>Cj8tgrHqA9_aFva!?e+~?}ze_ry;58r6? zifteYsIT(>@7RvJUa@l1HEXK+z1V)!8<#hb>^J&k)>rx8((;VM&MUp~xM%Je{b}PZ6FG$uk!DHcl_wnPiV4!-~<2N zbk&b0{^}>YpV#wWGd^haifteYsIT%r<&cB^as9b} zJL-wWwNqwYI`NkcB>Rm%ne|ov2fcd1m=oW6ZBg&bPyNk`9)G*F(JQurD4@Q||Kk-8 zMbB8j=$5t97rd2!?E6C+NcJ0jGV81SKTj@c{?%Uwb^G-6%k#=^-~IJQuh<5nfch%` zZmVuPe%FT<584=gYVm*mGVhB9lKn=X%=#+-k$;*q;twNh_IdPyi3iQy>&-EZUa<{C z0rge>kM-E?;0^toeDUph?V7$+`ufuiB>Rm%ne|ovXT8|{-z#Eww{5bl`JnDMeLJqv zE4G0spuWog%DE~GzYta z-9QVlJJdHZ1snzr2SV zKNtW8f_yLt3+bQ5wFdU2kBf%&z8k`0+;Ta2L_?!;LgEN3GLOv6m1@uv* z0&osE7fb|&APy#hB2WwxU^18jrh*c19ylMAf-+DJDnKQe2C6_cr~$P=FW_7NW`LRC zLU0k71uh1cfJ;FVTmh~GSAn_UYH$ts0hkA_1@plT;6`v0xEcHq{0Q6v7JwgvpMYDz zLhw^?8@L_Z0qz7p19yQ%;BIgaxECx2_ksJt&%qM#0Qd#?C3p}#1bzh`21~)O!6V>N z@ECX;JOQ2r%fM6MH{iEmIrtrT8vGut0MCGD!E@kw@B(-dybN9etH2+@pTM8NYVa5E zSMVBm9lQbl2G)STgEzrj;BD{^@D6wvtOXx{b>Ktr5%?Ia2cLjX!9T$U@GtNg_#A8m zUw|*cSK!~^Kj6RMYw!*D7JLWvk=`h10-Ayt$N{-v7tjne2fKpZKnt)t*aPedT7lMJ zFVF_G1?|Azpgq_J>SBW`YaBMPL@V7+eA_1xYX)Tm~)&bHEkgN^ljJ3$6y& zfFFQ);977UxE{<0H-MYL55bSXEnoroG586%6)Xfl1-F6Q!5!dE@H221SOo3{_kerB zVsIb0AN(9F0S|y*fM0?K!9(Cz;9;;7{2Dw09tDqq$H5ceNw5q&1%3m53zmc5fv3Um z!3yvUcosYdo(C_07r`IEO7IeR8N32kfj@#jfj@)Q;4k1+@K^8}cpba}{sz{7zk@fy zTi|W*5AY6n7pw*Ef%m}&U>*1ntOuWfPr*OI2JkQN8TcG*1YdwJ!B=1t_&4|u_%HYx zd;`7(-vJHMQP2c51u>8Va=|X38E6i61-pS3V0W+w*b}q_tw3wA7ia_8f_7kU&>rjq z_67Ta4q$(905}kI1f4)*%Q0A0b6pd088dVrpw7dQ&^21kQq zz_FkYI1U^SP5^zuiQpt~GUx~Tg8^V5$OnVKU@!y>1;fB8;8ZXii~u9SC@>nF2F8G~ zU>rCdj0b0c3E)g{7C0LefOEjPU?M04aWDxKfntyVlfe`)6_kMU!1)HgG$*1KbII2JQljz}?^;a4%R4?gRIO2f#1DgWw_X zEATK_3Vsb90gr;mz~kTv@FZ9Uo&vuCzXi*|@4(aG_h1Eh20RO%1J8pOz>DAyU?q47 zybN9ee*%97tHEEutKhHTHSjuk1N;rF0e=T?g15mxz&qewuok=r-UlCmb>Ktr5%?Ia z2OGe@z-Qodun~L#z64)^P2k_)Kj6RMYw!*D7JLU}Xh%U)5Cb_N7wiI>f#zUWup4Lr zb_aWaJwZ#*3bY1$fi|EmXb1KN?ZG}^U$7tO0QLt5fCE8C&d@u+M z21CG5FbtdmP6flk2rv?i0;9ocUyT;Cb)@coF;otOPHCm%%Gw75F3g6ZkV&4gLaN1%Cyvf!Dzs;BR0J z_&azLyanC{{{ZiRcfnfl9(W&o0M>yI!AD>{_yl|k{s}gKe}T`y=U^lF0(=R+0-M0U z!GFMPn(<}eaxe#62d)Qy0N>#siP6SE6VMdIKn_@m*GnLmzjp!6Ky$Dw*bTG*yMsNz zo}eXY1zLl>KpW5&v;(ga&wJo~us6TkgMGlhU_a0S><I{LE~ei* z26`;$11{nBanR$z37{`H5u5~mgx@V-0r)vMnP*F&zXYqmA3;B!^#^b9_WSGTJR0ezXf%5f7K)(=cxU)^Z)O=2EP60x0;$nez6z-6(3(P zu%b9oP*yRmpt`E4U~ENgRZ)Ux<;5j6B^BlIQvR$-%&6&BRBgD6g51@XyC}uYpN@MA zQ4cREpH?uqv^G&*GoqsC{P88#B{daQik<*rv6m{qWD}r_0MpX~geBfcP~6*!RMB}n zTa9N-qO!uIa_08LSe41W)wstdYHBO12h^677ALl;1tqxJ1elZ-AWXuDcumpNL{)Xc zpc$1_iRx+!b6`bTWxQ&uV#-{ogdeIXJ=Au}^2BdNVIiWtM_VZq6KyI-+l=1N#a7}R zR90CtGe0poURzo-K2Aj&T~#r?Wb4I|P?%yHX1c;uriTgBQYzVFYpP1hr);~>Q-x4% zLTpE=Cu*iv6c3D-mUbJGC{I+yYZApGDRql|(2SZyxw?_+ttcri8w?xiA-0)= z!SNyngYDMS49SK_O^O0Zq&PPOLkiaS*yw=?z()fI(|yW1C&x~KTohuB00 zPnaf$)W)l})|E^N_=klbhGBqdQMvV$lx)To8kaFgwqP%mIM1+<{fno^Y39Y=@YKJC zesxl9&DPp|+za9jPVtN&VN$%EXh1fV`SS5oT7wuo{gCTNmN6mM}^3S+^dmAHP4$Y?lPGV`ce+gcoc(r5WpG%N5R# zzQF%$8#SkYwHX2E>bBb1R+|wZz!jEWe};EjZDOm|f|)xiVVG?`V_1x)FW8D=O}pQU z2ED$-?>V;>l_qA}(U-W{*ywmwysUp!ReYu=XnW#kt`{$hD^MLIjY&+dgNUlc$_?ncKFEh?XElCW!fa+cpwQDVUh4IqFtw1B)oIrbbPVH7xCBfyPcF zYD&_U!?s|5+65Xjl~90f*Nt%{WeHanVFgy>{B<&E+#c*Ufj645YtVf2waR9>tgwU6 z;Ay?5^}mC^&uhVoK6rt@otwlmpjP=aU1wI4wMwp27CM=r9b@gx-k-xx4A_?2M7oaJ zl@;|}*j)g9cViVCNK|+5NNaX%z?NLs-C2DH+j0dkc#GIuWWABJJOefmUuW`u8R=O~ z+M1D`d-?lH=tE#hOLm`tbK}tOWvs401}^09CZzWrJpTjFA+6X^fL;uA+H5X*ehM50 z&oXqp5%fh*)!;FB{|@%$*#J<^s_S)HdBt5unjR12vmfa!0iPnX?RMyS4e9___y zzVD+!e~8w#Q2U^ra{&d!8NTH0|9)l9Z}-3dyOX6fwel`d$%uS-^QZ~@t=6xaB)v#|Rb*t;dtJW-D`2~5^%R1fx<3IUAyy}I;E59JGdJD&U z^f{kiC|>m<;+0>JS1r)-?s>%3L&d9>DPH*ndDXK!-lZcx&k?VBeDTUJ$gAGg@&2y& zFD?*jRH^=+4Uk>|3yz2GDE59JGMjFR^?gfuM zDqf91;+0>JS3RlYo!#%?A>vgJD_;2pdDUw>-e!-qZ6{v!+TxX8kXOB*wuSP-f$}h;Pp3L!H{Pd@LiB~>D2eDTT>5wHA$ zys}svZ+z9zVd9kqBVPFhd1Vba-hIxVkQA@11o6r*$g7dm@lOBljb`H22rFLs1$i}c zJKo*ion^{GBf5Cy7v$Bb?RZ0X^{0NUik%iHEKHE zb+!2$#H-O%yz&e3YQ%NCpN%}MyLdGci&uU@URf}XcWvjR4im2|8}Z67$Sdo}@xFD+ z5&Mf*R+D(;7vz;y;&|`se)%88D{Do(@(c3HLUFvW+`Q*|;+5qhUik%iWqmr{li!PV z5U;FK@yajAE33)z9y6!%R`JT360iJ%ys{7-?=2M{z9e2*j^dSHkXM$BMcx7FR zSAM~GWd%FlTfX{ajCf@oi&uU@URkz|_oNG#UMyZ&yyBH#kXKf+RkJ&pv$StHYKZ+`P$?KVMpiH}8Dqn|I7&Brq18Zr+2t-Wg$hY zV&0olc;1IdGQ8@2h$LyzyAa8qP~L|~_JKYK&4=<%L~=CrVW`H~rO@e6-i=6J4dva4 zw_FEHcK+W;HK4Z9 z%WMB?uX1fIG5=#@>9~yb^6$u)isGS`Un5-Zuuqg zDdiQ_H6^UJ?i+YMq_kpEytL%PxVDgp>wtit7BIVM7sVb}GHt!J{6|zw>&D8Vw?kvv z?Md5ew{#xLE5io-oW%vPCbk{ZE#|8IyMD07(?chCoZ}sd+_N+EFsjNN7NT$6{yszc zl&q6Ho$Fm8x&D@z|9KZ9cUC~wsM?xQlgGr%rzD1z7nRmlmrPIWkjw%p02h?`Q)E6B zDw7Sq9gyjCnx_sLH`NmJ|82}61SL2ozrB#k*8_q61g|l@!>estqn$99zZ+Hrz{h+KVC1bo@or8p69JY>z$H9Pa;y|A!j!F~9 zn6x;?5x1>NQNJ##FHnBvY6!#BK<`f{RVXtekvU5HrO+wRD@>dkb30O#dO~~n>63nK z*+%{PLG@*1wvO>Tsj|Ap#L+7fqqc73x5`3mCUS~HdO(j6nn7d^SO`{tH9+=92hazM z29;n(T#Uf3Zlf>bWT!Y6jYV>gInmjF`6bnrrSX}n*RldhY+c$C=h98zr#hMkY`jr( zpMc~kE3RE7n?#Z)Qp=ovG#8bVn&!f|cn9-sBHQ^Nbud-_d7e&x7|;vv(BvN5#+ARZ z|LNh(6hK{@KL^;r-wNk=)#vr&_xgE*W8?GQv9a-a_c(bh{=9pf)WY~G=&4ZN zKTe(pT@C#Kl=qL5H$i#-IGMvNPF6w=H(un>pXPA;MGmbkhZ`VrB9p+D?fT^?@$Kzw zA1eQD-q=>m-*Q3w?-^{PX8U{P-%aN+>(=Jo9LdRe-iq+syna55jQyRA{zW=ZRHuF= zQ$|-W@4FuRv%r&~{@gk8mV2y|Va_M}mOxhdas9I1@0F{y#QgsPvIeHf zN^NzELG5oLX&gsbg>$^lemW}9{z~IzlZxXet-k%Vx&MHQ;+d?U(ngh>pucTvR=#9! zzl~*W7gv5xw|WmxZudYPev$k>mXTj;DcQX0ooBs^s4$LCc~$*p9QW+2&22@E{bBw+ zdG2hhx4b;MatemEXJN+8tfc3aj<;XW z>FX7)UVSa);M5m6_XqU+%mH3|A6FGGuP)_qq&)~D9;H|BMLthhg>$@4SJ*BjS#EP( zOIKn3J$bJ1(p8v$FV7zm@Wz$1%uEyvu>2C z=h6ioaij()oa1$6ck~u?k!`uTKC}fBRymC+&hh?gZcmriZbhb}-agxGpUu{?h7zgm z^HcK&RTbI6#x;#3l?2|IG;3N-p_mAf7&K_Xd5hx6`kcn|P-ZGRgzc~IKaWjGtMt>Hby@D}pi_JL8qA5|X40l9tQRsHK=!kBmE zll$?zBfqtF+6l@WNAJvEsl4TK<5do~MCEYHQx3O3J^N4dDmj&* zb3deCxonQt2acL-`hSJVhgW>gFSza(T*Dh!QCiA@X!D|w_xe-X`k&rHtSC3He-dfkrYNc&!Ylvoz(5^vt(;A}qgJ}v|R}8LIa_ZGfGwoYl1=B@<)`z+(0>OU*B%WeU+gdbL>9PaN2~N`X%RhcRlxJKmPIr zMO`PGHB-ieo{V4~Xmh!@*Mkf7n=&U&!E~aes=H$)y zUu!*+#edwh?Q!=8U%%`t4qxx}nYe>u%$@I;n9v57@pc>i2Jw<7|at z5!o&s&3GkV+t$MEiqj46(LS$jH&MSm1>=ny-XnZoTmQr3tuVZOd|q3RqvpO$l9XoK zT)-71F>beXd9!seJPk<`@8O15W2Y^Ps3{l4OA-0D-L3Gd&0@zSr5nm2srqsURJL7= zS`njm#MnvM$n$1EXFufnf#+!>Yk=km&4{=o&>bMdK_Qp{7JvuADzFa3aFY~ zne?;$I6i=^nf!Dlp;lp$az|TEX)eHwEW# zOK^<&N{rqP9pS@T4qD7%H8PhcIR@?F+{gHd&-FiUZ=fYUqv=D6!7Q){>~ve#fZDOM zZz?_3)`1{R+5fqgMQha~bN**=Nh#aVlPj{=|2dPks`~BZz3s{A;!%+p@^0Ufyqn^-pKoT*6r{hnsGne(&3-Z;6))6*`7&;G|9Ww~!TJ@wVQ#--B}j6WsCx^2O(8G22oPID0H zU+H(UJ9_h~pzMCgoEmzOSq{~)Fn_uNjT2_vPWfvtp(}4v`xHSx&WZFrsn5iTr4{TPR`)UK zVq7zKRu(G0saA*D<4_TAIc&U+W3`=!JAJzOo$O>elL`B$?zGE2v&5C9efhRp6{je> zvU6>FlN5=YV~P2nJ5+PebFw^9@{oP^HfdWy81XwEm6xKK?I$_izH{Y~^5>pA?;NJW zN~b|T-sr80_qT^Qom~|4cjr4@Jqh}im|HB05=2>No5_`f`g++Uw(pAi{ho@Y2ar3J zYM}YhaH#B_5m0g+iE+l#olD8%xo!JVR!Xf?UY*@FhA>s++>I@^t%mbrUSlT>FuY5N z!?u;E-{!QZx!8&@Hk5{#(+JZVDmly{wWgh%1|1K*94cFDK2&FH?tvC?&FH({^Y@@s zfustj47xXzIIdU@)fpJPBX+)b9dv)7-0J+?alqy<$E?-LhC32}yACccTaTlD{SNBn z;)v#z1ty=Q*Q;YuzkV`&`e$-x!K*S*81_{3?E+&vCZWpbY-kMb7^j9}eB~j=TDRuL z8}ZZpRA>F=RHj`~*icXi=7B|E6<7yaQg~fJJ}3Y+;QQ`kWYF~y%e~A>XU=iIa_*$FrsJKWxoa<67Ov%%B|zgyOoGKx>>-M;bD&dsDdg;Bd#-LpE18hzRLQhP4FBlbKU^*gC~kn3B9!f4YL z_4B1NQ@obVlU~+UpPb9Z9$7iS*&{6Q4rD-|6fZjej1mm3+8T!M+A_9pjEzDi-oEx> z?V;fOOzp$UNv(~_)Xnn}a!fRm)HF+DS)RE!Ahj>(=3nZ!^d4TvU(qb#wMz!mlSCwbNlxj)sNSGtZKH|Smkuh89?KLZS692J>BU#i*s-) zD?3Kn_1xZSK)B#JIPAgP%j!Xfo5OtV$vDc2GXKv(#`R7{#yL3Eoj!!ow;UA4@yW(l z;643uH+^p5<_}^1Jqc&?y&d~s-n&~)S8gpzcfreDVTt=Y_vy5J*m=CVKrtvU4AkcA zmclt+mlwuY--gIMH>Tp>+&^`0Oll4KXPz6|{`^{7#O2qO+c+86xNj{n|6fVD4Z&7c z+9IahMwp#B{Zw8zkk^icQy9mmys8f&qh4M&FE@z_^Y6)XSFS1l|IHb@E+kTWO#P5K z+smUXr=aW|J!9we?CRAW%q!%0?z^kd^B`<6qvtK0v710zO9`uRj@RjmxgJTD+g#VG zH(~xx*Q(}W{=Ina$}-GfZB_m%%P@b2e&Y`b`0v;my-ZzJdiH5|3Gv)qbos2))7WC)z8|JUN zxc$1bwxY|28$VmphUJd6#Qe|qLUM~;KI(J^GF`@J#5NRIyC(b$86$)(Ti z8a3l7KQ$!z>sJ%t)o-o+sO_F>!nS2j*eVj^spQQ7cI=A!0LbS35MPht0GsbF_&JJi_FBVA}`Agxo<4M#X zkAmx5wGo>K&ODerTm+>LGV4Lo-{o|Z%zyO_OOuXkpcnG{TIhV}bNvILw^WOrLz-hJ2VpG%bhvQqV*nijM9ytz;e)F3~j0`#sS+$MZH;$eOFa-IP+eI)crs7>Pu{8HHQkr=g1ajRb0z9nkD#VY?`9sE6ETeFhjcx_vc`h7)^cR5SL zS_>4f>Y#0R;paO!(`n9kvQ{yhzfGE(qSvP8%dV+;TmgP^)Y(WMGC3R+gIVBapuTGb zSPQ-e9q0pkgVA6rm<#Rz%fV|v_gb}~FYOJ6gJQ7LrE5TS)%B?>J+A`-EPT@`_ob`7 zu_0srHy1wfI{)DOZ=2^c>){=4^=p}XbZ#xsy~AAyk8{h(%O;nX{x!oB+$SkN*|w{o z{ixuDP{-qJ0NSn@>+sUM#(_PgUUeA9tQ{_WYV33N;aW8+9M#!(eETPN!Zn`G`+5l- z#YN@X2Rf>5jQAbT@t%#x zn3Z1tkDEAgV4UyC6!$N$D4$tYQCn>d)ck}#BEe15cK=mXd$X|q{%a!ZvU9pDkU@is zTVnp_TXVUi=XtsuG=on!S9gpsZk^jA!dGyoSQ|4;cX?5-Hc`vOV zQIz^-SMEbDt$jx(rYEY@!h80@FPl2%+MV{eVYC=7;Z( z<-YA?^mQ$!XK$rtNAmM^NPeCpKkqqN619UemdcpNN%ziimNj=zj7ZZ(51LlXp#f8m zw8<;uU%bv=^{WTZW`Qm|-`fl4_LCL|>Q_Y#pJIYX<3L^KL9UN=<>1!3Wd}R=0_pDW z(#?EsXuNu=-k*?vHs#=C&GQDSHck+f?>Oe3>10(@PBdyNsWEMCM`UgCWbGZ0#rGm} z%L1~7m2^q53 zJ0Ge)aM-lisxdd#;J!*s;ms{EqWmHWfp1atd@Z)s%U#nWO&>iUBYO5{Yp`n&yhS zKP;CL%`xZvPv?0LUpIEljQZnkm~Kd?(GBzOq>WeQHp$nG9q*#1KFL3rUjn3+n;oyh zbt7J#`H*g;M?3C>$9rW)yms6Ok5{}gR&^Aw>bvdV!{3!)_%U!5qWtM!E*&>Nw4 zJ)r~n)OnOvemZTx9DY7~feCkl&ujbD)VZXfu5L5DsrO)QzZm6wv~@w=MTYl4KVI8U zMg9IR$a^23BG&qW)2r=M!q=gGZQ?!HKWC%+kLAcmWEOqYe6ScS2d{xmKx+zJK|Uw| zHQ;8j1UwJk2Ae?37L22yA1DAdU@o`==sx7tU>%6iS+oZ|z;I9u)PXDjOTkK@du^N1 zQFR16UAhKh{B&naXL(*hHSrEl?j|~8)e&?4Tbo~Q|37W>|JXW>H<^3?Rz|ANWGZOd zwZxtpwQH>EH%Ti$Vkg{!<4jBE2 zSM}FRf3iEj8JCkt9K)sWx~u;`%WGSG{X28DPSIOT zb(weFMWa=_b@kT98*W?tk?J{-cavSc9jDG7C$f>c+C~P~PPfAvQ2D!gWw95V`X=Xo zKtEc2xmW&K-2Zhs;Z^2tj9KYL+}a6%-U!dnoDA17^Smx~%gJ&5uuXGn4=vaamr%EI ziT`}4>N@?l*}E-+?#J(P=%G;BL$Vum8Z^cm0J>*I_o~=;5$&C9F@8yA4`B0b0@4lDZp3;auI;efV-BU8&dozyweU{?|_B@78x(dSip~?pzPr{~rte_Fvt< ze5TsIvTN4D6kcVjFpe*{545dwdYuFJedx?zw=sz+wWaZ@;I+TOvwVSjgg3hrMD?sL zXY^D)N`K}al4}oc52+74&OM2cO@*F5hDjZDtEbYZ(&_H{aA)*f+mjsbuE`w`_hlG8 z&rsQrVDULWcgAAI7HloIf0FXg+`l@?*iqZp&g}k`OTTN+?)={pCERmQk^XLz{PYhi zH+L7?`r^+1iQnqML zK5MJ_Ncm^xqbTcqs4vX}wl9gAenlBk^>42~aGd$UbRCtlBMRjo<&7Wfg1nqJxJ+x2 zidUVMZ97rZj>N4#K=R~dD{DO9-HFTeTjzINI9pev5m(PM!|ew@>qXbua7UVOefeSQ zM%2_3`Jrx;4*l)qokM5C<{W0ba z&wi2)^nH*;U>R5i)`71 ziTu?CWcZtRt$XrZ{@Ml$^Y6uT$$b!c<3i-(9SFzX0vB$%dpX@$l8ToxGxh0)i1tU- zmj?aaJKU1l1<%pQoCnX`eQZ5coKj&hj29;+f=%l}!VQOMI=^oWgj0PFhSMi&?dK)z znFZ~01^r9xl?Ub~8N5t-HFpT|D8GqfyAGs!?T}5~)OeEzY?}*zNBC0iOgT2N_hH*f zlpCV0Q?;Th88^F$K5f+9j3tWK*6nDdqxClJ+VNgRyseq%C=JVjty@vQo-*zB?}xb< z-WL46q)FsT#-7NP+}-#S=+!*`8B}B2BJa1x%pdTa{es9m=u6P+pszx&hrR*50s21l zX5#5g1{6;>sN%8Tw$Xi?BdMod;L>@WebID(a5gvs>_fkGDD*haHfk3#wdS>EH}liv zc@g8;O0X8Rz`Dr;!$C2a2O67;kzr@cPxUgde!w~I^U19k>Gl8SEIR+;S(mzf5^<Rdu`5lOA=rxcTO0~!(;Oadz8CHW6KiL6h8FB}jaLJ~_TSfQFLOL9t^5?ba%iASQ4cfTQ#l+{TZCieQR0+P+Eh2>1T0!nl$x+Cq{Y> zgEprjDc#Nn35E^cIjO!$s7qfHyjxN_u=(fy3JJt%PWH9=%Z_2%m;V**a~M=-_nA9u zEKObmeH2RCB9B8Kf<6J|S!5aXd8o#~7oor5_nXk=&@a5_UqM&!doScZ2R#4^Z?ZRZ zCG<2X<8AT`DE)4-2>K`J#n9DIf=6_Y-+r^_aH!6H91XO-$w?kub7t21-h^BZXJvFR zv*kOB--q#cSD-b`)L8&`C!}o7-t;m0ZthO^|DOibrri2(A$3AdW#(KZ4dZ1uUV7vI zG@5Kt!rIviukR5ljN{wV`tOds2fnR!Wb>Z5-YFQ)chYJ(px141X~hM47t#A(oO@0> z|Cj5@(nIEY@@G8D^Ys&cW^Lby?1Z8IdX2sXDyR6S(st(jkJ^vQ&+Y%oW{?Zc|Ic8( zdTP?^|MfoNU_JmC`2LeS2k@X5&hhSO9oW))|LUjfV~szv&JR?^Jy*k+SCRDc9LTb~ z>oP`2cS^6*uY2b|s9)AzbARPzW$L$AcJf@_`f9Mnjkm=7UrXK|Pu5@FoUFy3tYF^G zByW4p4%8i2Z+d5!FE@W^DI)@w$OkiVy#+|9&hC(o6gyG#0bCk#3hdG9-U!>aQW)iqVM_LEjw<;}@j>Ufz~_lH#vnvRv*zov$_W_B!JExmCeDC;6*^~#WypU7U8E3;&XEZRhFeoB_N z5ImF8<9nCrIGZ-$>gJ{pc^4yZ{O0n8l@}*wB&vL|J0#cLD-hJ_CCHt+MY$M4HoIBL zb^3kVYlK0$mm>GV&E@(6v(c}sr+S}OPJ30(C6PBTC67;ExI>-Um8FyQSct6I$htQr zi_hBbm@N1HMptj)BzN!SE^DN@vzX3zx@Go;-$| zJ{_+eqoUs1>b6hUdYYVgb+3Wrwc|?^o6ou^#POa$nqq-??f8&7FBIe*VB*d92SO}%4b`@?YF@fp0f4-4l#J0lIY{|Ud7pwRGM zjEtl=5#K!>e4`OiFyxrFNn$xfZuGL*;6^(CjXJa3K_tk3xfc_c$;b*azN zxzg!m%=Kgh%YP6Izo|zV>pdCRM7|r0jOXf6#yoG%HqMv89Yo0ZONI=sZ*3qwx{pn~ z&R=^93Q8Ic)hc@M%%auVHr_3vZ*cFqI6b?$!Pj2;jt!)5D3Kn<0B*XJfm0Jj=lc`& zYO!Tgu5SII*qeJ{kNR#H@(P{2DT$hiqb8lF{y!TzZjQIclhehQ!oCmd52a2H?-;m` zObqkxcy|YmvytocIo#_=7|wln3i-R)$=zIRR{8YjKc2h;eQCVMhP->6yiw)!`JO`I z$tG`3R-V`3cMHfGj;v>#ER~(M*b>F&SWY&w{Pyq33by|d$XexOnLUE+^5bNz50Nnv z8L!ua3|HUBc^L@iV-zypNt0oQ<*dra$ypX6hdX$3KTeZlhUFcSleeoa{9t}gL(ax} zlH=;yN>7g0=^3G8kn>HN9JefF_lUX>W&uzb$LIRbbLzSObm^SoHHQ9yHZhiT?mxoo zKTSPNPv;Vq1aG`sh79%an%WCZgu0U1};ql`5n`8X39H`k+#eqIKG`8W$1x7DMJMPB5= z^5C0uxl8I%Ml%l|g~TIy6>(Xihfky8HWUz;-P!oOf6TuU(T1=N)T!Q+G<)b+vF_Y}#au zGwCk9c5N*DeDD;*n>rtC*RSlpgzQ0;oANA2-ezn1Jd`j^Icpa@A8glnYdH}oLVZSdb-e5Uj!XgIkZSus{aU0${CX4f5}>@3>#Zk9{^J;+<&S9$#yDt#|B;dL*y z?r=-(3EK4p`;GC;{M|{IUD2%(~;HoV>Zc0 zcCj|Gz>HfxZT%tw&ymLLxERkp1p@KGfdLr8;Eihv9AhEy619x1qKjr0(>x z^So5JVA*_R`0YLPl40j-;qCkjc$MxiO_&q?`lfJp4i+_bn(`g2-(SP8_Wg|s*F7zq zomYj+YZ|rkINzO&Me@_a*|}1Qq%mDMjBCrgs2J1nL;_3i; zgW;eU%mO!qC13?u12%#d`(r19zF-_E1#`ecuoSEWYr)r`4VMjc1^J)=)PQ+l5m*LR zfpy?(&<2B{tBi)7?t7^L*}QHoVyc(J)`6V%V(!)>?yW`i9cB&#%LcE@eAnF><7`74 zU-;Reel)K=m^*DmhWfiZ^dC+npL$rZvo0Ea)YpG1f42^?(2G=aMd#jP9pW7(TI!D@ zfio8hHvx#(`3KKjXkDZ(?`br(5;i;A;Ldm!n*`Wz1|rh9w-NH8OPlsM_5JzUs-nb* zcsXwXRf$Ra_jf>h5dJ8r(bM%jivPxL6Ve7uuBmF6y z+m~|hfM^_d?jJC8DD`x#d<^83$J#2UzjbS8nX=sbAHni`2U(q+tm++?<;v$l8TdHa z2hP2Vtizlv<*R>bRU%$IGqu%TT&I4-<3yJfV7$D%qGmv1 zP+4VN?~8YGU0xT4$bApFW7FhTkEpFip1Cq{a=eJrtV^HiWV*X~+pEE4 zYSNsM_jSm>aSQTCR@4lxs4XYg*~xWhMv@_NKSb`mLAmD5j*%6UJ&DzB1}G?VJu=_lf=o8S>U?g+wI5f93%pJ+DDx9!{x>L7AE_TuQXa3GIjS;I6|bqN z+F?DrI=nhW{-?-qSr+K`CEtEYr{3hccRqso{wHz|-lE*`B~>+iRU^wXc5P>wXSW6A zZb0twLAmzxvLi~Wt4qqK>{wfM?|=m5{R?@c(&h2Z^5S9DqiZLXmK0^xZd`dT(t;8$ zDDN}m6{pFg!GwG`B%Ai?^s4XKWy<{=xiiz{Rwc$wjhBxc$Yt%-S>@BU)wv<^HX`r3 zFnOcO6OyR(Ws^sz+sJMvi)p(30-1LOWsa;E5w9tlO2sjmbf0s}My?xUXNAc961k6U zTdw&6Q8uz&o;QZb{tDSIZB@4Ud|Fnzc6qLBvAM1{A@`ka%C#R|$|lbvy?fg?hRFUm zvcKAjZ11yWw5rnD>XPYLRoT@wmj-vfC)kevLmFC?2m0lVy5^-}Sosd7!IizfPazjf z!+%Lbr>&&HecCJ={X4ntTM0qAUnBRJt;qF09hOy{b8_F_WApregWOZMBG>!GS5|V} z+-taZ<|dfmZ;@M=F4vq4R0?-Qw<|(qeTS^tpe%d**Bx_a%(wU8WFyzr=b_%3XfTf~ z^yXfZCbyRFS-E@f>@;Pd%y*^_?xMSF(%{N>c}N7(R_xQl(odv&*})H|K=N zZI0X_LAj>K93C&5R29ky*PPJY zA**`i`lr<)@>(G8$}oAZf84?H%V$qaE||yNk$G#FOv+K$8f2qW*Y__Ak+%o(9^6dc zsPd5&<=zZ1d)>PEeP8YAW#n^D9Cd#-FB(Or3jclj$9_&%d1! z3l@jSZG+ryTaastxGYhu(P&50;Ocr8_K-94-j*~B+>SJuLML!G_08#ENr?P*$e*wU z`DUV?s4_1rYGK&xX0l3y>r1tNo~eVqNrQH30(H+Xf7i;h$@dsW_x5_wgs8= zZ)0oXH6=x!0s>jzp}gx%KxW?eAsx2_)4{p%$t6WduP7fJFDaEJkWJoQTVD_&b6;dG z$&kr+XHCcMts*+LXC+(v#XW%CUrgQA5j;!AcCa}U+lhVS=A8Fz&WSUH8w%`RU)1dT z@iU@rjK2BjL%d z3Bq+Tyh^j(V+&973Giy!owN|f5h&zb2e_n&CamkJs+8g!5i# zc*ps?c7G(CmwjAxoYI-y*9hmGXL#-RcBNmt9}&)bOGdnQA0eFg4#S)JcClUa59htl z@Sfx6&92jj^Zv^4+Ix7EUc0s)&ika{P3g?8i-+?*Yk2MVM-;DJ(+=ldm5~O!4js<> zdPcl<4LO|m9m6}`*MnXA4d-2NcvCvF>$Ty$UmD)HAFo|s4d>-ZqAJvY!UK))>yqeZIt-;m*Gv-9lQ1x&a3m9 zts<$mY1hlbc?TKZk$&FndRI8F&RGWaYuBj4dAYwB-YI^(b}cEKw=g5UcKs)ux5V(K z>X}`)3FocKh}W*Qg!5jM!E4t?!g=Rp@Y*$vaNcVT@43Dn>>5Nk?~e>`N@sShAe{I1 zj5OH!eK_x8!#l=LgPog)^FCyFPxE>0+&Y~13B#M}ckH}4ocH&JH`Q0$`D{4v%8YpJ zTr`~bFNQbOhV1+?ocB$`n;PHjTrZsW1H+r@AMD&LoOeS;8ti;3oc9~UYwwy5y&lecxZzFNCDzUk=RL~s zp6{pE+QQ+yCuYQJZP;+$!G?FDe;!fa9+!I?!>k75b1t|8tN?4kCeX4Y=gL4nCe8Gj0RJ|La-F90UJRZ4DzmEI4A~l!5v@)SOa9J zw+H#40L%l6z$&l~wCPHCFacD81>ixj7JLo59!Xd*1I!0Y!AcP8##w974@>}aKx1$* zGU?VsnaUYA*P|l6Isbc4+?!K#{@44MV^-h)4W0uYN8C2vXvE3O;n`3L#hpU6Z3Z0< z-4!|ts%7}opghw%5FF3io4MFt5q+ybUlYsWhRu!mDO~W}@IuORStBV=vR)^r^6%!Y zZxnkWgKKIJvuF9+iC+0<@%`Vs2+u!XhR)&2U1Ev(e<=*Bos2=#IDAxX&h1Xc_iK;W z`MY4C8Jay)ncc&tofWkOF-G!s5F7WeY?h^CA-R90Dr~K(V ziPy!c@4;;Z3_X$a3axB~;ZYz?bP(rbD?C%av(39(Td{Q_HD;h$%Z$jGddF>l<-%ehPpDo|0UoWKZg+MMrxaQC)(A}VV->Eh9e5mSb8C1*f zmC(UZ+37=}dT)q+BvQ-oDbVTA^P$zyS2{ttP^CinKf9B66zRFt2gMAfCt^Z!eEBwptqJpUiOOL0fO`{Cc482EmN>TX@$El}Ii*phi~qI>V9 z&}7c61;S_<8gZV#T)W|G87?T;i6gXTeFw9gpr zF^9L8Tzu+(tgh@k{rtqwt|9AhwJ)WMIFiJnwce}sJVs;D`|{3q_*99&sXZ0bc4mP2 zU@=$@R)g=0Q&wI5T;^rU+u}06nz7t{U)S*VKLZZ&I{z)Te;sS?mfHNPR>W!-b#23H zKACM;^-|?-(-1Z3;b&U8(>5+s!#J99SD79IZK{?`eN^3X<^B_|eKvzU-{j z<-f|yEA7~KW$f|ncWHR}&x1?6&OccGrr#brvzm9Ox~cpXVQ@^Sk2;~Yt&+~H6Ruxp zoys_ksm_&?pYAR{c3;laNAG2gQ*d9={KYc^~0_$*!)IK-pRh1BemBb zIQ18M^S|S@^22$LH@qkNcF1R5-EK)d9Z6+hFb-6j6r1Sl?Z068Yb=vff8^Zm*ndwu z`!7E+xuiV7|8et8R*ioOzXB+X;|rF5@H>8id0?6?5P06r`%Vu%8sBZqupfeP@u8wp zPL*-GB|BR(Y(D7f(1V^H=;M922YPtZ>47tB(@TndMMw`V2*dp-8W$ptPxCcJ&_C05 z@D5?s)ecZuD2zLkzuJrewq_3xwy#>+YlfHU1Vci`APT^e`=}R^pW1P{OM&jU|`tq09Fn=`-`Kw&R z{Cj!+8q34{kMjIAHi!9R2bgr%G-2(HM3T+O0xz$fy>d>4)6vIr&RG@>FR8ZguBzOW zZ-sxJ@N)_Oo)=!}mKsCCo0_8d2^Qv`7XS9wCwphJD^qu-uEs0VgOKH1OUksOn^&JG zQ}cdEpel(kn|kEtoUeH@TRVYJl#zR*lUb)V=Y7mNt;?7CUWR_JUyAzunsk{5kQ?YZO2j5rp2qI!fzaH+SqXep;`mON-=ADgiG3QA@{;&(RY$l`|q}0 zhJU-Lm~eYxyD81ffo&5}zkTh&v!y_81ia0lve`O9PlKvHj)kh8%C;hXvaO6QbtZHQ zzgZVbUJEUN-VBwEr8o4z4F87@o*V+>E{{U>i8(kXBxEjB}y!K*l zMCy^1JZEpL_2g*{!MQbLVv&=lvDAr!A)CB8S);u+p}C%Oe@E6!^(f2LC-(J>YwiR= z-$d5yPSy_8r_YE>eX*^ZsrBe!|MGL@mb=6A3;KvQ&|gAzznt!ab^UxE&uzVmdb=&@ zcKpNig)w|2PrSAcr1~NiowNC$B>ocvXZ39Pg?~3tyfJRJb@5vL+q+|lGHovLH^X~~ z-yd52*}F=`8|)9?A-(GRJ|Ij}RzsCf*B|cd6}tMvw|mhCf)*G)T|hrj3}%4^;6bnw ztOc9EPWS!Pfck&eH$UcOQT5z8?j6eghua71%LbJ+GYk!@&CuLhxN2#gHb=}j_*tn(r3!M{@Q~Pp`yNGjt?#jb2 zj=I?dDpR#N*X|d1Zu?fYxeRZJN1J07=BGBD7-C)Jje7V|#o_P1|) z&c>zB*%91HVO-EI*bz>K(?PKe2i!rHnE%@%<8votT!pRq_|(Pz%9PVg z4G!nlnDlo$)WmaxHP(cV5yhJbCfvG z?M)h=r4vm{BX?yLo12^L+DHq+C4s^@UYFK>^_*6>4%Jl)J~-6pyY{5@Am(>zX&vNV zxpiL`tlN9ePDjp;UhT;(GD56q?)%OilPQyY%P#<;%R@yF5+e zR2O%&J~s0Pq;_8VMfOvD#4a^?7@6Rv2X5o3sOGvwUNcRUXVpfX&T2e)nmahx0eNej zJl96G4mPZA_iMR&9~rLveo8rK1ZbG)t(W-K$5I&R{`f$^fLiQ@j{73DL_Dr&23Ch`-di7C7gPaRiX?n->GfxC&bz?1L# zm0+Be@v3;4ZZ06L@|S*s{#-OrMTz)(LfQ5^u0G81bks)5@myzg)PxC6TAfdwZPI#t zR^{UA!`Gfn)Zn{=kl8L%rdJ2a?v!%fB>{If_0a7l&G6O+g7q*Dxu=H9wbBFQe>SpR zo;QTZJ{Z{(!evXxzT|A=y7JxVWtOqacYI4DH<2mVlV%DRPSsi6UALU@3hVe)C)Jz= z`|Tk89Ji~}DSy`7D=QP_#mqv=;wIkS#JLP$c1Fs*bhxwa!En^|I*zUB{kkjn*Y-dV zu9GF^f4(D~$LGfK{sBGJU~VYP_V;V)W$ya^2`v>%gfC^K+~K5gMP?dpE7vKjtojxwuh6qb zOoly?Mr3cw z@R3X3E8qUKrrRa1Z)~}jjWyUe9!XmJP-&#ENdIcnX^l;2ROWUcvoUPn+i6KY*8qie z{I1-FrKi__$HnC*<-d8kjV8|5fXc1Emk!r&1jFrU-{|Ts8?wgHz4@*iI+*2j;L3~p zu`7z~id8m!hm+UUGc-;z3brDWfBlQ|k!Iif zK&U;Ncz_87C zb7OBo`$0d3_J^*Ao(bIqW&J$)Z)gEDhqzd4N#;T)LRlM(6hc|Mi%fztSJGa7vLlp% zBS~Mw?i6PQpi`m8K}(>=L(hi}hL%EyKpA_JW1$t$anNbdLTD8<4y}cjL8n8@p);Tt zLg}-T+sZ11`(xr! zC;t=Z{?J>Y>H`--rMDPu&C=aW-BWqn^`)p;Yl4-2g0uQOm%Ed2qoH?0XG8CSl9$M0 zD0$JELK0b#B~bp3JOJhI$V1Slpud8?0DTzxBJ>gH-=L2|KY%_4Rb71?s=B%is=7*8 zQ&*QmSx=1o4$9m{<65#e^!L!ypevx0pwB^LoNLbITuClxPi&crN~bDc{q3Ibm+{*@ zcRc&!e}dtOvFD>Us`g;lx1#>~nA)@SC$|#$&7m(t)iz&&(q}|gL3=^}2ptI3*^_+e zU-&J(z6zyXn(sK4Ltp3jh0r&k)E&bweZR?X$~N*g^nU0+py)924)l5GyHMhcya#Ne@Ar-Lp%J_87BzKBks#Xd`$->ZC^Gu(!E?K2mOA&^glCFF?kjj(K&dN) z*)QVCWjW96npV_b7u$npOM%=s@b3cs7P`A0L~Z#rfgZz8>E&1`x=D`meyd!X^IPSj z??BR)4WG(`bBoCZ-fxu$?ZlJ^>++;a@2y#V>MK5SyXv%E`cT?{t~^Gk3N? z?b@!7MRnzZaWVey>;1hi@hktVWhUE0Sz}B}H?035w=Ht@zMSOS`Z^9jyY>||=MVWw znWfIucP3mje&<0|y3&LCE#^AOu25`z;#HmKz%PY8&`)bAzwJ6#G!i$yc0aGs`y0E* z#N7khhG&Yq9h7!!-cL9NiVYSy7Fr1H1J!p&Q?gF+@}hSZY<`qiyUvxWAHlk$?-!0F zHLCM(<6+mEqGs)hM;gB)s}%sJ^r&u~NEqqhWazHYeo*zD1E5`?`Ow3mgP^J-L!rk* zPl5J_Djv1zk^D|T>5r0CP{zXK<nUT?E#TMIAxh<6y6}6OX z(XO?$%eGW*%eHRIub;a=wzZa8w%EZcm!~I$gf7~qMX{@f%Hg?loM-%vAl3YuvYBdCE!y5<%Hg!%l|Wz|8GkC z)VJ&VYPIDSkMXo;uQO^hYpQ>T8u<0P zh7D3Vj^}rPRSq5ntM7hii02&ip?-8UVDU)~oBPVkW-7-T!l~}QCxq8N&pe#XTNQ_U ze+)<7RvP$L#>1^6E}KUxhj9~+#Ax3W>Hl@mi~sL{)h8*R<*(=A;NJxw1O5nDx$!aZ zx!@gUK(6HoenL$;Xm=R~mfe2(Nv8dF)Zw5g4-`JH^Pl-l8D zK<-n-DH(-R89&Xl+Bdyd%Ol(b{%oK-8qR0(r1t1sO51ttF4cES#&Z?#ZJwrFx<61= z-x00U3v+B|h!75|4)#3bwAA!~X{%`ONk?uCI z!l`Zjd*0sz{s(X_<4Kgr3A|OA)Y!nwr1l+;q{Ld=k)}g+$L2-KVU9#$)4KCd#4ju8 zr(m`H{|uf6-UGe~{4=oh{4Ze1wHN$$@V|m(7yJUe5&TQ=*TMV1%Bx0ZJR3_Fg*s#Q zsBFw@0oj~-Z#JmNlfiTy_1HZJ5{ZwC%OIjpDXzC~>Mh92w$1D=SA$WuJG*_p8e`7{PnF;n05t zd@Oh?_;~O)!K1+2!LI>-7knysC-`(QwsC0;_&M-7;2(p>f%kwXfPVp=2z~*~ez3}6 z@Z!vd%3$#2;G@7(!IEJH_yq7(V99zl_zdv1V2uH80G|h@-$Z9BZ?BFp94yeYWB=cu z9sB$JaRX&`FLKH*xn%%9a`2l%rD+CM0Be8^z*b-<@I25!M>YzW2+RRmfmOgdU>mRt zcmWu3AvC}oU>WcTumRW#>;m=yqbM8`fq6g&um;!w>;QHHLnqP40&{>?U^Varumji) z47-^80OkO#z~jJ^z;@s{fFW*aBrqA62lN7~fhU2df#-pSONj%R0yG1!xL>~pWFz_7 zMMo4zeY!jL^fa!&(#CkD$>D;Hu;X3rWMAewv2AIp@^2?C&f@t)*wKfbo7I`gYRqw} zKPxCVkH1oOf{?@lCnOPniA?)YbIkub_Sw~*nYAOvEj!8Gm*Mfn=E&og z_MZ0Me6vem%9!&~f2;9;$z7%wHm9^sj{iSKf7!_Yvg0*AlpTLO__x5CPt%!l8oM^| ztN0YoWX!)KQ&X;Sg4|ld>G^};5n$QdIzvh}fW}yRd8hL0XEhDu|0gNOTY;Ux-d|Ih zmQH-lrI5%b=V1Z|Nj>9&=!x z=ZUT!p32A3fTgFn?fEO(p0gQ+h*o)Pa^&Y7$VO8fayy}wu4K<%tgkb1p3hGzgK5HelLUfLyKQJ-5O)o!`sWE>9)8mE~I?T zcTt|N&(GRpjhQt9DArTiRglRdZNQ`%PIJ(`s#FRS}B;J_)aRg}+-z&2nn zFqEmzNjBXXXkPjGpQQoSfA9Y_7LrTr|MLtnH=YseLG1sv=B#jPyG85%efj3&rM}@f znC~qP^qoi1HzU^Pyu_JHH10~5+H4!9HSYIqhU;p3)D?3BnfnR4`UBTha*pYEXs{17 zk5F>|liBa2fUpc$oYS)oByV5Z73Gt{xGg_P9Tje>&wn7(ZytFw*aDbf0d^W-fadnclE6p?u4i#hL=%C%zr0mw;sHXOb@j> zT40%6()^&iJ;=ScTJE?rzHjZk^YXnNI_p9%ZAyOzuPaD!C_<*As@>D|ndxWwhfWjxP;fg!0WMUUdax^L(}C*O@QJi8VbMkWsO^^`6at@ z>f`6STow6EOZfdO{PtAy%Pv4XlziJ$khWjI>pUhdlX8;nl&goA+ur)dL+)rp;rEyD zT2#$zzn#X1!gECIT)GpU*nW-o74gh=`D*_H-$EhpEnJAMle|xMW!A^f_gya;Y>BcNV*CGB@S9e|PbDtN zk9yMSe0LS_eF47BMSN>^n%BeE^*i@)OJiD(|1W&sQp;C2eNMNF?Cas@?Z%eKFKrk9 z1Abep`DMF3>*3|!FOD8!X-j$iC%k^TAFuk#jO+06$mdnY&VHHO8#T77j3!^?92&od zBaB5_|5#UVJg1tUzQj7De%kYFSph%R78K9q;OSu5&R2p@0nY;e6PPu&3gtfREqpa`bn-kJybOF1nD)Ff8{7+C0KNyz z-jA@S@ImnXJZsP3O7I3SYo`^~bxRL`zYTr}{J+2tgZF~p0oIy}&PX>r9DEATIz#;` z;A-F&;5OhI;3mM|2~P#)0-_PjCH$+iak$yg#b=8s_a>(@{V0ULCX?T6hvKyUpBlYbzh7ntv$-^0#syNTJ2cSdca&MbP)ti(hYT}AysEd>u9w5!1Zg;Ji?R8_el^wo0kk)A zdjYktPfJ+bR$%UBtiJ*)fyaR-fo;GpU>`7yMtLkS184VP zKCl8<18fF%0DFOr3Sd338Q2Bv14d4zj{)WaOMnWn7T65z0QLZbr@;%D z49o*walcs_(9qrOk&RI_^-1pT!XEk0w?x~nX8x}OBGJ14OU>!kHwRbVZw}6F-jQXK zGNSNsH}W3&)+leC=YuQFlGXWCB7<~&paYttoKJF&d|zxe=c7Isn=0zD9CWJ03;@(_ z$W5SnsXsX%EIHI(44|dfeqOiR)P7pp%Qjx*S)zMCI4Oi_$l5uRzj%#6HeN%iDQkny ziw3{q>YyH1fVIFTU_0;}@QVBIr-8KoKNH1I$9B^x=kIz`as6Kdy=dLPFZ2Hgn!E37 z8*v!?RZnWqQ1bEIlvsC%LgQ`*X%F#X;oW^Z%R{=6ygoMGSioy0 zG#jdU^|o~{Y+J_aspRQPdr`};Nr}g$?b4O-+vNOuLfQ_QpX+jU0}ya!-3uWIcLxUacxXHF}&4ubs|Idh91&J0h<% zU01{F@12))sJW+UEj?|>bSUX!{XDp|d|U&spE)n3>kxT)*?%(fO4Bt5UjN~|l&*OE zc=%Mf&a^qdQ3Ll++qLi;!X!bchDuvM@N*l$*8q++w&C|W_#Nl`ls-EQuC6>gJKn+g zTufK0$Lry9uJf5%UmN8%hPBoCI4HF-uqhtU6g1=0FfU>D!mv`UjbUwP@%)GEh9S&5 zh@b2cYx|06rv}#62oGU)(=JaYo=>6tuM|BL0hHp(Nc+g8S7p?R9EE*JB-v4)4$#bO?sH&dF0hp->*Oume8 z9#*f4dCU*=XJzTII#JByw#Y+xNYLuojE9x&;_v+45a{zXTlp-OXCbr=#O>qRd2xWT zgtWath7Oy~SQD59Gz0oTWi7B7*a7ST2G5`@0F#0Fz%pPp@C2|G*a_?dhRwug24(@R zz)D~Z@QN$eKm)IR{HHltxpe&Z4Gf%H7ZuxoyCSXor}kfJ-zDc|GGeK|*Q54cxI;M$ zG~tuoBhpuUa)1AAdOxr_>S%bNv!8Fmq|J3y=a^G^maNW4^Vo8)H57jT1cG~= zPn}~<=i~jT_F~ALZYcb2gU`on_{{8FzO=2o<<5>aTZ`ozn9?JJRXC^hwOEG5*?x_M zU7bC4X+#e@VeO2c)c+pcN!z2ju!G(2VtY9}9cmBhb4peQi^tCCI)`i_=FS;A>(0kB zv$3;VQ}St>OFlYsfaEAIa<4XFM1aZpE0y6T9#yVwW&Pb{c~ z=4kTN-Z^b8J-yoSOCjvb*yL;2u&U#3zgV2PO``bSW>Z}`0b9q*Z>I`3PIKYQD5I-i zDW^dn{qa+j|54o``laOmV~^(fe{Gj#{{{FSO8#4%#p`Nn&rYBxEXw~U$os9YBl@<5tY_}J; zIm3S8NYBy5z3mtzvSpNJ#wgL2soqy6TShYH{+w5aR+JF6bA3GrUTs^g&FSrOL$uK} zHg`9MdU^UyUN5$-Zw?6i$y4vput1C7x{X9#`=JfD3Dp2|a=1HS=KSf}?g$Jo2Dy{R`pylsD^ z(FA4ulDS8TblAZQ;_lr<{EGtlDMdm49mqJJa0=sel7BGo<^hubKVC$BmK;K9 zJQVr8AA5R;N&N#C9!y``c=9cIKQ{9oJNH{Mu0g&vgb}^dsO+m5rt>IlQ@n2E{@5_B ztv9wU?Yc(=Nd1G%fz-c^&6%h2Ufpc^KAiVH>5e-(I0&_)=lr10r;%wjGEIZ__9(Z{ z0i|J?BkI*PJAKnzb>Hgt%a|izhD+b;k>CS;8S=%1KhybFgj0YV5ten@02q;F5jaoJH^Msh|T$G)5Ex#t|i)8B)GyZ1(lr!5&&8c|G zy`DIg=eL8&)>1Qg7`O#|G&De14+X`bTp9DfqY(0c8}Q_`5c4FvSgHd2jMk$ z_9(c4uhBf5c$nRgpFcK$cZyH$G3aR~O78|M-D^U4?Jb^D6^Hff`M%3Ej>ie3e0m?r zIUoGnAr9SjpWjO;Ijq0sOdbB0OXK(*!YCie*N2#!EPXV@F_t*auad+1!QwbR9^?4^ z7{{jy;*h?qFDtVGWiBnBp9^8`&gONjFUrqINNK+mXl-Ap>XG#k<G==A+GFxnu=sx+th1jqPdbp6#pg;DpS9V=@qLqUifG3>M0pnq`Mr>Q*rF5#vBXTXeU!oJ>_VD0Or-i3X=w}JnL=T`6!!OOu4Pnp)4 zpAVqJ(sR5Q&wn5&)3!~bZWwa5LakPj-W z*52j$ke2-m;dvr7w%61&zL#g|=fP;tRQP}Am8{PJBd((S1G9i;UQ4OtWLihKDrpgQM!40Izk{7u%I1R< z2{Oyh=4e9+UF z>`h-!+Vmau7--!8K;^%veLC27rLXhVFV&tMXg)iY=Oyngt(nKp+P*j!UQhiRf*uc4 zzt+WkQTynQ`zjkh>G`5NW8(oqeQ5)gx02QKzhkh)-WdBRJz;w{e$M%55(1|>ydIe* zK`&bOS3Q-C$7OZ6dOlzNVo~Hjf%iUE&izZJrD3b<^^4|3e~Grg|J;t2_D-y|rdLZ< zsefPYNZUc+i3s>-#PMuQv$wZtoRSHWAg`Lf)UVwH4tsNz9yJ@Of8rh5d5tYof6amS z@J{(+d2{gd^q!wSKeIFDXIgIFOP2isMs>(ydWL%Urq=SBaX3QbBFpgqW zM^9SAu21ujo<8rtUr^(NOZB-He*fnDq|Z9`-PZD1hdm%S%ux7cT;8b7aG^ZXzC<>m zjgj%Y1PJtz#`{p_ZeH!tg#ArC9DIGTKHlZ?GZRKo=jBp8tVh0KE?;fAqP@R|d0hA(!gn33PF1wJxU0;+1@( z(cKGx=$+PXp4&Tl%06h0|Sp(#I!XMtyjnyzEsl!qJvy?)T8gr>pf5bTN^4 zlc5)_`+J{yLRL2DQ-fVSJ&YPupOlyT``b7~=}i3?PN;jz`o7e!)+Sfqm-<)RP@t95@-(Cfjsm$nb!-RMnWysmDH z8krOID)jr%{3NEoWV)qQx4OCm{j4O6=$*#f^HGU@YsY=5Uu`;7K2!hdbhgx8emspU zhAUO!+ztDO-wmX35ot-vPd2vQMEYhBW;%3EvY1_4N%&oR{CFvMSIE8UKPs?kPv~;vB>h*)U3B7IPx3>JTWF`0jv1t3F5wi$={y}xNjjJ)=$PKM zJlykp3F%PTO8pONEHPn1HV?C3*lg`?!udoU+KrXSHV4@*;`zFm25*zo@R*p(mysgr z@8ESgj-3)Ir)0XU z9`|`2&;8X0_4KqXuD@Kn&9*J3g}5{KEMw#Eds-&jW-2Nu`kURks4E<)JW<5;*la!~ zSjl9Q+&n|!mwu!1m(I7AEfgw?+mUw`VHM74HE*W~PR;bEJwkrZwn;AkgU|Qsy5lmB zVW24&5^w+N-nqtWsOM!po6M>^UJZiG73AFuD4f%J{lVl2vTGHE`Z3=3Lmj-V)n(N4 zb$ygIwZ;FIe0{6S8uK+jfG`}HKjA`TJd}K$9~XtweEp2-hVwNYC2TEUpFrNxgjG1F zJ-Z-Z7lmDfOk7sQP=DUKof8aMc%KWn`z&(LrhN%{8;X(1x&S%11EO_*FN2IZV}83;dV&1zA+2cNIiWzgl^AcGs1%DE9ahm6=?&IV|E0nxg@%X!9u2A?NlgIfH2v>d2GG*+dx8JB`aa=76%EH(oprRaP0Na;dDJN7jpJYx2CO06?QQ zXg+dokFq+A%X;>KWt}J5PJoa~P@oa_?`q4aCsG4(spI?utih1GS{ zZLJqD;^c0ZAklr1^dCoGP*tvGFI^_VRJJyf{%wR)7^hQTaU}j@GaZD!BHKGFfBKPH z|In9A;Jy4AQWW~17yXAF!2kT{FXh+p5Amx|D}I{yLjMbRuXODuT~Cv)*Cpxlyv^ff zk51fYr7&AhDwVbphP#kTCqELr8US)Zn`t`*9ZklsZo~M2*c$VxMXQ%HO zC-Na-XD{Yr@Ynb?_1A6UjIr9ZkzVpN*7*DPf=a_)($GX2J_ya9Cuz`JXc}in%hEer z=^+$mGXt4Xguy=xBl*>rr(xQ8R(m3FURwyK!nK(GRC-eS4zCHvHvEN4g7oIE>B}_U zApdMT#9HI`BWnCr$M^){zA#CTpL8&^hQ`z5@;N@Z`tPB9)*sk=Xb-)Xe{fnTr*rgn5NkLllJC?A$JF~z49h{D;+Z-R8JRfB~U6Dn%8JVZK%;+eJdtaiaP<}=eb~B)` zPOtK#w7xczyV_3mI-L8n4zKz_n0nLV?dNl+S^_RI6n?)rc1a?rTr81Wz**e!oJxKkVs_``|qv z`DWnO?)KjB$$)gQoAkF5hr)Xp<)b2cxyBoFFnr~-&&=IZ$h_;oGT+$N(wfP<4tYls zhr)Z9mrG`^D=$QuDZ825g3Kpjho~HsqMq5Z-ka`OmyYKWb{n9uPXBVr>*Zo&tkkKz ze~7$uYUH(Fwl@oW&SEMzo|xMefQF~ z^vmZKE@i& zz)0?TL*aKT^6qnaXLN*WK>z7khP7WeZSD>A>@D9{{9!qpD@9` zkX=<1KG=q`EyZ^RJf8=q@Z5+UD1NeMKuI{-thSEOXB>RLQ9bwJdKq<=Vz&D`?7y%l zxACgTyHul>G3aqOa4E!2<9Z2M-3y5GIRM+LbaPF*^KgfrZr|gl zGmho%GZcRR2$etR>F(pXOz$SF^1|!#^D%ynMcn-{G{5rrv4?JCp0K;KCoZqoH<$Et zB3ILF`!~mA z=Oy3~V9G{?Y8B4dP&0fv&&Z%MU6}!%25#W11pA&q-x7=kZUS0>O94CMdLFd4XV31~ z74LxnG6r{T$@cuyj)cAYbJ=SxeuN9(6x%*W=<5qrXoNxtL6=o`!ViEKr9@BXqP@0dd z`sU(1;Nnbf<+bg_vhPb2x7rBI`rstj2u2wy7h3__FU5iP5Q!F>rnCu=v;E>hpJ5OE zY{Cxb{Twh;OyPSI=@Y$HnEwcRr7r5blgc&VTfqE}q@{|=#OuHs2coOD(QoN{qE){D zck>=pYT%qN+ncX@xW@px4_e<^%myw6CXq|}o<{rMkHSAc_uBRm6{q=4C4FP^nryGU z?E|tq{*>m!0O?I`CA2ED!b3_;a6dJKlfUihDdzEDpg%3+Vf%54c{~((2&dmsJ;7@JHgboiu$u(f++{3 zePB?jfmuA=VPJWywvbUXUv}wRG1t)s=%&Ie{6RdOA?+0^__e1Xi59j$)VD6@`BC{KIvre2yhd8&jpX>`5N%);D*u^c<$dfG~;jU z>E*DtuDBZk@syJ;6!*9o_iMo?^31((55E@79T=5qV7|YofZ(Ba?-XD#Fr_LDw$@z^ z>)y3#m`r%p&&$B7pO=?Q4~zp(Aw+d^|l#*TYoNxwdkTW91G30 z#Bo0OI$Ku?7%&=;yS-d`P<5o4 zcBYl6 zUDl_L)%Pz!^IGr);Pv1O!D=(P z3$pSh@TK4{gH;Zm0$;}SGx0rrTJZl7cnbVzt4cHRr+$}agI^D3t)Q|Hd=0nsy#mq zI1@OQ_Vie=zL6cx|C7NN0cz*S;;=buzTf75m4h@6?_`l1c94(5p`TK3H*m0<5%sGQ=|n+IB#FpPi+va5n#G z_qx=kWn+x*^M{pIO@(%Ih(~Q>Q6UX;L948~k$yIUKoLzAoe--2S>lnumvpDiQvm~F*r4`5VqZr3? zF^+!>amenhmc!<^%3-dnHZ4Diar`rJTnoRwnH-a{w5;O2%|DgHT$JKSZN%jRtPi^v zEF0l|a1&T%Px-FrG2oTp8S%Z!j^3+Ayan74##?jfd*!3=qDPR9@!|ht=>NRVNEVy( zvHP!TWqBKMsr)|zmMrfCH-TLiJxi8%gB82pPXz1zCE)jfi)A?tU#&ssvZ$@MxtemA z!;vhqm6`#$b;PAQ`C;(c;E#YW1%C{DCHUju+rb;a-QZ7w8?Y}2maZz<83cS$iY=-! zsrmu$$8G+`&L9xaw61=UIMil*Da2*p?eFDTHjT!^a-Wm|f_wG|!}`{A5`%|1Kr65U zSOaVTwgNkWJ;2~==s$poz#O0zSP85FHULip&jR~^VRLB5fLXv2paQH1HUrN9&jSq< zxKY3iU;)qztOlL{wgArn&jSqbHHE*Bu&69pc&8rWi7B7 z*a7SVhRsDTU>2|d=mj1D)&rY?9l<2V9H<#sjl}W?&`oIItPm0qg~a-Utma3s?eF zfG2^cfjz+Bo0v}oW&j<)D&PrV3$P2=2MohV90N=N<^vtTD&Ps=zoTnFXrJ5N91~zY zqdmNViLmccktuc<|C|eRola`8xo3r428iBiG`Gv6&e#oDy-e-iJ5FtA_|_Fa{^l2M z`~K`LryqXUQ=i(@tT5M>W*`e8s3Z+#n}2>E`|28KBu4OFGN@m?8PMFRuiY@N2`-}W ze+zP-`*4)|ru%w&+m?=-J)^y6SyzwN#m3pcZNyQ(EXLJj`8f|Afa#$et&8e5M(vm6 zUro`|_~TvR3&8INtBsMr#^>+hS@xZtL9{9AuXLZGLQA8jTJanWSUQXE{P8&ULN^%L z9CKwD|8JqpJ_9@tjFeJeasS_GKy}#nKYBe{kZ55p_3z@9u^uJgSSy?=q-fng{l+@| zmO1&xni8C!#hJX%&TCK4fr!U7RD~%zuOQ`>o&$PnY>VEPwMDi2LhQTrzMKUidquN5 zwckU#4tK{!=(~Z=er`aA?<>&ZENC|YqIG|l`TYl!`TWrK^<^K6@-SU%nlB>+cZ8wv zdm}W9-yHLKG2c|i+uD5}(!uewHrx66UX!OIzlZ|Ao8i};@?*nAJ>M(V@)~a$6xupZ z-YxLzbzalE+gf_tZdl&deV_afC0*Ez!5wKR{N4($mHo)e`{ssF;j9gJcJtx&4(By< zMcYCh$cw8dP0r`($mbkq0=^AC?yUqo%g-LIc$Y!Af$QLSRhR2q;$1ykA}@_2+`S%N z-*aBk?nv9Y+4)5Zw0Tvc98$iG)&vsHMr8K?0%ZAt%QCO)CeCc`T#Q#eX_l?g3|L!V z4(&dVw1oT5b6<}Aay0L!fTx3}fidU9I_2xZGk6A-2JohVm13J$xQJ)Fn{Wkw)*hBa z+bCMuF0!xWWYdfQV>4Aw0F&mho-!MJKhF$*!aNtlmdZDHW>`}B4wzv_1q7ehm2$qC z1HTA3CF4ID8fy!S*T-)po*}H-NGGDTcC1XhY))lcV>r3n0`0LGt+hk84k-VW_6^W# zKGEZ~b|gQ)E~Q-HgGIL8sfoR)bHT>l*tU3iM@x6UyR@g2o!@SE;)FBU)dxvt%19jX zRF6aDulic#KY{o1SJ^A_KQH=A2SxtpM}Kt>Mg9|c?|XZ5fBUWuuVCNx-6kD)K%2BT zHcaCbd32-6*9YI2OuavwDme$PPm zpXIX8?!2+3lTS%Q8g$P5EjT)wf$4UC!Ees#36BKw+QO zSHN^}m4;F?ed#fwKUO$v1InR25N#Sxw!)db>kQ#8%fgN3oz>BDsILmAa_TnGV?^7) zZV}0*e%$IpIjcu%cg0&yww~6kH^AdV;7@`<@Y1=bCa2=CvQ`e|PX4uVXpFXnu-AdV zn#G~Let8_0m*tSJMRCaH{0?DBcjRc)N*)4tI9?l?~J`JVnbvrg%%oul#j2;Eg9H`Gx0T}3*7nx=Dh&(wvz?cp5s zzVs2&m-Q=WzgiJ*j=V-DydH+;-g*}aO{rg&?xx4M6^_RwoX(!Qhr>GUunFaFUu_337i#lH16EhqXDddy zw0$HEj4zMR#!pr*i}zn&6=>}&`B}tc<*J;uwW^^M>LPILEg^0#tPEVKHVA#sg#1+ssUJ8hJ|7FdgZHE2^Xbw50`Q%@*ShUO@N2L#<&I>mu02_!vh@>7qqo`r zJ}i)hHhcAa`Wj#>@GP(w7|bBP3781X0hR%e0PBJO?oQ>y+eO!T?7~9QE@U0;2Pic( zW0Pn11Y=Lflw8!e_GCQqsLpu#w>XREHk!%1v-mo|^Jl#Z1Wsr(I)CPWfZjubegl4# z|JnFI%2P??+DfMV8Kf6e;O8T4TCwO(4!5#BnfG6~ZZu(|LcwlxpZ7WQAgJ8@eGv4eUsir7jOtM{V7f1deBcqE{pVvRkQB|wGA~hKZdPaIgzqjc1T&`=zRLm8 zervy&z8|?7I4x_>)vuTi%9#!uc<24f6~v?Xr-Da-r-Nm)&jb&IO84w)f1dgWuhTz> zby`jD^QzCUV|)Ni1YU9fbsA7Udi|%k2B&`3-Dj}5o@Ve(k%n+#pVv&-FBQtG_c1$S z#Ol-CeHNPUIuF^AQ}aV2`cgNXm)nr+rw=aWwGm!FOnJpa3f|9e%+3- za$9WYzJ)MHu;3&BTuu!S$^btOT)dFaMBmH0d2qflYv>AKX*7DxJkeq z+WBT+1@JiVB(M$G1?aM=k-#KiF3td);9$hk5hmoWeNn%8o87W46Y_K9SydyM~X`KT>UvRh{$K zmvt1CW2SZYvm?EKoFM|-XAFg3_U<-LD$vhpbU6%q(Yn9ej~_jNyz&=|B7bbSY)z`j z|Gen0{4Dav_M_#pd5zq^*!DiSHr3|OR6fjxwfU~+4ucWycthd$51{#n0v*kQmhS`t zt@|HLo*tZhwr1n*3>VtJR5es2^e_wRoG1 z{r$iRJTru@3`o9FRG(yJrJR*9iK{kO&gVcbCj6&)hQ6Zr1DLV)xfjuzE{o@Eu>T(z z3C+~NdsbCA(?L0WFQ9l+nPtll;@y>C`~H4d)~d;}a4h_R^8TI55U_G$;Wv(-6{ALlA!{=wt=a%-K_FkLo*#TWM^rCft z&E;s&y8xKW`@J!opPP%B8s~sYrJk01+BmnUv#WPn+e{tshxpQ^(k(c+bXb4t=}XezC|JC8I!+^JSu`^1)QI&mh&6-3;Z`rr1)ssY3z6}-tPX9DjezRd4(iQw zzze{L+gWP`rU0+FY7M0Ie^2yEZKDsdM75hvpK8EDPfL4GTTj;hKglc6x_{dKAMF0G z%&vEPpZE?m22fqWy!F4ft`;B%hy=_j47 zj(k#`JprG|&Zi%Awzq)C@4;hc#-o39wm<{^8l8O{KG!*)e$v_2$S2hq=V>&~cRu}~ zvoVd9mXrr`(~T_|kN(lwn#d4?mRlY)t`=&%ooiGamh;vwe|Is}tg z7wJ+Se*ll4WIXyuXOBldsm|Ez*!Tj2c2yz;KA6iacah+e{?o}n58Av+1KH7we#sGo#{@=TAlq7 zeC9cye$d$q1w8&39=B&a`bTH2aW*g2+0*b@Kj>_HoJ&r5 zd=nn`Wjy*vXKN#$RA-#?*7%_F=_j4NP>`N&@LBDA`ax%{NAF*jzXgx?Wjy+-v*W|} z1wKdPb3xl9pHydm3ZD--tnT;eD@Ayn?g8+ zaXMd*Wo|r{-0E-a4t{>y=EmMfS}lyN7w?R6vW}9uKZEA;E@vHk&T4tAJjS9vCF8(3 zRPgwj^N8g~I(Qa&W(jA@chA7@4-$T!9k;gkF6mmHZGr3&z4WvKnI{pC;_z^n#JxWAYs>bDKzTyYG|k z%RJq6p5x=~&d-T-G+=9T`CcBSjj9wJL+Xn5`HNPazpZ!Wv|4&m9C9>_l|f)kFv95G z4ZCYY;cWe?oYn6%9K0%np`mCJZd4Xd@!EP+&M%ei`XeAqQR%&Il zb)sU~&W2vHofE=U%Vz67Ilojk(hQ$mHe0{RX;axQfL5|y7{XNR&DLXzWurU?*=&DE zwQRP&lJiStn-=)wve`OGPMgZc6itu~^QTg)H(U28mhC#|rMK%txN6yK9V6$L$~G_1 z=d#&)L{6K^M*R!2y)J~Q)|;&_6wB5Oy<}?%;i_e`^@5yVDjQY5lIE$+`{%T&YW8YQ5RKbg^vjhhDOM zAcU)y&E}bNeyMEh0(~x<%@^miscavCRhmF*XSK9|kr&2rjQwqHRj*cSQrQLv z`dl`fpUP=d*^Y!(vKzmI%F{DLxN6yK{>8$HCY5al`EvnZSIT}P=_Q*hDTnWBMB4z! zE|wE5b`qzQmmZMKb~Vo$+gt-4z}o>j0lCx!wzKy{WAh$%&x+zp)2cmtTE>tK03y`H zAjfF_x48<_QLW6W4Io;Zb10^j4UqQ9Hg}NIrt-W2TIv3d5Ju;~nSHAC+c>`*#{7~; z+i;XVIZsC`;hK2H927^k{(?FdL zj?dM1KD!ZUTJ^fB;F;3vSX;NJu5&L7o>f%@_pr#nh?Uxw~2Q9AeX zZWy35vgF=&gyB78@_hEDE(0C`)&rY?9l&m&L?Isuj0a``&A&3hV^-0E4Lr zO~52zF0cfs0BeDbz&2nPun!p4%(of96ktBE40r@s4{Qc@0J{Mh)gyuNz$~B{SOKg7 zHUL|JoxmPo@SX4nCINGSC4ep)TMKLiwgJ01SMQ#En0ds*RKm}L}Yy`FeyMTSbuto3(rU3JSUSKt_ z9@q@*0Coeq#Bn4r9+(9*11o?vzy{!XpkWF39sm=81wb$GIPfH}6W9ZcY$pz27Vw+m z8W6GoUJ3&qAoDt{B^6;F0+TFgG?+`lj zb0+h7v6OCUOYg!Z3DF6}HKd9c=fk$OF4xh=nzvHF#631@FG|0RdQ})+CGvBA4WFU$ zDx4E39j827dV9O&r*9Dk*7)`GqTPj2IX1I5RpjE`K_2O>sA+`xkA%0fJ&k{1S7)zo zdC**!hnq*Z5zsYLZ&Vf}b7M`opo_Nds&LvbJRG_eNw`4=5sq>f!abUV8~h^STvq9~ zM1p36KAwa1YZG0{%|LR>@}rj4)|uU?5-B@4Pcs-aCToO_!gd5f#-u)gEfEhVX*qG zPlDgT^JZ`}_?zH`;6DYUqRRKcG;@`|0n?OKeh6*{{|J0H_#eR(#tLJPa6Yj5G1)G^ z0#gtx14vsBxDhP7V;J~8@NwWbfzJcW?zj|8IjdX)mRz@ik-5?Wei*Fs`F8MIz>k98 z0VXY#4}#x~{rXk#dw6a@>Vd&-)t#{V21Ix62%7j`_g3mYunDZcP9SG521b|k?TFk! zG&m6L*qvf$;ivCQj$v+O9QeHKStpdb-{GYxF|HeUm&YYO-rw6@U$c3>o#L0Db28=d zz&6+z%_wyx@SEh+w)po0o1$PxB?7*eZ{apQ6x;ur@4vBQOQLoEwB1j?|4Z*=sHd*c z6zo^myw8&DB)2vE+Rx+2{6{WxyjQ?4%~pG+dcc0D5XR}$M-1TohpPLK>|1jAOIJny z6L_!o5R~{+7x)y6`W5^nW*(M$#KNBFCC?r(d*@`6mwp-L7C)uCHjLlLAUz8DvJR-c zR2a2WY9}q$;$o}(Tkv zWcSqaSdy-SeF3JB^DExlw~MXxIlBLLOjbTe%kaSs1NKoShu+27 z6)*+(b-6VE=cCrg=N`Oj+W(=v6s`NG?SFdyN71>jFE%a+Hh#^SuxWh# zeV)j&w(eeyEmThXVh1Y!HG5EN2YP?1^FQR484ADWpwBP3K3U^lj;H#7dFb+4K(y}f zeafR*pG3dW#vTAFs`joZPg1|?Go$Tpql2qMwpOjYmJVEgKac6diTq=sIjuLAheZAn zq;(4*TK88Url9XkF5aqdTOBqwv{lD@B3 zrH`#R_$rU|O(N$6hx4JG#?y$M8han|FiE55Q|e!xj=rDmU7HRXui%1GV@k%6jtiEj z`9x;LbZj9Fa|k1Pr}1>W>m|~W`d6o;?|Y>@9bVq13^d{27}Fs1TGH_uPsc4B8NKMf zkQb|ve<<{#b$_ofk0ohH%aiI$>Q^oQ#i9NmN_}Zkr-J*Sq3}B%`Cr4JNW4pl{4qt}&#y84ADWla39Z4szn!wxxHrbx&Qmu&sw)$J((?q-6$S z70zju9+j=vX6dQk=j(MV_otm}>26s{80#}$;vP*RZvciuUz;DhVmeO5&mCuSH-5h= z9oFw1T>Z3tkIu)(iccJFu}^d+;0xgMv;FvJ=b7p1Ib>T#IE8V#Ux%(d4NHdXpN0!b z!|4pVlz*j==h9W4h7FRRa7u&I{W{a|OiY7pZ+91whTD=f#3|pyfty z9jaWoIflaT#iaFfp4NFwy1VY3z395G&Rg2MdzZJwGOq6uClOZRoL1>j1VMcvL_erE^s@6k%Pa@0iFwSdAp{mU)yN-|C^E%%d=_li?n73?R=i~$TyZSqIVkUWFSG`dw@DE zf0=ki{%PBl`!f~_94#N7f#(=_YF=P`l*?__G)#MEYa7)(e6FL7!BvrFiV5&WA=&4iNdK>8w1^-H<{j)W(}XxaBWQ7syEOZupm zrFXWr*g2sp6RDr{hY8r;)mgv2=6muzF`LVYB23?xCj19@B*G^fk7p^r}SK~pb5Al%;m4c&*ogp zVg5z5GJDqOADr{Kwq$&+2hZmHT(J858^J(WOKbz*%5yh(KKL!*+rX>9uLC~{My3j= zWb&K?KAw5b(*WHY;PRc!|B`W5kg)@Ln={Gp*HZau2IO2uif_=xLa=0P1>X!tuFC7d zi@?y7mViN}26Di7P5|p{Zk<(qO~%vaH_D-{5PcEPr6uFp1s2a`VDWq-SUk~1;Moi2 zu~f`+X~xs$Bg$cJLi9yE-%MP}bJl!9o>#zH6L|ovJbws`9ASMFRN6o9r)1@91O7IL zP|oHaFpo+q7jmxKM~G8A$-|J&cY>Aw?*c3T-wjs&Q*J8gS#4stCxUh)+!OIW@WZ_S z0Qk4TYr&w>{^j5r%ED0Ids%4Wf88&X-|uVl0p&0^pg0BtDkE|(@9&gM-rof)U)F<_ zFCPIbUp@*}S@=CLc~km07*s0GpE*_hZ5&??V|s-t;{Pe)lfFI;7XQzH#s9Nl@!tp* z|4m@^MPCGiO2zz}GydbDv2l0ty?Rd(&oR(!0o%HEYbaZzd1qtd{9NHO??wW0UuPM; zftvqw{ud7$ua?8OPyXst6^GoPMIPHT9-Ub@8zUBn`%Vn^-7MVVOg0<8l}oXi4t9yl zwv%-dua}a|##80YK22r&yU62zg)myzxBHVP6VApb+W#!{Y;uujShuPM-4$?S|AdJ$&zUNglz(D?I1ct- zggB0macG}%0}|K9VK!?y-i}qBmeU9`96s2Qm6O1>SNUw>xH6NYLLoF8vz*zdvWt6F zIC19?R%tsIjG0~<4?Ye&0en1I^2YymEalR_k*tje*!!UOx-SB4gM;a{V0{K;A_jJhkgpande`C zZvm5srTJj(X;J*c!3%gk7A*Nsh!{PUT6k9fKagFpx{vyB*2?7uhVx6`4wl}I#hN@P zydT2;kw*3UxFPgow&&zb+M>z8QNXl_PsVQya1nipG@(A_L|WI0lq&VVuMTxk?Wfs? z<&xL)wC`Dje0p9C9s+I$V^)^fcT-V4T?#%C+yz!%cY_<)y`(k&fpF42J`M2InXB5@ zs&+!z$#!Zun~9~ zcox_T3?<`71CxPyKnJi2SO;tZwgb-rF94%Z)I?wo&Vy=AE%aQJJWq z!*#!bdJM|?Z}_A9_w~2kQGVGT?!HXE4Sq+=|C;sxCm<57`yXiizi7Qa+sFHBIQMsr z3LEZfL*e%;q;rC&lj$&Kn6xw>#^29_Y4ZcU(`cPa0Y8?EzpK}G&I@w}2UkaIT|~N8 z9r613LX`7WViesH>f@VS&dD=7TZ5pgkmvWQJ~}U-Uuu;Bh8tlh{62*|k2)`Bh0npI z$>x1)`D`!X!+Lb%hnfz&MnRVCTjxrQ}{}4W(cRpdhw&##|u+K2KBNHB9 zg~!%@;GuSM7GQO&9O{|asJ_bXlfyoIun|n2g?R+(Vnz9PEO-D`v22ls(kYpprueM< zmb0>-#wYtmX*q%Lvdgdq!u{UZ0uS;?TpDBRj##^Ic0BK_ES5`NMpHX}G~uOx#XBnO zf)4wog1v6#D&L<~8%|CB>4a~aQQbr>ZgXrK5G*HZ=%222J8a%0mGKT3z!8o11o?v zzy@F|uoKt={8u>TzqdEu|EKN$GTNI9-s%1Sw6@-R+uAzS+_dzqetQ4!yciD#=eD07 z-UzR&i+J5xA1}8xO#ZwMsabWti^)6Pi{`Y(KfgaYr6udIo5yGNsoN#Ph;J~HMWcbq zz1Cn5zx8kB8AWKnk-a2_v->g^~XI((n77pT4fl+J12A7u|gleSf$>-&v7? zupXXjGnxS_|K+USi1$1|PJM&MQz8!3R`$?sNr7qy@CC#M|L{j^Pb$TYtXy{F!99+czaw-GfrnZE*nzDA%?|qd2 zGTO#Rfc3x@;2B^a@QVBOXh3a-w^h$Y5j-FD_#P_c2nvnzw=}nfjnb@*vOcOu?+4cN zzrr|O+7G1rwu|A%=^QM=Q?*L_ZF>CNrowEoV9c1-EI zjMii=p0g8e11pJpkzICgdI!_6ZuTGmGk{iLC9oEF#r@`JK=t44KiP9~Y2DDdazCJR z3SKqyKiea%`yZ&@7uD+n*@u0Z7dlF|pw7>X)>A!gh5E1Bw&Lf!quQ4&U3nc*+oHZt zj=uE)jTsq>({E1;eWTX_Ki5I^VI$@J>EGZopXUD-B@CD5|3LD8<=Eob?y&vx%J-y9jAb{XkPf~_ZhX{bS2>v-zl$F?yR%&#S^NEMBJ4|>D}6|IpEr9p zGL#MHj`hCAcV>KbKmY>}occ@Fv`XB`gT2kSEs@6O5(gzVboh2O-wo8~xkQ&!Wm)q@ zmPdJ6mOfR+<<6rFs~$`Qt4zyg9Y6_hU=H5xPnCPqrB0GFC+xNY^?@+9E;)<$mbQFN zQRU3%tuBL>w1)3PWgAc7c_?@~Sl@Hnc{Ibp*Ju68cvU`}_&rN~+5-$mtK)%LKy%P= zAbI7d4;oOuxUJF=!>J6on}lt2>%v(7C(rJ=v2AhNiaO?h#uJa~jmo3SlEs zF3Q1KtaEyMx?T+_PG|-B{P-(*9rV#3Kgxga|3}1%eS8w}pL49#5+-?qS55!F13J;V z|AE^7BD=q@-+!jxgwE69B)H60NalI^+OMctDY5~)eP0=MqV~$&cM0-<>tu0T?;Sd& zn=;v#enfhetgicAkkM;;p@kJN_vOL+WM zKk^uA#z56M_TPuc-}eI#&-W)Ik8w$U{1rTYTFpZ_ANuuS(60bQ?=-$g_rj!K_j4aC z?;9Gvb;Xar`GwoQKYPpRhadLTr#3Z<-L=dCod<59ObFCBdU^4-+RqS6%jF*Cxkfd4 zTWud3#v$w>m7A4nByeiC-R(pdr!_@h@w>))%D<1xpN~A!^!$wUT;)6_89qDN4SqjZHsuGv1K8g*Ae`xwuQ{sBTU%eezv&Z%yAaD& zyhUs6b@3iZ_L@~1u&YI@HrU!-JMWN3c;`0x-$JXt;P1d{Q+^b}PG>$=XAF(c_*uJ} z+x5x|x5@W~F!|mqYajD7OjBC+vsJX$OR~)atPRWer>eS0w{oXKD_cx^14n?hH?RqO z26!xZ3|Q;74XjMtp6s*1`C6>CQMo=<7Nk2l?E$2?gf-)nLrKfmjIF)N=b>uDoklpu zf$%;bUD{Ygb>pfgmDOT?msjzd2zAcS+Ja(!3MYQrd)R;l?fhsLW1Y><#2LoB?SP!G zv1`xaB%axGSh*a0J@}gFe{Fnb&c1XL?_1*gg<$PXYz5y6*0j0e>j5kL%J{q*{Cb{0 z2)?~sdhlyt?M(!sm5IO^)D0W49?2eo##mFdKe3Trg>uKnQY6}etQshNdwH*X?@$Ke znt>-_z7^OB>;VS%mP$>)Bw#ME1ki%RT3{ov4R{WC0T{^w#CTv9&ESa zdYk*pM##S<*E|)`R{2+_z3*qTsC=ov_q0}&X}Bv5h2I_sewwE>=JI{BI~R3@v_3+j z<`7O{oX*pF=K<2{`JelAjdjufPj!6{Y52?i(=c0~ ztLp1$m5V*3V+mmu&S_oeZAn_Hfc-R;Y6Sl-oZ^XB!` zDd#mM4k*)c<$dsa%y}Kc`m3kQ@ABFbnVjK?0-w&j=lh(OuPw)Ah^hCsbhl|ST_aj5 zY(44B)<0yJ;YJ$@zxR{Qr<`|8XDw?H*2CBJJK}I-c$J~>`zHAQo%4`a3Rfi@a z>n=cHoKEev%H86uOjhr2Qn+P=c^0?;x}U`Oy)5V9INLTkzZg;KN}tcmt%&J+H9Xy| zB+@f(jP*`?(dKp4#lv;@T;wsx8GzpmkBgkgye`#<&c#=@uizNzx_J5isQFrO!KJ*; zpp0Jby!duIVWyHvvvz1aw-@j{6P_~<%#-G)KAx`ANgCwiG^TR*7IZqtc~&K}K3+d3 z;#GjzzU9nrR(7t4Ontm}3BwzW_ZatAW`MN@b`_Yh-vdj*GkKP+b|v_2VEih-1D*{A zl{Dtpw|n+2miC5eFSgD@y$(D)jN6-`Gg~kJ-no%?^8h)Q1r-EYcwZs@us3WD_*S;{ z-3z{*_aNeRp8DqNG@k7{%x3(|&MIeiTFQq46V~$TJof^`kITEvL%AvpIv4pvkty_9}?k7I!mho=|M0m-4W{6`J&t`L! zgZ*Lt`FxPau`0%a?nC}O0ybL3MGMJnmGWCMS-=0{GQF4ZlIeXl@hA?-WPNct^vgUF z|Nb(qk8ykyJOlqHs^U72Fc)NLw7xU{F1R*6%-PbX2(SG31o(LHXJUMIezxwau>2j3 zpY@OVoQc}zk$~J62&Zqml@`%j|5j$Ez+6iE70UMzb|E^g^+)-fN=myql!u!GZ3j_V z-%t+ygkn~k)vSMTTan=?@E?IkfS(4R4gLoBVzBacI`~^WQ@2Wg3T{B#b|&~0l(RE= zE4>e+OxawK(qip;*#}6>8s+K!ZivHlE?R4!i*@ujf!5~wL~HG9G3}3_oyJuBbU z>RXCwp9{2hzJbc3wP)q5olEP-|AJP}ieIT!So;q72I|_i*?f+lOG}wAy|A2peD|<# z3z!8o0~KH`unE`>>;_6S6ivV+U_P)6SPeV@Yz1}#4J-K85|{xj09F8NfDOP_;8|cV zFp`FEJTMRF03HEeasM?MXn>86KletKgA>+w(`UZl=YPVtX8hnUdrVjeKQC7i9`@`m{e^?VjYUom=rVFHi-?sV#BW0h14V znr+!BB)Ttlvh*fdozK$+e3nA+WIyv6s|4es$rb+ZgwI#{na|?|e7fNCbU*R&w$RE| zIg~LaCT)*z3hkM-vE%WxJj>TYB;sfV!eMKKy-mwPm?>GCuW*(J#o^u+!#x(l>Atjl zUBPskf5V*e`!w{26ZdCAxbv#QnU0FX{Y4D7BZRv+gj2m#9UI)p4{i*wo;Gqbumjkw z_7Wp#B%pJ*W&zE>3gD$&TL1S&V)d8qc95q{cljJczHQFy|0W1U?=)%sf2lg|W48yh zF<#V1N!G6Cmvn~9r z&tcH6p*%hbJPkYxyyAZS8c_ZBxsK7X9;ht2dmT#?>hFVB&Hk@vc`sV`PwRWpp0D)V zztsQwJMU^+7!8ATjb}!C%i_+i9`3X1;hSXkddE8fYVQ$C!_?k2!|j$YzQ=|}TRIp4 z2+IuwYTF9e(Guw8-eM^Hz8)RDiT{F*!u=K2POuJMnh3pU-QU|hys{~!j`kj@FxXW3 z_D_3V>8DC>1{9~l2&ZAvGZa_jp??1kXdZ}ReElO0lb!*n_IoRyV+eOVVYbF_+MA(z zo`$0t%+@#5CiS%~QyH=_XNNQowg$N*x!o;*=HGY-uM!<%i)@X*@Y zTKQUILFjhjz|4s>J`BTJ`Lq{}y{$SUuH^pGEoZHkwC@53K>U zK>KJCMq$%1Y2H7A$7sULh32s&4F6Vz>BQ{jRVZVew@_*#jPm`fF^uPX%BLvb>&<(g zm(#iTa+etjzi&Xdzl?H}Lf%i~>OC%i!AX~#c~KfhIE8UK*Ck%LF54D`dgS#b_2W7} zZAD<*VQZkNpRMiIcQ&S%9bZ=(9c{D;5COmD-Dq4~#cO6q+fv4r`lJJY=~8>=1`}4{oYvb6 zRGgKUmhQ#N6;y`Z!I$f5y|}CmanO7kak;w_SyxxdI=l0pu7!U6Wsr3Wa_#^W&S^d0 zNk%Gbus@X!m7~-zZP)8fhv)Bxn2u9C5#WWe`)pM@vTYzC4TA~O3n+}!c^XJsmWDgK zT0@<#S4LmM7^Q&~E{Yod|2BI?cesp`LnAVWZdIkix4_m_7F{pTN1o>gZuZlPUUoXq zDwb9bn+UTRP#CB4wPIw?^wQaOZ}O#2ez#9b)1D2zIN$(RuMRyuj}NgloM0G#jTD$V)HRs#EPl`;VN@0kwee_XOxHeYsSJv{Q}$=;=vys1_?0 z3g6^jk1n(PV=_YS3`60!9bNv+c_+F|SOwntX+5Bm5o2s z_t;K{R6l%Pd_?4w+8Z6n-&rO9b!|-j2OY0K=3Rj3oyKhqf@E?Zs(jv0Ziz9b{m)Y5 zdv~pTQ@gucux?ZiMiS-`Kw+HD%Rwq*-cQ=yg9lgFtL;yh)9)5Y?eb3K{A87!YyxUw zM<<)v4vtrKzu;x=nc*Z1m+GVoUQbr>(#b(o&14)mmT>CzchOMlxBUcP#d4x)zg zV*iD?mBv4*lGW}TRo?AHzA1!J`EnXBU#X0`#jvHb?{|@To8$SmE6T@MA#-m;m%ClQ zo0qk=^yZ2@lzf{z!dRs3TQ|I}Zj5cK@v0h}9tyv$k>98+W#OLi#%0y~ss=^%@N->` zJ!b#(VG1_t`=iizSo*TT%c1aE8+oN^TMnj8|?YNW|OYn`~uI6Q3 z5_I*X%WZ}g1-xi`8-HBHD>1n1;py$k?gE}{3utVl!X^1uW%Sj<&-?l2*3?|V$|`*Kx

>=P)e=oKrW;}RKre+)vwRqkQFY(4yw* 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

FUJ0 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�)DKq zv$++S?*AWQwn^sk9_9*~RM{Pc#Q3%jcJ0Y3yxQxa7l%PBQCVTw8v!xry{K zKS|~mV$4sHxkEDUH@?w$s<{j0;(930cN$MKJBaP?Isc`xkJ!|Im20xeHl+ z67;7PpJTQYuLM?_&M`YA^Y`!1F}wD&)5GVfI)OY>GT%Qx*IYo1_s{#AnuwP$3$ZR8h`+i05^7GBT#8W|@ zR(PSgPx4OX50KtzTeqO9s*+piSje)Ew{7e)Hl zSK$8#xkH)b{{h^sDVlq^*t#F`+jNOpA?}$zhCtnOQ^r;r?Z+xj}L( zjmN2Gi)8FiX@$egO_F&$879+n-fv~b_gl|ux}4-275n|x{w|i^cWX*BcVK$7p1Z;{ z`um{0%~N|o{)RVQVRj)t6L=(WqU4PN%jZh7pNo4nU1_FDW`9STBQd@lFRp7EX_mYA z=BBI6y)GVBG|EgKV5h%PVEK$T2N2`$L0n^INzM}~;LqfyYs`A$>wsr8U1#Q>XUB){ z=L2UqU2kqCz8CnurW?$JfhaEq{(Q+;b1?B!l5aBeC6|aA;QXeWBlUR=d@thRrg0Ir z_g@z^jgR6dnr<<-%J}g6Nm75JxtAFA)6EVSKhZSFGzQ7?rtx%&*~P`zHBB*lOXl*< zFl$`gt0}__6JvSZYHpCs{@-RAgWdM0n%!M|UDH&vkBf&DO*0E5b9&Rwr7rH(G~KKs z#`I>G^~6{|x0|~p^Z0kW*)EyO<91V=Z~KG$or{_>P1VIuG~Ho#k&N+&72Rd_K~|rK z`j}dnW%eU}m3T1m7UH4A9|M1on`Mq5-bXx|_$T7A#BsT(pDsC1gn)+?Wtm+rwEZm+ z#{;iunrWsY(|Y1=Gea`^dtKArX1$AVZo0=5DNgwhE1G4dy12IdUb9>>kM}v|R%8{& zlN@sg$+5h1%y!9n;#BZwM$;TKb%<>rz6T3Dx#@nhMKZkaBK^%Xjfpj@x-sn_?6}~$$J#c z-%4|eB$q&yz`5b&^~Ix{S}RXGm$)uwtgDb-Ft556O1=YOr4BDqBE5Bzf3T63gitlyza z*P7!c?^H&D{PSfEW+w46;CI67%xvPlQr>9h5}*A5B=dNaS%s|41@2hVY&H{b0e&a^ zoY_Kr{9GY6H$89eBfbszPr!-8Y=3tu&jEh~oJ4$DKKRqL!AvGz2Her~f;oV=%Y(N3 zB{PM%09aYyVx~%-N57BNVvZrk_1z!L49RE1e zd)-ur`=C7Lsb7FRukdxVD>1J3UN@5@?~(5Z^eTJZ9Ds5;zy8qpx;c{c{qyYg_nYPz zVgp!ddea;)naATd%}vDky{I?M?w8x?^Yh%B%?!!dUVdoYY~~`XM@#!}nFYirO8ak_ z#S|aMo43pZ#AyF5bHoU@{kP3>$!z~^vmRMJOWJ?OY$i^T_TMpEC_dVM$4p8?duab1 zGlv+j7v42DNk;n#>)$ooB$o+${c`O3t>!+IOMZ0zpG|RvZLd{~1^E)-1mdZ{&(43} zEGM1~yn6mNbIX;seu;PpI6VI^W}lJBi-EV!|JckxrulTISuYv=Nh{oGHhZ|m!<&%B zD9C^B^*c@VD%(EC-)$x!i-{l~U9{UwB%TR8aQz;$UzGl5=3tT+fIMaWXXXZvyp`mS zfqXc~r(Nw%?=v$CSv*Vf?xUjRy^%!&$ghR?Ly2Doo&cN^rT_}G5sftzBRYHIIZwIa|g0G8}v^u`p#^Rl6ROLB)+SvKXp-Lw@|%kHo9R*V@6Bl>e^|=DH*=!o2h4nuSA+bK^#{xa9(gIr*OPpy zM_xhlR*)-A2h19eJWTR;W%>uq)+qT8=4O(2Ncj)ujwtz$<}Q*SIo}>%e>A&~aks}G z&E6jFgDj2*eWmF~vmfzUz>lu~(M)ma&z=91IYx4;7~Mw*W8p!w73FFbTyH-*|L^8z z$$9E};JLutT=CNie>U4Zyw}6~Jbb{z;(B*}el}GPCrHNk&6lkI*-S(hmq312tpA7E zNAgB7T(YpnNG=if?`ajzSFB~O__gbORz1ZZ3HrZZ@3%Hb#gDU6ZgBkBv_9S%BboPW z0@eXy9Dh|S<3>k+?tInCM^;x|1mE9YuUQL-uZQ$@0GCT{6_-MJ`xgeSW>@^QLfvXX z7U`fraJ_DAiIN-EHj-z7{Ol!$)gC1eSsf&wBjq8he5~VNTA^tzLlz4`{`oS~s*jRe zRx`<;kaEk~6eUlvws?4(hubLrDv1C6iUh0lCYiq22)ymt&Q^tF_`P-DzNJT4H7KY4 ze54ij@CFaJdU&&kw|aPohj)3n-NPLoKIq}No89Gkq-A)xi-)^=xHqzVf9&JjBdvbK z_V3?*oZH13>eAn{{wOOSS#3WHzTa2W)mk7qPyHKkEpR!>MIr28u0PgVMsf@I#-d}b z8j{DK0r%%0InD~R9Jm{Bi)6l^(9PN^ndggcR^m82zdT=bvyzB$zUXF^Bh!4*&00os zoG-drRUBW=7u~EH(#QFto3%kQ&llaS9WG8Q>~8InjQ#(>`tDYT13j%&Vtjv~r!@vyxnhVt-z8cZ#Q6JBiB`5` zo?lO}ay?vtEP6osPc1ybTIP{gk-RU+;pV>893?-|Y9aX`DL>KL7A5a(wUInk%6nS} ziLaG>lGXJVcl$iqN<9%ueAwTJPqkjEljrh zOtkg$L?v-OaU<}!$CIrs#IFLcdHigvOS-Mk{`9jFCBygrK)&ele%4^(cHmQ+&#_V@ z=ZPO={Bx}llDYo-TceRhr-$MDd(Hi=^eFiNYZ}Rq1o?T*1FW_v`9Nzg$@_u)<;MqF z2czVJthhl3{`(;RICqHE1)0X{i>&S>-zDW2S;(19 z|3=C$w#E?uUGh+CT9p1JRu;*%1$KIuSf#{ANxsyoiqgN#swa6bke}ClnYAoK`b+)| zv#OBA??C>^)5EN0kGzHCmxBDJ=3&+r;%kAsE*oy`jnco|+DG!qQvY&G+=}Hh6F9GM zgq1>^4?J@52rHNPQOQ?W&BV_FKUp-=+JsF0US(||`C5?Q)O?lI7A3#h+Dr0Rr2J~@ zK$LuxC2m81wu1bVr$SEHy>gFy8Oghoe2YiEjpY46 zKB;+>l`<9m%Ljh+nbFo*;;q1C%dW99h zh;xY-5HA3p);z{4Mpo?g;GMu5B=h}^>#bJOe-iZH&%NH-M7)Z4GjSvEtmf;jeZ)hi z+4iruI*^rPVZO)(o;Jj)7e8Tso@g0&Nc-f^L@SdR{h4TG z6Qe&9tDK7G z&_DDi-5N`b{-j$S$W%V*)B8vb8`m`!mI=q4=jj zeQj%=V#Up(@|EQ?#WIM|pD9+$z39)wp#Lf8Z$c)2rdV5u(Vr<+*V(9#{!FnFC9^+M ztQ5(4;!D|HGOY2aub@8}Rx>e{PlnY(jQ(U;n{(X$WLR5~$)5~s2Qm7SVI|IS`;%cM zNoIdCtW?Q);wS0Ptrm1v;oOgA#{1EqH%}!w-j6=ee0zlL`_cMyGd=O|j>zrtvCDJW z5w`DV_j@ic!We&nm4W_Je_m*9CdTquXl*6N@&NgLm_Hm}K#ol1vC!HWS9C0S#F|F@!bSG}f030b8RMrFmRQ-6dHgT2@<|`} zze}tFWZIuEu@(^H`w%5oF)_XmQDT)6S~6?R z&qnz{k325V_J5vW`-#XjAC_84Bxn069(gLsds6!89{DtqbNcxn`2v!2`c)ozy@#7g z|8z)i5|sY|mwftjWmeY*-1V{88bgfrvDnH$rutZHoMBOo1KFrgooR|+M_v-&|$f2mHj(T43VKCymE{eCr~dwqW3(d$98{f=uPKve*CL)9Dn@ezmw0G zrT;z=ruKBE%)d{h$q-gsid~MJZ-vhL#A`C1U%Vy5IMRzJ`<=x06S4eJPl@nX>Mz#| zkE7o5__gObe_s7q=OgV>=FcZsZ+ldI`o#DyZhsZAhsx``-gy3NV)Pq~RpEIKn`Jrp z#3^JaUdkQz%D*}m;~S*M$F-xHb^oj+i;*cJ-JVt;grDJ30D1^9ZUB4l!Nt`pYL8s6Aomi>%MCrT8~cIDx_$ z6lPL*r-$z)<}io&J_@;=<`U1RkkjFiQYKdQUi69AslK@UI6jvvuUEb6Pac1{-EkO8-y8pbEC1U1=W^n5WcHQ| z%YUt1Zby7Q!p!SxZ#rA3{<)p}S8n%DpWu4<-&Q`qwjFUh;P%JN<-*KzE+=kp+@3g$ zb)Lr?mZN{pb;|@A|9PGJ&qH5io!Cb0n*EElPK;#_*U<{Crxn5LWDI@cYqHPl^k_Ri zx_;nwfG={Lg?cRad(J!hczxtBkI(ch2+1?is12(L!QSueayd)^6wX0sa$tPg+6hNELX?>7SHt$*URnX z&j6BpuZOr^vPqBIJD=xuA7A$rke=6$m;WNu^U-y?UvN47^7%N?{}e2LmOo7CaJ^xC ze?;$`?zX-!Qomkqqx^b9uO42%_#*Yf`Ccm1cly(659iDM5=CI>%uBQ6d1w6O`6HRi`r_+&KF{fK z$mco#Z&JJS^6@l2a5}L<-dDnq=QpRHa{r1IdhPQ114Ey9oBZSU!1`V}$74C`d;4iD zjvl`q|5=~QjpwIW%;$e=*i8E|9JWz??xFnieqyYU8Kf9U=M`^W2c*5~%f=UI>U8P3;myv6y+PxDipxJ;gR_RV=;VHf51TNyg@7|VJ8 z)4Q+gWn33?Kk`TR=h+VLkHrc(A3u{n-GX*LxIW_|>;A*ZF`iSO$cp&o(9!c(W4U2_ zP(-|L^Wo#MUDns69Yvs@9QqFNpT{-M53*l$`M2U9ExAFh0OoM*qhA=~}6c32-jgxX`?c{|5B+u8&pK(>Cw>aL`@c`TD9`)pd|YIF zSV-$(o=2it5j>u-oXdyxIOOr?70MT%$8?=}o%0{de{7%5xb_z1hwH)1UVGfWm&<&? zeOa0}*l%yh^O5)bimq6G82ZFc%9mG{o;Q$ zU-&$P)2?Fq&*!7_@t^ab*B4ywoQ}7=Z9nXJ=>V0tx7>dDydpZS#&Yx8I~=op9KZdM z@jKReE~i-XSm%$D{`my2Pa!*fJt3#hVXS@< z-EaKjOtSL=^#_(S42vy=E^~DHJ`v4_`or-#pUjx9lYc%x zOy<`wMtSo6%yC#BtT%=9*e2p8&wITZL6GzK-jpbqQcVfQdX&uu^{8sy@5Bp)%UwB;L^8B^_ zdFMSY_rFnoIgB-Lc;oZDiFTazdx3mv9j+_L?yt3n`G|}3>teFwuW`>~Jg+(P8J7cx zvC`xFNZ#^O$v%g%;zJNW?h{EaJ-c6@Ma=DQATiqYiD8mqzktqr^Yv@>INnrg$9XP|^TYE? zG{d@DJ}(j{FrFg*LF*fAr+i(@Az!yLD}u*&UOz;K&U%IQcwFM~%*%ZKOY(z5+@JG_ zf0emiH_3f(Uu0j3$1e`Ke{y-gC)=A({DsD&HW|i=J=6}p`dq%;etsamJ3aO5eGaHQ z-G{lC>W`W2v;WLk&atomy?U4*=XxtvJI4Cwb+kXSpTg}TI*g^~^TazmqkrD?oc6?Mp8ZkIr#F0v z+7Y)8mUH{?hI}2#VF|^@>r92NGkpTD7yW|wX;J_1=N}_`(fW#birTSVKK8nX+l~9Y zz0c=m?iXwi{q#qko8#-+fA>76!{tyx{?<@_`1wKhgRiTbL2i%h%o|BRR*3zO$4j61 zBk8{%6~eqm{h#|Sw-46m^UOS7@jQ&>3+p9mCr*?d5xwq>CI9E~&zp&5S>t4HDVRt}qy|5mpi+XmuiMFeV4oa6pz8>>F2kYGrVmq9# zfpp*WRJspwiwxr;_aj)&_sLN&PM{t?-`I)v2?An2`GxxiK4RxSy!Uy?SpIqM%kupq zE+1`8bbWX6a4b3R1MvME%pbg8K>3c&mm+?h-l6%&=e`xull=On%)I5vAle+kJ|dpKD=WEziSyjxzKMd|t%+ya4adD1zJD zOQete*g5|;o&Spro%5TieX#x{YIp4K7o^Y68FD|x_6+wi$!?$y`+KbOmXt$(r{^+H zChkx1IK5aQmoLtH;J+W!ePN042fXW1UFTloCH+itw;2Hel_iR&ppUgmWV zK5yg~?XsNX!~}YN)2q+^V!L(vRh%53<3$%4I_nCoA7{P7^C;IFGtcMTZ}~YSESEUJ z?VRNpkJlp#J-^B8Du;2s;xLYT94}7XMCHPMupH<4xX8MK=Y0-YANQI3WQXgP{eG9*MTCyUL;l2y`&(~qtFJL`D&yS+x(^Ajt5ypC4HOVl2D zT;p+PdQ^RR$1`W1dXwVwc>W=k``0pb?qlM-;1ekKi@!^`(@(G+JJ;jv4`0usUva{$ z$N7cR<95pB8Y}(5^t@-R^rPkQJlQYmbH1Gr=V`v~Rs^y$uCf2zzPZ10|M2z$@46^j z&guGSKJbg9s65b~vtEjh=Ulh*eD}}wW7#?UbvpOo-sBfw4-KaE#aVEkuXpVEAVqSV zu-7^EzT1@)564+W@N>d!Cpz>Aw#(;ljEe8f`#;F`%+IOv{cK0h&l|Jtts?7~?tPCeM3pkK3Wmc0J&_%vqm! z$8~-_VIr05JrvHR(4N=r{ZO92xcoTX5~=5>@3O>+#T1X_{JoYHp7UW3^YxPV{F@#< zWWV^+FP?YS0j#(E7xfN}&*^_A^_~4#&IhLFr{`J}x*msdgxWpt6Le5|o!7e8$y|@l z`&6fq9M@Mq@n?D-gzxKd$k(yV-jL;er9EyZej2CZBG)hfTplmZlkq!=3(2qFs?Y6+ z$4hLF@I4TE&M=MaazEj97MBCZV|~6J!q69Ke=Pr#T)#W#nfdzUZzRY1^9!tB*w>@> zd^MF9*E?UQkB@QQdmViT|2!opy%hr-)xZ5BprQUB^ep zg;;vr?@=G_x6u4NNc!y;*v{hw=ELcKms9?@AMkr}9CEwhc7W~7=@(u(w-eNhkMy74 zs>l5S=MCpRGqbmxz307rE#)(n%7yd8{^GdB_lKNukjH0i-*HrqjvV73x=;06c~TB>KbNo5e39{+-&4eKToJ6tb};mb#Z<1($k2JOkL7&5 zvX=S*?|1O}nC-Fs=cFEdw~+4Bd--w7xA(pZuRFU+xnDd_{xnF2c}a$yXkFv%PyCVm z>M!5(Q0RSapV&_4z4!U~I-AF%&!rw;x5T)_wIPZfP#d-&_o zA1PnlFStMQbBEr2Ti(~i^#ZKt<$W~X*Hpye_9HnzoNvDF;_EoBe{L`8I$VG8eFcoi zEKlmt~pRW5H`+Qx<_XF4uydMDX z|I7WF_{e>1zE8mU^>jQh4wufa^`G;L?TPoF6~X>u{^5I$ z(r>5TdY|X{cbTv2xjo=@mLf8!UCf|zn?sE4*GKz4u87x;b5PU3Hp1Ci@TE)T939xwU5JPu>M zw}*Z!^xO|W@9pdd^7AyYo^RrD_Mht=`g~Idl?SK)YsYsU7x6hO-iPqf^JEHz&izch z55?@PtE0~=;sE&*2;=zX4Y_>1{ijPe)W;B>yOHnD_{DoNj1w=*FkbAU_i9*=+Y{=? zk$ybscZ%qHpAYBp_&D-2$rJV`=IdKtM_eq=JJ-3~Z)25vWWGDhcTu<>dPBZH%jL%Y zupW;ee4pBT-SMhKbCvT2lqFf`t$0cJhmOqpEsU2A1vp5vVW*|X!^1A(4S6``rz{M zma8{Cl*g`Duf8{5Y(G|c;CZKBBlf7>FtZ)6eax<$!>9Xm zsHf0@7eHpN)#_ ztQV^syyd|h9Xj@S9^`cm>v1|5`b13+d*1MiwK8cTP82?$j%{1AZRkaN$a_%jL=Kf$N{&&*tlQ=KtUH>pl7SW&fd^Xr0aZ z;CP&GublfEzt_a==C|fQmi_6O?Y3-%lFIYf8l*%9s3RIJxBf7 zd!F@C?x%Qhk>4}0c>CXf{jmFsQ{MkAkAJN^u$}t^wtN20XEJh{dFJdW9W;#m&$xV%ANOB;~MS!D&)69{WW$zcpm???Zn&Pc>eOvYyX|^ z?0RtS$NjfF{%6aB`w#a!llnz8!}FB?^n9G?L2~X_9REyuABy|`;rcPgJ9Pcbejd&a z$LIIRx!-z29$#3W{YCqS9}n0cUjM%@f9J}X=cCu}KEZPD^)l;4`{CrDSep80;>ka~jJc#UHpB-3!q=y>uvu2 zGS9y)luvKS<>dW-R$u!59mnVID{;ubvx(0YaKBar%YSX?O_$dr+#i{_e0jY2W#;?% zP8jR^KzyFpRj*L_V95Ihe(^S)$8kmxTwm-5KflJjo%Ffg{MOLB{z3oXd#Uodc)#HH zF!;Ide=d)w=kGfmvVJ;TIv>h>IM1nnExD8E++??}fWY@wRB^UsO^lJDv#w=-|1~>7 z@>@T|Z!XX1dBy2>JP)(HC(Vo8&Uk#{e#Q02{lI4U6$E%AD?xOEBLIgAhYp7&f?8*h zBD#nX;#lD0;OGWNcaZ_dG&mB(@gg0LOgJ*&mx(4MMS+qI$0ShC&4jCnJTK3X>e{j95X~c9AP+$;V4k< z1ill(yCA#^!Yl~0Ae;%u-C`>o1~Af z7&+n#IBNAANP7;Pp9AObgX4a20FDAB7t+Xu@Ii?8AcPNzNxp}~t#C~D6^J|FnCY7@ zX2CJjS17u}F$s=a;g}9bA{=+X(Ho9gaM(IseGiKyIJ(0z365Lgm<~rG9CyHB%X`By z3yzt-g(BHk3_cV?`o-X1G5D|u>q=3Pl+twGLhqZMto&H1L1PW+j7X; za>(0q$lG#AYdNH~9MYO{}mh^aQpzr@ycbwK2AO- z2(N^2B%B)we~*N}uZHky2uH!WQSkRD_I%d@qyX8xTGQtSRrn@h+Ty7tX({yaC~35NgU+ z@bORJK^y$N6OK>dIH1h&|DfCgmljQy@Xdi2`~DAWZvq!p_5c5$duISq$_*D3b&#>5 zP+V}~j@A&Qp^#!|nVR5WNesv`Z&P@M+-Fz^8#v3!fG~Eqq$|wD7sfXFI#W=O$kSH-Mg!JACf&xx?oU zpF4b>Nb3ooC(?St=Lug&ImfM&ycNHml9z0AyH5^~??af6+^3rld_LH|C3!u>SX6Ev zeU zTGla^cOXLg4%~2Hh7=LN*!oow(vQ%)ppC;Adn$j1qzh%NRKz=QAXEx9^YjVQC@^$) zmdHOrdhby+{rAX!;F`_Sv0%n(-z=0SOyTh(q~DS6@dE)Y32!A_0Pla3vDO1cQhzWp zH$r*@yeZ2072(67Jt`tQ^Znnyy-XSheSbx&^zj77E?NELW2jg5t|BRn(tjb}58Zdu zED`^JsDG&R48otvf0kWEKGC^LMYvtQKajCA8!u4411nSpRTN5T6u+I~y}YSJS`NK_ zm8xIba{t2iEqD}uXxgz}}m!Cl6@!rQs4d>1+@H=N4h?u~Y}1u85FYz$+j>E?-x?Cv6_d*r4_CB3-;l_blu2Fk}64my$m#zfih{ z_;)K@I!DCM=@N=^>K5j72?F&XzuVG+PrnYmuYlt1-~KGiLVjo82$lHpl`D4(f0^_> z^7X1LlYRmRRaOaqfP5GFZL|k($6=KP;`pk1bmdl|YehY3yYRcO#)Y+1{wtZaUDWfb zw#!P?!?>?mCuh;i4dw1nu8C{X--BqoZch^r4fBL>aino7zu!tWl;s=ZP!6JTe z*VF%FKh*wwx5CwbwO#mmZeCl(`2GzpyeWCCSNoHH2Y!4~C12>%)*@*L_*i9#te$Tn z@>ueRcjf8ES7N>eK3y3hJq7Ee)98(mtLtJw?&l^bbc?djFx$R5&4+UAv`fRuk#n^zk>^Ns2xi4H#46h zXrH_S(Jry98RyZ)JS`mu)7pZrYW%ID{nY-ws&WS98 z@UIYm4bnGMYP<3M+Lo{F<}(oIab|+N1^)G`Fe@R3NDAWrmKVT2gig#2V28oe)(~kt z{F>Dv(kn>+!KyNek1JOyL!?CLw^xPA=SBJ$#PeD$+OtRo zD)PA?{DpEd!b=aVlQY58s+-gg7gntk^~sXgz<=7BCCUpG?GPcZgO+Xw(N1^vSh{UT zyb*;KYPT%3@B7gFI93pE$)ABMt5l9$Qzo5(zQ3YK;_bV(%0l&v%AFy%z`qse1t0G> zRSgs4y>AyDFRMxo--i61h?kffEv}C~8h-sPu8Qfb9=8IqzwfcJLm6ZFF`d=pS|)vm zbo@H>BiLSv>nYBI4R3Gl#?Omh8;iTC=S6@b0>!#2cnj#{o6ofvOhKKJ9|HiFfw2 zcT>;z7QrIvKICh!iq`Z8KdYKS`7Fqtp&0?)P^In8^QHL(G{3$~0NX3$G}FOz);P_4 z@RBuw_{;h@4L^V8=C{-Sy;)l;#uN)d@&1-$BoTyyi z?ymZY^Qybb7SVpb-PPmOOy}9)!nSS}l%JT})-4M(uWh6J&1)lMKK?GRRQu1(Rn4N^ z1K4`RJGl9t(0(#MubQgLq+-4wRc+)ST)0_E8OfO2`XY(v^Bvm#6NLX-hov5 zrK4Kkd)-Uj7<+%A)|>07T&=gdUs~^dEBSui>#pvPmk9Ur=BumGnO@$t2$%NW>pmXo zMy~tz{S^4Z!eH<2n6D@1=7{U5w#y-u^TFD&BK}x!{&o0@%qfxye(hQx>eo@ZOXz8);w+a0*xN>cd zs7H=ypB(RgsIRm)kNo?$7kI1fl;b@N{`LE+#D46i{;+vd9_b^fm-b=CKF?Lz4?Kf< zwV-@;p0boZfbzdwnAe%lgXM!?$urPjr*Bf@1&jFoa+|5#otp}&KX*7-B-NrH+@Lx$1$7=>~8EcNrn8YkH8pl=Vge;km0f$no~nB=yRF&)?&ykuQ0JqYSI2e6?a zAIBdPoJ1^=o)vsSFpa3rho8z1rFzMg!BkFEZg3C&)$kRW{~iAv*uTuZ0gRuQyVeJ= zqL&zZ;NUuq75Q{4FBIcnfk?kqaJOK&U_lRc{$J2Tz5W#R;NwYF)$Sf|gChzHdZ^c@ z-96NCs9dm2%0)T+`lIe&PUp?gLl4$cz9C>S^x(qU9=k#FT5s3*+(RAzYI~^TSO9wh z_2&0K<%oytNDnoiVo|@XRNkFE#iHC|Q7?ydY!v!&K|96Uzuh5y1buT=k#q$4gdeoZ z$1$%9-gr;sbFasS4j9)m@Aa^te~l>oZ@N85_x&obp6dDS)ssKnY+vZrlRq`(OlpHpIe1I@4qUb?fc*ikLOy&y@b$M&poQ{@%C(67wTS(-i2cnI;dwpP`;21J(Hm-oZV=%OJ^9zB z>lW7b;cQ5S8r$*@tgmOe;EE92=9YPzYJ2TJSle>}bQ3hMcf&z1rj8Fq(y8VA{4SEZqJ0x{Q>6fq-wzpteiA%; zaIy3Z`D=Tw$M}@FsJ5pS`88~)qW#&wy|(8Z(&{+7Aa`sp{@*GZ7siWv#rNW0!A@AX zwAVhw%U-oq=o}HA^Osidlb7}yg7jL%Z$kV#8`S#>$A+c7CSl#-{*5tWe9QCZ^Fs65 zrM*5wysr_i&Zlo_)OfRcsq?y}g6jQ2%fa1L?u#3(a^z!}S8r5x+Qyb%OHgj%qLyAS z!v7+)8G1D|KOQ`M2K=)(HuvJ?jwn>`E1U=KXw>_pJJj#jzTHOg_iw-b7uETzpL}mT zV?P{J@Be-R=b>GjFrQ7K_70Jcq+mVa;5|wgm3yz3I&P`sReR+<+K)FYwY}AGNZVV? zyXZdg&K|qW@5|0?blsP^?#JvhzaRT~qi=7%AGi+__r--Y&P#_P$sd&)*;_qdB75_% zS~o4ycH!%8$=00S{QCCr3Rin~@Zj|deqUXOx%g25UEi|ut3*Ckz14YyQRd^*{TsAC zYQ9<@eter2dHJaQ+slW~18!$(eICJh^}<3gpJOPOvwtq{k4u?44=~epKG~}E$wRwi z9^58VeT3^v_5PX0ST&gXN&ssB#~-?*;rCUO;lBj^?4bg&pXGwZf;VaYyb$+y zd_VgfT&4X6@uPBAX@4RHu-`$fH;C)eR!Vng&sHDJ>-_vu@5kmGQtwAz0Qo#R8{_tU zn=vo6mTCKgDThk5kAMd^-;w!#`E3l)@cqgX_jQX7wfXR;gmnwseC~n|EN=7RZ_flQ zZlUs`a@%~mKo5c68|$7C`7J*DeCboz;-iJu6}I{G2cvRZd^&;K5U$=ow9s+TAs+9S zgTX|!8;_?RuNI%rphMsn_a8p${Gf%}|INx0t%7=w+UzHf2kW+!Xk%zUO0;p{@zeOAk_*J}$^mKM6^ITjyvKA^VW>O=ZIynpQ99xpgc zuuMusIR%Hxq;xQ@qPCCPFB)cr93m3}eOl^$vq+9EjiulTPo z84mKq!%Ujb7xB z%8jA)gA2XI@$>Gh9={9PUn2PVHD5a~66f<IJ5aqQV3ht}6UxM2) z=TwSj`@PuB@e-dOEOv`R zx+e}-yUhVR?{0KU23wZaxqUR3v6#b+ZZDH=bmQx8F8@sUGs(Z$?NxBz;Z~7;v3M@h z=$8Mtd@P8+QN-U0W*#n-`1Nrm>OZAF#_9caZg&%LAB%Wpe@nL!dY{mT!R^rXq#NCu z1Y1NnuWvEJuM7XTfwI71@ZQJ-QF9#7%>w=Wee5G)tz%0;>=p{s;$7V+8y%cRX{uUm(; z{nYW}_Fw*;@b|G>#B-ZF8h*VCwBMq6z|F#TiidSRUw>SOrM+d+Zp4qn`XwLlN7>tb zd(!neREz@=ZhH~_xIMy+Ul(r{M!50uqIC0ltr7jA6Z%IGsM(P!sp|kLC)oYmk02dC zuKajL*@LN`xK8{<{x!;oA9opBB|HK_C=j;gXr}nG7exg73 zQ?E;7`-$3+hzwn6w+p4*}A-@PlJ54q+o-u>07|b-%U!@%j|XRp(bB2fh2N*M0B)YCCBAtJhy`e|28q`;Yj( z|0v&8-apIv?|e&~w<2F(k*{lh7ua7NA0nvzqH?3%Zlis!?Fe<(zQq~su8uD=+@)uD zzYTT&8S}iv+}+}Q33cy?c+c4*+d#XD>-j}SYnjq*T=#gMaVtEk(RepxAI~-F8jCd77TTN4*5M=6zcwh zU>X>e8|uCc98gfAeFL=Equt*EFIn$s`0?`FSSGy(-Hvtl{orEzI`_jAzE13Sq5DbF zg+dpJ@FJm0+|}b(;@*mQE9}Aj)qYkc;+2Vbq3-;>gf;e1_pcGJz-|`%>Cp1)$G9C9 zp_dBg2u8b(i~G+=7m*+BuGz}jD*TPaPi!SZ7gIVsw{h=^cyHNfxUZbf_qSZ+S0y;Z z{T%!^Z8O~4I16XE-zFA_@Vx%&ye6-|I`1hE`_<^)2mPQ!(E%;*A5#ktXa}I2BJ7s} z|9kcWTK;~9dB5bLo)@9+Veo&1@RQj8{ouoh&yUMU@MdAC`x1n|zcfu{mCRxBi)%QfWUZlGqj_(C=d@s1G@3n+eJ7rY`{*^y} zo^yXiyJ$y0`4!}M$=Xi&Mdh|r{qO7vbbhWyF#_9{2Co!MuRFL4o>lu+>B&|ny zVr~rO8M-EWOmptJw5dLuC-zxmY!ar8{$M#jz?H1wX zBD{8hI!|eJD?`1;S62(((R=|NRef93>z<%ir;amTg6#v;`|TFNHo*XP9O<8{E|kuJ zk5#q|Q2Swo{5AC5iU|1^L62>G-rFX^YejwA2dMWE?ZRIq`63=)PYWRWXpCTdwL0%k zs`l2Y{ZxHEwk_YA>c`33^UX?Mo!Xv-5??=ETji}&+rw9qR=fh_BA?@^HM*%)s*r>@V-X9S){yVvv3->ZP_+5ic>f#3K#-w7SG2o2WjIyJ-uc^@;=4>N-V3 zb+}G#w{WWGojp1a_7dhjALu;3PC)3Cp=7pj?;zj-9#eT(${W1%`MKFM^qk1eA zdZ~yXu2a`>7Q69vle5*0ZpDb#vb53dJ;74J{Y14MnX7U{J~=wIU*u4|aGyl=!hMoX zoo^KA#C$^>C(L`1&uMGCPQ4yBx*ex{t3-a~I<-HRi+sy<>Ut8M(;yyy-r^MeRj~7R z)vvD02C#lY4+Sq-i$!}ii1u16O{DNzvHt<=dFa;ac2V8|k7VeZ)dxH>v3`_Vb-*JF z`gXOKpV~jQe(JhPod@5qtX#E!MdffS=@c0E zw*R*Lu~hDzJ&WDu!=JIcRWN{Ap@$y{U^~DKZ?E$>1dcht46m35uPUaieQf5YQc?yI|SboEF)U} zYEQm?k$NOls(}BMBdu=dllcCI$S0sTyd5InB;FS7)arHv;aP~MwnMAikI;>X=edCI zcdMJWh_TH_hILTGxBgX*H~c$~Y!&@tvHKwCPmcI?7!2+^(&!cry4F_?9#Pj5jtU+} zcqE1Ub>QRu8R(};H@eLbGzlgUQ#I+})gwzq`3Iy}U&gK%_d=_e6LpF@Ws{4{mOBJ4$*nt?S%Eym}GuwBUI`hv1ijw*-F^)V!^Z z=U#$61p5mtRXdQ6b9eS=2ddYDXpQ>Z-iy-h-@e%GbHty!J8+;n{sj(H zuWP;{{ElXMf5!eeq8Ha4z3{8o{rhSH=)JRpn_E5jdoqXZ>idRKx$1MUz6+ecqOD7S|!O zxNa9ozajs`TnptFm1`cTj?ZS1pIPkRF!=%0^O7}ZApb9SYnHj5=j9Ak$KhtN-k&p2 zogcdHg9`@o{Tor({MUNF+V0Wf{fEUJI_~88hDv?Gr}B4GJ@A}flwU0BQ!MINF1XwE zKG(pHaGYGvMFMK_I`eiP2CCQ1a#8<0@!navXqR$vT+2oK`F2;w`38|+!$5VM_mla1 z5MyhaMY+wQKFuQEXw6{MJG5pM^`nUVtPcG7kWr=e9`a<*y!BZ@~-VJp^@r9dfXw!+O*!(N@yo9dLEcfexR7 z1vS3i)p?ov9@two>ie%dYf{C$S6v4ysX6b-=izq>8#^3Cx{+(@I*eJu@9!HsEW@~1 zR$~$6TKvWQ#9y74H+DFW_!T(c_TI1vSB>KtMHR^bQal`Wv;{8w);Q1N&GyLN30Z3mj zSKnhS-5lb1it-QfybS(P6C%n9@$`t{<*DJ>yF$s2bsx{~5s&+Md~K~7|A{@fq?60| z{zZ8H3IETBLOi?d;yT2$CwR#k;@MyD9`5709s=E|b_V6!U9gX!zBWLlpWzvTcnfml zJSTubwF#cPQO?NPIM1oj25>eQUc1#_9jD?bzo($p@jA})MTAdByfkojZI-9HPLt)y z&u_ntS)M$esTSuo!hblJ<*AOBS)P2nc&T=kr@FqrRrIGq&pgD#d*hy4z|zfyo?QlT z7J2e0EUQ)5xw2~`#PcMTDFwwMUzH&Ti~ZGcr`%s1 z$IAWHai>`H;}Xv*D!;_@1h~4kOzcOACqI8LSxY?m`qKK^5>f9GPySq{u(nRbi*V!n zTe`W}Up>!i{rP`IXsgDxdL3*L?c753#5m&5 zuXFusTKxI^{nLsTf3^K?isP!XPi?g3GV1%d-B0H4m+e4%{|vnge!gCqv-cLo$KQ{5 zvUjlVQ!CMXk`ehOo}Hlie7!gLQSA&_4{pm3kb}Tq))#e{2$t7+c2uv&K9nvhw=41e zy?#QgtgHhTjL`?*}?AKz^r?Un#=3K`)11kQ=Jy?KE_AgjQY84At`X8jAM_)czQ% zT>_22Khmo07oq(cIt%(7`6Kl!b^JI*>NkPWnK62PzMrd&(evZgT02YVSwhF?`Fj+7 z3TFvg^zTx7i@xIjD1Dy(1f|c@JO7W;7wFZ$w<*x8?-9A)ODWKY`tkP;ipl>U%L>gVgw5gRUXIexI+1?=|Ru)=w||!GeK<)Opa@L25rr zbz6;oaLyVzNIQ_fM-w@S|MfN}FK=6ZfJ7dglu{_kI2 z%8DN5f7j)DA2o7NJJPo=j2ZM4BW4)c1QLd#LlSNb#Ox8@-Q}RTW9^JB}#K z8>GIsXc?rwZ?<$0U$4%p+B!&mFLCQ2^?k*ygVgsG4`_-||C_cVsRT^SEf@PyF7~5b z>_@q%zxuve6ykm8|G%n#xv2kEA1}14w6|8YTbcAZFQ>Lmv|qDmzm`GjJf&rjI#1E} z;q@I+7}BvB@$Wkt(NP_z=W91d;r`{V+amovk-lBz@AUw0@4?J|_3m>t zq~o99IjeVnb$(jhkC%(`iFhwWtS4h#|6Qyb91V5v0b+ja?oVu>_2WBx8u}Yw=k2)4 zU2TU|e?4#D>(>t)J>bEgD-Jmt|A5*rXFZ_yOVvO2sIOjaUthi2zB6c?#Cyh?;h5J% z<;HakMtNDeSz10HoOrZr$Gb-E_v`pL{MEHydU3x)=g*xz36#Ecb1E_B=wc$~!^8!- ztBBk3*AX#ZYxr@A$}JS}7K?dVkclE(V0+u!{W`CUak9}(_HTyQi%=-Tf5?+$L| zH;eb4n#KE0&Eh?$X7N5-sFoj>hc|oa)$6R6o?oZ$?D5j8@8@{w)%lH=UcLYH(yP~H zFTJ{M=1uYOev4i`@4fZveV(^Suh)y?F5b6v-H*BM+gv(WT=zOKUnylk2d0xUVDqFU zuxq8|umw^M?0#t#Y?ZVI_6un}Y=g9U!2Qgu-3FVY{TSAwZG~N=ZG&B^9i+RT6=)af zIxxN43fM@uJlH4Q*TGucH^TPr@D}2DceG*Kx8vuqx{eL7`i_mT4|O~X8`$v@?9h%5 z*l@4wuupn@4IAn8J?s>(+psZScVM6O`a_3H6*DLrKfD6X!j!qhNlGH|Y2{PmOyvO4 zq#Pk8Dy_tHod{nRMQo#oYsd|^-fCp5)jhLF1Q&~s+K-o_GR4FFDqU?UqNacD4gn^aH{D4@}sR7xfPX(+ZeL=A3VcdEk z-nd6v!5U@!BTmwj9??kLAM=P6G$^wLYl)RgSYQ_XHA-Y)HdwDj2ihopNnjEAKMAyx z-WOO++8*d2eKfF@^oc-8=INUP{fOrSO<<*RIWUX#jld$}H-Xi}9|CK@MCGTzR?@!( zI!XT-=&#}Fw1dNl_YF1?dk)Sf4j8`F(;kV4^Z0$P=toF!dq-;Gh7~!-GOe8-l{XM8y~sNBW5%6X}UTS)?Zi z6%k{Cc7m6b89~LMQ+Yn9n*64q8W8;q?MqCF_I1JCDZP&Q~#js?|#-zdhRoIfgA#2V%Gp&Cyf z{>D&0utvE&)E`V#t_=+({pHX&V*Ah{;;o_8#Gi*2b>#8y4&4bRDr{IaX}4jm#E!$H zPCUHxFdb-6yodRNiHc>I3H(p*#l%ZW=CCY^mp!bAxN=xEarLlRFP{F*VRq1(0X^utxD7t^pGjpW!<4_aE+0+JCr}!XFx*MI1cbMjSr8 z25eGB4|fuuAFjEd>(_?+6L$;`BOVxTB07d=6Fo-Qz#3)9h$7;M5q9F35!J+TBWl1V zj({q@W2{tJe!FJG~v<6p`fA&ZR>A53YNnaW11e+A+NQu8Aqx?Qn12!r0 zC_mBxqx?w^85K(U$x&gXqejJnoeVFIGLbfq$_DQ$ua7DMYm~L4On4{euCig26YOr- zF-q#j{Rc;B!0v`4qx?w!F)Ea(865`RRXU80Bi(JZ4KygdMz@kK87+0^=}SlZ5kDOr z2HsWnkLF*xs!@)Nwt)ua^U?T6JBOXz*h@UG(#0JGqY*ea= zXBB^}HQrS&DPhFxN;cTt@V!zE)+ic7E3tz?!Wv4Aa-YGE*v$}1>}7}}`Wmu`eug6A z1BPniBZi$ip5IV|&5x&#H`s{@1_zj^BpcX3&UAy0xX2I()+oyiS;SWjMZ^_`R$`t( z^5@~}3>xsRveDp2+GYqP?lPFbMCE-$te*Fyj|^6@ui+xPTb~mgYXC%FSTrBa=aaLmNqc&poqeUS4+hcap4?b2+ zdgWsd(yJe9CH>uF>;aztkB>=UjS^$jk)C1nBVA!Ml0IwGam|DLJn#|BxG){@@h~HCLRc&@GRy=fD$!w9($m9i#F=4sVr-a$I4`V~_)?e@!1G%WrUCCN zmM|UZ%rGM{J1myCGR#U`9cBX!%9})g!^yDFM|k>{Fc!$!8m1%O2=fQ;D&K^)lKv@7 zGnnh&!a|4ec-rtB(5ZNaJ4oLj?gZ~D-NRWB5APSA4c=7-hOYwq8Un-Zph4;Igl;Hj z?Gsj_b-aT(b^`yO3O{Co??Id=ZWG8=@Nj0P!COL_XlQbiEK4&NKzp*wbmnQj>-V_-|+!|>j7DZYq z{GG@w(sQG-i7!U&B$}gYh^bKy(4f2=spE42U z$=O7Y$u{`5}r*F9|q zF|IvbL)tgSLE10IN&3YY7Q(~LF&eN&`6Nb1dS8q`>EC0Fq~&R0q@SE-B1TQiCQhBU zllaUuJ7`d5O{*dO^E4;%?lh)wKbx)rYm_5re=NxJh)J8AEkHKfyLI!G^?$;R?>&dt;jN6j)4H_VD9-kxOwYm}#F zTS-4VJDc>r**l3*r(>PtCD`mC6}ny>f+^s5~CKlfoy&+9^DeSg%YYCMqXmYbd-q)&bTl7l@V0 z+&HcimBctFg{Q=^N4d@*_BAYt(?H|AjMIUA4MoI6r8drw{B?2u#1nBwFi~kD_BEW3 z3njmHZWz&XZY+i0PwZ>xJ~xj1kIpp_!{%Bk{7GV8L)6@C@>}QH$p0GApybZoN&cI2 z?d1P%ZVl-l=Q>FLI@d}1_qpsbULV<{BYK#OL@!e)i2h{?Bla}KlE1IXL|SLEk{)Er zCjGF@-H!&NG~^8i8-ch;wqDkxW=@TxZY$ZZZ_2rx0xJZqVl$h zg>t@YlE4~ew@C{+l`@kb>Afa@Vx`FlCMtGQDCwi7Fz~K&%oI!hW>XybFPN;Pub8q( zJ5AZ(UF9p2jr{*H6_NiJlb!TEQw?b;z7}*U?(q)tcZzqCze_xOoR`}pUISu26R#sZ zAl{#}KHf+=AU>4zkoYj-i1=9YkBK*t9v5#V{djyf=?U>RVr2YIVsv~BaeBOyI5S=o z#>V$XS5#J=-vMBTh1;-GnU;=}WF5j=j-JR>o9UMw+WUid^_pGW7hN%)^p zhA^T*d2*f|8tVh|93a*Q=H*P`@lMZUFEIVtE_u;L z`Y`cYSM7Y=G=4lDobUGxo>dqE=Z6wU&W|HLIzNjzVSW*D%KU2LjQO$8@_NmkZ+(vQ z#rZa(c|M!Pb?ST_@#Xokph0kcD^2TD*u^pB>l_$SmM3;R-%+(Bf2NpiJcN0#4ZV~V2#ov zfyMIt`XuOx0}_lxeL^fTAi+u;l3)jGlo1II;+O;$$Mv`b9r5u5J?K;>Bp69YCd8AD zPGEC+yy*!#;>-j)Xi#Dk93Za$#7gD9mzar&k2$^fE4NqQ* zo2|rm%{Jn0vz=IGb`bZP*=ioY(ySxe%|_x;b1dFCYSx5ZVY$X22983JgY$e_^+lW$wAAa+V(8+iIINjhSWBqOm;QY>*m zlAWkeau5TO*hU_INRo~?BFRV`lN3uFmt-YAo@66VNU{?nlN`k8B*!M6etHty%sDeD zmKd94CC*E-5noEO6Bi^oh?XQ)$m1_g(h)P0jKu7uc+jb=OtSCb;j5Dz#5a?ejq6QG zI^xzOBe5tcmiSJRmH0uDv53d}I4PF6C&@~zNU{+RCpn0kw@OamfjKnXK?8Nq@wh~^?TS@GF9{zKZj(9go{{i>2)zU zdA!cacA|H38|YMglC7oO-#?0m;bh3^(HrYrFO^zjw z$3NBP;ggbe#3{*o(5XyIwtvd~&m}vEbMTM1xsFfP5fhS)Al8SHV~Od>R^p;$8*y2( zo%m`p+r!hXNVXC4lI_HG$qwSiWVV-wzm=>b+LDdLUCFV;_mi!}kCJV~@?<;lKr-9U z(;Z6I5o?l-#4nO{Ros6(*+@K{9D9W8bIDd>OR~O}?_X=O<8$u6k!(D}`AxF*0_P9O zwo9BpCEJO=B|C_JCfi#0yji=zP8_~KcZKWN1xDhU1&(VxUDX2SVlkKdA-^egx}%3xxfZud|hBC{q_h!NrPv1X@HHuR;`$T^adQfLfcv+l=!kEp7>Vzu zv<>Fzcc+98;VesG!Mr{8rnG@hr7{KoG90w0v=NV{A6-;rt~?oG85kEiCO@pM0?wh@0#4NvF#_taXVoEC23+9R!v=#^HS!FAWP zHe%1T@Rzynn^sHIrG+o#dQe&$@!>T6BCdnd;)%g&ZN!kY@WtH!Xj(BbEKR?J>nGFV ziBV~_#HnfFuWG(=X>6&)42HP0SmFz5@t{*lOtX?sNwX0%((J?~X|)u-JWYpx zMs6_Vq#22;(!xQfvL-E-^!hX_adVo3xGk-X!rx9~nLORQX*%NWv|7=ianh zVr81%%C$YMn0Pczo5l69v~c3dv|?g&n*LSpzmR4H4TdXeHlj1Fmi%9(IY@t-#9MOgJEdERUDDYau6v~Gh<(zH!~yBCM18uI7?5rw z4oP=_2E&MSmd`mR-AEjl9!q>Y-A0^{ZYM^j+Y5O9(diE2^mK-Q?vCqddfO(xU$N=> z&7AYnbBHgcw-Fbl#}{(HC0)CPb8&h&F*CiGn4PYDi~Com=MYz?>$h_KW_mnvQ+h3N zYr1|L_ZOuX6W>V>-_G?1={dxY)7yx9(seud{#2wJiHFm}L8nriZY5opZX=#ZuO)v| zx`XujbY|n}E~gub*V1E&U#7={PNhBFM*3EIG3lSv?WFIfvm%}jFMxo!j#_l2J6d9i zoh|X?_qJF``&jJ6{uT$(-_l0m4_S0?^Lz$djKtxVSmJ1ll{nUt13HyZi=Fg%i-S1H zqT9*SO|ck>(=1lva~2zMj>SQYx3FR!FTr9YCR<{O=@uJtk);@PD$6W((yvI!i2Zqa~jFZ&|FQZ5BImm&HMR-_l0mA6azo@O;WGdeEsHuoy`nvRH{V z78~&kOD%;T$IF{M-f2q?@tnm08VoHKe3%1lwP-=7a>HUI{f#A@^beL;(mz>j#NRA- z;-8i_3fE?Ym+*9+8O6l=GxYCs-900o*gHe}0oVO9;)w$@YKaeKgzx75z>FN?unhf& zT#w4gAsRB;h{lZgQtp2uqnJ1`Bm5(-CubCY${CZjA}fcv*(Xe&5(WP}ro zGm42N8QMzjFU`myewv}L;(C8ZJn>*gE%8W({vh{%o>5F}$Ou2gbz_D*YYjM?aerO! zI(=P8T~yulx;b?g{N&Z`uKO52N9r!t$;bK}d*oQ~v4~@nkHz43#xc{e1;<`Fw&K{F zx^>5n9XoaGBK-gTX+L)7n701@`a$(E$Aaod*FRZ5yFRskQGI6ptMx1E*VM1CFM)a$ zzoqrN>prQs*Pn#98QO{8$;W=E|D(Q3!=Q#C4dD$>H_U5DY=}9wq#>taO~aOkcN+FL z9K+AahKumFHQa3Y2|s@{cpdL`eBkkijt@IN`nd7EqCw)#nbaLd$2`8tYJcWHfb!^_r|L%MG$(1M9oqX%$u9IyI z{AbU}%9BScvy(rxu@zIkx=NYp1G@Z@`xA z)EB3|KK0|NUr%*v?Akb>@sY-1jce-L8b&vcYYcCk*cjb73qNxkEsaYWa~n$=_cq>a z^gbPg9|L|SoSuT8>8EF%P5>92UUK@i)9X(co&MnTfz#Ee*VLaredV;&^k~!MrkPDI zHZ5&h*|er+k&1W*sEI+gJ%*WXN zvqfi1ab)<<`)5CuQ?EZiZiVE@swGJKq1|n))HV$Ko!&bTI{d z`Qn=wuV71iiN{z|-|>>~rB9mzE=@T<=F+2=)?6yMH0}7dOQrSiU3&B4p-U+j-CMj` zdbRXx@ox!ed9-DGOKJUcEibmDv@C9UwdIYLf)@S7tt}oGKWr&DzZJjEmJXMDTsB-D ze|b%Px!SAG#pv&y6bA`)rza1U48!QrK`8E{(jZn;qLHq^mdH7lv(fR2z0Ee zAMW5=(~kQ&6i2w@8OQUEJttpwWI9$l^0Ad!Z*!C)*7%lfm)^THtg*Dd9O@T`p*6JC z)SA)yMXRCpVryIL53P4vyIyT@5ch}u+bGz<#z0>u8>qD>a#whvd^$FLfT#q?6 zDQOzHxFvV^`h(VU;p%a6}FFFufN_5mewD=e))R)bv~BvZ~EflxH|||)g1UTTcimU` z_4xAsFGqg)EY7@V<W8{qobMC%>HXW&iWjzeHXaxz*zM`M2<`@t3(Ry*v}PT-|nX z&&Ufr^&1S|XJi_N|D7n|eQ6or3;qVR7RCbLvFg;`iM%V5*7WH*Z~!9wUVEOKVD7ua(4 zB3r?d*($bxy}?pg9%8R%X>1L{be1h*YuRGdYzbS>USS*9QnnE(3t1N1!d_+DST@_i za@gDKHT?O_3Wl#sVQFL)`;g^gY2pp`339O`m(P*Qakh?KL{2Tpp_OgIt@ajngW1?u ztccx24qvmK>>F0h+L6<@>^=59D`7vf57;lr?RQqn+@vygpY$o~B2}=i(qYy^va_Dj zG1gl;!}?0+n6Gr6^_N=k=J8eLC$+JG(hc^I^d;K!8}^9Q&IU{0vEkA!+*r=k?@>D-5O7fGUC4YQnN{_Ef4U(ow0n#(l zBhvFypfpDsEWIcVkrJdJ$t;bK7D&NTsx(?!ERB(@Qi$}bWRP;D@zNW}F;9w+*5kWY z87~iO>krqmyON*p0q$N_Fv{b6cSEZWpjjCppd`4O!ot0Kfmr?2!DPOuOt(9&{ z>!jP#o6^sy#jhykH|ay^p0r>39p9z;1K**NU2;KK%c6@P3e&>kHO{ z4+%X~a2$9N{wVMa7z6Tnvq7Hz1@IE+O7F_gmEM)#|5JKbIj(vIbim(PA>UNw&+BIu ztl$*E=LJ&*UlrUSST0yE=n(u)@OQyE{%Zb{1-l(kb%0>F;B$f&!2-c@!FoZ5 zpibm>Tj-7zYQB#MJ|;L>&?LA}@D0J8f)9!OYK2Y~`jpUD1%D9yQ?O^HTJCVcNI{d} zQo%O`%LPvf{zp)YHBNpU0t5|$uJglnzPS3w|K0h;`%w(i^L`Nv@_wEO>X5%h=-0pp zp!30@;3jYsXag1SBaoj@2S6jVtDo0EzYhONke??mUV-NQ`D?+Sz$cLIH$mwj{tgYA zfA5N?bBE^fdw@JYS2|a`{vy0{H}$-H5Ss7LNZ~htyk4OoKX0E9bd3j-p?SX3Kwb|2 z-VBdt7V#E>Q;?pQ7xTAzx$5DHzf7a1?ZRi)E z-xqY{@7hmS`;{Y{*Rx9SGr`M(Ukct9>~ctr-y7o|Pv;A5MmZ0H3&B8e+5bZSTRFo- ze*bUF>o`E&f4(2tD92U40r{+io&fUwo(ir5XM>x-dEhoM6Wj@|26;T!akD}50Eybkhu`~dQL+y(#H?*G;fdZg$5Z=~Qq^?3Ms{r=e>c)z^?|3B$EJ}yQf zy*r+JOa;9_SNqL??gkwP_68Hc{$K{k+limg4?({UJp^12@_K9+bmj9tG_QXd$jhk& zL%^msgJv)i#N4}yoGM}SAc z@! zclE0bq~qg%CipATzXARMZUA}x|6UL67yqqa5yJWPX`hI98tjPh%U~DqI@lBZM({__ z7y3_-_xt;fsQLe!9w5S9{UAVSSN{tZnwL8e`MSn?S2>T0@EnXkd_Va2MtHv(4?icb z=R-(01)A6M8A0Bj{5)}87oQjT{9C{Mw|>6`>4qTRB9Nc&Wgy@G6aDdjAi;ysB0l8l^L+ki z{axp?tDQY?9`N>Zo$vg7NJT!CBL6QyJ}$Y&P1n4G_nU=?=W0jSyuvllIL^}}{IsBJ zevps$=lQwv|2JL|<$o=x#j|I=zyB8B8{w~_JYKJrf2$YQtD*U`Yo30DV5s0^!RG~& z1hc>bq2%ecT(!=P>d)06!0>`6G_k-{+P8><9mL{69lJyk0IgK_5cC4v-&*8-m{o{tEK= zZusT&66`AI%E!f?@bhu4uL#$JJl`Ss<^EAZj{|vr;et_u(?K489)9^aw*=(>dtYtWoIPs0hUis&Ki*N{?VJlgZ}$x%{27$X^(ydn&~-n-=k;e1-*rFA z=V(`H}Lc82@k&o{U6X(um7+5 zX^fe_{w=?M>VM|{Z|8L=`YCTG*Z5L~eE&ecu5rf2eei4RIYNAssjxCu=R9FE7+)ED8CGTsu{J1S z#qK_AFJbs(I9BYs!Y*aq;a>(TV|}d$ws*nG>>bt%+wa24Sa0)zb+W#&ZLA;cbv6K@ zH(+JfP4a{7F8RZHOM~F=0V`wu?Lln!f|aoj7l3UaSef;a9)ayE4Tc>c1;Og1VX%JE z2-py5Bw{MCGBZe{VaG}#@Qj0%*`tyH+mFG@%qWe+b||dO9+w`&b{MRT^}0}OKLIPV z@lqJJC&0?=NxUE|vj}MdJQHDMHc5)Wb|fs?N1BA~MX)lfl%lX*1uNq}5KM+WDMiET zgsi{*8&OXT&iugDu4+T=`SjH{?CA zdGbEk)$#$@HF70vzI+gNt$Y}Eom>t3rd$KNUOoz2Ab$?KL9T<{DA&Vol8?h~mQTVK z%8jsFOh~fW?uOTVb1I zCv3BP9sV=0GCM1O3G0w=!qW;Xvm5d^*!~h$W}P(O!g^`GhwZGn1=~gQBSO2vqK9aH zf*q*&1=e442Yx-Q%qD8?!cNls4o@U3dWhyv*y$Q9va)A18rT^cH`wPi9+Jdn!pdy6 z#uN5=O()nnn)_f)n$EEEG+hzr1y~$SO?PZBfyL3(^uYE~SR5}+FKlPS;uvXsu)P8n z$3@c@+i$?)SZMlTJ0BJ;uNi>t0$7<9Y5cJLHmuBcYW%TX3@ft_G=s3c8&+l?X&%J( z$FMRh(*$7q6Ihw;)jWdjeXugKYX)Px8WzV$69oIYW*F>o%?S8Uz{>2rW+b*Rz{>2R zW;C`h!OE;f6N2r_urj->Ta#|Es-k@r$a?-~XI5=giERGc#NU7>1jgxn?dRB8x~Y5*ZQ^5fQO05ldo(h?h)V zbd`uDGz66M~w0aczTp-TUYCrOMK%Ax30ptsSI7_R?kT(Ny zPF4-z67>XHT7Wpl)enK4>Pg_E>M3Ba`U!d;1L6o(&meySh$B=zi~K2|ES^?BNB#^@ z7Ms*Bk^c#Z^{jpkd`kR9TdF2YVn0w8hg2PSSoHvp zsJJ>L-c=)jeX0-mo*E78SN*7eABfiyY5@3^8V~$hO$2_U4gm`LFw{suS&X$0N1h6l z#W?#2V48g-aJ+pKu+lync%3~NSZz-Mw%Jor|63rQiR@{}ZwKNT$DR&6V9x-)Z_h;g z01&Ta>{-B%?Ad5J1;jbQo&yXxa?uh8l*JfF9`Y0*wwhxy@)DpdY8?5%UpWeZwT?pI z4UQtb(8^@Im&@|I4Xd5Ix2y8IjVpw9o4|Q9W}sJj#}V-j;X*k zj%mOr9reJc91Xyy9gV<0IhugaI%WYkJLUjia?Ay8bIb#7cPs$@+0hK#;aCKG*|8Y7 z)6oL#ceDcEceDZj?q~;|baY^eJ_6$0(rEAr=^n~-k-;!NUv7Wq~nmfHCo^6fw@wQ~z_k8>;V zP3KF%ea`K`x12kG`<*+1e|5eJJmA~~eA~Gj_>S`p;Qu)H0*^WO0gpTP15Y>)0RQeh z2>jT22>6Nf2=KJC4=8I#fi|rl=+y>*VcIdEPcwi~+6iE^_8~AvI|=k_r+~5AC%|Ow z3_Onk$|6NOi+n6l7OC3j$j1S(pKD(N$7^2$)3tAb6SQ-{98I!GViFK%70m{mr{S;^ z3p5At*O~@w)^y-P%>!Jdg#j095x^GBhq1Q;adc?Wz%I=Xd_)TXpVs1m&uEFjP1+Dt z{t1XZO&bQ>q74VWpp5`-(?+6qI}qz!8-;ua5PO(H32G>;J zBd%${ZdX0<53UB_4p$>^x2p-b-!%((#5D&v;F=3GT=Re@Tnm7IcQpe)bS(mE`eL9< zZvpChE6}aC0lj)VJcI%93PJBc9s$IAD18~wr!NP_>Awdi>UW|y35erSUkSWWUj-be zuSRdyg}>05vg>RW-2=`VrdaUfm~=-Yu$>O0W#6cGE8 zz7zQ~Kj!}c^h0QW8z_r|`VrtedLQtReiV3E?+3oC4*>i0W5D-x1K6*h0KTt(2sHGQ zz~lNU;7R=x;79rypx=EK80Y>RnBo2sDieTs4d(tD`Q<>I+1%eEp9RFbE%!O(bAWgr zcS{PM$AQ?>+&17Mw+d`^JAk*jHDH@tN6l}6@Z?s(uicOp>r3;{Yl!+>7TaA1UI1Te-k5*YA|0uJ$v2A=0h243Jv0gm>h0#iL{ z!111R;KiN{;ABrGaEd1jt_py7o$1L2mU?o4<(^#NwVpg+g~$A4;+LL$;9O4u@D@*@ zqT~H|EIvipCOt1Di5KNqe9!0x+dl7Q;x;uF-z?g!&Q(kCjQ_k;C$`z=stw{j``h*g zJPW@A{J?(LK0|zE{|NYv{bT!VG1T#qeU7*gcr%`PKeGQ?)Hy!3H;b7T&UV~yUx??* zx#}YE0P-c`kEmHMX1iv%9ubea#yTDmkGVd!KO&xR-4A@q<#Kh4zq!I)$OR{$;>>{3n3-`acBT=RXO&-+v1Dfd3QVgZ?w#2c-*Q z&jK%uovS`5{WNxj{Gc=@_H(q1jcoyri(M@ql*Y%-Q{R$4iv802mh>?y-;z$F@-6Ap z*ssy@87kkBzCh($(pRVy^69`yr;tAl%tiiLU<96^z6hK`%U6LGuaLh9tQJE4XJ8&) z$0>0qosw*in~U5THv-?}amAfNi#x8xE6Lut)k2cP-ekHhCN>6?pLT3ggZH+Pl*D?0@OM$EY)s z)Dh|!b&6W6-h}6*CF&jOYIU93t=1b)s9V)tc-*JH2b^vg>U5*t_(c6umF!-7jD5I$ zj6KtSiM`&q+R5$*1L7IP3yzl^yB+%-?>SC7yv};`$2iZ!6ZTV4<_jS>wFPxzO3> zTG)fT{66Fl>%IDOI$o#gXE7(a&03E;+I_xzvil0mRk&-dwtDv*_X78A?v?KQ z-4DBa-J9Lp+^@MiQT-7*PRnJ~e zopI3fH_vg;$7uZup?K>JuQvub6mcP<*js0mBdWdAyiML_?@I3)wDuzEjZMI<-q+B( z*L%==+q! zVM=(Xp@+wY*BQgYM~A0}Ule|6__dg;39k>I7rrFCJ-psn5q@v@L*YH)&xCIc-xvN~ z`04PNh>VD9BkGLnBW{eC88JU%a4GAJCCEAucSWp^=!tkH;)RHv5qlyIMtl%)iZy2K zHxX)NbmaMwnUMvN*G1kKIY08g$c>TDMgBQ*kZE`1fylnd4={Hs(p(zz?~6#;=k~?; zhWJu^Klc^+e(7uQE%KQ?ZNTNeHNY-kkM9}ZR^KbWy}oyR{l35Z&iKCZ=}}QpiBUg^ zN{N~fl^bx@UD9|Qgg@nZBVz&(h!qu&F55PdTGY_t;Njq%5fj2Rn~ z6H^pZ8B-rKFQzSKdCWaA56ASzY>C+wb2#Q$%x5vt{#^fM{xbhm|IPm8{&oH*{X6}8 z{0IGi^Plja_J8eHVm+}ju|r}nh)s>17@HS+d2Ctib+OZ8XU5_PiM=)Ucd_@yJ`($Q z?3UP9WB13t8+$DFqu2+HFJh%Ymk}9=51b!J4*V>T8@Mv?i@*(mKNvFt^8$+lO9QI{ z4+MIQ?!aTl69F8ZftLes1l|rDMSdLdWxy8aiSx$|jT;p=E-owXlDML{dgGe7>bM)@ zX2tzFt~KtCxK(iv#C69#5w|&RN8Fyc58^(K`yx(`*W-Qh=f#hXf7%!y|MU1M@tcj3 z_=@~km zV86BYg2aT831bs76E03DNig^0%7og4hJ-l@%?Y<9EKgXK@KC}Z6P`_Y(dyfsa3G=2 z%8prhD&b2!N{MxbhUhfnEIi-BF^LlruSa%c;vI==5+6?7g8b#g*R8(4Ccc;WcVwp# zUm@xYImwk2l{6$NE$QN<%abaTZb+Jwv@q$8q?Ji^#u`MO(FN>DdOGQaq@78%!aTk@ zjooPPG~PDOPrMPw&LL~A4rizVor~y`is5uBUXA}P8@-}8Wp{WWNTaoaDjG{2%QmMPs~BfUlYyq=CJU5(gV?h$BB82?1_FGN5^~7`>YYC5^jn&&mo5~_x|zO z*gHzFz3Pl^O<95~%L3n)xDel(z~i1I6V1tN4NdZ*?YI9(`=cL)#(tmY*jGQ) ze)hQe8T;V$-TJe~e}hlG{xzBT6C=&}ZxaUn?ziUdmUR3KS{L^qRwM33bRzCUtU=t5 zSc`Z7u}*U1J(NeRm;B-(yf5uSJdD^N4Hb{z3UoK(4~UJ3KS~#h9$b%p6j!5rrE%gh z#N&u35KkhWLOhLl2G^!HN#n(z5YOUD^k&3!i07q?aJBd%Tr0jvY(>0?tI;n>lkkps zlGrX?BK|B*5jzksBX;6C^DEM2;#I_Jh+T-kAa)~ON4$a9gR9MZ5pPOYi+$2Hc!zhb z*e_Lxze?AM1Bkb!YH?7yUc4jKh(n0Oh$D!1rTL-{@gCx+v`qXB(T{i^F@X3V#4*GN z(sE%)E5vc>esKcvcf^N?e@G9AlhPyNBg84h$B0i5rx9lmpCZm8K0|yib&D^gjp9qh zSBS5rKZdnpzXkXJ}?@;6ev{4I7H1%Il! z<6u(pEeCT_gq>{;e5+w_(t??Squ+rhbDwhuN8pzt!4c;7EkeEF?2TY%{?=-6@{u{3 z*>LKP5YGlRMhN^!z?w#~ZKTzP&pYuh6JHgvrcvx2#okd?uMPd9#J0gQF`9LwSvQ(> zqpdpgSQ~AAsn42{IU<=Ok~t!oBa*EV=Gsga_+pJUrEqKt$EI*>3dg2!Y>GA3j?pP% zSCA!@EU9EkB}*zWm;;w#e6uZn?>C$>Sj?l zi@I6V&7y7=b+f3OMcpjwW>Gf_zaun{XWVN|yccwkO$XU@kWB~KbdXI4*>sRi2ibIx zO$XU@kWB~KbdYU1FwYa&;(g1DB7Sb2Rm_8tUzg+surN3PI%cZ|u`pc!iT>8tUzg+su zrN3N!*9^a+LFAgZTf(G>OL%_1gy-VPJbPct-b>k=&n3#YmdIq8!n!Fudl#^-fJ6BMLd9kRuAYt_rPnWsbd^V=w2}B91NM*dmTC;(9K!*0afS1zD~jOEFoB z$x=*~VzLx-YZY5t%UqXNT6|_!LY5M;l#r!_EG1+q;WjU^wz=u=D*C&M>%NrCrDQH8 zb19ii$y`e2QtnNq*4|_~EhAqU`O3&wM!qugm65NEd}Z7_%dEZAWG*LjIho7JTu$b4 zGMAINoXq89F6VwQ+*>lDd`Dt)y-xkLgP5m^PQUin>+Qt)gxfb*rdbMcpduR#CT# zx>eMzqHYz>B~^S5sHTHzI;f_DYC5Q8)zVchUDeW6EnU^pRV~l=wZZc}em`RQGo3clX`|)T+{evt zMGsC*>}}$5G+E1G_RnJPEcVXgQqHoL(yW`qx;dJC|eU za_n4=oy#>j*IJY2a@@jm=Pl%$N4|OFn@7HRsMnS9OUYv%saZ0#>5^CB`YBJ(0LFCz0IGA|y7-)L2Z7#nf0#jm6YhOpV3VSWJz@)L2Z7#oXH$TYI~y)b6q1mAb9eZKZB2 zkLgyPciZTojSkxApp6dN=%9@b+UTH-4%+CTjSkxApp6dNcvflSdAFTj+Ucd8UfSuU zonG4MrJY{d>7|`s+Ucd8UfSuUonG2`hHK|}w}Y-a=&FORI_Ro{t~%(dgRVO0s)MdN z=&FORI_Ro{t~%(dgXi52zRvy~UmgCQ=h!>x`A*BTxv#Bc+e$9SN^3dH^V;1UyNY$I zShtGHyUJQ#lW#TaRsE8UthUyRIiiyzIys_~BRV;vlWVfmT9c-~`|w+q!D$Uy z){tclS=Nwc4O!N3d#tgxhsm>+ENjWKmMm+@vX(4s$+DJPb*;5kO}+=X{??Is9hujW zc^#S8k$D}N*O7T0_m_3n{$gsZC-ZtTuP5_*GOs7|dNQvk^LjF`=bpIU+7nHUhqxSF zRO_Nz7uC9`)*9XjW$pK-?gpxDpxOqiZJ^o)s%@a!2C8kK+6Jm^ zpxOo=WgD!c%+&3sZZ~zisoPE6Zt8YZx0|}%)a|BjH+8$I+s&i9n`hvSbg+>QHqyaH zI@m}D8|h#p9c-k7jdZY)4mQ%kMmpHY^UFq_fqUqshhBQM>8h8mdg-c{u6pUJm#%v0s+X>M zc?Rwco`J)~(_-*qiy~g+tHT$AuMQQs3w=(#E%{+cB1>5j>opjD>5%`s1XxVbv zdoeTI8!T9NDYGfTOcABb%9xcit6)~iY#OurU?#*(Y-?cF$gGLkEM{|p8Sb^hY%jC@ z%y8!}%YC@WmqVBHN`h_pA9nb?-r!zRDx04dn^PIv%B(i?GvqS-if?c#XKy)s%dKAX z%0;=nEm&8%xf4^<ZX;hm=wP{qFMzv{Fn?|*1RGUV% zX;hm=wP}``c@1Nl9J+>4Pu+Uz)>F5hy7knpr*1uU>#18$-FoWQQ@7sIH9xVbmqXVu z8t9;b4jSm7fesqzpn(n==%9fP8t9;b4jSm7fesoh2j;oFK_0w@fzMy)rIB75>7|ig z8tJ8xUK;78kzN|7|ig8tJ9c@?u`OXp}zyno|>9HPKZQT{Y2F6J0gYRTEt` z(Nz;&HPKZQT{Y2F6J0gYRg>k)yk5~H4_>bb7aM}-SVcT1n`Z#?xp7M{!(DrL-hGwJ z@v5~PX5}un?c%cSvX;&4-Ob+J?A^^J-)$|qS@#C(-eBDutb2oN=nZQPnIrac#9ofr z%Mp7yVlUU}UTdA2WA}0FK91eTvHLi7AII+F_Sk1_50hm-S@x4V9jhntTVycYu5c$ajEz2grATd7OlKCK+ z4|4xIXzhQd#vy7PqQ)U=9HPb{Y8;}*A!;0=#vy7P;y!-J+Q&_`BUC#=wIftJLbW4Q zJ3_T1R69boBUC#=wIe*Dj#x*OsoO{0KI-;Sw~xAg)a|2gA9eev+eh6#>h@8$k4JJJ z&$dVD;3yp&rGuk%aFh;?(!o(WI7$ac>EI|G9HoP!ba0gClA}D^_R~v0z4X&dKfUzR zOFzBz(@Q_S^wUc}z4X&dKfUzROFz$R{XE+a(A5B44bas9T@BFH09_5x)c{=$(A5B4 z4bas9T@BFH09_66Y&#G<+u}}t@>8!t^E2v0pR$mf1Nj(K&00%n_0; z^cq;QgO*k)s!$~M(%GhY|0w$STh2YVgtb+A`suf|@Dy*hh!_Ucxz`I=g{Z3CK< zhjkv-d06LRT^Q@aSQo~+FxEw|E`oIttc$Sf6zE3SLa)(%9O2^#A4m8&!p9NO91+bC z(Hs%Y5z!ps=LkPX_&LJQ5q@ig3V(iE=+%FKV*?x;;Mf4i1~@jrvGE)m&$00w8_%)v z92?KEi5#2Av56d;$gznWn`n(S-*qI~Lhm|;kYxy2hLB|lS%#2h2w8@ZWf)n8k!2WJ zhLL3$S%#5i7+KD<6~LQ$Y@KH-2b$AxG7l&7a54`k^Kdc`C-ZQN*?dhj+!lIQbiS<) z^QOl6w)sGF8bOT_)EGgH5!4t#jSm_|}#BsE4-V^|8)XZGS!l)Hik=- zLX8w^q);P;8Y$FBp+*WdQmBz)X_)U^Q*5DkuBp^WrA8_>QmK(jjZ|u+QX`cbsnkdf zYA9kHmne;DX;e$2S{l{TsFp^xG^(XhEsbhvR2$E&HJ)25ox17NO{Z=;bm+x6Pn~3_8f5gA6*zpo0uL$e@D^I>?}d3_8f5 zg9&snfete1Ad?O<=^&F1GU*_b4l?N=lMXWJAd?O<>0lzac@}lEsGCLIEb3-aH;cMi z)Xk!97Im|zn`P;mpH^hqLZ4P-Q#YHs+0@OZZZ>tZshdsRZ0crHH=DZI)Xk=D4s~;= zn?v0k>gG^4hq^h`&7p1%b#thjL*1O9t|BIJjpx!qE*<33K`tHS(m^gA+R&SA}#{NLPh)RY+HbbX7=Kg>+R&SA}#{NLQCzuFU87 z%lWKPM1Mu}S44kB^jAcGMf6uhe?|0HM1Mu}S44kB^jAcGMV3GF6TTwb;3s_e-YcD6 zL8rxZT1=Bk zT0*BKbXr2EC3IRsrzLb+LZ>BkT0*BKbXr2EC3JcfonA$!rF2?Kr=@gSN~fiCT1uy- zbXrQMrF2?Kr=@gSN~fiCT1uy-mQ(YS)Kc5vC#j0K+VYGh+&?k&{=AG%%jmR>PRr=D zj84nww2V&6=(LPZ%jmR>PRr=Dj84nww2V%#q0@3YEvM6RIxVNuayl)i({eg3r_*ve zEvM6RIxVNuayl)i({eg3r_*csy6M{B>n26qNcT6}E;Ls+rdxuUA{GUE6|tCgx3R8` zds91Khjoy7DW9>IvF(mvn}R!1s!%e|NWTlRC}IWMR&c~!Y`cqXca!BF_TEF5d)am` zN8HD@`+{xwzeGV6eD8)?7g-)=+Xk{c5@b=tBV6)s^7XLpQEOe9%l0UHd)fOKdmkgq z7G_(Sy~J!gvmNBy$?R2TyO_O6_ir)#E3>zmy%Wq7+>0}`J&puf6x@?D)Yiwgqij3M zwtlwtvu%KF18h6SwqtBF*k-Wp1lvxq?L)4$54kpMis{ds!j!?EuqtAd5_LXm4*~HjCLjW|?Z}J#m&Adbg9!ESJ4`Y@5t1Ukzy#Fe_wM6wL4)0yVT8738ZV zOBJ&k_SUj(Dzj^-YUt|vCf04Gmz{L*DzjbmH`+evPZ7z?QkbPO zOJkPKEQ495m6>)j?St!75m~`DGYhTf+~5e@QJYz5FbfwA_RzN&_Sr*g_d`c${heZV zhS^zWqnx4TNDpTC?Hsc#W;x7qnH2{!MO3lv2(x}>$C#aDcE-xgB|qaF8r&XdnSIW> zuY;K);|#9$`G5N28I&3A?B3YZl#D+*?KUS(FstejZ|vsz|TnPqqfk1c$IB$(lQ z=HAd6-^$*Xm~9Vcis*;JnpIH@R zqO@6EAT->UOtViy-Xaq1t*Ge|*W1S{HzA*CSEMEOq0)2qo#LSVRm4tl(%vFYBfhXt zvils9?CFSFN0+$Y(JCHu>;ca&EZ)PIKaBP-9OD($IRkACh?$7lh{rWswQJ;ev}@%7?HBUL+ArmE+I4cc>w0;(>sRsw z*9~&9t4_Yrb)($sx=DV}HC=wmHADWJt4my?k5{hO7uq(f5eOe53F~zaz6C!Lxxo6B zF|Q!($S+W4i!1E2(Z9t079t7j?oB*);ckHAm6=$dw>Z1RQRF9duX0N765r^nu$(Qz z>FyFK?(xb+h=pn^*6~`~N&78Wmg$Ht@s9fyb+bAH`Alp63(T9_Dbh1u(ZC2&~13o#KLs7BMNJ zTD~e`qI0u439(ar7O`FRM($9PBKN7ukuBol$YZvvkY5$qDy~J$M%)@{v;PipH`=>U z^Hk(c?8hnguEE>T3+D0%(Yp)9I+eAHc>Ojuk!5_YSd1VkH>2eNzjvd zY91bUsD~Z9?L(pq9fuu7h&;p;@Lh_S;u;bCD?HwSxW;wZaV=uE{h!g*@;|{dG-kIw zGbYQK8I$ci?AQmMt6ljqSG&p(wTM}WO^6*a*z5c|#Rz|k80W9XzJJU%!`~`q_*3jN z{9By2`CoG0_Nbl0P;ZxxBhH}zQ^aS8 z&kq1>=B<|sL3oYr)p<>`FPT2QsHT2~Xq;2qG<)jQF*i(~Zq=O| z@#)fh4*S;_HvL~>tpVI+9FMU=EcyNl!JV+tF!l%9&AKUwYaevrZvE!m;B>bQ|JV@! z$G22e11F2CkQLxgoL6AJ0C*{KbK0t$`sd&~Eb|(!ISoGM49-|{<~8i^PM2Ut0&5Na z|L>)u9{-@+n9qc)A%?^=O~= z159sPHDj^dgMZ`2ugrBI?ic3&^~eKXBmSmh^vzJg=R;_z#jgVg`G!Kb9wST_v+RhFVT$Gx z(oi^^isiZybxo*hLWSw0)S8>iH9N-|XKsg5jF^mH#hcq{EVhNjb$bbz=77u8pUIJ? zFLT|QOE4DyOXgqo*PwnjM*M5rjmH`r%Lvt*syAD;GvIsrcb0gNcMR6nbo}9eo#Ad1 zxPvZgr&*Qe^3TNbn2x4l8E;0-P{ahwM{%&-T)!r7Xm2y;%q<`C{at=@d9TE{CTPyZ zvflh1H=%m`pFfNL`*r`mwEw=WlknSF{GS=D4|DrBVow;{BYtdLD%R8lF%Ea$FxT0S WOiLWrFLIBYUsCzM>HoVm@c#g`8AFr+ diff --git a/src/packages/Moq.4.0.10827/lib/NET40/Moq.pdb b/src/packages/Moq.4.0.10827/lib/NET40/Moq.pdb deleted file mode 100644 index 03cca5608319536b0b7fadf44dd3f7434ead6909..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 343552 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�wD*7vA9Y-h6! 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 diff --git a/src/packages/Moq.4.0.10827/lib/Silverlight4/Castle.Core.dll b/src/packages/Moq.4.0.10827/lib/Silverlight4/Castle.Core.dll deleted file mode 100644 index a887ecd5f4c1a51cae59f370cc2cc5da99fac3f5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 239616 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�m^X73?CcZPpE3-4jY{1t2!uV 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 diff --git a/src/packages/Moq.4.0.10827/lib/Silverlight4/Moq.Silverlight.dll b/src/packages/Moq.4.0.10827/lib/Silverlight4/Moq.Silverlight.dll deleted file mode 100644 index fb516c1dd806cb1e7f86b681d3a1f3056f0f371d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 139264 zcmd44d4OC+)$o1$-k#gbEJ+}1wYrC_>fxc`{U-pPKCuKMK>$^J|8`FD-q>o==S;xd2 z>l+VUd`y(v&ndlr}SJWioqpA{h^mkv< zPxyvCV3s&7E8gmVS#s|v2E}y%l{a{_Tmq9vBQAscj$(JO52ElYJX?Y?V;tUL5?%do zlgO2S!kcZ?S(Bf$tWUl@W~CHLRu5U$>lFO>tYr;{u-$#Wb?+){NjL{zC5w;{%4CXWuLnE*T?)|?;Gwo@aWf8-@E^FpFHuC?|bI9Q}0@F z~czJ0@fFU&jV>ZNyI@y~aEd-(ak z9DL;O7w>z?)Av38#bfup;F?Vvru@eJ)2C-Xa?2m)+`7-C8MfDIS?OH!JV*JBSym

3S>L#5}0s3TCZJp`5Z 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⪼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 V(GBQEbQ4;KZbtug|M?~G{{WS8^{)T` diff --git a/src/packages/Moq.4.0.10827/lib/Silverlight4/Moq.Silverlight.xml b/src/packages/Moq.4.0.10827/lib/Silverlight4/Moq.Silverlight.xml deleted file mode 100644 index 90efe10..0000000 --- a/src/packages/Moq.4.0.10827/lib/Silverlight4/Moq.Silverlight.xml +++ /dev/null @@ -1,5101 +0,0 @@ - - - - Moq.Silverlight - - - -

- Provides a mock implementation of . - - Any interface type can be used for mocking, but for classes, only abstract and virtual members can be mocked. - - The behavior of the mock with regards to the setups and the actual calls is determined - by the optional that can be passed to the - constructor. - - Type to mock, which can be an interface or a class. - The following example shows establishing setups with specific values - for method invocations: - - // Arrange - var order = new Order(TALISKER, 50); - var mock = new Mock<IWarehouse>(); - - mock.Setup(x => x.HasInventory(TALISKER, 50)).Returns(true); - - // Act - order.Fill(mock.Object); - - // Assert - Assert.True(order.IsFilled); - - The following example shows how to use the class - to specify conditions for arguments instead of specific values: - - // Arrange - var order = new Order(TALISKER, 50); - var mock = new Mock<IWarehouse>(); - - // shows how to expect a value within a range - mock.Setup(x => x.HasInventory( - It.IsAny<string>(), - It.IsInRange(0, 100, Range.Inclusive))) - .Returns(false); - - // shows how to throw for unexpected calls. - mock.Setup(x => x.Remove( - It.IsAny<string>(), - It.IsAny<int>())) - .Throws(new InvalidOperationException()); - - // Act - order.Fill(mock.Object); - - // Assert - Assert.False(order.IsFilled); - - - - - - Base class for mocks and static helper class with methods that - apply to mocked objects, such as to - retrieve a from an object instance. - - - - - Helper interface used to hide the base - members from the fluent API to make it much cleaner - in Visual Studio intellisense. - - - -
- - - - - - - - - - - - - Creates an mock object of the indicated type. - - The type of the mocked object. - The mocked object created. - - - - Creates an mock object of the indicated type. - - The predicate with the specification of how the mocked object should behave. - The type of the mocked object. - The mocked object created. - - - - Initializes a new instance of the class. - - - - - Retrieves the mock object for the given object instance. - - Type of the mock to retrieve. Can be omitted as it's inferred - from the object instance passed in as the instance. - The instance of the mocked object.The mock associated with the mocked object. - The received instance - was not created by Moq. - - The following example shows how to add a new setup to an object - instance which is not the original but rather - the object associated with it: - - // Typed instance, not the mock, is retrieved from some test API. - HttpContextBase context = GetMockContext(); - - // context.Request is the typed object from the "real" API - // so in order to add a setup to it, we need to get - // the mock that "owns" it - Mock<HttpRequestBase> request = Mock.Get(context.Request); - mock.Setup(req => req.AppRelativeCurrentExecutionFilePath) - .Returns(tempUrl); - - - - - - Returns the mocked object value. - - - - - Verifies that all verifiable expectations have been met. - - This example sets up an expectation and marks it as verifiable. After - the mock is used, a Verify() call is issued on the mock - to ensure the method in the setup was invoked: - - var mock = new Mock<IWarehouse>(); - this.Setup(x => x.HasInventory(TALISKER, 50)).Verifiable().Returns(true); - ... - // other test code - ... - // Will throw if the test code has didn't call HasInventory. - this.Verify(); - - Not all verifiable expectations were met. - - - - Verifies all expectations regardless of whether they have - been flagged as verifiable. - - This example sets up an expectation without marking it as verifiable. After - the mock is used, a call is issued on the mock - to ensure that all expectations are met: - - var mock = new Mock<IWarehouse>(); - this.Setup(x => x.HasInventory(TALISKER, 50)).Returns(true); - ... - // other test code - ... - // Will throw if the test code has didn't call HasInventory, even - // that expectation was not marked as verifiable. - this.VerifyAll(); - - At least one expectation was not met. - - - - Gets the interceptor target for the given expression and root mock, - building the intermediate hierarchy of mock objects if necessary. - - - - - Raises the associated event with the given - event argument data. - - - - - Raises the associated event with the given - event argument data. - - - - - Adds an interface implementation to the mock, - allowing setups to be specified for it. - - This method can only be called before the first use - of the mock property, at which - point the runtime type has already been generated - and no more interfaces can be added to it. - - Also, must be an - interface and not a class, which must be specified - when creating the mock instead. - - - The mock type - has already been generated by accessing the property. - - The specified - is not an interface. - - The following example creates a mock for the main interface - and later adds to it to verify - it's called by the consumer code: - - var mock = new Mock<IProcessor>(); - mock.Setup(x => x.Execute("ping")); - - // add IDisposable interface - var disposable = mock.As<IDisposable>(); - disposable.Setup(d => d.Dispose()).Verifiable(); - - Type of interface to cast the mock to. - - - - - - - Behavior of the mock, according to the value set in the constructor. - - - - - Whether the base member virtual implementation will be called - for mocked classes if no setup is matched. Defaults to . - - - - - Specifies the behavior to use when returning default values for - unexpected invocations on loose mocks. - - - - - Gets the mocked object instance. - - - - - Retrieves the type of the mocked object, its generic type argument. - This is used in the auto-mocking of hierarchy access. - - - - - Specifies the class that will determine the default - value to return when invocations are made that - have no setups and need to return a default - value (for loose mocks). - - - - - Exposes the list of extra interfaces implemented by the mock. - - - - - Ctor invoked by AsTInterface exclusively. - - - - - Initializes an instance of the mock with default behavior. - - var mock = new Mock<IFormatProvider>(); - - - - - Initializes an instance of the mock with default behavior and with - the given constructor arguments for the class. (Only valid when is a class) - - The mock will try to find the best match constructor given the constructor arguments, and invoke that - to initialize the instance. This applies only for classes, not interfaces. - - var mock = new Mock<MyProvider>(someArgument, 25); - Optional constructor arguments if the mocked type is a class. - - - - Initializes an instance of the mock with the specified behavior. - - var mock = new Mock<IFormatProvider>(MockBehavior.Relaxed); - Behavior of the mock. - - - - Initializes an instance of the mock with a specific behavior with - the given constructor arguments for the class. - - The mock will try to find the best match constructor given the constructor arguments, and invoke that - to initialize the instance. This applies only to classes, not interfaces. - - var mock = new Mock<MyProvider>(someArgument, 25); - Behavior of the mock.Optional constructor arguments if the mocked type is a class. - - - - Returns the mocked object value. - - - - - Specifies a setup on the mocked type for a call to - to a void method. - - If more than one setup is specified for the same method or property, - the latest one wins and is the one that will be executed. - Lambda expression that specifies the expected method invocation. - - var mock = new Mock<IProcessor>(); - mock.Setup(x => x.Execute("ping")); - - - - - - Specifies a setup on the mocked type for a call to - to a value returning method. - Type of the return value. Typically omitted as it can be inferred from the expression. - If more than one setup is specified for the same method or property, - the latest one wins and is the one that will be executed. - Lambda expression that specifies the method invocation. - - mock.Setup(x => x.HasInventory("Talisker", 50)).Returns(true); - - - - - - Specifies a setup on the mocked type for a call to - to a property getter. - - If more than one setup is set for the same property getter, - the latest one wins and is the one that will be executed. - Type of the property. Typically omitted as it can be inferred from the expression.Lambda expression that specifies the property getter. - - mock.SetupGet(x => x.Suspended) - .Returns(true); - - - - - - Specifies a setup on the mocked type for a call to - to a property setter. - - If more than one setup is set for the same property setter, - the latest one wins and is the one that will be executed. - - This overloads allows the use of a callback already - typed for the property type. - - Type of the property. Typically omitted as it can be inferred from the expression.The Lambda expression that sets a property to a value. - - mock.SetupSet(x => x.Suspended = true); - - - - - - Specifies a setup on the mocked type for a call to - to a property setter. - - If more than one setup is set for the same property setter, - the latest one wins and is the one that will be executed. - Lambda expression that sets a property to a value. - - mock.SetupSet(x => x.Suspended = true); - - - - - - Specifies that the given property should have "property behavior", - meaning that setting its value will cause it to be saved and - later returned when the property is requested. (this is also - known as "stubbing"). - - Type of the property, inferred from the property - expression (does not need to be specified). - Property expression to stub. - If you have an interface with an int property Value, you might - stub it using the following straightforward call: - - var mock = new Mock<IHaveValue>(); - mock.Stub(v => v.Value); - - After the Stub call has been issued, setting and - retrieving the object value will behave as expected: - - IHaveValue v = mock.Object; - - v.Value = 5; - Assert.Equal(5, v.Value); - - - - - - Specifies that the given property should have "property behavior", - meaning that setting its value will cause it to be saved and - later returned when the property is requested. This overload - allows setting the initial value for the property. (this is also - known as "stubbing"). - - Type of the property, inferred from the property - expression (does not need to be specified). - Property expression to stub.Initial value for the property. - If you have an interface with an int property Value, you might - stub it using the following straightforward call: - - var mock = new Mock<IHaveValue>(); - mock.SetupProperty(v => v.Value, 5); - - After the SetupProperty call has been issued, setting and - retrieving the object value will behave as expected: - - IHaveValue v = mock.Object; - // Initial value was stored - Assert.Equal(5, v.Value); - - // New value set which changes the initial value - v.Value = 6; - Assert.Equal(6, v.Value); - - - - - - Specifies that the all properties on the mock should have "property behavior", - meaning that setting its value will cause it to be saved and - later returned when the property is requested. (this is also - known as "stubbing"). The default value for each property will be the - one generated as specified by the property for the mock. - - If the mock is set to , - the mocked default values will also get all properties setup recursively. - - - - - - - - Verifies that a specific invocation matching the given expression was performed on the mock. Use - in conjuntion with the default . - - This example assumes that the mock has been used, and later we want to verify that a given - invocation with specific parameters was performed: - - var mock = new Mock<IProcessor>(); - // exercise mock - //... - // Will throw if the test code didn't call Execute with a "ping" string argument. - mock.Verify(proc => proc.Execute("ping")); - - The invocation was not performed on the mock.Expression to verify. - - - - Verifies that a specific invocation matching the given expression was performed on the mock. Use - in conjuntion with the default . - - The invocation was not call the times specified by - . - Expression to verify.The number of times a method is allowed to be called. - - - - Verifies that a specific invocation matching the given expression was performed on the mock, - specifying a failure error message. Use in conjuntion with the default - . - - This example assumes that the mock has been used, and later we want to verify that a given - invocation with specific parameters was performed: - - var mock = new Mock<IProcessor>(); - // exercise mock - //... - // Will throw if the test code didn't call Execute with a "ping" string argument. - mock.Verify(proc => proc.Execute("ping")); - - The invocation was not performed on the mock.Expression to verify.Message to show if verification fails. - - - - Verifies that a specific invocation matching the given expression was performed on the mock, - specifying a failure error message. Use in conjuntion with the default - . - - The invocation was not call the times specified by - . - Expression to verify.The number of times a method is allowed to be called.Message to show if verification fails. - - - - Verifies that a specific invocation matching the given expression was performed on the mock. Use - in conjuntion with the default . - - This example assumes that the mock has been used, and later we want to verify that a given - invocation with specific parameters was performed: - - var mock = new Mock<IWarehouse>(); - // exercise mock - //... - // Will throw if the test code didn't call HasInventory. - mock.Verify(warehouse => warehouse.HasInventory(TALISKER, 50)); - - The invocation was not performed on the mock.Expression to verify.Type of return value from the expression. - - - - Verifies that a specific invocation matching the given - expression was performed on the mock. Use in conjuntion - with the default . - - The invocation was not call the times specified by - . - Expression to verify.The number of times a method is allowed to be called.Type of return value from the expression. - - - - Verifies that a specific invocation matching the given - expression was performed on the mock, specifying a failure - error message. - - This example assumes that the mock has been used, - and later we want to verify that a given invocation - with specific parameters was performed: - - var mock = new Mock<IWarehouse>(); - // exercise mock - //... - // Will throw if the test code didn't call HasInventory. - mock.Verify(warehouse => warehouse.HasInventory(TALISKER, 50), "When filling orders, inventory has to be checked"); - - The invocation was not performed on the mock.Expression to verify.Message to show if verification fails.Type of return value from the expression. - - - - Verifies that a specific invocation matching the given - expression was performed on the mock, specifying a failure - error message. - - The invocation was not call the times specified by - . - Expression to verify.The number of times a method is allowed to be called.Message to show if verification fails.Type of return value from the expression. - - - - Verifies that a property was read on the mock. - - This example assumes that the mock has been used, - and later we want to verify that a given property - was retrieved from it: - - var mock = new Mock<IWarehouse>(); - // exercise mock - //... - // Will throw if the test code didn't retrieve the IsClosed property. - mock.VerifyGet(warehouse => warehouse.IsClosed); - - The invocation was not performed on the mock.Expression to verify. - Type of the property to verify. Typically omitted as it can - be inferred from the expression's return type. - - - - - Verifies that a property was read on the mock. - - The invocation was not call the times specified by - . - The number of times a method is allowed to be called.Expression to verify. - Type of the property to verify. Typically omitted as it can - be inferred from the expression's return type. - - - - - Verifies that a property was read on the mock, specifying a failure - error message. - - This example assumes that the mock has been used, - and later we want to verify that a given property - was retrieved from it: - - var mock = new Mock<IWarehouse>(); - // exercise mock - //... - // Will throw if the test code didn't retrieve the IsClosed property. - mock.VerifyGet(warehouse => warehouse.IsClosed); - - The invocation was not performed on the mock.Expression to verify.Message to show if verification fails. - Type of the property to verify. Typically omitted as it can - be inferred from the expression's return type. - - - - - Verifies that a property was read on the mock, specifying a failure - error message. - - The invocation was not call the times specified by - . - The number of times a method is allowed to be called.Expression to verify.Message to show if verification fails. - Type of the property to verify. Typically omitted as it can - be inferred from the expression's return type. - - - - - Verifies that a property was set on the mock. - - This example assumes that the mock has been used, - and later we want to verify that a given property - was set on it: - - var mock = new Mock<IWarehouse>(); - // exercise mock - //... - // Will throw if the test code didn't set the IsClosed property. - mock.VerifySet(warehouse => warehouse.IsClosed = true); - - The invocation was not performed on the mock.Expression to verify. - - - - Verifies that a property was set on the mock. - - The invocation was not call the times specified by - . - The number of times a method is allowed to be called.Expression to verify. - - - - Verifies that a property was set on the mock, specifying - a failure message. - - This example assumes that the mock has been used, - and later we want to verify that a given property - was set on it: - - var mock = new Mock<IWarehouse>(); - // exercise mock - //... - // Will throw if the test code didn't set the IsClosed property. - mock.VerifySet(warehouse => warehouse.IsClosed = true, "Warehouse should always be closed after the action"); - - The invocation was not performed on the mock.Expression to verify.Message to show if verification fails. - - - - Verifies that a property was set on the mock, specifying - a failure message. - - The invocation was not call the times specified by - . - The number of times a method is allowed to be called.Expression to verify.Message to show if verification fails. - - - - Raises the event referenced in using - the given argument. - - The argument is - invalid for the target event invocation, or the is - not an event attach or detach expression. - - The following example shows how to raise a event: - - var mock = new Mock<IViewModel>(); - - mock.Raise(x => x.PropertyChanged -= null, new PropertyChangedEventArgs("Name")); - - - This example shows how to invoke an event with a custom event arguments - class in a view that will cause its corresponding presenter to - react by changing its state: - - var mockView = new Mock<IOrdersView>(); - var presenter = new OrdersPresenter(mockView.Object); - - // Check that the presenter has no selection by default - Assert.Null(presenter.SelectedOrder); - - // Raise the event with a specific arguments data - mockView.Raise(v => v.SelectionChanged += null, new OrderEventArgs { Order = new Order("moq", 500) }); - - // Now the presenter reacted to the event, and we have a selected order - Assert.NotNull(presenter.SelectedOrder); - Assert.Equal("moq", presenter.SelectedOrder.ProductName); - - - - - - Raises the event referenced in using - the given argument for a non-EventHandler typed event. - - The arguments are - invalid for the target event invocation, or the is - not an event attach or detach expression. - - The following example shows how to raise a custom event that does not adhere to - the standard EventHandler: - - var mock = new Mock<IViewModel>(); - - mock.Raise(x => x.MyEvent -= null, "Name", bool, 25); - - - - - - Obsolete. - - - - - Obsolete. - - - - - Obsolete. - - - - - Obsolete. - - - - - Obsolete. - - - - - Exposes the mocked object instance. - - - - - Implements the fluent API. - - - - - The expectation will be considered only in the former condition. - - - - - - - The expectation will be considered only in the former condition. - - - - - - - - Setups the get. - - The type of the property. - The expression. - - - - - Setups the set. - - The type of the property. - The setter expression. - - - - - Setups the set. - - The setter expression. - - - - - Determines the way default values are generated - calculated for loose mocks. - - - - - Default behavior, which generates empty values for - value types (i.e. default(int)), empty array and - enumerables, and nulls for all other reference types. - - - - - Whenever the default value generated by - is null, replaces this value with a mock (if the type - can be mocked). - - - For sealed classes, a null value will be generated. - - - - - A that returns an empty default value - for invocations that do not have setups or return values, with loose mocks. - This is the default behavior for a mock. - - - - - Interface to be implemented by classes that determine the - default value of non-expected invocations. - - - - - Defines the default value to return in all the methods returning . - The type of the return value.The value to set as default. - - - - Provides a value for the given member and arguments. - - The member to provide a default value for. - - - - - Provides partial evaluation of subtrees, whenever they can be evaluated locally. - - Matt Warren: http://blogs.msdn.com/mattwar - Documented by InSTEDD: http://www.instedd.org - - - - Performs evaluation and replacement of independent sub-trees - - The root of the expression tree. - A function that decides whether a given expression - node can be part of the local function. - A new tree with sub-trees evaluated and replaced. - - - - Performs evaluation and replacement of independent sub-trees - - The root of the expression tree. - A new tree with sub-trees evaluated and replaced. - - - - Evaluates and replaces sub-trees when first candidate is reached (top-down) - - - - - Performs bottom-up analysis to determine which nodes can possibly - be part of an evaluated sub-tree. - - - - - Casts the expression to a lambda expression, removing - a cast if there's any. - - - - - Casts the body of the lambda expression to a . - - If the body is not a method call. - - - - Converts the body of the lambda expression into the referenced by it. - - - - - Checks whether the body of the lambda expression is a property access. - - - - - Checks whether the expression is a property access. - - - - - Checks whether the body of the lambda expression is a property indexer, which is true - when the expression is an whose - has - equal to . - - - - - Checks whether the expression is a property indexer, which is true - when the expression is an whose - has - equal to . - - - - - Creates an expression that casts the given expression to the - type. - - - - - TODO: remove this code when https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=331583 - is fixed. - - - - - The intention of is to create a more readable - string representation for the failure message. - - - - - Tracks the current mock and interception context. - - - - - Having an active fluent mock context means that the invocation - is being performed in "trial" mode, just to gather the - target method and arguments that need to be matched later - when the actual invocation is made. - - - - - Ensures the given is not null. - Throws otherwise. - - - - - Ensures the given string is not null or empty. - Throws in the first case, or - in the latter. - - - - - Checks an argument to ensure it is in the specified range including the edges. - - Type of the argument to check, it must be an type. - - The expression containing the name of the argument. - The argument value to check. - The minimun allowed value for the argument. - The maximun allowed value for the argument. - - - - Checks an argument to ensure it is in the specified range excluding the edges. - - Type of the argument to check, it must be an type. - - The expression containing the name of the argument. - The argument value to check. - The minimun allowed value for the argument. - The maximun allowed value for the argument. - - - - Implemented by all generated mock object instances. - - - - - Implemented by all generated mock object instances. - - - - - Reference the Mock that contains this as the mock.Object value. - - - - - Reference the Mock that contains this as the mock.Object value. - - - - - Implements the actual interception and method invocation for - all mocks. - - - - - Get an eventInfo for a given event name. Search type ancestors depth first if necessary. - - Name of the event, with the set_ or get_ prefix already removed - - - - Given a type return all of its ancestors, both types and interfaces. - - The type to find immediate ancestors of - - - - Allows the specification of a matching condition for an - argument in a method invocation, rather than a specific - argument value. "It" refers to the argument being matched. - - This class allows the setup to match a method invocation - with an arbitrary value, with a value in a specified range, or - even one that matches a given predicate. - - - - - Matches any value of the given type. - - Typically used when the actual argument value for a method - call is not relevant. - - - // Throws an exception for a call to Remove with any string value. - mock.Setup(x => x.Remove(It.IsAny<string>())).Throws(new InvalidOperationException()); - - Type of the value. - - - - Matches any value that satisfies the given predicate. - Type of the argument to check.The predicate used to match the method argument. - Allows the specification of a predicate to perform matching - of method call arguments. - - This example shows how to return the value 1 whenever the argument to the - Do method is an even number. - - mock.Setup(x => x.Do(It.Is<int>(i => i % 2 == 0))) - .Returns(1); - - This example shows how to throw an exception if the argument to the - method is a negative number: - - mock.Setup(x => x.GetUser(It.Is<int>(i => i < 0))) - .Throws(new ArgumentException()); - - - - - - Matches any value that is in the range specified. - Type of the argument to check.The lower bound of the range.The upper bound of the range. - The kind of range. See . - - The following example shows how to expect a method call - with an integer argument within the 0..100 range. - - mock.Setup(x => x.HasInventory( - It.IsAny<string>(), - It.IsInRange(0, 100, Range.Inclusive))) - .Returns(false); - - - - - - Matches a string argument if it matches the given regular expression pattern. - The pattern to use to match the string argument value. - The following example shows how to expect a call to a method where the - string argument matches the given regular expression: - - mock.Setup(x => x.Check(It.IsRegex("[a-z]+"))).Returns(1); - - - - - - Matches a string argument if it matches the given regular expression pattern. - The pattern to use to match the string argument value.The options used to interpret the pattern. - The following example shows how to expect a call to a method where the - string argument matches the given regular expression, in a case insensitive way: - - mock.Setup(x => x.Check(It.IsRegex("[a-z]+", RegexOptions.IgnoreCase))).Returns(1); - - - - - - Implements the fluent API. - - - - - Defines the Callback verb and overloads. - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((string arg1, string arg2) => Console.WriteLine(arg1 + arg2)); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((string arg1, string arg2, string arg3) => Console.WriteLine(arg1 + arg2 + arg3)); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((string arg1, string arg2, string arg3, string arg4) => Console.WriteLine(arg1 + arg2 + arg3 + arg4)); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((string arg1, string arg2, string arg3, string arg4, string arg5) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5)); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6)); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7)); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8)); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the nineth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9)); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the nineth argument of the invoked method. - The type of the tenth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10)); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the nineth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11)); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the nineth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The type of the twelfth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12)); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the nineth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The type of the twelfth argument of the invoked method. - The type of the thirteenth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12, string arg13) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13)); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the nineth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The type of the twelfth argument of the invoked method. - The type of the thirteenth argument of the invoked method. - The type of the fourteenth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12, string arg13, string arg14) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13 + arg14)); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the nineth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The type of the twelfth argument of the invoked method. - The type of the thirteenth argument of the invoked method. - The type of the fourteenth argument of the invoked method. - The type of the fifteenth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12, string arg13, string arg14, string arg15) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13 + arg14 + arg15)); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the nineth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The type of the twelfth argument of the invoked method. - The type of the thirteenth argument of the invoked method. - The type of the fourteenth argument of the invoked method. - The type of the fifteenth argument of the invoked method. - The type of the sixteenth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12, string arg13, string arg14, string arg15, string arg16) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13 + arg14 + arg15 + arg16)); - - - - - - Specifies a callback to invoke when the method is called. - - The callback method to invoke. - - The following example specifies a callback to set a boolean - value that can be used later: - - var called = false; - mock.Setup(x => x.Execute()) - .Callback(() => called = true); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The argument type of the invoked method. - The callback method to invoke. - - Invokes the given callback with the concrete invocation argument value. - - Notice how the specific string argument is retrieved by simply declaring - it as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute(It.IsAny<string>())) - .Callback((string command) => Console.WriteLine(command)); - - - - - - Defines occurrence members to constraint setups. - - - - - The expected invocation can happen at most once. - - - - var mock = new Mock<ICommand>(); - mock.Setup(foo => foo.Execute("ping")) - .AtMostOnce(); - - - - - - The expected invocation can happen at most specified number of times. - - The number of times to accept calls. - - - var mock = new Mock<ICommand>(); - mock.Setup(foo => foo.Execute("ping")) - .AtMost( 5 ); - - - - - - Defines the Raises verb. - - - - - Specifies the event that will be raised - when the setup is met. - - An expression that represents an event attach or detach action. - The event arguments to pass for the raised event. - - The following example shows how to raise an event when - the setup is met: - - var mock = new Mock<IContainer>(); - - mock.Setup(add => add.Add(It.IsAny<string>(), It.IsAny<object>())) - .Raises(add => add.Added += null, EventArgs.Empty); - - - - - - Specifies the event that will be raised - when the setup is matched. - - An expression that represents an event attach or detach action. - A function that will build the - to pass when raising the event. - - - - - Specifies the custom event that will be raised - when the setup is matched. - - An expression that represents an event attach or detach action. - The arguments to pass to the custom delegate (non EventHandler-compatible). - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - The type of the second argument received by the expected invocation. - - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - The type of the second argument received by the expected invocation. - The type of the third argument received by the expected invocation. - - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - The type of the second argument received by the expected invocation. - The type of the third argument received by the expected invocation. - The type of the fourth argument received by the expected invocation. - - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - The type of the second argument received by the expected invocation. - The type of the third argument received by the expected invocation. - The type of the fourth argument received by the expected invocation. - The type of the fifth argument received by the expected invocation. - - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - The type of the second argument received by the expected invocation. - The type of the third argument received by the expected invocation. - The type of the fourth argument received by the expected invocation. - The type of the fifth argument received by the expected invocation. - The type of the sixth argument received by the expected invocation. - - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - The type of the second argument received by the expected invocation. - The type of the third argument received by the expected invocation. - The type of the fourth argument received by the expected invocation. - The type of the fifth argument received by the expected invocation. - The type of the sixth argument received by the expected invocation. - The type of the seventh argument received by the expected invocation. - - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - The type of the second argument received by the expected invocation. - The type of the third argument received by the expected invocation. - The type of the fourth argument received by the expected invocation. - The type of the fifth argument received by the expected invocation. - The type of the sixth argument received by the expected invocation. - The type of the seventh argument received by the expected invocation. - The type of the eighth argument received by the expected invocation. - - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - The type of the second argument received by the expected invocation. - The type of the third argument received by the expected invocation. - The type of the fourth argument received by the expected invocation. - The type of the fifth argument received by the expected invocation. - The type of the sixth argument received by the expected invocation. - The type of the seventh argument received by the expected invocation. - The type of the eighth argument received by the expected invocation. - The type of the nineth argument received by the expected invocation. - - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - The type of the second argument received by the expected invocation. - The type of the third argument received by the expected invocation. - The type of the fourth argument received by the expected invocation. - The type of the fifth argument received by the expected invocation. - The type of the sixth argument received by the expected invocation. - The type of the seventh argument received by the expected invocation. - The type of the eighth argument received by the expected invocation. - The type of the nineth argument received by the expected invocation. - The type of the tenth argument received by the expected invocation. - - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - The type of the second argument received by the expected invocation. - The type of the third argument received by the expected invocation. - The type of the fourth argument received by the expected invocation. - The type of the fifth argument received by the expected invocation. - The type of the sixth argument received by the expected invocation. - The type of the seventh argument received by the expected invocation. - The type of the eighth argument received by the expected invocation. - The type of the nineth argument received by the expected invocation. - The type of the tenth argument received by the expected invocation. - The type of the eleventh argument received by the expected invocation. - - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - The type of the second argument received by the expected invocation. - The type of the third argument received by the expected invocation. - The type of the fourth argument received by the expected invocation. - The type of the fifth argument received by the expected invocation. - The type of the sixth argument received by the expected invocation. - The type of the seventh argument received by the expected invocation. - The type of the eighth argument received by the expected invocation. - The type of the nineth argument received by the expected invocation. - The type of the tenth argument received by the expected invocation. - The type of the eleventh argument received by the expected invocation. - The type of the twelfth argument received by the expected invocation. - - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - The type of the second argument received by the expected invocation. - The type of the third argument received by the expected invocation. - The type of the fourth argument received by the expected invocation. - The type of the fifth argument received by the expected invocation. - The type of the sixth argument received by the expected invocation. - The type of the seventh argument received by the expected invocation. - The type of the eighth argument received by the expected invocation. - The type of the nineth argument received by the expected invocation. - The type of the tenth argument received by the expected invocation. - The type of the eleventh argument received by the expected invocation. - The type of the twelfth argument received by the expected invocation. - The type of the thirteenth argument received by the expected invocation. - - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - The type of the second argument received by the expected invocation. - The type of the third argument received by the expected invocation. - The type of the fourth argument received by the expected invocation. - The type of the fifth argument received by the expected invocation. - The type of the sixth argument received by the expected invocation. - The type of the seventh argument received by the expected invocation. - The type of the eighth argument received by the expected invocation. - The type of the nineth argument received by the expected invocation. - The type of the tenth argument received by the expected invocation. - The type of the eleventh argument received by the expected invocation. - The type of the twelfth argument received by the expected invocation. - The type of the thirteenth argument received by the expected invocation. - The type of the fourteenth argument received by the expected invocation. - - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - The type of the second argument received by the expected invocation. - The type of the third argument received by the expected invocation. - The type of the fourth argument received by the expected invocation. - The type of the fifth argument received by the expected invocation. - The type of the sixth argument received by the expected invocation. - The type of the seventh argument received by the expected invocation. - The type of the eighth argument received by the expected invocation. - The type of the nineth argument received by the expected invocation. - The type of the tenth argument received by the expected invocation. - The type of the eleventh argument received by the expected invocation. - The type of the twelfth argument received by the expected invocation. - The type of the thirteenth argument received by the expected invocation. - The type of the fourteenth argument received by the expected invocation. - The type of the fifteenth argument received by the expected invocation. - - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - The type of the second argument received by the expected invocation. - The type of the third argument received by the expected invocation. - The type of the fourth argument received by the expected invocation. - The type of the fifth argument received by the expected invocation. - The type of the sixth argument received by the expected invocation. - The type of the seventh argument received by the expected invocation. - The type of the eighth argument received by the expected invocation. - The type of the nineth argument received by the expected invocation. - The type of the tenth argument received by the expected invocation. - The type of the eleventh argument received by the expected invocation. - The type of the twelfth argument received by the expected invocation. - The type of the thirteenth argument received by the expected invocation. - The type of the fourteenth argument received by the expected invocation. - The type of the fifteenth argument received by the expected invocation. - The type of the sixteenth argument received by the expected invocation. - - - - - Defines the Verifiable verb. - - - - - Marks the expectation as verifiable, meaning that a call - to will check if this particular - expectation was met. - - - The following example marks the expectation as verifiable: - - mock.Expect(x => x.Execute("ping")) - .Returns(true) - .Verifiable(); - - - - - - Marks the expectation as verifiable, meaning that a call - to will check if this particular - expectation was met, and specifies a message for failures. - - - The following example marks the expectation as verifiable: - - mock.Expect(x => x.Execute("ping")) - .Returns(true) - .Verifiable("Ping should be executed always!"); - - - - - - Implements the fluent API. - - - - - Implements the fluent API. - - - - - Defines the Throws verb. - - - - - Specifies the exception to throw when the method is invoked. - - Exception instance to throw. - - This example shows how to throw an exception when the method is - invoked with an empty string argument: - - mock.Setup(x => x.Execute("")) - .Throws(new ArgumentException()); - - - - - - Specifies the type of exception to throw when the method is invoked. - - Type of exception to instantiate and throw when the setup is matched. - - This example shows how to throw an exception when the method is - invoked with an empty string argument: - - mock.Setup(x => x.Execute("")) - .Throws<ArgumentException>(); - - - - - - Implements the fluent API. - - - - - Implements the fluent API. - - - - - Defines the Callback verb and overloads for callbacks on - setups that return a value. - - Mocked type. - Type of the return value of the setup. - - - - Specifies a callback to invoke when the method is called that receives the original - arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((arg1, arg2) => Console.WriteLine(arg1 + arg2)); - - - - - - Specifies a callback to invoke when the method is called that receives the original - arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((arg1, arg2, arg3) => Console.WriteLine(arg1 + arg2 + arg3)); - - - - - - Specifies a callback to invoke when the method is called that receives the original - arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((arg1, arg2, arg3, arg4) => Console.WriteLine(arg1 + arg2 + arg3 + arg4)); - - - - - - Specifies a callback to invoke when the method is called that receives the original - arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((arg1, arg2, arg3, arg4, arg5) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5)); - - - - - - Specifies a callback to invoke when the method is called that receives the original - arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((arg1, arg2, arg3, arg4, arg5, arg6) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6)); - - - - - - Specifies a callback to invoke when the method is called that receives the original - arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7)); - - - - - - Specifies a callback to invoke when the method is called that receives the original - arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8)); - - - - - - Specifies a callback to invoke when the method is called that receives the original - arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the nineth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9)); - - - - - - Specifies a callback to invoke when the method is called that receives the original - arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the nineth argument of the invoked method. - The type of the tenth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10)); - - - - - - Specifies a callback to invoke when the method is called that receives the original - arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the nineth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11)); - - - - - - Specifies a callback to invoke when the method is called that receives the original - arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the nineth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The type of the twelfth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12)); - - - - - - Specifies a callback to invoke when the method is called that receives the original - arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the nineth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The type of the twelfth argument of the invoked method. - The type of the thirteenth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13)); - - - - - - Specifies a callback to invoke when the method is called that receives the original - arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the nineth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The type of the twelfth argument of the invoked method. - The type of the thirteenth argument of the invoked method. - The type of the fourteenth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13 + arg14)); - - - - - - Specifies a callback to invoke when the method is called that receives the original - arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the nineth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The type of the twelfth argument of the invoked method. - The type of the thirteenth argument of the invoked method. - The type of the fourteenth argument of the invoked method. - The type of the fifteenth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13 + arg14 + arg15)); - - - - - - Specifies a callback to invoke when the method is called that receives the original - arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the nineth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The type of the twelfth argument of the invoked method. - The type of the thirteenth argument of the invoked method. - The type of the fourteenth argument of the invoked method. - The type of the fifteenth argument of the invoked method. - The type of the sixteenth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13 + arg14 + arg15 + arg16)); - - - - - - Specifies a callback to invoke when the method is called. - - The callback method to invoke. - - The following example specifies a callback to set a boolean value that can be used later: - - var called = false; - mock.Setup(x => x.Execute()) - .Callback(() => called = true) - .Returns(true); - - Note that in the case of value-returning methods, after the Callback - call you can still specify the return value. - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the argument of the invoked method. - Callback method to invoke. - - Invokes the given callback with the concrete invocation argument value. - - Notice how the specific string argument is retrieved by simply declaring - it as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute(It.IsAny<string>())) - .Callback(command => Console.WriteLine(command)) - .Returns(true); - - - - - - Implements the fluent API. - - - - - Defines the Returns verb. - - Mocked type. - Type of the return value from the expression. - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The function that will calculate the return value. - Returns a calculated value which is evaluated lazily at the time of the invocation. - - - The return value is calculated from the value of the actual method invocation arguments. - Notice how the arguments are retrieved by simply declaring them as part of the lambda - expression: - - - mock.Setup(x => x.Execute( - It.IsAny<int>(), - It.IsAny<int>())) - .Returns((string arg1, string arg2) => arg1 + arg2); - - - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The function that will calculate the return value. - Returns a calculated value which is evaluated lazily at the time of the invocation. - - - The return value is calculated from the value of the actual method invocation arguments. - Notice how the arguments are retrieved by simply declaring them as part of the lambda - expression: - - - mock.Setup(x => x.Execute( - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>())) - .Returns((string arg1, string arg2, string arg3) => arg1 + arg2 + arg3); - - - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The function that will calculate the return value. - Returns a calculated value which is evaluated lazily at the time of the invocation. - - - The return value is calculated from the value of the actual method invocation arguments. - Notice how the arguments are retrieved by simply declaring them as part of the lambda - expression: - - - mock.Setup(x => x.Execute( - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>())) - .Returns((string arg1, string arg2, string arg3, string arg4) => arg1 + arg2 + arg3 + arg4); - - - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The function that will calculate the return value. - Returns a calculated value which is evaluated lazily at the time of the invocation. - - - The return value is calculated from the value of the actual method invocation arguments. - Notice how the arguments are retrieved by simply declaring them as part of the lambda - expression: - - - mock.Setup(x => x.Execute( - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>())) - .Returns((string arg1, string arg2, string arg3, string arg4, string arg5) => arg1 + arg2 + arg3 + arg4 + arg5); - - - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The function that will calculate the return value. - Returns a calculated value which is evaluated lazily at the time of the invocation. - - - The return value is calculated from the value of the actual method invocation arguments. - Notice how the arguments are retrieved by simply declaring them as part of the lambda - expression: - - - mock.Setup(x => x.Execute( - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>())) - .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6); - - - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The function that will calculate the return value. - Returns a calculated value which is evaluated lazily at the time of the invocation. - - - The return value is calculated from the value of the actual method invocation arguments. - Notice how the arguments are retrieved by simply declaring them as part of the lambda - expression: - - - mock.Setup(x => x.Execute( - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>())) - .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7); - - - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The function that will calculate the return value. - Returns a calculated value which is evaluated lazily at the time of the invocation. - - - The return value is calculated from the value of the actual method invocation arguments. - Notice how the arguments are retrieved by simply declaring them as part of the lambda - expression: - - - mock.Setup(x => x.Execute( - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>())) - .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8); - - - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the nineth argument of the invoked method. - The function that will calculate the return value. - Returns a calculated value which is evaluated lazily at the time of the invocation. - - - The return value is calculated from the value of the actual method invocation arguments. - Notice how the arguments are retrieved by simply declaring them as part of the lambda - expression: - - - mock.Setup(x => x.Execute( - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>())) - .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9); - - - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the nineth argument of the invoked method. - The type of the tenth argument of the invoked method. - The function that will calculate the return value. - Returns a calculated value which is evaluated lazily at the time of the invocation. - - - The return value is calculated from the value of the actual method invocation arguments. - Notice how the arguments are retrieved by simply declaring them as part of the lambda - expression: - - - mock.Setup(x => x.Execute( - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>())) - .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10); - - - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the nineth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The function that will calculate the return value. - Returns a calculated value which is evaluated lazily at the time of the invocation. - - - The return value is calculated from the value of the actual method invocation arguments. - Notice how the arguments are retrieved by simply declaring them as part of the lambda - expression: - - - mock.Setup(x => x.Execute( - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>())) - .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11); - - - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the nineth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The type of the twelfth argument of the invoked method. - The function that will calculate the return value. - Returns a calculated value which is evaluated lazily at the time of the invocation. - - - The return value is calculated from the value of the actual method invocation arguments. - Notice how the arguments are retrieved by simply declaring them as part of the lambda - expression: - - - mock.Setup(x => x.Execute( - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>())) - .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12); - - - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the nineth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The type of the twelfth argument of the invoked method. - The type of the thirteenth argument of the invoked method. - The function that will calculate the return value. - Returns a calculated value which is evaluated lazily at the time of the invocation. - - - The return value is calculated from the value of the actual method invocation arguments. - Notice how the arguments are retrieved by simply declaring them as part of the lambda - expression: - - - mock.Setup(x => x.Execute( - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>())) - .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12, string arg13) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13); - - - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the nineth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The type of the twelfth argument of the invoked method. - The type of the thirteenth argument of the invoked method. - The type of the fourteenth argument of the invoked method. - The function that will calculate the return value. - Returns a calculated value which is evaluated lazily at the time of the invocation. - - - The return value is calculated from the value of the actual method invocation arguments. - Notice how the arguments are retrieved by simply declaring them as part of the lambda - expression: - - - mock.Setup(x => x.Execute( - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>())) - .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12, string arg13, string arg14) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13 + arg14); - - - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the nineth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The type of the twelfth argument of the invoked method. - The type of the thirteenth argument of the invoked method. - The type of the fourteenth argument of the invoked method. - The type of the fifteenth argument of the invoked method. - The function that will calculate the return value. - Returns a calculated value which is evaluated lazily at the time of the invocation. - - - The return value is calculated from the value of the actual method invocation arguments. - Notice how the arguments are retrieved by simply declaring them as part of the lambda - expression: - - - mock.Setup(x => x.Execute( - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>())) - .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12, string arg13, string arg14, string arg15) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13 + arg14 + arg15); - - - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the nineth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The type of the twelfth argument of the invoked method. - The type of the thirteenth argument of the invoked method. - The type of the fourteenth argument of the invoked method. - The type of the fifteenth argument of the invoked method. - The type of the sixteenth argument of the invoked method. - The function that will calculate the return value. - Returns a calculated value which is evaluated lazily at the time of the invocation. - - - The return value is calculated from the value of the actual method invocation arguments. - Notice how the arguments are retrieved by simply declaring them as part of the lambda - expression: - - - mock.Setup(x => x.Execute( - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>())) - .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12, string arg13, string arg14, string arg15, string arg16) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13 + arg14 + arg15 + arg16); - - - - - - Specifies the value to return. - - The value to return, or . - - Return a true value from the method call: - - mock.Setup(x => x.Execute("ping")) - .Returns(true); - - - - - - Specifies a function that will calculate the value to return from the method. - - The function that will calculate the return value. - - Return a calculated value when the method is called: - - mock.Setup(x => x.Execute("ping")) - .Returns(() => returnValues[0]); - - The lambda expression to retrieve the return value is lazy-executed, - meaning that its value may change depending on the moment the method - is executed and the value the returnValues array has at - that moment. - - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the argument of the invoked method. - The function that will calculate the return value. - - Return a calculated value which is evaluated lazily at the time of the invocation. - - The lookup list can change between invocations and the setup - will return different values accordingly. Also, notice how the specific - string argument is retrieved by simply declaring it as part of the lambda - expression: - - - mock.Setup(x => x.Execute(It.IsAny<string>())) - .Returns((string command) => returnValues[command]); - - - - - - Implements the fluent API. - - - - - Defines the Callback verb for property getter setups. - - - Mocked type. - Type of the property. - - - - Specifies a callback to invoke when the property is retrieved. - - Callback method to invoke. - - Invokes the given callback with the property value being set. - - mock.SetupGet(x => x.Suspended) - .Callback(() => called = true) - .Returns(true); - - - - - - Implements the fluent API. - - - - - Defines the Returns verb for property get setups. - - Mocked type. - Type of the property. - - - - Specifies the value to return. - - The value to return, or . - - Return a true value from the property getter call: - - mock.SetupGet(x => x.Suspended) - .Returns(true); - - - - - - Specifies a function that will calculate the value to return for the property. - - The function that will calculate the return value. - - Return a calculated value when the property is retrieved: - - mock.SetupGet(x => x.Suspended) - .Returns(() => returnValues[0]); - - The lambda expression to retrieve the return value is lazy-executed, - meaning that its value may change depending on the moment the property - is retrieved and the value the returnValues array has at - that moment. - - - - - Implements the fluent API. - - - - - Defines the Callback verb for property setter setups. - - Type of the property. - - - - Specifies a callback to invoke when the property is set that receives the - property value being set. - - Callback method to invoke. - - Invokes the given callback with the property value being set. - - mock.SetupSet(x => x.Suspended) - .Callback((bool state) => Console.WriteLine(state)); - - - - - - Language for ReturnSequence - - - - - Returns value - - - - - Throws an exception - - - - - Throws an exception - - - - - The first method call or member access will be the - last segment of the expression (depth-first traversal), - which is the one we have to Setup rather than FluentMock. - And the last one is the one we have to Mock.Get rather - than FluentMock. - - - - - A default implementation of IQueryable for use with QueryProvider - - - - - The is a - static method that returns an IQueryable of Mocks of T which is used to - apply the linq specification to. - - - - - Utility repository class to use to construct multiple - mocks when consistent verification is - desired for all of them. - - - If multiple mocks will be created during a test, passing - the desired (if different than the - or the one - passed to the repository constructor) and later verifying each - mock can become repetitive and tedious. - - This repository class helps in that scenario by providing a - simplified creation of multiple mocks with a default - (unless overriden by calling - ) and posterior verification. - - - - The following is a straightforward example on how to - create and automatically verify strict mocks using a : - - var repository = new MockRepository(MockBehavior.Strict); - - var foo = repository.Create<IFoo>(); - var bar = repository.Create<IBar>(); - - // no need to call Verifiable() on the setup - // as we'll be validating all of them anyway. - foo.Setup(f => f.Do()); - bar.Setup(b => b.Redo()); - - // exercise the mocks here - - repository.VerifyAll(); - // At this point all setups are already checked - // and an optional MockException might be thrown. - // Note also that because the mocks are strict, any invocation - // that doesn't have a matching setup will also throw a MockException. - - The following examples shows how to setup the repository - to create loose mocks and later verify only verifiable setups: - - var repository = new MockRepository(MockBehavior.Loose); - - var foo = repository.Create<IFoo>(); - var bar = repository.Create<IBar>(); - - // this setup will be verified when we verify the repository - foo.Setup(f => f.Do()).Verifiable(); - - // this setup will NOT be verified - foo.Setup(f => f.Calculate()); - - // this setup will be verified when we verify the repository - bar.Setup(b => b.Redo()).Verifiable(); - - // exercise the mocks here - // note that because the mocks are Loose, members - // called in the interfaces for which no matching - // setups exist will NOT throw exceptions, - // and will rather return default values. - - repository.Verify(); - // At this point verifiable setups are already checked - // and an optional MockException might be thrown. - - The following examples shows how to setup the repository with a - default strict behavior, overriding that default for a - specific mock: - - var repository = new MockRepository(MockBehavior.Strict); - - // this particular one we want loose - var foo = repository.Create<IFoo>(MockBehavior.Loose); - var bar = repository.Create<IBar>(); - - // specify setups - - // exercise the mocks here - - repository.Verify(); - - - - - - - Utility factory class to use to construct multiple - mocks when consistent verification is - desired for all of them. - - - If multiple mocks will be created during a test, passing - the desired (if different than the - or the one - passed to the factory constructor) and later verifying each - mock can become repetitive and tedious. - - This factory class helps in that scenario by providing a - simplified creation of multiple mocks with a default - (unless overriden by calling - ) and posterior verification. - - - - The following is a straightforward example on how to - create and automatically verify strict mocks using a : - - var factory = new MockFactory(MockBehavior.Strict); - - var foo = factory.Create<IFoo>(); - var bar = factory.Create<IBar>(); - - // no need to call Verifiable() on the setup - // as we'll be validating all of them anyway. - foo.Setup(f => f.Do()); - bar.Setup(b => b.Redo()); - - // exercise the mocks here - - factory.VerifyAll(); - // At this point all setups are already checked - // and an optional MockException might be thrown. - // Note also that because the mocks are strict, any invocation - // that doesn't have a matching setup will also throw a MockException. - - The following examples shows how to setup the factory - to create loose mocks and later verify only verifiable setups: - - var factory = new MockFactory(MockBehavior.Loose); - - var foo = factory.Create<IFoo>(); - var bar = factory.Create<IBar>(); - - // this setup will be verified when we verify the factory - foo.Setup(f => f.Do()).Verifiable(); - - // this setup will NOT be verified - foo.Setup(f => f.Calculate()); - - // this setup will be verified when we verify the factory - bar.Setup(b => b.Redo()).Verifiable(); - - // exercise the mocks here - // note that because the mocks are Loose, members - // called in the interfaces for which no matching - // setups exist will NOT throw exceptions, - // and will rather return default values. - - factory.Verify(); - // At this point verifiable setups are already checked - // and an optional MockException might be thrown. - - The following examples shows how to setup the factory with a - default strict behavior, overriding that default for a - specific mock: - - var factory = new MockFactory(MockBehavior.Strict); - - // this particular one we want loose - var foo = factory.Create<IFoo>(MockBehavior.Loose); - var bar = factory.Create<IBar>(); - - // specify setups - - // exercise the mocks here - - factory.Verify(); - - - - - - - Initializes the factory with the given - for newly created mocks from the factory. - - The behavior to use for mocks created - using the factory method if not overriden - by using the overload. - - - - Creates a new mock with the default - specified at factory construction time. - - Type to mock. - A new . - - - var factory = new MockFactory(MockBehavior.Strict); - - var foo = factory.Create<IFoo>(); - // use mock on tests - - factory.VerifyAll(); - - - - - - Creates a new mock with the default - specified at factory construction time and with the - the given constructor arguments for the class. - - - The mock will try to find the best match constructor given the - constructor arguments, and invoke that to initialize the instance. - This applies only to classes, not interfaces. - - Type to mock. - Constructor arguments for mocked classes. - A new . - - - var factory = new MockFactory(MockBehavior.Default); - - var mock = factory.Create<MyBase>("Foo", 25, true); - // use mock on tests - - factory.Verify(); - - - - - - Creates a new mock with the given . - - Type to mock. - Behavior to use for the mock, which overrides - the default behavior specified at factory construction time. - A new . - - The following example shows how to create a mock with a different - behavior to that specified as the default for the factory: - - var factory = new MockFactory(MockBehavior.Strict); - - var foo = factory.Create<IFoo>(MockBehavior.Loose); - - - - - - Creates a new mock with the given - and with the the given constructor arguments for the class. - - - The mock will try to find the best match constructor given the - constructor arguments, and invoke that to initialize the instance. - This applies only to classes, not interfaces. - - Type to mock. - Behavior to use for the mock, which overrides - the default behavior specified at factory construction time. - Constructor arguments for mocked classes. - A new . - - The following example shows how to create a mock with a different - behavior to that specified as the default for the factory, passing - constructor arguments: - - var factory = new MockFactory(MockBehavior.Default); - - var mock = factory.Create<MyBase>(MockBehavior.Strict, "Foo", 25, true); - - - - - - Implements creation of a new mock within the factory. - - Type to mock. - The behavior for the new mock. - Optional arguments for the construction of the mock. - - - - Verifies all verifiable expectations on all mocks created - by this factory. - - - One or more mocks had expectations that were not satisfied. - - - - Verifies all verifiable expectations on all mocks created - by this factory. - - - One or more mocks had expectations that were not satisfied. - - - - Invokes for each mock - in , and accumulates the resulting - that might be - thrown from the action. - - The action to execute against - each mock. - - - - Whether the base member virtual implementation will be called - for mocked classes if no setup is matched. Defaults to . - - - - - Specifies the behavior to use when returning default values for - unexpected invocations on loose mocks. - - - - - Gets the mocks that have been created by this factory and - that will get verified together. - - - - - Access the universe of mocks of the given type, to retrieve those - that behave according to the LINQ query specification. - - The type of the mocked object to query. - - - - Access the universe of mocks of the given type, to retrieve those - that behave according to the LINQ query specification. - - The predicate with the setup expressions. - The type of the mocked object to query. - - - - Creates an mock object of the indicated type. - - The type of the mocked object. - The mocked object created. - - - - Creates an mock object of the indicated type. - - The predicate with the setup expressions. - The type of the mocked object. - The mocked object created. - - - - Creates the mock query with the underlying queriable implementation. - - - - - Wraps the enumerator inside a queryable. - - - - - Method that is turned into the actual call from .Query{T}, to - transform the queryable query into a normal enumerable query. - This method is never used directly by consumers. - - - - - Initializes the repository with the given - for newly created mocks from the repository. - - The behavior to use for mocks created - using the repository method if not overriden - by using the overload. - - - - Allows querying the universe of mocks for those that behave - according to the LINQ query specification. - - - This entry-point into Linq to Mocks is the only one in the root Moq - namespace to ease discovery. But to get all the mocking extension - methods on Object, a using of Moq.Linq must be done, so that the - polluting of the intellisense for all objects is an explicit opt-in. - - - - - Access the universe of mocks of the given type, to retrieve those - that behave according to the LINQ query specification. - - The type of the mocked object to query. - - - - Access the universe of mocks of the given type, to retrieve those - that behave according to the LINQ query specification. - - The predicate with the setup expressions. - The type of the mocked object to query. - - - - Creates an mock object of the indicated type. - - The type of the mocked object. - The mocked object created. - - - - Creates an mock object of the indicated type. - - The predicate with the setup expressions. - The type of the mocked object. - The mocked object created. - - - - Creates the mock query with the underlying queriable implementation. - - - - - Wraps the enumerator inside a queryable. - - - - - Method that is turned into the actual call from .Query{T}, to - transform the queryable query into a normal enumerable query. - This method is never used directly by consumers. - - - - - Extension method used to support Linq-like setup properties that are not virtual but do have - a getter and a setter, thereby allowing the use of Linq to Mocks to quickly initialize Dtos too :) - - - - - Helper extensions that are used by the query translator. - - - - - Retrieves a fluent mock from the given setup expression. - - - - - Allows creation custom value matchers that can be used on setups and verification, - completely replacing the built-in class with your own argument - matching rules. - - See also . - - - - - Provided for the sole purpose of rendering the delegate passed to the - matcher constructor if no friendly render lambda is provided. - - - - - Initializes the match with the condition that - will be checked in order to match invocation - values. - The condition to match against actual values. - - - - - - - - - This method is used to set an expression as the last matcher invoked, - which is used in the SetupSet to allow matchers in the prop = value - delegate expression. This delegate is executed in "fluent" mode in - order to capture the value being set, and construct the corresponding - methodcall. - This is also used in the MatcherFactory for each argument expression. - This method ensures that when we execute the delegate, we - also track the matcher that was invoked, so that when we create the - methodcall we build the expression using it, rather than the null/default - value returned from the actual invocation. - - - - - Allows creation custom value matchers that can be used on setups and verification, - completely replacing the built-in class with your own argument - matching rules. - Type of the value to match. - The argument matching is used to determine whether a concrete - invocation in the mock matches a given setup. This - matching mechanism is fully extensible. - - Creating a custom matcher is straightforward. You just need to create a method - that returns a value from a call to with - your matching condition and optional friendly render expression: - - [Matcher] - public Order IsBigOrder() - { - return Match<Order>.Create( - o => o.GrandTotal >= 5000, - /* a friendly expression to render on failures */ - () => IsBigOrder()); - } - - This method can be used in any mock setup invocation: - - mock.Setup(m => m.Submit(IsBigOrder()).Throws<UnauthorizedAccessException>(); - - At runtime, Moq knows that the return value was a matcher (note that the method MUST be - annotated with the [Matcher] attribute in order to determine this) and - evaluates your predicate with the actual value passed into your predicate. - - Another example might be a case where you want to match a lists of orders - that contains a particular one. You might create matcher like the following: - - - public static class Orders - { - [Matcher] - public static IEnumerable<Order> Contains(Order order) - { - return Match<IEnumerable<Order>>.Create(orders => orders.Contains(order)); - } - } - - Now we can invoke this static method instead of an argument in an - invocation: - - var order = new Order { ... }; - var mock = new Mock<IRepository<Order>>(); - - mock.Setup(x => x.Save(Orders.Contains(order))) - .Throws<ArgumentException>(); - - - - - - Marks a method as a matcher, which allows complete replacement - of the built-in class with your own argument - matching rules. - - - This feature has been deprecated in favor of the new - and simpler . - - - The argument matching is used to determine whether a concrete - invocation in the mock matches a given setup. This - matching mechanism is fully extensible. - - - There are two parts of a matcher: the compiler matcher - and the runtime matcher. - - - Compiler matcher - Used to satisfy the compiler requirements for the - argument. Needs to be a method optionally receiving any arguments - you might need for the matching, but with a return type that - matches that of the argument. - - Let's say I want to match a lists of orders that contains - a particular one. I might create a compiler matcher like the following: - - - public static class Orders - { - [Matcher] - public static IEnumerable<Order> Contains(Order order) - { - return null; - } - } - - Now we can invoke this static method instead of an argument in an - invocation: - - var order = new Order { ... }; - var mock = new Mock<IRepository<Order>>(); - - mock.Setup(x => x.Save(Orders.Contains(order))) - .Throws<ArgumentException>(); - - Note that the return value from the compiler matcher is irrelevant. - This method will never be called, and is just used to satisfy the - compiler and to signal Moq that this is not a method that we want - to be invoked at runtime. - - - - Runtime matcher - - The runtime matcher is the one that will actually perform evaluation - when the test is run, and is defined by convention to have the - same signature as the compiler matcher, but where the return - value is the first argument to the call, which contains the - object received by the actual invocation at runtime: - - public static bool Contains(IEnumerable<Order> orders, Order order) - { - return orders.Contains(order); - } - - At runtime, the mocked method will be invoked with a specific - list of orders. This value will be passed to this runtime - matcher as the first argument, while the second argument is the - one specified in the setup (x.Save(Orders.Contains(order))). - - The boolean returned determines whether the given argument has been - matched. If all arguments to the expected method are matched, then - the setup matches and is evaluated. - - - - - - Using this extensible infrastructure, you can easily replace the entire - set of matchers with your own. You can also avoid the - typical (and annoying) lengthy expressions that result when you have - multiple arguments that use generics. - - - The following is the complete example explained above: - - public static class Orders - { - [Matcher] - public static IEnumerable<Order> Contains(Order order) - { - return null; - } - - public static bool Contains(IEnumerable<Order> orders, Order order) - { - return orders.Contains(order); - } - } - - And the concrete test using this matcher: - - var order = new Order { ... }; - var mock = new Mock<IRepository<Order>>(); - - mock.Setup(x => x.Save(Orders.Contains(order))) - .Throws<ArgumentException>(); - - // use mock, invoke Save, and have the matcher filter. - - - - - - Matcher to treat static functions as matchers. - - mock.Setup(x => x.StringMethod(A.MagicString())); - - public static class A - { - [Matcher] - public static string MagicString() { return null; } - public static bool MagicString(string arg) - { - return arg == "magic"; - } - } - - Will succeed if: mock.Object.StringMethod("magic"); - and fail with any other call. - - - - - We need this non-generics base class so that - we can use from - generic code. - - - - - Options to customize the behavior of the mock. - - - - - Causes the mock to always throw - an exception for invocations that don't have a - corresponding setup. - - - - - Will never throw exceptions, returning default - values when necessary (null for reference types, - zero for value types or empty enumerables and arrays). - - - - - Default mock behavior, which equals . - - - - - A that returns an empty default value - for non-mockeable types, and mocks for all other types (interfaces and - non-sealed classes) that can be mocked. - - - - - Exception thrown by mocks when setups are not matched, - the mock is not properly setup, etc. - - - A distinct exception type is provided so that exceptions - thrown by the mock can be differentiated in tests that - expect other exceptions to be thrown (i.e. ArgumentException). - - Richer exception hierarchy/types are not provided as - tests typically should not catch or expect exceptions - from the mocks. These are typically the result of changes - in the tested class or its collaborators implementation, and - result in fixes in the mock setup so that they dissapear and - allow the test to pass. - - - - - - Made internal as it's of no use for - consumers, but it's important for - our own tests. - - - - - Used by the mock factory to accumulate verification - failures. - - - - - Helper class to setup a full trace between many mocks - - - - - Initialize a trace setup - - - - - Allow sequence to be repeated - - - - - define nice api - - - - - Perform an expectation in the trace. - - - - - Provides legacy API members as extensions so that - existing code continues to compile, but new code - doesn't see then. - - - - - Obsolete. - - - - - Obsolete. - - - - - Obsolete. - - - - - Provides additional methods on mocks. - - - Provided as extension methods as they confuse the compiler - with the overloads taking Action. - - - - - Specifies a setup on the mocked type for a call to - to a property setter, regardless of its value. - - - If more than one setup is set for the same property setter, - the latest one wins and is the one that will be executed. - - Type of the property. Typically omitted as it can be inferred from the expression. - Type of the mock. - The target mock for the setup. - Lambda expression that specifies the property setter. - - - mock.SetupSet(x => x.Suspended); - - - - This method is not legacy, but must be on an extension method to avoid - confusing the compiler with the new Action syntax. - - - - - Verifies that a property has been set on the mock, regarless of its value. - - - This example assumes that the mock has been used, - and later we want to verify that a given invocation - with specific parameters was performed: - - var mock = new Mock<IWarehouse>(); - // exercise mock - //... - // Will throw if the test code didn't set the IsClosed property. - mock.VerifySet(warehouse => warehouse.IsClosed); - - - The invocation was not performed on the mock. - Expression to verify. - The mock instance. - Mocked type. - Type of the property to verify. Typically omitted as it can - be inferred from the expression's return type. - - - - Verifies that a property has been set on the mock, specifying a failure - error message. - - - This example assumes that the mock has been used, - and later we want to verify that a given invocation - with specific parameters was performed: - - var mock = new Mock<IWarehouse>(); - // exercise mock - //... - // Will throw if the test code didn't set the IsClosed property. - mock.VerifySet(warehouse => warehouse.IsClosed); - - - The invocation was not performed on the mock. - Expression to verify. - Message to show if verification fails. - The mock instance. - Mocked type. - Type of the property to verify. Typically omitted as it can - be inferred from the expression's return type. - - - - Verifies that a property has been set on the mock, regardless - of the value but only the specified number of times. - - - This example assumes that the mock has been used, - and later we want to verify that a given invocation - with specific parameters was performed: - - var mock = new Mock<IWarehouse>(); - // exercise mock - //... - // Will throw if the test code didn't set the IsClosed property. - mock.VerifySet(warehouse => warehouse.IsClosed); - - - The invocation was not performed on the mock. - The invocation was not call the times specified by - . - The mock instance. - Mocked type. - The number of times a method is allowed to be called. - Expression to verify. - Type of the property to verify. Typically omitted as it can - be inferred from the expression's return type. - - - - Verifies that a property has been set on the mock, regardless - of the value but only the specified number of times, and specifying a failure - error message. - - - This example assumes that the mock has been used, - and later we want to verify that a given invocation - with specific parameters was performed: - - var mock = new Mock<IWarehouse>(); - // exercise mock - //... - // Will throw if the test code didn't set the IsClosed property. - mock.VerifySet(warehouse => warehouse.IsClosed); - - - The invocation was not performed on the mock. - The invocation was not call the times specified by - . - The mock instance. - Mocked type. - The number of times a method is allowed to be called. - Message to show if verification fails. - Expression to verify. - Type of the property to verify. Typically omitted as it can - be inferred from the expression's return type. - - - - Allows setups to be specified for protected members by using their - name as a string, rather than strong-typing them which is not possible - due to their visibility. - - - - - Specifies a setup for a void method invocation with the given - , optionally specifying arguments for the method call. - - The name of the void method to be invoked. - The optional arguments for the invocation. If argument matchers are used, - remember to use rather than . - - - - Specifies a setup for an invocation on a property or a non void method with the given - , optionally specifying arguments for the method call. - - The name of the method or property to be invoked. - The optional arguments for the invocation. If argument matchers are used, - remember to use rather than . - The return type of the method or property. - - - - Specifies a setup for an invocation on a property getter with the given - . - - The name of the property. - The type of the property. - - - - Specifies a setup for an invocation on a property setter with the given - . - - The name of the property. - The property value. If argument matchers are used, - remember to use rather than . - The type of the property. - - - - Specifies a verify for a void method with the given , - optionally specifying arguments for the method call. Use in conjuntion with the default - . - - The invocation was not call the times specified by - . - The name of the void method to be verified. - The number of times a method is allowed to be called. - The optional arguments for the invocation. If argument matchers are used, - remember to use rather than . - - - - Specifies a verify for an invocation on a property or a non void method with the given - , optionally specifying arguments for the method call. - - The invocation was not call the times specified by - . - The name of the method or property to be invoked. - The optional arguments for the invocation. If argument matchers are used, - remember to use rather than . - The number of times a method is allowed to be called. - The type of return value from the expression. - - - - Specifies a verify for an invocation on a property getter with the given - . - The invocation was not call the times specified by - . - - The name of the property. - The number of times a method is allowed to be called. - The type of the property. - - - - Specifies a setup for an invocation on a property setter with the given - . - - The invocation was not call the times specified by - . - The name of the property. - The number of times a method is allowed to be called. - The property value. - The type of the property. If argument matchers are used, - remember to use rather than . - - - - Allows the specification of a matching condition for an - argument in a protected member setup, rather than a specific - argument value. "ItExpr" refers to the argument being matched. - - - Use this variant of argument matching instead of - for protected setups. - This class allows the setup to match a method invocation - with an arbitrary value, with a value in a specified range, or - even one that matches a given predicate, or null. - - - - - Matches a null value of the given type. - - - Required for protected mocks as the null value cannot be used - directly as it prevents proper method overload selection. - - - - // Throws an exception for a call to Remove with a null string value. - mock.Protected() - .Setup("Remove", ItExpr.IsNull<string>()) - .Throws(new InvalidOperationException()); - - - Type of the value. - - - - Matches any value of the given type. - - - Typically used when the actual argument value for a method - call is not relevant. - - - - // Throws an exception for a call to Remove with any string value. - mock.Protected() - .Setup("Remove", ItExpr.IsAny<string>()) - .Throws(new InvalidOperationException()); - - - Type of the value. - - - - Matches any value that satisfies the given predicate. - - Type of the argument to check. - The predicate used to match the method argument. - - Allows the specification of a predicate to perform matching - of method call arguments. - - - This example shows how to return the value 1 whenever the argument to the - Do method is an even number. - - mock.Protected() - .Setup("Do", ItExpr.Is<int>(i => i % 2 == 0)) - .Returns(1); - - This example shows how to throw an exception if the argument to the - method is a negative number: - - mock.Protected() - .Setup("GetUser", ItExpr.Is<int>(i => i < 0)) - .Throws(new ArgumentException()); - - - - - - Matches any value that is in the range specified. - - Type of the argument to check. - The lower bound of the range. - The upper bound of the range. - The kind of range. See . - - The following example shows how to expect a method call - with an integer argument within the 0..100 range. - - mock.Protected() - .Setup("HasInventory", - ItExpr.IsAny<string>(), - ItExpr.IsInRange(0, 100, Range.Inclusive)) - .Returns(false); - - - - - - Matches a string argument if it matches the given regular expression pattern. - - The pattern to use to match the string argument value. - - The following example shows how to expect a call to a method where the - string argument matches the given regular expression: - - mock.Protected() - .Setup("Check", ItExpr.IsRegex("[a-z]+")) - .Returns(1); - - - - - - Matches a string argument if it matches the given regular expression pattern. - - The pattern to use to match the string argument value. - The options used to interpret the pattern. - - The following example shows how to expect a call to a method where the - string argument matches the given regular expression, in a case insensitive way: - - mock.Protected() - .Setup("Check", ItExpr.IsRegex("[a-z]+", RegexOptions.IgnoreCase)) - .Returns(1); - - - - - - Enables the Protected() method on , - allowing setups to be set for protected members by using their - name as a string, rather than strong-typing them which is not possible - due to their visibility. - - - - - Enable protected setups for the mock. - - Mocked object type. Typically omitted as it can be inferred from the mock instance. - The mock to set the protected setups on. - - - - - - - - - - - - A strongly-typed resource class, for looking up localized strings, etc. - - - - - Returns the cached ResourceManager instance used by this class. - - - - - Overrides the current thread's CurrentUICulture property for all - resource lookups using this strongly typed resource class. - - - - - Looks up a localized string similar to Mock type has already been initialized by accessing its Object property. Adding interfaces must be done before that.. - - - - - Looks up a localized string similar to Value cannot be an empty string.. - - - - - Looks up a localized string similar to Can only add interfaces to the mock.. - - - - - Looks up a localized string similar to Can't set return value for void method {0}.. - - - - - Looks up a localized string similar to Constructor arguments cannot be passed for interface mocks.. - - - - - Looks up a localized string similar to A matching constructor for the given arguments was not found on the mocked type.. - - - - - Looks up a localized string similar to Could not locate event for attach or detach method {0}.. - - - - - Looks up a localized string similar to Expression {0} involves a field access, which is not supported. Use properties instead.. - - - - - Looks up a localized string similar to Type to mock must be an interface or an abstract or non-sealed class. . - - - - - Looks up a localized string similar to Cannot retrieve a mock with the given object type {0} as it's not the main type of the mock or any of its additional interfaces. - Please cast the argument to one of the supported types: {1}. - Remember that there's no generics covariance in the CLR, so your object must be one of these types in order for the call to succeed.. - - - - - Looks up a localized string similar to The equals ("==" or "=" in VB) and the conditional 'and' ("&&" or "AndAlso" in VB) operators are the only ones supported in the query specification expression. Unsupported expression: {0}. - - - - - Looks up a localized string similar to LINQ method '{0}' not supported.. - - - - - Looks up a localized string similar to Expression contains a call to a method which is not virtual (overridable in VB) or abstract. Unsupported expression: {0}. - - - - - Looks up a localized string similar to Member {0}.{1} does not exist.. - - - - - Looks up a localized string similar to Method {0}.{1} is public. Use strong-typed Expect overload instead: - mock.Setup(x => x.{1}()); - . - - - - - Looks up a localized string similar to {0} invocation failed with mock behavior {1}. - {2}. - - - - - Looks up a localized string similar to Expected only {0} calls to {1}.. - - - - - Looks up a localized string similar to Expected only one call to {0}.. - - - - - Looks up a localized string similar to {0} - Expected invocation on the mock at least {2} times, but was {4} times: {1}. - - - - - Looks up a localized string similar to {0} - Expected invocation on the mock at least once, but was never performed: {1}. - - - - - Looks up a localized string similar to {0} - Expected invocation on the mock at most {3} times, but was {4} times: {1}. - - - - - Looks up a localized string similar to {0} - Expected invocation on the mock at most once, but was {4} times: {1}. - - - - - Looks up a localized string similar to {0} - Expected invocation on the mock between {2} and {3} times (Exclusive), but was {4} times: {1}. - - - - - Looks up a localized string similar to {0} - Expected invocation on the mock between {2} and {3} times (Inclusive), but was {4} times: {1}. - - - - - Looks up a localized string similar to {0} - Expected invocation on the mock exactly {2} times, but was {4} times: {1}. - - - - - Looks up a localized string similar to {0} - Expected invocation on the mock should never have been performed, but was {4} times: {1}. - - - - - Looks up a localized string similar to {0} - Expected invocation on the mock once, but was {4} times: {1}. - - - - - Looks up a localized string similar to All invocations on the mock must have a corresponding setup.. - - - - - Looks up a localized string similar to Object instance was not created by Moq.. - - - - - Looks up a localized string similar to Out expression must evaluate to a constant value.. - - - - - Looks up a localized string similar to Property {0}.{1} does not have a getter.. - - - - - Looks up a localized string similar to Property {0}.{1} does not exist.. - - - - - Looks up a localized string similar to Property {0}.{1} is write-only.. - - - - - Looks up a localized string similar to Property {0}.{1} is read-only.. - - - - - Looks up a localized string similar to Property {0}.{1} does not have a setter.. - - - - - Looks up a localized string similar to Cannot raise a mocked event unless it has been associated (attached) to a concrete event in a mocked object.. - - - - - Looks up a localized string similar to Ref expression must evaluate to a constant value.. - - - - - Looks up a localized string similar to Invocation needs to return a value and therefore must have a corresponding setup that provides it.. - - - - - Looks up a localized string similar to A lambda expression is expected as the argument to It.Is<T>.. - - - - - Looks up a localized string similar to Invocation {0} should not have been made.. - - - - - Looks up a localized string similar to Expression is not a method invocation: {0}. - - - - - Looks up a localized string similar to Expression is not a property access: {0}. - - - - - Looks up a localized string similar to Expression is not a property setter invocation.. - - - - - Looks up a localized string similar to Expression references a method that does not belong to the mocked object: {0}. - - - - - Looks up a localized string similar to Invalid setup on a non-virtual (overridable in VB) member: {0}. - - - - - Looks up a localized string similar to Type {0} does not implement required interface {1}. - - - - - Looks up a localized string similar to Type {0} does not from required type {1}. - - - - - Looks up a localized string similar to To specify a setup for public property {0}.{1}, use the typed overloads, such as: - mock.Setup(x => x.{1}).Returns(value); - mock.SetupGet(x => x.{1}).Returns(value); //equivalent to previous one - mock.SetupSet(x => x.{1}).Callback(callbackDelegate); - . - - - - - Looks up a localized string similar to Unsupported expression: {0}. - - - - - Looks up a localized string similar to Only property accesses are supported in intermediate invocations on a setup. Unsupported expression {0}.. - - - - - Looks up a localized string similar to Expression contains intermediate property access {0}.{1} which is of type {2} and cannot be mocked. Unsupported expression {3}.. - - - - - Looks up a localized string similar to Setter expression cannot use argument matchers that receive parameters.. - - - - - Looks up a localized string similar to Member {0} is not supported for protected mocking.. - - - - - Looks up a localized string similar to Setter expression can only use static custom matchers.. - - - - - Looks up a localized string similar to The following setups were not matched: - {0}. - - - - - Looks up a localized string similar to Invalid verify on a non-virtual (overridable in VB) member: {0}. - - - - - Kind of range to use in a filter specified through - . - - - - - The range includes the to and - from values. - - - - - The range does not include the to and - from values. - - - - - Helper for sequencing return values in the same method. - - - - - Return a sequence of values, once per call. - - - - - Defines the number of invocations allowed by a mocked method. - - - - - Specifies that a mocked method should be invoked times as minimum. - The minimun number of times.An object defining the allowed number of invocations. - - - - Specifies that a mocked method should be invoked one time as minimum. - An object defining the allowed number of invocations. - - - - Specifies that a mocked method should be invoked time as maximun. - The maximun number of times.An object defining the allowed number of invocations. - - - - Specifies that a mocked method should be invoked one time as maximun. - An object defining the allowed number of invocations. - - - - Specifies that a mocked method should be invoked between and - times. - The minimun number of times.The maximun number of times. - The kind of range. See . - An object defining the allowed number of invocations. - - - - Specifies that a mocked method should be invoked exactly times. - The times that a method or property can be called.An object defining the allowed number of invocations. - - - - Specifies that a mocked method should not be invoked. - An object defining the allowed number of invocations. - - - - Specifies that a mocked method should be invoked exactly one time. - An object defining the allowed number of invocations. - - - - 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. - - - - - Determines whether two specified objects have the same value. - - The first . - - The second . - - true if the value of left is the same as the value of right; otherwise, false. - - - - - Determines whether two specified objects have different values. - - The first . - - The second . - - true if the value of left is different from the value of right; otherwise, false. - - - - diff --git a/src/packages/Moq.4.16.1/.signature.p7s b/src/packages/Moq.4.16.1/.signature.p7s new file mode 100644 index 0000000000000000000000000000000000000000..10c7b9295a757291c6a05e2c2bb65f600c4d7a88 GIT binary patch literal 9469 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 z zmNd;5oJ3pfyBFmdjXTr4E%lA%>v~_1j%FKHWM{p-im2phN_BKLNz?3?wXuEmh(DaT zjWqdF{T$BS;j`^bK+3Fji&V74r3q8LhbY@s*E51Vs83@ex%EXQuZM4SP28t#Pr5L9uT)TUjORA0SC&LO! zC6zfTiv5;Gjw2h`4d%a?Du!4DahG}QO=Xv%SUTfvilBzZv(vp8y$qva^};Dv#pamT zLN@dKP1iWZiB34@){jv2x{B+ch>C5wJbV(woAF+RZ?^IGlN`|3_jWbW90r|<3N=pA zM%I-Iq4;<2bUvNRq;F9FR-JtfqW8Q=+4wAnz)|G-c_=EGEk^5Cl5~)C!Jlz-$U?8)dK4sq5l@>jF~`{gX;sj zKiG3Lss`xUp~99Zw^Vj5F_h`iY3pdvsNikf62e58Gbl3;WxqeSVPB7P&{PatMJR~W z0Du6ft+qj=%C687{LrPNoF6_F*u2&kx@J3qeQ^ZbUo8+%`P(?v`3|R-gdkUQ<6ERi zqOu;F(bpn$SfXUs;q*^=``vN!>e0yd^F@9L|3ydX3un~V&Ck7RtWS!JFkU9@4qQ}O@Ov6;G=k;mE^y_a zmbG5Mx4do-7<5n#VX@wHsipbs+p9LS_6m#zUp1NMiO{>6&-1jrq-X1y$cGB`w8woG90_&5r7M?8 zof?g2f7?4o^CWp*+7rpsXy)>2WZqKv{BX@{mOEi3*}@cIrM`y(>T)bbwL63x{G?lC z5f{=t+;<<_I*8rN;H$4pfZ7J0h?yT?KnxdV94Gcw%Jt#qnC{N% z?`9xOkBpqe2a8WcydXMQ(o{rY=NtOz_2DB^w;S@<<3*=-aAup6 zOJ}|Mo8uSvZ#3>lY-acztaI(S#h=qRX++$6y7>WKue5hxeML|SzSqa(Yzhv410k;J LN*^2PL{$6_Lk=~> literal 0 HcmV?d00001 diff --git a/src/packages/Moq.4.16.1/Moq.4.16.1.nupkg b/src/packages/Moq.4.16.1/Moq.4.16.1.nupkg new file mode 100644 index 0000000000000000000000000000000000000000..6c155abd99bda823bf23d15d439f9d44fee7e7d1 GIT binary patch literal 565511 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

;{%5^n!3(2@b; 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�F+3V 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 p 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 Am;e9( literal 0 HcmV?d00001 diff --git a/src/packages/Moq.4.0.10827/lib/NET35/Moq.xml b/src/packages/Moq.4.16.1/lib/net45/Moq.xml similarity index 50% rename from src/packages/Moq.4.0.10827/lib/NET35/Moq.xml rename to src/packages/Moq.4.16.1/lib/net45/Moq.xml index 4320775..4370de0 100644 --- a/src/packages/Moq.4.0.10827/lib/NET35/Moq.xml +++ b/src/packages/Moq.4.16.1/lib/net45/Moq.xml @@ -1,5768 +1,7815 @@ - - - - Moq - - - -

- Implements the fluent API. - - - - - The expectation will be considered only in the former condition. - - - - - - - The expectation will be considered only in the former condition. - - - - - - - - Setups the get. - - The type of the property. - The expression. - - - - - Setups the set. - - The type of the property. - The setter expression. - - - - - Setups the set. - - The setter expression. - - - - - Defines the Callback verb and overloads. - - - - - Helper interface used to hide the base - members from the fluent API to make it much cleaner - in Visual Studio intellisense. - - - - - - - - - - - - - - - - - Specifies a callback to invoke when the method is called. - - The callback method to invoke. - - The following example specifies a callback to set a boolean - value that can be used later: - - var called = false; - mock.Setup(x => x.Execute()) - .Callback(() => called = true); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The argument type of the invoked method. - The callback method to invoke. - - Invokes the given callback with the concrete invocation argument value. - - Notice how the specific string argument is retrieved by simply declaring - it as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute(It.IsAny<string>())) - .Callback((string command) => Console.WriteLine(command)); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((string arg1, string arg2) => Console.WriteLine(arg1 + arg2)); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((string arg1, string arg2, string arg3) => Console.WriteLine(arg1 + arg2 + arg3)); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((string arg1, string arg2, string arg3, string arg4) => Console.WriteLine(arg1 + arg2 + arg3 + arg4)); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((string arg1, string arg2, string arg3, string arg4, string arg5) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5)); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6)); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7)); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8)); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the nineth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9)); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the nineth argument of the invoked method. - The type of the tenth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10)); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the nineth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11)); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the nineth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The type of the twelfth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12)); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the nineth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The type of the twelfth argument of the invoked method. - The type of the thirteenth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12, string arg13) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13)); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the nineth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The type of the twelfth argument of the invoked method. - The type of the thirteenth argument of the invoked method. - The type of the fourteenth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12, string arg13, string arg14) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13 + arg14)); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the nineth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The type of the twelfth argument of the invoked method. - The type of the thirteenth argument of the invoked method. - The type of the fourteenth argument of the invoked method. - The type of the fifteenth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12, string arg13, string arg14, string arg15) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13 + arg14 + arg15)); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the nineth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The type of the twelfth argument of the invoked method. - The type of the thirteenth argument of the invoked method. - The type of the fourteenth argument of the invoked method. - The type of the fifteenth argument of the invoked method. - The type of the sixteenth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12, string arg13, string arg14, string arg15, string arg16) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13 + arg14 + arg15 + arg16)); - - - - - - Defines the Callback verb and overloads for callbacks on - setups that return a value. - - Mocked type. - Type of the return value of the setup. - - - - Specifies a callback to invoke when the method is called. - - The callback method to invoke. - - The following example specifies a callback to set a boolean value that can be used later: - - var called = false; - mock.Setup(x => x.Execute()) - .Callback(() => called = true) - .Returns(true); - - Note that in the case of value-returning methods, after the Callback - call you can still specify the return value. - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the argument of the invoked method. - Callback method to invoke. - - Invokes the given callback with the concrete invocation argument value. - - Notice how the specific string argument is retrieved by simply declaring - it as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute(It.IsAny<string>())) - .Callback(command => Console.WriteLine(command)) - .Returns(true); - - - - - - Specifies a callback to invoke when the method is called that receives the original - arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((arg1, arg2) => Console.WriteLine(arg1 + arg2)); - - - - - - Specifies a callback to invoke when the method is called that receives the original - arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((arg1, arg2, arg3) => Console.WriteLine(arg1 + arg2 + arg3)); - - - - - - Specifies a callback to invoke when the method is called that receives the original - arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((arg1, arg2, arg3, arg4) => Console.WriteLine(arg1 + arg2 + arg3 + arg4)); - - - - - - Specifies a callback to invoke when the method is called that receives the original - arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((arg1, arg2, arg3, arg4, arg5) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5)); - - - - - - Specifies a callback to invoke when the method is called that receives the original - arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((arg1, arg2, arg3, arg4, arg5, arg6) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6)); - - - - - - Specifies a callback to invoke when the method is called that receives the original - arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7)); - - - - - - Specifies a callback to invoke when the method is called that receives the original - arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8)); - - - - - - Specifies a callback to invoke when the method is called that receives the original - arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the nineth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9)); - - - - - - Specifies a callback to invoke when the method is called that receives the original - arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the nineth argument of the invoked method. - The type of the tenth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10)); - - - - - - Specifies a callback to invoke when the method is called that receives the original - arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the nineth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11)); - - - - - - Specifies a callback to invoke when the method is called that receives the original - arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the nineth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The type of the twelfth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12)); - - - - - - Specifies a callback to invoke when the method is called that receives the original - arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the nineth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The type of the twelfth argument of the invoked method. - The type of the thirteenth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13)); - - - - - - Specifies a callback to invoke when the method is called that receives the original - arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the nineth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The type of the twelfth argument of the invoked method. - The type of the thirteenth argument of the invoked method. - The type of the fourteenth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13 + arg14)); - - - - - - Specifies a callback to invoke when the method is called that receives the original - arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the nineth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The type of the twelfth argument of the invoked method. - The type of the thirteenth argument of the invoked method. - The type of the fourteenth argument of the invoked method. - The type of the fifteenth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13 + arg14 + arg15)); - - - - - - Specifies a callback to invoke when the method is called that receives the original - arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the nineth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The type of the twelfth argument of the invoked method. - The type of the thirteenth argument of the invoked method. - The type of the fourteenth argument of the invoked method. - The type of the fifteenth argument of the invoked method. - The type of the sixteenth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13 + arg14 + arg15 + arg16)); - - - - - - Defines the Raises verb. - - - - - Specifies the event that will be raised - when the setup is met. - - An expression that represents an event attach or detach action. - The event arguments to pass for the raised event. - - The following example shows how to raise an event when - the setup is met: - - var mock = new Mock<IContainer>(); - - mock.Setup(add => add.Add(It.IsAny<string>(), It.IsAny<object>())) - .Raises(add => add.Added += null, EventArgs.Empty); - - - - - - Specifies the event that will be raised - when the setup is matched. - - An expression that represents an event attach or detach action. - A function that will build the - to pass when raising the event. - - - - - Specifies the custom event that will be raised - when the setup is matched. - - An expression that represents an event attach or detach action. - The arguments to pass to the custom delegate (non EventHandler-compatible). - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - The type of the second argument received by the expected invocation. - - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - The type of the second argument received by the expected invocation. - The type of the third argument received by the expected invocation. - - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - The type of the second argument received by the expected invocation. - The type of the third argument received by the expected invocation. - The type of the fourth argument received by the expected invocation. - - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - The type of the second argument received by the expected invocation. - The type of the third argument received by the expected invocation. - The type of the fourth argument received by the expected invocation. - The type of the fifth argument received by the expected invocation. - - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - The type of the second argument received by the expected invocation. - The type of the third argument received by the expected invocation. - The type of the fourth argument received by the expected invocation. - The type of the fifth argument received by the expected invocation. - The type of the sixth argument received by the expected invocation. - - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - The type of the second argument received by the expected invocation. - The type of the third argument received by the expected invocation. - The type of the fourth argument received by the expected invocation. - The type of the fifth argument received by the expected invocation. - The type of the sixth argument received by the expected invocation. - The type of the seventh argument received by the expected invocation. - - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - The type of the second argument received by the expected invocation. - The type of the third argument received by the expected invocation. - The type of the fourth argument received by the expected invocation. - The type of the fifth argument received by the expected invocation. - The type of the sixth argument received by the expected invocation. - The type of the seventh argument received by the expected invocation. - The type of the eighth argument received by the expected invocation. - - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - The type of the second argument received by the expected invocation. - The type of the third argument received by the expected invocation. - The type of the fourth argument received by the expected invocation. - The type of the fifth argument received by the expected invocation. - The type of the sixth argument received by the expected invocation. - The type of the seventh argument received by the expected invocation. - The type of the eighth argument received by the expected invocation. - The type of the nineth argument received by the expected invocation. - - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - The type of the second argument received by the expected invocation. - The type of the third argument received by the expected invocation. - The type of the fourth argument received by the expected invocation. - The type of the fifth argument received by the expected invocation. - The type of the sixth argument received by the expected invocation. - The type of the seventh argument received by the expected invocation. - The type of the eighth argument received by the expected invocation. - The type of the nineth argument received by the expected invocation. - The type of the tenth argument received by the expected invocation. - - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - The type of the second argument received by the expected invocation. - The type of the third argument received by the expected invocation. - The type of the fourth argument received by the expected invocation. - The type of the fifth argument received by the expected invocation. - The type of the sixth argument received by the expected invocation. - The type of the seventh argument received by the expected invocation. - The type of the eighth argument received by the expected invocation. - The type of the nineth argument received by the expected invocation. - The type of the tenth argument received by the expected invocation. - The type of the eleventh argument received by the expected invocation. - - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - The type of the second argument received by the expected invocation. - The type of the third argument received by the expected invocation. - The type of the fourth argument received by the expected invocation. - The type of the fifth argument received by the expected invocation. - The type of the sixth argument received by the expected invocation. - The type of the seventh argument received by the expected invocation. - The type of the eighth argument received by the expected invocation. - The type of the nineth argument received by the expected invocation. - The type of the tenth argument received by the expected invocation. - The type of the eleventh argument received by the expected invocation. - The type of the twelfth argument received by the expected invocation. - - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - The type of the second argument received by the expected invocation. - The type of the third argument received by the expected invocation. - The type of the fourth argument received by the expected invocation. - The type of the fifth argument received by the expected invocation. - The type of the sixth argument received by the expected invocation. - The type of the seventh argument received by the expected invocation. - The type of the eighth argument received by the expected invocation. - The type of the nineth argument received by the expected invocation. - The type of the tenth argument received by the expected invocation. - The type of the eleventh argument received by the expected invocation. - The type of the twelfth argument received by the expected invocation. - The type of the thirteenth argument received by the expected invocation. - - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - The type of the second argument received by the expected invocation. - The type of the third argument received by the expected invocation. - The type of the fourth argument received by the expected invocation. - The type of the fifth argument received by the expected invocation. - The type of the sixth argument received by the expected invocation. - The type of the seventh argument received by the expected invocation. - The type of the eighth argument received by the expected invocation. - The type of the nineth argument received by the expected invocation. - The type of the tenth argument received by the expected invocation. - The type of the eleventh argument received by the expected invocation. - The type of the twelfth argument received by the expected invocation. - The type of the thirteenth argument received by the expected invocation. - The type of the fourteenth argument received by the expected invocation. - - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - The type of the second argument received by the expected invocation. - The type of the third argument received by the expected invocation. - The type of the fourth argument received by the expected invocation. - The type of the fifth argument received by the expected invocation. - The type of the sixth argument received by the expected invocation. - The type of the seventh argument received by the expected invocation. - The type of the eighth argument received by the expected invocation. - The type of the nineth argument received by the expected invocation. - The type of the tenth argument received by the expected invocation. - The type of the eleventh argument received by the expected invocation. - The type of the twelfth argument received by the expected invocation. - The type of the thirteenth argument received by the expected invocation. - The type of the fourteenth argument received by the expected invocation. - The type of the fifteenth argument received by the expected invocation. - - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - The type of the second argument received by the expected invocation. - The type of the third argument received by the expected invocation. - The type of the fourth argument received by the expected invocation. - The type of the fifth argument received by the expected invocation. - The type of the sixth argument received by the expected invocation. - The type of the seventh argument received by the expected invocation. - The type of the eighth argument received by the expected invocation. - The type of the nineth argument received by the expected invocation. - The type of the tenth argument received by the expected invocation. - The type of the eleventh argument received by the expected invocation. - The type of the twelfth argument received by the expected invocation. - The type of the thirteenth argument received by the expected invocation. - The type of the fourteenth argument received by the expected invocation. - The type of the fifteenth argument received by the expected invocation. - The type of the sixteenth argument received by the expected invocation. - - - - - Defines the Returns verb. - - Mocked type. - Type of the return value from the expression. - - - - Specifies the value to return. - - The value to return, or . - - Return a true value from the method call: - - mock.Setup(x => x.Execute("ping")) - .Returns(true); - - - - - - Specifies a function that will calculate the value to return from the method. - - The function that will calculate the return value. - - Return a calculated value when the method is called: - - mock.Setup(x => x.Execute("ping")) - .Returns(() => returnValues[0]); - - The lambda expression to retrieve the return value is lazy-executed, - meaning that its value may change depending on the moment the method - is executed and the value the returnValues array has at - that moment. - - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the argument of the invoked method. - The function that will calculate the return value. - - Return a calculated value which is evaluated lazily at the time of the invocation. - - The lookup list can change between invocations and the setup - will return different values accordingly. Also, notice how the specific - string argument is retrieved by simply declaring it as part of the lambda - expression: - - - mock.Setup(x => x.Execute(It.IsAny<string>())) - .Returns((string command) => returnValues[command]); - - - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The function that will calculate the return value. - Returns a calculated value which is evaluated lazily at the time of the invocation. - - - The return value is calculated from the value of the actual method invocation arguments. - Notice how the arguments are retrieved by simply declaring them as part of the lambda - expression: - - - mock.Setup(x => x.Execute( - It.IsAny<int>(), - It.IsAny<int>())) - .Returns((string arg1, string arg2) => arg1 + arg2); - - - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The function that will calculate the return value. - Returns a calculated value which is evaluated lazily at the time of the invocation. - - - The return value is calculated from the value of the actual method invocation arguments. - Notice how the arguments are retrieved by simply declaring them as part of the lambda - expression: - - - mock.Setup(x => x.Execute( - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>())) - .Returns((string arg1, string arg2, string arg3) => arg1 + arg2 + arg3); - - - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The function that will calculate the return value. - Returns a calculated value which is evaluated lazily at the time of the invocation. - - - The return value is calculated from the value of the actual method invocation arguments. - Notice how the arguments are retrieved by simply declaring them as part of the lambda - expression: - - - mock.Setup(x => x.Execute( - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>())) - .Returns((string arg1, string arg2, string arg3, string arg4) => arg1 + arg2 + arg3 + arg4); - - - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The function that will calculate the return value. - Returns a calculated value which is evaluated lazily at the time of the invocation. - - - The return value is calculated from the value of the actual method invocation arguments. - Notice how the arguments are retrieved by simply declaring them as part of the lambda - expression: - - - mock.Setup(x => x.Execute( - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>())) - .Returns((string arg1, string arg2, string arg3, string arg4, string arg5) => arg1 + arg2 + arg3 + arg4 + arg5); - - - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The function that will calculate the return value. - Returns a calculated value which is evaluated lazily at the time of the invocation. - - - The return value is calculated from the value of the actual method invocation arguments. - Notice how the arguments are retrieved by simply declaring them as part of the lambda - expression: - - - mock.Setup(x => x.Execute( - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>())) - .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6); - - - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The function that will calculate the return value. - Returns a calculated value which is evaluated lazily at the time of the invocation. - - - The return value is calculated from the value of the actual method invocation arguments. - Notice how the arguments are retrieved by simply declaring them as part of the lambda - expression: - - - mock.Setup(x => x.Execute( - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>())) - .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7); - - - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The function that will calculate the return value. - Returns a calculated value which is evaluated lazily at the time of the invocation. - - - The return value is calculated from the value of the actual method invocation arguments. - Notice how the arguments are retrieved by simply declaring them as part of the lambda - expression: - - - mock.Setup(x => x.Execute( - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>())) - .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8); - - - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the nineth argument of the invoked method. - The function that will calculate the return value. - Returns a calculated value which is evaluated lazily at the time of the invocation. - - - The return value is calculated from the value of the actual method invocation arguments. - Notice how the arguments are retrieved by simply declaring them as part of the lambda - expression: - - - mock.Setup(x => x.Execute( - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>())) - .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9); - - - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the nineth argument of the invoked method. - The type of the tenth argument of the invoked method. - The function that will calculate the return value. - Returns a calculated value which is evaluated lazily at the time of the invocation. - - - The return value is calculated from the value of the actual method invocation arguments. - Notice how the arguments are retrieved by simply declaring them as part of the lambda - expression: - - - mock.Setup(x => x.Execute( - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>())) - .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10); - - - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the nineth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The function that will calculate the return value. - Returns a calculated value which is evaluated lazily at the time of the invocation. - - - The return value is calculated from the value of the actual method invocation arguments. - Notice how the arguments are retrieved by simply declaring them as part of the lambda - expression: - - - mock.Setup(x => x.Execute( - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>())) - .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11); - - - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the nineth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The type of the twelfth argument of the invoked method. - The function that will calculate the return value. - Returns a calculated value which is evaluated lazily at the time of the invocation. - - - The return value is calculated from the value of the actual method invocation arguments. - Notice how the arguments are retrieved by simply declaring them as part of the lambda - expression: - - - mock.Setup(x => x.Execute( - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>())) - .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12); - - - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the nineth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The type of the twelfth argument of the invoked method. - The type of the thirteenth argument of the invoked method. - The function that will calculate the return value. - Returns a calculated value which is evaluated lazily at the time of the invocation. - - - The return value is calculated from the value of the actual method invocation arguments. - Notice how the arguments are retrieved by simply declaring them as part of the lambda - expression: - - - mock.Setup(x => x.Execute( - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>())) - .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12, string arg13) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13); - - - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the nineth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The type of the twelfth argument of the invoked method. - The type of the thirteenth argument of the invoked method. - The type of the fourteenth argument of the invoked method. - The function that will calculate the return value. - Returns a calculated value which is evaluated lazily at the time of the invocation. - - - The return value is calculated from the value of the actual method invocation arguments. - Notice how the arguments are retrieved by simply declaring them as part of the lambda - expression: - - - mock.Setup(x => x.Execute( - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>())) - .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12, string arg13, string arg14) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13 + arg14); - - - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the nineth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The type of the twelfth argument of the invoked method. - The type of the thirteenth argument of the invoked method. - The type of the fourteenth argument of the invoked method. - The type of the fifteenth argument of the invoked method. - The function that will calculate the return value. - Returns a calculated value which is evaluated lazily at the time of the invocation. - - - The return value is calculated from the value of the actual method invocation arguments. - Notice how the arguments are retrieved by simply declaring them as part of the lambda - expression: - - - mock.Setup(x => x.Execute( - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>())) - .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12, string arg13, string arg14, string arg15) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13 + arg14 + arg15); - - - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the nineth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The type of the twelfth argument of the invoked method. - The type of the thirteenth argument of the invoked method. - The type of the fourteenth argument of the invoked method. - The type of the fifteenth argument of the invoked method. - The type of the sixteenth argument of the invoked method. - The function that will calculate the return value. - Returns a calculated value which is evaluated lazily at the time of the invocation. - - - The return value is calculated from the value of the actual method invocation arguments. - Notice how the arguments are retrieved by simply declaring them as part of the lambda - expression: - - - mock.Setup(x => x.Execute( - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>())) - .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12, string arg13, string arg14, string arg15, string arg16) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13 + arg14 + arg15 + arg16); - - - - - - Language for ReturnSequence - - - - - Returns value - - - - - Throws an exception - - - - - Throws an exception - - - - - The first method call or member access will be the - last segment of the expression (depth-first traversal), - which is the one we have to Setup rather than FluentMock. - And the last one is the one we have to Mock.Get rather - than FluentMock. - - - - - Base class for mocks and static helper class with methods that - apply to mocked objects, such as to - retrieve a from an object instance. - - - - - Creates an mock object of the indicated type. - - The type of the mocked object. - The mocked object created. - - - - Creates an mock object of the indicated type. - - The predicate with the specification of how the mocked object should behave. - The type of the mocked object. - The mocked object created. - - - - Initializes a new instance of the class. - - - - - Retrieves the mock object for the given object instance. - - Type of the mock to retrieve. Can be omitted as it's inferred - from the object instance passed in as the instance. - The instance of the mocked object.The mock associated with the mocked object. - The received instance - was not created by Moq. - - The following example shows how to add a new setup to an object - instance which is not the original but rather - the object associated with it: - - // Typed instance, not the mock, is retrieved from some test API. - HttpContextBase context = GetMockContext(); - - // context.Request is the typed object from the "real" API - // so in order to add a setup to it, we need to get - // the mock that "owns" it - Mock<HttpRequestBase> request = Mock.Get(context.Request); - mock.Setup(req => req.AppRelativeCurrentExecutionFilePath) - .Returns(tempUrl); - - - - - - Returns the mocked object value. - - - - - Verifies that all verifiable expectations have been met. - - This example sets up an expectation and marks it as verifiable. After - the mock is used, a Verify() call is issued on the mock - to ensure the method in the setup was invoked: - - var mock = new Mock<IWarehouse>(); - this.Setup(x => x.HasInventory(TALISKER, 50)).Verifiable().Returns(true); - ... - // other test code - ... - // Will throw if the test code has didn't call HasInventory. - this.Verify(); - - Not all verifiable expectations were met. - - - - Verifies all expectations regardless of whether they have - been flagged as verifiable. - - This example sets up an expectation without marking it as verifiable. After - the mock is used, a call is issued on the mock - to ensure that all expectations are met: - - var mock = new Mock<IWarehouse>(); - this.Setup(x => x.HasInventory(TALISKER, 50)).Returns(true); - ... - // other test code - ... - // Will throw if the test code has didn't call HasInventory, even - // that expectation was not marked as verifiable. - this.VerifyAll(); - - At least one expectation was not met. - - - - Gets the interceptor target for the given expression and root mock, - building the intermediate hierarchy of mock objects if necessary. - - - - - Raises the associated event with the given - event argument data. - - - - - Raises the associated event with the given - event argument data. - - - - - Adds an interface implementation to the mock, - allowing setups to be specified for it. - - This method can only be called before the first use - of the mock property, at which - point the runtime type has already been generated - and no more interfaces can be added to it. - - Also, must be an - interface and not a class, which must be specified - when creating the mock instead. - - - The mock type - has already been generated by accessing the property. - - The specified - is not an interface. - - The following example creates a mock for the main interface - and later adds to it to verify - it's called by the consumer code: - - var mock = new Mock<IProcessor>(); - mock.Setup(x => x.Execute("ping")); - - // add IDisposable interface - var disposable = mock.As<IDisposable>(); - disposable.Setup(d => d.Dispose()).Verifiable(); - - Type of interface to cast the mock to. - - - - - - - Behavior of the mock, according to the value set in the constructor. - - - - - Whether the base member virtual implementation will be called - for mocked classes if no setup is matched. Defaults to . - - - - - Specifies the behavior to use when returning default values for - unexpected invocations on loose mocks. - - - - - Gets the mocked object instance. - - - - - Retrieves the type of the mocked object, its generic type argument. - This is used in the auto-mocking of hierarchy access. - - - - - Specifies the class that will determine the default - value to return when invocations are made that - have no setups and need to return a default - value (for loose mocks). - - - - - Exposes the list of extra interfaces implemented by the mock. - - - - - Utility repository class to use to construct multiple - mocks when consistent verification is - desired for all of them. - - - If multiple mocks will be created during a test, passing - the desired (if different than the - or the one - passed to the repository constructor) and later verifying each - mock can become repetitive and tedious. - - This repository class helps in that scenario by providing a - simplified creation of multiple mocks with a default - (unless overriden by calling - ) and posterior verification. - - - - The following is a straightforward example on how to - create and automatically verify strict mocks using a : - - var repository = new MockRepository(MockBehavior.Strict); - - var foo = repository.Create<IFoo>(); - var bar = repository.Create<IBar>(); - - // no need to call Verifiable() on the setup - // as we'll be validating all of them anyway. - foo.Setup(f => f.Do()); - bar.Setup(b => b.Redo()); - - // exercise the mocks here - - repository.VerifyAll(); - // At this point all setups are already checked - // and an optional MockException might be thrown. - // Note also that because the mocks are strict, any invocation - // that doesn't have a matching setup will also throw a MockException. - - The following examples shows how to setup the repository - to create loose mocks and later verify only verifiable setups: - - var repository = new MockRepository(MockBehavior.Loose); - - var foo = repository.Create<IFoo>(); - var bar = repository.Create<IBar>(); - - // this setup will be verified when we verify the repository - foo.Setup(f => f.Do()).Verifiable(); - - // this setup will NOT be verified - foo.Setup(f => f.Calculate()); - - // this setup will be verified when we verify the repository - bar.Setup(b => b.Redo()).Verifiable(); - - // exercise the mocks here - // note that because the mocks are Loose, members - // called in the interfaces for which no matching - // setups exist will NOT throw exceptions, - // and will rather return default values. - - repository.Verify(); - // At this point verifiable setups are already checked - // and an optional MockException might be thrown. - - The following examples shows how to setup the repository with a - default strict behavior, overriding that default for a - specific mock: - - var repository = new MockRepository(MockBehavior.Strict); - - // this particular one we want loose - var foo = repository.Create<IFoo>(MockBehavior.Loose); - var bar = repository.Create<IBar>(); - - // specify setups - - // exercise the mocks here - - repository.Verify(); - - - - - - - Utility factory class to use to construct multiple - mocks when consistent verification is - desired for all of them. - - - If multiple mocks will be created during a test, passing - the desired (if different than the - or the one - passed to the factory constructor) and later verifying each - mock can become repetitive and tedious. - - This factory class helps in that scenario by providing a - simplified creation of multiple mocks with a default - (unless overriden by calling - ) and posterior verification. - - - - The following is a straightforward example on how to - create and automatically verify strict mocks using a : - - var factory = new MockFactory(MockBehavior.Strict); - - var foo = factory.Create<IFoo>(); - var bar = factory.Create<IBar>(); - - // no need to call Verifiable() on the setup - // as we'll be validating all of them anyway. - foo.Setup(f => f.Do()); - bar.Setup(b => b.Redo()); - - // exercise the mocks here - - factory.VerifyAll(); - // At this point all setups are already checked - // and an optional MockException might be thrown. - // Note also that because the mocks are strict, any invocation - // that doesn't have a matching setup will also throw a MockException. - - The following examples shows how to setup the factory - to create loose mocks and later verify only verifiable setups: - - var factory = new MockFactory(MockBehavior.Loose); - - var foo = factory.Create<IFoo>(); - var bar = factory.Create<IBar>(); - - // this setup will be verified when we verify the factory - foo.Setup(f => f.Do()).Verifiable(); - - // this setup will NOT be verified - foo.Setup(f => f.Calculate()); - - // this setup will be verified when we verify the factory - bar.Setup(b => b.Redo()).Verifiable(); - - // exercise the mocks here - // note that because the mocks are Loose, members - // called in the interfaces for which no matching - // setups exist will NOT throw exceptions, - // and will rather return default values. - - factory.Verify(); - // At this point verifiable setups are already checked - // and an optional MockException might be thrown. - - The following examples shows how to setup the factory with a - default strict behavior, overriding that default for a - specific mock: - - var factory = new MockFactory(MockBehavior.Strict); - - // this particular one we want loose - var foo = factory.Create<IFoo>(MockBehavior.Loose); - var bar = factory.Create<IBar>(); - - // specify setups - - // exercise the mocks here - - factory.Verify(); - - - - - - - Initializes the factory with the given - for newly created mocks from the factory. - - The behavior to use for mocks created - using the factory method if not overriden - by using the overload. - - - - Creates a new mock with the default - specified at factory construction time. - - Type to mock. - A new . - - - var factory = new MockFactory(MockBehavior.Strict); - - var foo = factory.Create<IFoo>(); - // use mock on tests - - factory.VerifyAll(); - - - - - - Creates a new mock with the default - specified at factory construction time and with the - the given constructor arguments for the class. - - - The mock will try to find the best match constructor given the - constructor arguments, and invoke that to initialize the instance. - This applies only to classes, not interfaces. - - Type to mock. - Constructor arguments for mocked classes. - A new . - - - var factory = new MockFactory(MockBehavior.Default); - - var mock = factory.Create<MyBase>("Foo", 25, true); - // use mock on tests - - factory.Verify(); - - - - - - Creates a new mock with the given . - - Type to mock. - Behavior to use for the mock, which overrides - the default behavior specified at factory construction time. - A new . - - The following example shows how to create a mock with a different - behavior to that specified as the default for the factory: - - var factory = new MockFactory(MockBehavior.Strict); - - var foo = factory.Create<IFoo>(MockBehavior.Loose); - - - - - - Creates a new mock with the given - and with the the given constructor arguments for the class. - - - The mock will try to find the best match constructor given the - constructor arguments, and invoke that to initialize the instance. - This applies only to classes, not interfaces. - - Type to mock. - Behavior to use for the mock, which overrides - the default behavior specified at factory construction time. - Constructor arguments for mocked classes. - A new . - - The following example shows how to create a mock with a different - behavior to that specified as the default for the factory, passing - constructor arguments: - - var factory = new MockFactory(MockBehavior.Default); - - var mock = factory.Create<MyBase>(MockBehavior.Strict, "Foo", 25, true); - - - - - - Implements creation of a new mock within the factory. - - Type to mock. - The behavior for the new mock. - Optional arguments for the construction of the mock. - - - - Verifies all verifiable expectations on all mocks created - by this factory. - - - One or more mocks had expectations that were not satisfied. - - - - Verifies all verifiable expectations on all mocks created - by this factory. - - - One or more mocks had expectations that were not satisfied. - - - - Invokes for each mock - in , and accumulates the resulting - that might be - thrown from the action. - - The action to execute against - each mock. - - - - Whether the base member virtual implementation will be called - for mocked classes if no setup is matched. Defaults to . - - - - - Specifies the behavior to use when returning default values for - unexpected invocations on loose mocks. - - - - - Gets the mocks that have been created by this factory and - that will get verified together. - - - - - Access the universe of mocks of the given type, to retrieve those - that behave according to the LINQ query specification. - - The type of the mocked object to query. - - - - Access the universe of mocks of the given type, to retrieve those - that behave according to the LINQ query specification. - - The predicate with the setup expressions. - The type of the mocked object to query. - - - - Creates an mock object of the indicated type. - - The type of the mocked object. - The mocked object created. - - - - Creates an mock object of the indicated type. - - The predicate with the setup expressions. - The type of the mocked object. - The mocked object created. - - - - Creates the mock query with the underlying queriable implementation. - - - - - Wraps the enumerator inside a queryable. - - - - - Method that is turned into the actual call from .Query{T}, to - transform the queryable query into a normal enumerable query. - This method is never used directly by consumers. - - - - - Initializes the repository with the given - for newly created mocks from the repository. - - The behavior to use for mocks created - using the repository method if not overriden - by using the overload. - - - - A that returns an empty default value - for invocations that do not have setups or return values, with loose mocks. - This is the default behavior for a mock. - - - - - Interface to be implemented by classes that determine the - default value of non-expected invocations. - - - - - Defines the default value to return in all the methods returning . - The type of the return value.The value to set as default. - - - - Provides a value for the given member and arguments. - - The member to provide a default value for. - - - - - The intention of is to create a more readable - string representation for the failure message. - - - - - Implements the fluent API. - - - - - Defines the Throws verb. - - - - - Specifies the exception to throw when the method is invoked. - - Exception instance to throw. - - This example shows how to throw an exception when the method is - invoked with an empty string argument: - - mock.Setup(x => x.Execute("")) - .Throws(new ArgumentException()); - - - - - - Specifies the type of exception to throw when the method is invoked. - - Type of exception to instantiate and throw when the setup is matched. - - This example shows how to throw an exception when the method is - invoked with an empty string argument: - - mock.Setup(x => x.Execute("")) - .Throws<ArgumentException>(); - - - - - - Implements the fluent API. - - - - - Defines occurrence members to constraint setups. - - - - - The expected invocation can happen at most once. - - - - var mock = new Mock<ICommand>(); - mock.Setup(foo => foo.Execute("ping")) - .AtMostOnce(); - - - - - - The expected invocation can happen at most specified number of times. - - The number of times to accept calls. - - - var mock = new Mock<ICommand>(); - mock.Setup(foo => foo.Execute("ping")) - .AtMost( 5 ); - - - - - - Defines the Verifiable verb. - - - - - Marks the expectation as verifiable, meaning that a call - to will check if this particular - expectation was met. - - - The following example marks the expectation as verifiable: - - mock.Expect(x => x.Execute("ping")) - .Returns(true) - .Verifiable(); - - - - - - Marks the expectation as verifiable, meaning that a call - to will check if this particular - expectation was met, and specifies a message for failures. - - - The following example marks the expectation as verifiable: - - mock.Expect(x => x.Execute("ping")) - .Returns(true) - .Verifiable("Ping should be executed always!"); - - - - - - Implements the fluent API. - - - - - We need this non-generics base class so that - we can use from - generic code. - - - - - Implements the fluent API. - - - - - Implements the fluent API. - - - - - Implements the fluent API. - - - - - Defines the Callback verb for property getter setups. - - - Mocked type. - Type of the property. - - - - Specifies a callback to invoke when the property is retrieved. - - Callback method to invoke. - - Invokes the given callback with the property value being set. - - mock.SetupGet(x => x.Suspended) - .Callback(() => called = true) - .Returns(true); - - - - - - Implements the fluent API. - - - - - Defines the Returns verb for property get setups. - - Mocked type. - Type of the property. - - - - Specifies the value to return. - - The value to return, or . - - Return a true value from the property getter call: - - mock.SetupGet(x => x.Suspended) - .Returns(true); - - - - - - Specifies a function that will calculate the value to return for the property. - - The function that will calculate the return value. - - Return a calculated value when the property is retrieved: - - mock.SetupGet(x => x.Suspended) - .Returns(() => returnValues[0]); - - The lambda expression to retrieve the return value is lazy-executed, - meaning that its value may change depending on the moment the property - is retrieved and the value the returnValues array has at - that moment. - - - - - Implements the fluent API. - - - - - Encapsulates a method that has five parameters and does not return a value. - - The type of the first parameter of the method that this delegate encapsulates. - The type of the second parameter of the method that this delegate encapsulates. - The type of the third parameter of the method that this delegate encapsulates. - The type of the fourth parameter of the method that this delegate encapsulates. - The type of the fifth parameter of the method that this delegate encapsulates. - The first parameter of the method that this delegate encapsulates. - The second parameter of the method that this delegate encapsulates. - The third parameter of the method that this delegate encapsulates. - The fourth parameter of the method that this delegate encapsulates. - The fifth parameter of the method that this delegate encapsulates. - - - - Encapsulates a method that has five parameters and returns a value of the type specified by the parameter. - - The type of the first parameter of the method that this delegate encapsulates. - The type of the second parameter of the method that this delegate encapsulates. - The type of the third parameter of the method that this delegate encapsulates. - The type of the fourth parameter of the method that this delegate encapsulates. - The type of the fifth parameter of the method that this delegate encapsulates. - The type of the return value of the method that this delegate encapsulates. - The first parameter of the method that this delegate encapsulates. - The second parameter of the method that this delegate encapsulates. - The third parameter of the method that this delegate encapsulates. - The fourth parameter of the method that this delegate encapsulates. - The fifth parameter of the method that this delegate encapsulates. - The return value of the method that this delegate encapsulates. - - - - Encapsulates a method that has six parameters and does not return a value. - - The type of the first parameter of the method that this delegate encapsulates. - The type of the second parameter of the method that this delegate encapsulates. - The type of the third parameter of the method that this delegate encapsulates. - The type of the fourth parameter of the method that this delegate encapsulates. - The type of the fifth parameter of the method that this delegate encapsulates. - The type of the sixth parameter of the method that this delegate encapsulates. - The first parameter of the method that this delegate encapsulates. - The second parameter of the method that this delegate encapsulates. - The third parameter of the method that this delegate encapsulates. - The fourth parameter of the method that this delegate encapsulates. - The fifth parameter of the method that this delegate encapsulates. - The sixth parameter of the method that this delegate encapsulates. - - - - Encapsulates a method that has six parameters and returns a value of the type specified by the parameter. - - The type of the first parameter of the method that this delegate encapsulates. - The type of the second parameter of the method that this delegate encapsulates. - The type of the third parameter of the method that this delegate encapsulates. - The type of the fourth parameter of the method that this delegate encapsulates. - The type of the fifth parameter of the method that this delegate encapsulates. - The type of the sixth parameter of the method that this delegate encapsulates. - The type of the return value of the method that this delegate encapsulates. - The first parameter of the method that this delegate encapsulates. - The second parameter of the method that this delegate encapsulates. - The third parameter of the method that this delegate encapsulates. - The fourth parameter of the method that this delegate encapsulates. - The fifth parameter of the method that this delegate encapsulates. - The sixth parameter of the method that this delegate encapsulates. - The return value of the method that this delegate encapsulates. - - - - Encapsulates a method that has seven parameters and does not return a value. - - The type of the first parameter of the method that this delegate encapsulates. - The type of the second parameter of the method that this delegate encapsulates. - The type of the third parameter of the method that this delegate encapsulates. - The type of the fourth parameter of the method that this delegate encapsulates. - The type of the fifth parameter of the method that this delegate encapsulates. - The type of the sixth parameter of the method that this delegate encapsulates. - The type of the seventh parameter of the method that this delegate encapsulates. - The first parameter of the method that this delegate encapsulates. - The second parameter of the method that this delegate encapsulates. - The third parameter of the method that this delegate encapsulates. - The fourth parameter of the method that this delegate encapsulates. - The fifth parameter of the method that this delegate encapsulates. - The sixth parameter of the method that this delegate encapsulates. - The seventh parameter of the method that this delegate encapsulates. - - - - Encapsulates a method that has seven parameters and returns a value of the type specified by the parameter. - - The type of the first parameter of the method that this delegate encapsulates. - The type of the second parameter of the method that this delegate encapsulates. - The type of the third parameter of the method that this delegate encapsulates. - The type of the fourth parameter of the method that this delegate encapsulates. - The type of the fifth parameter of the method that this delegate encapsulates. - The type of the sixth parameter of the method that this delegate encapsulates. - The type of the seventh parameter of the method that this delegate encapsulates. - The type of the return value of the method that this delegate encapsulates. - The first parameter of the method that this delegate encapsulates. - The second parameter of the method that this delegate encapsulates. - The third parameter of the method that this delegate encapsulates. - The fourth parameter of the method that this delegate encapsulates. - The fifth parameter of the method that this delegate encapsulates. - The sixth parameter of the method that this delegate encapsulates. - The seventh parameter of the method that this delegate encapsulates. - The return value of the method that this delegate encapsulates. - - - - Encapsulates a method that has eight parameters and does not return a value. - - The type of the first parameter of the method that this delegate encapsulates. - The type of the second parameter of the method that this delegate encapsulates. - The type of the third parameter of the method that this delegate encapsulates. - The type of the fourth parameter of the method that this delegate encapsulates. - The type of the fifth parameter of the method that this delegate encapsulates. - The type of the sixth parameter of the method that this delegate encapsulates. - The type of the seventh parameter of the method that this delegate encapsulates. - The type of the eighth parameter of the method that this delegate encapsulates. - The first parameter of the method that this delegate encapsulates. - The second parameter of the method that this delegate encapsulates. - The third parameter of the method that this delegate encapsulates. - The fourth parameter of the method that this delegate encapsulates. - The fifth parameter of the method that this delegate encapsulates. - The sixth parameter of the method that this delegate encapsulates. - The seventh parameter of the method that this delegate encapsulates. - The eighth parameter of the method that this delegate encapsulates. - - - - Encapsulates a method that has eight parameters and returns a value of the type specified by the parameter. - - The type of the first parameter of the method that this delegate encapsulates. - The type of the second parameter of the method that this delegate encapsulates. - The type of the third parameter of the method that this delegate encapsulates. - The type of the fourth parameter of the method that this delegate encapsulates. - The type of the fifth parameter of the method that this delegate encapsulates. - The type of the sixth parameter of the method that this delegate encapsulates. - The type of the seventh parameter of the method that this delegate encapsulates. - The type of the eighth parameter of the method that this delegate encapsulates. - The type of the return value of the method that this delegate encapsulates. - The first parameter of the method that this delegate encapsulates. - The second parameter of the method that this delegate encapsulates. - The third parameter of the method that this delegate encapsulates. - The fourth parameter of the method that this delegate encapsulates. - The fifth parameter of the method that this delegate encapsulates. - The sixth parameter of the method that this delegate encapsulates. - The seventh parameter of the method that this delegate encapsulates. - The eighth parameter of the method that this delegate encapsulates. - The return value of the method that this delegate encapsulates. - - - - Encapsulates a method that has nine parameters and does not return a value. - - The type of the first parameter of the method that this delegate encapsulates. - The type of the second parameter of the method that this delegate encapsulates. - The type of the third parameter of the method that this delegate encapsulates. - The type of the fourth parameter of the method that this delegate encapsulates. - The type of the fifth parameter of the method that this delegate encapsulates. - The type of the sixth parameter of the method that this delegate encapsulates. - The type of the seventh parameter of the method that this delegate encapsulates. - The type of the eighth parameter of the method that this delegate encapsulates. - The type of the nineth parameter of the method that this delegate encapsulates. - The first parameter of the method that this delegate encapsulates. - The second parameter of the method that this delegate encapsulates. - The third parameter of the method that this delegate encapsulates. - The fourth parameter of the method that this delegate encapsulates. - The fifth parameter of the method that this delegate encapsulates. - The sixth parameter of the method that this delegate encapsulates. - The seventh parameter of the method that this delegate encapsulates. - The eighth parameter of the method that this delegate encapsulates. - The nineth parameter of the method that this delegate encapsulates. - - - - Encapsulates a method that has nine parameters and returns a value of the type specified by the parameter. - - The type of the first parameter of the method that this delegate encapsulates. - The type of the second parameter of the method that this delegate encapsulates. - The type of the third parameter of the method that this delegate encapsulates. - The type of the fourth parameter of the method that this delegate encapsulates. - The type of the fifth parameter of the method that this delegate encapsulates. - The type of the sixth parameter of the method that this delegate encapsulates. - The type of the seventh parameter of the method that this delegate encapsulates. - The type of the eighth parameter of the method that this delegate encapsulates. - The type of the nineth parameter of the method that this delegate encapsulates. - The type of the return value of the method that this delegate encapsulates. - The first parameter of the method that this delegate encapsulates. - The second parameter of the method that this delegate encapsulates. - The third parameter of the method that this delegate encapsulates. - The fourth parameter of the method that this delegate encapsulates. - The fifth parameter of the method that this delegate encapsulates. - The sixth parameter of the method that this delegate encapsulates. - The seventh parameter of the method that this delegate encapsulates. - The eighth parameter of the method that this delegate encapsulates. - The nineth parameter of the method that this delegate encapsulates. - The return value of the method that this delegate encapsulates. - - - - Encapsulates a method that has ten parameters and does not return a value. - - The type of the first parameter of the method that this delegate encapsulates. - The type of the second parameter of the method that this delegate encapsulates. - The type of the third parameter of the method that this delegate encapsulates. - The type of the fourth parameter of the method that this delegate encapsulates. - The type of the fifth parameter of the method that this delegate encapsulates. - The type of the sixth parameter of the method that this delegate encapsulates. - The type of the seventh parameter of the method that this delegate encapsulates. - The type of the eighth parameter of the method that this delegate encapsulates. - The type of the nineth parameter of the method that this delegate encapsulates. - The type of the tenth parameter of the method that this delegate encapsulates. - The first parameter of the method that this delegate encapsulates. - The second parameter of the method that this delegate encapsulates. - The third parameter of the method that this delegate encapsulates. - The fourth parameter of the method that this delegate encapsulates. - The fifth parameter of the method that this delegate encapsulates. - The sixth parameter of the method that this delegate encapsulates. - The seventh parameter of the method that this delegate encapsulates. - The eighth parameter of the method that this delegate encapsulates. - The nineth parameter of the method that this delegate encapsulates. - The tenth parameter of the method that this delegate encapsulates. - - - - Encapsulates a method that has ten parameters and returns a value of the type specified by the parameter. - - The type of the first parameter of the method that this delegate encapsulates. - The type of the second parameter of the method that this delegate encapsulates. - The type of the third parameter of the method that this delegate encapsulates. - The type of the fourth parameter of the method that this delegate encapsulates. - The type of the fifth parameter of the method that this delegate encapsulates. - The type of the sixth parameter of the method that this delegate encapsulates. - The type of the seventh parameter of the method that this delegate encapsulates. - The type of the eighth parameter of the method that this delegate encapsulates. - The type of the nineth parameter of the method that this delegate encapsulates. - The type of the tenth parameter of the method that this delegate encapsulates. - The type of the return value of the method that this delegate encapsulates. - The first parameter of the method that this delegate encapsulates. - The second parameter of the method that this delegate encapsulates. - The third parameter of the method that this delegate encapsulates. - The fourth parameter of the method that this delegate encapsulates. - The fifth parameter of the method that this delegate encapsulates. - The sixth parameter of the method that this delegate encapsulates. - The seventh parameter of the method that this delegate encapsulates. - The eighth parameter of the method that this delegate encapsulates. - The nineth parameter of the method that this delegate encapsulates. - The tenth parameter of the method that this delegate encapsulates. - The return value of the method that this delegate encapsulates. - - - - Encapsulates a method that has eleven parameters and does not return a value. - - The type of the first parameter of the method that this delegate encapsulates. - The type of the second parameter of the method that this delegate encapsulates. - The type of the third parameter of the method that this delegate encapsulates. - The type of the fourth parameter of the method that this delegate encapsulates. - The type of the fifth parameter of the method that this delegate encapsulates. - The type of the sixth parameter of the method that this delegate encapsulates. - The type of the seventh parameter of the method that this delegate encapsulates. - The type of the eighth parameter of the method that this delegate encapsulates. - The type of the nineth parameter of the method that this delegate encapsulates. - The type of the tenth parameter of the method that this delegate encapsulates. - The type of the eleventh parameter of the method that this delegate encapsulates. - The first parameter of the method that this delegate encapsulates. - The second parameter of the method that this delegate encapsulates. - The third parameter of the method that this delegate encapsulates. - The fourth parameter of the method that this delegate encapsulates. - The fifth parameter of the method that this delegate encapsulates. - The sixth parameter of the method that this delegate encapsulates. - The seventh parameter of the method that this delegate encapsulates. - The eighth parameter of the method that this delegate encapsulates. - The nineth parameter of the method that this delegate encapsulates. - The tenth parameter of the method that this delegate encapsulates. - The eleventh parameter of the method that this delegate encapsulates. - - - - Encapsulates a method that has eleven parameters and returns a value of the type specified by the parameter. - - The type of the first parameter of the method that this delegate encapsulates. - The type of the second parameter of the method that this delegate encapsulates. - The type of the third parameter of the method that this delegate encapsulates. - The type of the fourth parameter of the method that this delegate encapsulates. - The type of the fifth parameter of the method that this delegate encapsulates. - The type of the sixth parameter of the method that this delegate encapsulates. - The type of the seventh parameter of the method that this delegate encapsulates. - The type of the eighth parameter of the method that this delegate encapsulates. - The type of the nineth parameter of the method that this delegate encapsulates. - The type of the tenth parameter of the method that this delegate encapsulates. - The type of the eleventh parameter of the method that this delegate encapsulates. - The type of the return value of the method that this delegate encapsulates. - The first parameter of the method that this delegate encapsulates. - The second parameter of the method that this delegate encapsulates. - The third parameter of the method that this delegate encapsulates. - The fourth parameter of the method that this delegate encapsulates. - The fifth parameter of the method that this delegate encapsulates. - The sixth parameter of the method that this delegate encapsulates. - The seventh parameter of the method that this delegate encapsulates. - The eighth parameter of the method that this delegate encapsulates. - The nineth parameter of the method that this delegate encapsulates. - The tenth parameter of the method that this delegate encapsulates. - The eleventh parameter of the method that this delegate encapsulates. - The return value of the method that this delegate encapsulates. - - - - Encapsulates a method that has twelve parameters and does not return a value. - - The type of the first parameter of the method that this delegate encapsulates. - The type of the second parameter of the method that this delegate encapsulates. - The type of the third parameter of the method that this delegate encapsulates. - The type of the fourth parameter of the method that this delegate encapsulates. - The type of the fifth parameter of the method that this delegate encapsulates. - The type of the sixth parameter of the method that this delegate encapsulates. - The type of the seventh parameter of the method that this delegate encapsulates. - The type of the eighth parameter of the method that this delegate encapsulates. - The type of the nineth parameter of the method that this delegate encapsulates. - The type of the tenth parameter of the method that this delegate encapsulates. - The type of the eleventh parameter of the method that this delegate encapsulates. - The type of the twelfth parameter of the method that this delegate encapsulates. - The first parameter of the method that this delegate encapsulates. - The second parameter of the method that this delegate encapsulates. - The third parameter of the method that this delegate encapsulates. - The fourth parameter of the method that this delegate encapsulates. - The fifth parameter of the method that this delegate encapsulates. - The sixth parameter of the method that this delegate encapsulates. - The seventh parameter of the method that this delegate encapsulates. - The eighth parameter of the method that this delegate encapsulates. - The nineth parameter of the method that this delegate encapsulates. - The tenth parameter of the method that this delegate encapsulates. - The eleventh parameter of the method that this delegate encapsulates. - The twelfth parameter of the method that this delegate encapsulates. - - - - Encapsulates a method that has twelve parameters and returns a value of the type specified by the parameter. - - The type of the first parameter of the method that this delegate encapsulates. - The type of the second parameter of the method that this delegate encapsulates. - The type of the third parameter of the method that this delegate encapsulates. - The type of the fourth parameter of the method that this delegate encapsulates. - The type of the fifth parameter of the method that this delegate encapsulates. - The type of the sixth parameter of the method that this delegate encapsulates. - The type of the seventh parameter of the method that this delegate encapsulates. - The type of the eighth parameter of the method that this delegate encapsulates. - The type of the nineth parameter of the method that this delegate encapsulates. - The type of the tenth parameter of the method that this delegate encapsulates. - The type of the eleventh parameter of the method that this delegate encapsulates. - The type of the twelfth parameter of the method that this delegate encapsulates. - The type of the return value of the method that this delegate encapsulates. - The first parameter of the method that this delegate encapsulates. - The second parameter of the method that this delegate encapsulates. - The third parameter of the method that this delegate encapsulates. - The fourth parameter of the method that this delegate encapsulates. - The fifth parameter of the method that this delegate encapsulates. - The sixth parameter of the method that this delegate encapsulates. - The seventh parameter of the method that this delegate encapsulates. - The eighth parameter of the method that this delegate encapsulates. - The nineth parameter of the method that this delegate encapsulates. - The tenth parameter of the method that this delegate encapsulates. - The eleventh parameter of the method that this delegate encapsulates. - The twelfth parameter of the method that this delegate encapsulates. - The return value of the method that this delegate encapsulates. - - - - Encapsulates a method that has thirteen parameters and does not return a value. - - The type of the first parameter of the method that this delegate encapsulates. - The type of the second parameter of the method that this delegate encapsulates. - The type of the third parameter of the method that this delegate encapsulates. - The type of the fourth parameter of the method that this delegate encapsulates. - The type of the fifth parameter of the method that this delegate encapsulates. - The type of the sixth parameter of the method that this delegate encapsulates. - The type of the seventh parameter of the method that this delegate encapsulates. - The type of the eighth parameter of the method that this delegate encapsulates. - The type of the nineth parameter of the method that this delegate encapsulates. - The type of the tenth parameter of the method that this delegate encapsulates. - The type of the eleventh parameter of the method that this delegate encapsulates. - The type of the twelfth parameter of the method that this delegate encapsulates. - The type of the thirteenth parameter of the method that this delegate encapsulates. - The first parameter of the method that this delegate encapsulates. - The second parameter of the method that this delegate encapsulates. - The third parameter of the method that this delegate encapsulates. - The fourth parameter of the method that this delegate encapsulates. - The fifth parameter of the method that this delegate encapsulates. - The sixth parameter of the method that this delegate encapsulates. - The seventh parameter of the method that this delegate encapsulates. - The eighth parameter of the method that this delegate encapsulates. - The nineth parameter of the method that this delegate encapsulates. - The tenth parameter of the method that this delegate encapsulates. - The eleventh parameter of the method that this delegate encapsulates. - The twelfth parameter of the method that this delegate encapsulates. - The thirteenth parameter of the method that this delegate encapsulates. - - - - Encapsulates a method that has thirteen parameters and returns a value of the type specified by the parameter. - - The type of the first parameter of the method that this delegate encapsulates. - The type of the second parameter of the method that this delegate encapsulates. - The type of the third parameter of the method that this delegate encapsulates. - The type of the fourth parameter of the method that this delegate encapsulates. - The type of the fifth parameter of the method that this delegate encapsulates. - The type of the sixth parameter of the method that this delegate encapsulates. - The type of the seventh parameter of the method that this delegate encapsulates. - The type of the eighth parameter of the method that this delegate encapsulates. - The type of the nineth parameter of the method that this delegate encapsulates. - The type of the tenth parameter of the method that this delegate encapsulates. - The type of the eleventh parameter of the method that this delegate encapsulates. - The type of the twelfth parameter of the method that this delegate encapsulates. - The type of the thirteenth parameter of the method that this delegate encapsulates. - The type of the return value of the method that this delegate encapsulates. - The first parameter of the method that this delegate encapsulates. - The second parameter of the method that this delegate encapsulates. - The third parameter of the method that this delegate encapsulates. - The fourth parameter of the method that this delegate encapsulates. - The fifth parameter of the method that this delegate encapsulates. - The sixth parameter of the method that this delegate encapsulates. - The seventh parameter of the method that this delegate encapsulates. - The eighth parameter of the method that this delegate encapsulates. - The nineth parameter of the method that this delegate encapsulates. - The tenth parameter of the method that this delegate encapsulates. - The eleventh parameter of the method that this delegate encapsulates. - The twelfth parameter of the method that this delegate encapsulates. - The thirteenth parameter of the method that this delegate encapsulates. - The return value of the method that this delegate encapsulates. - - - - Encapsulates a method that has fourteen parameters and does not return a value. - - The type of the first parameter of the method that this delegate encapsulates. - The type of the second parameter of the method that this delegate encapsulates. - The type of the third parameter of the method that this delegate encapsulates. - The type of the fourth parameter of the method that this delegate encapsulates. - The type of the fifth parameter of the method that this delegate encapsulates. - The type of the sixth parameter of the method that this delegate encapsulates. - The type of the seventh parameter of the method that this delegate encapsulates. - The type of the eighth parameter of the method that this delegate encapsulates. - The type of the nineth parameter of the method that this delegate encapsulates. - The type of the tenth parameter of the method that this delegate encapsulates. - The type of the eleventh parameter of the method that this delegate encapsulates. - The type of the twelfth parameter of the method that this delegate encapsulates. - The type of the thirteenth parameter of the method that this delegate encapsulates. - The type of the fourteenth parameter of the method that this delegate encapsulates. - The first parameter of the method that this delegate encapsulates. - The second parameter of the method that this delegate encapsulates. - The third parameter of the method that this delegate encapsulates. - The fourth parameter of the method that this delegate encapsulates. - The fifth parameter of the method that this delegate encapsulates. - The sixth parameter of the method that this delegate encapsulates. - The seventh parameter of the method that this delegate encapsulates. - The eighth parameter of the method that this delegate encapsulates. - The nineth parameter of the method that this delegate encapsulates. - The tenth parameter of the method that this delegate encapsulates. - The eleventh parameter of the method that this delegate encapsulates. - The twelfth parameter of the method that this delegate encapsulates. - The thirteenth parameter of the method that this delegate encapsulates. - The fourteenth parameter of the method that this delegate encapsulates. - - - - Encapsulates a method that has fourteen parameters and returns a value of the type specified by the parameter. - - The type of the first parameter of the method that this delegate encapsulates. - The type of the second parameter of the method that this delegate encapsulates. - The type of the third parameter of the method that this delegate encapsulates. - The type of the fourth parameter of the method that this delegate encapsulates. - The type of the fifth parameter of the method that this delegate encapsulates. - The type of the sixth parameter of the method that this delegate encapsulates. - The type of the seventh parameter of the method that this delegate encapsulates. - The type of the eighth parameter of the method that this delegate encapsulates. - The type of the nineth parameter of the method that this delegate encapsulates. - The type of the tenth parameter of the method that this delegate encapsulates. - The type of the eleventh parameter of the method that this delegate encapsulates. - The type of the twelfth parameter of the method that this delegate encapsulates. - The type of the thirteenth parameter of the method that this delegate encapsulates. - The type of the fourteenth parameter of the method that this delegate encapsulates. - The type of the return value of the method that this delegate encapsulates. - The first parameter of the method that this delegate encapsulates. - The second parameter of the method that this delegate encapsulates. - The third parameter of the method that this delegate encapsulates. - The fourth parameter of the method that this delegate encapsulates. - The fifth parameter of the method that this delegate encapsulates. - The sixth parameter of the method that this delegate encapsulates. - The seventh parameter of the method that this delegate encapsulates. - The eighth parameter of the method that this delegate encapsulates. - The nineth parameter of the method that this delegate encapsulates. - The tenth parameter of the method that this delegate encapsulates. - The eleventh parameter of the method that this delegate encapsulates. - The twelfth parameter of the method that this delegate encapsulates. - The thirteenth parameter of the method that this delegate encapsulates. - The fourteenth parameter of the method that this delegate encapsulates. - The return value of the method that this delegate encapsulates. - - - - Encapsulates a method that has fifteen parameters and does not return a value. - - The type of the first parameter of the method that this delegate encapsulates. - The type of the second parameter of the method that this delegate encapsulates. - The type of the third parameter of the method that this delegate encapsulates. - The type of the fourth parameter of the method that this delegate encapsulates. - The type of the fifth parameter of the method that this delegate encapsulates. - The type of the sixth parameter of the method that this delegate encapsulates. - The type of the seventh parameter of the method that this delegate encapsulates. - The type of the eighth parameter of the method that this delegate encapsulates. - The type of the nineth parameter of the method that this delegate encapsulates. - The type of the tenth parameter of the method that this delegate encapsulates. - The type of the eleventh parameter of the method that this delegate encapsulates. - The type of the twelfth parameter of the method that this delegate encapsulates. - The type of the thirteenth parameter of the method that this delegate encapsulates. - The type of the fourteenth parameter of the method that this delegate encapsulates. - The type of the fifteenth parameter of the method that this delegate encapsulates. - The first parameter of the method that this delegate encapsulates. - The second parameter of the method that this delegate encapsulates. - The third parameter of the method that this delegate encapsulates. - The fourth parameter of the method that this delegate encapsulates. - The fifth parameter of the method that this delegate encapsulates. - The sixth parameter of the method that this delegate encapsulates. - The seventh parameter of the method that this delegate encapsulates. - The eighth parameter of the method that this delegate encapsulates. - The nineth parameter of the method that this delegate encapsulates. - The tenth parameter of the method that this delegate encapsulates. - The eleventh parameter of the method that this delegate encapsulates. - The twelfth parameter of the method that this delegate encapsulates. - The thirteenth parameter of the method that this delegate encapsulates. - The fourteenth parameter of the method that this delegate encapsulates. - The fifteenth parameter of the method that this delegate encapsulates. - - - - Encapsulates a method that has fifteen parameters and returns a value of the type specified by the parameter. - - The type of the first parameter of the method that this delegate encapsulates. - The type of the second parameter of the method that this delegate encapsulates. - The type of the third parameter of the method that this delegate encapsulates. - The type of the fourth parameter of the method that this delegate encapsulates. - The type of the fifth parameter of the method that this delegate encapsulates. - The type of the sixth parameter of the method that this delegate encapsulates. - The type of the seventh parameter of the method that this delegate encapsulates. - The type of the eighth parameter of the method that this delegate encapsulates. - The type of the nineth parameter of the method that this delegate encapsulates. - The type of the tenth parameter of the method that this delegate encapsulates. - The type of the eleventh parameter of the method that this delegate encapsulates. - The type of the twelfth parameter of the method that this delegate encapsulates. - The type of the thirteenth parameter of the method that this delegate encapsulates. - The type of the fourteenth parameter of the method that this delegate encapsulates. - The type of the fifteenth parameter of the method that this delegate encapsulates. - The type of the return value of the method that this delegate encapsulates. - The first parameter of the method that this delegate encapsulates. - The second parameter of the method that this delegate encapsulates. - The third parameter of the method that this delegate encapsulates. - The fourth parameter of the method that this delegate encapsulates. - The fifth parameter of the method that this delegate encapsulates. - The sixth parameter of the method that this delegate encapsulates. - The seventh parameter of the method that this delegate encapsulates. - The eighth parameter of the method that this delegate encapsulates. - The nineth parameter of the method that this delegate encapsulates. - The tenth parameter of the method that this delegate encapsulates. - The eleventh parameter of the method that this delegate encapsulates. - The twelfth parameter of the method that this delegate encapsulates. - The thirteenth parameter of the method that this delegate encapsulates. - The fourteenth parameter of the method that this delegate encapsulates. - The fifteenth parameter of the method that this delegate encapsulates. - The return value of the method that this delegate encapsulates. - - - - Encapsulates a method that has sixteen parameters and does not return a value. - - The type of the first parameter of the method that this delegate encapsulates. - The type of the second parameter of the method that this delegate encapsulates. - The type of the third parameter of the method that this delegate encapsulates. - The type of the fourth parameter of the method that this delegate encapsulates. - The type of the fifth parameter of the method that this delegate encapsulates. - The type of the sixth parameter of the method that this delegate encapsulates. - The type of the seventh parameter of the method that this delegate encapsulates. - The type of the eighth parameter of the method that this delegate encapsulates. - The type of the nineth parameter of the method that this delegate encapsulates. - The type of the tenth parameter of the method that this delegate encapsulates. - The type of the eleventh parameter of the method that this delegate encapsulates. - The type of the twelfth parameter of the method that this delegate encapsulates. - The type of the thirteenth parameter of the method that this delegate encapsulates. - The type of the fourteenth parameter of the method that this delegate encapsulates. - The type of the fifteenth parameter of the method that this delegate encapsulates. - The type of the sixteenth parameter of the method that this delegate encapsulates. - The first parameter of the method that this delegate encapsulates. - The second parameter of the method that this delegate encapsulates. - The third parameter of the method that this delegate encapsulates. - The fourth parameter of the method that this delegate encapsulates. - The fifth parameter of the method that this delegate encapsulates. - The sixth parameter of the method that this delegate encapsulates. - The seventh parameter of the method that this delegate encapsulates. - The eighth parameter of the method that this delegate encapsulates. - The nineth parameter of the method that this delegate encapsulates. - The tenth parameter of the method that this delegate encapsulates. - The eleventh parameter of the method that this delegate encapsulates. - The twelfth parameter of the method that this delegate encapsulates. - The thirteenth parameter of the method that this delegate encapsulates. - The fourteenth parameter of the method that this delegate encapsulates. - The fifteenth parameter of the method that this delegate encapsulates. - The sixteenth parameter of the method that this delegate encapsulates. - - - - Encapsulates a method that has sixteen parameters and returns a value of the type specified by the parameter. - - The type of the first parameter of the method that this delegate encapsulates. - The type of the second parameter of the method that this delegate encapsulates. - The type of the third parameter of the method that this delegate encapsulates. - The type of the fourth parameter of the method that this delegate encapsulates. - The type of the fifth parameter of the method that this delegate encapsulates. - The type of the sixth parameter of the method that this delegate encapsulates. - The type of the seventh parameter of the method that this delegate encapsulates. - The type of the eighth parameter of the method that this delegate encapsulates. - The type of the nineth parameter of the method that this delegate encapsulates. - The type of the tenth parameter of the method that this delegate encapsulates. - The type of the eleventh parameter of the method that this delegate encapsulates. - The type of the twelfth parameter of the method that this delegate encapsulates. - The type of the thirteenth parameter of the method that this delegate encapsulates. - The type of the fourteenth parameter of the method that this delegate encapsulates. - The type of the fifteenth parameter of the method that this delegate encapsulates. - The type of the sixteenth parameter of the method that this delegate encapsulates. - The type of the return value of the method that this delegate encapsulates. - The first parameter of the method that this delegate encapsulates. - The second parameter of the method that this delegate encapsulates. - The third parameter of the method that this delegate encapsulates. - The fourth parameter of the method that this delegate encapsulates. - The fifth parameter of the method that this delegate encapsulates. - The sixth parameter of the method that this delegate encapsulates. - The seventh parameter of the method that this delegate encapsulates. - The eighth parameter of the method that this delegate encapsulates. - The nineth parameter of the method that this delegate encapsulates. - The tenth parameter of the method that this delegate encapsulates. - The eleventh parameter of the method that this delegate encapsulates. - The twelfth parameter of the method that this delegate encapsulates. - The thirteenth parameter of the method that this delegate encapsulates. - The fourteenth parameter of the method that this delegate encapsulates. - The fifteenth parameter of the method that this delegate encapsulates. - The sixteenth parameter of the method that this delegate encapsulates. - The return value of the method that this delegate encapsulates. - - - - Helper class to setup a full trace between many mocks - - - - - Initialize a trace setup - - - - - Allow sequence to be repeated - - - - - define nice api - - - - - Perform an expectation in the trace. - - - - - Marks a method as a matcher, which allows complete replacement - of the built-in class with your own argument - matching rules. - - - This feature has been deprecated in favor of the new - and simpler . - - - The argument matching is used to determine whether a concrete - invocation in the mock matches a given setup. This - matching mechanism is fully extensible. - - - There are two parts of a matcher: the compiler matcher - and the runtime matcher. - - - Compiler matcher - Used to satisfy the compiler requirements for the - argument. Needs to be a method optionally receiving any arguments - you might need for the matching, but with a return type that - matches that of the argument. - - Let's say I want to match a lists of orders that contains - a particular one. I might create a compiler matcher like the following: - - - public static class Orders - { - [Matcher] - public static IEnumerable<Order> Contains(Order order) - { - return null; - } - } - - Now we can invoke this static method instead of an argument in an - invocation: - - var order = new Order { ... }; - var mock = new Mock<IRepository<Order>>(); - - mock.Setup(x => x.Save(Orders.Contains(order))) - .Throws<ArgumentException>(); - - Note that the return value from the compiler matcher is irrelevant. - This method will never be called, and is just used to satisfy the - compiler and to signal Moq that this is not a method that we want - to be invoked at runtime. - - - - Runtime matcher - - The runtime matcher is the one that will actually perform evaluation - when the test is run, and is defined by convention to have the - same signature as the compiler matcher, but where the return - value is the first argument to the call, which contains the - object received by the actual invocation at runtime: - - public static bool Contains(IEnumerable<Order> orders, Order order) - { - return orders.Contains(order); - } - - At runtime, the mocked method will be invoked with a specific - list of orders. This value will be passed to this runtime - matcher as the first argument, while the second argument is the - one specified in the setup (x.Save(Orders.Contains(order))). - - The boolean returned determines whether the given argument has been - matched. If all arguments to the expected method are matched, then - the setup matches and is evaluated. - - - - - - Using this extensible infrastructure, you can easily replace the entire - set of matchers with your own. You can also avoid the - typical (and annoying) lengthy expressions that result when you have - multiple arguments that use generics. - - - The following is the complete example explained above: - - public static class Orders - { - [Matcher] - public static IEnumerable<Order> Contains(Order order) - { - return null; - } - - public static bool Contains(IEnumerable<Order> orders, Order order) - { - return orders.Contains(order); - } - } - - And the concrete test using this matcher: - - var order = new Order { ... }; - var mock = new Mock<IRepository<Order>>(); - - mock.Setup(x => x.Save(Orders.Contains(order))) - .Throws<ArgumentException>(); - - // use mock, invoke Save, and have the matcher filter. - - - - - - Provides a mock implementation of . - - Any interface type can be used for mocking, but for classes, only abstract and virtual members can be mocked. - - The behavior of the mock with regards to the setups and the actual calls is determined - by the optional that can be passed to the - constructor. - - Type to mock, which can be an interface or a class. - The following example shows establishing setups with specific values - for method invocations: - - // Arrange - var order = new Order(TALISKER, 50); - var mock = new Mock<IWarehouse>(); - - mock.Setup(x => x.HasInventory(TALISKER, 50)).Returns(true); - - // Act - order.Fill(mock.Object); - - // Assert - Assert.True(order.IsFilled); - - The following example shows how to use the class - to specify conditions for arguments instead of specific values: - - // Arrange - var order = new Order(TALISKER, 50); - var mock = new Mock<IWarehouse>(); - - // shows how to expect a value within a range - mock.Setup(x => x.HasInventory( - It.IsAny<string>(), - It.IsInRange(0, 100, Range.Inclusive))) - .Returns(false); - - // shows how to throw for unexpected calls. - mock.Setup(x => x.Remove( - It.IsAny<string>(), - It.IsAny<int>())) - .Throws(new InvalidOperationException()); - - // Act - order.Fill(mock.Object); - - // Assert - Assert.False(order.IsFilled); - - - - - - Obsolete. - - - - - Obsolete. - - - - - Obsolete. - - - - - Obsolete. - - - - - Obsolete. - - - - - Ctor invoked by AsTInterface exclusively. - - - - - Initializes an instance of the mock with default behavior. - - var mock = new Mock<IFormatProvider>(); - - - - - Initializes an instance of the mock with default behavior and with - the given constructor arguments for the class. (Only valid when is a class) - - The mock will try to find the best match constructor given the constructor arguments, and invoke that - to initialize the instance. This applies only for classes, not interfaces. - - var mock = new Mock<MyProvider>(someArgument, 25); - Optional constructor arguments if the mocked type is a class. - - - - Initializes an instance of the mock with the specified behavior. - - var mock = new Mock<IFormatProvider>(MockBehavior.Relaxed); - Behavior of the mock. - - - - Initializes an instance of the mock with a specific behavior with - the given constructor arguments for the class. - - The mock will try to find the best match constructor given the constructor arguments, and invoke that - to initialize the instance. This applies only to classes, not interfaces. - - var mock = new Mock<MyProvider>(someArgument, 25); - Behavior of the mock.Optional constructor arguments if the mocked type is a class. - - - - Returns the mocked object value. - - - - - Specifies a setup on the mocked type for a call to - to a void method. - - If more than one setup is specified for the same method or property, - the latest one wins and is the one that will be executed. - Lambda expression that specifies the expected method invocation. - - var mock = new Mock<IProcessor>(); - mock.Setup(x => x.Execute("ping")); - - - - - - Specifies a setup on the mocked type for a call to - to a value returning method. - Type of the return value. Typically omitted as it can be inferred from the expression. - If more than one setup is specified for the same method or property, - the latest one wins and is the one that will be executed. - Lambda expression that specifies the method invocation. - - mock.Setup(x => x.HasInventory("Talisker", 50)).Returns(true); - - - - - - Specifies a setup on the mocked type for a call to - to a property getter. - - If more than one setup is set for the same property getter, - the latest one wins and is the one that will be executed. - Type of the property. Typically omitted as it can be inferred from the expression.Lambda expression that specifies the property getter. - - mock.SetupGet(x => x.Suspended) - .Returns(true); - - - - - - Specifies a setup on the mocked type for a call to - to a property setter. - - If more than one setup is set for the same property setter, - the latest one wins and is the one that will be executed. - - This overloads allows the use of a callback already - typed for the property type. - - Type of the property. Typically omitted as it can be inferred from the expression.The Lambda expression that sets a property to a value. - - mock.SetupSet(x => x.Suspended = true); - - - - - - Specifies a setup on the mocked type for a call to - to a property setter. - - If more than one setup is set for the same property setter, - the latest one wins and is the one that will be executed. - Lambda expression that sets a property to a value. - - mock.SetupSet(x => x.Suspended = true); - - - - - - Specifies that the given property should have "property behavior", - meaning that setting its value will cause it to be saved and - later returned when the property is requested. (this is also - known as "stubbing"). - - Type of the property, inferred from the property - expression (does not need to be specified). - Property expression to stub. - If you have an interface with an int property Value, you might - stub it using the following straightforward call: - - var mock = new Mock<IHaveValue>(); - mock.Stub(v => v.Value); - - After the Stub call has been issued, setting and - retrieving the object value will behave as expected: - - IHaveValue v = mock.Object; - - v.Value = 5; - Assert.Equal(5, v.Value); - - - - - - Specifies that the given property should have "property behavior", - meaning that setting its value will cause it to be saved and - later returned when the property is requested. This overload - allows setting the initial value for the property. (this is also - known as "stubbing"). - - Type of the property, inferred from the property - expression (does not need to be specified). - Property expression to stub.Initial value for the property. - If you have an interface with an int property Value, you might - stub it using the following straightforward call: - - var mock = new Mock<IHaveValue>(); - mock.SetupProperty(v => v.Value, 5); - - After the SetupProperty call has been issued, setting and - retrieving the object value will behave as expected: - - IHaveValue v = mock.Object; - // Initial value was stored - Assert.Equal(5, v.Value); - - // New value set which changes the initial value - v.Value = 6; - Assert.Equal(6, v.Value); - - - - - - Specifies that the all properties on the mock should have "property behavior", - meaning that setting its value will cause it to be saved and - later returned when the property is requested. (this is also - known as "stubbing"). The default value for each property will be the - one generated as specified by the property for the mock. - - If the mock is set to , - the mocked default values will also get all properties setup recursively. - - - - - - - - Verifies that a specific invocation matching the given expression was performed on the mock. Use - in conjuntion with the default . - - This example assumes that the mock has been used, and later we want to verify that a given - invocation with specific parameters was performed: - - var mock = new Mock<IProcessor>(); - // exercise mock - //... - // Will throw if the test code didn't call Execute with a "ping" string argument. - mock.Verify(proc => proc.Execute("ping")); - - The invocation was not performed on the mock.Expression to verify. - - - - Verifies that a specific invocation matching the given expression was performed on the mock. Use - in conjuntion with the default . - - The invocation was not call the times specified by - . - Expression to verify.The number of times a method is allowed to be called. - - - - Verifies that a specific invocation matching the given expression was performed on the mock, - specifying a failure error message. Use in conjuntion with the default - . - - This example assumes that the mock has been used, and later we want to verify that a given - invocation with specific parameters was performed: - - var mock = new Mock<IProcessor>(); - // exercise mock - //... - // Will throw if the test code didn't call Execute with a "ping" string argument. - mock.Verify(proc => proc.Execute("ping")); - - The invocation was not performed on the mock.Expression to verify.Message to show if verification fails. - - - - Verifies that a specific invocation matching the given expression was performed on the mock, - specifying a failure error message. Use in conjuntion with the default - . - - The invocation was not call the times specified by - . - Expression to verify.The number of times a method is allowed to be called.Message to show if verification fails. - - - - Verifies that a specific invocation matching the given expression was performed on the mock. Use - in conjuntion with the default . - - This example assumes that the mock has been used, and later we want to verify that a given - invocation with specific parameters was performed: - - var mock = new Mock<IWarehouse>(); - // exercise mock - //... - // Will throw if the test code didn't call HasInventory. - mock.Verify(warehouse => warehouse.HasInventory(TALISKER, 50)); - - The invocation was not performed on the mock.Expression to verify.Type of return value from the expression. - - - - Verifies that a specific invocation matching the given - expression was performed on the mock. Use in conjuntion - with the default . - - The invocation was not call the times specified by - . - Expression to verify.The number of times a method is allowed to be called.Type of return value from the expression. - - - - Verifies that a specific invocation matching the given - expression was performed on the mock, specifying a failure - error message. - - This example assumes that the mock has been used, - and later we want to verify that a given invocation - with specific parameters was performed: - - var mock = new Mock<IWarehouse>(); - // exercise mock - //... - // Will throw if the test code didn't call HasInventory. - mock.Verify(warehouse => warehouse.HasInventory(TALISKER, 50), "When filling orders, inventory has to be checked"); - - The invocation was not performed on the mock.Expression to verify.Message to show if verification fails.Type of return value from the expression. - - - - Verifies that a specific invocation matching the given - expression was performed on the mock, specifying a failure - error message. - - The invocation was not call the times specified by - . - Expression to verify.The number of times a method is allowed to be called.Message to show if verification fails.Type of return value from the expression. - - - - Verifies that a property was read on the mock. - - This example assumes that the mock has been used, - and later we want to verify that a given property - was retrieved from it: - - var mock = new Mock<IWarehouse>(); - // exercise mock - //... - // Will throw if the test code didn't retrieve the IsClosed property. - mock.VerifyGet(warehouse => warehouse.IsClosed); - - The invocation was not performed on the mock.Expression to verify. - Type of the property to verify. Typically omitted as it can - be inferred from the expression's return type. - - - - - Verifies that a property was read on the mock. - - The invocation was not call the times specified by - . - The number of times a method is allowed to be called.Expression to verify. - Type of the property to verify. Typically omitted as it can - be inferred from the expression's return type. - - - - - Verifies that a property was read on the mock, specifying a failure - error message. - - This example assumes that the mock has been used, - and later we want to verify that a given property - was retrieved from it: - - var mock = new Mock<IWarehouse>(); - // exercise mock - //... - // Will throw if the test code didn't retrieve the IsClosed property. - mock.VerifyGet(warehouse => warehouse.IsClosed); - - The invocation was not performed on the mock.Expression to verify.Message to show if verification fails. - Type of the property to verify. Typically omitted as it can - be inferred from the expression's return type. - - - - - Verifies that a property was read on the mock, specifying a failure - error message. - - The invocation was not call the times specified by - . - The number of times a method is allowed to be called.Expression to verify.Message to show if verification fails. - Type of the property to verify. Typically omitted as it can - be inferred from the expression's return type. - - - - - Verifies that a property was set on the mock. - - This example assumes that the mock has been used, - and later we want to verify that a given property - was set on it: - - var mock = new Mock<IWarehouse>(); - // exercise mock - //... - // Will throw if the test code didn't set the IsClosed property. - mock.VerifySet(warehouse => warehouse.IsClosed = true); - - The invocation was not performed on the mock.Expression to verify. - - - - Verifies that a property was set on the mock. - - The invocation was not call the times specified by - . - The number of times a method is allowed to be called.Expression to verify. - - - - Verifies that a property was set on the mock, specifying - a failure message. - - This example assumes that the mock has been used, - and later we want to verify that a given property - was set on it: - - var mock = new Mock<IWarehouse>(); - // exercise mock - //... - // Will throw if the test code didn't set the IsClosed property. - mock.VerifySet(warehouse => warehouse.IsClosed = true, "Warehouse should always be closed after the action"); - - The invocation was not performed on the mock.Expression to verify.Message to show if verification fails. - - - - Verifies that a property was set on the mock, specifying - a failure message. - - The invocation was not call the times specified by - . - The number of times a method is allowed to be called.Expression to verify.Message to show if verification fails. - - - - Raises the event referenced in using - the given argument. - - The argument is - invalid for the target event invocation, or the is - not an event attach or detach expression. - - The following example shows how to raise a event: - - var mock = new Mock<IViewModel>(); - - mock.Raise(x => x.PropertyChanged -= null, new PropertyChangedEventArgs("Name")); - - - This example shows how to invoke an event with a custom event arguments - class in a view that will cause its corresponding presenter to - react by changing its state: - - var mockView = new Mock<IOrdersView>(); - var presenter = new OrdersPresenter(mockView.Object); - - // Check that the presenter has no selection by default - Assert.Null(presenter.SelectedOrder); - - // Raise the event with a specific arguments data - mockView.Raise(v => v.SelectionChanged += null, new OrderEventArgs { Order = new Order("moq", 500) }); - - // Now the presenter reacted to the event, and we have a selected order - Assert.NotNull(presenter.SelectedOrder); - Assert.Equal("moq", presenter.SelectedOrder.ProductName); - - - - - - Raises the event referenced in using - the given argument for a non-EventHandler typed event. - - The arguments are - invalid for the target event invocation, or the is - not an event attach or detach expression. - - The following example shows how to raise a custom event that does not adhere to - the standard EventHandler: - - var mock = new Mock<IViewModel>(); - - mock.Raise(x => x.MyEvent -= null, "Name", bool, 25); - - - - - - Exposes the mocked object instance. - - - - - Provides legacy API members as extensions so that - existing code continues to compile, but new code - doesn't see then. - - - - - Obsolete. - - - - - Obsolete. - - - - - Obsolete. - - - - - Provides additional methods on mocks. - - - Provided as extension methods as they confuse the compiler - with the overloads taking Action. - - - - - Specifies a setup on the mocked type for a call to - to a property setter, regardless of its value. - - - If more than one setup is set for the same property setter, - the latest one wins and is the one that will be executed. - - Type of the property. Typically omitted as it can be inferred from the expression. - Type of the mock. - The target mock for the setup. - Lambda expression that specifies the property setter. - - - mock.SetupSet(x => x.Suspended); - - - - This method is not legacy, but must be on an extension method to avoid - confusing the compiler with the new Action syntax. - - - - - Verifies that a property has been set on the mock, regarless of its value. - - - This example assumes that the mock has been used, - and later we want to verify that a given invocation - with specific parameters was performed: - - var mock = new Mock<IWarehouse>(); - // exercise mock - //... - // Will throw if the test code didn't set the IsClosed property. - mock.VerifySet(warehouse => warehouse.IsClosed); - - - The invocation was not performed on the mock. - Expression to verify. - The mock instance. - Mocked type. - Type of the property to verify. Typically omitted as it can - be inferred from the expression's return type. - - - - Verifies that a property has been set on the mock, specifying a failure - error message. - - - This example assumes that the mock has been used, - and later we want to verify that a given invocation - with specific parameters was performed: - - var mock = new Mock<IWarehouse>(); - // exercise mock - //... - // Will throw if the test code didn't set the IsClosed property. - mock.VerifySet(warehouse => warehouse.IsClosed); - - - The invocation was not performed on the mock. - Expression to verify. - Message to show if verification fails. - The mock instance. - Mocked type. - Type of the property to verify. Typically omitted as it can - be inferred from the expression's return type. - - - - Verifies that a property has been set on the mock, regardless - of the value but only the specified number of times. - - - This example assumes that the mock has been used, - and later we want to verify that a given invocation - with specific parameters was performed: - - var mock = new Mock<IWarehouse>(); - // exercise mock - //... - // Will throw if the test code didn't set the IsClosed property. - mock.VerifySet(warehouse => warehouse.IsClosed); - - - The invocation was not performed on the mock. - The invocation was not call the times specified by - . - The mock instance. - Mocked type. - The number of times a method is allowed to be called. - Expression to verify. - Type of the property to verify. Typically omitted as it can - be inferred from the expression's return type. - - - - Verifies that a property has been set on the mock, regardless - of the value but only the specified number of times, and specifying a failure - error message. - - - This example assumes that the mock has been used, - and later we want to verify that a given invocation - with specific parameters was performed: - - var mock = new Mock<IWarehouse>(); - // exercise mock - //... - // Will throw if the test code didn't set the IsClosed property. - mock.VerifySet(warehouse => warehouse.IsClosed); - - - The invocation was not performed on the mock. - The invocation was not call the times specified by - . - The mock instance. - Mocked type. - The number of times a method is allowed to be called. - Message to show if verification fails. - Expression to verify. - Type of the property to verify. Typically omitted as it can - be inferred from the expression's return type. - - - - Helper for sequencing return values in the same method. - - - - - Return a sequence of values, once per call. - - - - - Casts the expression to a lambda expression, removing - a cast if there's any. - - - - - Casts the body of the lambda expression to a . - - If the body is not a method call. - - - - Converts the body of the lambda expression into the referenced by it. - - - - - Checks whether the body of the lambda expression is a property access. - - - - - Checks whether the expression is a property access. - - - - - Checks whether the body of the lambda expression is a property indexer, which is true - when the expression is an whose - has - equal to . - - - - - Checks whether the expression is a property indexer, which is true - when the expression is an whose - has - equal to . - - - - - Creates an expression that casts the given expression to the - type. - - - - - TODO: remove this code when https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=331583 - is fixed. - - - - - Provides partial evaluation of subtrees, whenever they can be evaluated locally. - - Matt Warren: http://blogs.msdn.com/mattwar - Documented by InSTEDD: http://www.instedd.org - - - - Performs evaluation and replacement of independent sub-trees - - The root of the expression tree. - A function that decides whether a given expression - node can be part of the local function. - A new tree with sub-trees evaluated and replaced. - - - - Performs evaluation and replacement of independent sub-trees - - The root of the expression tree. - A new tree with sub-trees evaluated and replaced. - - - - Evaluates and replaces sub-trees when first candidate is reached (top-down) - - - - - Performs bottom-up analysis to determine which nodes can possibly - be part of an evaluated sub-tree. - - - - - Ensures the given is not null. - Throws otherwise. - - - - - Ensures the given string is not null or empty. - Throws in the first case, or - in the latter. - - - - - Checks an argument to ensure it is in the specified range including the edges. - - Type of the argument to check, it must be an type. - - The expression containing the name of the argument. - The argument value to check. - The minimun allowed value for the argument. - The maximun allowed value for the argument. - - - - Checks an argument to ensure it is in the specified range excluding the edges. - - Type of the argument to check, it must be an type. - - The expression containing the name of the argument. - The argument value to check. - The minimun allowed value for the argument. - The maximun allowed value for the argument. - - - - Implemented by all generated mock object instances. - - - - - Implemented by all generated mock object instances. - - - - - Reference the Mock that contains this as the mock.Object value. - - - - - Reference the Mock that contains this as the mock.Object value. - - - - - Implements the actual interception and method invocation for - all mocks. - - - - - Get an eventInfo for a given event name. Search type ancestors depth first if necessary. - - Name of the event, with the set_ or get_ prefix already removed - - - - Given a type return all of its ancestors, both types and interfaces. - - The type to find immediate ancestors of - - - - Implements the fluent API. - - - - - Defines the Callback verb for property setter setups. - - Type of the property. - - - - Specifies a callback to invoke when the property is set that receives the - property value being set. - - Callback method to invoke. - - Invokes the given callback with the property value being set. - - mock.SetupSet(x => x.Suspended) - .Callback((bool state) => Console.WriteLine(state)); - - - - - - Allows the specification of a matching condition for an - argument in a method invocation, rather than a specific - argument value. "It" refers to the argument being matched. - - This class allows the setup to match a method invocation - with an arbitrary value, with a value in a specified range, or - even one that matches a given predicate. - - - - - Matches any value of the given type. - - Typically used when the actual argument value for a method - call is not relevant. - - - // Throws an exception for a call to Remove with any string value. - mock.Setup(x => x.Remove(It.IsAny<string>())).Throws(new InvalidOperationException()); - - Type of the value. - - - - Matches any value that satisfies the given predicate. - Type of the argument to check.The predicate used to match the method argument. - Allows the specification of a predicate to perform matching - of method call arguments. - - This example shows how to return the value 1 whenever the argument to the - Do method is an even number. - - mock.Setup(x => x.Do(It.Is<int>(i => i % 2 == 0))) - .Returns(1); - - This example shows how to throw an exception if the argument to the - method is a negative number: - - mock.Setup(x => x.GetUser(It.Is<int>(i => i < 0))) - .Throws(new ArgumentException()); - - - - - - Matches any value that is in the range specified. - Type of the argument to check.The lower bound of the range.The upper bound of the range. - The kind of range. See . - - The following example shows how to expect a method call - with an integer argument within the 0..100 range. - - mock.Setup(x => x.HasInventory( - It.IsAny<string>(), - It.IsInRange(0, 100, Range.Inclusive))) - .Returns(false); - - - - - - Matches a string argument if it matches the given regular expression pattern. - The pattern to use to match the string argument value. - The following example shows how to expect a call to a method where the - string argument matches the given regular expression: - - mock.Setup(x => x.Check(It.IsRegex("[a-z]+"))).Returns(1); - - - - - - Matches a string argument if it matches the given regular expression pattern. - The pattern to use to match the string argument value.The options used to interpret the pattern. - The following example shows how to expect a call to a method where the - string argument matches the given regular expression, in a case insensitive way: - - mock.Setup(x => x.Check(It.IsRegex("[a-z]+", RegexOptions.IgnoreCase))).Returns(1); - - - - - - Matcher to treat static functions as matchers. - - mock.Setup(x => x.StringMethod(A.MagicString())); - - public static class A - { - [Matcher] - public static string MagicString() { return null; } - public static bool MagicString(string arg) - { - return arg == "magic"; - } - } - - Will succeed if: mock.Object.StringMethod("magic"); - and fail with any other call. - - - - - Options to customize the behavior of the mock. - - - - - Causes the mock to always throw - an exception for invocations that don't have a - corresponding setup. - - - - - Will never throw exceptions, returning default - values when necessary (null for reference types, - zero for value types or empty enumerables and arrays). - - - - - Default mock behavior, which equals . - - - - - Exception thrown by mocks when setups are not matched, - the mock is not properly setup, etc. - - - A distinct exception type is provided so that exceptions - thrown by the mock can be differentiated in tests that - expect other exceptions to be thrown (i.e. ArgumentException). - - Richer exception hierarchy/types are not provided as - tests typically should not catch or expect exceptions - from the mocks. These are typically the result of changes - in the tested class or its collaborators implementation, and - result in fixes in the mock setup so that they dissapear and - allow the test to pass. - - - - - - Supports the serialization infrastructure. - - Serialization information. - Streaming context. - - - - Supports the serialization infrastructure. - - Serialization information. - Streaming context. - - - - Made internal as it's of no use for - consumers, but it's important for - our own tests. - - - - - Used by the mock factory to accumulate verification - failures. - - - - - Supports the serialization infrastructure. - - - - - A strongly-typed resource class, for looking up localized strings, etc. - - - - - Returns the cached ResourceManager instance used by this class. - - - - - Overrides the current thread's CurrentUICulture property for all - resource lookups using this strongly typed resource class. - - - - - Looks up a localized string similar to Mock type has already been initialized by accessing its Object property. Adding interfaces must be done before that.. - - - - - Looks up a localized string similar to Value cannot be an empty string.. - - - - - Looks up a localized string similar to Can only add interfaces to the mock.. - - - - - Looks up a localized string similar to Can't set return value for void method {0}.. - - - - - Looks up a localized string similar to Constructor arguments cannot be passed for interface mocks.. - - - - - Looks up a localized string similar to A matching constructor for the given arguments was not found on the mocked type.. - - - - - Looks up a localized string similar to Could not locate event for attach or detach method {0}.. - - - - - Looks up a localized string similar to Expression {0} involves a field access, which is not supported. Use properties instead.. - - - - - Looks up a localized string similar to Type to mock must be an interface or an abstract or non-sealed class. . - - - - - Looks up a localized string similar to Cannot retrieve a mock with the given object type {0} as it's not the main type of the mock or any of its additional interfaces. - Please cast the argument to one of the supported types: {1}. - Remember that there's no generics covariance in the CLR, so your object must be one of these types in order for the call to succeed.. - - - - - Looks up a localized string similar to The equals ("==" or "=" in VB) and the conditional 'and' ("&&" or "AndAlso" in VB) operators are the only ones supported in the query specification expression. Unsupported expression: {0}. - - - - - Looks up a localized string similar to LINQ method '{0}' not supported.. - - - - - Looks up a localized string similar to Expression contains a call to a method which is not virtual (overridable in VB) or abstract. Unsupported expression: {0}. - - - - - Looks up a localized string similar to Member {0}.{1} does not exist.. - - - - - Looks up a localized string similar to Method {0}.{1} is public. Use strong-typed Expect overload instead: - mock.Setup(x => x.{1}()); - . - - - - - Looks up a localized string similar to {0} invocation failed with mock behavior {1}. - {2}. - - - - - Looks up a localized string similar to Expected only {0} calls to {1}.. - - - - - Looks up a localized string similar to Expected only one call to {0}.. - - - - - Looks up a localized string similar to {0} - Expected invocation on the mock at least {2} times, but was {4} times: {1}. - - - - - Looks up a localized string similar to {0} - Expected invocation on the mock at least once, but was never performed: {1}. - - - - - Looks up a localized string similar to {0} - Expected invocation on the mock at most {3} times, but was {4} times: {1}. - - - - - Looks up a localized string similar to {0} - Expected invocation on the mock at most once, but was {4} times: {1}. - - - - - Looks up a localized string similar to {0} - Expected invocation on the mock between {2} and {3} times (Exclusive), but was {4} times: {1}. - - - - - Looks up a localized string similar to {0} - Expected invocation on the mock between {2} and {3} times (Inclusive), but was {4} times: {1}. - - - - - Looks up a localized string similar to {0} - Expected invocation on the mock exactly {2} times, but was {4} times: {1}. - - - - - Looks up a localized string similar to {0} - Expected invocation on the mock should never have been performed, but was {4} times: {1}. - - - - - Looks up a localized string similar to {0} - Expected invocation on the mock once, but was {4} times: {1}. - - - - - Looks up a localized string similar to All invocations on the mock must have a corresponding setup.. - - - - - Looks up a localized string similar to Object instance was not created by Moq.. - - - - - Looks up a localized string similar to Out expression must evaluate to a constant value.. - - - - - Looks up a localized string similar to Property {0}.{1} does not have a getter.. - - - - - Looks up a localized string similar to Property {0}.{1} does not exist.. - - - - - Looks up a localized string similar to Property {0}.{1} is write-only.. - - - - - Looks up a localized string similar to Property {0}.{1} is read-only.. - - - - - Looks up a localized string similar to Property {0}.{1} does not have a setter.. - - - - - Looks up a localized string similar to Cannot raise a mocked event unless it has been associated (attached) to a concrete event in a mocked object.. - - - - - Looks up a localized string similar to Ref expression must evaluate to a constant value.. - - - - - Looks up a localized string similar to Invocation needs to return a value and therefore must have a corresponding setup that provides it.. - - - - - Looks up a localized string similar to A lambda expression is expected as the argument to It.Is<T>.. - - - - - Looks up a localized string similar to Invocation {0} should not have been made.. - - - - - Looks up a localized string similar to Expression is not a method invocation: {0}. - - - - - Looks up a localized string similar to Expression is not a property access: {0}. - - - - - Looks up a localized string similar to Expression is not a property setter invocation.. - - - - - Looks up a localized string similar to Expression references a method that does not belong to the mocked object: {0}. - - - - - Looks up a localized string similar to Invalid setup on a non-virtual (overridable in VB) member: {0}. - - - - - Looks up a localized string similar to Type {0} does not implement required interface {1}. - - - - - Looks up a localized string similar to Type {0} does not from required type {1}. - - - - - Looks up a localized string similar to To specify a setup for public property {0}.{1}, use the typed overloads, such as: - mock.Setup(x => x.{1}).Returns(value); - mock.SetupGet(x => x.{1}).Returns(value); //equivalent to previous one - mock.SetupSet(x => x.{1}).Callback(callbackDelegate); - . - - - - - Looks up a localized string similar to Unsupported expression: {0}. - - - - - Looks up a localized string similar to Only property accesses are supported in intermediate invocations on a setup. Unsupported expression {0}.. - - - - - Looks up a localized string similar to Expression contains intermediate property access {0}.{1} which is of type {2} and cannot be mocked. Unsupported expression {3}.. - - - - - Looks up a localized string similar to Setter expression cannot use argument matchers that receive parameters.. - - - - - Looks up a localized string similar to Member {0} is not supported for protected mocking.. - - - - - Looks up a localized string similar to Setter expression can only use static custom matchers.. - - - - - Looks up a localized string similar to The following setups were not matched: - {0}. - - - - - Looks up a localized string similar to Invalid verify on a non-virtual (overridable in VB) member: {0}. - - - - - Allows setups to be specified for protected members by using their - name as a string, rather than strong-typing them which is not possible - due to their visibility. - - - - - Specifies a setup for a void method invocation with the given - , optionally specifying arguments for the method call. - - The name of the void method to be invoked. - The optional arguments for the invocation. If argument matchers are used, - remember to use rather than . - - - - Specifies a setup for an invocation on a property or a non void method with the given - , optionally specifying arguments for the method call. - - The name of the method or property to be invoked. - The optional arguments for the invocation. If argument matchers are used, - remember to use rather than . - The return type of the method or property. - - - - Specifies a setup for an invocation on a property getter with the given - . - - The name of the property. - The type of the property. - - - - Specifies a setup for an invocation on a property setter with the given - . - - The name of the property. - The property value. If argument matchers are used, - remember to use rather than . - The type of the property. - - - - Specifies a verify for a void method with the given , - optionally specifying arguments for the method call. Use in conjuntion with the default - . - - The invocation was not call the times specified by - . - The name of the void method to be verified. - The number of times a method is allowed to be called. - The optional arguments for the invocation. If argument matchers are used, - remember to use rather than . - - - - Specifies a verify for an invocation on a property or a non void method with the given - , optionally specifying arguments for the method call. - - The invocation was not call the times specified by - . - The name of the method or property to be invoked. - The optional arguments for the invocation. If argument matchers are used, - remember to use rather than . - The number of times a method is allowed to be called. - The type of return value from the expression. - - - - Specifies a verify for an invocation on a property getter with the given - . - The invocation was not call the times specified by - . - - The name of the property. - The number of times a method is allowed to be called. - The type of the property. - - - - Specifies a setup for an invocation on a property setter with the given - . - - The invocation was not call the times specified by - . - The name of the property. - The number of times a method is allowed to be called. - The property value. - The type of the property. If argument matchers are used, - remember to use rather than . - - - - Allows the specification of a matching condition for an - argument in a protected member setup, rather than a specific - argument value. "ItExpr" refers to the argument being matched. - - - Use this variant of argument matching instead of - for protected setups. - This class allows the setup to match a method invocation - with an arbitrary value, with a value in a specified range, or - even one that matches a given predicate, or null. - - - - - Matches a null value of the given type. - - - Required for protected mocks as the null value cannot be used - directly as it prevents proper method overload selection. - - - - // Throws an exception for a call to Remove with a null string value. - mock.Protected() - .Setup("Remove", ItExpr.IsNull<string>()) - .Throws(new InvalidOperationException()); - - - Type of the value. - - - - Matches any value of the given type. - - - Typically used when the actual argument value for a method - call is not relevant. - - - - // Throws an exception for a call to Remove with any string value. - mock.Protected() - .Setup("Remove", ItExpr.IsAny<string>()) - .Throws(new InvalidOperationException()); - - - Type of the value. - - - - Matches any value that satisfies the given predicate. - - Type of the argument to check. - The predicate used to match the method argument. - - Allows the specification of a predicate to perform matching - of method call arguments. - - - This example shows how to return the value 1 whenever the argument to the - Do method is an even number. - - mock.Protected() - .Setup("Do", ItExpr.Is<int>(i => i % 2 == 0)) - .Returns(1); - - This example shows how to throw an exception if the argument to the - method is a negative number: - - mock.Protected() - .Setup("GetUser", ItExpr.Is<int>(i => i < 0)) - .Throws(new ArgumentException()); - - - - - - Matches any value that is in the range specified. - - Type of the argument to check. - The lower bound of the range. - The upper bound of the range. - The kind of range. See . - - The following example shows how to expect a method call - with an integer argument within the 0..100 range. - - mock.Protected() - .Setup("HasInventory", - ItExpr.IsAny<string>(), - ItExpr.IsInRange(0, 100, Range.Inclusive)) - .Returns(false); - - - - - - Matches a string argument if it matches the given regular expression pattern. - - The pattern to use to match the string argument value. - - The following example shows how to expect a call to a method where the - string argument matches the given regular expression: - - mock.Protected() - .Setup("Check", ItExpr.IsRegex("[a-z]+")) - .Returns(1); - - - - - - Matches a string argument if it matches the given regular expression pattern. - - The pattern to use to match the string argument value. - The options used to interpret the pattern. - - The following example shows how to expect a call to a method where the - string argument matches the given regular expression, in a case insensitive way: - - mock.Protected() - .Setup("Check", ItExpr.IsRegex("[a-z]+", RegexOptions.IgnoreCase)) - .Returns(1); - - - - - - Enables the Protected() method on , - allowing setups to be set for protected members by using their - name as a string, rather than strong-typing them which is not possible - due to their visibility. - - - - - Enable protected setups for the mock. - - Mocked object type. Typically omitted as it can be inferred from the mock instance. - The mock to set the protected setups on. - - - - - - - - - - - - Kind of range to use in a filter specified through - . - - - - - The range includes the to and - from values. - - - - - The range does not include the to and - from values. - - - - - Determines the way default values are generated - calculated for loose mocks. - - - - - Default behavior, which generates empty values for - value types (i.e. default(int)), empty array and - enumerables, and nulls for all other reference types. - - - - - Whenever the default value generated by - is null, replaces this value with a mock (if the type - can be mocked). - - - For sealed classes, a null value will be generated. - - - - - A default implementation of IQueryable for use with QueryProvider - - - - - The is a - static method that returns an IQueryable of Mocks of T which is used to - apply the linq specification to. - - - - - Allows creation custom value matchers that can be used on setups and verification, - completely replacing the built-in class with your own argument - matching rules. - - See also . - - - - - Provided for the sole purpose of rendering the delegate passed to the - matcher constructor if no friendly render lambda is provided. - - - - - Initializes the match with the condition that - will be checked in order to match invocation - values. - The condition to match against actual values. - - - - - - - - - This method is used to set an expression as the last matcher invoked, - which is used in the SetupSet to allow matchers in the prop = value - delegate expression. This delegate is executed in "fluent" mode in - order to capture the value being set, and construct the corresponding - methodcall. - This is also used in the MatcherFactory for each argument expression. - This method ensures that when we execute the delegate, we - also track the matcher that was invoked, so that when we create the - methodcall we build the expression using it, rather than the null/default - value returned from the actual invocation. - - - - - Allows creation custom value matchers that can be used on setups and verification, - completely replacing the built-in class with your own argument - matching rules. - Type of the value to match. - The argument matching is used to determine whether a concrete - invocation in the mock matches a given setup. This - matching mechanism is fully extensible. - - Creating a custom matcher is straightforward. You just need to create a method - that returns a value from a call to with - your matching condition and optional friendly render expression: - - [Matcher] - public Order IsBigOrder() - { - return Match<Order>.Create( - o => o.GrandTotal >= 5000, - /* a friendly expression to render on failures */ - () => IsBigOrder()); - } - - This method can be used in any mock setup invocation: - - mock.Setup(m => m.Submit(IsBigOrder()).Throws<UnauthorizedAccessException>(); - - At runtime, Moq knows that the return value was a matcher (note that the method MUST be - annotated with the [Matcher] attribute in order to determine this) and - evaluates your predicate with the actual value passed into your predicate. - - Another example might be a case where you want to match a lists of orders - that contains a particular one. You might create matcher like the following: - - - public static class Orders - { - [Matcher] - public static IEnumerable<Order> Contains(Order order) - { - return Match<IEnumerable<Order>>.Create(orders => orders.Contains(order)); - } - } - - Now we can invoke this static method instead of an argument in an - invocation: - - var order = new Order { ... }; - var mock = new Mock<IRepository<Order>>(); - - mock.Setup(x => x.Save(Orders.Contains(order))) - .Throws<ArgumentException>(); - - - - - - Tracks the current mock and interception context. - - - - - Having an active fluent mock context means that the invocation - is being performed in "trial" mode, just to gather the - target method and arguments that need to be matched later - when the actual invocation is made. - - - - - A that returns an empty default value - for non-mockeable types, and mocks for all other types (interfaces and - non-sealed classes) that can be mocked. - - - - - Allows querying the universe of mocks for those that behave - according to the LINQ query specification. - - - This entry-point into Linq to Mocks is the only one in the root Moq - namespace to ease discovery. But to get all the mocking extension - methods on Object, a using of Moq.Linq must be done, so that the - polluting of the intellisense for all objects is an explicit opt-in. - - - - - Access the universe of mocks of the given type, to retrieve those - that behave according to the LINQ query specification. - - The type of the mocked object to query. - - - - Access the universe of mocks of the given type, to retrieve those - that behave according to the LINQ query specification. - - The predicate with the setup expressions. - The type of the mocked object to query. - - - - Creates an mock object of the indicated type. - - The type of the mocked object. - The mocked object created. - - - - Creates an mock object of the indicated type. - - The predicate with the setup expressions. - The type of the mocked object. - The mocked object created. - - - - Creates the mock query with the underlying queriable implementation. - - - - - Wraps the enumerator inside a queryable. - - - - - Method that is turned into the actual call from .Query{T}, to - transform the queryable query into a normal enumerable query. - This method is never used directly by consumers. - - - - - Extension method used to support Linq-like setup properties that are not virtual but do have - a getter and a setter, thereby allowing the use of Linq to Mocks to quickly initialize Dtos too :) - - - - - Helper extensions that are used by the query translator. - - - - - Retrieves a fluent mock from the given setup expression. - - - - - Defines the number of invocations allowed by a mocked method. - - - - - Specifies that a mocked method should be invoked times as minimum. - The minimun number of times.An object defining the allowed number of invocations. - - - - Specifies that a mocked method should be invoked one time as minimum. - An object defining the allowed number of invocations. - - - - Specifies that a mocked method should be invoked time as maximun. - The maximun number of times.An object defining the allowed number of invocations. - - - - Specifies that a mocked method should be invoked one time as maximun. - An object defining the allowed number of invocations. - - - - Specifies that a mocked method should be invoked between and - times. - The minimun number of times.The maximun number of times. - The kind of range. See . - An object defining the allowed number of invocations. - - - - Specifies that a mocked method should be invoked exactly times. - The times that a method or property can be called.An object defining the allowed number of invocations. - - - - Specifies that a mocked method should not be invoked. - An object defining the allowed number of invocations. - - - - Specifies that a mocked method should be invoked exactly one time. - An object defining the allowed number of invocations. - - - - 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. - - - - - Determines whether two specified objects have the same value. - - The first . - - The second . - - true if the value of left is the same as the value of right; otherwise, false. - - - - - Determines whether two specified objects have different values. - - The first . - - The second . - - true if the value of left is different from the value of right; otherwise, false. - - - - + + + + Moq + + + + + is a kind of that works by + applying a delegate to a light-weight proxy that records the invocation + happening to it, and auto-generates the same kind of recording proxy for its return value. + That way, a chain of invocation records is generated from which a LINQ expression tree can be + reconstructed. + + + + + Recursively gets the result of (i.e. "unwraps") completed awaitables + until a value is found that isn't a successfully completed awaitable. + + + As an example, given := Task.FromResult(Task.FromResult(42)), + this method will return 42. + + The (possibly awaitable) object to be "unwrapped". + + + + Abstract base class that facilitates type-safe implementation of + for awaitables that do not produce a result when awaited. + + + + + Abstract base class that facilitates type-safe implementation of + for awaitables that produce a result when awaited. + + + + + Allows to create parameter captures in setup expressions. + + + + + Creates a parameter capture that will store values in a collection. + + The captured object type + The collection that will store captured parameter values + + Arrange code: + + var parameters = new List{string}(); + mock.Setup(x => x.DoSomething(Capture.In(parameters))); + + Assert code: + + Assert.Equal("Hello!", parameters.Single()); + + + + + + Creates a parameter capture that will store specific values in a collection. + + The captured object type + The collection that will store captured parameter values + A predicate used to filter captured parameters + + Arrange code: + + var parameters = new List{string}(); + mock.Setup(x => x.DoSomething(Capture.In(parameters, p => p.StartsWith("W")))); + + Assert code: + + Assert.Equal("Hello!", parameters.Single()); + + + + + + Creates a parameter capture using specified . + + The captured object type + + Arrange code: + + var capturedValue = string.Empty; + var match = new CaptureMatch{string}(x => capturedValue = x); + mock.Setup(x => x.DoSomething(Capture.With(match))); + + Assert code: + + Assert.Equal("Hello!", capturedValue); + + + + + + Allows creation custom matchers that can be used on setups to capture parameter values. + + + + + + Initializes an instance of the capture match. + + An action to run on captured value + + + + Initializes an instance of the capture match. + + An action to run on captured value + A predicate used to filter captured parameters + + + + Determines the way default values are generated + calculated for loose mocks. + + + + + Default behavior, which generates empty values for + value types (i.e. default(int)), empty array and + enumerables, and nulls for all other reference types. + + + + + Whenever the default value generated by + is null, replaces this value with a mock (if the type + can be mocked). + + + For sealed classes, a null value will be generated. + + + + + + All default value generation strategies other than or + are represented by this enumeration value. + + + Do not set (nor ) to this value. + If you want to set up a custom default value generation strategy, set + or instead. + + + + + + + + is the abstract base class for default value providers. + These are responsible for producing e. g. return values when mock methods or properties get invoked unexpectedly. + In other words, whenever there is no setup that would determine the return value for a particular invocation, + Moq asks the mock's default value provider to produce a return value. + + + + + Gets the corresponding to ; + that is, a default value provider returning "empty" values e. g. for collection types. + + + + + Gets the corresponding to ; + that is, a default value provider returning mocked objects or "empty" values for unmockable types. + + + + + Initializes a new instance of the class. + + + + + Gets the enumeration value that corresponds to this default value provider. + Must be overridden by Moq's internal providers that have their own corresponding . + + + + + Produces a default value of the specified type. + Must be overridden in derived classes. + + The of the requested default value. + The on which an unexpected invocation has occurred. + + Implementations may assume that all parameters have valid, non-, non- values. + + + + + + Produces a default argument value for the specified method parameter. + May be overridden in derived classes. + + + By default, this method will delegate to . + + + The describing the method parameter for which a default argument value should be produced. + The on which an unexpected invocation has occurred. + + Implementations may assume that all parameters have valid, non-, non- values. + + + + + + Produces a default return value for the specified method. + May be overridden in derived classes. + + + By default, this method will delegate to . + + + The describing the method for which a default return value should be produced. + The on which an unexpected invocation has occurred. + + Implementations may assume that all parameters have valid, non-, non- values. + + + + + A that returns an empty default value + for invocations that do not have setups or return values, with loose mocks. + This is the default behavior for a mock. + + + + + Provides partial evaluation of subtrees, whenever they can be evaluated locally. + + Matt Warren: http://blogs.msdn.com/mattwar + Documented by InSTEDD: http://www.instedd.org + + + + Performs evaluation and replacement of independent sub-trees + + The root of the expression tree. + A function that decides whether a given expression + node can be part of the local function. + A new tree with sub-trees evaluated and replaced. + + + + Performs evaluation and replacement of independent sub-trees + + The root of the expression tree. + A new tree with sub-trees evaluated and replaced. + + + + Evaluates and replaces sub-trees when first candidate is reached (top-down) + + + + + Performs bottom-up analysis to determine which nodes can possibly + be part of an evaluated sub-tree. + + + + + An compiles LINQ expression trees () to delegates. + Whenever Moq needs to compile an expression tree, it uses the instance set up by . + + + + + The default instance, which simply delegates to the framework's . + + + + + Gets or sets the instance that Moq uses to compile (LINQ expression trees). + Defaults to . + + + + + Initializes a new instance of the class. + + + + + Compiles the specified LINQ expression tree. + + The LINQ expression tree that should be compiled. + + + + Compiles the specified LINQ expression tree. + + The type of delegate to which the expression will be compiled. + The LINQ expression tree that should be compiled. + + + + Wraps this in a node if needed. + + The which should be wrapped. + The with which to make the compatible. + + LINQ expression trees generally enforce type compatibility rules that are stricter than + the assignment-compatibility used by e.g. . For + example, while is assignable-to , you + will need a conversion in a LINQ expression tree to model the value-type boxing operation. + + + + + Checks whether the given expression can be split by . + + + + + Splits an expression such as `m => m.A.B(x).C[y] = z` into a chain of parts + that can be set up one at a time: + + `m => m.A`, + `... => ....B(x)`, + `... => ....C`, + `... => ...[y] = z`. + + + The split points are chosen such that each part has exactly one associated + and optionally some argument expressions. + + + + It was not possible to completely split up the expression. + + + + + Converts the body of the lambda expression into the referenced by it. + + + + + Checks whether the body of the lambda expression is a property access. + + + + + Checks whether the body of the lambda expression is a indexer access. + + + + + TODO: remove this code when https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=331583 + is fixed. + + + + + Applies the specified to this expression tree. + + The to which should be applied. + The that should be applied to . + + + + A reconstructs LINQ expression trees () + from delegates. It is the counterpart to . + + + + + Reconstructs a from the given delegate. + + The delegate for which to reconstruct a LINQ expression tree. + Arguments to pass to a parameterized constructor of . (Optional.) + + + + Extracts the arguments from a lambda expression that calls a constructor. + + The constructor expression. + Extracted argument values. + + + + Evaluates variables that have been closed over by a lambda function. + + + + + Replaces nodes for property or indexer accessor methods + with equivalent nodes. + + + + In the case of getter accessors such as `x.get_Property()`, the result will be + a single node: `x.Property`. + + + In the case of setter accessors such as `x.set_Property(y)`, the result will be + a combination of and : + `x.Property = y`. + + + + + + + + Gets the default value for the specified type. This is the Reflection counterpart of C#'s operator. + + + + + Gets the least-derived in the given type that provides + the implementation for the given . + + + + + Gets whether the given is a delegate type. + + + + + Visits all constituent parts of , replacing all type matchers + that match the type argument at the corresponding position in . + + The type to be matched. May be, or contain, type matchers. + The type argument to match against . + + + + Ensures the given is not null. + Throws otherwise. + + + + + Ensures the given string is not null or empty. + Throws in the first case, or + in the latter. + + + + + Provides information about an invocation of a mock object. + + + + + Gets the method of the invocation. + + + + + Gets the arguments of the invocation. + + + + + Gets the setup that matched this invocation (or if there was no matching setup). + + + + + Gets whether this invocation was successfully verified by any of the various `Verify` methods. + + + + + The value being returned for a non-void method if no exception was thrown. + + + + + Optional exception if the method invocation results in an exception being thrown. + + + + + A list of invocations which have been performed on a mock. + + + + + Resets all invocations recorded for this mock. + + + + + Covariant interface for such that casts between IMock<Employee> to IMock<Person> + are possible. Only covers the covariant members of . + + + + + Exposes the mocked object instance. + + + + + Behavior of the mock, according to the value set in the constructor. + + + + + Whether the base member virtual implementation will be called for mocked classes if no setup is matched. + Defaults to . + + + + + Specifies the behavior to use when returning default values for unexpected invocations on loose mocks. + + + + + Implemented by all generated mock object instances. + + + + + Reference the Mock that contains this as the mock.Object value. + + + + + Implemented by all generated mock object instances. + + + + + Reference the Mock that contains this as the mock.Object value. + + + + + This role interface represents a 's ability to intercept method invocations for its . + It is meant for use by . + + + + + Base class for mocks and static helper class with methods that apply to mocked objects, + such as to retrieve a from an object instance. + + + + + Creates a mock object of the indicated type. + + The type of the mocked object. + The mocked object created. + + + + Creates a mock object of the indicated type. + + Behavior of the mock. + The type of the mocked object. + The mocked object created. + + + + Creates a mock object of the indicated type. + + The predicate with the specification of how the mocked object should behave. + The type of the mocked object. + The mocked object created. + + + + Creates a mock object of the indicated type. + + The predicate with the specification of how the mocked object should behave. + Behavior of the mock. + The type of the mocked object. + The mocked object created. + + + + Initializes a new instance of the class. + + + + + Retrieves the mock object for the given object instance. + + The instance of the mocked object. + + Type of the mock to retrieve. + Can be omitted as it's inferred from the object instance passed in as the instance. + + The mock associated with the mocked object. + The received instance was not created by Moq. + + The following example shows how to add a new setup to an object instance + which is not the original but rather the object associated with it: + + // Typed instance, not the mock, is retrieved from some test API. + HttpContextBase context = GetMockContext(); + + // context.Request is the typed object from the "real" API + // so in order to add a setup to it, we need to get + // the mock that "owns" it + Mock<HttpRequestBase> request = Mock.Get(context.Request); + + request.Setup(req => req.AppRelativeCurrentExecutionFilePath) + .Returns(tempUrl); + + + + + + Verifies that all verifiable expectations have been met. + + Not all verifiable expectations were met. + + + + Verifies all expectations regardless of whether they have been flagged as verifiable. + + At least one expectation was not met. + + + + Gets the interfaces additionally implemented by the mock object. + + + This list may be modified by calls to up until the first call to . + + + + + Behavior of the mock, according to the value set in the constructor. + + + + + Whether the base member virtual implementation will be called for mocked classes if no setup is matched. + Defaults to . + + + + + Specifies the behavior to use when returning default values for unexpected invocations on loose mocks. + + + + + Gets the mocked object instance. + + + + + Gets the interfaces directly inherited from the mocked type (). + + + + + Gets list of invocations which have been performed on this mock. + + + + + Returns the mocked object value. + + + + + Retrieves the type of the mocked object, its generic type argument. + This is used in the auto-mocking of hierarchy access. + + + + + Gets or sets the instance that will be used + e. g. to produce default return values for unexpected invocations. + + + + + The used to initialize automatically stubbed properties. + It is equal to the value of at the time when + was last called. + + + + + Gets the setups that have been configured on this mock, + in chronological order (that is, oldest setup first, most recent setup last). + + + + + A set of switches that influence how this mock will operate. + You can opt in or out of certain features via this property. + + + + + Verifies that all verifiable expectations have been met. + + Not all verifiable expectations were met. + + This example sets up an expectation and marks it as verifiable. + After the mock is used, a Verify() call is issued on the mock + to ensure the method in the setup was invoked: + + var mock = new Mock<IWarehouse>(); + this.Setup(x => x.HasInventory(TALISKER, 50)) + .Returns(true) + .Verifiable(); + + ... + + // Will throw if the test code did not call HasInventory. + this.Verify(); + + + + + + Verifies all expectations regardless of whether they have been flagged as verifiable. + + At least one expectation was not met. + + This example sets up an expectation without marking it as verifiable. + After the mock is used, a call is issued on the mock + to ensure that all expectations are met: + + var mock = new Mock<IWarehouse>(); + this.Setup(x => x.HasInventory(TALISKER, 50)) + .Returns(true); + + ... + + // Will throw if the test code did not call HasInventory, + // even though that expectation was not marked as verifiable. + mock.VerifyAll(); + + + + + + Adds an interface implementation to the mock, allowing setups to be specified for it. + + + This method can only be called before the first use of the mock property, + at which point the runtime type has already been generated and no more interfaces can be added to it. + + Also, must be an interface and not a class, + which must be specified when creating the mock instead. + + + Type of interface to cast the mock to. + The specified is not an interface. + + The mock type has already been generated by accessing the property. + + + + + Defines the default return value for all mocked methods or properties with return type . + + The return type for which to define a default value. + The default return value. + + Default return value is respected only when there is no matching setup for a method call. + + + + + Initializes a new instance of the class. + + The of the concrete proxy object on which a method is being invoked. + The method being invoked. + The arguments with which the specified is being invoked. + + + + Gets the method of the invocation. + + + + + Gets the arguments of the invocation. + + + Arguments may be modified. Derived classes must ensure that by-reference parameters are written back + when the invocation is ended by a call to any of the three Returns methods. + + + + + Calls the method implementation + and returns its return value (or for methods). + + + + + + + + Internal type to mark invocation results as "exception occurred during execution". The type just + wraps the Exception so a thrown exception can be distinguished from an + return value. + + + + + A delegate-like type for use with `setup.Callback` which instructs the `Callback` verb + to provide the callback with the current , instead of + with a list of arguments. + + This type is useful in scenarios involving generic type argument matchers (such as + ) as allows the discovery of both + arguments and type arguments. + + + + + + Initializes a new instance of the type. + + The delegate that should be wrapped by this instance. + + + + A delegate-like type for use with `setup.Returns` which instructs the `Returns` verb + to provide the callback with the current , instead of + with a list of arguments. + + This type is useful in scenarios involving generic type argument matchers (such as + ) as allows the discovery of both + arguments and type arguments. + + + + + + Initializes a new instance of the type. + + The delegate that should be wrapped by this instance. + + + + Describes the "shape" of an invocation against which concrete s can be matched. + + This shape is described by which has the general form + `mock => mock.Method(...arguments)`. Because the method and arguments are frequently needed, + they are cached in and + for faster access. + + + + + + A setup configured on a mock. + + + + + + The setup expression. + + + + + Gets the inner mock of this setup (if present and known). + + An "inner mock" is the instance associated with a setup's return value, + if that setup is configured to return a mock object. + + + This property will be if a setup either does not return a mock object, + or if Moq cannot safely determine its return value without risking any side effects. For instance, + Moq is able to inspect the return value if it is a constant (e.g. `.Returns(value)`); + if, on the other hand, it gets computed by a factory function (e.g. `.Returns(() => value)`), + Moq will not attempt to retrieve that value just to find the inner mock, + since calling a user-provided function could have effects beyond Moq's understanding and control. + + + + + + Gets whether this setup is conditional. + + + + + + Gets whether this setup was matched by at least one invocation on the mock. + + + + + Gets whether this setup has been overridden + (that is, whether it is being shadowed by a more recent non-conditional setup with an equal expression). + + + + + Gets whether this setup is "verifiable". + + + This property gets sets by the `.Verifiable()` setup verb. + + Note that setups can be verified even if this property is : + completely ignores this property. + , however, will only verify setups where this property is . + + + + + + Returns the instance to which this setup belongs. + + + + + Returns the original setup expression from which this setup resulted. + + For setups doing a simple member access or method invocation (such as `mock => mock.Member`), + this property will be equal to . + + + For setups whose expression involves member chaining (such as `parent => parent.Child.Member`), + Moq does not create a single setup, but one for each member access/invocation. + The example just given will result in two setups: + + a setup for `parent => parent.Child` on the parent mock; and + on its inner mock, a setup for `(child) => (child).Member`. + + These are the setups that will be put in the mocks' collections; + their will return the partial expression for just a single member access, + while their will return the original, full expression. + + + This property may also return if this setup was created automatically, + e.g. by or by . + + + + + + Verifies this setup and optionally all verifiable setups of its inner mock (if present and known). + + If is set to , + the semantics of this method are essentially the same as those of , + except that this setup (instead of a mock) is used as the starting point for verification, + and will always be verified itself (even if not flagged as verifiable). + + + + Specifies whether recursive verification should be performed. + + + Verification failed due to one or more unmatched setups. + + + + + + + Verifies this setup and all setups of its inner mock (if present and known), + regardless of whether they have been flagged as verifiable. + + The semantics of this method are essentially the same as those of , + except that this setup (instead of a mock) is used as the starting point for verification. + + + + Verification failed due to one or more unmatched setups. + + + + + + + A list of setups that have been configured on a mock, + in chronological order (that is, oldest setup first, most recent setup last). + + + + + Allows the specification of a matching condition for an argument in a method invocation, + rather than a specific argument value. "It" refers to the argument being matched. + + + This class allows the setup to match a method invocation with an arbitrary value, + with a value in a specified range, or even one that matches a given predicate. + + + + + Contains matchers for (C#) / (VB.NET) parameters of type . + + The parameter type. + + + + Matches any value that is assignment-compatible with type . + + + + + Matches any value of the given type. + + Type of the value. + + Typically used when the actual argument value for a method call is not relevant. + + + + // Throws an exception for a call to Remove with any string value. + mock.Setup(x => x.Remove(It.IsAny<string>())).Throws(new InvalidOperationException()); + + + + + + A type matcher that matches any generic type argument. + + If the generic type parameter is constrained to (C#) / + (VB.NET), use instead. + + + If the generic type parameter has more specific constraints, + you can define your own type matcher inheriting from the type to which the type parameter is constrained. + See and . + + + + + + Matches any value of the given type, except null. + + Type of the value. + + + + Matches any value that satisfies the given predicate. + + The predicate used to match the method argument. + Type of the argument to check. + + Allows the specification of a predicate to perform matching of method call arguments. + + + This example shows how to return the value 1 whenever the argument to + the Do method is an even number. + + mock.Setup(x => x.Do(It.Is<int>(i => i % 2 == 0))) + .Returns(1); + + + + This example shows how to throw an exception if the argument to the method + is a negative number: + + mock.Setup(x => x.GetUser(It.Is<int>(i => i < 0))) + .Throws(new ArgumentException()); + + + + + + Matches any value that satisfies the given predicate. + + Use this overload when you specify a type matcher for . + The callback you provide will then receive the actual parameter type + as well as the invocation argument. + + + The predicate used to match the method argument. + Type of the argument to check. + + Allows the specification of a predicate to perform matching of method call arguments. + + + + + Matches any value that equals the using the . + To use the default comparer for the specified object, specify the value inline, + i.e. mock.Verify(service => service.DoWork(value)). + + Use this overload when you specify a value and a comparer. + + + The value to match with. + An with which the values should be compared. + Type of the argument to check. + + + + Matches any value that is in the range specified. + + The lower bound of the range. + The upper bound of the range. + The kind of range. See . + Type of the argument to check. + + The following example shows how to expect a method call with an integer argument + within the 0..100 range. + + mock.Setup(x => x.HasInventory( + It.IsAny<string>(), + It.IsInRange(0, 100, Range.Inclusive))) + .Returns(false); + + + + + + Matches any value that is present in the sequence specified. + + The sequence of possible values. + Type of the argument to check. + + The following example shows how to expect a method call with an integer argument + with value from a list. + + var values = new List<int> { 1, 2, 3 }; + + mock.Setup(x => x.HasInventory( + It.IsAny<string>(), + It.IsIn(values))) + .Returns(false); + + + + + + Matches any value that is present in the sequence specified. + + The sequence of possible values. + An with which the values should be compared. + Type of the argument to check. + + + + Matches any value that is present in the sequence specified. + + The sequence of possible values. + Type of the argument to check. + + The following example shows how to expect a method call with an integer argument + with a value of 1, 2, or 3. + + mock.Setup(x => x.HasInventory( + It.IsAny<string>(), + It.IsIn(1, 2, 3))) + .Returns(false); + + + + + + Matches any value that is not found in the sequence specified. + + The sequence of disallowed values. + Type of the argument to check. + + The following example shows how to expect a method call with an integer argument + with value not found from a list. + + var values = new List<int> { 1, 2, 3 }; + + mock.Setup(x => x.HasInventory( + It.IsAny<string>(), + It.IsNotIn(values))) + .Returns(false); + + + + + + Matches any value that is not found in the sequence specified. + + The sequence of disallowed values. + An with which the values should be compared. + Type of the argument to check. + + + + Matches any value that is not found in the sequence specified. + + The sequence of disallowed values. + Type of the argument to check. + + The following example shows how to expect a method call with an integer argument + of any value except 1, 2, or 3. + + mock.Setup(x => x.HasInventory( + It.IsAny<string>(), + It.IsNotIn(1, 2, 3))) + .Returns(false); + + + + + + Matches a string argument if it matches the given regular expression pattern. + + The pattern to use to match the string argument value. + + The following example shows how to expect a call to a method where the string argument + matches the given regular expression: + + mock.Setup(x => x.Check(It.IsRegex("[a-z]+"))) + .Returns(1); + + + + + + Matches a string argument if it matches the given regular expression pattern. + + The pattern to use to match the string argument value. + The options used to interpret the pattern. + + The following example shows how to expect a call to a method where the string argument + matches the given regular expression, in a case insensitive way: + + mock.Setup(x => x.Check(It.IsRegex("[a-z]+", RegexOptions.IgnoreCase))) + .Returns(1); + + + + + + A type matcher that matches subtypes of , as well as itself. + + The type whose subtypes should match. + + + + A type matcher that matches any value type. + + + + + Types that implement this interface represent a criterion against which generic type arguments are matched. + + To be used in combination with . + + + + + + Matches the provided type argument against the criterion represented by this type matcher. + + + The generic type argument that should be matched. + + + if the provided type argument matched the criterion represented by this instance; + otherwise, . + + + + + Implements the fluent API. + + + + + Implements the fluent API. + + + + + Implements the fluent API. + + + + + Implements the fluent API. + + + + + Implements the fluent API. + + + + + Implements the fluent API. + + + + + Implements the fluent API. + + + + + Implements the fluent API. + + + + + Implements the fluent API. + + + + + Implements the fluent API. + + + + + Defines the Callback verb and overloads. + + + + + Specifies a callback to invoke when the method is called that receives the original . + + This overload is intended to be used in scenarios involving generic type argument matchers + (such as ). The callback will receive the current , + which allows discovery of both arguments and type arguments. + + + For all other use cases, you should prefer the other Callback overloads as they provide + better static type safety. + + + + + Figure out the generic type argument used for a mocked method call: + mock.Setup(m => m.DoSomethingWith<It.IsAnyType>(...)) + .Callback(new InvocationAction(invocation => + { + var typeArgument = invocation.Method.GetGenericArguments()[0]; + // do something interesting with the type argument + }); + mock.Object.DoSomethingWith<Something>(); + + + + + + Specifies a callback of any delegate type to invoke when the method is called. + This overload specifically allows you to define callbacks for methods with by-ref parameters. + By-ref parameters can be assigned to. + + The callback method to invoke. Must have return type void (C#) or be a Sub (VB.NET). + + Invokes the given callback with the concrete invocation argument value. You can modify + by-ref parameters inside the callback. + + delegate void ExecuteAction(ref Command command); + + Command c = ...; + mock.Setup(x => x.Execute(ref c)) + .Callback(new ExecuteAction((ref Command command) => Console.WriteLine("Executing command..."))); + + + + + + Specifies a callback to invoke when the method is called. + + The callback method to invoke. + + The following example specifies a callback to set a boolean + value that can be used later: + + var called = false; + mock.Setup(x => x.Execute()) + .Callback(() => called = true); + + + + + + Specifies a callback to invoke when the method is called that receives the original arguments. + + The argument type of the invoked method. + The callback method to invoke. + + Invokes the given callback with the concrete invocation argument value. + + Notice how the specific string argument is retrieved by simply declaring + it as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute(It.IsAny<string>())) + .Callback((string command) => Console.WriteLine(command)); + + + + + + Specifies a callback to invoke when the method is called that receives the original arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((string arg1, string arg2) => Console.WriteLine(arg1 + arg2)); + + + + + + Specifies a callback to invoke when the method is called that receives the original arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((string arg1, string arg2, string arg3) => Console.WriteLine(arg1 + arg2 + arg3)); + + + + + + Specifies a callback to invoke when the method is called that receives the original arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((string arg1, string arg2, string arg3, string arg4) => Console.WriteLine(arg1 + arg2 + arg3 + arg4)); + + + + + + Specifies a callback to invoke when the method is called that receives the original arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((string arg1, string arg2, string arg3, string arg4, string arg5) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5)); + + + + + + Specifies a callback to invoke when the method is called that receives the original arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6)); + + + + + + Specifies a callback to invoke when the method is called that receives the original arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7)); + + + + + + Specifies a callback to invoke when the method is called that receives the original arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8)); + + + + + + Specifies a callback to invoke when the method is called that receives the original arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the ninth argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9)); + + + + + + Specifies a callback to invoke when the method is called that receives the original arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the ninth argument of the invoked method. + The type of the tenth argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10)); + + + + + + Specifies a callback to invoke when the method is called that receives the original arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the ninth argument of the invoked method. + The type of the tenth argument of the invoked method. + The type of the eleventh argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11)); + + + + + + Specifies a callback to invoke when the method is called that receives the original arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the ninth argument of the invoked method. + The type of the tenth argument of the invoked method. + The type of the eleventh argument of the invoked method. + The type of the twelfth argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12)); + + + + + + Specifies a callback to invoke when the method is called that receives the original arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the ninth argument of the invoked method. + The type of the tenth argument of the invoked method. + The type of the eleventh argument of the invoked method. + The type of the twelfth argument of the invoked method. + The type of the thirteenth argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12, string arg13) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13)); + + + + + + Specifies a callback to invoke when the method is called that receives the original arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the ninth argument of the invoked method. + The type of the tenth argument of the invoked method. + The type of the eleventh argument of the invoked method. + The type of the twelfth argument of the invoked method. + The type of the thirteenth argument of the invoked method. + The type of the fourteenth argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12, string arg13, string arg14) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13 + arg14)); + + + + + + Specifies a callback to invoke when the method is called that receives the original arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the ninth argument of the invoked method. + The type of the tenth argument of the invoked method. + The type of the eleventh argument of the invoked method. + The type of the twelfth argument of the invoked method. + The type of the thirteenth argument of the invoked method. + The type of the fourteenth argument of the invoked method. + The type of the fifteenth argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12, string arg13, string arg14, string arg15) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13 + arg14 + arg15)); + + + + + + Specifies a callback to invoke when the method is called that receives the original arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the ninth argument of the invoked method. + The type of the tenth argument of the invoked method. + The type of the eleventh argument of the invoked method. + The type of the twelfth argument of the invoked method. + The type of the thirteenth argument of the invoked method. + The type of the fourteenth argument of the invoked method. + The type of the fifteenth argument of the invoked method. + The type of the sixteenth argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12, string arg13, string arg14, string arg15, string arg16) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13 + arg14 + arg15 + arg16)); + + + + + + Defines the Callback verb and overloads for callbacks on + setups that return a value. + + Mocked type. + Type of the return value of the setup. + + + + Specifies a callback to invoke when the method is called that receives the original . + + This overload is intended to be used in scenarios involving generic type argument matchers + (such as ). The callback will receive the current , + which allows discovery of both arguments and type arguments. + + + For all other use cases, you should prefer the other Callback overloads as they provide + better static type safety. + + + + Figure out the generic type argument used for a mocked method call: + + mock.Setup(m => m.DoSomethingWith<It.IsAnyType>(...)) + .Callback(new InvocationAction(invocation => + { + var typeArgument = invocation.Method.GetGenericArguments()[0]; + // do something interesting with the type argument + }); + mock.Object.DoSomethingWith<Something>(); + + + + + + Specifies a callback of any delegate type to invoke when the method is called. + This overload specifically allows you to define callbacks for methods with by-ref parameters. + By-ref parameters can be assigned to. + + The callback method to invoke. Must have return type void (C#) or be a Sub (VB.NET). + + Invokes the given callback with the concrete invocation argument value. You can modify + by-ref parameters inside the callback. + + delegate void ExecuteAction(ref Command command); + + Command c = ...; + mock.Setup(x => x.Execute(ref c)) + .Callback(new ExecuteAction((ref Command command) => Console.WriteLine("Executing command..."))); + + + + + + Specifies a callback to invoke when the method is called. + + The callback method to invoke. + + The following example specifies a callback to set a boolean value that can be used later: + + var called = false; + mock.Setup(x => x.Execute()) + .Callback(() => called = true) + .Returns(true); + + Note that in the case of value-returning methods, after the Callback + call you can still specify the return value. + + + + + Specifies a callback to invoke when the method is called that receives the original arguments. + + The type of the argument of the invoked method. + Callback method to invoke. + + Invokes the given callback with the concrete invocation argument value. + + Notice how the specific string argument is retrieved by simply declaring + it as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute(It.IsAny<string>())) + .Callback(command => Console.WriteLine(command)) + .Returns(true); + + + + + + Specifies a callback to invoke when the method is called that receives the original + arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((arg1, arg2) => Console.WriteLine(arg1 + arg2)); + + + + + + Specifies a callback to invoke when the method is called that receives the original + arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((arg1, arg2, arg3) => Console.WriteLine(arg1 + arg2 + arg3)); + + + + + + Specifies a callback to invoke when the method is called that receives the original + arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((arg1, arg2, arg3, arg4) => Console.WriteLine(arg1 + arg2 + arg3 + arg4)); + + + + + + Specifies a callback to invoke when the method is called that receives the original + arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((arg1, arg2, arg3, arg4, arg5) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5)); + + + + + + Specifies a callback to invoke when the method is called that receives the original + arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((arg1, arg2, arg3, arg4, arg5, arg6) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6)); + + + + + + Specifies a callback to invoke when the method is called that receives the original + arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7)); + + + + + + Specifies a callback to invoke when the method is called that receives the original + arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8)); + + + + + + Specifies a callback to invoke when the method is called that receives the original + arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the ninth argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9)); + + + + + + Specifies a callback to invoke when the method is called that receives the original + arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the ninth argument of the invoked method. + The type of the tenth argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10)); + + + + + + Specifies a callback to invoke when the method is called that receives the original + arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the ninth argument of the invoked method. + The type of the tenth argument of the invoked method. + The type of the eleventh argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11)); + + + + + + Specifies a callback to invoke when the method is called that receives the original + arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the ninth argument of the invoked method. + The type of the tenth argument of the invoked method. + The type of the eleventh argument of the invoked method. + The type of the twelfth argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12)); + + + + + + Specifies a callback to invoke when the method is called that receives the original + arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the ninth argument of the invoked method. + The type of the tenth argument of the invoked method. + The type of the eleventh argument of the invoked method. + The type of the twelfth argument of the invoked method. + The type of the thirteenth argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13)); + + + + + + Specifies a callback to invoke when the method is called that receives the original + arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the ninth argument of the invoked method. + The type of the tenth argument of the invoked method. + The type of the eleventh argument of the invoked method. + The type of the twelfth argument of the invoked method. + The type of the thirteenth argument of the invoked method. + The type of the fourteenth argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13 + arg14)); + + + + + + Specifies a callback to invoke when the method is called that receives the original + arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the ninth argument of the invoked method. + The type of the tenth argument of the invoked method. + The type of the eleventh argument of the invoked method. + The type of the twelfth argument of the invoked method. + The type of the thirteenth argument of the invoked method. + The type of the fourteenth argument of the invoked method. + The type of the fifteenth argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13 + arg14 + arg15)); + + + + + + Specifies a callback to invoke when the method is called that receives the original + arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the ninth argument of the invoked method. + The type of the tenth argument of the invoked method. + The type of the eleventh argument of the invoked method. + The type of the twelfth argument of the invoked method. + The type of the thirteenth argument of the invoked method. + The type of the fourteenth argument of the invoked method. + The type of the fifteenth argument of the invoked method. + The type of the sixteenth argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13 + arg14 + arg15 + arg16)); + + + + + + Defines the Callback verb for property getter setups. + + + Mocked type. + Type of the property. + + + + Specifies a callback to invoke when the property is retrieved. + + Callback method to invoke. + + Invokes the given callback with the property value being set. + + mock.SetupGet(x => x.Suspended) + .Callback(() => called = true) + .Returns(true); + + + + + + Defines the Callback verb for property setter setups. + + Type of the property. + + + + Specifies a callback to invoke when the property is set that receives the + property value being set. + + Callback method to invoke. + + Invokes the given callback with the property value being set. + + mock.SetupSet(x => x.Suspended) + .Callback((bool state) => Console.WriteLine(state)); + + + + + + Defines the CallBase verb. + + + + + Calls the real method of the object. + + + + + Defines the Raises verb. + + + + + Specifies the event that will be raised + when the setup is met. + + An expression that represents an event attach or detach action. + The event arguments to pass for the raised event. + + The following example shows how to raise an event when + the setup is met: + + var mock = new Mock<IContainer>(); + + mock.Setup(add => add.Add(It.IsAny<string>(), It.IsAny<object>())) + .Raises(add => add.Added += null, EventArgs.Empty); + + + + + + Specifies the event that will be raised + when the setup is matched. + + An expression that represents an event attach or detach action. + A function that will build the + to pass when raising the event. + + + + + Specifies the custom event that will be raised + when the setup is matched. + + An expression that represents an event attach or detach action. + The arguments to pass to the custom delegate (non EventHandler-compatible). + + + + Specifies the event that will be raised when the setup is matched. + + The expression that represents an event attach or detach action. + The function that will build the + to pass when raising the event. + The type of the first argument received by the expected invocation. + + + + + Specifies the event that will be raised when the setup is matched. + + The expression that represents an event attach or detach action. + The function that will build the + to pass when raising the event. + The type of the first argument received by the expected invocation. + The type of the second argument received by the expected invocation. + + + + + Specifies the event that will be raised when the setup is matched. + + The expression that represents an event attach or detach action. + The function that will build the + to pass when raising the event. + The type of the first argument received by the expected invocation. + The type of the second argument received by the expected invocation. + The type of the third argument received by the expected invocation. + + + + + Specifies the event that will be raised when the setup is matched. + + The expression that represents an event attach or detach action. + The function that will build the + to pass when raising the event. + The type of the first argument received by the expected invocation. + The type of the second argument received by the expected invocation. + The type of the third argument received by the expected invocation. + The type of the fourth argument received by the expected invocation. + + + + + Specifies the event that will be raised when the setup is matched. + + The expression that represents an event attach or detach action. + The function that will build the + to pass when raising the event. + The type of the first argument received by the expected invocation. + The type of the second argument received by the expected invocation. + The type of the third argument received by the expected invocation. + The type of the fourth argument received by the expected invocation. + The type of the fifth argument received by the expected invocation. + + + + + Specifies the event that will be raised when the setup is matched. + + The expression that represents an event attach or detach action. + The function that will build the + to pass when raising the event. + The type of the first argument received by the expected invocation. + The type of the second argument received by the expected invocation. + The type of the third argument received by the expected invocation. + The type of the fourth argument received by the expected invocation. + The type of the fifth argument received by the expected invocation. + The type of the sixth argument received by the expected invocation. + + + + + Specifies the event that will be raised when the setup is matched. + + The expression that represents an event attach or detach action. + The function that will build the + to pass when raising the event. + The type of the first argument received by the expected invocation. + The type of the second argument received by the expected invocation. + The type of the third argument received by the expected invocation. + The type of the fourth argument received by the expected invocation. + The type of the fifth argument received by the expected invocation. + The type of the sixth argument received by the expected invocation. + The type of the seventh argument received by the expected invocation. + + + + + Specifies the event that will be raised when the setup is matched. + + The expression that represents an event attach or detach action. + The function that will build the + to pass when raising the event. + The type of the first argument received by the expected invocation. + The type of the second argument received by the expected invocation. + The type of the third argument received by the expected invocation. + The type of the fourth argument received by the expected invocation. + The type of the fifth argument received by the expected invocation. + The type of the sixth argument received by the expected invocation. + The type of the seventh argument received by the expected invocation. + The type of the eighth argument received by the expected invocation. + + + + + Specifies the event that will be raised when the setup is matched. + + The expression that represents an event attach or detach action. + The function that will build the + to pass when raising the event. + The type of the first argument received by the expected invocation. + The type of the second argument received by the expected invocation. + The type of the third argument received by the expected invocation. + The type of the fourth argument received by the expected invocation. + The type of the fifth argument received by the expected invocation. + The type of the sixth argument received by the expected invocation. + The type of the seventh argument received by the expected invocation. + The type of the eighth argument received by the expected invocation. + The type of the ninth argument received by the expected invocation. + + + + + Specifies the event that will be raised when the setup is matched. + + The expression that represents an event attach or detach action. + The function that will build the + to pass when raising the event. + The type of the first argument received by the expected invocation. + The type of the second argument received by the expected invocation. + The type of the third argument received by the expected invocation. + The type of the fourth argument received by the expected invocation. + The type of the fifth argument received by the expected invocation. + The type of the sixth argument received by the expected invocation. + The type of the seventh argument received by the expected invocation. + The type of the eighth argument received by the expected invocation. + The type of the ninth argument received by the expected invocation. + The type of the tenth argument received by the expected invocation. + + + + + Specifies the event that will be raised when the setup is matched. + + The expression that represents an event attach or detach action. + The function that will build the + to pass when raising the event. + The type of the first argument received by the expected invocation. + The type of the second argument received by the expected invocation. + The type of the third argument received by the expected invocation. + The type of the fourth argument received by the expected invocation. + The type of the fifth argument received by the expected invocation. + The type of the sixth argument received by the expected invocation. + The type of the seventh argument received by the expected invocation. + The type of the eighth argument received by the expected invocation. + The type of the ninth argument received by the expected invocation. + The type of the tenth argument received by the expected invocation. + The type of the eleventh argument received by the expected invocation. + + + + + Specifies the event that will be raised when the setup is matched. + + The expression that represents an event attach or detach action. + The function that will build the + to pass when raising the event. + The type of the first argument received by the expected invocation. + The type of the second argument received by the expected invocation. + The type of the third argument received by the expected invocation. + The type of the fourth argument received by the expected invocation. + The type of the fifth argument received by the expected invocation. + The type of the sixth argument received by the expected invocation. + The type of the seventh argument received by the expected invocation. + The type of the eighth argument received by the expected invocation. + The type of the ninth argument received by the expected invocation. + The type of the tenth argument received by the expected invocation. + The type of the eleventh argument received by the expected invocation. + The type of the twelfth argument received by the expected invocation. + + + + + Specifies the event that will be raised when the setup is matched. + + The expression that represents an event attach or detach action. + The function that will build the + to pass when raising the event. + The type of the first argument received by the expected invocation. + The type of the second argument received by the expected invocation. + The type of the third argument received by the expected invocation. + The type of the fourth argument received by the expected invocation. + The type of the fifth argument received by the expected invocation. + The type of the sixth argument received by the expected invocation. + The type of the seventh argument received by the expected invocation. + The type of the eighth argument received by the expected invocation. + The type of the ninth argument received by the expected invocation. + The type of the tenth argument received by the expected invocation. + The type of the eleventh argument received by the expected invocation. + The type of the twelfth argument received by the expected invocation. + The type of the thirteenth argument received by the expected invocation. + + + + + Specifies the event that will be raised when the setup is matched. + + The expression that represents an event attach or detach action. + The function that will build the + to pass when raising the event. + The type of the first argument received by the expected invocation. + The type of the second argument received by the expected invocation. + The type of the third argument received by the expected invocation. + The type of the fourth argument received by the expected invocation. + The type of the fifth argument received by the expected invocation. + The type of the sixth argument received by the expected invocation. + The type of the seventh argument received by the expected invocation. + The type of the eighth argument received by the expected invocation. + The type of the ninth argument received by the expected invocation. + The type of the tenth argument received by the expected invocation. + The type of the eleventh argument received by the expected invocation. + The type of the twelfth argument received by the expected invocation. + The type of the thirteenth argument received by the expected invocation. + The type of the fourteenth argument received by the expected invocation. + + + + + Specifies the event that will be raised when the setup is matched. + + The expression that represents an event attach or detach action. + The function that will build the + to pass when raising the event. + The type of the first argument received by the expected invocation. + The type of the second argument received by the expected invocation. + The type of the third argument received by the expected invocation. + The type of the fourth argument received by the expected invocation. + The type of the fifth argument received by the expected invocation. + The type of the sixth argument received by the expected invocation. + The type of the seventh argument received by the expected invocation. + The type of the eighth argument received by the expected invocation. + The type of the ninth argument received by the expected invocation. + The type of the tenth argument received by the expected invocation. + The type of the eleventh argument received by the expected invocation. + The type of the twelfth argument received by the expected invocation. + The type of the thirteenth argument received by the expected invocation. + The type of the fourteenth argument received by the expected invocation. + The type of the fifteenth argument received by the expected invocation. + + + + + Specifies the event that will be raised when the setup is matched. + + The expression that represents an event attach or detach action. + The function that will build the + to pass when raising the event. + The type of the first argument received by the expected invocation. + The type of the second argument received by the expected invocation. + The type of the third argument received by the expected invocation. + The type of the fourth argument received by the expected invocation. + The type of the fifth argument received by the expected invocation. + The type of the sixth argument received by the expected invocation. + The type of the seventh argument received by the expected invocation. + The type of the eighth argument received by the expected invocation. + The type of the ninth argument received by the expected invocation. + The type of the tenth argument received by the expected invocation. + The type of the eleventh argument received by the expected invocation. + The type of the twelfth argument received by the expected invocation. + The type of the thirteenth argument received by the expected invocation. + The type of the fourteenth argument received by the expected invocation. + The type of the fifteenth argument received by the expected invocation. + The type of the sixteenth argument received by the expected invocation. + + + + + Defines the Returns verb. + + Mocked type. + Type of the return value from the expression. + + + + Specifies the value to return. + + The value to return, or . + + Return a true value from the method call: + + mock.Setup(x => x.Execute("ping")) + .Returns(true); + + + + + + Specifies a function that will calculate the value to return from the method. + + This overload is intended to be used in scenarios involving generic type argument matchers, + such as . The function will receive the current , + which allows discovery of both arguments and type arguments. + + + For all other use cases, you should prefer the other Returns overloads as they provide + better static type safety. + + + + Mock a method to act like a generic factory method: + + factory.Setup(m => m.Create<It.IsAnyType>()) + .Returns(new InvocationFunc(invocation => + { + var typeArgument = invocation.Method.GetGenericArguments()[0]; + return Activator.CreateInstance(typeArgument); + }); + var something = factory.Object.Create<Something>(); + + + + + + Specifies a function that will calculate the value to return from the method. + This overload specifically allows you to specify a function with by-ref parameters. + Those by-ref parameters can be assigned to (though you should probably do that from + a Callback instead). + + The function that will calculate the return value. + + Return a calculated value when the method is called: + + delegate bool ExecuteFunc(ref Command command); + + Command c = ...; + mock.Setup(x => x.Execute(ref c)) + .Returns(new ExecuteFunc((ref Command command) => command.IsExecutable)); + + + + + + Specifies a function that will calculate the value to return from the method. + + The function that will calculate the return value. + + Return a calculated value when the method is called: + + mock.Setup(x => x.Execute("ping")) + .Returns(() => returnValues[0]); + + The lambda expression to retrieve the return value is lazy-executed, + meaning that its value may change depending on the moment the method + is executed and the value the returnValues array has at + that moment. + + + + + Specifies a function that will calculate the value to return from the method, + retrieving the arguments for the invocation. + + The type of the argument of the invoked method. + The function that will calculate the return value. + + Return a calculated value which is evaluated lazily at the time of the invocation. + + The lookup list can change between invocations and the setup + will return different values accordingly. Also, notice how the specific + string argument is retrieved by simply declaring it as part of the lambda + expression: + + + mock.Setup(x => x.Execute(It.IsAny<string>())) + .Returns((string command) => returnValues[command]); + + + + + + Calls the real method of the object and returns its return value. + + The value calculated by the real method of the object. + + + + Specifies a function that will calculate the value to return from the method, + retrieving the arguments for the invocation. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The function that will calculate the return value. + Returns a calculated value which is evaluated lazily at the time of the invocation. + + + The return value is calculated from the value of the actual method invocation arguments. + Notice how the arguments are retrieved by simply declaring them as part of the lambda + expression: + + + mock.Setup(x => x.Execute( + It.IsAny<int>(), + It.IsAny<int>())) + .Returns((string arg1, string arg2) => arg1 + arg2); + + + + + + Specifies a function that will calculate the value to return from the method, + retrieving the arguments for the invocation. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The function that will calculate the return value. + Returns a calculated value which is evaluated lazily at the time of the invocation. + + + The return value is calculated from the value of the actual method invocation arguments. + Notice how the arguments are retrieved by simply declaring them as part of the lambda + expression: + + + mock.Setup(x => x.Execute( + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>())) + .Returns((string arg1, string arg2, string arg3) => arg1 + arg2 + arg3); + + + + + + Specifies a function that will calculate the value to return from the method, + retrieving the arguments for the invocation. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The function that will calculate the return value. + Returns a calculated value which is evaluated lazily at the time of the invocation. + + + The return value is calculated from the value of the actual method invocation arguments. + Notice how the arguments are retrieved by simply declaring them as part of the lambda + expression: + + + mock.Setup(x => x.Execute( + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>())) + .Returns((string arg1, string arg2, string arg3, string arg4) => arg1 + arg2 + arg3 + arg4); + + + + + + Specifies a function that will calculate the value to return from the method, + retrieving the arguments for the invocation. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The function that will calculate the return value. + Returns a calculated value which is evaluated lazily at the time of the invocation. + + + The return value is calculated from the value of the actual method invocation arguments. + Notice how the arguments are retrieved by simply declaring them as part of the lambda + expression: + + + mock.Setup(x => x.Execute( + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>())) + .Returns((string arg1, string arg2, string arg3, string arg4, string arg5) => arg1 + arg2 + arg3 + arg4 + arg5); + + + + + + Specifies a function that will calculate the value to return from the method, + retrieving the arguments for the invocation. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The function that will calculate the return value. + Returns a calculated value which is evaluated lazily at the time of the invocation. + + + The return value is calculated from the value of the actual method invocation arguments. + Notice how the arguments are retrieved by simply declaring them as part of the lambda + expression: + + + mock.Setup(x => x.Execute( + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>())) + .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6); + + + + + + Specifies a function that will calculate the value to return from the method, + retrieving the arguments for the invocation. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The function that will calculate the return value. + Returns a calculated value which is evaluated lazily at the time of the invocation. + + + The return value is calculated from the value of the actual method invocation arguments. + Notice how the arguments are retrieved by simply declaring them as part of the lambda + expression: + + + mock.Setup(x => x.Execute( + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>())) + .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7); + + + + + + Specifies a function that will calculate the value to return from the method, + retrieving the arguments for the invocation. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The function that will calculate the return value. + Returns a calculated value which is evaluated lazily at the time of the invocation. + + + The return value is calculated from the value of the actual method invocation arguments. + Notice how the arguments are retrieved by simply declaring them as part of the lambda + expression: + + + mock.Setup(x => x.Execute( + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>())) + .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8); + + + + + + Specifies a function that will calculate the value to return from the method, + retrieving the arguments for the invocation. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the ninth argument of the invoked method. + The function that will calculate the return value. + Returns a calculated value which is evaluated lazily at the time of the invocation. + + + The return value is calculated from the value of the actual method invocation arguments. + Notice how the arguments are retrieved by simply declaring them as part of the lambda + expression: + + + mock.Setup(x => x.Execute( + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>())) + .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9); + + + + + + Specifies a function that will calculate the value to return from the method, + retrieving the arguments for the invocation. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the ninth argument of the invoked method. + The type of the tenth argument of the invoked method. + The function that will calculate the return value. + Returns a calculated value which is evaluated lazily at the time of the invocation. + + + The return value is calculated from the value of the actual method invocation arguments. + Notice how the arguments are retrieved by simply declaring them as part of the lambda + expression: + + + mock.Setup(x => x.Execute( + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>())) + .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10); + + + + + + Specifies a function that will calculate the value to return from the method, + retrieving the arguments for the invocation. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the ninth argument of the invoked method. + The type of the tenth argument of the invoked method. + The type of the eleventh argument of the invoked method. + The function that will calculate the return value. + Returns a calculated value which is evaluated lazily at the time of the invocation. + + + The return value is calculated from the value of the actual method invocation arguments. + Notice how the arguments are retrieved by simply declaring them as part of the lambda + expression: + + + mock.Setup(x => x.Execute( + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>())) + .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11); + + + + + + Specifies a function that will calculate the value to return from the method, + retrieving the arguments for the invocation. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the ninth argument of the invoked method. + The type of the tenth argument of the invoked method. + The type of the eleventh argument of the invoked method. + The type of the twelfth argument of the invoked method. + The function that will calculate the return value. + Returns a calculated value which is evaluated lazily at the time of the invocation. + + + The return value is calculated from the value of the actual method invocation arguments. + Notice how the arguments are retrieved by simply declaring them as part of the lambda + expression: + + + mock.Setup(x => x.Execute( + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>())) + .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12); + + + + + + Specifies a function that will calculate the value to return from the method, + retrieving the arguments for the invocation. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the ninth argument of the invoked method. + The type of the tenth argument of the invoked method. + The type of the eleventh argument of the invoked method. + The type of the twelfth argument of the invoked method. + The type of the thirteenth argument of the invoked method. + The function that will calculate the return value. + Returns a calculated value which is evaluated lazily at the time of the invocation. + + + The return value is calculated from the value of the actual method invocation arguments. + Notice how the arguments are retrieved by simply declaring them as part of the lambda + expression: + + + mock.Setup(x => x.Execute( + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>())) + .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12, string arg13) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13); + + + + + + Specifies a function that will calculate the value to return from the method, + retrieving the arguments for the invocation. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the ninth argument of the invoked method. + The type of the tenth argument of the invoked method. + The type of the eleventh argument of the invoked method. + The type of the twelfth argument of the invoked method. + The type of the thirteenth argument of the invoked method. + The type of the fourteenth argument of the invoked method. + The function that will calculate the return value. + Returns a calculated value which is evaluated lazily at the time of the invocation. + + + The return value is calculated from the value of the actual method invocation arguments. + Notice how the arguments are retrieved by simply declaring them as part of the lambda + expression: + + + mock.Setup(x => x.Execute( + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>())) + .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12, string arg13, string arg14) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13 + arg14); + + + + + + Specifies a function that will calculate the value to return from the method, + retrieving the arguments for the invocation. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the ninth argument of the invoked method. + The type of the tenth argument of the invoked method. + The type of the eleventh argument of the invoked method. + The type of the twelfth argument of the invoked method. + The type of the thirteenth argument of the invoked method. + The type of the fourteenth argument of the invoked method. + The type of the fifteenth argument of the invoked method. + The function that will calculate the return value. + Returns a calculated value which is evaluated lazily at the time of the invocation. + + + The return value is calculated from the value of the actual method invocation arguments. + Notice how the arguments are retrieved by simply declaring them as part of the lambda + expression: + + + mock.Setup(x => x.Execute( + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>())) + .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12, string arg13, string arg14, string arg15) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13 + arg14 + arg15); + + + + + + Specifies a function that will calculate the value to return from the method, + retrieving the arguments for the invocation. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the ninth argument of the invoked method. + The type of the tenth argument of the invoked method. + The type of the eleventh argument of the invoked method. + The type of the twelfth argument of the invoked method. + The type of the thirteenth argument of the invoked method. + The type of the fourteenth argument of the invoked method. + The type of the fifteenth argument of the invoked method. + The type of the sixteenth argument of the invoked method. + The function that will calculate the return value. + Returns a calculated value which is evaluated lazily at the time of the invocation. + + + The return value is calculated from the value of the actual method invocation arguments. + Notice how the arguments are retrieved by simply declaring them as part of the lambda + expression: + + + mock.Setup(x => x.Execute( + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>())) + .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12, string arg13, string arg14, string arg15, string arg16) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13 + arg14 + arg15 + arg16); + + + + + + Defines the Returns verb for property get setups. + + Mocked type. + Type of the property. + + + + Specifies the value to return. + + The value to return, or . + + Return a true value from the property getter call: + + mock.SetupGet(x => x.Suspended) + .Returns(true); + + + + + + Specifies a function that will calculate the value to return for the property. + + The function that will calculate the return value. + + Return a calculated value when the property is retrieved: + + mock.SetupGet(x => x.Suspended) + .Returns(() => returnValues[0]); + + The lambda expression to retrieve the return value is lazy-executed, + meaning that its value may change depending on the moment the property + is retrieved and the value the returnValues array has at + that moment. + + + + + Calls the real property of the object and returns its return value. + + The value calculated by the real property of the object. + + + + Implements the fluent API. + + + + + The expectation will be considered only in the former condition. + + + + + + + The expectation will be considered only in the former condition. + + + + + + + + Setups the get. + + The type of the property. + The expression. + + + + + Setups the set. + + The type of the property. + The setter expression. + + + + + Setups the set. + + The setter expression. + + + + + Defines the Pass and Throws verbs for sequence setups + on void methods. + + + + + Configures the next call in the sequence to do nothing. + + + The following code configures the first call to Execute() + to do nothing, and the second call to throw an exception. + + mock.SetupSequence(m => m.Execute()) + .Pass() + .Throws<InvalidOperationException>(); + + + + + + Configures the next call in the sequence to throw an exception. + + + The following code configures the first call to Execute() + to do nothing, and the second call to throw an exception. + + mock.SetupSequence(m => m.Execute()) + .Pass() + .Throws<InvalidOperationException>(); + + + + + + Configures the next call in the sequence to throw an exception. + + + The following code configures the first call to Execute() + to do nothing, and the second call to throw an exception. + + mock.SetupSequence(m => m.Execute()) + .Pass() + .Throws(new InvalidOperationException()); + + + + + + Language for ReturnSequence + + + + + Returns value + + + + + Uses delegate to get return value + + The function that will calculate the return value. + + + + Throws an exception + + + + + Throws an exception + + + + + Calls original method + + + + + Defines the Throws verb. + + + + + Specifies the exception to throw when the method is invoked. + + Exception instance to throw. + + This example shows how to throw an exception when the method is + invoked with an empty string argument: + + mock.Setup(x => x.Execute("")) + .Throws(new ArgumentException()); + + + + + + Specifies the type of exception to throw when the method is invoked. + + Type of exception to instantiate and throw when the setup is matched. + + This example shows how to throw an exception when the method is + invoked with an empty string argument: + + mock.Setup(x => x.Execute("")) + .Throws<ArgumentException>(); + + + + + + Defines the Verifiable verb. + + + + + Marks the expectation as verifiable, meaning that a call + to will check if this particular + expectation was met. + + + The following example marks the expectation as verifiable: + + mock.Expect(x => x.Execute("ping")) + .Returns(true) + .Verifiable(); + + + + + + Marks the expectation as verifiable, meaning that a call + to will check if this particular + expectation was met, and specifies a message for failures. + + + The following example marks the expectation as verifiable: + + mock.Expect(x => x.Execute("ping")) + .Returns(true) + .Verifiable("Ping should be executed always!"); + + + + + + Defines occurrence members to constraint setups. + + + + + The expected invocation can happen at most once. + + + + var mock = new Mock<ICommand>(); + mock.Setup(foo => foo.Execute("ping")) + .AtMostOnce(); + + + + + + The expected invocation can happen at most specified number of times. + + The number of times to accept calls. + + + var mock = new Mock<ICommand>(); + mock.Setup(foo => foo.Execute("ping")) + .AtMost( 5 ); + + + + + + A default implementation of IQueryable for use with QueryProvider + + + + + Converts a taken-apart binary expression such as `m.A.B` (==) `x` to + `Mocks.SetupReturns(Mock.Get(m), m' => m'.A.B, (object)x)`. + + Body of the expression to set up. + Return value to be configured for . + + + + Locates the root mock object in a setup expression (which is usually, but not always, a ), + stores a reference to it, and finally replaces it with a new . + + + + + Utility repository class to use to construct multiple + mocks when consistent verification is + desired for all of them. + + + If multiple mocks will be created during a test, passing + the desired (if different than the + or the one + passed to the repository constructor) and later verifying each + mock can become repetitive and tedious. + + This repository class helps in that scenario by providing a + simplified creation of multiple mocks with a default + (unless overridden by calling + ) and posterior verification. + + + + The following is a straightforward example on how to + create and automatically verify strict mocks using a : + + var repository = new MockRepository(MockBehavior.Strict); + + var foo = repository.Create<IFoo>(); + var bar = repository.Create<IBar>(); + + // no need to call Verifiable() on the setup + // as we'll be validating all of them anyway. + foo.Setup(f => f.Do()); + bar.Setup(b => b.Redo()); + + // exercise the mocks here + + repository.VerifyAll(); + // At this point all setups are already checked + // and an optional MockException might be thrown. + // Note also that because the mocks are strict, any invocation + // that doesn't have a matching setup will also throw a MockException. + + The following examples shows how to setup the repository + to create loose mocks and later verify only verifiable setups: + + var repository = new MockRepository(MockBehavior.Loose); + + var foo = repository.Create<IFoo>(); + var bar = repository.Create<IBar>(); + + // this setup will be verified when we verify the repository + foo.Setup(f => f.Do()).Verifiable(); + + // this setup will NOT be verified + foo.Setup(f => f.Calculate()); + + // this setup will be verified when we verify the repository + bar.Setup(b => b.Redo()).Verifiable(); + + // exercise the mocks here + // note that because the mocks are Loose, members + // called in the interfaces for which no matching + // setups exist will NOT throw exceptions, + // and will rather return default values. + + repository.Verify(); + // At this point verifiable setups are already checked + // and an optional MockException might be thrown. + + The following examples shows how to setup the repository with a + default strict behavior, overriding that default for a + specific mock: + + var repository = new MockRepository(MockBehavior.Strict); + + // this particular one we want loose + var foo = repository.Create<IFoo>(MockBehavior.Loose); + var bar = repository.Create<IBar>(); + + // specify setups + + // exercise the mocks here + + repository.Verify(); + + + + + + + Access the universe of mocks of the given type, to retrieve those + that behave according to the LINQ query specification. + + The type of the mocked object to query. + + + + Access the universe of mocks of the given type, to retrieve those + that behave according to the LINQ query specification. + + Behavior of the mocks. + The type of the mocked object to query. + + + + Access the universe of mocks of the given type, to retrieve those + that behave according to the LINQ query specification. + + The predicate with the setup expressions. + The type of the mocked object to query. + + + + Access the universe of mocks of the given type, to retrieve those + that behave according to the LINQ query specification. + + The predicate with the setup expressions. + Behavior of the mocks. + The type of the mocked object to query. + + + + Creates a mock object of the indicated type. + + The type of the mocked object. + The mocked object created. + + + + Creates a mock object of the indicated type. + + Behavior of the mock. + The type of the mocked object. + The mocked object created. + + + + Creates a mock object of the indicated type. + + The predicate with the setup expressions. + The type of the mocked object. + The mocked object created. + + + + Creates a mock object of the indicated type. + + The predicate with the setup expressions. + Behavior of the mock. + The type of the mocked object. + The mocked object created. + + + + Creates the mock query with the underlying queryable implementation. + + + + + Wraps the enumerator inside a queryable. + + + + + Method that is turned into the actual call from .Query{T}, to + transform the queryable query into a normal enumerable query. + This method is never used directly by consumers. + + + + + Initializes the repository with the given + for newly created mocks from the repository. + + The behavior to use for mocks created + using the repository method if not overridden + by using the overload. + + + + Allows querying the universe of mocks for those that behave + according to the LINQ query specification. + + + + + Access the universe of mocks of the given type, to retrieve those + that behave according to the LINQ query specification. + + The type of the mocked object to query. + + + + Access the universe of mocks of the given type, to retrieve those + that behave according to the LINQ query specification. + + Behavior of the mocks. + The type of the mocked object to query. + + + + Access the universe of mocks of the given type, to retrieve those + that behave according to the LINQ query specification. + + The predicate with the setup expressions. + The type of the mocked object to query. + + + + Access the universe of mocks of the given type, to retrieve those + that behave according to the LINQ query specification. + + The predicate with the setup expressions. + Behavior of the mocks. + The type of the mocked object to query. + + + + Creates a mock object of the indicated type. + + The type of the mocked object. + The mocked object created. + + + + Creates a mock object of the indicated type. + + The predicate with the setup expressions. + The type of the mocked object. + The mocked object created. + + + + Creates the mock query with the underlying queryable implementation. + + + + + Wraps the enumerator inside a queryable. + + + + + Method that is turned into the actual call from .Query{T}, to + transform the queryable query into a normal enumerable query. + This method is never used directly by consumers. + + + + + Abstract base class for default value providers that look up and delegate to value factory functions for the requested type(s). + If a request cannot be satisfied by any registered factory, the default value gets produced by a fallback strategy. + + + + Derived classes can register and deregister factory functions with and , + respectively. + + + The fallback value generation strategy is implemented by the overridable method. + + + This base class sets up factory functions for task types (, , + and ) that produce completed tasks containing default values. + If this behavior is not desired, derived classes may deregister those standard factory functions via . + + + + + + Initializes a new instance of the class. + + + + + Deregisters any factory function that might currently be registered for the given type(s). + Subsequent requests for values of the given type(s) will be handled by the fallback strategy. + + The type(s) for which to remove any registered factory function. + + + + Registers a factory function for the given type(s). + Subsequent requests for values of the given type(s) will be handled by the specified function. + + + + The type(s) for which to register the given function. + + + All array types are represented by (). + Generic types are represented by their open generic type definition, e. g. (<>). + + + The factory function responsible for producing values for the given type. + + + + + + + + + + + + + Determines the default value for the given when no suitable factory is registered for it. + May be overridden in derived classes. + + The type of which to produce a value. + The on which an unexpected invocation has occurred. + + + + Allows creating custom value matchers that can be used on setups and verification, + completely replacing the built-in class with your own + argument matching rules. + + + Argument matching is used to determine whether a concrete invocation in the mock + matches a given setup. This matching mechanism is fully extensible. + + + Creating a custom matcher is straightforward. You just need to create a method + that returns a value from a call to + with your matching condition and optional friendly render expression: + + public Order IsBigOrder() + { + return Match.Create<Order>( + o => o.GrandTotal >= 5000, + () => IsBigOrder()); // a friendly expression to render on failures + } + + This method can be used in any mock setup invocation: + + mock.Setup(m => m.Submit(IsBigOrder()) + .Throws<UnauthorizedAccessException>(); + + At runtime, Moq knows that the return value was a matcher and + evaluates your predicate with the actual value passed into your predicate. + + Another example might be a case where you want to match a lists of orders + that contains a particular one. You might create matcher like the following: + + + public static class Orders + { + public static IEnumerable<Order> Contains(Order order) + { + return Match.Create<IEnumerable<Order>>(orders => orders.Contains(order)); + } + } + + Now we can invoke this static method instead of an argument in an invocation: + + var order = new Order { ... }; + var mock = new Mock<IRepository<Order>>(); + + mock.Setup(x => x.Save(Orders.Contains(order))) + .Throws<ArgumentException>(); + + + + + + Provided for the sole purpose of rendering the delegate passed to the + matcher constructor if no friendly render lambda is provided. + + + + + Initializes the matcher with the condition that will be checked + in order to match invocation values. + + The condition to match against actual values. + + + + Initializes the matcher with the condition that will be checked + in order to match invocation values. + + The condition to match against actual values. + + A lambda representation of the matcher, to be used when rendering error messages, + such as () => It.IsAny<string<(). + + + + + Initializes the matcher with the condition that will be checked in order to match invocation values. + + The predicate of this overload will not only be provided with a + method argument, but also with the associated parameter's type. This parameter type essentially + overrides in cases where the latter is a type matcher. Therefore, + use this method overload if you want your custom matcher to work together with type matchers. + + + + The condition to match against actual values. + + This function will be passed the invocation argument, as well as the type of the associated parameter. + + + + A lambda representation of the matcher. + + + + + Allows creating custom value matchers that can be used on setups and verification, + completely replacing the built-in class with your own + argument matching rules. + + Type of the value to match. + + + + + + + + + + + + + A per-thread observer that records invocations to matchers for later inspection. + + + + This component requires the active cooperation of the respective subsystem. + That is, invoked matchers call into if an + observer is active on the current thread. + + + + + + Returns the current timestamp. The next call will return a timestamp greater than this one, + allowing you to order invocations and matcher observations. + + + + + Adds the specified as an observation. + + + + + Checks whether at least one observation is available, + and if so, returns the last one. + + The observed matcher observed last. + + + + Matcher to treat static functions as matchers. + + mock.Setup(x => x.StringMethod(A.MagicString())); + + public static class A + { + [Matcher] + public static string MagicString() { return null; } + public static bool MagicString(string arg) + { + return arg == "magic"; + } + } + + Will succeed if: mock.Object.StringMethod("magic"); + and fail with any other call. + + + + + Options to customize the behavior of the mock. + + + + + Causes the mock to always throw + an exception for invocations that don't have a + corresponding setup. + + + + + Will never throw exceptions, returning default + values when necessary (null for reference types, + zero for value types or empty enumerables and arrays). + + + + + Default mock behavior, which equals . + + + + + A that returns an empty default value + for non-mockable types, and mocks for all other types (interfaces and + non-sealed classes) that can be mocked. + + + + + Exception thrown by mocks when they are not properly set up, + when setups are not matched, when verification fails, etc. + + + A distinct exception type is provided so that exceptions + thrown by a mock can be distinguished from other exceptions + that might be thrown in tests. + + Moq does not provide a richer hierarchy of exception types, as + tests typically should not catch or expect exceptions + from mocks. These are typically the result of changes + in the tested class or its collaborators' implementation, and + result in fixes in the mock setup so that they disappear and + allow the test to pass. + + + + + + Returns the exception to be thrown when a setup limited by is matched more often than once. + + + + + Returns the exception to be thrown when a setup limited by is matched more often than the specified maximum number of times. + + + + + Returns the exception to be thrown when finds no invocations (or the wrong number of invocations) that match the specified expectation. + + + + + Returns the exception to be thrown when a strict mock has no setup corresponding to the specified invocation. + + + + + Returns the exception to be thrown when a strict mock has no setup that provides a return value for the specified invocation. + + + + + Returns the exception to be thrown when a setup was not matched. + + + + + Returns an exception whose message is the concatenation of the given ' messages + and whose reason(s) is the combination of the given ' reason(s). + Used by when it finds one or more mocks with verification errors. + + + + + Returns the exception to be thrown when finds invocations that have not been verified. + + + + + Indicates whether this exception is a verification fault raised by Verify() + + + + + Supports the serialization infrastructure. + + Serialization information. + Streaming context. + + + + Supports the serialization infrastructure. + + Serialization information. + Streaming context. + + + + Provides additional methods on mocks. + + + + + Resets this mock's state. This includes its setups, configured default return values, registered event handlers, and all recorded invocations. + + The mock whose state should be reset. + + + + Resets all invocations recorded for this mock. + + The mock whose recorded invocations should be reset. + + + + Helper class to setup a full trace between many mocks + + + + + Initialize a trace setup + + + + + Allow sequence to be repeated + + + + + Contains extension methods that are related to . + + + + + Perform an expectation in the trace. + + + + + Provides a mock implementation of . + + Type to mock, which can be an interface, a class, or a delegate. + + Any interface type can be used for mocking, but for classes, only abstract and virtual members can be mocked. + + The behavior of the mock with regards to the setups and the actual calls is determined by the optional + that can be passed to the constructor. + + + + The following example shows establishing setups with specific values for method invocations: + + // Arrange + var order = new Order(TALISKER, 50); + var warehouse = new Mock<IWarehouse>(); + warehouse.Setup(w => w.HasInventory(TALISKER, 50)).Returns(true); + + // Act + order.Fill(warehouse.Object); + + // Assert + Assert.True(order.IsFilled); + + + + The following example shows how to use the class + to specify conditions for arguments instead of specific values: + + // Arrange + var order = new Order(TALISKER, 50); + var warehouse = new Mock<IWarehouse>(); + + // shows how to expect a value within a range: + warehouse.Setup(x => x.HasInventory( + It.IsAny<string>(), + It.IsInRange(0, 100, Range.Inclusive))) + .Returns(false); + + // shows how to throw for unexpected calls. + warehouse.Setup(x => x.Remove( + It.IsAny<string>(), + It.IsAny<int>())) + .Throws(new InvalidOperationException()); + + // Act + order.Fill(warehouse.Object); + + // Assert + Assert.False(order.IsFilled); + + + + + + Ctor invoked by AsTInterface exclusively. + + + + + Initializes an instance of the mock with behavior. + + + + var mock = new Mock<IFormatProvider>(); + + + + + + Initializes an instance of the mock with behavior + and with the given constructor arguments for the class. (Only valid when is a class.) + + Optional constructor arguments if the mocked type is a class. + + The mock will try to find the best match constructor given the constructor arguments, + and invoke that to initialize the instance.This applies only for classes, not interfaces. + + + + var mock = new Mock<MyProvider>(someArgument, 25); + + + + + + Initializes an instance of the mock with the specified behavior. + + Behavior of the mock. + + + var mock = new Mock<IFormatProvider>(MockBehavior.Strict); + + + + + + Initializes an instance of the mock with a specific behavior + and with the given constructor arguments for the class. + + Behavior of the mock. + Optional constructor arguments if the mocked type is a class. + + The mock will try to find the best match constructor given the constructor arguments, + and invoke that to initialize the instance. This applies only to classes, not interfaces. + + + + + Initializes an instance of the mock using the given constructor call including its + argument values and with a specific behavior. + + Lambda expression that creates an instance of . + Behavior of the mock. + + var mock = new Mock<MyProvider>(() => new MyProvider(someArgument, 25), MockBehavior.Loose); + + + + + + + + + + + Gets or sets the instance that will be used + e. g. to produce default return values for unexpected invocations. + + + + + Exposes the mocked object instance. + + + + + Allows naming of your mocks, so they can be easily identified in error messages (e.g. from failed assertions). + + + + + Returns the name of the mock. + + + + + Returns the mocked object value. + + + + + A set of switches that influence how this mock will operate. + You can opt in or out of certain features via this property. + + + + + Adds an interface implementation to the mock, allowing setups to be specified for it. + + + This method can only be called before the first use of the mock property, + at which point the runtime type has already been generated and no more interfaces can be added to it. + + Also, must be an interface and not a class, + which must be specified when creating the mock instead. + + + Type of interface to cast the mock to. + The specified is not an interface. + + The mock type has already been generated by accessing the property. + + + The following example creates a mock for the main interface + and later adds to it to verify it's called by the consumer code: + + var mock = new Mock<IProcessor>(); + mock.Setup(x => x.Execute("ping")); + + // add IDisposable interface + var disposable = mock.As<IDisposable>(); + disposable.Setup(d => d.Dispose()) + .Verifiable(); + + + + + + Specifies a setup on the mocked type for a call to a method. + + Lambda expression that specifies the expected method invocation. + + If more than one setup is specified for the same method or property, + the latest one wins and is the one that will be executed. + + + + var mock = new Mock<IProcessor>(); + mock.Setup(x => x.Execute("ping")); + + + + + + Specifies a setup on the mocked type for a call to a non- (value-returning) method. + + Lambda expression that specifies the method invocation. + Type of the return value. Typically omitted as it can be inferred from the expression. + + If more than one setup is specified for the same method or property, + the latest one wins and is the one that will be executed. + + + + mock.Setup(x => x.HasInventory("Talisker", 50)) + .Returns(true); + + + + + + Specifies a setup on the mocked type for a call to a property getter. + + Lambda expression that specifies the property getter. + Type of the property. Typically omitted as it can be inferred from the expression. + + If more than one setup is set for the same property getter, + the latest one wins and is the one that will be executed. + + + + mock.SetupGet(x => x.Suspended) + .Returns(true); + + + + + + Specifies a setup on the mocked type for a call to a property setter. + + The Lambda expression that sets a property to a value. + Type of the property. Typically omitted as it can be inferred from the expression. + + If more than one setup is set for the same property setter, + the latest one wins and is the one that will be executed. + + This overloads allows the use of a callback already typed for the property type. + + + + + mock.SetupSet(x => x.Suspended = true); + + + + + + Specifies a setup on the mocked type for a call to a property setter. + + Lambda expression that sets a property to a value. + + If more than one setup is set for the same property setter, + the latest one wins and is the one that will be executed. + + + + mock.SetupSet(x => x.Suspended = true); + + + + + + Specifies a setup on the mocked type for a call to an event add. + + Lambda expression that adds an event. + + If more than one setup is set for the same event add, + the latest one wins and is the one that will be executed. + + + + mock.SetupAdd(x => x.EventHandler += (s, e) => {}); + + + + + + Specifies a setup on the mocked type for a call to an event remove. + + Lambda expression that removes an event. + + If more than one setup is set for the same event remove, + the latest one wins and is the one that will be executed. + + + + mock.SetupRemove(x => x.EventHandler -= (s, e) => {}); + + + + + + Specifies that the given property should have "property behavior", + meaning that setting its value will cause it to be saved and later returned when the property is requested. + (This is also known as "stubbing".) + + Property expression to stub. + + Type of the property, inferred from the property expression (does not need to be specified). + + + If you have an interface with an int property Value, + you might stub it using the following straightforward call: + + var mock = new Mock<IHaveValue>(); + mock.SetupProperty(v => v.Value); + + After the SetupProperty call has been issued, setting and retrieving + the object value will behave as expected: + + IHaveValue v = mock.Object; + v.Value = 5; + Assert.Equal(5, v.Value); + + + + + + Specifies that the given property should have "property behavior", + meaning that setting its value will cause it to be saved and later returned when the property is requested. + This overload allows setting the initial value for the property. + (This is also known as "stubbing".) + + Property expression to stub. + Initial value for the property. + + Type of the property, inferred from the property expression (does not need to be specified). + + + If you have an interface with an int property Value, + you might stub it using the following straightforward call: + + var mock = new Mock<IHaveValue>(); + mock.SetupProperty(v => v.Value, 5); + + After the SetupProperty call has been issued, setting and retrieving the object value + will behave as expected: + + IHaveValue v = mock.Object; + Assert.Equal(5, v.Value); // Initial value was stored + + // New value set which changes the initial value + v.Value = 6; + Assert.Equal(6, v.Value); + + + + + + Specifies that the all properties on the mock should have "property behavior", + meaning that setting their value will cause them to be saved and later returned when the properties is requested. + (This is also known as "stubbing".) + The default value for each property will be the one generated as specified by the + property for the mock. + + + If the mock's is set to , + the mocked default values will also get all properties setup recursively. + + + + + Return a sequence of values, once per call. + + + + + Performs a sequence of actions, one per call. + + + + + Allows setting up a conditional setup. + Conditional setups are only matched by an invocation + when the specified condition evaluates to + at the time when the invocation occurs. + + + The condition that should be checked + when a setup is being matched against an invocation. + + + + + Verifies that a specific invocation matching the given expression was performed on the mock. + Use in conjunction with the default . + + Expression to verify. + The invocation was not performed on the mock. + + This example assumes that the mock has been used, and later we want to verify + that a given invocation with specific parameters was performed: + + var mock = new Mock<IProcessor>(); + + ... // exercise mock + + // Will throw if the test code didn't call Execute with a "ping" string argument. + mock.Verify(proc => proc.Execute("ping")); + + + + + + Verifies that a specific invocation matching the given expression was performed on the mock. + Use in conjunction with the default . + + Expression to verify. + The number of times a method is expected to be called. + + The invocation was not called the number of times specified by . + + + + + Verifies that a specific invocation matching the given expression was performed on the mock. + Use in conjunction with the default . + + Expression to verify. + The number of times a method is expected to be called. + + The invocation was not called the number of times specified by . + + + + + Verifies that a specific invocation matching the given expression was performed on the mock, + specifying a failure error message. + Use in conjunction with the default . + + Expression to verify. + Message to show if verification fails. + The invocation was not performed on the mock. + + + + Verifies that a specific invocation matching the given expression was performed on the mock, + specifying a failure error message. + Use in conjunction with the default . + + Expression to verify. + The number of times a method is expected to be called. + Message to show if verification fails. + + The invocation was not called the number of times specified by . + + + + + Verifies that a specific invocation matching the given expression was performed on the mock, + specifying a failure error message. + Use in conjunction with the default . + + Expression to verify. + The number of times a method is expected to be called. + Message to show if verification fails. + + The invocation was not called the number of times specified by . + + + + + Verifies that a specific invocation matching the given expression was performed on the mock. + Use in conjunction with the default . + + Expression to verify. + Type of return value from the expression. + The invocation was not performed on the mock. + + This example assumes that the mock has been used, and later we want to verify + that a given invocation with specific parameters was performed: + + var mock = new Mock<IWarehouse>(); + + ... // exercise mock + + // Will throw if the test code didn't call HasInventory. + mock.Verify(warehouse => warehouse.HasInventory(TALISKER, 50)); + + + + + + Verifies that a specific invocation matching the given expression was performed on the mock. + Use in conjunction with the default . + + Expression to verify. + The number of times a method is expected to be called. + Type of return value from the expression. + + The invocation was not called the number of times specified by . + + + + + Verifies that a specific invocation matching the given expression was performed on the mock. + Use in conjunction with the default . + + Expression to verify. + The number of times a method is expected to be called. + Type of return value from the expression. + + The invocation was not called the number of times specified by . + + + + + Verifies that a specific invocation matching the given expression was performed on the mock, + specifying a failure error message. + + Expression to verify. + Message to show if verification fails. + Type of return value from the expression. + The invocation was not performed on the mock. + + This example assumes that the mock has been used, and later we want to verify + that a given invocation with specific parameters was performed: + + var mock = new Mock<IWarehouse>(); + + ... // exercise mock + + // Will throw if the test code didn't call HasInventory. + mock.Verify(warehouse => warehouse.HasInventory(TALISKER, 50), + "When filling orders, inventory has to be checked"); + + + + + + Verifies that a specific invocation matching the given expression was performed on the mock, + specifying a failure error message. + + Expression to verify. + The number of times a method is expected to be called. + Message to show if verification fails. + Type of return value from the expression. + + The invocation was not called the number times specified by . + + + + + Verifies that a property was read on the mock. + + Expression to verify. + + Type of the property to verify. Typically omitted as it can be inferred from the expression's return type. + + The invocation was not performed on the mock. + + This example assumes that the mock has been used, and later we want to verify + that a given property was retrieved from it: + + var mock = new Mock<IWarehouse>(); + + ... // exercise mock + + // Will throw if the test code didn't retrieve the IsClosed property. + mock.VerifyGet(warehouse => warehouse.IsClosed); + + + + + + Verifies that a property was read on the mock. + + The number of times a method is expected to be called. + Expression to verify. + + Type of the property to verify. Typically omitted as it can be inferred from the expression's return type. + + + The invocation was not called the number times specified by . + + + + + Verifies that a property was read on the mock. + + The number of times a method is expected to be called. + Expression to verify. + + Type of the property to verify. Typically omitted as it can be inferred from the expression's return type. + + + The invocation was not called the number times specified by . + + + + + Verifies that a property was read on the mock, specifying a failure error message. + + Expression to verify. + Message to show if verification fails. + + Type of the property to verify. Typically omitted as it can be inferred from the expression's return type. + + The invocation was not performed on the mock. + + + + Verifies that a property was read on the mock, specifying a failure error message. + + The number of times a method is expected to be called. + Expression to verify. + Message to show if verification fails. + + Type of the property to verify. Typically omitted as it can be inferred from the expression's return type. + + + The invocation was not called the number times specified by . + + + + + Verifies that a property was read on the mock, specifying a failure error message. + + The number of times a method is expected to be called. + Expression to verify. + Message to show if verification fails. + + Type of the property to verify. Typically omitted as it can be inferred from the expression's return type. + + + The invocation was not called the number times specified by . + + + + + Verifies that a property was set on the mock. + + Expression to verify. + The invocation was not performed on the mock. + + This example assumes that the mock has been used, and later we want to verify + that a given property was set on it: + + var mock = new Mock<IWarehouse>(); + + ... // exercise mock + + // Will throw if the test code didn't set the IsClosed property. + mock.VerifySet(warehouse => warehouse.IsClosed = true); + + + + + + Verifies that a property was set on the mock. + + The number of times a method is expected to be called. + Expression to verify. + + The invocation was not called the number of times specified by . + + + + + Verifies that a property was set on the mock. + + The number of times a method is expected to be called. + Expression to verify. + + The invocation was not called the number of times specified by . + + + + + Verifies that a property was set on the mock, specifying a failure message. + + Expression to verify. + Message to show if verification fails. + The invocation was not performed on the mock. + + This example assumes that the mock has been used, and later we want to verify + that a given property was set on it: + + var mock = new Mock<IWarehouse>(); + + ... // exercise mock + + // Will throw if the test code didn't set the IsClosed property. + mock.VerifySet(warehouse => warehouse.IsClosed = true, + "Warehouse should always be closed after the action"); + + + + + + Verifies that a property was set on the mock, specifying a failure message. + + The number of times a method is expected to be called. + Expression to verify. + Message to show if verification fails. + + The invocation was not called the number of times specified by . + + + + + Verifies that a property was set on the mock, specifying a failure message. + + The number of times a method is expected to be called. + Expression to verify. + Message to show if verification fails. + + The invocation was not called the number of times specified by . + + + + + Verifies that an event was added to the mock. + + Expression to verify. + The invocation was not performed on the mock. + + This example assumes that the mock has been used, and later we want to verify + that a given event handler was subscribed to an event: + + var mock = new Mock<IWarehouse>(); + + ... // exercise mock + + // Will throw if the test code didn't subscribe to the OnClosed event. + mock.VerifyAdd(warehouse => warehouse.OnClosed += It.IsAny<EventHandler>()); + + + + + + Verifies that an event was added to the mock. + + The number of times a method is expected to be called. + Expression to verify. + + The invocation was not called the number of times specified by . + + + + + Verifies that an event was added to the mock. + + The number of times a method is expected to be called. + Expression to verify. + + The invocation was not called the number of times specified by . + + + + + Verifies that an event was added to the mock, specifying a failure message. + + Expression to verify. + Message to show if verification fails. + The invocation was not performed on the mock. + + + + Verifies that an event was added to the mock, specifying a failure message. + + The number of times a method is expected to be called. + Expression to verify. + Message to show if verification fails. + + The invocation was not called the number of times specified by . + + + + + Verifies that an event was added to the mock, specifying a failure message. + + The number of times a method is expected to be called. + Expression to verify. + Message to show if verification fails. + + The invocation was not called the number of times specified by . + + + + + Verifies that an event was removed from the mock. + + Expression to verify. + The invocation was not performed on the mock. + + This example assumes that the mock has been used, and later we want to verify + that a given event handler was removed from an event: + + var mock = new Mock<IWarehouse>(); + + ... // exercise mock + + // Will throw if the test code didn't unsubscribe from the OnClosed event. + mock.VerifyRemove(warehouse => warehouse.OnClose -= It.IsAny<EventHandler>()); + + + + + + Verifies that an event was removed from the mock. + + The number of times a method is expected to be called. + Expression to verify. + + The invocation was not called the number of times specified by . + + + + + Verifies that an event was removed from the mock. + + The number of times a method is expected to be called. + Expression to verify. + + The invocation was not called the number of times specified by . + + + + + Verifies that an event was removed from the mock, specifying a failure message. + + Expression to verify. + Message to show if verification fails. + The invocation was not performed on the mock. + + + + Verifies that an event was removed from the mock, specifying a failure message. + + The number of times a method is expected to be called. + Expression to verify. + Message to show if verification fails. + + The invocation was not called the number of times specified by . + + + + + Verifies that an event was removed from the mock, specifying a failure message. + + The number of times a method is expected to be called. + Expression to verify. + Message to show if verification fails. + + The invocation was not called the number of times specified by . + + + + + Verifies that there were no calls other than those already verified. + + There was at least one invocation not previously verified. + + + + Raises the event referenced in using the given argument. + + + The argument is invalid for the target event invocation, + or the is not an event attach or detach expression. + + + The following example shows how to raise a + event: + + var mock = new Mock<IViewModel>(); + mock.Raise(x => x.PropertyChanged -= null, new PropertyChangedEventArgs("Name")); + + + + This example shows how to invoke an event with a custom event arguments class + in a view that will cause its corresponding presenter to react by changing its state: + + var mockView = new Mock<IOrdersView>(); + var presenter = new OrdersPresenter(mockView.Object); + + // Check that the presenter has no selection by default + Assert.Null(presenter.SelectedOrder); + + // Raise the event with a specific arguments data + mockView.Raise(v => v.SelectionChanged += null, new OrderEventArgs { Order = new Order("moq", 500) }); + + // Now the presenter reacted to the event, and we have a selected order + Assert.NotNull(presenter.SelectedOrder); + Assert.Equal("moq", presenter.SelectedOrder.ProductName); + + + + + + Raises the event referenced in using the given argument for a non--typed event. + + + The arguments are invalid for the target event invocation, + or the is not an event attach or detach expression. + + + The following example shows how to raise a custom event that does not adhere + to the standard EventHandler: + + var mock = new Mock<IViewModel>(); + mock.Raise(x => x.MyEvent -= null, "Name", bool, 25); + + + + + + Obsolete. + + + + + Obsolete. + + + + + Obsolete. + + + + + Obsolete. + + + + + Obsolete. + + + + + Marks a method as a matcher, which allows complete replacement + of the built-in class with your own argument + matching rules. + + + + This feature has been deprecated in favor of the new + and simpler . + + + + The argument matching is used to determine whether a concrete + invocation in the mock matches a given setup. This + matching mechanism is fully extensible. + + + There are two parts of a matcher: the compiler matcher + and the runtime matcher. + + + Compiler matcher + Used to satisfy the compiler requirements for the + argument. Needs to be a method optionally receiving any arguments + you might need for the matching, but with a return type that + matches that of the argument. + + Let's say I want to match a lists of orders that contains + a particular one. I might create a compiler matcher like the following: + + + public static class Orders + { + [Matcher] + public static IEnumerable<Order> Contains(Order order) + { + return null; + } + } + + Now we can invoke this static method instead of an argument in an + invocation: + + var order = new Order { ... }; + var mock = new Mock<IRepository<Order>>(); + + mock.Setup(x => x.Save(Orders.Contains(order))) + .Throws<ArgumentException>(); + + Note that the return value from the compiler matcher is irrelevant. + This method will never be called, and is just used to satisfy the + compiler and to signal Moq that this is not a method that we want + to be invoked at runtime. + + + + Runtime matcher + + The runtime matcher is the one that will actually perform evaluation + when the test is run, and is defined by convention to have the + same signature as the compiler matcher, but where the return + value is the first argument to the call, which contains the + object received by the actual invocation at runtime: + + public static bool Contains(IEnumerable<Order> orders, Order order) + { + return orders.Contains(order); + } + + At runtime, the mocked method will be invoked with a specific + list of orders. This value will be passed to this runtime + matcher as the first argument, while the second argument is the + one specified in the setup (x.Save(Orders.Contains(order))). + + The boolean returned determines whether the given argument has been + matched. If all arguments to the expected method are matched, then + the setup matches and is evaluated. + + + + + + Using this extensible infrastructure, you can easily replace the entire + set of matchers with your own. You can also avoid the + typical (and annoying) lengthy expressions that result when you have + multiple arguments that use generics. + + + The following is the complete example explained above: + + public static class Orders + { + [Matcher] + public static IEnumerable<Order> Contains(Order order) + { + return null; + } + + public static bool Contains(IEnumerable<Order> orders, Order order) + { + return orders.Contains(order); + } + } + + And the concrete test using this matcher: + + var order = new Order { ... }; + var mock = new Mock<IRepository<Order>>(); + + mock.Setup(x => x.Save(Orders.Contains(order))) + .Throws<ArgumentException>(); + + // use mock, invoke Save, and have the matcher filter. + + + + + + Contains obsolete API members as extension methods so that existing code continues to compile, + but new code doesn't see them. + + + + + Obsolete. + + + + + Obsolete. + + + + + Obsolete. + + + + + Utility factory class to use to construct multiple + mocks when consistent verification is + desired for all of them. + + + If multiple mocks will be created during a test, passing + the desired (if different than the + or the one + passed to the factory constructor) and later verifying each + mock can become repetitive and tedious. + + This factory class helps in that scenario by providing a + simplified creation of multiple mocks with a default + (unless overridden by calling + ) and posterior verification. + + + + The following is a straightforward example on how to + create and automatically verify strict mocks using a : + + var factory = new MockFactory(MockBehavior.Strict); + + var foo = factory.Create<IFoo>(); + var bar = factory.Create<IBar>(); + + // no need to call Verifiable() on the setup + // as we'll be validating all of them anyway. + foo.Setup(f => f.Do()); + bar.Setup(b => b.Redo()); + + // exercise the mocks here + + factory.VerifyAll(); + // At this point all setups are already checked + // and an optional MockException might be thrown. + // Note also that because the mocks are strict, any invocation + // that doesn't have a matching setup will also throw a MockException. + + The following examples shows how to setup the factory + to create loose mocks and later verify only verifiable setups: + + var factory = new MockFactory(MockBehavior.Loose); + + var foo = factory.Create<IFoo>(); + var bar = factory.Create<IBar>(); + + // this setup will be verified when we verify the factory + foo.Setup(f => f.Do()).Verifiable(); + + // this setup will NOT be verified + foo.Setup(f => f.Calculate()); + + // this setup will be verified when we verify the factory + bar.Setup(b => b.Redo()).Verifiable(); + + // exercise the mocks here + // note that because the mocks are Loose, members + // called in the interfaces for which no matching + // setups exist will NOT throw exceptions, + // and will rather return default values. + + factory.Verify(); + // At this point verifiable setups are already checked + // and an optional MockException might be thrown. + + The following examples shows how to setup the factory with a + default strict behavior, overriding that default for a + specific mock: + + var factory = new MockFactory(MockBehavior.Strict); + + // this particular one we want loose + var foo = factory.Create<IFoo>(MockBehavior.Loose); + var bar = factory.Create<IBar>(); + + // specify setups + + // exercise the mocks here + + factory.Verify(); + + + + + + + Initializes the factory with the given + for newly created mocks from the factory. + + The behavior to use for mocks created + using the factory method if not overridden + by using the overload. + + + + Gets the default of mocks created by this repository. + + + + + Whether the base member virtual implementation will be called + for mocked classes if no setup is matched. Defaults to . + + + + + Specifies the behavior to use when returning default values for + unexpected invocations on loose mocks. + + + + + Gets or sets the instance that will be used + e. g. to produce default return values for unexpected invocations. + + + + + Gets the mocks that have been created by this factory and + that will get verified together. + + + + + A set of switches that influence how mocks created by this factory will operate. + You can opt in or out of certain features via this property. + + + + + Creates a new mock with the default + specified at factory construction time. + + Type to mock. + A new . + + + var factory = new MockFactory(MockBehavior.Strict); + + var foo = factory.Create<IFoo>(); + // use mock on tests + + factory.VerifyAll(); + + + + + + Creates a new mock with the default + specified at factory construction time and with the + the given constructor arguments for the class. + + + The mock will try to find the best match constructor given the + constructor arguments, and invoke that to initialize the instance. + This applies only to classes, not interfaces. + + Type to mock. + Constructor arguments for mocked classes. + A new . + + + var factory = new MockFactory(MockBehavior.Default); + + var mock = factory.Create<MyBase>("Foo", 25, true); + // use mock on tests + + factory.Verify(); + + + + + + Creates a new mock with the given . + + Type to mock. + Behavior to use for the mock, which overrides + the default behavior specified at factory construction time. + A new . + + The following example shows how to create a mock with a different + behavior to that specified as the default for the factory: + + var factory = new MockFactory(MockBehavior.Strict); + + var foo = factory.Create<IFoo>(MockBehavior.Loose); + + + + + + Creates a new mock with the given + and with the given constructor arguments for the class. + + + The mock will try to find the best match constructor given the + constructor arguments, and invoke that to initialize the instance. + This applies only to classes, not interfaces. + + Type to mock. + Behavior to use for the mock, which overrides + the default behavior specified at factory construction time. + Constructor arguments for mocked classes. + A new . + + The following example shows how to create a mock with a different + behavior to that specified as the default for the factory, passing + constructor arguments: + + var factory = new MockFactory(MockBehavior.Default); + + var mock = factory.Create<MyBase>(MockBehavior.Strict, "Foo", 25, true); + + + + + + Creates an instance of the mock using the given constructor call including its + argument values and with a specific behavior. + + Type to mock. + Lambda expression that creates an instance of . + Behavior of the mock. + A new . + + + var factory = new MockFactory(MockBehavior.Default); + + var mock = factory.Create<MyClass>(() => new MyClass("Foo", 25, true), MockBehavior.Loose); + // use mock on tests + + factory.Verify(); + + + + + + Implements creation of a new mock within the factory. + + Type to mock. + The behavior for the new mock. + Optional arguments for the construction of the mock. + + + + Verifies all verifiable setups on all mocks created by this factory. + + + One or more mocks had setups that were not satisfied. + + + + Verifies all setups on all mocks created by this factory. + + + One or more mocks had setups that were not satisfied. + + + + Calls on all mocks created by this factory. + + + One or more mocks had invocations that were not verified. + + + + Invokes for each mock + in , and accumulates the resulting + verification exceptions that might be + thrown from the action. + + The action to execute against + each mock. + + + + Provides additional methods on mocks. + + + Provided as extension methods as they confuse the compiler + with the overloads taking Action. + + + + + Specifies a setup on the mocked type for a call to + to a property setter, regardless of its value. + + + If more than one setup is set for the same property setter, + the latest one wins and is the one that will be executed. + + Type of the property. Typically omitted as it can be inferred from the expression. + Type of the mock. + The target mock for the setup. + Lambda expression that specifies the property setter. + + + mock.SetupSet(x => x.Suspended); + + + + This method is not legacy, but must be on an extension method to avoid + confusing the compiler with the new Action syntax. + + + + + Verifies that a property has been set on the mock, regardless of its value. + + + This example assumes that the mock has been used, + and later we want to verify that a given invocation + with specific parameters was performed: + + var mock = new Mock<IWarehouse>(); + // exercise mock + //... + // Will throw if the test code didn't set the IsClosed property. + mock.VerifySet(warehouse => warehouse.IsClosed); + + + The invocation was not performed on the mock. + Expression to verify. + The mock instance. + Mocked type. + Type of the property to verify. Typically omitted as it can + be inferred from the expression's return type. + + + + Verifies that a property has been set on the mock, specifying a failure + error message. + + + This example assumes that the mock has been used, + and later we want to verify that a given invocation + with specific parameters was performed: + + var mock = new Mock<IWarehouse>(); + // exercise mock + //... + // Will throw if the test code didn't set the IsClosed property. + mock.VerifySet(warehouse => warehouse.IsClosed); + + + The invocation was not performed on the mock. + Expression to verify. + Message to show if verification fails. + The mock instance. + Mocked type. + Type of the property to verify. Typically omitted as it can + be inferred from the expression's return type. + + + + Verifies that a property has been set on the mock, regardless + of the value but only the specified number of times. + + + This example assumes that the mock has been used, + and later we want to verify that a given invocation + with specific parameters was performed: + + var mock = new Mock<IWarehouse>(); + // exercise mock + //... + // Will throw if the test code didn't set the IsClosed property. + mock.VerifySet(warehouse => warehouse.IsClosed); + + + The invocation was not performed on the mock. + The invocation was not call the times specified by + . + The mock instance. + Mocked type. + The number of times a method is allowed to be called. + Expression to verify. + Type of the property to verify. Typically omitted as it can + be inferred from the expression's return type. + + + + Verifies that a property has been set on the mock, regardless + of the value but only the specified number of times, and specifying a failure + error message. + + + This example assumes that the mock has been used, + and later we want to verify that a given invocation + with specific parameters was performed: + + var mock = new Mock<IWarehouse>(); + // exercise mock + //... + // Will throw if the test code didn't set the IsClosed property. + mock.VerifySet(warehouse => warehouse.IsClosed); + + + The invocation was not performed on the mock. + The invocation was not call the times specified by + . + The mock instance. + Mocked type. + The number of times a method is allowed to be called. + Message to show if verification fails. + Expression to verify. + Type of the property to verify. Typically omitted as it can + be inferred from the expression's return type. + + + + Helper for sequencing return values in the same method. + + + + + Return a sequence of values, once per call. + + + + + Performs a sequence of actions, one per call. + + + + + Return a sequence of tasks, once per call. + + + + + Return a sequence of tasks, once per call. + + + + + Return a sequence of tasks, once per call. + + + + + Return a sequence of tasks, once per call. + + + + + Return a sequence of tasks, once per call. + + + + + Return a sequence of tasks, once per call. + + + + + Throws a sequence of exceptions, once per call. + + + + + Throws a sequence of exceptions, once per call. + + + + + Throws a sequence of exceptions, once per call. + + + + + Throws a sequence of exceptions, once per call. + + + + + Allocation-free adapter type for treating a `ParameterInfo[]` array like a `Type[]` array. + + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + + Looks up a localized string similar to Mock type has already been initialized by accessing its Object property. Adding interfaces must be done before that.. + + + + + Looks up a localized string similar to Value cannot be an empty string.. + + + + + Looks up a localized string similar to Matcher '{0}' is unmatchable: An implicit conversion operator will convert arguments of type '{1}' to the parameter's type '{2}', which is assignment-incompatible.. + + + + + Looks up a localized string similar to Can only add interfaces to the mock.. + + + + + Looks up a localized string similar to CallBase cannot be used with Delegate mocks.. + + + + + Looks up a localized string similar to Can't set return value for void method {0}.. + + + + + Looks up a localized string similar to Constructor arguments cannot be passed for delegate mocks.. + + + + + Looks up a localized string similar to Constructor arguments cannot be passed for interface mocks.. + + + + + Looks up a localized string similar to A matching constructor for the given arguments was not found on the mocked type.. + + + + + Looks up a localized string similar to Delays have to be greater than zero to ensure an async callback is used.. + + + + + Looks up a localized string similar to Expression {0} involves a field access, which is not supported. Use properties instead.. + + + + + Looks up a localized string similar to Invalid callback. This overload of the "Callback" method only accepts "void" (C#) or "Sub" (VB.NET) delegates with parameter types matching those of the set up method.. + + + + + Looks up a localized string similar to Invalid callback. Setup on method with {0} parameter(s) cannot invoke callback with different number of parameters ({1}).. + + + + + Looks up a localized string similar to Invalid callback. Setup on method with parameters ({0}) cannot invoke callback with parameters ({1}).. + + + + + Looks up a localized string similar to Invalid callback. Setup on method with return type '{0}' cannot invoke callback with return type '{1}'.. + + + + + Looks up a localized string similar to Cannot retrieve a mock with the given object type {0} as it's not the main type of the mock or any of its additional interfaces. + Please cast the argument to one of the supported types: {1}. + Remember that there's no generics covariance in the CLR, so your object must be one of these types in order for the call to succeed.. + + + + + Looks up a localized string similar to Invalid callback. This overload of the "Returns" method only accepts non-"void" (C#) or "Function" (VB.NET) delegates with parameter types matching those of the set up method.. + + + + + Looks up a localized string similar to The return type of the last member shown above is not mockable.. + + + + + Looks up a localized string similar to The equals ("==" or "=" in VB) and the conditional 'and' ("&&" or "AndAlso" in VB) operators are the only ones supported in the query specification expression. Unsupported expression: {0}. + + + + + Looks up a localized string similar to LINQ method '{0}' not supported.. + + + + + Looks up a localized string similar to Expression contains a call to a method which is not virtual (overridable in VB) or abstract. Unsupported expression: {0}. + + + + + Looks up a localized string similar to Could not determine the correct positions for all argument matchers ({0} in total) used in a call to this method: {1}. + This could be caused by an unrecognized type conversion, coercion, narrowing, or widening, and is most likely a bug in Moq. Please report your use case to the Moq team.. + + + + + Looks up a localized string similar to Member {0}.{1} does not exist.. + + + + + Looks up a localized string similar to Method {0}.{1} is public. Use strong-typed Expect overload instead: + mock.Setup(x => x.{1}()); + . + + + + + Looks up a localized string similar to No protected method {0}.{1} found whose signature is compatible with the provided arguments ({2}).. + + + + + Looks up a localized string similar to Cannot set up {0}.{1} because it is not accessible to the proxy generator used by Moq: + {2}. + + + + + Looks up a localized string similar to Minimum delay has to be lower than maximum delay.. + + + + + Looks up a localized string similar to {0} invocation failed with mock behavior {1}. + {2}. + + + + + Looks up a localized string similar to The next member after the last one shown above is non-virtual, sealed, or not visible to the proxy factory.. + + + + + Looks up a localized string similar to No constructor call could be found.. + + + + + Looks up a localized string similar to No invocations performed.. + + + + + Looks up a localized string similar to Expected invocation on the mock at least {0} times, but was {2} times: . + + + + + Looks up a localized string similar to Expected invocation on the mock at least once, but was never performed: . + + + + + Looks up a localized string similar to Expected invocation on the mock at most {1} times, but was {2} times: . + + + + + Looks up a localized string similar to Expected invocation on the mock at most once, but was {2} times: . + + + + + Looks up a localized string similar to Expected invocation on the mock between {0} and {1} times (Exclusive), but was {2} times: . + + + + + Looks up a localized string similar to Expected invocation on the mock between {0} and {1} times (Inclusive), but was {2} times: . + + + + + Looks up a localized string similar to Expected invocation on the mock exactly {0} times, but was {2} times: . + + + + + Looks up a localized string similar to Expected invocation on the mock should never have been performed, but was {2} times: . + + + + + Looks up a localized string similar to Expected invocation on the mock once, but was {2} times: . + + + + + Looks up a localized string similar to All invocations on the mock must have a corresponding setup.. + + + + + Looks up a localized string similar to Object instance was not created by Moq.. + + + + + Looks up a localized string similar to Out expression must evaluate to a constant value.. + + + + + Looks up a localized string similar to Performed invocations:. + + + + + Looks up a localized string similar to Property {0}.{1} does not have a getter.. + + + + + Looks up a localized string similar to Property {0}.{1} does not have a setter.. + + + + + Looks up a localized string similar to Type {0} does not have matching protected member: {1}. + + + + + Looks up a localized string similar to Ref expression must evaluate to a constant value.. + + + + + Looks up a localized string similar to Invocation needs to return a value and therefore must have a corresponding setup that provides it.. + + + + + Looks up a localized string similar to Expression is not an event add: {0}. + + + + + Looks up a localized string similar to Expression is not an event remove: {0}. + + + + + Looks up a localized string similar to Expression is not a property access: {0}. + + + + + Looks up a localized string similar to Expression is not a setter: {0}. + + + + + Looks up a localized string similar to Type {0} does not have a default (public parameterless) constructor.. + + + + + Looks up a localized string similar to Type {0} does not implement required interface {1}. + + + + + Looks up a localized string similar to Type to mock ({0}) must be an interface, a delegate, or a non-sealed, non-static class.. + + + + + Looks up a localized string similar to To specify a setup for public property {0}.{1}, use the typed overloads, such as: + mock.Setup(x => x.{1}).Returns(value); + mock.SetupGet(x => x.{1}).Returns(value); //equivalent to previous one + mock.SetupSet(x => x.{1}).Callback(callbackDelegate); + . + + + + + Looks up a localized string similar to Unexpected translation of a member access: {0}. + + + + + Looks up a localized string similar to Unhandled binding type: {0}. + + + + + Looks up a localized string similar to Unhandled expression type: {0}. + + + + + Looks up a localized string similar to {0}: + This setup was not matched.. + + + + + Looks up a localized string similar to Unsupported expression: {0}. + + + + + Looks up a localized string similar to Unsupported expression: {0} + {1}. + + + + + Looks up a localized string similar to Extension methods (here: {0}) may not be used in setup / verification expressions.. + + + + + Looks up a localized string similar to Member {0} is not supported for protected mocking.. + + + + + Looks up a localized string similar to Non-overridable members (here: {0}) may not be used in setup / verification expressions.. + + + + + Looks up a localized string similar to Static members (here: {0}) may not be used in setup / verification expressions.. + + + + + Looks up a localized string similar to {0}: + This mock failed verification due to the following unverified invocations:. + + + + + Looks up a localized string similar to Use ItExpr.IsNull<TValue> rather than a null argument value, as it prevents proper method lookup.. + + + + + Looks up a localized string similar to It is impossible to call the provided strongly-typed predicate due to the use of a type matcher. Provide a weakly-typed predicate with two parameters (object, Type) instead.. + + + + + Looks up a localized string similar to {0}:. + + + + + Looks up a localized string similar to {0}: + This mock failed verification due to the following:. + + + + + Looks up a localized string similar to The mock repository failed verification due to the following:. + + + + + Allows setups to be specified for protected members (methods and properties) + seen through another type with corresponding members (that is, members + having identical signatures as the ones to be set up). + + Type of the mocked object. + + Any type with members whose signatures are identical to the mock's protected members (except for their accessibility level). + + + + + Specifies a setup on the mocked type for a call to a method. + + Lambda expression that specifies the expected method invocation. + + + + + Specifies a setup on the mocked type for a call to a value-returning method. + + Type of the return value. Typically omitted as it can be inferred from the expression. + Lambda expression that specifies the expected method invocation. + + + + + Specifies a setup on the mocked type for a call to a property getter. + + Type of the property. Typically omitted as it can be inferred from the expression. + Lambda expression that specifies the property getter. + + + + Specifies that the given property should have "property behavior", + meaning that setting its value will cause it to be saved and later returned when the property is requested. + (This is also known as "stubbing".) + + Type of the property. Typically omitted as it can be inferred from the expression. + Lambda expression that specifies the property. + Initial value for the property. + + + + Return a sequence of values, once per call. + + Type of the return value. Typically omitted as it can be inferred from the expression. + Lambda expression that specifies the expected method invocation. + + + + Performs a sequence of actions, one per call. + + Lambda expression that specifies the expected method invocation. + + + + Verifies that a specific invocation matching the given expression was performed on the mock. + Use in conjunction with the default . + + Lambda expression that specifies the method invocation. + + Number of times that the invocation is expected to have occurred. + If omitted, assumed to be . + + Message to include in the thrown if verification fails. + The specified invocation did not occur (or did not occur the specified number of times). + + + + Verifies that a specific invocation matching the given expression was performed on the mock. + Use in conjunction with the default . + + Type of the return value. Typically omitted as it can be inferred from the expression. + Lambda expression that specifies the method invocation. + + Number of times that the invocation is expected to have occurred. + If omitted, assumed to be . + + Message to include in the thrown if verification fails. + The specified invocation did not occur (or did not occur the specified number of times). + + + + Verifies that a property was read on the mock. + + Type of the property. Typically omitted as it can be inferred from the expression. + Lambda expression that specifies the method invocation. + + Number of times that the invocation is expected to have occurred. + If omitted, assumed to be . + + Message to include in the thrown if verification fails. + The specified invocation did not occur (or did not occur the specified number of times). + + + + Allows setups to be specified for protected members by using their + name as a string, rather than strong-typing them which is not possible + due to their visibility. + + + + + Set up protected members (methods and properties) seen through another type with identical member signatures. + + + Any type with members whose signatures are identical to the mock's protected members (except for their accessibility level). + + + + + Specifies a setup for a void method invocation with the given + , optionally specifying arguments for the method call. + + The name of the void method to be invoked. + The optional arguments for the invocation. If argument matchers are used, + remember to use rather than . + + + + Specifies a setup for a void method invocation with the given + , optionally specifying arguments for the method call. + + The name of the void method to be invoked. + Should the parameter types match exactly types that were provided + The optional arguments for the invocation. If argument matchers are used, + remember to use rather than . + + + + Specifies a setup for a void method invocation with the given + , optionally specifying arguments for the method call. + + The name of the void method to be invoked. + An array of types to be substituted for the type parameters of the current generic method definition. + Should the parameter types match exactly types that were provided + The optional arguments for the invocation. If argument matchers are used, + remember to use rather than . + + + + Specifies a setup for an invocation on a property or a non void method with the given + , optionally specifying arguments for the method call. + + The name of the method or property to be invoked. + The optional arguments for the invocation. If argument matchers are used, + remember to use rather than . + The return type of the method or property. + + + + Specifies a setup for an invocation on a property or a non void method with the given + , optionally specifying arguments for the method call. + + The name of the method or property to be invoked. + The optional arguments for the invocation. If argument matchers are used, + remember to use rather than . + Should the parameter types match exactly types that were provided + The return type of the method or property. + + + + Specifies a setup for an invocation on a property or a non void method with the given + , optionally specifying arguments for the method call. + + The name of the method or property to be invoked. + An array of types to be substituted for the type parameters of the current generic method definition. + The optional arguments for the invocation. If argument matchers are used, + remember to use rather than . + Should the parameter types match exactly types that were provided + The return type of the method or property. + + + + Specifies a setup for an invocation on a property getter with the given + . + + The name of the property. + The type of the property. + + + + Specifies a setup for an invocation on a property setter with the given + . + + The name of the property. + The property value. If argument matchers are used, + remember to use rather than . + The type of the property. + + + + Performs a sequence of actions, one per call. + + Name of the method or property being set up. + The optional arguments for the invocation. If argument matchers are used, + remember to use rather than . + + + + Performs a sequence of actions, one per call. + + Name of the method or property being set up. + Determines whether the parameter types should exactly match the types provided. + The optional arguments for the invocation. If argument matchers are used, + remember to use rather than . + + + + Performs a sequence of actions, one per call. + + Name of the method or property being set up. + An array of types to be substituted for the type parameters of the current generic method definition. + Determines whether the parameter types should exactly match the types provided. + The optional arguments for the invocation. If argument matchers are used, + remember to use rather than . + + + + Return a sequence of values, once per call. + + Name of the method or property being set up. + The optional arguments for the invocation. If argument matchers are used, + remember to use rather than . + Return type of the method or property being set up. + + + + Return a sequence of values, once per call. + + Name of the method or property being set up. + Determines whether the parameter types should exactly match the types provided. + The optional arguments for the invocation. If argument matchers are used, + remember to use rather than . + Return type of the method or property being set up. + + + + Return a sequence of values, once per call. + + Name of the method or property being set up. + An array of types to be substituted for the type parameters of the current generic method definition. + Determines whether the parameter types should exactly match the types provided. + The optional arguments for the invocation. If argument matchers are used, + remember to use rather than . + Return type of the method or property being set up. + + + + Specifies a verify for a void method with the given , + optionally specifying arguments for the method call. Use in conjunction with the default + . + + The invocation was not call the times specified by + . + The name of the void method to be verified. + The number of times a method is allowed to be called. + The optional arguments for the invocation. If argument matchers are used, + remember to use rather than . + + + + Specifies a verify for a void method with the given , + optionally specifying arguments for the method call. Use in conjunction with the default + . + + The invocation was not call the times specified by + . + The name of the void method to be verified. + An array of types to be substituted for the type parameters of the current generic method definition. + The number of times a method is allowed to be called. + The optional arguments for the invocation. If argument matchers are used, + remember to use rather than . + + + + Specifies a verify for a void method with the given , + optionally specifying arguments for the method call. Use in conjunction with the default + . + + The invocation was not call the times specified by + . + The name of the void method to be verified. + The number of times a method is allowed to be called. + Should the parameter types match exactly types that were provided + The optional arguments for the invocation. If argument matchers are used, + remember to use rather than . + + + + Specifies a verify for a void method with the given , + optionally specifying arguments for the method call. Use in conjunction with the default + . + + The invocation was not call the times specified by + . + The name of the void method to be verified. + An array of types to be substituted for the type parameters of the current generic method definition. + The number of times a method is allowed to be called. + Should the parameter types match exactly types that were provided + The optional arguments for the invocation. If argument matchers are used, + remember to use rather than . + + + + Specifies a verify for an invocation on a property or a non void method with the given + , optionally specifying arguments for the method call. + + The invocation was not call the times specified by + . + The name of the method or property to be invoked. + The optional arguments for the invocation. If argument matchers are used, + remember to use rather than . + The number of times a method is allowed to be called. + The type of return value from the expression. + + + + Specifies a verify for an invocation on a property or a non void method with the given + , optionally specifying arguments for the method call. + + The invocation was not call the times specified by + . + The name of the method or property to be invoked. + An array of types to be substituted for the type parameters of the current generic method definition. + The optional arguments for the invocation. If argument matchers are used, + remember to use rather than . + The number of times a method is allowed to be called. + The type of return value from the expression. + + + + Specifies a verify for an invocation on a property or a non void method with the given + , optionally specifying arguments for the method call. + + The invocation was not call the times specified by + . + The name of the method or property to be invoked. + Should the parameter types match exactly types that were provided + The optional arguments for the invocation. If argument matchers are used, + remember to use rather than . + The number of times a method is allowed to be called. + The type of return value from the expression. + + + + Specifies a verify for an invocation on a property or a non void method with the given + , optionally specifying arguments for the method call. + + The invocation was not call the times specified by + . + The name of the method or property to be invoked. + An array of types to be substituted for the type parameters of the current generic method definition. + Should the parameter types match exactly types that were provided + The optional arguments for the invocation. If argument matchers are used, + remember to use rather than . + The number of times a method is allowed to be called. + The type of return value from the expression. + + + + Specifies a verify for an invocation on a property getter with the given + . + The invocation was not call the times specified by + . + + The name of the property. + The number of times a method is allowed to be called. + The type of the property. + + + + Specifies a setup for an invocation on a property setter with the given + . + + The invocation was not call the times specified by + . + The name of the property. + The number of times a method is allowed to be called. + The property value. + The type of the property. If argument matchers are used, + remember to use rather than . + + + + Allows the specification of a matching condition for an + argument in a protected member setup, rather than a specific + argument value. "ItExpr" refers to the argument being matched. + + + Use this variant of argument matching instead of + for protected setups. + This class allows the setup to match a method invocation + with an arbitrary value, with a value in a specified range, or + even one that matches a given predicate, or null. + + + + + Contains matchers for (C#) / (VB.NET) parameters of type . + + The parameter type. + + + + Matches any value that is assignment-compatible with type . + + + + + + Matches a null value of the given type. + + + Required for protected mocks as the null value cannot be used + directly as it prevents proper method overload selection. + + + + // Throws an exception for a call to Remove with a null string value. + mock.Protected() + .Setup("Remove", ItExpr.IsNull<string>()) + .Throws(new InvalidOperationException()); + + + Type of the value. + + + + Matches any value of the given type. + + + Typically used when the actual argument value for a method + call is not relevant. + + + + // Throws an exception for a call to Remove with any string value. + mock.Protected() + .Setup("Remove", ItExpr.IsAny<string>()) + .Throws(new InvalidOperationException()); + + + Type of the value. + + + + Matches any value that satisfies the given predicate. + + Type of the argument to check. + The predicate used to match the method argument. + + Allows the specification of a predicate to perform matching + of method call arguments. + + + This example shows how to return the value 1 whenever the argument to the + Do method is an even number. + + mock.Protected() + .Setup("Do", ItExpr.Is<int>(i => i % 2 == 0)) + .Returns(1); + + This example shows how to throw an exception if the argument to the + method is a negative number: + + mock.Protected() + .Setup("GetUser", ItExpr.Is<int>(i => i < 0)) + .Throws(new ArgumentException()); + + + + + + Matches any value that is in the range specified. + + Type of the argument to check. + The lower bound of the range. + The upper bound of the range. + The kind of range. See . + + The following example shows how to expect a method call + with an integer argument within the 0..100 range. + + mock.Protected() + .Setup("HasInventory", + ItExpr.IsAny<string>(), + ItExpr.IsInRange(0, 100, Range.Inclusive)) + .Returns(false); + + + + + + Matches a string argument if it matches the given regular expression pattern. + + The pattern to use to match the string argument value. + + The following example shows how to expect a call to a method where the + string argument matches the given regular expression: + + mock.Protected() + .Setup("Check", ItExpr.IsRegex("[a-z]+")) + .Returns(1); + + + + + + Matches a string argument if it matches the given regular expression pattern. + + The pattern to use to match the string argument value. + The options used to interpret the pattern. + + The following example shows how to expect a call to a method where the + string argument matches the given regular expression, in a case insensitive way: + + mock.Protected() + .Setup("Check", ItExpr.IsRegex("[a-z]+", RegexOptions.IgnoreCase)) + .Returns(1); + + + + + + used to replace occurrences of `TAnalog.Member` sub-expressions with `T.Member`. + + + + + Enables the Protected() method on , + allowing setups to be set for protected members by using their + name as a string, rather than strong-typing them which is not possible + due to their visibility. + + + + + Enable protected setups for the mock. + + Mocked object type. Typically omitted as it can be inferred from the mock instance. + The mock to set the protected setups on. + + + + An implementation of that is based on Castle DynamicProxy. + + + + + + + + This hook tells Castle DynamicProxy to proxy the default methods it suggests, + plus some of the methods defined by , e.g. so we can intercept + and give mocks useful default names. + + + + Do not use. (Moq requires this class so that methods can be set up on interface mocks.) + + + + + + + + + + + + Do not use. (Moq requires this interface so that methods can be set up on interface mocks.) + + + + + + + Gets the global instance used by Moq. + + + + + Kind of range to use in a filter specified through + . + + + + + The range includes the to and + from values. + + + + + The range does not include the to and + from values. + + + + + Defines async extension methods on IReturns. + + + + + Specifies the value to return from an asynchronous method. + + Mocked type. + Type of the return value. + Returns verb which represents the mocked type and the task of return type + The value to return, or . + + + + Specifies the value to return from an asynchronous method. + + Mocked type. + Type of the return value. + Returns verb which represents the mocked type and the task of return type + The value to return, or . + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Mocked type. + Type of the return value. + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Mocked type. + Type of the return value. + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Specifies the exception to throw when the asynchronous method is invoked. + + Mocked type. + Returns verb which represents the mocked type and the task return type + Exception instance to throw. + + + + Specifies the exception to throw when the asynchronous method is invoked. + + Mocked type. + Type of the return value. + Returns verb which represents the mocked type and the task of return type + Exception instance to throw. + + + + Specifies the exception to throw when the asynchronous method is invoked. + + Mocked type. + Type of the return value. + Returns verb which represents the mocked type and the task of return type + Exception instance to throw. + + + + Allows to specify the delayed return value of an asynchronous method. + + + + + Allows to specify the delayed return value of an asynchronous method. + + + + + Allows to specify the delayed return value of an asynchronous method. + + + + + Allows to specify the delayed return value of an asynchronous method. + + + + + Allows to specify the delayed return value of an asynchronous method. + Use the argument to pass in (seeded) random generators used across your unit test. + + + + + Allows to specify the delayed return value of an asynchronous method. + Use the argument to pass in (seeded) random generators used across your unit test. + + + + + Allows to specify the exception thrown by an asynchronous method. + + + + + Allows to specify the exception thrown by an asynchronous method. + + + + + Allows to specify the exception thrown by an asynchronous method. + + + + + Allows to specify the exception thrown by an asynchronous method. + + + + + Allows to specify the exception thrown by an asynchronous method. + Use the argument to pass in (seeded) random generators used across your unit test. + + + + + Allows to specify the exception thrown by an asynchronous method. + Use the argument to pass in (seeded) random generators used across your unit test. + + + + + Defines async extension methods on IReturns. + + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Type of the function parameter. + Mocked type. + Type of the return value. + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Type of the function parameter. + Mocked type. + Type of the return value. + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Programmable setup used by . + + + + + Attempts to get this setup's return value without invoking user code + (which could have side effects beyond Moq's understanding and control). + + + + + Verifies this setup and those of its inner mock (if present and known). + + + Specifies whether recursive verification should be performed. + + + Specifies which setups should be verified. + + + The set of mocks that have already been verified. + + + This setup or any of its inner mock (if present and known) failed verification. + + + + + Setup used by for property getters. + + + + + Setup used by for property setters. + + + + + Represents a switch, or a combination of switches, that can be either enabled or disabled. + When set via or , they determine how a mock will operate. + + + + + The default set of switches. The switches covered by this enumeration value may change between different versions of Moq. + + + + + When enabled, specifies that source file information should be collected for each setup. + This results in more helpful error messages, but may affect performance. + + + + + Defines the number of invocations allowed by a mocked method. + + + + Deconstructs this instance. + This output parameter will receive the minimum required number of calls satisfying this instance (i.e. the lower inclusive bound). + This output parameter will receive the maximum allowed number of calls satisfying this instance (i.e. the upper inclusive bound). + + + + Specifies that a mocked method should be invoked times + as minimum. + + The minimum number of times. + An object defining the allowed number of invocations. + + + + Specifies that a mocked method should be invoked one time as minimum. + + An object defining the allowed number of invocations. + + + + Specifies that a mocked method should be invoked times + as maximum. + + The maximum number of times. + An object defining the allowed number of invocations. + + + + Specifies that a mocked method should be invoked one time as maximum. + + An object defining the allowed number of invocations. + + + + Specifies that a mocked method should be invoked between + and times. + + The minimum number of times. + The maximum number of times. + The kind of range. See . + An object defining the allowed number of invocations. + + + + Specifies that a mocked method should be invoked exactly + times. + + The times that a method or property can be called. + An object defining the allowed number of invocations. + + + + Specifies that a mocked method should not be invoked. + + An object defining the allowed number of invocations. + + + + Specifies that a mocked method should be invoked exactly one time. + + An object defining the allowed number of invocations. + + + + Returns a value indicating whether this instance is equal to a specified value. + + A value to compare to this instance. + + if has the same value as this instance; + otherwise, . + + + + + Returns a value indicating whether this instance is equal to a specified value. + + An object to compare to this instance. + + if has the same value as this instance; + otherwise, . + + + + + 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. + + + + + Determines whether two specified objects have the same value. + + The first . + The second . + + if has the same value as ; + otherwise, . + + + + + Determines whether two specified objects have different values. + + The first . + The second . + + if the value of is different from + 's; otherwise, . + + + + + + + + Checks whether the specified number of invocations matches the constraint described by this instance. + + The number of invocations to check. + + if matches the constraint described by this instance; + otherwise, . + + + + + Marks a type as a type matcher, optionally specifying another type that will perform the matching. + + Type matchers preferably implement themselves. Use the parameterized form of this attribute + where this is not possible, such as when the type matcher needs to be a or + type in order to satisfy generic type constraints of the method where it is used. + + + + + + Initializes a new instance of the class. + + Use this constructor overload if the type on which this attribute is placed implements itself. + + + + + + Initializes a new instance of the class. + + Use this constructor overload if the type on which this attribute is placed does not implement . + The specified type will instead provide the implementation of . + + + The of a type that implements . + + + + Interface that is used to build fluent interfaces by hiding methods declared by from IntelliSense. + + + Code that consumes implementations of this interface should expect one of two things: + + When referencing the interface from within the same solution (project reference), you will still see the methods this interface is meant to hide. + When referencing the interface through the compiled output assembly (external reference), the standard Object methods will be hidden as intended. + When using Resharper, be sure to configure it to respect the attribute: Options, go to Environment | IntelliSense | Completion Appearance and check "Filter members by [EditorBrowsable] attribute". + + See https://kzu.github.io/IFluentInterface for more information. + + + + + + Redeclaration that hides the method from IntelliSense. + + + + + Redeclaration that hides the method from IntelliSense. + + + + + Redeclaration that hides the method from IntelliSense. + + + + + Redeclaration that hides the method from IntelliSense. + + + + + Contains the two extension methods + and + . + + + + + Appends a string representation of the specified type to this instance. + + The instance to which to append. + The of which a string representation should be appended. + Any combination of formatting options that should be applied. (Optional.) + A reference to this instance after the append operation has completed. + + + + Gets a string representation of this instance. + + The of which a string representation is requested. + Any combination of formatting options that should be applied. (Optional.) + A string representation of this instance. + + + + Replacement for + which may be slow or even unavailable on earlier target frameworks. + + + + + Allows uniform reflection across all target frameworks. + + + + + Allows uniform reflection across all target frameworks. + + + + + Allows uniform reflection across all target frameworks. + + + + + Allows uniform reflection across all target frameworks. + + + + + An enumeration of available options when a name's string representation is requested. + + + + + The default type name formatting options. + + + + + Specifies that a type's namespace should be included. + + For example, the type is formatted as "Action" by default. + When this flag is specified, it will be formatted as "System.Action". + + + + + + Specifies that anonymous types should not be transformed to C#-like syntax. + + For example, the anonymous type of "new { Name = "Blob", Count = 17 }" is formatted as + "{string Name, int Count}" by default. When this flag is specified, it will be formatted as + the raw "display class" name, which looks something like "<>f__AnonymousType5<string, int>". + + + + + + Specifies that an open generic type's parameter names should be omitted. + + For example, the open generic type is formatted as "IEquatable<T>" by default. + When this flag is specified, it will be formatted as "IEquatable<>". + + + + + + Specifies that primitive types should not be mapped to their corresponding C# language keywords. + + For example, the type is formatted as "int" by default. + When this flag is specified, it will be formatted as "Int32". + + + + + + Specifies that nullable types should not be simplified to C# question mark syntax. + + For example, the type of is formatted as "int?" by default. + When this flag is specified, it will be formatted as "Nullable<int>". + + + + + + Specifies that value tuple types should not be transformed to C# tuple syntax. + + For example, the type of , + is formatted as "(bool, int)" by default. When this flag is specified, + it will be formatted as "ValueTuple<bool, int>". + + + + + diff --git a/src/packages/Moq.4.0.10827/lib/NET40/Moq.xml b/src/packages/Moq.4.16.1/lib/netstandard2.0/Moq.xml similarity index 50% rename from src/packages/Moq.4.0.10827/lib/NET40/Moq.xml rename to src/packages/Moq.4.16.1/lib/netstandard2.0/Moq.xml index e0743a6..4370de0 100644 --- a/src/packages/Moq.4.0.10827/lib/NET40/Moq.xml +++ b/src/packages/Moq.4.16.1/lib/netstandard2.0/Moq.xml @@ -1,5120 +1,7815 @@ - - - - Moq - - - - - Implements the fluent API. - - - - - The expectation will be considered only in the former condition. - - - - - - - The expectation will be considered only in the former condition. - - - - - - - - Setups the get. - - The type of the property. - The expression. - - - - - Setups the set. - - The type of the property. - The setter expression. - - - - - Setups the set. - - The setter expression. - - - - - Defines the Callback verb and overloads. - - - - - Helper interface used to hide the base - members from the fluent API to make it much cleaner - in Visual Studio intellisense. - - - - - - - - - - - - - - - - - Specifies a callback to invoke when the method is called. - - The callback method to invoke. - - The following example specifies a callback to set a boolean - value that can be used later: - - var called = false; - mock.Setup(x => x.Execute()) - .Callback(() => called = true); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The argument type of the invoked method. - The callback method to invoke. - - Invokes the given callback with the concrete invocation argument value. - - Notice how the specific string argument is retrieved by simply declaring - it as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute(It.IsAny<string>())) - .Callback((string command) => Console.WriteLine(command)); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((string arg1, string arg2) => Console.WriteLine(arg1 + arg2)); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((string arg1, string arg2, string arg3) => Console.WriteLine(arg1 + arg2 + arg3)); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((string arg1, string arg2, string arg3, string arg4) => Console.WriteLine(arg1 + arg2 + arg3 + arg4)); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((string arg1, string arg2, string arg3, string arg4, string arg5) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5)); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6)); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7)); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8)); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the nineth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9)); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the nineth argument of the invoked method. - The type of the tenth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10)); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the nineth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11)); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the nineth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The type of the twelfth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12)); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the nineth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The type of the twelfth argument of the invoked method. - The type of the thirteenth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12, string arg13) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13)); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the nineth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The type of the twelfth argument of the invoked method. - The type of the thirteenth argument of the invoked method. - The type of the fourteenth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12, string arg13, string arg14) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13 + arg14)); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the nineth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The type of the twelfth argument of the invoked method. - The type of the thirteenth argument of the invoked method. - The type of the fourteenth argument of the invoked method. - The type of the fifteenth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12, string arg13, string arg14, string arg15) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13 + arg14 + arg15)); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the nineth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The type of the twelfth argument of the invoked method. - The type of the thirteenth argument of the invoked method. - The type of the fourteenth argument of the invoked method. - The type of the fifteenth argument of the invoked method. - The type of the sixteenth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12, string arg13, string arg14, string arg15, string arg16) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13 + arg14 + arg15 + arg16)); - - - - - - Defines the Callback verb and overloads for callbacks on - setups that return a value. - - Mocked type. - Type of the return value of the setup. - - - - Specifies a callback to invoke when the method is called. - - The callback method to invoke. - - The following example specifies a callback to set a boolean value that can be used later: - - var called = false; - mock.Setup(x => x.Execute()) - .Callback(() => called = true) - .Returns(true); - - Note that in the case of value-returning methods, after the Callback - call you can still specify the return value. - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the argument of the invoked method. - Callback method to invoke. - - Invokes the given callback with the concrete invocation argument value. - - Notice how the specific string argument is retrieved by simply declaring - it as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute(It.IsAny<string>())) - .Callback(command => Console.WriteLine(command)) - .Returns(true); - - - - - - Specifies a callback to invoke when the method is called that receives the original - arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((arg1, arg2) => Console.WriteLine(arg1 + arg2)); - - - - - - Specifies a callback to invoke when the method is called that receives the original - arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((arg1, arg2, arg3) => Console.WriteLine(arg1 + arg2 + arg3)); - - - - - - Specifies a callback to invoke when the method is called that receives the original - arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((arg1, arg2, arg3, arg4) => Console.WriteLine(arg1 + arg2 + arg3 + arg4)); - - - - - - Specifies a callback to invoke when the method is called that receives the original - arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((arg1, arg2, arg3, arg4, arg5) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5)); - - - - - - Specifies a callback to invoke when the method is called that receives the original - arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((arg1, arg2, arg3, arg4, arg5, arg6) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6)); - - - - - - Specifies a callback to invoke when the method is called that receives the original - arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7)); - - - - - - Specifies a callback to invoke when the method is called that receives the original - arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8)); - - - - - - Specifies a callback to invoke when the method is called that receives the original - arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the nineth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9)); - - - - - - Specifies a callback to invoke when the method is called that receives the original - arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the nineth argument of the invoked method. - The type of the tenth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10)); - - - - - - Specifies a callback to invoke when the method is called that receives the original - arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the nineth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11)); - - - - - - Specifies a callback to invoke when the method is called that receives the original - arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the nineth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The type of the twelfth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12)); - - - - - - Specifies a callback to invoke when the method is called that receives the original - arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the nineth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The type of the twelfth argument of the invoked method. - The type of the thirteenth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13)); - - - - - - Specifies a callback to invoke when the method is called that receives the original - arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the nineth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The type of the twelfth argument of the invoked method. - The type of the thirteenth argument of the invoked method. - The type of the fourteenth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13 + arg14)); - - - - - - Specifies a callback to invoke when the method is called that receives the original - arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the nineth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The type of the twelfth argument of the invoked method. - The type of the thirteenth argument of the invoked method. - The type of the fourteenth argument of the invoked method. - The type of the fifteenth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13 + arg14 + arg15)); - - - - - - Specifies a callback to invoke when the method is called that receives the original - arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the nineth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The type of the twelfth argument of the invoked method. - The type of the thirteenth argument of the invoked method. - The type of the fourteenth argument of the invoked method. - The type of the fifteenth argument of the invoked method. - The type of the sixteenth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13 + arg14 + arg15 + arg16)); - - - - - - Defines the Raises verb. - - - - - Specifies the event that will be raised - when the setup is met. - - An expression that represents an event attach or detach action. - The event arguments to pass for the raised event. - - The following example shows how to raise an event when - the setup is met: - - var mock = new Mock<IContainer>(); - - mock.Setup(add => add.Add(It.IsAny<string>(), It.IsAny<object>())) - .Raises(add => add.Added += null, EventArgs.Empty); - - - - - - Specifies the event that will be raised - when the setup is matched. - - An expression that represents an event attach or detach action. - A function that will build the - to pass when raising the event. - - - - - Specifies the custom event that will be raised - when the setup is matched. - - An expression that represents an event attach or detach action. - The arguments to pass to the custom delegate (non EventHandler-compatible). - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - The type of the second argument received by the expected invocation. - - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - The type of the second argument received by the expected invocation. - The type of the third argument received by the expected invocation. - - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - The type of the second argument received by the expected invocation. - The type of the third argument received by the expected invocation. - The type of the fourth argument received by the expected invocation. - - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - The type of the second argument received by the expected invocation. - The type of the third argument received by the expected invocation. - The type of the fourth argument received by the expected invocation. - The type of the fifth argument received by the expected invocation. - - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - The type of the second argument received by the expected invocation. - The type of the third argument received by the expected invocation. - The type of the fourth argument received by the expected invocation. - The type of the fifth argument received by the expected invocation. - The type of the sixth argument received by the expected invocation. - - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - The type of the second argument received by the expected invocation. - The type of the third argument received by the expected invocation. - The type of the fourth argument received by the expected invocation. - The type of the fifth argument received by the expected invocation. - The type of the sixth argument received by the expected invocation. - The type of the seventh argument received by the expected invocation. - - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - The type of the second argument received by the expected invocation. - The type of the third argument received by the expected invocation. - The type of the fourth argument received by the expected invocation. - The type of the fifth argument received by the expected invocation. - The type of the sixth argument received by the expected invocation. - The type of the seventh argument received by the expected invocation. - The type of the eighth argument received by the expected invocation. - - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - The type of the second argument received by the expected invocation. - The type of the third argument received by the expected invocation. - The type of the fourth argument received by the expected invocation. - The type of the fifth argument received by the expected invocation. - The type of the sixth argument received by the expected invocation. - The type of the seventh argument received by the expected invocation. - The type of the eighth argument received by the expected invocation. - The type of the nineth argument received by the expected invocation. - - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - The type of the second argument received by the expected invocation. - The type of the third argument received by the expected invocation. - The type of the fourth argument received by the expected invocation. - The type of the fifth argument received by the expected invocation. - The type of the sixth argument received by the expected invocation. - The type of the seventh argument received by the expected invocation. - The type of the eighth argument received by the expected invocation. - The type of the nineth argument received by the expected invocation. - The type of the tenth argument received by the expected invocation. - - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - The type of the second argument received by the expected invocation. - The type of the third argument received by the expected invocation. - The type of the fourth argument received by the expected invocation. - The type of the fifth argument received by the expected invocation. - The type of the sixth argument received by the expected invocation. - The type of the seventh argument received by the expected invocation. - The type of the eighth argument received by the expected invocation. - The type of the nineth argument received by the expected invocation. - The type of the tenth argument received by the expected invocation. - The type of the eleventh argument received by the expected invocation. - - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - The type of the second argument received by the expected invocation. - The type of the third argument received by the expected invocation. - The type of the fourth argument received by the expected invocation. - The type of the fifth argument received by the expected invocation. - The type of the sixth argument received by the expected invocation. - The type of the seventh argument received by the expected invocation. - The type of the eighth argument received by the expected invocation. - The type of the nineth argument received by the expected invocation. - The type of the tenth argument received by the expected invocation. - The type of the eleventh argument received by the expected invocation. - The type of the twelfth argument received by the expected invocation. - - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - The type of the second argument received by the expected invocation. - The type of the third argument received by the expected invocation. - The type of the fourth argument received by the expected invocation. - The type of the fifth argument received by the expected invocation. - The type of the sixth argument received by the expected invocation. - The type of the seventh argument received by the expected invocation. - The type of the eighth argument received by the expected invocation. - The type of the nineth argument received by the expected invocation. - The type of the tenth argument received by the expected invocation. - The type of the eleventh argument received by the expected invocation. - The type of the twelfth argument received by the expected invocation. - The type of the thirteenth argument received by the expected invocation. - - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - The type of the second argument received by the expected invocation. - The type of the third argument received by the expected invocation. - The type of the fourth argument received by the expected invocation. - The type of the fifth argument received by the expected invocation. - The type of the sixth argument received by the expected invocation. - The type of the seventh argument received by the expected invocation. - The type of the eighth argument received by the expected invocation. - The type of the nineth argument received by the expected invocation. - The type of the tenth argument received by the expected invocation. - The type of the eleventh argument received by the expected invocation. - The type of the twelfth argument received by the expected invocation. - The type of the thirteenth argument received by the expected invocation. - The type of the fourteenth argument received by the expected invocation. - - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - The type of the second argument received by the expected invocation. - The type of the third argument received by the expected invocation. - The type of the fourth argument received by the expected invocation. - The type of the fifth argument received by the expected invocation. - The type of the sixth argument received by the expected invocation. - The type of the seventh argument received by the expected invocation. - The type of the eighth argument received by the expected invocation. - The type of the nineth argument received by the expected invocation. - The type of the tenth argument received by the expected invocation. - The type of the eleventh argument received by the expected invocation. - The type of the twelfth argument received by the expected invocation. - The type of the thirteenth argument received by the expected invocation. - The type of the fourteenth argument received by the expected invocation. - The type of the fifteenth argument received by the expected invocation. - - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - The type of the second argument received by the expected invocation. - The type of the third argument received by the expected invocation. - The type of the fourth argument received by the expected invocation. - The type of the fifth argument received by the expected invocation. - The type of the sixth argument received by the expected invocation. - The type of the seventh argument received by the expected invocation. - The type of the eighth argument received by the expected invocation. - The type of the nineth argument received by the expected invocation. - The type of the tenth argument received by the expected invocation. - The type of the eleventh argument received by the expected invocation. - The type of the twelfth argument received by the expected invocation. - The type of the thirteenth argument received by the expected invocation. - The type of the fourteenth argument received by the expected invocation. - The type of the fifteenth argument received by the expected invocation. - The type of the sixteenth argument received by the expected invocation. - - - - - Defines the Returns verb. - - Mocked type. - Type of the return value from the expression. - - - - Specifies the value to return. - - The value to return, or . - - Return a true value from the method call: - - mock.Setup(x => x.Execute("ping")) - .Returns(true); - - - - - - Specifies a function that will calculate the value to return from the method. - - The function that will calculate the return value. - - Return a calculated value when the method is called: - - mock.Setup(x => x.Execute("ping")) - .Returns(() => returnValues[0]); - - The lambda expression to retrieve the return value is lazy-executed, - meaning that its value may change depending on the moment the method - is executed and the value the returnValues array has at - that moment. - - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the argument of the invoked method. - The function that will calculate the return value. - - Return a calculated value which is evaluated lazily at the time of the invocation. - - The lookup list can change between invocations and the setup - will return different values accordingly. Also, notice how the specific - string argument is retrieved by simply declaring it as part of the lambda - expression: - - - mock.Setup(x => x.Execute(It.IsAny<string>())) - .Returns((string command) => returnValues[command]); - - - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The function that will calculate the return value. - Returns a calculated value which is evaluated lazily at the time of the invocation. - - - The return value is calculated from the value of the actual method invocation arguments. - Notice how the arguments are retrieved by simply declaring them as part of the lambda - expression: - - - mock.Setup(x => x.Execute( - It.IsAny<int>(), - It.IsAny<int>())) - .Returns((string arg1, string arg2) => arg1 + arg2); - - - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The function that will calculate the return value. - Returns a calculated value which is evaluated lazily at the time of the invocation. - - - The return value is calculated from the value of the actual method invocation arguments. - Notice how the arguments are retrieved by simply declaring them as part of the lambda - expression: - - - mock.Setup(x => x.Execute( - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>())) - .Returns((string arg1, string arg2, string arg3) => arg1 + arg2 + arg3); - - - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The function that will calculate the return value. - Returns a calculated value which is evaluated lazily at the time of the invocation. - - - The return value is calculated from the value of the actual method invocation arguments. - Notice how the arguments are retrieved by simply declaring them as part of the lambda - expression: - - - mock.Setup(x => x.Execute( - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>())) - .Returns((string arg1, string arg2, string arg3, string arg4) => arg1 + arg2 + arg3 + arg4); - - - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The function that will calculate the return value. - Returns a calculated value which is evaluated lazily at the time of the invocation. - - - The return value is calculated from the value of the actual method invocation arguments. - Notice how the arguments are retrieved by simply declaring them as part of the lambda - expression: - - - mock.Setup(x => x.Execute( - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>())) - .Returns((string arg1, string arg2, string arg3, string arg4, string arg5) => arg1 + arg2 + arg3 + arg4 + arg5); - - - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The function that will calculate the return value. - Returns a calculated value which is evaluated lazily at the time of the invocation. - - - The return value is calculated from the value of the actual method invocation arguments. - Notice how the arguments are retrieved by simply declaring them as part of the lambda - expression: - - - mock.Setup(x => x.Execute( - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>())) - .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6); - - - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The function that will calculate the return value. - Returns a calculated value which is evaluated lazily at the time of the invocation. - - - The return value is calculated from the value of the actual method invocation arguments. - Notice how the arguments are retrieved by simply declaring them as part of the lambda - expression: - - - mock.Setup(x => x.Execute( - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>())) - .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7); - - - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The function that will calculate the return value. - Returns a calculated value which is evaluated lazily at the time of the invocation. - - - The return value is calculated from the value of the actual method invocation arguments. - Notice how the arguments are retrieved by simply declaring them as part of the lambda - expression: - - - mock.Setup(x => x.Execute( - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>())) - .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8); - - - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the nineth argument of the invoked method. - The function that will calculate the return value. - Returns a calculated value which is evaluated lazily at the time of the invocation. - - - The return value is calculated from the value of the actual method invocation arguments. - Notice how the arguments are retrieved by simply declaring them as part of the lambda - expression: - - - mock.Setup(x => x.Execute( - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>())) - .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9); - - - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the nineth argument of the invoked method. - The type of the tenth argument of the invoked method. - The function that will calculate the return value. - Returns a calculated value which is evaluated lazily at the time of the invocation. - - - The return value is calculated from the value of the actual method invocation arguments. - Notice how the arguments are retrieved by simply declaring them as part of the lambda - expression: - - - mock.Setup(x => x.Execute( - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>())) - .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10); - - - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the nineth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The function that will calculate the return value. - Returns a calculated value which is evaluated lazily at the time of the invocation. - - - The return value is calculated from the value of the actual method invocation arguments. - Notice how the arguments are retrieved by simply declaring them as part of the lambda - expression: - - - mock.Setup(x => x.Execute( - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>())) - .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11); - - - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the nineth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The type of the twelfth argument of the invoked method. - The function that will calculate the return value. - Returns a calculated value which is evaluated lazily at the time of the invocation. - - - The return value is calculated from the value of the actual method invocation arguments. - Notice how the arguments are retrieved by simply declaring them as part of the lambda - expression: - - - mock.Setup(x => x.Execute( - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>())) - .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12); - - - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the nineth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The type of the twelfth argument of the invoked method. - The type of the thirteenth argument of the invoked method. - The function that will calculate the return value. - Returns a calculated value which is evaluated lazily at the time of the invocation. - - - The return value is calculated from the value of the actual method invocation arguments. - Notice how the arguments are retrieved by simply declaring them as part of the lambda - expression: - - - mock.Setup(x => x.Execute( - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>())) - .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12, string arg13) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13); - - - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the nineth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The type of the twelfth argument of the invoked method. - The type of the thirteenth argument of the invoked method. - The type of the fourteenth argument of the invoked method. - The function that will calculate the return value. - Returns a calculated value which is evaluated lazily at the time of the invocation. - - - The return value is calculated from the value of the actual method invocation arguments. - Notice how the arguments are retrieved by simply declaring them as part of the lambda - expression: - - - mock.Setup(x => x.Execute( - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>())) - .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12, string arg13, string arg14) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13 + arg14); - - - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the nineth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The type of the twelfth argument of the invoked method. - The type of the thirteenth argument of the invoked method. - The type of the fourteenth argument of the invoked method. - The type of the fifteenth argument of the invoked method. - The function that will calculate the return value. - Returns a calculated value which is evaluated lazily at the time of the invocation. - - - The return value is calculated from the value of the actual method invocation arguments. - Notice how the arguments are retrieved by simply declaring them as part of the lambda - expression: - - - mock.Setup(x => x.Execute( - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>())) - .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12, string arg13, string arg14, string arg15) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13 + arg14 + arg15); - - - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the nineth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The type of the twelfth argument of the invoked method. - The type of the thirteenth argument of the invoked method. - The type of the fourteenth argument of the invoked method. - The type of the fifteenth argument of the invoked method. - The type of the sixteenth argument of the invoked method. - The function that will calculate the return value. - Returns a calculated value which is evaluated lazily at the time of the invocation. - - - The return value is calculated from the value of the actual method invocation arguments. - Notice how the arguments are retrieved by simply declaring them as part of the lambda - expression: - - - mock.Setup(x => x.Execute( - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>())) - .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12, string arg13, string arg14, string arg15, string arg16) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13 + arg14 + arg15 + arg16); - - - - - - Language for ReturnSequence - - - - - Returns value - - - - - Throws an exception - - - - - Throws an exception - - - - - The first method call or member access will be the - last segment of the expression (depth-first traversal), - which is the one we have to Setup rather than FluentMock. - And the last one is the one we have to Mock.Get rather - than FluentMock. - - - - - Base class for mocks and static helper class with methods that - apply to mocked objects, such as to - retrieve a from an object instance. - - - - - Creates an mock object of the indicated type. - - The type of the mocked object. - The mocked object created. - - - - Creates an mock object of the indicated type. - - The predicate with the specification of how the mocked object should behave. - The type of the mocked object. - The mocked object created. - - - - Initializes a new instance of the class. - - - - - Retrieves the mock object for the given object instance. - - Type of the mock to retrieve. Can be omitted as it's inferred - from the object instance passed in as the instance. - The instance of the mocked object.The mock associated with the mocked object. - The received instance - was not created by Moq. - - The following example shows how to add a new setup to an object - instance which is not the original but rather - the object associated with it: - - // Typed instance, not the mock, is retrieved from some test API. - HttpContextBase context = GetMockContext(); - - // context.Request is the typed object from the "real" API - // so in order to add a setup to it, we need to get - // the mock that "owns" it - Mock<HttpRequestBase> request = Mock.Get(context.Request); - mock.Setup(req => req.AppRelativeCurrentExecutionFilePath) - .Returns(tempUrl); - - - - - - Returns the mocked object value. - - - - - Verifies that all verifiable expectations have been met. - - This example sets up an expectation and marks it as verifiable. After - the mock is used, a Verify() call is issued on the mock - to ensure the method in the setup was invoked: - - var mock = new Mock<IWarehouse>(); - this.Setup(x => x.HasInventory(TALISKER, 50)).Verifiable().Returns(true); - ... - // other test code - ... - // Will throw if the test code has didn't call HasInventory. - this.Verify(); - - Not all verifiable expectations were met. - - - - Verifies all expectations regardless of whether they have - been flagged as verifiable. - - This example sets up an expectation without marking it as verifiable. After - the mock is used, a call is issued on the mock - to ensure that all expectations are met: - - var mock = new Mock<IWarehouse>(); - this.Setup(x => x.HasInventory(TALISKER, 50)).Returns(true); - ... - // other test code - ... - // Will throw if the test code has didn't call HasInventory, even - // that expectation was not marked as verifiable. - this.VerifyAll(); - - At least one expectation was not met. - - - - Gets the interceptor target for the given expression and root mock, - building the intermediate hierarchy of mock objects if necessary. - - - - - Raises the associated event with the given - event argument data. - - - - - Raises the associated event with the given - event argument data. - - - - - Adds an interface implementation to the mock, - allowing setups to be specified for it. - - This method can only be called before the first use - of the mock property, at which - point the runtime type has already been generated - and no more interfaces can be added to it. - - Also, must be an - interface and not a class, which must be specified - when creating the mock instead. - - - The mock type - has already been generated by accessing the property. - - The specified - is not an interface. - - The following example creates a mock for the main interface - and later adds to it to verify - it's called by the consumer code: - - var mock = new Mock<IProcessor>(); - mock.Setup(x => x.Execute("ping")); - - // add IDisposable interface - var disposable = mock.As<IDisposable>(); - disposable.Setup(d => d.Dispose()).Verifiable(); - - Type of interface to cast the mock to. - - - - - - - Behavior of the mock, according to the value set in the constructor. - - - - - Whether the base member virtual implementation will be called - for mocked classes if no setup is matched. Defaults to . - - - - - Specifies the behavior to use when returning default values for - unexpected invocations on loose mocks. - - - - - Gets the mocked object instance. - - - - - Retrieves the type of the mocked object, its generic type argument. - This is used in the auto-mocking of hierarchy access. - - - - - Specifies the class that will determine the default - value to return when invocations are made that - have no setups and need to return a default - value (for loose mocks). - - - - - Exposes the list of extra interfaces implemented by the mock. - - - - - Utility repository class to use to construct multiple - mocks when consistent verification is - desired for all of them. - - - If multiple mocks will be created during a test, passing - the desired (if different than the - or the one - passed to the repository constructor) and later verifying each - mock can become repetitive and tedious. - - This repository class helps in that scenario by providing a - simplified creation of multiple mocks with a default - (unless overriden by calling - ) and posterior verification. - - - - The following is a straightforward example on how to - create and automatically verify strict mocks using a : - - var repository = new MockRepository(MockBehavior.Strict); - - var foo = repository.Create<IFoo>(); - var bar = repository.Create<IBar>(); - - // no need to call Verifiable() on the setup - // as we'll be validating all of them anyway. - foo.Setup(f => f.Do()); - bar.Setup(b => b.Redo()); - - // exercise the mocks here - - repository.VerifyAll(); - // At this point all setups are already checked - // and an optional MockException might be thrown. - // Note also that because the mocks are strict, any invocation - // that doesn't have a matching setup will also throw a MockException. - - The following examples shows how to setup the repository - to create loose mocks and later verify only verifiable setups: - - var repository = new MockRepository(MockBehavior.Loose); - - var foo = repository.Create<IFoo>(); - var bar = repository.Create<IBar>(); - - // this setup will be verified when we verify the repository - foo.Setup(f => f.Do()).Verifiable(); - - // this setup will NOT be verified - foo.Setup(f => f.Calculate()); - - // this setup will be verified when we verify the repository - bar.Setup(b => b.Redo()).Verifiable(); - - // exercise the mocks here - // note that because the mocks are Loose, members - // called in the interfaces for which no matching - // setups exist will NOT throw exceptions, - // and will rather return default values. - - repository.Verify(); - // At this point verifiable setups are already checked - // and an optional MockException might be thrown. - - The following examples shows how to setup the repository with a - default strict behavior, overriding that default for a - specific mock: - - var repository = new MockRepository(MockBehavior.Strict); - - // this particular one we want loose - var foo = repository.Create<IFoo>(MockBehavior.Loose); - var bar = repository.Create<IBar>(); - - // specify setups - - // exercise the mocks here - - repository.Verify(); - - - - - - - Utility factory class to use to construct multiple - mocks when consistent verification is - desired for all of them. - - - If multiple mocks will be created during a test, passing - the desired (if different than the - or the one - passed to the factory constructor) and later verifying each - mock can become repetitive and tedious. - - This factory class helps in that scenario by providing a - simplified creation of multiple mocks with a default - (unless overriden by calling - ) and posterior verification. - - - - The following is a straightforward example on how to - create and automatically verify strict mocks using a : - - var factory = new MockFactory(MockBehavior.Strict); - - var foo = factory.Create<IFoo>(); - var bar = factory.Create<IBar>(); - - // no need to call Verifiable() on the setup - // as we'll be validating all of them anyway. - foo.Setup(f => f.Do()); - bar.Setup(b => b.Redo()); - - // exercise the mocks here - - factory.VerifyAll(); - // At this point all setups are already checked - // and an optional MockException might be thrown. - // Note also that because the mocks are strict, any invocation - // that doesn't have a matching setup will also throw a MockException. - - The following examples shows how to setup the factory - to create loose mocks and later verify only verifiable setups: - - var factory = new MockFactory(MockBehavior.Loose); - - var foo = factory.Create<IFoo>(); - var bar = factory.Create<IBar>(); - - // this setup will be verified when we verify the factory - foo.Setup(f => f.Do()).Verifiable(); - - // this setup will NOT be verified - foo.Setup(f => f.Calculate()); - - // this setup will be verified when we verify the factory - bar.Setup(b => b.Redo()).Verifiable(); - - // exercise the mocks here - // note that because the mocks are Loose, members - // called in the interfaces for which no matching - // setups exist will NOT throw exceptions, - // and will rather return default values. - - factory.Verify(); - // At this point verifiable setups are already checked - // and an optional MockException might be thrown. - - The following examples shows how to setup the factory with a - default strict behavior, overriding that default for a - specific mock: - - var factory = new MockFactory(MockBehavior.Strict); - - // this particular one we want loose - var foo = factory.Create<IFoo>(MockBehavior.Loose); - var bar = factory.Create<IBar>(); - - // specify setups - - // exercise the mocks here - - factory.Verify(); - - - - - - - Initializes the factory with the given - for newly created mocks from the factory. - - The behavior to use for mocks created - using the factory method if not overriden - by using the overload. - - - - Creates a new mock with the default - specified at factory construction time. - - Type to mock. - A new . - - - var factory = new MockFactory(MockBehavior.Strict); - - var foo = factory.Create<IFoo>(); - // use mock on tests - - factory.VerifyAll(); - - - - - - Creates a new mock with the default - specified at factory construction time and with the - the given constructor arguments for the class. - - - The mock will try to find the best match constructor given the - constructor arguments, and invoke that to initialize the instance. - This applies only to classes, not interfaces. - - Type to mock. - Constructor arguments for mocked classes. - A new . - - - var factory = new MockFactory(MockBehavior.Default); - - var mock = factory.Create<MyBase>("Foo", 25, true); - // use mock on tests - - factory.Verify(); - - - - - - Creates a new mock with the given . - - Type to mock. - Behavior to use for the mock, which overrides - the default behavior specified at factory construction time. - A new . - - The following example shows how to create a mock with a different - behavior to that specified as the default for the factory: - - var factory = new MockFactory(MockBehavior.Strict); - - var foo = factory.Create<IFoo>(MockBehavior.Loose); - - - - - - Creates a new mock with the given - and with the the given constructor arguments for the class. - - - The mock will try to find the best match constructor given the - constructor arguments, and invoke that to initialize the instance. - This applies only to classes, not interfaces. - - Type to mock. - Behavior to use for the mock, which overrides - the default behavior specified at factory construction time. - Constructor arguments for mocked classes. - A new . - - The following example shows how to create a mock with a different - behavior to that specified as the default for the factory, passing - constructor arguments: - - var factory = new MockFactory(MockBehavior.Default); - - var mock = factory.Create<MyBase>(MockBehavior.Strict, "Foo", 25, true); - - - - - - Implements creation of a new mock within the factory. - - Type to mock. - The behavior for the new mock. - Optional arguments for the construction of the mock. - - - - Verifies all verifiable expectations on all mocks created - by this factory. - - - One or more mocks had expectations that were not satisfied. - - - - Verifies all verifiable expectations on all mocks created - by this factory. - - - One or more mocks had expectations that were not satisfied. - - - - Invokes for each mock - in , and accumulates the resulting - that might be - thrown from the action. - - The action to execute against - each mock. - - - - Whether the base member virtual implementation will be called - for mocked classes if no setup is matched. Defaults to . - - - - - Specifies the behavior to use when returning default values for - unexpected invocations on loose mocks. - - - - - Gets the mocks that have been created by this factory and - that will get verified together. - - - - - Access the universe of mocks of the given type, to retrieve those - that behave according to the LINQ query specification. - - The type of the mocked object to query. - - - - Access the universe of mocks of the given type, to retrieve those - that behave according to the LINQ query specification. - - The predicate with the setup expressions. - The type of the mocked object to query. - - - - Creates an mock object of the indicated type. - - The type of the mocked object. - The mocked object created. - - - - Creates an mock object of the indicated type. - - The predicate with the setup expressions. - The type of the mocked object. - The mocked object created. - - - - Creates the mock query with the underlying queriable implementation. - - - - - Wraps the enumerator inside a queryable. - - - - - Method that is turned into the actual call from .Query{T}, to - transform the queryable query into a normal enumerable query. - This method is never used directly by consumers. - - - - - Initializes the repository with the given - for newly created mocks from the repository. - - The behavior to use for mocks created - using the repository method if not overriden - by using the overload. - - - - A that returns an empty default value - for invocations that do not have setups or return values, with loose mocks. - This is the default behavior for a mock. - - - - - Interface to be implemented by classes that determine the - default value of non-expected invocations. - - - - - Defines the default value to return in all the methods returning . - The type of the return value.The value to set as default. - - - - Provides a value for the given member and arguments. - - The member to provide a default value for. - - - - - The intention of is to create a more readable - string representation for the failure message. - - - - - Implements the fluent API. - - - - - Defines the Throws verb. - - - - - Specifies the exception to throw when the method is invoked. - - Exception instance to throw. - - This example shows how to throw an exception when the method is - invoked with an empty string argument: - - mock.Setup(x => x.Execute("")) - .Throws(new ArgumentException()); - - - - - - Specifies the type of exception to throw when the method is invoked. - - Type of exception to instantiate and throw when the setup is matched. - - This example shows how to throw an exception when the method is - invoked with an empty string argument: - - mock.Setup(x => x.Execute("")) - .Throws<ArgumentException>(); - - - - - - Implements the fluent API. - - - - - Defines occurrence members to constraint setups. - - - - - The expected invocation can happen at most once. - - - - var mock = new Mock<ICommand>(); - mock.Setup(foo => foo.Execute("ping")) - .AtMostOnce(); - - - - - - The expected invocation can happen at most specified number of times. - - The number of times to accept calls. - - - var mock = new Mock<ICommand>(); - mock.Setup(foo => foo.Execute("ping")) - .AtMost( 5 ); - - - - - - Defines the Verifiable verb. - - - - - Marks the expectation as verifiable, meaning that a call - to will check if this particular - expectation was met. - - - The following example marks the expectation as verifiable: - - mock.Expect(x => x.Execute("ping")) - .Returns(true) - .Verifiable(); - - - - - - Marks the expectation as verifiable, meaning that a call - to will check if this particular - expectation was met, and specifies a message for failures. - - - The following example marks the expectation as verifiable: - - mock.Expect(x => x.Execute("ping")) - .Returns(true) - .Verifiable("Ping should be executed always!"); - - - - - - Implements the fluent API. - - - - - We need this non-generics base class so that - we can use from - generic code. - - - - - Implements the fluent API. - - - - - Implements the fluent API. - - - - - Implements the fluent API. - - - - - Defines the Callback verb for property getter setups. - - - Mocked type. - Type of the property. - - - - Specifies a callback to invoke when the property is retrieved. - - Callback method to invoke. - - Invokes the given callback with the property value being set. - - mock.SetupGet(x => x.Suspended) - .Callback(() => called = true) - .Returns(true); - - - - - - Implements the fluent API. - - - - - Defines the Returns verb for property get setups. - - Mocked type. - Type of the property. - - - - Specifies the value to return. - - The value to return, or . - - Return a true value from the property getter call: - - mock.SetupGet(x => x.Suspended) - .Returns(true); - - - - - - Specifies a function that will calculate the value to return for the property. - - The function that will calculate the return value. - - Return a calculated value when the property is retrieved: - - mock.SetupGet(x => x.Suspended) - .Returns(() => returnValues[0]); - - The lambda expression to retrieve the return value is lazy-executed, - meaning that its value may change depending on the moment the property - is retrieved and the value the returnValues array has at - that moment. - - - - - Implements the fluent API. - - - - - Helper class to setup a full trace between many mocks - - - - - Initialize a trace setup - - - - - Allow sequence to be repeated - - - - - define nice api - - - - - Perform an expectation in the trace. - - - - - Marks a method as a matcher, which allows complete replacement - of the built-in class with your own argument - matching rules. - - - This feature has been deprecated in favor of the new - and simpler . - - - The argument matching is used to determine whether a concrete - invocation in the mock matches a given setup. This - matching mechanism is fully extensible. - - - There are two parts of a matcher: the compiler matcher - and the runtime matcher. - - - Compiler matcher - Used to satisfy the compiler requirements for the - argument. Needs to be a method optionally receiving any arguments - you might need for the matching, but with a return type that - matches that of the argument. - - Let's say I want to match a lists of orders that contains - a particular one. I might create a compiler matcher like the following: - - - public static class Orders - { - [Matcher] - public static IEnumerable<Order> Contains(Order order) - { - return null; - } - } - - Now we can invoke this static method instead of an argument in an - invocation: - - var order = new Order { ... }; - var mock = new Mock<IRepository<Order>>(); - - mock.Setup(x => x.Save(Orders.Contains(order))) - .Throws<ArgumentException>(); - - Note that the return value from the compiler matcher is irrelevant. - This method will never be called, and is just used to satisfy the - compiler and to signal Moq that this is not a method that we want - to be invoked at runtime. - - - - Runtime matcher - - The runtime matcher is the one that will actually perform evaluation - when the test is run, and is defined by convention to have the - same signature as the compiler matcher, but where the return - value is the first argument to the call, which contains the - object received by the actual invocation at runtime: - - public static bool Contains(IEnumerable<Order> orders, Order order) - { - return orders.Contains(order); - } - - At runtime, the mocked method will be invoked with a specific - list of orders. This value will be passed to this runtime - matcher as the first argument, while the second argument is the - one specified in the setup (x.Save(Orders.Contains(order))). - - The boolean returned determines whether the given argument has been - matched. If all arguments to the expected method are matched, then - the setup matches and is evaluated. - - - - - - Using this extensible infrastructure, you can easily replace the entire - set of matchers with your own. You can also avoid the - typical (and annoying) lengthy expressions that result when you have - multiple arguments that use generics. - - - The following is the complete example explained above: - - public static class Orders - { - [Matcher] - public static IEnumerable<Order> Contains(Order order) - { - return null; - } - - public static bool Contains(IEnumerable<Order> orders, Order order) - { - return orders.Contains(order); - } - } - - And the concrete test using this matcher: - - var order = new Order { ... }; - var mock = new Mock<IRepository<Order>>(); - - mock.Setup(x => x.Save(Orders.Contains(order))) - .Throws<ArgumentException>(); - - // use mock, invoke Save, and have the matcher filter. - - - - - - Provides a mock implementation of . - - Any interface type can be used for mocking, but for classes, only abstract and virtual members can be mocked. - - The behavior of the mock with regards to the setups and the actual calls is determined - by the optional that can be passed to the - constructor. - - Type to mock, which can be an interface or a class. - The following example shows establishing setups with specific values - for method invocations: - - // Arrange - var order = new Order(TALISKER, 50); - var mock = new Mock<IWarehouse>(); - - mock.Setup(x => x.HasInventory(TALISKER, 50)).Returns(true); - - // Act - order.Fill(mock.Object); - - // Assert - Assert.True(order.IsFilled); - - The following example shows how to use the class - to specify conditions for arguments instead of specific values: - - // Arrange - var order = new Order(TALISKER, 50); - var mock = new Mock<IWarehouse>(); - - // shows how to expect a value within a range - mock.Setup(x => x.HasInventory( - It.IsAny<string>(), - It.IsInRange(0, 100, Range.Inclusive))) - .Returns(false); - - // shows how to throw for unexpected calls. - mock.Setup(x => x.Remove( - It.IsAny<string>(), - It.IsAny<int>())) - .Throws(new InvalidOperationException()); - - // Act - order.Fill(mock.Object); - - // Assert - Assert.False(order.IsFilled); - - - - - - Obsolete. - - - - - Obsolete. - - - - - Obsolete. - - - - - Obsolete. - - - - - Obsolete. - - - - - Ctor invoked by AsTInterface exclusively. - - - - - Initializes an instance of the mock with default behavior. - - var mock = new Mock<IFormatProvider>(); - - - - - Initializes an instance of the mock with default behavior and with - the given constructor arguments for the class. (Only valid when is a class) - - The mock will try to find the best match constructor given the constructor arguments, and invoke that - to initialize the instance. This applies only for classes, not interfaces. - - var mock = new Mock<MyProvider>(someArgument, 25); - Optional constructor arguments if the mocked type is a class. - - - - Initializes an instance of the mock with the specified behavior. - - var mock = new Mock<IFormatProvider>(MockBehavior.Relaxed); - Behavior of the mock. - - - - Initializes an instance of the mock with a specific behavior with - the given constructor arguments for the class. - - The mock will try to find the best match constructor given the constructor arguments, and invoke that - to initialize the instance. This applies only to classes, not interfaces. - - var mock = new Mock<MyProvider>(someArgument, 25); - Behavior of the mock.Optional constructor arguments if the mocked type is a class. - - - - Returns the mocked object value. - - - - - Specifies a setup on the mocked type for a call to - to a void method. - - If more than one setup is specified for the same method or property, - the latest one wins and is the one that will be executed. - Lambda expression that specifies the expected method invocation. - - var mock = new Mock<IProcessor>(); - mock.Setup(x => x.Execute("ping")); - - - - - - Specifies a setup on the mocked type for a call to - to a value returning method. - Type of the return value. Typically omitted as it can be inferred from the expression. - If more than one setup is specified for the same method or property, - the latest one wins and is the one that will be executed. - Lambda expression that specifies the method invocation. - - mock.Setup(x => x.HasInventory("Talisker", 50)).Returns(true); - - - - - - Specifies a setup on the mocked type for a call to - to a property getter. - - If more than one setup is set for the same property getter, - the latest one wins and is the one that will be executed. - Type of the property. Typically omitted as it can be inferred from the expression.Lambda expression that specifies the property getter. - - mock.SetupGet(x => x.Suspended) - .Returns(true); - - - - - - Specifies a setup on the mocked type for a call to - to a property setter. - - If more than one setup is set for the same property setter, - the latest one wins and is the one that will be executed. - - This overloads allows the use of a callback already - typed for the property type. - - Type of the property. Typically omitted as it can be inferred from the expression.The Lambda expression that sets a property to a value. - - mock.SetupSet(x => x.Suspended = true); - - - - - - Specifies a setup on the mocked type for a call to - to a property setter. - - If more than one setup is set for the same property setter, - the latest one wins and is the one that will be executed. - Lambda expression that sets a property to a value. - - mock.SetupSet(x => x.Suspended = true); - - - - - - Specifies that the given property should have "property behavior", - meaning that setting its value will cause it to be saved and - later returned when the property is requested. (this is also - known as "stubbing"). - - Type of the property, inferred from the property - expression (does not need to be specified). - Property expression to stub. - If you have an interface with an int property Value, you might - stub it using the following straightforward call: - - var mock = new Mock<IHaveValue>(); - mock.Stub(v => v.Value); - - After the Stub call has been issued, setting and - retrieving the object value will behave as expected: - - IHaveValue v = mock.Object; - - v.Value = 5; - Assert.Equal(5, v.Value); - - - - - - Specifies that the given property should have "property behavior", - meaning that setting its value will cause it to be saved and - later returned when the property is requested. This overload - allows setting the initial value for the property. (this is also - known as "stubbing"). - - Type of the property, inferred from the property - expression (does not need to be specified). - Property expression to stub.Initial value for the property. - If you have an interface with an int property Value, you might - stub it using the following straightforward call: - - var mock = new Mock<IHaveValue>(); - mock.SetupProperty(v => v.Value, 5); - - After the SetupProperty call has been issued, setting and - retrieving the object value will behave as expected: - - IHaveValue v = mock.Object; - // Initial value was stored - Assert.Equal(5, v.Value); - - // New value set which changes the initial value - v.Value = 6; - Assert.Equal(6, v.Value); - - - - - - Specifies that the all properties on the mock should have "property behavior", - meaning that setting its value will cause it to be saved and - later returned when the property is requested. (this is also - known as "stubbing"). The default value for each property will be the - one generated as specified by the property for the mock. - - If the mock is set to , - the mocked default values will also get all properties setup recursively. - - - - - - - - Verifies that a specific invocation matching the given expression was performed on the mock. Use - in conjuntion with the default . - - This example assumes that the mock has been used, and later we want to verify that a given - invocation with specific parameters was performed: - - var mock = new Mock<IProcessor>(); - // exercise mock - //... - // Will throw if the test code didn't call Execute with a "ping" string argument. - mock.Verify(proc => proc.Execute("ping")); - - The invocation was not performed on the mock.Expression to verify. - - - - Verifies that a specific invocation matching the given expression was performed on the mock. Use - in conjuntion with the default . - - The invocation was not call the times specified by - . - Expression to verify.The number of times a method is allowed to be called. - - - - Verifies that a specific invocation matching the given expression was performed on the mock, - specifying a failure error message. Use in conjuntion with the default - . - - This example assumes that the mock has been used, and later we want to verify that a given - invocation with specific parameters was performed: - - var mock = new Mock<IProcessor>(); - // exercise mock - //... - // Will throw if the test code didn't call Execute with a "ping" string argument. - mock.Verify(proc => proc.Execute("ping")); - - The invocation was not performed on the mock.Expression to verify.Message to show if verification fails. - - - - Verifies that a specific invocation matching the given expression was performed on the mock, - specifying a failure error message. Use in conjuntion with the default - . - - The invocation was not call the times specified by - . - Expression to verify.The number of times a method is allowed to be called.Message to show if verification fails. - - - - Verifies that a specific invocation matching the given expression was performed on the mock. Use - in conjuntion with the default . - - This example assumes that the mock has been used, and later we want to verify that a given - invocation with specific parameters was performed: - - var mock = new Mock<IWarehouse>(); - // exercise mock - //... - // Will throw if the test code didn't call HasInventory. - mock.Verify(warehouse => warehouse.HasInventory(TALISKER, 50)); - - The invocation was not performed on the mock.Expression to verify.Type of return value from the expression. - - - - Verifies that a specific invocation matching the given - expression was performed on the mock. Use in conjuntion - with the default . - - The invocation was not call the times specified by - . - Expression to verify.The number of times a method is allowed to be called.Type of return value from the expression. - - - - Verifies that a specific invocation matching the given - expression was performed on the mock, specifying a failure - error message. - - This example assumes that the mock has been used, - and later we want to verify that a given invocation - with specific parameters was performed: - - var mock = new Mock<IWarehouse>(); - // exercise mock - //... - // Will throw if the test code didn't call HasInventory. - mock.Verify(warehouse => warehouse.HasInventory(TALISKER, 50), "When filling orders, inventory has to be checked"); - - The invocation was not performed on the mock.Expression to verify.Message to show if verification fails.Type of return value from the expression. - - - - Verifies that a specific invocation matching the given - expression was performed on the mock, specifying a failure - error message. - - The invocation was not call the times specified by - . - Expression to verify.The number of times a method is allowed to be called.Message to show if verification fails.Type of return value from the expression. - - - - Verifies that a property was read on the mock. - - This example assumes that the mock has been used, - and later we want to verify that a given property - was retrieved from it: - - var mock = new Mock<IWarehouse>(); - // exercise mock - //... - // Will throw if the test code didn't retrieve the IsClosed property. - mock.VerifyGet(warehouse => warehouse.IsClosed); - - The invocation was not performed on the mock.Expression to verify. - Type of the property to verify. Typically omitted as it can - be inferred from the expression's return type. - - - - - Verifies that a property was read on the mock. - - The invocation was not call the times specified by - . - The number of times a method is allowed to be called.Expression to verify. - Type of the property to verify. Typically omitted as it can - be inferred from the expression's return type. - - - - - Verifies that a property was read on the mock, specifying a failure - error message. - - This example assumes that the mock has been used, - and later we want to verify that a given property - was retrieved from it: - - var mock = new Mock<IWarehouse>(); - // exercise mock - //... - // Will throw if the test code didn't retrieve the IsClosed property. - mock.VerifyGet(warehouse => warehouse.IsClosed); - - The invocation was not performed on the mock.Expression to verify.Message to show if verification fails. - Type of the property to verify. Typically omitted as it can - be inferred from the expression's return type. - - - - - Verifies that a property was read on the mock, specifying a failure - error message. - - The invocation was not call the times specified by - . - The number of times a method is allowed to be called.Expression to verify.Message to show if verification fails. - Type of the property to verify. Typically omitted as it can - be inferred from the expression's return type. - - - - - Verifies that a property was set on the mock. - - This example assumes that the mock has been used, - and later we want to verify that a given property - was set on it: - - var mock = new Mock<IWarehouse>(); - // exercise mock - //... - // Will throw if the test code didn't set the IsClosed property. - mock.VerifySet(warehouse => warehouse.IsClosed = true); - - The invocation was not performed on the mock.Expression to verify. - - - - Verifies that a property was set on the mock. - - The invocation was not call the times specified by - . - The number of times a method is allowed to be called.Expression to verify. - - - - Verifies that a property was set on the mock, specifying - a failure message. - - This example assumes that the mock has been used, - and later we want to verify that a given property - was set on it: - - var mock = new Mock<IWarehouse>(); - // exercise mock - //... - // Will throw if the test code didn't set the IsClosed property. - mock.VerifySet(warehouse => warehouse.IsClosed = true, "Warehouse should always be closed after the action"); - - The invocation was not performed on the mock.Expression to verify.Message to show if verification fails. - - - - Verifies that a property was set on the mock, specifying - a failure message. - - The invocation was not call the times specified by - . - The number of times a method is allowed to be called.Expression to verify.Message to show if verification fails. - - - - Raises the event referenced in using - the given argument. - - The argument is - invalid for the target event invocation, or the is - not an event attach or detach expression. - - The following example shows how to raise a event: - - var mock = new Mock<IViewModel>(); - - mock.Raise(x => x.PropertyChanged -= null, new PropertyChangedEventArgs("Name")); - - - This example shows how to invoke an event with a custom event arguments - class in a view that will cause its corresponding presenter to - react by changing its state: - - var mockView = new Mock<IOrdersView>(); - var presenter = new OrdersPresenter(mockView.Object); - - // Check that the presenter has no selection by default - Assert.Null(presenter.SelectedOrder); - - // Raise the event with a specific arguments data - mockView.Raise(v => v.SelectionChanged += null, new OrderEventArgs { Order = new Order("moq", 500) }); - - // Now the presenter reacted to the event, and we have a selected order - Assert.NotNull(presenter.SelectedOrder); - Assert.Equal("moq", presenter.SelectedOrder.ProductName); - - - - - - Raises the event referenced in using - the given argument for a non-EventHandler typed event. - - The arguments are - invalid for the target event invocation, or the is - not an event attach or detach expression. - - The following example shows how to raise a custom event that does not adhere to - the standard EventHandler: - - var mock = new Mock<IViewModel>(); - - mock.Raise(x => x.MyEvent -= null, "Name", bool, 25); - - - - - - Exposes the mocked object instance. - - - - - Provides legacy API members as extensions so that - existing code continues to compile, but new code - doesn't see then. - - - - - Obsolete. - - - - - Obsolete. - - - - - Obsolete. - - - - - Provides additional methods on mocks. - - - Provided as extension methods as they confuse the compiler - with the overloads taking Action. - - - - - Specifies a setup on the mocked type for a call to - to a property setter, regardless of its value. - - - If more than one setup is set for the same property setter, - the latest one wins and is the one that will be executed. - - Type of the property. Typically omitted as it can be inferred from the expression. - Type of the mock. - The target mock for the setup. - Lambda expression that specifies the property setter. - - - mock.SetupSet(x => x.Suspended); - - - - This method is not legacy, but must be on an extension method to avoid - confusing the compiler with the new Action syntax. - - - - - Verifies that a property has been set on the mock, regarless of its value. - - - This example assumes that the mock has been used, - and later we want to verify that a given invocation - with specific parameters was performed: - - var mock = new Mock<IWarehouse>(); - // exercise mock - //... - // Will throw if the test code didn't set the IsClosed property. - mock.VerifySet(warehouse => warehouse.IsClosed); - - - The invocation was not performed on the mock. - Expression to verify. - The mock instance. - Mocked type. - Type of the property to verify. Typically omitted as it can - be inferred from the expression's return type. - - - - Verifies that a property has been set on the mock, specifying a failure - error message. - - - This example assumes that the mock has been used, - and later we want to verify that a given invocation - with specific parameters was performed: - - var mock = new Mock<IWarehouse>(); - // exercise mock - //... - // Will throw if the test code didn't set the IsClosed property. - mock.VerifySet(warehouse => warehouse.IsClosed); - - - The invocation was not performed on the mock. - Expression to verify. - Message to show if verification fails. - The mock instance. - Mocked type. - Type of the property to verify. Typically omitted as it can - be inferred from the expression's return type. - - - - Verifies that a property has been set on the mock, regardless - of the value but only the specified number of times. - - - This example assumes that the mock has been used, - and later we want to verify that a given invocation - with specific parameters was performed: - - var mock = new Mock<IWarehouse>(); - // exercise mock - //... - // Will throw if the test code didn't set the IsClosed property. - mock.VerifySet(warehouse => warehouse.IsClosed); - - - The invocation was not performed on the mock. - The invocation was not call the times specified by - . - The mock instance. - Mocked type. - The number of times a method is allowed to be called. - Expression to verify. - Type of the property to verify. Typically omitted as it can - be inferred from the expression's return type. - - - - Verifies that a property has been set on the mock, regardless - of the value but only the specified number of times, and specifying a failure - error message. - - - This example assumes that the mock has been used, - and later we want to verify that a given invocation - with specific parameters was performed: - - var mock = new Mock<IWarehouse>(); - // exercise mock - //... - // Will throw if the test code didn't set the IsClosed property. - mock.VerifySet(warehouse => warehouse.IsClosed); - - - The invocation was not performed on the mock. - The invocation was not call the times specified by - . - The mock instance. - Mocked type. - The number of times a method is allowed to be called. - Message to show if verification fails. - Expression to verify. - Type of the property to verify. Typically omitted as it can - be inferred from the expression's return type. - - - - Helper for sequencing return values in the same method. - - - - - Return a sequence of values, once per call. - - - - - Casts the expression to a lambda expression, removing - a cast if there's any. - - - - - Casts the body of the lambda expression to a . - - If the body is not a method call. - - - - Converts the body of the lambda expression into the referenced by it. - - - - - Checks whether the body of the lambda expression is a property access. - - - - - Checks whether the expression is a property access. - - - - - Checks whether the body of the lambda expression is a property indexer, which is true - when the expression is an whose - has - equal to . - - - - - Checks whether the expression is a property indexer, which is true - when the expression is an whose - has - equal to . - - - - - Creates an expression that casts the given expression to the - type. - - - - - TODO: remove this code when https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=331583 - is fixed. - - - - - Provides partial evaluation of subtrees, whenever they can be evaluated locally. - - Matt Warren: http://blogs.msdn.com/mattwar - Documented by InSTEDD: http://www.instedd.org - - - - Performs evaluation and replacement of independent sub-trees - - The root of the expression tree. - A function that decides whether a given expression - node can be part of the local function. - A new tree with sub-trees evaluated and replaced. - - - - Performs evaluation and replacement of independent sub-trees - - The root of the expression tree. - A new tree with sub-trees evaluated and replaced. - - - - Evaluates and replaces sub-trees when first candidate is reached (top-down) - - - - - Performs bottom-up analysis to determine which nodes can possibly - be part of an evaluated sub-tree. - - - - - Ensures the given is not null. - Throws otherwise. - - - - - Ensures the given string is not null or empty. - Throws in the first case, or - in the latter. - - - - - Checks an argument to ensure it is in the specified range including the edges. - - Type of the argument to check, it must be an type. - - The expression containing the name of the argument. - The argument value to check. - The minimun allowed value for the argument. - The maximun allowed value for the argument. - - - - Checks an argument to ensure it is in the specified range excluding the edges. - - Type of the argument to check, it must be an type. - - The expression containing the name of the argument. - The argument value to check. - The minimun allowed value for the argument. - The maximun allowed value for the argument. - - - - Implemented by all generated mock object instances. - - - - - Implemented by all generated mock object instances. - - - - - Reference the Mock that contains this as the mock.Object value. - - - - - Reference the Mock that contains this as the mock.Object value. - - - - - Implements the actual interception and method invocation for - all mocks. - - - - - Get an eventInfo for a given event name. Search type ancestors depth first if necessary. - - Name of the event, with the set_ or get_ prefix already removed - - - - Given a type return all of its ancestors, both types and interfaces. - - The type to find immediate ancestors of - - - - Implements the fluent API. - - - - - Defines the Callback verb for property setter setups. - - Type of the property. - - - - Specifies a callback to invoke when the property is set that receives the - property value being set. - - Callback method to invoke. - - Invokes the given callback with the property value being set. - - mock.SetupSet(x => x.Suspended) - .Callback((bool state) => Console.WriteLine(state)); - - - - - - Allows the specification of a matching condition for an - argument in a method invocation, rather than a specific - argument value. "It" refers to the argument being matched. - - This class allows the setup to match a method invocation - with an arbitrary value, with a value in a specified range, or - even one that matches a given predicate. - - - - - Matches any value of the given type. - - Typically used when the actual argument value for a method - call is not relevant. - - - // Throws an exception for a call to Remove with any string value. - mock.Setup(x => x.Remove(It.IsAny<string>())).Throws(new InvalidOperationException()); - - Type of the value. - - - - Matches any value that satisfies the given predicate. - Type of the argument to check.The predicate used to match the method argument. - Allows the specification of a predicate to perform matching - of method call arguments. - - This example shows how to return the value 1 whenever the argument to the - Do method is an even number. - - mock.Setup(x => x.Do(It.Is<int>(i => i % 2 == 0))) - .Returns(1); - - This example shows how to throw an exception if the argument to the - method is a negative number: - - mock.Setup(x => x.GetUser(It.Is<int>(i => i < 0))) - .Throws(new ArgumentException()); - - - - - - Matches any value that is in the range specified. - Type of the argument to check.The lower bound of the range.The upper bound of the range. - The kind of range. See . - - The following example shows how to expect a method call - with an integer argument within the 0..100 range. - - mock.Setup(x => x.HasInventory( - It.IsAny<string>(), - It.IsInRange(0, 100, Range.Inclusive))) - .Returns(false); - - - - - - Matches a string argument if it matches the given regular expression pattern. - The pattern to use to match the string argument value. - The following example shows how to expect a call to a method where the - string argument matches the given regular expression: - - mock.Setup(x => x.Check(It.IsRegex("[a-z]+"))).Returns(1); - - - - - - Matches a string argument if it matches the given regular expression pattern. - The pattern to use to match the string argument value.The options used to interpret the pattern. - The following example shows how to expect a call to a method where the - string argument matches the given regular expression, in a case insensitive way: - - mock.Setup(x => x.Check(It.IsRegex("[a-z]+", RegexOptions.IgnoreCase))).Returns(1); - - - - - - Matcher to treat static functions as matchers. - - mock.Setup(x => x.StringMethod(A.MagicString())); - - public static class A - { - [Matcher] - public static string MagicString() { return null; } - public static bool MagicString(string arg) - { - return arg == "magic"; - } - } - - Will succeed if: mock.Object.StringMethod("magic"); - and fail with any other call. - - - - - Options to customize the behavior of the mock. - - - - - Causes the mock to always throw - an exception for invocations that don't have a - corresponding setup. - - - - - Will never throw exceptions, returning default - values when necessary (null for reference types, - zero for value types or empty enumerables and arrays). - - - - - Default mock behavior, which equals . - - - - - Exception thrown by mocks when setups are not matched, - the mock is not properly setup, etc. - - - A distinct exception type is provided so that exceptions - thrown by the mock can be differentiated in tests that - expect other exceptions to be thrown (i.e. ArgumentException). - - Richer exception hierarchy/types are not provided as - tests typically should not catch or expect exceptions - from the mocks. These are typically the result of changes - in the tested class or its collaborators implementation, and - result in fixes in the mock setup so that they dissapear and - allow the test to pass. - - - - - - Supports the serialization infrastructure. - - Serialization information. - Streaming context. - - - - Supports the serialization infrastructure. - - Serialization information. - Streaming context. - - - - Made internal as it's of no use for - consumers, but it's important for - our own tests. - - - - - Used by the mock factory to accumulate verification - failures. - - - - - Supports the serialization infrastructure. - - - - - A strongly-typed resource class, for looking up localized strings, etc. - - - - - Returns the cached ResourceManager instance used by this class. - - - - - Overrides the current thread's CurrentUICulture property for all - resource lookups using this strongly typed resource class. - - - - - Looks up a localized string similar to Mock type has already been initialized by accessing its Object property. Adding interfaces must be done before that.. - - - - - Looks up a localized string similar to Value cannot be an empty string.. - - - - - Looks up a localized string similar to Can only add interfaces to the mock.. - - - - - Looks up a localized string similar to Can't set return value for void method {0}.. - - - - - Looks up a localized string similar to Constructor arguments cannot be passed for interface mocks.. - - - - - Looks up a localized string similar to A matching constructor for the given arguments was not found on the mocked type.. - - - - - Looks up a localized string similar to Could not locate event for attach or detach method {0}.. - - - - - Looks up a localized string similar to Expression {0} involves a field access, which is not supported. Use properties instead.. - - - - - Looks up a localized string similar to Type to mock must be an interface or an abstract or non-sealed class. . - - - - - Looks up a localized string similar to Cannot retrieve a mock with the given object type {0} as it's not the main type of the mock or any of its additional interfaces. - Please cast the argument to one of the supported types: {1}. - Remember that there's no generics covariance in the CLR, so your object must be one of these types in order for the call to succeed.. - - - - - Looks up a localized string similar to The equals ("==" or "=" in VB) and the conditional 'and' ("&&" or "AndAlso" in VB) operators are the only ones supported in the query specification expression. Unsupported expression: {0}. - - - - - Looks up a localized string similar to LINQ method '{0}' not supported.. - - - - - Looks up a localized string similar to Expression contains a call to a method which is not virtual (overridable in VB) or abstract. Unsupported expression: {0}. - - - - - Looks up a localized string similar to Member {0}.{1} does not exist.. - - - - - Looks up a localized string similar to Method {0}.{1} is public. Use strong-typed Expect overload instead: - mock.Setup(x => x.{1}()); - . - - - - - Looks up a localized string similar to {0} invocation failed with mock behavior {1}. - {2}. - - - - - Looks up a localized string similar to Expected only {0} calls to {1}.. - - - - - Looks up a localized string similar to Expected only one call to {0}.. - - - - - Looks up a localized string similar to {0} - Expected invocation on the mock at least {2} times, but was {4} times: {1}. - - - - - Looks up a localized string similar to {0} - Expected invocation on the mock at least once, but was never performed: {1}. - - - - - Looks up a localized string similar to {0} - Expected invocation on the mock at most {3} times, but was {4} times: {1}. - - - - - Looks up a localized string similar to {0} - Expected invocation on the mock at most once, but was {4} times: {1}. - - - - - Looks up a localized string similar to {0} - Expected invocation on the mock between {2} and {3} times (Exclusive), but was {4} times: {1}. - - - - - Looks up a localized string similar to {0} - Expected invocation on the mock between {2} and {3} times (Inclusive), but was {4} times: {1}. - - - - - Looks up a localized string similar to {0} - Expected invocation on the mock exactly {2} times, but was {4} times: {1}. - - - - - Looks up a localized string similar to {0} - Expected invocation on the mock should never have been performed, but was {4} times: {1}. - - - - - Looks up a localized string similar to {0} - Expected invocation on the mock once, but was {4} times: {1}. - - - - - Looks up a localized string similar to All invocations on the mock must have a corresponding setup.. - - - - - Looks up a localized string similar to Object instance was not created by Moq.. - - - - - Looks up a localized string similar to Out expression must evaluate to a constant value.. - - - - - Looks up a localized string similar to Property {0}.{1} does not have a getter.. - - - - - Looks up a localized string similar to Property {0}.{1} does not exist.. - - - - - Looks up a localized string similar to Property {0}.{1} is write-only.. - - - - - Looks up a localized string similar to Property {0}.{1} is read-only.. - - - - - Looks up a localized string similar to Property {0}.{1} does not have a setter.. - - - - - Looks up a localized string similar to Cannot raise a mocked event unless it has been associated (attached) to a concrete event in a mocked object.. - - - - - Looks up a localized string similar to Ref expression must evaluate to a constant value.. - - - - - Looks up a localized string similar to Invocation needs to return a value and therefore must have a corresponding setup that provides it.. - - - - - Looks up a localized string similar to A lambda expression is expected as the argument to It.Is<T>.. - - - - - Looks up a localized string similar to Invocation {0} should not have been made.. - - - - - Looks up a localized string similar to Expression is not a method invocation: {0}. - - - - - Looks up a localized string similar to Expression is not a property access: {0}. - - - - - Looks up a localized string similar to Expression is not a property setter invocation.. - - - - - Looks up a localized string similar to Expression references a method that does not belong to the mocked object: {0}. - - - - - Looks up a localized string similar to Invalid setup on a non-virtual (overridable in VB) member: {0}. - - - - - Looks up a localized string similar to Type {0} does not implement required interface {1}. - - - - - Looks up a localized string similar to Type {0} does not from required type {1}. - - - - - Looks up a localized string similar to To specify a setup for public property {0}.{1}, use the typed overloads, such as: - mock.Setup(x => x.{1}).Returns(value); - mock.SetupGet(x => x.{1}).Returns(value); //equivalent to previous one - mock.SetupSet(x => x.{1}).Callback(callbackDelegate); - . - - - - - Looks up a localized string similar to Unsupported expression: {0}. - - - - - Looks up a localized string similar to Only property accesses are supported in intermediate invocations on a setup. Unsupported expression {0}.. - - - - - Looks up a localized string similar to Expression contains intermediate property access {0}.{1} which is of type {2} and cannot be mocked. Unsupported expression {3}.. - - - - - Looks up a localized string similar to Setter expression cannot use argument matchers that receive parameters.. - - - - - Looks up a localized string similar to Member {0} is not supported for protected mocking.. - - - - - Looks up a localized string similar to Setter expression can only use static custom matchers.. - - - - - Looks up a localized string similar to The following setups were not matched: - {0}. - - - - - Looks up a localized string similar to Invalid verify on a non-virtual (overridable in VB) member: {0}. - - - - - Allows setups to be specified for protected members by using their - name as a string, rather than strong-typing them which is not possible - due to their visibility. - - - - - Specifies a setup for a void method invocation with the given - , optionally specifying arguments for the method call. - - The name of the void method to be invoked. - The optional arguments for the invocation. If argument matchers are used, - remember to use rather than . - - - - Specifies a setup for an invocation on a property or a non void method with the given - , optionally specifying arguments for the method call. - - The name of the method or property to be invoked. - The optional arguments for the invocation. If argument matchers are used, - remember to use rather than . - The return type of the method or property. - - - - Specifies a setup for an invocation on a property getter with the given - . - - The name of the property. - The type of the property. - - - - Specifies a setup for an invocation on a property setter with the given - . - - The name of the property. - The property value. If argument matchers are used, - remember to use rather than . - The type of the property. - - - - Specifies a verify for a void method with the given , - optionally specifying arguments for the method call. Use in conjuntion with the default - . - - The invocation was not call the times specified by - . - The name of the void method to be verified. - The number of times a method is allowed to be called. - The optional arguments for the invocation. If argument matchers are used, - remember to use rather than . - - - - Specifies a verify for an invocation on a property or a non void method with the given - , optionally specifying arguments for the method call. - - The invocation was not call the times specified by - . - The name of the method or property to be invoked. - The optional arguments for the invocation. If argument matchers are used, - remember to use rather than . - The number of times a method is allowed to be called. - The type of return value from the expression. - - - - Specifies a verify for an invocation on a property getter with the given - . - The invocation was not call the times specified by - . - - The name of the property. - The number of times a method is allowed to be called. - The type of the property. - - - - Specifies a setup for an invocation on a property setter with the given - . - - The invocation was not call the times specified by - . - The name of the property. - The number of times a method is allowed to be called. - The property value. - The type of the property. If argument matchers are used, - remember to use rather than . - - - - Allows the specification of a matching condition for an - argument in a protected member setup, rather than a specific - argument value. "ItExpr" refers to the argument being matched. - - - Use this variant of argument matching instead of - for protected setups. - This class allows the setup to match a method invocation - with an arbitrary value, with a value in a specified range, or - even one that matches a given predicate, or null. - - - - - Matches a null value of the given type. - - - Required for protected mocks as the null value cannot be used - directly as it prevents proper method overload selection. - - - - // Throws an exception for a call to Remove with a null string value. - mock.Protected() - .Setup("Remove", ItExpr.IsNull<string>()) - .Throws(new InvalidOperationException()); - - - Type of the value. - - - - Matches any value of the given type. - - - Typically used when the actual argument value for a method - call is not relevant. - - - - // Throws an exception for a call to Remove with any string value. - mock.Protected() - .Setup("Remove", ItExpr.IsAny<string>()) - .Throws(new InvalidOperationException()); - - - Type of the value. - - - - Matches any value that satisfies the given predicate. - - Type of the argument to check. - The predicate used to match the method argument. - - Allows the specification of a predicate to perform matching - of method call arguments. - - - This example shows how to return the value 1 whenever the argument to the - Do method is an even number. - - mock.Protected() - .Setup("Do", ItExpr.Is<int>(i => i % 2 == 0)) - .Returns(1); - - This example shows how to throw an exception if the argument to the - method is a negative number: - - mock.Protected() - .Setup("GetUser", ItExpr.Is<int>(i => i < 0)) - .Throws(new ArgumentException()); - - - - - - Matches any value that is in the range specified. - - Type of the argument to check. - The lower bound of the range. - The upper bound of the range. - The kind of range. See . - - The following example shows how to expect a method call - with an integer argument within the 0..100 range. - - mock.Protected() - .Setup("HasInventory", - ItExpr.IsAny<string>(), - ItExpr.IsInRange(0, 100, Range.Inclusive)) - .Returns(false); - - - - - - Matches a string argument if it matches the given regular expression pattern. - - The pattern to use to match the string argument value. - - The following example shows how to expect a call to a method where the - string argument matches the given regular expression: - - mock.Protected() - .Setup("Check", ItExpr.IsRegex("[a-z]+")) - .Returns(1); - - - - - - Matches a string argument if it matches the given regular expression pattern. - - The pattern to use to match the string argument value. - The options used to interpret the pattern. - - The following example shows how to expect a call to a method where the - string argument matches the given regular expression, in a case insensitive way: - - mock.Protected() - .Setup("Check", ItExpr.IsRegex("[a-z]+", RegexOptions.IgnoreCase)) - .Returns(1); - - - - - - Enables the Protected() method on , - allowing setups to be set for protected members by using their - name as a string, rather than strong-typing them which is not possible - due to their visibility. - - - - - Enable protected setups for the mock. - - Mocked object type. Typically omitted as it can be inferred from the mock instance. - The mock to set the protected setups on. - - - - - - - - - - - - Kind of range to use in a filter specified through - . - - - - - The range includes the to and - from values. - - - - - The range does not include the to and - from values. - - - - - Determines the way default values are generated - calculated for loose mocks. - - - - - Default behavior, which generates empty values for - value types (i.e. default(int)), empty array and - enumerables, and nulls for all other reference types. - - - - - Whenever the default value generated by - is null, replaces this value with a mock (if the type - can be mocked). - - - For sealed classes, a null value will be generated. - - - - - A default implementation of IQueryable for use with QueryProvider - - - - - The is a - static method that returns an IQueryable of Mocks of T which is used to - apply the linq specification to. - - - - - Allows creation custom value matchers that can be used on setups and verification, - completely replacing the built-in class with your own argument - matching rules. - - See also . - - - - - Provided for the sole purpose of rendering the delegate passed to the - matcher constructor if no friendly render lambda is provided. - - - - - Initializes the match with the condition that - will be checked in order to match invocation - values. - The condition to match against actual values. - - - - - - - - - This method is used to set an expression as the last matcher invoked, - which is used in the SetupSet to allow matchers in the prop = value - delegate expression. This delegate is executed in "fluent" mode in - order to capture the value being set, and construct the corresponding - methodcall. - This is also used in the MatcherFactory for each argument expression. - This method ensures that when we execute the delegate, we - also track the matcher that was invoked, so that when we create the - methodcall we build the expression using it, rather than the null/default - value returned from the actual invocation. - - - - - Allows creation custom value matchers that can be used on setups and verification, - completely replacing the built-in class with your own argument - matching rules. - Type of the value to match. - The argument matching is used to determine whether a concrete - invocation in the mock matches a given setup. This - matching mechanism is fully extensible. - - Creating a custom matcher is straightforward. You just need to create a method - that returns a value from a call to with - your matching condition and optional friendly render expression: - - [Matcher] - public Order IsBigOrder() - { - return Match<Order>.Create( - o => o.GrandTotal >= 5000, - /* a friendly expression to render on failures */ - () => IsBigOrder()); - } - - This method can be used in any mock setup invocation: - - mock.Setup(m => m.Submit(IsBigOrder()).Throws<UnauthorizedAccessException>(); - - At runtime, Moq knows that the return value was a matcher (note that the method MUST be - annotated with the [Matcher] attribute in order to determine this) and - evaluates your predicate with the actual value passed into your predicate. - - Another example might be a case where you want to match a lists of orders - that contains a particular one. You might create matcher like the following: - - - public static class Orders - { - [Matcher] - public static IEnumerable<Order> Contains(Order order) - { - return Match<IEnumerable<Order>>.Create(orders => orders.Contains(order)); - } - } - - Now we can invoke this static method instead of an argument in an - invocation: - - var order = new Order { ... }; - var mock = new Mock<IRepository<Order>>(); - - mock.Setup(x => x.Save(Orders.Contains(order))) - .Throws<ArgumentException>(); - - - - - - Tracks the current mock and interception context. - - - - - Having an active fluent mock context means that the invocation - is being performed in "trial" mode, just to gather the - target method and arguments that need to be matched later - when the actual invocation is made. - - - - - A that returns an empty default value - for non-mockeable types, and mocks for all other types (interfaces and - non-sealed classes) that can be mocked. - - - - - Allows querying the universe of mocks for those that behave - according to the LINQ query specification. - - - This entry-point into Linq to Mocks is the only one in the root Moq - namespace to ease discovery. But to get all the mocking extension - methods on Object, a using of Moq.Linq must be done, so that the - polluting of the intellisense for all objects is an explicit opt-in. - - - - - Access the universe of mocks of the given type, to retrieve those - that behave according to the LINQ query specification. - - The type of the mocked object to query. - - - - Access the universe of mocks of the given type, to retrieve those - that behave according to the LINQ query specification. - - The predicate with the setup expressions. - The type of the mocked object to query. - - - - Creates an mock object of the indicated type. - - The type of the mocked object. - The mocked object created. - - - - Creates an mock object of the indicated type. - - The predicate with the setup expressions. - The type of the mocked object. - The mocked object created. - - - - Creates the mock query with the underlying queriable implementation. - - - - - Wraps the enumerator inside a queryable. - - - - - Method that is turned into the actual call from .Query{T}, to - transform the queryable query into a normal enumerable query. - This method is never used directly by consumers. - - - - - Extension method used to support Linq-like setup properties that are not virtual but do have - a getter and a setter, thereby allowing the use of Linq to Mocks to quickly initialize Dtos too :) - - - - - Helper extensions that are used by the query translator. - - - - - Retrieves a fluent mock from the given setup expression. - - - - - Defines the number of invocations allowed by a mocked method. - - - - - Specifies that a mocked method should be invoked times as minimum. - The minimun number of times.An object defining the allowed number of invocations. - - - - Specifies that a mocked method should be invoked one time as minimum. - An object defining the allowed number of invocations. - - - - Specifies that a mocked method should be invoked time as maximun. - The maximun number of times.An object defining the allowed number of invocations. - - - - Specifies that a mocked method should be invoked one time as maximun. - An object defining the allowed number of invocations. - - - - Specifies that a mocked method should be invoked between and - times. - The minimun number of times.The maximun number of times. - The kind of range. See . - An object defining the allowed number of invocations. - - - - Specifies that a mocked method should be invoked exactly times. - The times that a method or property can be called.An object defining the allowed number of invocations. - - - - Specifies that a mocked method should not be invoked. - An object defining the allowed number of invocations. - - - - Specifies that a mocked method should be invoked exactly one time. - An object defining the allowed number of invocations. - - - - 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. - - - - - Determines whether two specified objects have the same value. - - The first . - - The second . - - true if the value of left is the same as the value of right; otherwise, false. - - - - - Determines whether two specified objects have different values. - - The first . - - The second . - - true if the value of left is different from the value of right; otherwise, false. - - - - + + + + Moq + + + + + is a kind of that works by + applying a delegate to a light-weight proxy that records the invocation + happening to it, and auto-generates the same kind of recording proxy for its return value. + That way, a chain of invocation records is generated from which a LINQ expression tree can be + reconstructed. + + + + + Recursively gets the result of (i.e. "unwraps") completed awaitables + until a value is found that isn't a successfully completed awaitable. + + + As an example, given := Task.FromResult(Task.FromResult(42)), + this method will return 42. + + The (possibly awaitable) object to be "unwrapped". + + + + Abstract base class that facilitates type-safe implementation of + for awaitables that do not produce a result when awaited. + + + + + Abstract base class that facilitates type-safe implementation of + for awaitables that produce a result when awaited. + + + + + Allows to create parameter captures in setup expressions. + + + + + Creates a parameter capture that will store values in a collection. + + The captured object type + The collection that will store captured parameter values + + Arrange code: + + var parameters = new List{string}(); + mock.Setup(x => x.DoSomething(Capture.In(parameters))); + + Assert code: + + Assert.Equal("Hello!", parameters.Single()); + + + + + + Creates a parameter capture that will store specific values in a collection. + + The captured object type + The collection that will store captured parameter values + A predicate used to filter captured parameters + + Arrange code: + + var parameters = new List{string}(); + mock.Setup(x => x.DoSomething(Capture.In(parameters, p => p.StartsWith("W")))); + + Assert code: + + Assert.Equal("Hello!", parameters.Single()); + + + + + + Creates a parameter capture using specified . + + The captured object type + + Arrange code: + + var capturedValue = string.Empty; + var match = new CaptureMatch{string}(x => capturedValue = x); + mock.Setup(x => x.DoSomething(Capture.With(match))); + + Assert code: + + Assert.Equal("Hello!", capturedValue); + + + + + + Allows creation custom matchers that can be used on setups to capture parameter values. + + + + + + Initializes an instance of the capture match. + + An action to run on captured value + + + + Initializes an instance of the capture match. + + An action to run on captured value + A predicate used to filter captured parameters + + + + Determines the way default values are generated + calculated for loose mocks. + + + + + Default behavior, which generates empty values for + value types (i.e. default(int)), empty array and + enumerables, and nulls for all other reference types. + + + + + Whenever the default value generated by + is null, replaces this value with a mock (if the type + can be mocked). + + + For sealed classes, a null value will be generated. + + + + + + All default value generation strategies other than or + are represented by this enumeration value. + + + Do not set (nor ) to this value. + If you want to set up a custom default value generation strategy, set + or instead. + + + + + + + + is the abstract base class for default value providers. + These are responsible for producing e. g. return values when mock methods or properties get invoked unexpectedly. + In other words, whenever there is no setup that would determine the return value for a particular invocation, + Moq asks the mock's default value provider to produce a return value. + + + + + Gets the corresponding to ; + that is, a default value provider returning "empty" values e. g. for collection types. + + + + + Gets the corresponding to ; + that is, a default value provider returning mocked objects or "empty" values for unmockable types. + + + + + Initializes a new instance of the class. + + + + + Gets the enumeration value that corresponds to this default value provider. + Must be overridden by Moq's internal providers that have their own corresponding . + + + + + Produces a default value of the specified type. + Must be overridden in derived classes. + + The of the requested default value. + The on which an unexpected invocation has occurred. + + Implementations may assume that all parameters have valid, non-, non- values. + + + + + + Produces a default argument value for the specified method parameter. + May be overridden in derived classes. + + + By default, this method will delegate to . + + + The describing the method parameter for which a default argument value should be produced. + The on which an unexpected invocation has occurred. + + Implementations may assume that all parameters have valid, non-, non- values. + + + + + + Produces a default return value for the specified method. + May be overridden in derived classes. + + + By default, this method will delegate to . + + + The describing the method for which a default return value should be produced. + The on which an unexpected invocation has occurred. + + Implementations may assume that all parameters have valid, non-, non- values. + + + + + A that returns an empty default value + for invocations that do not have setups or return values, with loose mocks. + This is the default behavior for a mock. + + + + + Provides partial evaluation of subtrees, whenever they can be evaluated locally. + + Matt Warren: http://blogs.msdn.com/mattwar + Documented by InSTEDD: http://www.instedd.org + + + + Performs evaluation and replacement of independent sub-trees + + The root of the expression tree. + A function that decides whether a given expression + node can be part of the local function. + A new tree with sub-trees evaluated and replaced. + + + + Performs evaluation and replacement of independent sub-trees + + The root of the expression tree. + A new tree with sub-trees evaluated and replaced. + + + + Evaluates and replaces sub-trees when first candidate is reached (top-down) + + + + + Performs bottom-up analysis to determine which nodes can possibly + be part of an evaluated sub-tree. + + + + + An compiles LINQ expression trees () to delegates. + Whenever Moq needs to compile an expression tree, it uses the instance set up by . + + + + + The default instance, which simply delegates to the framework's . + + + + + Gets or sets the instance that Moq uses to compile (LINQ expression trees). + Defaults to . + + + + + Initializes a new instance of the class. + + + + + Compiles the specified LINQ expression tree. + + The LINQ expression tree that should be compiled. + + + + Compiles the specified LINQ expression tree. + + The type of delegate to which the expression will be compiled. + The LINQ expression tree that should be compiled. + + + + Wraps this in a node if needed. + + The which should be wrapped. + The with which to make the compatible. + + LINQ expression trees generally enforce type compatibility rules that are stricter than + the assignment-compatibility used by e.g. . For + example, while is assignable-to , you + will need a conversion in a LINQ expression tree to model the value-type boxing operation. + + + + + Checks whether the given expression can be split by . + + + + + Splits an expression such as `m => m.A.B(x).C[y] = z` into a chain of parts + that can be set up one at a time: + + `m => m.A`, + `... => ....B(x)`, + `... => ....C`, + `... => ...[y] = z`. + + + The split points are chosen such that each part has exactly one associated + and optionally some argument expressions. + + + + It was not possible to completely split up the expression. + + + + + Converts the body of the lambda expression into the referenced by it. + + + + + Checks whether the body of the lambda expression is a property access. + + + + + Checks whether the body of the lambda expression is a indexer access. + + + + + TODO: remove this code when https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=331583 + is fixed. + + + + + Applies the specified to this expression tree. + + The to which should be applied. + The that should be applied to . + + + + A reconstructs LINQ expression trees () + from delegates. It is the counterpart to . + + + + + Reconstructs a from the given delegate. + + The delegate for which to reconstruct a LINQ expression tree. + Arguments to pass to a parameterized constructor of . (Optional.) + + + + Extracts the arguments from a lambda expression that calls a constructor. + + The constructor expression. + Extracted argument values. + + + + Evaluates variables that have been closed over by a lambda function. + + + + + Replaces nodes for property or indexer accessor methods + with equivalent nodes. + + + + In the case of getter accessors such as `x.get_Property()`, the result will be + a single node: `x.Property`. + + + In the case of setter accessors such as `x.set_Property(y)`, the result will be + a combination of and : + `x.Property = y`. + + + + + + + + Gets the default value for the specified type. This is the Reflection counterpart of C#'s operator. + + + + + Gets the least-derived in the given type that provides + the implementation for the given . + + + + + Gets whether the given is a delegate type. + + + + + Visits all constituent parts of , replacing all type matchers + that match the type argument at the corresponding position in . + + The type to be matched. May be, or contain, type matchers. + The type argument to match against . + + + + Ensures the given is not null. + Throws otherwise. + + + + + Ensures the given string is not null or empty. + Throws in the first case, or + in the latter. + + + + + Provides information about an invocation of a mock object. + + + + + Gets the method of the invocation. + + + + + Gets the arguments of the invocation. + + + + + Gets the setup that matched this invocation (or if there was no matching setup). + + + + + Gets whether this invocation was successfully verified by any of the various `Verify` methods. + + + + + The value being returned for a non-void method if no exception was thrown. + + + + + Optional exception if the method invocation results in an exception being thrown. + + + + + A list of invocations which have been performed on a mock. + + + + + Resets all invocations recorded for this mock. + + + + + Covariant interface for such that casts between IMock<Employee> to IMock<Person> + are possible. Only covers the covariant members of . + + + + + Exposes the mocked object instance. + + + + + Behavior of the mock, according to the value set in the constructor. + + + + + Whether the base member virtual implementation will be called for mocked classes if no setup is matched. + Defaults to . + + + + + Specifies the behavior to use when returning default values for unexpected invocations on loose mocks. + + + + + Implemented by all generated mock object instances. + + + + + Reference the Mock that contains this as the mock.Object value. + + + + + Implemented by all generated mock object instances. + + + + + Reference the Mock that contains this as the mock.Object value. + + + + + This role interface represents a 's ability to intercept method invocations for its . + It is meant for use by . + + + + + Base class for mocks and static helper class with methods that apply to mocked objects, + such as to retrieve a from an object instance. + + + + + Creates a mock object of the indicated type. + + The type of the mocked object. + The mocked object created. + + + + Creates a mock object of the indicated type. + + Behavior of the mock. + The type of the mocked object. + The mocked object created. + + + + Creates a mock object of the indicated type. + + The predicate with the specification of how the mocked object should behave. + The type of the mocked object. + The mocked object created. + + + + Creates a mock object of the indicated type. + + The predicate with the specification of how the mocked object should behave. + Behavior of the mock. + The type of the mocked object. + The mocked object created. + + + + Initializes a new instance of the class. + + + + + Retrieves the mock object for the given object instance. + + The instance of the mocked object. + + Type of the mock to retrieve. + Can be omitted as it's inferred from the object instance passed in as the instance. + + The mock associated with the mocked object. + The received instance was not created by Moq. + + The following example shows how to add a new setup to an object instance + which is not the original but rather the object associated with it: + + // Typed instance, not the mock, is retrieved from some test API. + HttpContextBase context = GetMockContext(); + + // context.Request is the typed object from the "real" API + // so in order to add a setup to it, we need to get + // the mock that "owns" it + Mock<HttpRequestBase> request = Mock.Get(context.Request); + + request.Setup(req => req.AppRelativeCurrentExecutionFilePath) + .Returns(tempUrl); + + + + + + Verifies that all verifiable expectations have been met. + + Not all verifiable expectations were met. + + + + Verifies all expectations regardless of whether they have been flagged as verifiable. + + At least one expectation was not met. + + + + Gets the interfaces additionally implemented by the mock object. + + + This list may be modified by calls to up until the first call to . + + + + + Behavior of the mock, according to the value set in the constructor. + + + + + Whether the base member virtual implementation will be called for mocked classes if no setup is matched. + Defaults to . + + + + + Specifies the behavior to use when returning default values for unexpected invocations on loose mocks. + + + + + Gets the mocked object instance. + + + + + Gets the interfaces directly inherited from the mocked type (). + + + + + Gets list of invocations which have been performed on this mock. + + + + + Returns the mocked object value. + + + + + Retrieves the type of the mocked object, its generic type argument. + This is used in the auto-mocking of hierarchy access. + + + + + Gets or sets the instance that will be used + e. g. to produce default return values for unexpected invocations. + + + + + The used to initialize automatically stubbed properties. + It is equal to the value of at the time when + was last called. + + + + + Gets the setups that have been configured on this mock, + in chronological order (that is, oldest setup first, most recent setup last). + + + + + A set of switches that influence how this mock will operate. + You can opt in or out of certain features via this property. + + + + + Verifies that all verifiable expectations have been met. + + Not all verifiable expectations were met. + + This example sets up an expectation and marks it as verifiable. + After the mock is used, a Verify() call is issued on the mock + to ensure the method in the setup was invoked: + + var mock = new Mock<IWarehouse>(); + this.Setup(x => x.HasInventory(TALISKER, 50)) + .Returns(true) + .Verifiable(); + + ... + + // Will throw if the test code did not call HasInventory. + this.Verify(); + + + + + + Verifies all expectations regardless of whether they have been flagged as verifiable. + + At least one expectation was not met. + + This example sets up an expectation without marking it as verifiable. + After the mock is used, a call is issued on the mock + to ensure that all expectations are met: + + var mock = new Mock<IWarehouse>(); + this.Setup(x => x.HasInventory(TALISKER, 50)) + .Returns(true); + + ... + + // Will throw if the test code did not call HasInventory, + // even though that expectation was not marked as verifiable. + mock.VerifyAll(); + + + + + + Adds an interface implementation to the mock, allowing setups to be specified for it. + + + This method can only be called before the first use of the mock property, + at which point the runtime type has already been generated and no more interfaces can be added to it. + + Also, must be an interface and not a class, + which must be specified when creating the mock instead. + + + Type of interface to cast the mock to. + The specified is not an interface. + + The mock type has already been generated by accessing the property. + + + + + Defines the default return value for all mocked methods or properties with return type . + + The return type for which to define a default value. + The default return value. + + Default return value is respected only when there is no matching setup for a method call. + + + + + Initializes a new instance of the class. + + The of the concrete proxy object on which a method is being invoked. + The method being invoked. + The arguments with which the specified is being invoked. + + + + Gets the method of the invocation. + + + + + Gets the arguments of the invocation. + + + Arguments may be modified. Derived classes must ensure that by-reference parameters are written back + when the invocation is ended by a call to any of the three Returns methods. + + + + + Calls the method implementation + and returns its return value (or for methods). + + + + + + + + Internal type to mark invocation results as "exception occurred during execution". The type just + wraps the Exception so a thrown exception can be distinguished from an + return value. + + + + + A delegate-like type for use with `setup.Callback` which instructs the `Callback` verb + to provide the callback with the current , instead of + with a list of arguments. + + This type is useful in scenarios involving generic type argument matchers (such as + ) as allows the discovery of both + arguments and type arguments. + + + + + + Initializes a new instance of the type. + + The delegate that should be wrapped by this instance. + + + + A delegate-like type for use with `setup.Returns` which instructs the `Returns` verb + to provide the callback with the current , instead of + with a list of arguments. + + This type is useful in scenarios involving generic type argument matchers (such as + ) as allows the discovery of both + arguments and type arguments. + + + + + + Initializes a new instance of the type. + + The delegate that should be wrapped by this instance. + + + + Describes the "shape" of an invocation against which concrete s can be matched. + + This shape is described by which has the general form + `mock => mock.Method(...arguments)`. Because the method and arguments are frequently needed, + they are cached in and + for faster access. + + + + + + A setup configured on a mock. + + + + + + The setup expression. + + + + + Gets the inner mock of this setup (if present and known). + + An "inner mock" is the instance associated with a setup's return value, + if that setup is configured to return a mock object. + + + This property will be if a setup either does not return a mock object, + or if Moq cannot safely determine its return value without risking any side effects. For instance, + Moq is able to inspect the return value if it is a constant (e.g. `.Returns(value)`); + if, on the other hand, it gets computed by a factory function (e.g. `.Returns(() => value)`), + Moq will not attempt to retrieve that value just to find the inner mock, + since calling a user-provided function could have effects beyond Moq's understanding and control. + + + + + + Gets whether this setup is conditional. + + + + + + Gets whether this setup was matched by at least one invocation on the mock. + + + + + Gets whether this setup has been overridden + (that is, whether it is being shadowed by a more recent non-conditional setup with an equal expression). + + + + + Gets whether this setup is "verifiable". + + + This property gets sets by the `.Verifiable()` setup verb. + + Note that setups can be verified even if this property is : + completely ignores this property. + , however, will only verify setups where this property is . + + + + + + Returns the instance to which this setup belongs. + + + + + Returns the original setup expression from which this setup resulted. + + For setups doing a simple member access or method invocation (such as `mock => mock.Member`), + this property will be equal to . + + + For setups whose expression involves member chaining (such as `parent => parent.Child.Member`), + Moq does not create a single setup, but one for each member access/invocation. + The example just given will result in two setups: + + a setup for `parent => parent.Child` on the parent mock; and + on its inner mock, a setup for `(child) => (child).Member`. + + These are the setups that will be put in the mocks' collections; + their will return the partial expression for just a single member access, + while their will return the original, full expression. + + + This property may also return if this setup was created automatically, + e.g. by or by . + + + + + + Verifies this setup and optionally all verifiable setups of its inner mock (if present and known). + + If is set to , + the semantics of this method are essentially the same as those of , + except that this setup (instead of a mock) is used as the starting point for verification, + and will always be verified itself (even if not flagged as verifiable). + + + + Specifies whether recursive verification should be performed. + + + Verification failed due to one or more unmatched setups. + + + + + + + Verifies this setup and all setups of its inner mock (if present and known), + regardless of whether they have been flagged as verifiable. + + The semantics of this method are essentially the same as those of , + except that this setup (instead of a mock) is used as the starting point for verification. + + + + Verification failed due to one or more unmatched setups. + + + + + + + A list of setups that have been configured on a mock, + in chronological order (that is, oldest setup first, most recent setup last). + + + + + Allows the specification of a matching condition for an argument in a method invocation, + rather than a specific argument value. "It" refers to the argument being matched. + + + This class allows the setup to match a method invocation with an arbitrary value, + with a value in a specified range, or even one that matches a given predicate. + + + + + Contains matchers for (C#) / (VB.NET) parameters of type . + + The parameter type. + + + + Matches any value that is assignment-compatible with type . + + + + + Matches any value of the given type. + + Type of the value. + + Typically used when the actual argument value for a method call is not relevant. + + + + // Throws an exception for a call to Remove with any string value. + mock.Setup(x => x.Remove(It.IsAny<string>())).Throws(new InvalidOperationException()); + + + + + + A type matcher that matches any generic type argument. + + If the generic type parameter is constrained to (C#) / + (VB.NET), use instead. + + + If the generic type parameter has more specific constraints, + you can define your own type matcher inheriting from the type to which the type parameter is constrained. + See and . + + + + + + Matches any value of the given type, except null. + + Type of the value. + + + + Matches any value that satisfies the given predicate. + + The predicate used to match the method argument. + Type of the argument to check. + + Allows the specification of a predicate to perform matching of method call arguments. + + + This example shows how to return the value 1 whenever the argument to + the Do method is an even number. + + mock.Setup(x => x.Do(It.Is<int>(i => i % 2 == 0))) + .Returns(1); + + + + This example shows how to throw an exception if the argument to the method + is a negative number: + + mock.Setup(x => x.GetUser(It.Is<int>(i => i < 0))) + .Throws(new ArgumentException()); + + + + + + Matches any value that satisfies the given predicate. + + Use this overload when you specify a type matcher for . + The callback you provide will then receive the actual parameter type + as well as the invocation argument. + + + The predicate used to match the method argument. + Type of the argument to check. + + Allows the specification of a predicate to perform matching of method call arguments. + + + + + Matches any value that equals the using the . + To use the default comparer for the specified object, specify the value inline, + i.e. mock.Verify(service => service.DoWork(value)). + + Use this overload when you specify a value and a comparer. + + + The value to match with. + An with which the values should be compared. + Type of the argument to check. + + + + Matches any value that is in the range specified. + + The lower bound of the range. + The upper bound of the range. + The kind of range. See . + Type of the argument to check. + + The following example shows how to expect a method call with an integer argument + within the 0..100 range. + + mock.Setup(x => x.HasInventory( + It.IsAny<string>(), + It.IsInRange(0, 100, Range.Inclusive))) + .Returns(false); + + + + + + Matches any value that is present in the sequence specified. + + The sequence of possible values. + Type of the argument to check. + + The following example shows how to expect a method call with an integer argument + with value from a list. + + var values = new List<int> { 1, 2, 3 }; + + mock.Setup(x => x.HasInventory( + It.IsAny<string>(), + It.IsIn(values))) + .Returns(false); + + + + + + Matches any value that is present in the sequence specified. + + The sequence of possible values. + An with which the values should be compared. + Type of the argument to check. + + + + Matches any value that is present in the sequence specified. + + The sequence of possible values. + Type of the argument to check. + + The following example shows how to expect a method call with an integer argument + with a value of 1, 2, or 3. + + mock.Setup(x => x.HasInventory( + It.IsAny<string>(), + It.IsIn(1, 2, 3))) + .Returns(false); + + + + + + Matches any value that is not found in the sequence specified. + + The sequence of disallowed values. + Type of the argument to check. + + The following example shows how to expect a method call with an integer argument + with value not found from a list. + + var values = new List<int> { 1, 2, 3 }; + + mock.Setup(x => x.HasInventory( + It.IsAny<string>(), + It.IsNotIn(values))) + .Returns(false); + + + + + + Matches any value that is not found in the sequence specified. + + The sequence of disallowed values. + An with which the values should be compared. + Type of the argument to check. + + + + Matches any value that is not found in the sequence specified. + + The sequence of disallowed values. + Type of the argument to check. + + The following example shows how to expect a method call with an integer argument + of any value except 1, 2, or 3. + + mock.Setup(x => x.HasInventory( + It.IsAny<string>(), + It.IsNotIn(1, 2, 3))) + .Returns(false); + + + + + + Matches a string argument if it matches the given regular expression pattern. + + The pattern to use to match the string argument value. + + The following example shows how to expect a call to a method where the string argument + matches the given regular expression: + + mock.Setup(x => x.Check(It.IsRegex("[a-z]+"))) + .Returns(1); + + + + + + Matches a string argument if it matches the given regular expression pattern. + + The pattern to use to match the string argument value. + The options used to interpret the pattern. + + The following example shows how to expect a call to a method where the string argument + matches the given regular expression, in a case insensitive way: + + mock.Setup(x => x.Check(It.IsRegex("[a-z]+", RegexOptions.IgnoreCase))) + .Returns(1); + + + + + + A type matcher that matches subtypes of , as well as itself. + + The type whose subtypes should match. + + + + A type matcher that matches any value type. + + + + + Types that implement this interface represent a criterion against which generic type arguments are matched. + + To be used in combination with . + + + + + + Matches the provided type argument against the criterion represented by this type matcher. + + + The generic type argument that should be matched. + + + if the provided type argument matched the criterion represented by this instance; + otherwise, . + + + + + Implements the fluent API. + + + + + Implements the fluent API. + + + + + Implements the fluent API. + + + + + Implements the fluent API. + + + + + Implements the fluent API. + + + + + Implements the fluent API. + + + + + Implements the fluent API. + + + + + Implements the fluent API. + + + + + Implements the fluent API. + + + + + Implements the fluent API. + + + + + Defines the Callback verb and overloads. + + + + + Specifies a callback to invoke when the method is called that receives the original . + + This overload is intended to be used in scenarios involving generic type argument matchers + (such as ). The callback will receive the current , + which allows discovery of both arguments and type arguments. + + + For all other use cases, you should prefer the other Callback overloads as they provide + better static type safety. + + + + + Figure out the generic type argument used for a mocked method call: + mock.Setup(m => m.DoSomethingWith<It.IsAnyType>(...)) + .Callback(new InvocationAction(invocation => + { + var typeArgument = invocation.Method.GetGenericArguments()[0]; + // do something interesting with the type argument + }); + mock.Object.DoSomethingWith<Something>(); + + + + + + Specifies a callback of any delegate type to invoke when the method is called. + This overload specifically allows you to define callbacks for methods with by-ref parameters. + By-ref parameters can be assigned to. + + The callback method to invoke. Must have return type void (C#) or be a Sub (VB.NET). + + Invokes the given callback with the concrete invocation argument value. You can modify + by-ref parameters inside the callback. + + delegate void ExecuteAction(ref Command command); + + Command c = ...; + mock.Setup(x => x.Execute(ref c)) + .Callback(new ExecuteAction((ref Command command) => Console.WriteLine("Executing command..."))); + + + + + + Specifies a callback to invoke when the method is called. + + The callback method to invoke. + + The following example specifies a callback to set a boolean + value that can be used later: + + var called = false; + mock.Setup(x => x.Execute()) + .Callback(() => called = true); + + + + + + Specifies a callback to invoke when the method is called that receives the original arguments. + + The argument type of the invoked method. + The callback method to invoke. + + Invokes the given callback with the concrete invocation argument value. + + Notice how the specific string argument is retrieved by simply declaring + it as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute(It.IsAny<string>())) + .Callback((string command) => Console.WriteLine(command)); + + + + + + Specifies a callback to invoke when the method is called that receives the original arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((string arg1, string arg2) => Console.WriteLine(arg1 + arg2)); + + + + + + Specifies a callback to invoke when the method is called that receives the original arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((string arg1, string arg2, string arg3) => Console.WriteLine(arg1 + arg2 + arg3)); + + + + + + Specifies a callback to invoke when the method is called that receives the original arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((string arg1, string arg2, string arg3, string arg4) => Console.WriteLine(arg1 + arg2 + arg3 + arg4)); + + + + + + Specifies a callback to invoke when the method is called that receives the original arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((string arg1, string arg2, string arg3, string arg4, string arg5) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5)); + + + + + + Specifies a callback to invoke when the method is called that receives the original arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6)); + + + + + + Specifies a callback to invoke when the method is called that receives the original arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7)); + + + + + + Specifies a callback to invoke when the method is called that receives the original arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8)); + + + + + + Specifies a callback to invoke when the method is called that receives the original arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the ninth argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9)); + + + + + + Specifies a callback to invoke when the method is called that receives the original arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the ninth argument of the invoked method. + The type of the tenth argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10)); + + + + + + Specifies a callback to invoke when the method is called that receives the original arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the ninth argument of the invoked method. + The type of the tenth argument of the invoked method. + The type of the eleventh argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11)); + + + + + + Specifies a callback to invoke when the method is called that receives the original arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the ninth argument of the invoked method. + The type of the tenth argument of the invoked method. + The type of the eleventh argument of the invoked method. + The type of the twelfth argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12)); + + + + + + Specifies a callback to invoke when the method is called that receives the original arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the ninth argument of the invoked method. + The type of the tenth argument of the invoked method. + The type of the eleventh argument of the invoked method. + The type of the twelfth argument of the invoked method. + The type of the thirteenth argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12, string arg13) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13)); + + + + + + Specifies a callback to invoke when the method is called that receives the original arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the ninth argument of the invoked method. + The type of the tenth argument of the invoked method. + The type of the eleventh argument of the invoked method. + The type of the twelfth argument of the invoked method. + The type of the thirteenth argument of the invoked method. + The type of the fourteenth argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12, string arg13, string arg14) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13 + arg14)); + + + + + + Specifies a callback to invoke when the method is called that receives the original arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the ninth argument of the invoked method. + The type of the tenth argument of the invoked method. + The type of the eleventh argument of the invoked method. + The type of the twelfth argument of the invoked method. + The type of the thirteenth argument of the invoked method. + The type of the fourteenth argument of the invoked method. + The type of the fifteenth argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12, string arg13, string arg14, string arg15) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13 + arg14 + arg15)); + + + + + + Specifies a callback to invoke when the method is called that receives the original arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the ninth argument of the invoked method. + The type of the tenth argument of the invoked method. + The type of the eleventh argument of the invoked method. + The type of the twelfth argument of the invoked method. + The type of the thirteenth argument of the invoked method. + The type of the fourteenth argument of the invoked method. + The type of the fifteenth argument of the invoked method. + The type of the sixteenth argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12, string arg13, string arg14, string arg15, string arg16) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13 + arg14 + arg15 + arg16)); + + + + + + Defines the Callback verb and overloads for callbacks on + setups that return a value. + + Mocked type. + Type of the return value of the setup. + + + + Specifies a callback to invoke when the method is called that receives the original . + + This overload is intended to be used in scenarios involving generic type argument matchers + (such as ). The callback will receive the current , + which allows discovery of both arguments and type arguments. + + + For all other use cases, you should prefer the other Callback overloads as they provide + better static type safety. + + + + Figure out the generic type argument used for a mocked method call: + + mock.Setup(m => m.DoSomethingWith<It.IsAnyType>(...)) + .Callback(new InvocationAction(invocation => + { + var typeArgument = invocation.Method.GetGenericArguments()[0]; + // do something interesting with the type argument + }); + mock.Object.DoSomethingWith<Something>(); + + + + + + Specifies a callback of any delegate type to invoke when the method is called. + This overload specifically allows you to define callbacks for methods with by-ref parameters. + By-ref parameters can be assigned to. + + The callback method to invoke. Must have return type void (C#) or be a Sub (VB.NET). + + Invokes the given callback with the concrete invocation argument value. You can modify + by-ref parameters inside the callback. + + delegate void ExecuteAction(ref Command command); + + Command c = ...; + mock.Setup(x => x.Execute(ref c)) + .Callback(new ExecuteAction((ref Command command) => Console.WriteLine("Executing command..."))); + + + + + + Specifies a callback to invoke when the method is called. + + The callback method to invoke. + + The following example specifies a callback to set a boolean value that can be used later: + + var called = false; + mock.Setup(x => x.Execute()) + .Callback(() => called = true) + .Returns(true); + + Note that in the case of value-returning methods, after the Callback + call you can still specify the return value. + + + + + Specifies a callback to invoke when the method is called that receives the original arguments. + + The type of the argument of the invoked method. + Callback method to invoke. + + Invokes the given callback with the concrete invocation argument value. + + Notice how the specific string argument is retrieved by simply declaring + it as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute(It.IsAny<string>())) + .Callback(command => Console.WriteLine(command)) + .Returns(true); + + + + + + Specifies a callback to invoke when the method is called that receives the original + arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((arg1, arg2) => Console.WriteLine(arg1 + arg2)); + + + + + + Specifies a callback to invoke when the method is called that receives the original + arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((arg1, arg2, arg3) => Console.WriteLine(arg1 + arg2 + arg3)); + + + + + + Specifies a callback to invoke when the method is called that receives the original + arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((arg1, arg2, arg3, arg4) => Console.WriteLine(arg1 + arg2 + arg3 + arg4)); + + + + + + Specifies a callback to invoke when the method is called that receives the original + arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((arg1, arg2, arg3, arg4, arg5) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5)); + + + + + + Specifies a callback to invoke when the method is called that receives the original + arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((arg1, arg2, arg3, arg4, arg5, arg6) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6)); + + + + + + Specifies a callback to invoke when the method is called that receives the original + arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7)); + + + + + + Specifies a callback to invoke when the method is called that receives the original + arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8)); + + + + + + Specifies a callback to invoke when the method is called that receives the original + arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the ninth argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9)); + + + + + + Specifies a callback to invoke when the method is called that receives the original + arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the ninth argument of the invoked method. + The type of the tenth argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10)); + + + + + + Specifies a callback to invoke when the method is called that receives the original + arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the ninth argument of the invoked method. + The type of the tenth argument of the invoked method. + The type of the eleventh argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11)); + + + + + + Specifies a callback to invoke when the method is called that receives the original + arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the ninth argument of the invoked method. + The type of the tenth argument of the invoked method. + The type of the eleventh argument of the invoked method. + The type of the twelfth argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12)); + + + + + + Specifies a callback to invoke when the method is called that receives the original + arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the ninth argument of the invoked method. + The type of the tenth argument of the invoked method. + The type of the eleventh argument of the invoked method. + The type of the twelfth argument of the invoked method. + The type of the thirteenth argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13)); + + + + + + Specifies a callback to invoke when the method is called that receives the original + arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the ninth argument of the invoked method. + The type of the tenth argument of the invoked method. + The type of the eleventh argument of the invoked method. + The type of the twelfth argument of the invoked method. + The type of the thirteenth argument of the invoked method. + The type of the fourteenth argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13 + arg14)); + + + + + + Specifies a callback to invoke when the method is called that receives the original + arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the ninth argument of the invoked method. + The type of the tenth argument of the invoked method. + The type of the eleventh argument of the invoked method. + The type of the twelfth argument of the invoked method. + The type of the thirteenth argument of the invoked method. + The type of the fourteenth argument of the invoked method. + The type of the fifteenth argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13 + arg14 + arg15)); + + + + + + Specifies a callback to invoke when the method is called that receives the original + arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the ninth argument of the invoked method. + The type of the tenth argument of the invoked method. + The type of the eleventh argument of the invoked method. + The type of the twelfth argument of the invoked method. + The type of the thirteenth argument of the invoked method. + The type of the fourteenth argument of the invoked method. + The type of the fifteenth argument of the invoked method. + The type of the sixteenth argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13 + arg14 + arg15 + arg16)); + + + + + + Defines the Callback verb for property getter setups. + + + Mocked type. + Type of the property. + + + + Specifies a callback to invoke when the property is retrieved. + + Callback method to invoke. + + Invokes the given callback with the property value being set. + + mock.SetupGet(x => x.Suspended) + .Callback(() => called = true) + .Returns(true); + + + + + + Defines the Callback verb for property setter setups. + + Type of the property. + + + + Specifies a callback to invoke when the property is set that receives the + property value being set. + + Callback method to invoke. + + Invokes the given callback with the property value being set. + + mock.SetupSet(x => x.Suspended) + .Callback((bool state) => Console.WriteLine(state)); + + + + + + Defines the CallBase verb. + + + + + Calls the real method of the object. + + + + + Defines the Raises verb. + + + + + Specifies the event that will be raised + when the setup is met. + + An expression that represents an event attach or detach action. + The event arguments to pass for the raised event. + + The following example shows how to raise an event when + the setup is met: + + var mock = new Mock<IContainer>(); + + mock.Setup(add => add.Add(It.IsAny<string>(), It.IsAny<object>())) + .Raises(add => add.Added += null, EventArgs.Empty); + + + + + + Specifies the event that will be raised + when the setup is matched. + + An expression that represents an event attach or detach action. + A function that will build the + to pass when raising the event. + + + + + Specifies the custom event that will be raised + when the setup is matched. + + An expression that represents an event attach or detach action. + The arguments to pass to the custom delegate (non EventHandler-compatible). + + + + Specifies the event that will be raised when the setup is matched. + + The expression that represents an event attach or detach action. + The function that will build the + to pass when raising the event. + The type of the first argument received by the expected invocation. + + + + + Specifies the event that will be raised when the setup is matched. + + The expression that represents an event attach or detach action. + The function that will build the + to pass when raising the event. + The type of the first argument received by the expected invocation. + The type of the second argument received by the expected invocation. + + + + + Specifies the event that will be raised when the setup is matched. + + The expression that represents an event attach or detach action. + The function that will build the + to pass when raising the event. + The type of the first argument received by the expected invocation. + The type of the second argument received by the expected invocation. + The type of the third argument received by the expected invocation. + + + + + Specifies the event that will be raised when the setup is matched. + + The expression that represents an event attach or detach action. + The function that will build the + to pass when raising the event. + The type of the first argument received by the expected invocation. + The type of the second argument received by the expected invocation. + The type of the third argument received by the expected invocation. + The type of the fourth argument received by the expected invocation. + + + + + Specifies the event that will be raised when the setup is matched. + + The expression that represents an event attach or detach action. + The function that will build the + to pass when raising the event. + The type of the first argument received by the expected invocation. + The type of the second argument received by the expected invocation. + The type of the third argument received by the expected invocation. + The type of the fourth argument received by the expected invocation. + The type of the fifth argument received by the expected invocation. + + + + + Specifies the event that will be raised when the setup is matched. + + The expression that represents an event attach or detach action. + The function that will build the + to pass when raising the event. + The type of the first argument received by the expected invocation. + The type of the second argument received by the expected invocation. + The type of the third argument received by the expected invocation. + The type of the fourth argument received by the expected invocation. + The type of the fifth argument received by the expected invocation. + The type of the sixth argument received by the expected invocation. + + + + + Specifies the event that will be raised when the setup is matched. + + The expression that represents an event attach or detach action. + The function that will build the + to pass when raising the event. + The type of the first argument received by the expected invocation. + The type of the second argument received by the expected invocation. + The type of the third argument received by the expected invocation. + The type of the fourth argument received by the expected invocation. + The type of the fifth argument received by the expected invocation. + The type of the sixth argument received by the expected invocation. + The type of the seventh argument received by the expected invocation. + + + + + Specifies the event that will be raised when the setup is matched. + + The expression that represents an event attach or detach action. + The function that will build the + to pass when raising the event. + The type of the first argument received by the expected invocation. + The type of the second argument received by the expected invocation. + The type of the third argument received by the expected invocation. + The type of the fourth argument received by the expected invocation. + The type of the fifth argument received by the expected invocation. + The type of the sixth argument received by the expected invocation. + The type of the seventh argument received by the expected invocation. + The type of the eighth argument received by the expected invocation. + + + + + Specifies the event that will be raised when the setup is matched. + + The expression that represents an event attach or detach action. + The function that will build the + to pass when raising the event. + The type of the first argument received by the expected invocation. + The type of the second argument received by the expected invocation. + The type of the third argument received by the expected invocation. + The type of the fourth argument received by the expected invocation. + The type of the fifth argument received by the expected invocation. + The type of the sixth argument received by the expected invocation. + The type of the seventh argument received by the expected invocation. + The type of the eighth argument received by the expected invocation. + The type of the ninth argument received by the expected invocation. + + + + + Specifies the event that will be raised when the setup is matched. + + The expression that represents an event attach or detach action. + The function that will build the + to pass when raising the event. + The type of the first argument received by the expected invocation. + The type of the second argument received by the expected invocation. + The type of the third argument received by the expected invocation. + The type of the fourth argument received by the expected invocation. + The type of the fifth argument received by the expected invocation. + The type of the sixth argument received by the expected invocation. + The type of the seventh argument received by the expected invocation. + The type of the eighth argument received by the expected invocation. + The type of the ninth argument received by the expected invocation. + The type of the tenth argument received by the expected invocation. + + + + + Specifies the event that will be raised when the setup is matched. + + The expression that represents an event attach or detach action. + The function that will build the + to pass when raising the event. + The type of the first argument received by the expected invocation. + The type of the second argument received by the expected invocation. + The type of the third argument received by the expected invocation. + The type of the fourth argument received by the expected invocation. + The type of the fifth argument received by the expected invocation. + The type of the sixth argument received by the expected invocation. + The type of the seventh argument received by the expected invocation. + The type of the eighth argument received by the expected invocation. + The type of the ninth argument received by the expected invocation. + The type of the tenth argument received by the expected invocation. + The type of the eleventh argument received by the expected invocation. + + + + + Specifies the event that will be raised when the setup is matched. + + The expression that represents an event attach or detach action. + The function that will build the + to pass when raising the event. + The type of the first argument received by the expected invocation. + The type of the second argument received by the expected invocation. + The type of the third argument received by the expected invocation. + The type of the fourth argument received by the expected invocation. + The type of the fifth argument received by the expected invocation. + The type of the sixth argument received by the expected invocation. + The type of the seventh argument received by the expected invocation. + The type of the eighth argument received by the expected invocation. + The type of the ninth argument received by the expected invocation. + The type of the tenth argument received by the expected invocation. + The type of the eleventh argument received by the expected invocation. + The type of the twelfth argument received by the expected invocation. + + + + + Specifies the event that will be raised when the setup is matched. + + The expression that represents an event attach or detach action. + The function that will build the + to pass when raising the event. + The type of the first argument received by the expected invocation. + The type of the second argument received by the expected invocation. + The type of the third argument received by the expected invocation. + The type of the fourth argument received by the expected invocation. + The type of the fifth argument received by the expected invocation. + The type of the sixth argument received by the expected invocation. + The type of the seventh argument received by the expected invocation. + The type of the eighth argument received by the expected invocation. + The type of the ninth argument received by the expected invocation. + The type of the tenth argument received by the expected invocation. + The type of the eleventh argument received by the expected invocation. + The type of the twelfth argument received by the expected invocation. + The type of the thirteenth argument received by the expected invocation. + + + + + Specifies the event that will be raised when the setup is matched. + + The expression that represents an event attach or detach action. + The function that will build the + to pass when raising the event. + The type of the first argument received by the expected invocation. + The type of the second argument received by the expected invocation. + The type of the third argument received by the expected invocation. + The type of the fourth argument received by the expected invocation. + The type of the fifth argument received by the expected invocation. + The type of the sixth argument received by the expected invocation. + The type of the seventh argument received by the expected invocation. + The type of the eighth argument received by the expected invocation. + The type of the ninth argument received by the expected invocation. + The type of the tenth argument received by the expected invocation. + The type of the eleventh argument received by the expected invocation. + The type of the twelfth argument received by the expected invocation. + The type of the thirteenth argument received by the expected invocation. + The type of the fourteenth argument received by the expected invocation. + + + + + Specifies the event that will be raised when the setup is matched. + + The expression that represents an event attach or detach action. + The function that will build the + to pass when raising the event. + The type of the first argument received by the expected invocation. + The type of the second argument received by the expected invocation. + The type of the third argument received by the expected invocation. + The type of the fourth argument received by the expected invocation. + The type of the fifth argument received by the expected invocation. + The type of the sixth argument received by the expected invocation. + The type of the seventh argument received by the expected invocation. + The type of the eighth argument received by the expected invocation. + The type of the ninth argument received by the expected invocation. + The type of the tenth argument received by the expected invocation. + The type of the eleventh argument received by the expected invocation. + The type of the twelfth argument received by the expected invocation. + The type of the thirteenth argument received by the expected invocation. + The type of the fourteenth argument received by the expected invocation. + The type of the fifteenth argument received by the expected invocation. + + + + + Specifies the event that will be raised when the setup is matched. + + The expression that represents an event attach or detach action. + The function that will build the + to pass when raising the event. + The type of the first argument received by the expected invocation. + The type of the second argument received by the expected invocation. + The type of the third argument received by the expected invocation. + The type of the fourth argument received by the expected invocation. + The type of the fifth argument received by the expected invocation. + The type of the sixth argument received by the expected invocation. + The type of the seventh argument received by the expected invocation. + The type of the eighth argument received by the expected invocation. + The type of the ninth argument received by the expected invocation. + The type of the tenth argument received by the expected invocation. + The type of the eleventh argument received by the expected invocation. + The type of the twelfth argument received by the expected invocation. + The type of the thirteenth argument received by the expected invocation. + The type of the fourteenth argument received by the expected invocation. + The type of the fifteenth argument received by the expected invocation. + The type of the sixteenth argument received by the expected invocation. + + + + + Defines the Returns verb. + + Mocked type. + Type of the return value from the expression. + + + + Specifies the value to return. + + The value to return, or . + + Return a true value from the method call: + + mock.Setup(x => x.Execute("ping")) + .Returns(true); + + + + + + Specifies a function that will calculate the value to return from the method. + + This overload is intended to be used in scenarios involving generic type argument matchers, + such as . The function will receive the current , + which allows discovery of both arguments and type arguments. + + + For all other use cases, you should prefer the other Returns overloads as they provide + better static type safety. + + + + Mock a method to act like a generic factory method: + + factory.Setup(m => m.Create<It.IsAnyType>()) + .Returns(new InvocationFunc(invocation => + { + var typeArgument = invocation.Method.GetGenericArguments()[0]; + return Activator.CreateInstance(typeArgument); + }); + var something = factory.Object.Create<Something>(); + + + + + + Specifies a function that will calculate the value to return from the method. + This overload specifically allows you to specify a function with by-ref parameters. + Those by-ref parameters can be assigned to (though you should probably do that from + a Callback instead). + + The function that will calculate the return value. + + Return a calculated value when the method is called: + + delegate bool ExecuteFunc(ref Command command); + + Command c = ...; + mock.Setup(x => x.Execute(ref c)) + .Returns(new ExecuteFunc((ref Command command) => command.IsExecutable)); + + + + + + Specifies a function that will calculate the value to return from the method. + + The function that will calculate the return value. + + Return a calculated value when the method is called: + + mock.Setup(x => x.Execute("ping")) + .Returns(() => returnValues[0]); + + The lambda expression to retrieve the return value is lazy-executed, + meaning that its value may change depending on the moment the method + is executed and the value the returnValues array has at + that moment. + + + + + Specifies a function that will calculate the value to return from the method, + retrieving the arguments for the invocation. + + The type of the argument of the invoked method. + The function that will calculate the return value. + + Return a calculated value which is evaluated lazily at the time of the invocation. + + The lookup list can change between invocations and the setup + will return different values accordingly. Also, notice how the specific + string argument is retrieved by simply declaring it as part of the lambda + expression: + + + mock.Setup(x => x.Execute(It.IsAny<string>())) + .Returns((string command) => returnValues[command]); + + + + + + Calls the real method of the object and returns its return value. + + The value calculated by the real method of the object. + + + + Specifies a function that will calculate the value to return from the method, + retrieving the arguments for the invocation. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The function that will calculate the return value. + Returns a calculated value which is evaluated lazily at the time of the invocation. + + + The return value is calculated from the value of the actual method invocation arguments. + Notice how the arguments are retrieved by simply declaring them as part of the lambda + expression: + + + mock.Setup(x => x.Execute( + It.IsAny<int>(), + It.IsAny<int>())) + .Returns((string arg1, string arg2) => arg1 + arg2); + + + + + + Specifies a function that will calculate the value to return from the method, + retrieving the arguments for the invocation. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The function that will calculate the return value. + Returns a calculated value which is evaluated lazily at the time of the invocation. + + + The return value is calculated from the value of the actual method invocation arguments. + Notice how the arguments are retrieved by simply declaring them as part of the lambda + expression: + + + mock.Setup(x => x.Execute( + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>())) + .Returns((string arg1, string arg2, string arg3) => arg1 + arg2 + arg3); + + + + + + Specifies a function that will calculate the value to return from the method, + retrieving the arguments for the invocation. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The function that will calculate the return value. + Returns a calculated value which is evaluated lazily at the time of the invocation. + + + The return value is calculated from the value of the actual method invocation arguments. + Notice how the arguments are retrieved by simply declaring them as part of the lambda + expression: + + + mock.Setup(x => x.Execute( + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>())) + .Returns((string arg1, string arg2, string arg3, string arg4) => arg1 + arg2 + arg3 + arg4); + + + + + + Specifies a function that will calculate the value to return from the method, + retrieving the arguments for the invocation. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The function that will calculate the return value. + Returns a calculated value which is evaluated lazily at the time of the invocation. + + + The return value is calculated from the value of the actual method invocation arguments. + Notice how the arguments are retrieved by simply declaring them as part of the lambda + expression: + + + mock.Setup(x => x.Execute( + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>())) + .Returns((string arg1, string arg2, string arg3, string arg4, string arg5) => arg1 + arg2 + arg3 + arg4 + arg5); + + + + + + Specifies a function that will calculate the value to return from the method, + retrieving the arguments for the invocation. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The function that will calculate the return value. + Returns a calculated value which is evaluated lazily at the time of the invocation. + + + The return value is calculated from the value of the actual method invocation arguments. + Notice how the arguments are retrieved by simply declaring them as part of the lambda + expression: + + + mock.Setup(x => x.Execute( + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>())) + .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6); + + + + + + Specifies a function that will calculate the value to return from the method, + retrieving the arguments for the invocation. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The function that will calculate the return value. + Returns a calculated value which is evaluated lazily at the time of the invocation. + + + The return value is calculated from the value of the actual method invocation arguments. + Notice how the arguments are retrieved by simply declaring them as part of the lambda + expression: + + + mock.Setup(x => x.Execute( + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>())) + .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7); + + + + + + Specifies a function that will calculate the value to return from the method, + retrieving the arguments for the invocation. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The function that will calculate the return value. + Returns a calculated value which is evaluated lazily at the time of the invocation. + + + The return value is calculated from the value of the actual method invocation arguments. + Notice how the arguments are retrieved by simply declaring them as part of the lambda + expression: + + + mock.Setup(x => x.Execute( + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>())) + .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8); + + + + + + Specifies a function that will calculate the value to return from the method, + retrieving the arguments for the invocation. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the ninth argument of the invoked method. + The function that will calculate the return value. + Returns a calculated value which is evaluated lazily at the time of the invocation. + + + The return value is calculated from the value of the actual method invocation arguments. + Notice how the arguments are retrieved by simply declaring them as part of the lambda + expression: + + + mock.Setup(x => x.Execute( + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>())) + .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9); + + + + + + Specifies a function that will calculate the value to return from the method, + retrieving the arguments for the invocation. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the ninth argument of the invoked method. + The type of the tenth argument of the invoked method. + The function that will calculate the return value. + Returns a calculated value which is evaluated lazily at the time of the invocation. + + + The return value is calculated from the value of the actual method invocation arguments. + Notice how the arguments are retrieved by simply declaring them as part of the lambda + expression: + + + mock.Setup(x => x.Execute( + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>())) + .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10); + + + + + + Specifies a function that will calculate the value to return from the method, + retrieving the arguments for the invocation. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the ninth argument of the invoked method. + The type of the tenth argument of the invoked method. + The type of the eleventh argument of the invoked method. + The function that will calculate the return value. + Returns a calculated value which is evaluated lazily at the time of the invocation. + + + The return value is calculated from the value of the actual method invocation arguments. + Notice how the arguments are retrieved by simply declaring them as part of the lambda + expression: + + + mock.Setup(x => x.Execute( + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>())) + .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11); + + + + + + Specifies a function that will calculate the value to return from the method, + retrieving the arguments for the invocation. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the ninth argument of the invoked method. + The type of the tenth argument of the invoked method. + The type of the eleventh argument of the invoked method. + The type of the twelfth argument of the invoked method. + The function that will calculate the return value. + Returns a calculated value which is evaluated lazily at the time of the invocation. + + + The return value is calculated from the value of the actual method invocation arguments. + Notice how the arguments are retrieved by simply declaring them as part of the lambda + expression: + + + mock.Setup(x => x.Execute( + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>())) + .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12); + + + + + + Specifies a function that will calculate the value to return from the method, + retrieving the arguments for the invocation. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the ninth argument of the invoked method. + The type of the tenth argument of the invoked method. + The type of the eleventh argument of the invoked method. + The type of the twelfth argument of the invoked method. + The type of the thirteenth argument of the invoked method. + The function that will calculate the return value. + Returns a calculated value which is evaluated lazily at the time of the invocation. + + + The return value is calculated from the value of the actual method invocation arguments. + Notice how the arguments are retrieved by simply declaring them as part of the lambda + expression: + + + mock.Setup(x => x.Execute( + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>())) + .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12, string arg13) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13); + + + + + + Specifies a function that will calculate the value to return from the method, + retrieving the arguments for the invocation. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the ninth argument of the invoked method. + The type of the tenth argument of the invoked method. + The type of the eleventh argument of the invoked method. + The type of the twelfth argument of the invoked method. + The type of the thirteenth argument of the invoked method. + The type of the fourteenth argument of the invoked method. + The function that will calculate the return value. + Returns a calculated value which is evaluated lazily at the time of the invocation. + + + The return value is calculated from the value of the actual method invocation arguments. + Notice how the arguments are retrieved by simply declaring them as part of the lambda + expression: + + + mock.Setup(x => x.Execute( + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>())) + .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12, string arg13, string arg14) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13 + arg14); + + + + + + Specifies a function that will calculate the value to return from the method, + retrieving the arguments for the invocation. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the ninth argument of the invoked method. + The type of the tenth argument of the invoked method. + The type of the eleventh argument of the invoked method. + The type of the twelfth argument of the invoked method. + The type of the thirteenth argument of the invoked method. + The type of the fourteenth argument of the invoked method. + The type of the fifteenth argument of the invoked method. + The function that will calculate the return value. + Returns a calculated value which is evaluated lazily at the time of the invocation. + + + The return value is calculated from the value of the actual method invocation arguments. + Notice how the arguments are retrieved by simply declaring them as part of the lambda + expression: + + + mock.Setup(x => x.Execute( + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>())) + .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12, string arg13, string arg14, string arg15) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13 + arg14 + arg15); + + + + + + Specifies a function that will calculate the value to return from the method, + retrieving the arguments for the invocation. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the ninth argument of the invoked method. + The type of the tenth argument of the invoked method. + The type of the eleventh argument of the invoked method. + The type of the twelfth argument of the invoked method. + The type of the thirteenth argument of the invoked method. + The type of the fourteenth argument of the invoked method. + The type of the fifteenth argument of the invoked method. + The type of the sixteenth argument of the invoked method. + The function that will calculate the return value. + Returns a calculated value which is evaluated lazily at the time of the invocation. + + + The return value is calculated from the value of the actual method invocation arguments. + Notice how the arguments are retrieved by simply declaring them as part of the lambda + expression: + + + mock.Setup(x => x.Execute( + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>())) + .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12, string arg13, string arg14, string arg15, string arg16) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13 + arg14 + arg15 + arg16); + + + + + + Defines the Returns verb for property get setups. + + Mocked type. + Type of the property. + + + + Specifies the value to return. + + The value to return, or . + + Return a true value from the property getter call: + + mock.SetupGet(x => x.Suspended) + .Returns(true); + + + + + + Specifies a function that will calculate the value to return for the property. + + The function that will calculate the return value. + + Return a calculated value when the property is retrieved: + + mock.SetupGet(x => x.Suspended) + .Returns(() => returnValues[0]); + + The lambda expression to retrieve the return value is lazy-executed, + meaning that its value may change depending on the moment the property + is retrieved and the value the returnValues array has at + that moment. + + + + + Calls the real property of the object and returns its return value. + + The value calculated by the real property of the object. + + + + Implements the fluent API. + + + + + The expectation will be considered only in the former condition. + + + + + + + The expectation will be considered only in the former condition. + + + + + + + + Setups the get. + + The type of the property. + The expression. + + + + + Setups the set. + + The type of the property. + The setter expression. + + + + + Setups the set. + + The setter expression. + + + + + Defines the Pass and Throws verbs for sequence setups + on void methods. + + + + + Configures the next call in the sequence to do nothing. + + + The following code configures the first call to Execute() + to do nothing, and the second call to throw an exception. + + mock.SetupSequence(m => m.Execute()) + .Pass() + .Throws<InvalidOperationException>(); + + + + + + Configures the next call in the sequence to throw an exception. + + + The following code configures the first call to Execute() + to do nothing, and the second call to throw an exception. + + mock.SetupSequence(m => m.Execute()) + .Pass() + .Throws<InvalidOperationException>(); + + + + + + Configures the next call in the sequence to throw an exception. + + + The following code configures the first call to Execute() + to do nothing, and the second call to throw an exception. + + mock.SetupSequence(m => m.Execute()) + .Pass() + .Throws(new InvalidOperationException()); + + + + + + Language for ReturnSequence + + + + + Returns value + + + + + Uses delegate to get return value + + The function that will calculate the return value. + + + + Throws an exception + + + + + Throws an exception + + + + + Calls original method + + + + + Defines the Throws verb. + + + + + Specifies the exception to throw when the method is invoked. + + Exception instance to throw. + + This example shows how to throw an exception when the method is + invoked with an empty string argument: + + mock.Setup(x => x.Execute("")) + .Throws(new ArgumentException()); + + + + + + Specifies the type of exception to throw when the method is invoked. + + Type of exception to instantiate and throw when the setup is matched. + + This example shows how to throw an exception when the method is + invoked with an empty string argument: + + mock.Setup(x => x.Execute("")) + .Throws<ArgumentException>(); + + + + + + Defines the Verifiable verb. + + + + + Marks the expectation as verifiable, meaning that a call + to will check if this particular + expectation was met. + + + The following example marks the expectation as verifiable: + + mock.Expect(x => x.Execute("ping")) + .Returns(true) + .Verifiable(); + + + + + + Marks the expectation as verifiable, meaning that a call + to will check if this particular + expectation was met, and specifies a message for failures. + + + The following example marks the expectation as verifiable: + + mock.Expect(x => x.Execute("ping")) + .Returns(true) + .Verifiable("Ping should be executed always!"); + + + + + + Defines occurrence members to constraint setups. + + + + + The expected invocation can happen at most once. + + + + var mock = new Mock<ICommand>(); + mock.Setup(foo => foo.Execute("ping")) + .AtMostOnce(); + + + + + + The expected invocation can happen at most specified number of times. + + The number of times to accept calls. + + + var mock = new Mock<ICommand>(); + mock.Setup(foo => foo.Execute("ping")) + .AtMost( 5 ); + + + + + + A default implementation of IQueryable for use with QueryProvider + + + + + Converts a taken-apart binary expression such as `m.A.B` (==) `x` to + `Mocks.SetupReturns(Mock.Get(m), m' => m'.A.B, (object)x)`. + + Body of the expression to set up. + Return value to be configured for . + + + + Locates the root mock object in a setup expression (which is usually, but not always, a ), + stores a reference to it, and finally replaces it with a new . + + + + + Utility repository class to use to construct multiple + mocks when consistent verification is + desired for all of them. + + + If multiple mocks will be created during a test, passing + the desired (if different than the + or the one + passed to the repository constructor) and later verifying each + mock can become repetitive and tedious. + + This repository class helps in that scenario by providing a + simplified creation of multiple mocks with a default + (unless overridden by calling + ) and posterior verification. + + + + The following is a straightforward example on how to + create and automatically verify strict mocks using a : + + var repository = new MockRepository(MockBehavior.Strict); + + var foo = repository.Create<IFoo>(); + var bar = repository.Create<IBar>(); + + // no need to call Verifiable() on the setup + // as we'll be validating all of them anyway. + foo.Setup(f => f.Do()); + bar.Setup(b => b.Redo()); + + // exercise the mocks here + + repository.VerifyAll(); + // At this point all setups are already checked + // and an optional MockException might be thrown. + // Note also that because the mocks are strict, any invocation + // that doesn't have a matching setup will also throw a MockException. + + The following examples shows how to setup the repository + to create loose mocks and later verify only verifiable setups: + + var repository = new MockRepository(MockBehavior.Loose); + + var foo = repository.Create<IFoo>(); + var bar = repository.Create<IBar>(); + + // this setup will be verified when we verify the repository + foo.Setup(f => f.Do()).Verifiable(); + + // this setup will NOT be verified + foo.Setup(f => f.Calculate()); + + // this setup will be verified when we verify the repository + bar.Setup(b => b.Redo()).Verifiable(); + + // exercise the mocks here + // note that because the mocks are Loose, members + // called in the interfaces for which no matching + // setups exist will NOT throw exceptions, + // and will rather return default values. + + repository.Verify(); + // At this point verifiable setups are already checked + // and an optional MockException might be thrown. + + The following examples shows how to setup the repository with a + default strict behavior, overriding that default for a + specific mock: + + var repository = new MockRepository(MockBehavior.Strict); + + // this particular one we want loose + var foo = repository.Create<IFoo>(MockBehavior.Loose); + var bar = repository.Create<IBar>(); + + // specify setups + + // exercise the mocks here + + repository.Verify(); + + + + + + + Access the universe of mocks of the given type, to retrieve those + that behave according to the LINQ query specification. + + The type of the mocked object to query. + + + + Access the universe of mocks of the given type, to retrieve those + that behave according to the LINQ query specification. + + Behavior of the mocks. + The type of the mocked object to query. + + + + Access the universe of mocks of the given type, to retrieve those + that behave according to the LINQ query specification. + + The predicate with the setup expressions. + The type of the mocked object to query. + + + + Access the universe of mocks of the given type, to retrieve those + that behave according to the LINQ query specification. + + The predicate with the setup expressions. + Behavior of the mocks. + The type of the mocked object to query. + + + + Creates a mock object of the indicated type. + + The type of the mocked object. + The mocked object created. + + + + Creates a mock object of the indicated type. + + Behavior of the mock. + The type of the mocked object. + The mocked object created. + + + + Creates a mock object of the indicated type. + + The predicate with the setup expressions. + The type of the mocked object. + The mocked object created. + + + + Creates a mock object of the indicated type. + + The predicate with the setup expressions. + Behavior of the mock. + The type of the mocked object. + The mocked object created. + + + + Creates the mock query with the underlying queryable implementation. + + + + + Wraps the enumerator inside a queryable. + + + + + Method that is turned into the actual call from .Query{T}, to + transform the queryable query into a normal enumerable query. + This method is never used directly by consumers. + + + + + Initializes the repository with the given + for newly created mocks from the repository. + + The behavior to use for mocks created + using the repository method if not overridden + by using the overload. + + + + Allows querying the universe of mocks for those that behave + according to the LINQ query specification. + + + + + Access the universe of mocks of the given type, to retrieve those + that behave according to the LINQ query specification. + + The type of the mocked object to query. + + + + Access the universe of mocks of the given type, to retrieve those + that behave according to the LINQ query specification. + + Behavior of the mocks. + The type of the mocked object to query. + + + + Access the universe of mocks of the given type, to retrieve those + that behave according to the LINQ query specification. + + The predicate with the setup expressions. + The type of the mocked object to query. + + + + Access the universe of mocks of the given type, to retrieve those + that behave according to the LINQ query specification. + + The predicate with the setup expressions. + Behavior of the mocks. + The type of the mocked object to query. + + + + Creates a mock object of the indicated type. + + The type of the mocked object. + The mocked object created. + + + + Creates a mock object of the indicated type. + + The predicate with the setup expressions. + The type of the mocked object. + The mocked object created. + + + + Creates the mock query with the underlying queryable implementation. + + + + + Wraps the enumerator inside a queryable. + + + + + Method that is turned into the actual call from .Query{T}, to + transform the queryable query into a normal enumerable query. + This method is never used directly by consumers. + + + + + Abstract base class for default value providers that look up and delegate to value factory functions for the requested type(s). + If a request cannot be satisfied by any registered factory, the default value gets produced by a fallback strategy. + + + + Derived classes can register and deregister factory functions with and , + respectively. + + + The fallback value generation strategy is implemented by the overridable method. + + + This base class sets up factory functions for task types (, , + and ) that produce completed tasks containing default values. + If this behavior is not desired, derived classes may deregister those standard factory functions via . + + + + + + Initializes a new instance of the class. + + + + + Deregisters any factory function that might currently be registered for the given type(s). + Subsequent requests for values of the given type(s) will be handled by the fallback strategy. + + The type(s) for which to remove any registered factory function. + + + + Registers a factory function for the given type(s). + Subsequent requests for values of the given type(s) will be handled by the specified function. + + + + The type(s) for which to register the given function. + + + All array types are represented by (). + Generic types are represented by their open generic type definition, e. g. (<>). + + + The factory function responsible for producing values for the given type. + + + + + + + + + + + + + Determines the default value for the given when no suitable factory is registered for it. + May be overridden in derived classes. + + The type of which to produce a value. + The on which an unexpected invocation has occurred. + + + + Allows creating custom value matchers that can be used on setups and verification, + completely replacing the built-in class with your own + argument matching rules. + + + Argument matching is used to determine whether a concrete invocation in the mock + matches a given setup. This matching mechanism is fully extensible. + + + Creating a custom matcher is straightforward. You just need to create a method + that returns a value from a call to + with your matching condition and optional friendly render expression: + + public Order IsBigOrder() + { + return Match.Create<Order>( + o => o.GrandTotal >= 5000, + () => IsBigOrder()); // a friendly expression to render on failures + } + + This method can be used in any mock setup invocation: + + mock.Setup(m => m.Submit(IsBigOrder()) + .Throws<UnauthorizedAccessException>(); + + At runtime, Moq knows that the return value was a matcher and + evaluates your predicate with the actual value passed into your predicate. + + Another example might be a case where you want to match a lists of orders + that contains a particular one. You might create matcher like the following: + + + public static class Orders + { + public static IEnumerable<Order> Contains(Order order) + { + return Match.Create<IEnumerable<Order>>(orders => orders.Contains(order)); + } + } + + Now we can invoke this static method instead of an argument in an invocation: + + var order = new Order { ... }; + var mock = new Mock<IRepository<Order>>(); + + mock.Setup(x => x.Save(Orders.Contains(order))) + .Throws<ArgumentException>(); + + + + + + Provided for the sole purpose of rendering the delegate passed to the + matcher constructor if no friendly render lambda is provided. + + + + + Initializes the matcher with the condition that will be checked + in order to match invocation values. + + The condition to match against actual values. + + + + Initializes the matcher with the condition that will be checked + in order to match invocation values. + + The condition to match against actual values. + + A lambda representation of the matcher, to be used when rendering error messages, + such as () => It.IsAny<string<(). + + + + + Initializes the matcher with the condition that will be checked in order to match invocation values. + + The predicate of this overload will not only be provided with a + method argument, but also with the associated parameter's type. This parameter type essentially + overrides in cases where the latter is a type matcher. Therefore, + use this method overload if you want your custom matcher to work together with type matchers. + + + + The condition to match against actual values. + + This function will be passed the invocation argument, as well as the type of the associated parameter. + + + + A lambda representation of the matcher. + + + + + Allows creating custom value matchers that can be used on setups and verification, + completely replacing the built-in class with your own + argument matching rules. + + Type of the value to match. + + + + + + + + + + + + + A per-thread observer that records invocations to matchers for later inspection. + + + + This component requires the active cooperation of the respective subsystem. + That is, invoked matchers call into if an + observer is active on the current thread. + + + + + + Returns the current timestamp. The next call will return a timestamp greater than this one, + allowing you to order invocations and matcher observations. + + + + + Adds the specified as an observation. + + + + + Checks whether at least one observation is available, + and if so, returns the last one. + + The observed matcher observed last. + + + + Matcher to treat static functions as matchers. + + mock.Setup(x => x.StringMethod(A.MagicString())); + + public static class A + { + [Matcher] + public static string MagicString() { return null; } + public static bool MagicString(string arg) + { + return arg == "magic"; + } + } + + Will succeed if: mock.Object.StringMethod("magic"); + and fail with any other call. + + + + + Options to customize the behavior of the mock. + + + + + Causes the mock to always throw + an exception for invocations that don't have a + corresponding setup. + + + + + Will never throw exceptions, returning default + values when necessary (null for reference types, + zero for value types or empty enumerables and arrays). + + + + + Default mock behavior, which equals . + + + + + A that returns an empty default value + for non-mockable types, and mocks for all other types (interfaces and + non-sealed classes) that can be mocked. + + + + + Exception thrown by mocks when they are not properly set up, + when setups are not matched, when verification fails, etc. + + + A distinct exception type is provided so that exceptions + thrown by a mock can be distinguished from other exceptions + that might be thrown in tests. + + Moq does not provide a richer hierarchy of exception types, as + tests typically should not catch or expect exceptions + from mocks. These are typically the result of changes + in the tested class or its collaborators' implementation, and + result in fixes in the mock setup so that they disappear and + allow the test to pass. + + + + + + Returns the exception to be thrown when a setup limited by is matched more often than once. + + + + + Returns the exception to be thrown when a setup limited by is matched more often than the specified maximum number of times. + + + + + Returns the exception to be thrown when finds no invocations (or the wrong number of invocations) that match the specified expectation. + + + + + Returns the exception to be thrown when a strict mock has no setup corresponding to the specified invocation. + + + + + Returns the exception to be thrown when a strict mock has no setup that provides a return value for the specified invocation. + + + + + Returns the exception to be thrown when a setup was not matched. + + + + + Returns an exception whose message is the concatenation of the given ' messages + and whose reason(s) is the combination of the given ' reason(s). + Used by when it finds one or more mocks with verification errors. + + + + + Returns the exception to be thrown when finds invocations that have not been verified. + + + + + Indicates whether this exception is a verification fault raised by Verify() + + + + + Supports the serialization infrastructure. + + Serialization information. + Streaming context. + + + + Supports the serialization infrastructure. + + Serialization information. + Streaming context. + + + + Provides additional methods on mocks. + + + + + Resets this mock's state. This includes its setups, configured default return values, registered event handlers, and all recorded invocations. + + The mock whose state should be reset. + + + + Resets all invocations recorded for this mock. + + The mock whose recorded invocations should be reset. + + + + Helper class to setup a full trace between many mocks + + + + + Initialize a trace setup + + + + + Allow sequence to be repeated + + + + + Contains extension methods that are related to . + + + + + Perform an expectation in the trace. + + + + + Provides a mock implementation of . + + Type to mock, which can be an interface, a class, or a delegate. + + Any interface type can be used for mocking, but for classes, only abstract and virtual members can be mocked. + + The behavior of the mock with regards to the setups and the actual calls is determined by the optional + that can be passed to the constructor. + + + + The following example shows establishing setups with specific values for method invocations: + + // Arrange + var order = new Order(TALISKER, 50); + var warehouse = new Mock<IWarehouse>(); + warehouse.Setup(w => w.HasInventory(TALISKER, 50)).Returns(true); + + // Act + order.Fill(warehouse.Object); + + // Assert + Assert.True(order.IsFilled); + + + + The following example shows how to use the class + to specify conditions for arguments instead of specific values: + + // Arrange + var order = new Order(TALISKER, 50); + var warehouse = new Mock<IWarehouse>(); + + // shows how to expect a value within a range: + warehouse.Setup(x => x.HasInventory( + It.IsAny<string>(), + It.IsInRange(0, 100, Range.Inclusive))) + .Returns(false); + + // shows how to throw for unexpected calls. + warehouse.Setup(x => x.Remove( + It.IsAny<string>(), + It.IsAny<int>())) + .Throws(new InvalidOperationException()); + + // Act + order.Fill(warehouse.Object); + + // Assert + Assert.False(order.IsFilled); + + + + + + Ctor invoked by AsTInterface exclusively. + + + + + Initializes an instance of the mock with behavior. + + + + var mock = new Mock<IFormatProvider>(); + + + + + + Initializes an instance of the mock with behavior + and with the given constructor arguments for the class. (Only valid when is a class.) + + Optional constructor arguments if the mocked type is a class. + + The mock will try to find the best match constructor given the constructor arguments, + and invoke that to initialize the instance.This applies only for classes, not interfaces. + + + + var mock = new Mock<MyProvider>(someArgument, 25); + + + + + + Initializes an instance of the mock with the specified behavior. + + Behavior of the mock. + + + var mock = new Mock<IFormatProvider>(MockBehavior.Strict); + + + + + + Initializes an instance of the mock with a specific behavior + and with the given constructor arguments for the class. + + Behavior of the mock. + Optional constructor arguments if the mocked type is a class. + + The mock will try to find the best match constructor given the constructor arguments, + and invoke that to initialize the instance. This applies only to classes, not interfaces. + + + + + Initializes an instance of the mock using the given constructor call including its + argument values and with a specific behavior. + + Lambda expression that creates an instance of . + Behavior of the mock. + + var mock = new Mock<MyProvider>(() => new MyProvider(someArgument, 25), MockBehavior.Loose); + + + + + + + + + + + Gets or sets the instance that will be used + e. g. to produce default return values for unexpected invocations. + + + + + Exposes the mocked object instance. + + + + + Allows naming of your mocks, so they can be easily identified in error messages (e.g. from failed assertions). + + + + + Returns the name of the mock. + + + + + Returns the mocked object value. + + + + + A set of switches that influence how this mock will operate. + You can opt in or out of certain features via this property. + + + + + Adds an interface implementation to the mock, allowing setups to be specified for it. + + + This method can only be called before the first use of the mock property, + at which point the runtime type has already been generated and no more interfaces can be added to it. + + Also, must be an interface and not a class, + which must be specified when creating the mock instead. + + + Type of interface to cast the mock to. + The specified is not an interface. + + The mock type has already been generated by accessing the property. + + + The following example creates a mock for the main interface + and later adds to it to verify it's called by the consumer code: + + var mock = new Mock<IProcessor>(); + mock.Setup(x => x.Execute("ping")); + + // add IDisposable interface + var disposable = mock.As<IDisposable>(); + disposable.Setup(d => d.Dispose()) + .Verifiable(); + + + + + + Specifies a setup on the mocked type for a call to a method. + + Lambda expression that specifies the expected method invocation. + + If more than one setup is specified for the same method or property, + the latest one wins and is the one that will be executed. + + + + var mock = new Mock<IProcessor>(); + mock.Setup(x => x.Execute("ping")); + + + + + + Specifies a setup on the mocked type for a call to a non- (value-returning) method. + + Lambda expression that specifies the method invocation. + Type of the return value. Typically omitted as it can be inferred from the expression. + + If more than one setup is specified for the same method or property, + the latest one wins and is the one that will be executed. + + + + mock.Setup(x => x.HasInventory("Talisker", 50)) + .Returns(true); + + + + + + Specifies a setup on the mocked type for a call to a property getter. + + Lambda expression that specifies the property getter. + Type of the property. Typically omitted as it can be inferred from the expression. + + If more than one setup is set for the same property getter, + the latest one wins and is the one that will be executed. + + + + mock.SetupGet(x => x.Suspended) + .Returns(true); + + + + + + Specifies a setup on the mocked type for a call to a property setter. + + The Lambda expression that sets a property to a value. + Type of the property. Typically omitted as it can be inferred from the expression. + + If more than one setup is set for the same property setter, + the latest one wins and is the one that will be executed. + + This overloads allows the use of a callback already typed for the property type. + + + + + mock.SetupSet(x => x.Suspended = true); + + + + + + Specifies a setup on the mocked type for a call to a property setter. + + Lambda expression that sets a property to a value. + + If more than one setup is set for the same property setter, + the latest one wins and is the one that will be executed. + + + + mock.SetupSet(x => x.Suspended = true); + + + + + + Specifies a setup on the mocked type for a call to an event add. + + Lambda expression that adds an event. + + If more than one setup is set for the same event add, + the latest one wins and is the one that will be executed. + + + + mock.SetupAdd(x => x.EventHandler += (s, e) => {}); + + + + + + Specifies a setup on the mocked type for a call to an event remove. + + Lambda expression that removes an event. + + If more than one setup is set for the same event remove, + the latest one wins and is the one that will be executed. + + + + mock.SetupRemove(x => x.EventHandler -= (s, e) => {}); + + + + + + Specifies that the given property should have "property behavior", + meaning that setting its value will cause it to be saved and later returned when the property is requested. + (This is also known as "stubbing".) + + Property expression to stub. + + Type of the property, inferred from the property expression (does not need to be specified). + + + If you have an interface with an int property Value, + you might stub it using the following straightforward call: + + var mock = new Mock<IHaveValue>(); + mock.SetupProperty(v => v.Value); + + After the SetupProperty call has been issued, setting and retrieving + the object value will behave as expected: + + IHaveValue v = mock.Object; + v.Value = 5; + Assert.Equal(5, v.Value); + + + + + + Specifies that the given property should have "property behavior", + meaning that setting its value will cause it to be saved and later returned when the property is requested. + This overload allows setting the initial value for the property. + (This is also known as "stubbing".) + + Property expression to stub. + Initial value for the property. + + Type of the property, inferred from the property expression (does not need to be specified). + + + If you have an interface with an int property Value, + you might stub it using the following straightforward call: + + var mock = new Mock<IHaveValue>(); + mock.SetupProperty(v => v.Value, 5); + + After the SetupProperty call has been issued, setting and retrieving the object value + will behave as expected: + + IHaveValue v = mock.Object; + Assert.Equal(5, v.Value); // Initial value was stored + + // New value set which changes the initial value + v.Value = 6; + Assert.Equal(6, v.Value); + + + + + + Specifies that the all properties on the mock should have "property behavior", + meaning that setting their value will cause them to be saved and later returned when the properties is requested. + (This is also known as "stubbing".) + The default value for each property will be the one generated as specified by the + property for the mock. + + + If the mock's is set to , + the mocked default values will also get all properties setup recursively. + + + + + Return a sequence of values, once per call. + + + + + Performs a sequence of actions, one per call. + + + + + Allows setting up a conditional setup. + Conditional setups are only matched by an invocation + when the specified condition evaluates to + at the time when the invocation occurs. + + + The condition that should be checked + when a setup is being matched against an invocation. + + + + + Verifies that a specific invocation matching the given expression was performed on the mock. + Use in conjunction with the default . + + Expression to verify. + The invocation was not performed on the mock. + + This example assumes that the mock has been used, and later we want to verify + that a given invocation with specific parameters was performed: + + var mock = new Mock<IProcessor>(); + + ... // exercise mock + + // Will throw if the test code didn't call Execute with a "ping" string argument. + mock.Verify(proc => proc.Execute("ping")); + + + + + + Verifies that a specific invocation matching the given expression was performed on the mock. + Use in conjunction with the default . + + Expression to verify. + The number of times a method is expected to be called. + + The invocation was not called the number of times specified by . + + + + + Verifies that a specific invocation matching the given expression was performed on the mock. + Use in conjunction with the default . + + Expression to verify. + The number of times a method is expected to be called. + + The invocation was not called the number of times specified by . + + + + + Verifies that a specific invocation matching the given expression was performed on the mock, + specifying a failure error message. + Use in conjunction with the default . + + Expression to verify. + Message to show if verification fails. + The invocation was not performed on the mock. + + + + Verifies that a specific invocation matching the given expression was performed on the mock, + specifying a failure error message. + Use in conjunction with the default . + + Expression to verify. + The number of times a method is expected to be called. + Message to show if verification fails. + + The invocation was not called the number of times specified by . + + + + + Verifies that a specific invocation matching the given expression was performed on the mock, + specifying a failure error message. + Use in conjunction with the default . + + Expression to verify. + The number of times a method is expected to be called. + Message to show if verification fails. + + The invocation was not called the number of times specified by . + + + + + Verifies that a specific invocation matching the given expression was performed on the mock. + Use in conjunction with the default . + + Expression to verify. + Type of return value from the expression. + The invocation was not performed on the mock. + + This example assumes that the mock has been used, and later we want to verify + that a given invocation with specific parameters was performed: + + var mock = new Mock<IWarehouse>(); + + ... // exercise mock + + // Will throw if the test code didn't call HasInventory. + mock.Verify(warehouse => warehouse.HasInventory(TALISKER, 50)); + + + + + + Verifies that a specific invocation matching the given expression was performed on the mock. + Use in conjunction with the default . + + Expression to verify. + The number of times a method is expected to be called. + Type of return value from the expression. + + The invocation was not called the number of times specified by . + + + + + Verifies that a specific invocation matching the given expression was performed on the mock. + Use in conjunction with the default . + + Expression to verify. + The number of times a method is expected to be called. + Type of return value from the expression. + + The invocation was not called the number of times specified by . + + + + + Verifies that a specific invocation matching the given expression was performed on the mock, + specifying a failure error message. + + Expression to verify. + Message to show if verification fails. + Type of return value from the expression. + The invocation was not performed on the mock. + + This example assumes that the mock has been used, and later we want to verify + that a given invocation with specific parameters was performed: + + var mock = new Mock<IWarehouse>(); + + ... // exercise mock + + // Will throw if the test code didn't call HasInventory. + mock.Verify(warehouse => warehouse.HasInventory(TALISKER, 50), + "When filling orders, inventory has to be checked"); + + + + + + Verifies that a specific invocation matching the given expression was performed on the mock, + specifying a failure error message. + + Expression to verify. + The number of times a method is expected to be called. + Message to show if verification fails. + Type of return value from the expression. + + The invocation was not called the number times specified by . + + + + + Verifies that a property was read on the mock. + + Expression to verify. + + Type of the property to verify. Typically omitted as it can be inferred from the expression's return type. + + The invocation was not performed on the mock. + + This example assumes that the mock has been used, and later we want to verify + that a given property was retrieved from it: + + var mock = new Mock<IWarehouse>(); + + ... // exercise mock + + // Will throw if the test code didn't retrieve the IsClosed property. + mock.VerifyGet(warehouse => warehouse.IsClosed); + + + + + + Verifies that a property was read on the mock. + + The number of times a method is expected to be called. + Expression to verify. + + Type of the property to verify. Typically omitted as it can be inferred from the expression's return type. + + + The invocation was not called the number times specified by . + + + + + Verifies that a property was read on the mock. + + The number of times a method is expected to be called. + Expression to verify. + + Type of the property to verify. Typically omitted as it can be inferred from the expression's return type. + + + The invocation was not called the number times specified by . + + + + + Verifies that a property was read on the mock, specifying a failure error message. + + Expression to verify. + Message to show if verification fails. + + Type of the property to verify. Typically omitted as it can be inferred from the expression's return type. + + The invocation was not performed on the mock. + + + + Verifies that a property was read on the mock, specifying a failure error message. + + The number of times a method is expected to be called. + Expression to verify. + Message to show if verification fails. + + Type of the property to verify. Typically omitted as it can be inferred from the expression's return type. + + + The invocation was not called the number times specified by . + + + + + Verifies that a property was read on the mock, specifying a failure error message. + + The number of times a method is expected to be called. + Expression to verify. + Message to show if verification fails. + + Type of the property to verify. Typically omitted as it can be inferred from the expression's return type. + + + The invocation was not called the number times specified by . + + + + + Verifies that a property was set on the mock. + + Expression to verify. + The invocation was not performed on the mock. + + This example assumes that the mock has been used, and later we want to verify + that a given property was set on it: + + var mock = new Mock<IWarehouse>(); + + ... // exercise mock + + // Will throw if the test code didn't set the IsClosed property. + mock.VerifySet(warehouse => warehouse.IsClosed = true); + + + + + + Verifies that a property was set on the mock. + + The number of times a method is expected to be called. + Expression to verify. + + The invocation was not called the number of times specified by . + + + + + Verifies that a property was set on the mock. + + The number of times a method is expected to be called. + Expression to verify. + + The invocation was not called the number of times specified by . + + + + + Verifies that a property was set on the mock, specifying a failure message. + + Expression to verify. + Message to show if verification fails. + The invocation was not performed on the mock. + + This example assumes that the mock has been used, and later we want to verify + that a given property was set on it: + + var mock = new Mock<IWarehouse>(); + + ... // exercise mock + + // Will throw if the test code didn't set the IsClosed property. + mock.VerifySet(warehouse => warehouse.IsClosed = true, + "Warehouse should always be closed after the action"); + + + + + + Verifies that a property was set on the mock, specifying a failure message. + + The number of times a method is expected to be called. + Expression to verify. + Message to show if verification fails. + + The invocation was not called the number of times specified by . + + + + + Verifies that a property was set on the mock, specifying a failure message. + + The number of times a method is expected to be called. + Expression to verify. + Message to show if verification fails. + + The invocation was not called the number of times specified by . + + + + + Verifies that an event was added to the mock. + + Expression to verify. + The invocation was not performed on the mock. + + This example assumes that the mock has been used, and later we want to verify + that a given event handler was subscribed to an event: + + var mock = new Mock<IWarehouse>(); + + ... // exercise mock + + // Will throw if the test code didn't subscribe to the OnClosed event. + mock.VerifyAdd(warehouse => warehouse.OnClosed += It.IsAny<EventHandler>()); + + + + + + Verifies that an event was added to the mock. + + The number of times a method is expected to be called. + Expression to verify. + + The invocation was not called the number of times specified by . + + + + + Verifies that an event was added to the mock. + + The number of times a method is expected to be called. + Expression to verify. + + The invocation was not called the number of times specified by . + + + + + Verifies that an event was added to the mock, specifying a failure message. + + Expression to verify. + Message to show if verification fails. + The invocation was not performed on the mock. + + + + Verifies that an event was added to the mock, specifying a failure message. + + The number of times a method is expected to be called. + Expression to verify. + Message to show if verification fails. + + The invocation was not called the number of times specified by . + + + + + Verifies that an event was added to the mock, specifying a failure message. + + The number of times a method is expected to be called. + Expression to verify. + Message to show if verification fails. + + The invocation was not called the number of times specified by . + + + + + Verifies that an event was removed from the mock. + + Expression to verify. + The invocation was not performed on the mock. + + This example assumes that the mock has been used, and later we want to verify + that a given event handler was removed from an event: + + var mock = new Mock<IWarehouse>(); + + ... // exercise mock + + // Will throw if the test code didn't unsubscribe from the OnClosed event. + mock.VerifyRemove(warehouse => warehouse.OnClose -= It.IsAny<EventHandler>()); + + + + + + Verifies that an event was removed from the mock. + + The number of times a method is expected to be called. + Expression to verify. + + The invocation was not called the number of times specified by . + + + + + Verifies that an event was removed from the mock. + + The number of times a method is expected to be called. + Expression to verify. + + The invocation was not called the number of times specified by . + + + + + Verifies that an event was removed from the mock, specifying a failure message. + + Expression to verify. + Message to show if verification fails. + The invocation was not performed on the mock. + + + + Verifies that an event was removed from the mock, specifying a failure message. + + The number of times a method is expected to be called. + Expression to verify. + Message to show if verification fails. + + The invocation was not called the number of times specified by . + + + + + Verifies that an event was removed from the mock, specifying a failure message. + + The number of times a method is expected to be called. + Expression to verify. + Message to show if verification fails. + + The invocation was not called the number of times specified by . + + + + + Verifies that there were no calls other than those already verified. + + There was at least one invocation not previously verified. + + + + Raises the event referenced in using the given argument. + + + The argument is invalid for the target event invocation, + or the is not an event attach or detach expression. + + + The following example shows how to raise a + event: + + var mock = new Mock<IViewModel>(); + mock.Raise(x => x.PropertyChanged -= null, new PropertyChangedEventArgs("Name")); + + + + This example shows how to invoke an event with a custom event arguments class + in a view that will cause its corresponding presenter to react by changing its state: + + var mockView = new Mock<IOrdersView>(); + var presenter = new OrdersPresenter(mockView.Object); + + // Check that the presenter has no selection by default + Assert.Null(presenter.SelectedOrder); + + // Raise the event with a specific arguments data + mockView.Raise(v => v.SelectionChanged += null, new OrderEventArgs { Order = new Order("moq", 500) }); + + // Now the presenter reacted to the event, and we have a selected order + Assert.NotNull(presenter.SelectedOrder); + Assert.Equal("moq", presenter.SelectedOrder.ProductName); + + + + + + Raises the event referenced in using the given argument for a non--typed event. + + + The arguments are invalid for the target event invocation, + or the is not an event attach or detach expression. + + + The following example shows how to raise a custom event that does not adhere + to the standard EventHandler: + + var mock = new Mock<IViewModel>(); + mock.Raise(x => x.MyEvent -= null, "Name", bool, 25); + + + + + + Obsolete. + + + + + Obsolete. + + + + + Obsolete. + + + + + Obsolete. + + + + + Obsolete. + + + + + Marks a method as a matcher, which allows complete replacement + of the built-in class with your own argument + matching rules. + + + + This feature has been deprecated in favor of the new + and simpler . + + + + The argument matching is used to determine whether a concrete + invocation in the mock matches a given setup. This + matching mechanism is fully extensible. + + + There are two parts of a matcher: the compiler matcher + and the runtime matcher. + + + Compiler matcher + Used to satisfy the compiler requirements for the + argument. Needs to be a method optionally receiving any arguments + you might need for the matching, but with a return type that + matches that of the argument. + + Let's say I want to match a lists of orders that contains + a particular one. I might create a compiler matcher like the following: + + + public static class Orders + { + [Matcher] + public static IEnumerable<Order> Contains(Order order) + { + return null; + } + } + + Now we can invoke this static method instead of an argument in an + invocation: + + var order = new Order { ... }; + var mock = new Mock<IRepository<Order>>(); + + mock.Setup(x => x.Save(Orders.Contains(order))) + .Throws<ArgumentException>(); + + Note that the return value from the compiler matcher is irrelevant. + This method will never be called, and is just used to satisfy the + compiler and to signal Moq that this is not a method that we want + to be invoked at runtime. + + + + Runtime matcher + + The runtime matcher is the one that will actually perform evaluation + when the test is run, and is defined by convention to have the + same signature as the compiler matcher, but where the return + value is the first argument to the call, which contains the + object received by the actual invocation at runtime: + + public static bool Contains(IEnumerable<Order> orders, Order order) + { + return orders.Contains(order); + } + + At runtime, the mocked method will be invoked with a specific + list of orders. This value will be passed to this runtime + matcher as the first argument, while the second argument is the + one specified in the setup (x.Save(Orders.Contains(order))). + + The boolean returned determines whether the given argument has been + matched. If all arguments to the expected method are matched, then + the setup matches and is evaluated. + + + + + + Using this extensible infrastructure, you can easily replace the entire + set of matchers with your own. You can also avoid the + typical (and annoying) lengthy expressions that result when you have + multiple arguments that use generics. + + + The following is the complete example explained above: + + public static class Orders + { + [Matcher] + public static IEnumerable<Order> Contains(Order order) + { + return null; + } + + public static bool Contains(IEnumerable<Order> orders, Order order) + { + return orders.Contains(order); + } + } + + And the concrete test using this matcher: + + var order = new Order { ... }; + var mock = new Mock<IRepository<Order>>(); + + mock.Setup(x => x.Save(Orders.Contains(order))) + .Throws<ArgumentException>(); + + // use mock, invoke Save, and have the matcher filter. + + + + + + Contains obsolete API members as extension methods so that existing code continues to compile, + but new code doesn't see them. + + + + + Obsolete. + + + + + Obsolete. + + + + + Obsolete. + + + + + Utility factory class to use to construct multiple + mocks when consistent verification is + desired for all of them. + + + If multiple mocks will be created during a test, passing + the desired (if different than the + or the one + passed to the factory constructor) and later verifying each + mock can become repetitive and tedious. + + This factory class helps in that scenario by providing a + simplified creation of multiple mocks with a default + (unless overridden by calling + ) and posterior verification. + + + + The following is a straightforward example on how to + create and automatically verify strict mocks using a : + + var factory = new MockFactory(MockBehavior.Strict); + + var foo = factory.Create<IFoo>(); + var bar = factory.Create<IBar>(); + + // no need to call Verifiable() on the setup + // as we'll be validating all of them anyway. + foo.Setup(f => f.Do()); + bar.Setup(b => b.Redo()); + + // exercise the mocks here + + factory.VerifyAll(); + // At this point all setups are already checked + // and an optional MockException might be thrown. + // Note also that because the mocks are strict, any invocation + // that doesn't have a matching setup will also throw a MockException. + + The following examples shows how to setup the factory + to create loose mocks and later verify only verifiable setups: + + var factory = new MockFactory(MockBehavior.Loose); + + var foo = factory.Create<IFoo>(); + var bar = factory.Create<IBar>(); + + // this setup will be verified when we verify the factory + foo.Setup(f => f.Do()).Verifiable(); + + // this setup will NOT be verified + foo.Setup(f => f.Calculate()); + + // this setup will be verified when we verify the factory + bar.Setup(b => b.Redo()).Verifiable(); + + // exercise the mocks here + // note that because the mocks are Loose, members + // called in the interfaces for which no matching + // setups exist will NOT throw exceptions, + // and will rather return default values. + + factory.Verify(); + // At this point verifiable setups are already checked + // and an optional MockException might be thrown. + + The following examples shows how to setup the factory with a + default strict behavior, overriding that default for a + specific mock: + + var factory = new MockFactory(MockBehavior.Strict); + + // this particular one we want loose + var foo = factory.Create<IFoo>(MockBehavior.Loose); + var bar = factory.Create<IBar>(); + + // specify setups + + // exercise the mocks here + + factory.Verify(); + + + + + + + Initializes the factory with the given + for newly created mocks from the factory. + + The behavior to use for mocks created + using the factory method if not overridden + by using the overload. + + + + Gets the default of mocks created by this repository. + + + + + Whether the base member virtual implementation will be called + for mocked classes if no setup is matched. Defaults to . + + + + + Specifies the behavior to use when returning default values for + unexpected invocations on loose mocks. + + + + + Gets or sets the instance that will be used + e. g. to produce default return values for unexpected invocations. + + + + + Gets the mocks that have been created by this factory and + that will get verified together. + + + + + A set of switches that influence how mocks created by this factory will operate. + You can opt in or out of certain features via this property. + + + + + Creates a new mock with the default + specified at factory construction time. + + Type to mock. + A new . + + + var factory = new MockFactory(MockBehavior.Strict); + + var foo = factory.Create<IFoo>(); + // use mock on tests + + factory.VerifyAll(); + + + + + + Creates a new mock with the default + specified at factory construction time and with the + the given constructor arguments for the class. + + + The mock will try to find the best match constructor given the + constructor arguments, and invoke that to initialize the instance. + This applies only to classes, not interfaces. + + Type to mock. + Constructor arguments for mocked classes. + A new . + + + var factory = new MockFactory(MockBehavior.Default); + + var mock = factory.Create<MyBase>("Foo", 25, true); + // use mock on tests + + factory.Verify(); + + + + + + Creates a new mock with the given . + + Type to mock. + Behavior to use for the mock, which overrides + the default behavior specified at factory construction time. + A new . + + The following example shows how to create a mock with a different + behavior to that specified as the default for the factory: + + var factory = new MockFactory(MockBehavior.Strict); + + var foo = factory.Create<IFoo>(MockBehavior.Loose); + + + + + + Creates a new mock with the given + and with the given constructor arguments for the class. + + + The mock will try to find the best match constructor given the + constructor arguments, and invoke that to initialize the instance. + This applies only to classes, not interfaces. + + Type to mock. + Behavior to use for the mock, which overrides + the default behavior specified at factory construction time. + Constructor arguments for mocked classes. + A new . + + The following example shows how to create a mock with a different + behavior to that specified as the default for the factory, passing + constructor arguments: + + var factory = new MockFactory(MockBehavior.Default); + + var mock = factory.Create<MyBase>(MockBehavior.Strict, "Foo", 25, true); + + + + + + Creates an instance of the mock using the given constructor call including its + argument values and with a specific behavior. + + Type to mock. + Lambda expression that creates an instance of . + Behavior of the mock. + A new . + + + var factory = new MockFactory(MockBehavior.Default); + + var mock = factory.Create<MyClass>(() => new MyClass("Foo", 25, true), MockBehavior.Loose); + // use mock on tests + + factory.Verify(); + + + + + + Implements creation of a new mock within the factory. + + Type to mock. + The behavior for the new mock. + Optional arguments for the construction of the mock. + + + + Verifies all verifiable setups on all mocks created by this factory. + + + One or more mocks had setups that were not satisfied. + + + + Verifies all setups on all mocks created by this factory. + + + One or more mocks had setups that were not satisfied. + + + + Calls on all mocks created by this factory. + + + One or more mocks had invocations that were not verified. + + + + Invokes for each mock + in , and accumulates the resulting + verification exceptions that might be + thrown from the action. + + The action to execute against + each mock. + + + + Provides additional methods on mocks. + + + Provided as extension methods as they confuse the compiler + with the overloads taking Action. + + + + + Specifies a setup on the mocked type for a call to + to a property setter, regardless of its value. + + + If more than one setup is set for the same property setter, + the latest one wins and is the one that will be executed. + + Type of the property. Typically omitted as it can be inferred from the expression. + Type of the mock. + The target mock for the setup. + Lambda expression that specifies the property setter. + + + mock.SetupSet(x => x.Suspended); + + + + This method is not legacy, but must be on an extension method to avoid + confusing the compiler with the new Action syntax. + + + + + Verifies that a property has been set on the mock, regardless of its value. + + + This example assumes that the mock has been used, + and later we want to verify that a given invocation + with specific parameters was performed: + + var mock = new Mock<IWarehouse>(); + // exercise mock + //... + // Will throw if the test code didn't set the IsClosed property. + mock.VerifySet(warehouse => warehouse.IsClosed); + + + The invocation was not performed on the mock. + Expression to verify. + The mock instance. + Mocked type. + Type of the property to verify. Typically omitted as it can + be inferred from the expression's return type. + + + + Verifies that a property has been set on the mock, specifying a failure + error message. + + + This example assumes that the mock has been used, + and later we want to verify that a given invocation + with specific parameters was performed: + + var mock = new Mock<IWarehouse>(); + // exercise mock + //... + // Will throw if the test code didn't set the IsClosed property. + mock.VerifySet(warehouse => warehouse.IsClosed); + + + The invocation was not performed on the mock. + Expression to verify. + Message to show if verification fails. + The mock instance. + Mocked type. + Type of the property to verify. Typically omitted as it can + be inferred from the expression's return type. + + + + Verifies that a property has been set on the mock, regardless + of the value but only the specified number of times. + + + This example assumes that the mock has been used, + and later we want to verify that a given invocation + with specific parameters was performed: + + var mock = new Mock<IWarehouse>(); + // exercise mock + //... + // Will throw if the test code didn't set the IsClosed property. + mock.VerifySet(warehouse => warehouse.IsClosed); + + + The invocation was not performed on the mock. + The invocation was not call the times specified by + . + The mock instance. + Mocked type. + The number of times a method is allowed to be called. + Expression to verify. + Type of the property to verify. Typically omitted as it can + be inferred from the expression's return type. + + + + Verifies that a property has been set on the mock, regardless + of the value but only the specified number of times, and specifying a failure + error message. + + + This example assumes that the mock has been used, + and later we want to verify that a given invocation + with specific parameters was performed: + + var mock = new Mock<IWarehouse>(); + // exercise mock + //... + // Will throw if the test code didn't set the IsClosed property. + mock.VerifySet(warehouse => warehouse.IsClosed); + + + The invocation was not performed on the mock. + The invocation was not call the times specified by + . + The mock instance. + Mocked type. + The number of times a method is allowed to be called. + Message to show if verification fails. + Expression to verify. + Type of the property to verify. Typically omitted as it can + be inferred from the expression's return type. + + + + Helper for sequencing return values in the same method. + + + + + Return a sequence of values, once per call. + + + + + Performs a sequence of actions, one per call. + + + + + Return a sequence of tasks, once per call. + + + + + Return a sequence of tasks, once per call. + + + + + Return a sequence of tasks, once per call. + + + + + Return a sequence of tasks, once per call. + + + + + Return a sequence of tasks, once per call. + + + + + Return a sequence of tasks, once per call. + + + + + Throws a sequence of exceptions, once per call. + + + + + Throws a sequence of exceptions, once per call. + + + + + Throws a sequence of exceptions, once per call. + + + + + Throws a sequence of exceptions, once per call. + + + + + Allocation-free adapter type for treating a `ParameterInfo[]` array like a `Type[]` array. + + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + + Looks up a localized string similar to Mock type has already been initialized by accessing its Object property. Adding interfaces must be done before that.. + + + + + Looks up a localized string similar to Value cannot be an empty string.. + + + + + Looks up a localized string similar to Matcher '{0}' is unmatchable: An implicit conversion operator will convert arguments of type '{1}' to the parameter's type '{2}', which is assignment-incompatible.. + + + + + Looks up a localized string similar to Can only add interfaces to the mock.. + + + + + Looks up a localized string similar to CallBase cannot be used with Delegate mocks.. + + + + + Looks up a localized string similar to Can't set return value for void method {0}.. + + + + + Looks up a localized string similar to Constructor arguments cannot be passed for delegate mocks.. + + + + + Looks up a localized string similar to Constructor arguments cannot be passed for interface mocks.. + + + + + Looks up a localized string similar to A matching constructor for the given arguments was not found on the mocked type.. + + + + + Looks up a localized string similar to Delays have to be greater than zero to ensure an async callback is used.. + + + + + Looks up a localized string similar to Expression {0} involves a field access, which is not supported. Use properties instead.. + + + + + Looks up a localized string similar to Invalid callback. This overload of the "Callback" method only accepts "void" (C#) or "Sub" (VB.NET) delegates with parameter types matching those of the set up method.. + + + + + Looks up a localized string similar to Invalid callback. Setup on method with {0} parameter(s) cannot invoke callback with different number of parameters ({1}).. + + + + + Looks up a localized string similar to Invalid callback. Setup on method with parameters ({0}) cannot invoke callback with parameters ({1}).. + + + + + Looks up a localized string similar to Invalid callback. Setup on method with return type '{0}' cannot invoke callback with return type '{1}'.. + + + + + Looks up a localized string similar to Cannot retrieve a mock with the given object type {0} as it's not the main type of the mock or any of its additional interfaces. + Please cast the argument to one of the supported types: {1}. + Remember that there's no generics covariance in the CLR, so your object must be one of these types in order for the call to succeed.. + + + + + Looks up a localized string similar to Invalid callback. This overload of the "Returns" method only accepts non-"void" (C#) or "Function" (VB.NET) delegates with parameter types matching those of the set up method.. + + + + + Looks up a localized string similar to The return type of the last member shown above is not mockable.. + + + + + Looks up a localized string similar to The equals ("==" or "=" in VB) and the conditional 'and' ("&&" or "AndAlso" in VB) operators are the only ones supported in the query specification expression. Unsupported expression: {0}. + + + + + Looks up a localized string similar to LINQ method '{0}' not supported.. + + + + + Looks up a localized string similar to Expression contains a call to a method which is not virtual (overridable in VB) or abstract. Unsupported expression: {0}. + + + + + Looks up a localized string similar to Could not determine the correct positions for all argument matchers ({0} in total) used in a call to this method: {1}. + This could be caused by an unrecognized type conversion, coercion, narrowing, or widening, and is most likely a bug in Moq. Please report your use case to the Moq team.. + + + + + Looks up a localized string similar to Member {0}.{1} does not exist.. + + + + + Looks up a localized string similar to Method {0}.{1} is public. Use strong-typed Expect overload instead: + mock.Setup(x => x.{1}()); + . + + + + + Looks up a localized string similar to No protected method {0}.{1} found whose signature is compatible with the provided arguments ({2}).. + + + + + Looks up a localized string similar to Cannot set up {0}.{1} because it is not accessible to the proxy generator used by Moq: + {2}. + + + + + Looks up a localized string similar to Minimum delay has to be lower than maximum delay.. + + + + + Looks up a localized string similar to {0} invocation failed with mock behavior {1}. + {2}. + + + + + Looks up a localized string similar to The next member after the last one shown above is non-virtual, sealed, or not visible to the proxy factory.. + + + + + Looks up a localized string similar to No constructor call could be found.. + + + + + Looks up a localized string similar to No invocations performed.. + + + + + Looks up a localized string similar to Expected invocation on the mock at least {0} times, but was {2} times: . + + + + + Looks up a localized string similar to Expected invocation on the mock at least once, but was never performed: . + + + + + Looks up a localized string similar to Expected invocation on the mock at most {1} times, but was {2} times: . + + + + + Looks up a localized string similar to Expected invocation on the mock at most once, but was {2} times: . + + + + + Looks up a localized string similar to Expected invocation on the mock between {0} and {1} times (Exclusive), but was {2} times: . + + + + + Looks up a localized string similar to Expected invocation on the mock between {0} and {1} times (Inclusive), but was {2} times: . + + + + + Looks up a localized string similar to Expected invocation on the mock exactly {0} times, but was {2} times: . + + + + + Looks up a localized string similar to Expected invocation on the mock should never have been performed, but was {2} times: . + + + + + Looks up a localized string similar to Expected invocation on the mock once, but was {2} times: . + + + + + Looks up a localized string similar to All invocations on the mock must have a corresponding setup.. + + + + + Looks up a localized string similar to Object instance was not created by Moq.. + + + + + Looks up a localized string similar to Out expression must evaluate to a constant value.. + + + + + Looks up a localized string similar to Performed invocations:. + + + + + Looks up a localized string similar to Property {0}.{1} does not have a getter.. + + + + + Looks up a localized string similar to Property {0}.{1} does not have a setter.. + + + + + Looks up a localized string similar to Type {0} does not have matching protected member: {1}. + + + + + Looks up a localized string similar to Ref expression must evaluate to a constant value.. + + + + + Looks up a localized string similar to Invocation needs to return a value and therefore must have a corresponding setup that provides it.. + + + + + Looks up a localized string similar to Expression is not an event add: {0}. + + + + + Looks up a localized string similar to Expression is not an event remove: {0}. + + + + + Looks up a localized string similar to Expression is not a property access: {0}. + + + + + Looks up a localized string similar to Expression is not a setter: {0}. + + + + + Looks up a localized string similar to Type {0} does not have a default (public parameterless) constructor.. + + + + + Looks up a localized string similar to Type {0} does not implement required interface {1}. + + + + + Looks up a localized string similar to Type to mock ({0}) must be an interface, a delegate, or a non-sealed, non-static class.. + + + + + Looks up a localized string similar to To specify a setup for public property {0}.{1}, use the typed overloads, such as: + mock.Setup(x => x.{1}).Returns(value); + mock.SetupGet(x => x.{1}).Returns(value); //equivalent to previous one + mock.SetupSet(x => x.{1}).Callback(callbackDelegate); + . + + + + + Looks up a localized string similar to Unexpected translation of a member access: {0}. + + + + + Looks up a localized string similar to Unhandled binding type: {0}. + + + + + Looks up a localized string similar to Unhandled expression type: {0}. + + + + + Looks up a localized string similar to {0}: + This setup was not matched.. + + + + + Looks up a localized string similar to Unsupported expression: {0}. + + + + + Looks up a localized string similar to Unsupported expression: {0} + {1}. + + + + + Looks up a localized string similar to Extension methods (here: {0}) may not be used in setup / verification expressions.. + + + + + Looks up a localized string similar to Member {0} is not supported for protected mocking.. + + + + + Looks up a localized string similar to Non-overridable members (here: {0}) may not be used in setup / verification expressions.. + + + + + Looks up a localized string similar to Static members (here: {0}) may not be used in setup / verification expressions.. + + + + + Looks up a localized string similar to {0}: + This mock failed verification due to the following unverified invocations:. + + + + + Looks up a localized string similar to Use ItExpr.IsNull<TValue> rather than a null argument value, as it prevents proper method lookup.. + + + + + Looks up a localized string similar to It is impossible to call the provided strongly-typed predicate due to the use of a type matcher. Provide a weakly-typed predicate with two parameters (object, Type) instead.. + + + + + Looks up a localized string similar to {0}:. + + + + + Looks up a localized string similar to {0}: + This mock failed verification due to the following:. + + + + + Looks up a localized string similar to The mock repository failed verification due to the following:. + + + + + Allows setups to be specified for protected members (methods and properties) + seen through another type with corresponding members (that is, members + having identical signatures as the ones to be set up). + + Type of the mocked object. + + Any type with members whose signatures are identical to the mock's protected members (except for their accessibility level). + + + + + Specifies a setup on the mocked type for a call to a method. + + Lambda expression that specifies the expected method invocation. + + + + + Specifies a setup on the mocked type for a call to a value-returning method. + + Type of the return value. Typically omitted as it can be inferred from the expression. + Lambda expression that specifies the expected method invocation. + + + + + Specifies a setup on the mocked type for a call to a property getter. + + Type of the property. Typically omitted as it can be inferred from the expression. + Lambda expression that specifies the property getter. + + + + Specifies that the given property should have "property behavior", + meaning that setting its value will cause it to be saved and later returned when the property is requested. + (This is also known as "stubbing".) + + Type of the property. Typically omitted as it can be inferred from the expression. + Lambda expression that specifies the property. + Initial value for the property. + + + + Return a sequence of values, once per call. + + Type of the return value. Typically omitted as it can be inferred from the expression. + Lambda expression that specifies the expected method invocation. + + + + Performs a sequence of actions, one per call. + + Lambda expression that specifies the expected method invocation. + + + + Verifies that a specific invocation matching the given expression was performed on the mock. + Use in conjunction with the default . + + Lambda expression that specifies the method invocation. + + Number of times that the invocation is expected to have occurred. + If omitted, assumed to be . + + Message to include in the thrown if verification fails. + The specified invocation did not occur (or did not occur the specified number of times). + + + + Verifies that a specific invocation matching the given expression was performed on the mock. + Use in conjunction with the default . + + Type of the return value. Typically omitted as it can be inferred from the expression. + Lambda expression that specifies the method invocation. + + Number of times that the invocation is expected to have occurred. + If omitted, assumed to be . + + Message to include in the thrown if verification fails. + The specified invocation did not occur (or did not occur the specified number of times). + + + + Verifies that a property was read on the mock. + + Type of the property. Typically omitted as it can be inferred from the expression. + Lambda expression that specifies the method invocation. + + Number of times that the invocation is expected to have occurred. + If omitted, assumed to be . + + Message to include in the thrown if verification fails. + The specified invocation did not occur (or did not occur the specified number of times). + + + + Allows setups to be specified for protected members by using their + name as a string, rather than strong-typing them which is not possible + due to their visibility. + + + + + Set up protected members (methods and properties) seen through another type with identical member signatures. + + + Any type with members whose signatures are identical to the mock's protected members (except for their accessibility level). + + + + + Specifies a setup for a void method invocation with the given + , optionally specifying arguments for the method call. + + The name of the void method to be invoked. + The optional arguments for the invocation. If argument matchers are used, + remember to use rather than . + + + + Specifies a setup for a void method invocation with the given + , optionally specifying arguments for the method call. + + The name of the void method to be invoked. + Should the parameter types match exactly types that were provided + The optional arguments for the invocation. If argument matchers are used, + remember to use rather than . + + + + Specifies a setup for a void method invocation with the given + , optionally specifying arguments for the method call. + + The name of the void method to be invoked. + An array of types to be substituted for the type parameters of the current generic method definition. + Should the parameter types match exactly types that were provided + The optional arguments for the invocation. If argument matchers are used, + remember to use rather than . + + + + Specifies a setup for an invocation on a property or a non void method with the given + , optionally specifying arguments for the method call. + + The name of the method or property to be invoked. + The optional arguments for the invocation. If argument matchers are used, + remember to use rather than . + The return type of the method or property. + + + + Specifies a setup for an invocation on a property or a non void method with the given + , optionally specifying arguments for the method call. + + The name of the method or property to be invoked. + The optional arguments for the invocation. If argument matchers are used, + remember to use rather than . + Should the parameter types match exactly types that were provided + The return type of the method or property. + + + + Specifies a setup for an invocation on a property or a non void method with the given + , optionally specifying arguments for the method call. + + The name of the method or property to be invoked. + An array of types to be substituted for the type parameters of the current generic method definition. + The optional arguments for the invocation. If argument matchers are used, + remember to use rather than . + Should the parameter types match exactly types that were provided + The return type of the method or property. + + + + Specifies a setup for an invocation on a property getter with the given + . + + The name of the property. + The type of the property. + + + + Specifies a setup for an invocation on a property setter with the given + . + + The name of the property. + The property value. If argument matchers are used, + remember to use rather than . + The type of the property. + + + + Performs a sequence of actions, one per call. + + Name of the method or property being set up. + The optional arguments for the invocation. If argument matchers are used, + remember to use rather than . + + + + Performs a sequence of actions, one per call. + + Name of the method or property being set up. + Determines whether the parameter types should exactly match the types provided. + The optional arguments for the invocation. If argument matchers are used, + remember to use rather than . + + + + Performs a sequence of actions, one per call. + + Name of the method or property being set up. + An array of types to be substituted for the type parameters of the current generic method definition. + Determines whether the parameter types should exactly match the types provided. + The optional arguments for the invocation. If argument matchers are used, + remember to use rather than . + + + + Return a sequence of values, once per call. + + Name of the method or property being set up. + The optional arguments for the invocation. If argument matchers are used, + remember to use rather than . + Return type of the method or property being set up. + + + + Return a sequence of values, once per call. + + Name of the method or property being set up. + Determines whether the parameter types should exactly match the types provided. + The optional arguments for the invocation. If argument matchers are used, + remember to use rather than . + Return type of the method or property being set up. + + + + Return a sequence of values, once per call. + + Name of the method or property being set up. + An array of types to be substituted for the type parameters of the current generic method definition. + Determines whether the parameter types should exactly match the types provided. + The optional arguments for the invocation. If argument matchers are used, + remember to use rather than . + Return type of the method or property being set up. + + + + Specifies a verify for a void method with the given , + optionally specifying arguments for the method call. Use in conjunction with the default + . + + The invocation was not call the times specified by + . + The name of the void method to be verified. + The number of times a method is allowed to be called. + The optional arguments for the invocation. If argument matchers are used, + remember to use rather than . + + + + Specifies a verify for a void method with the given , + optionally specifying arguments for the method call. Use in conjunction with the default + . + + The invocation was not call the times specified by + . + The name of the void method to be verified. + An array of types to be substituted for the type parameters of the current generic method definition. + The number of times a method is allowed to be called. + The optional arguments for the invocation. If argument matchers are used, + remember to use rather than . + + + + Specifies a verify for a void method with the given , + optionally specifying arguments for the method call. Use in conjunction with the default + . + + The invocation was not call the times specified by + . + The name of the void method to be verified. + The number of times a method is allowed to be called. + Should the parameter types match exactly types that were provided + The optional arguments for the invocation. If argument matchers are used, + remember to use rather than . + + + + Specifies a verify for a void method with the given , + optionally specifying arguments for the method call. Use in conjunction with the default + . + + The invocation was not call the times specified by + . + The name of the void method to be verified. + An array of types to be substituted for the type parameters of the current generic method definition. + The number of times a method is allowed to be called. + Should the parameter types match exactly types that were provided + The optional arguments for the invocation. If argument matchers are used, + remember to use rather than . + + + + Specifies a verify for an invocation on a property or a non void method with the given + , optionally specifying arguments for the method call. + + The invocation was not call the times specified by + . + The name of the method or property to be invoked. + The optional arguments for the invocation. If argument matchers are used, + remember to use rather than . + The number of times a method is allowed to be called. + The type of return value from the expression. + + + + Specifies a verify for an invocation on a property or a non void method with the given + , optionally specifying arguments for the method call. + + The invocation was not call the times specified by + . + The name of the method or property to be invoked. + An array of types to be substituted for the type parameters of the current generic method definition. + The optional arguments for the invocation. If argument matchers are used, + remember to use rather than . + The number of times a method is allowed to be called. + The type of return value from the expression. + + + + Specifies a verify for an invocation on a property or a non void method with the given + , optionally specifying arguments for the method call. + + The invocation was not call the times specified by + . + The name of the method or property to be invoked. + Should the parameter types match exactly types that were provided + The optional arguments for the invocation. If argument matchers are used, + remember to use rather than . + The number of times a method is allowed to be called. + The type of return value from the expression. + + + + Specifies a verify for an invocation on a property or a non void method with the given + , optionally specifying arguments for the method call. + + The invocation was not call the times specified by + . + The name of the method or property to be invoked. + An array of types to be substituted for the type parameters of the current generic method definition. + Should the parameter types match exactly types that were provided + The optional arguments for the invocation. If argument matchers are used, + remember to use rather than . + The number of times a method is allowed to be called. + The type of return value from the expression. + + + + Specifies a verify for an invocation on a property getter with the given + . + The invocation was not call the times specified by + . + + The name of the property. + The number of times a method is allowed to be called. + The type of the property. + + + + Specifies a setup for an invocation on a property setter with the given + . + + The invocation was not call the times specified by + . + The name of the property. + The number of times a method is allowed to be called. + The property value. + The type of the property. If argument matchers are used, + remember to use rather than . + + + + Allows the specification of a matching condition for an + argument in a protected member setup, rather than a specific + argument value. "ItExpr" refers to the argument being matched. + + + Use this variant of argument matching instead of + for protected setups. + This class allows the setup to match a method invocation + with an arbitrary value, with a value in a specified range, or + even one that matches a given predicate, or null. + + + + + Contains matchers for (C#) / (VB.NET) parameters of type . + + The parameter type. + + + + Matches any value that is assignment-compatible with type . + + + + + + Matches a null value of the given type. + + + Required for protected mocks as the null value cannot be used + directly as it prevents proper method overload selection. + + + + // Throws an exception for a call to Remove with a null string value. + mock.Protected() + .Setup("Remove", ItExpr.IsNull<string>()) + .Throws(new InvalidOperationException()); + + + Type of the value. + + + + Matches any value of the given type. + + + Typically used when the actual argument value for a method + call is not relevant. + + + + // Throws an exception for a call to Remove with any string value. + mock.Protected() + .Setup("Remove", ItExpr.IsAny<string>()) + .Throws(new InvalidOperationException()); + + + Type of the value. + + + + Matches any value that satisfies the given predicate. + + Type of the argument to check. + The predicate used to match the method argument. + + Allows the specification of a predicate to perform matching + of method call arguments. + + + This example shows how to return the value 1 whenever the argument to the + Do method is an even number. + + mock.Protected() + .Setup("Do", ItExpr.Is<int>(i => i % 2 == 0)) + .Returns(1); + + This example shows how to throw an exception if the argument to the + method is a negative number: + + mock.Protected() + .Setup("GetUser", ItExpr.Is<int>(i => i < 0)) + .Throws(new ArgumentException()); + + + + + + Matches any value that is in the range specified. + + Type of the argument to check. + The lower bound of the range. + The upper bound of the range. + The kind of range. See . + + The following example shows how to expect a method call + with an integer argument within the 0..100 range. + + mock.Protected() + .Setup("HasInventory", + ItExpr.IsAny<string>(), + ItExpr.IsInRange(0, 100, Range.Inclusive)) + .Returns(false); + + + + + + Matches a string argument if it matches the given regular expression pattern. + + The pattern to use to match the string argument value. + + The following example shows how to expect a call to a method where the + string argument matches the given regular expression: + + mock.Protected() + .Setup("Check", ItExpr.IsRegex("[a-z]+")) + .Returns(1); + + + + + + Matches a string argument if it matches the given regular expression pattern. + + The pattern to use to match the string argument value. + The options used to interpret the pattern. + + The following example shows how to expect a call to a method where the + string argument matches the given regular expression, in a case insensitive way: + + mock.Protected() + .Setup("Check", ItExpr.IsRegex("[a-z]+", RegexOptions.IgnoreCase)) + .Returns(1); + + + + + + used to replace occurrences of `TAnalog.Member` sub-expressions with `T.Member`. + + + + + Enables the Protected() method on , + allowing setups to be set for protected members by using their + name as a string, rather than strong-typing them which is not possible + due to their visibility. + + + + + Enable protected setups for the mock. + + Mocked object type. Typically omitted as it can be inferred from the mock instance. + The mock to set the protected setups on. + + + + An implementation of that is based on Castle DynamicProxy. + + + + + + + + This hook tells Castle DynamicProxy to proxy the default methods it suggests, + plus some of the methods defined by , e.g. so we can intercept + and give mocks useful default names. + + + + Do not use. (Moq requires this class so that methods can be set up on interface mocks.) + + + + + + + + + + + + Do not use. (Moq requires this interface so that methods can be set up on interface mocks.) + + + + + + + Gets the global instance used by Moq. + + + + + Kind of range to use in a filter specified through + . + + + + + The range includes the to and + from values. + + + + + The range does not include the to and + from values. + + + + + Defines async extension methods on IReturns. + + + + + Specifies the value to return from an asynchronous method. + + Mocked type. + Type of the return value. + Returns verb which represents the mocked type and the task of return type + The value to return, or . + + + + Specifies the value to return from an asynchronous method. + + Mocked type. + Type of the return value. + Returns verb which represents the mocked type and the task of return type + The value to return, or . + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Mocked type. + Type of the return value. + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Mocked type. + Type of the return value. + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Specifies the exception to throw when the asynchronous method is invoked. + + Mocked type. + Returns verb which represents the mocked type and the task return type + Exception instance to throw. + + + + Specifies the exception to throw when the asynchronous method is invoked. + + Mocked type. + Type of the return value. + Returns verb which represents the mocked type and the task of return type + Exception instance to throw. + + + + Specifies the exception to throw when the asynchronous method is invoked. + + Mocked type. + Type of the return value. + Returns verb which represents the mocked type and the task of return type + Exception instance to throw. + + + + Allows to specify the delayed return value of an asynchronous method. + + + + + Allows to specify the delayed return value of an asynchronous method. + + + + + Allows to specify the delayed return value of an asynchronous method. + + + + + Allows to specify the delayed return value of an asynchronous method. + + + + + Allows to specify the delayed return value of an asynchronous method. + Use the argument to pass in (seeded) random generators used across your unit test. + + + + + Allows to specify the delayed return value of an asynchronous method. + Use the argument to pass in (seeded) random generators used across your unit test. + + + + + Allows to specify the exception thrown by an asynchronous method. + + + + + Allows to specify the exception thrown by an asynchronous method. + + + + + Allows to specify the exception thrown by an asynchronous method. + + + + + Allows to specify the exception thrown by an asynchronous method. + + + + + Allows to specify the exception thrown by an asynchronous method. + Use the argument to pass in (seeded) random generators used across your unit test. + + + + + Allows to specify the exception thrown by an asynchronous method. + Use the argument to pass in (seeded) random generators used across your unit test. + + + + + Defines async extension methods on IReturns. + + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Type of the function parameter. + Mocked type. + Type of the return value. + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Type of the function parameter. + Mocked type. + Type of the return value. + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Programmable setup used by . + + + + + Attempts to get this setup's return value without invoking user code + (which could have side effects beyond Moq's understanding and control). + + + + + Verifies this setup and those of its inner mock (if present and known). + + + Specifies whether recursive verification should be performed. + + + Specifies which setups should be verified. + + + The set of mocks that have already been verified. + + + This setup or any of its inner mock (if present and known) failed verification. + + + + + Setup used by for property getters. + + + + + Setup used by for property setters. + + + + + Represents a switch, or a combination of switches, that can be either enabled or disabled. + When set via or , they determine how a mock will operate. + + + + + The default set of switches. The switches covered by this enumeration value may change between different versions of Moq. + + + + + When enabled, specifies that source file information should be collected for each setup. + This results in more helpful error messages, but may affect performance. + + + + + Defines the number of invocations allowed by a mocked method. + + + + Deconstructs this instance. + This output parameter will receive the minimum required number of calls satisfying this instance (i.e. the lower inclusive bound). + This output parameter will receive the maximum allowed number of calls satisfying this instance (i.e. the upper inclusive bound). + + + + Specifies that a mocked method should be invoked times + as minimum. + + The minimum number of times. + An object defining the allowed number of invocations. + + + + Specifies that a mocked method should be invoked one time as minimum. + + An object defining the allowed number of invocations. + + + + Specifies that a mocked method should be invoked times + as maximum. + + The maximum number of times. + An object defining the allowed number of invocations. + + + + Specifies that a mocked method should be invoked one time as maximum. + + An object defining the allowed number of invocations. + + + + Specifies that a mocked method should be invoked between + and times. + + The minimum number of times. + The maximum number of times. + The kind of range. See . + An object defining the allowed number of invocations. + + + + Specifies that a mocked method should be invoked exactly + times. + + The times that a method or property can be called. + An object defining the allowed number of invocations. + + + + Specifies that a mocked method should not be invoked. + + An object defining the allowed number of invocations. + + + + Specifies that a mocked method should be invoked exactly one time. + + An object defining the allowed number of invocations. + + + + Returns a value indicating whether this instance is equal to a specified value. + + A value to compare to this instance. + + if has the same value as this instance; + otherwise, . + + + + + Returns a value indicating whether this instance is equal to a specified value. + + An object to compare to this instance. + + if has the same value as this instance; + otherwise, . + + + + + 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. + + + + + Determines whether two specified objects have the same value. + + The first . + The second . + + if has the same value as ; + otherwise, . + + + + + Determines whether two specified objects have different values. + + The first . + The second . + + if the value of is different from + 's; otherwise, . + + + + + + + + Checks whether the specified number of invocations matches the constraint described by this instance. + + The number of invocations to check. + + if matches the constraint described by this instance; + otherwise, . + + + + + Marks a type as a type matcher, optionally specifying another type that will perform the matching. + + Type matchers preferably implement themselves. Use the parameterized form of this attribute + where this is not possible, such as when the type matcher needs to be a or + type in order to satisfy generic type constraints of the method where it is used. + + + + + + Initializes a new instance of the class. + + Use this constructor overload if the type on which this attribute is placed implements itself. + + + + + + Initializes a new instance of the class. + + Use this constructor overload if the type on which this attribute is placed does not implement . + The specified type will instead provide the implementation of . + + + The of a type that implements . + + + + Interface that is used to build fluent interfaces by hiding methods declared by from IntelliSense. + + + Code that consumes implementations of this interface should expect one of two things: + + When referencing the interface from within the same solution (project reference), you will still see the methods this interface is meant to hide. + When referencing the interface through the compiled output assembly (external reference), the standard Object methods will be hidden as intended. + When using Resharper, be sure to configure it to respect the attribute: Options, go to Environment | IntelliSense | Completion Appearance and check "Filter members by [EditorBrowsable] attribute". + + See https://kzu.github.io/IFluentInterface for more information. + + + + + + Redeclaration that hides the method from IntelliSense. + + + + + Redeclaration that hides the method from IntelliSense. + + + + + Redeclaration that hides the method from IntelliSense. + + + + + Redeclaration that hides the method from IntelliSense. + + + + + Contains the two extension methods + and + . + + + + + Appends a string representation of the specified type to this instance. + + The instance to which to append. + The of which a string representation should be appended. + Any combination of formatting options that should be applied. (Optional.) + A reference to this instance after the append operation has completed. + + + + Gets a string representation of this instance. + + The of which a string representation is requested. + Any combination of formatting options that should be applied. (Optional.) + A string representation of this instance. + + + + Replacement for + which may be slow or even unavailable on earlier target frameworks. + + + + + Allows uniform reflection across all target frameworks. + + + + + Allows uniform reflection across all target frameworks. + + + + + Allows uniform reflection across all target frameworks. + + + + + Allows uniform reflection across all target frameworks. + + + + + An enumeration of available options when a name's string representation is requested. + + + + + The default type name formatting options. + + + + + Specifies that a type's namespace should be included. + + For example, the type is formatted as "Action" by default. + When this flag is specified, it will be formatted as "System.Action". + + + + + + Specifies that anonymous types should not be transformed to C#-like syntax. + + For example, the anonymous type of "new { Name = "Blob", Count = 17 }" is formatted as + "{string Name, int Count}" by default. When this flag is specified, it will be formatted as + the raw "display class" name, which looks something like "<>f__AnonymousType5<string, int>". + + + + + + Specifies that an open generic type's parameter names should be omitted. + + For example, the open generic type is formatted as "IEquatable<T>" by default. + When this flag is specified, it will be formatted as "IEquatable<>". + + + + + + Specifies that primitive types should not be mapped to their corresponding C# language keywords. + + For example, the type is formatted as "int" by default. + When this flag is specified, it will be formatted as "Int32". + + + + + + Specifies that nullable types should not be simplified to C# question mark syntax. + + For example, the type of is formatted as "int?" by default. + When this flag is specified, it will be formatted as "Nullable<int>". + + + + + + Specifies that value tuple types should not be transformed to C# tuple syntax. + + For example, the type of , + is formatted as "(bool, int)" by default. When this flag is specified, + it will be formatted as "ValueTuple<bool, int>". + + + + + diff --git a/src/packages/Moq.4.16.1/lib/netstandard2.1/Moq.xml b/src/packages/Moq.4.16.1/lib/netstandard2.1/Moq.xml new file mode 100644 index 0000000..1c1eeac --- /dev/null +++ b/src/packages/Moq.4.16.1/lib/netstandard2.1/Moq.xml @@ -0,0 +1,7827 @@ + + + + Moq + + + + + is a kind of that works by + applying a delegate to a light-weight proxy that records the invocation + happening to it, and auto-generates the same kind of recording proxy for its return value. + That way, a chain of invocation records is generated from which a LINQ expression tree can be + reconstructed. + + + + + Recursively gets the result of (i.e. "unwraps") completed awaitables + until a value is found that isn't a successfully completed awaitable. + + + As an example, given := Task.FromResult(Task.FromResult(42)), + this method will return 42. + + The (possibly awaitable) object to be "unwrapped". + + + + Abstract base class that facilitates type-safe implementation of + for awaitables that do not produce a result when awaited. + + + + + Abstract base class that facilitates type-safe implementation of + for awaitables that produce a result when awaited. + + + + + Allows to create parameter captures in setup expressions. + + + + + Creates a parameter capture that will store values in a collection. + + The captured object type + The collection that will store captured parameter values + + Arrange code: + + var parameters = new List{string}(); + mock.Setup(x => x.DoSomething(Capture.In(parameters))); + + Assert code: + + Assert.Equal("Hello!", parameters.Single()); + + + + + + Creates a parameter capture that will store specific values in a collection. + + The captured object type + The collection that will store captured parameter values + A predicate used to filter captured parameters + + Arrange code: + + var parameters = new List{string}(); + mock.Setup(x => x.DoSomething(Capture.In(parameters, p => p.StartsWith("W")))); + + Assert code: + + Assert.Equal("Hello!", parameters.Single()); + + + + + + Creates a parameter capture using specified . + + The captured object type + + Arrange code: + + var capturedValue = string.Empty; + var match = new CaptureMatch{string}(x => capturedValue = x); + mock.Setup(x => x.DoSomething(Capture.With(match))); + + Assert code: + + Assert.Equal("Hello!", capturedValue); + + + + + + Allows creation custom matchers that can be used on setups to capture parameter values. + + + + + + Initializes an instance of the capture match. + + An action to run on captured value + + + + Initializes an instance of the capture match. + + An action to run on captured value + A predicate used to filter captured parameters + + + + Determines the way default values are generated + calculated for loose mocks. + + + + + Default behavior, which generates empty values for + value types (i.e. default(int)), empty array and + enumerables, and nulls for all other reference types. + + + + + Whenever the default value generated by + is null, replaces this value with a mock (if the type + can be mocked). + + + For sealed classes, a null value will be generated. + + + + + + All default value generation strategies other than or + are represented by this enumeration value. + + + Do not set (nor ) to this value. + If you want to set up a custom default value generation strategy, set + or instead. + + + + + + + + is the abstract base class for default value providers. + These are responsible for producing e. g. return values when mock methods or properties get invoked unexpectedly. + In other words, whenever there is no setup that would determine the return value for a particular invocation, + Moq asks the mock's default value provider to produce a return value. + + + + + Gets the corresponding to ; + that is, a default value provider returning "empty" values e. g. for collection types. + + + + + Gets the corresponding to ; + that is, a default value provider returning mocked objects or "empty" values for unmockable types. + + + + + Initializes a new instance of the class. + + + + + Gets the enumeration value that corresponds to this default value provider. + Must be overridden by Moq's internal providers that have their own corresponding . + + + + + Produces a default value of the specified type. + Must be overridden in derived classes. + + The of the requested default value. + The on which an unexpected invocation has occurred. + + Implementations may assume that all parameters have valid, non-, non- values. + + + + + + Produces a default argument value for the specified method parameter. + May be overridden in derived classes. + + + By default, this method will delegate to . + + + The describing the method parameter for which a default argument value should be produced. + The on which an unexpected invocation has occurred. + + Implementations may assume that all parameters have valid, non-, non- values. + + + + + + Produces a default return value for the specified method. + May be overridden in derived classes. + + + By default, this method will delegate to . + + + The describing the method for which a default return value should be produced. + The on which an unexpected invocation has occurred. + + Implementations may assume that all parameters have valid, non-, non- values. + + + + + A that returns an empty default value + for invocations that do not have setups or return values, with loose mocks. + This is the default behavior for a mock. + + + + + Provides partial evaluation of subtrees, whenever they can be evaluated locally. + + Matt Warren: http://blogs.msdn.com/mattwar + Documented by InSTEDD: http://www.instedd.org + + + + Performs evaluation and replacement of independent sub-trees + + The root of the expression tree. + A function that decides whether a given expression + node can be part of the local function. + A new tree with sub-trees evaluated and replaced. + + + + Performs evaluation and replacement of independent sub-trees + + The root of the expression tree. + A new tree with sub-trees evaluated and replaced. + + + + Evaluates and replaces sub-trees when first candidate is reached (top-down) + + + + + Performs bottom-up analysis to determine which nodes can possibly + be part of an evaluated sub-tree. + + + + + An compiles LINQ expression trees () to delegates. + Whenever Moq needs to compile an expression tree, it uses the instance set up by . + + + + + The default instance, which simply delegates to the framework's . + + + + + Gets or sets the instance that Moq uses to compile (LINQ expression trees). + Defaults to . + + + + + Initializes a new instance of the class. + + + + + Compiles the specified LINQ expression tree. + + The LINQ expression tree that should be compiled. + + + + Compiles the specified LINQ expression tree. + + The type of delegate to which the expression will be compiled. + The LINQ expression tree that should be compiled. + + + + Wraps this in a node if needed. + + The which should be wrapped. + The with which to make the compatible. + + LINQ expression trees generally enforce type compatibility rules that are stricter than + the assignment-compatibility used by e.g. . For + example, while is assignable-to , you + will need a conversion in a LINQ expression tree to model the value-type boxing operation. + + + + + Checks whether the given expression can be split by . + + + + + Splits an expression such as `m => m.A.B(x).C[y] = z` into a chain of parts + that can be set up one at a time: + + `m => m.A`, + `... => ....B(x)`, + `... => ....C`, + `... => ...[y] = z`. + + + The split points are chosen such that each part has exactly one associated + and optionally some argument expressions. + + + + It was not possible to completely split up the expression. + + + + + Converts the body of the lambda expression into the referenced by it. + + + + + Checks whether the body of the lambda expression is a property access. + + + + + Checks whether the body of the lambda expression is a indexer access. + + + + + TODO: remove this code when https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=331583 + is fixed. + + + + + Applies the specified to this expression tree. + + The to which should be applied. + The that should be applied to . + + + + A reconstructs LINQ expression trees () + from delegates. It is the counterpart to . + + + + + Reconstructs a from the given delegate. + + The delegate for which to reconstruct a LINQ expression tree. + Arguments to pass to a parameterized constructor of . (Optional.) + + + + Extracts the arguments from a lambda expression that calls a constructor. + + The constructor expression. + Extracted argument values. + + + + Evaluates variables that have been closed over by a lambda function. + + + + + Replaces nodes for property or indexer accessor methods + with equivalent nodes. + + + + In the case of getter accessors such as `x.get_Property()`, the result will be + a single node: `x.Property`. + + + In the case of setter accessors such as `x.set_Property(y)`, the result will be + a combination of and : + `x.Property = y`. + + + + + + + + Gets the default value for the specified type. This is the Reflection counterpart of C#'s operator. + + + + + Gets the least-derived in the given type that provides + the implementation for the given . + + + + + Gets whether the given is a delegate type. + + + + + Visits all constituent parts of , replacing all type matchers + that match the type argument at the corresponding position in . + + The type to be matched. May be, or contain, type matchers. + The type argument to match against . + + + + Ensures the given is not null. + Throws otherwise. + + + + + Ensures the given string is not null or empty. + Throws in the first case, or + in the latter. + + + + + Provides information about an invocation of a mock object. + + + + + Gets the method of the invocation. + + + + + Gets the arguments of the invocation. + + + + + Gets the setup that matched this invocation (or if there was no matching setup). + + + + + Gets whether this invocation was successfully verified by any of the various `Verify` methods. + + + + + The value being returned for a non-void method if no exception was thrown. + + + + + Optional exception if the method invocation results in an exception being thrown. + + + + + A list of invocations which have been performed on a mock. + + + + + Resets all invocations recorded for this mock. + + + + + Covariant interface for such that casts between IMock<Employee> to IMock<Person> + are possible. Only covers the covariant members of . + + + + + Exposes the mocked object instance. + + + + + Behavior of the mock, according to the value set in the constructor. + + + + + Whether the base member virtual implementation will be called for mocked classes if no setup is matched. + Defaults to . + + + + + Specifies the behavior to use when returning default values for unexpected invocations on loose mocks. + + + + + Implemented by all generated mock object instances. + + + + + Reference the Mock that contains this as the mock.Object value. + + + + + Implemented by all generated mock object instances. + + + + + Reference the Mock that contains this as the mock.Object value. + + + + + This role interface represents a 's ability to intercept method invocations for its . + It is meant for use by . + + + + + Base class for mocks and static helper class with methods that apply to mocked objects, + such as to retrieve a from an object instance. + + + + + Creates a mock object of the indicated type. + + The type of the mocked object. + The mocked object created. + + + + Creates a mock object of the indicated type. + + Behavior of the mock. + The type of the mocked object. + The mocked object created. + + + + Creates a mock object of the indicated type. + + The predicate with the specification of how the mocked object should behave. + The type of the mocked object. + The mocked object created. + + + + Creates a mock object of the indicated type. + + The predicate with the specification of how the mocked object should behave. + Behavior of the mock. + The type of the mocked object. + The mocked object created. + + + + Initializes a new instance of the class. + + + + + Retrieves the mock object for the given object instance. + + The instance of the mocked object. + + Type of the mock to retrieve. + Can be omitted as it's inferred from the object instance passed in as the instance. + + The mock associated with the mocked object. + The received instance was not created by Moq. + + The following example shows how to add a new setup to an object instance + which is not the original but rather the object associated with it: + + // Typed instance, not the mock, is retrieved from some test API. + HttpContextBase context = GetMockContext(); + + // context.Request is the typed object from the "real" API + // so in order to add a setup to it, we need to get + // the mock that "owns" it + Mock<HttpRequestBase> request = Mock.Get(context.Request); + + request.Setup(req => req.AppRelativeCurrentExecutionFilePath) + .Returns(tempUrl); + + + + + + Verifies that all verifiable expectations have been met. + + Not all verifiable expectations were met. + + + + Verifies all expectations regardless of whether they have been flagged as verifiable. + + At least one expectation was not met. + + + + Gets the interfaces additionally implemented by the mock object. + + + This list may be modified by calls to up until the first call to . + + + + + Behavior of the mock, according to the value set in the constructor. + + + + + Whether the base member virtual implementation will be called for mocked classes if no setup is matched. + Defaults to . + + + + + Specifies the behavior to use when returning default values for unexpected invocations on loose mocks. + + + + + Gets the mocked object instance. + + + + + Gets the interfaces directly inherited from the mocked type (). + + + + + Gets list of invocations which have been performed on this mock. + + + + + Returns the mocked object value. + + + + + Retrieves the type of the mocked object, its generic type argument. + This is used in the auto-mocking of hierarchy access. + + + + + Gets or sets the instance that will be used + e. g. to produce default return values for unexpected invocations. + + + + + The used to initialize automatically stubbed properties. + It is equal to the value of at the time when + was last called. + + + + + Gets the setups that have been configured on this mock, + in chronological order (that is, oldest setup first, most recent setup last). + + + + + A set of switches that influence how this mock will operate. + You can opt in or out of certain features via this property. + + + + + Verifies that all verifiable expectations have been met. + + Not all verifiable expectations were met. + + This example sets up an expectation and marks it as verifiable. + After the mock is used, a Verify() call is issued on the mock + to ensure the method in the setup was invoked: + + var mock = new Mock<IWarehouse>(); + this.Setup(x => x.HasInventory(TALISKER, 50)) + .Returns(true) + .Verifiable(); + + ... + + // Will throw if the test code did not call HasInventory. + this.Verify(); + + + + + + Verifies all expectations regardless of whether they have been flagged as verifiable. + + At least one expectation was not met. + + This example sets up an expectation without marking it as verifiable. + After the mock is used, a call is issued on the mock + to ensure that all expectations are met: + + var mock = new Mock<IWarehouse>(); + this.Setup(x => x.HasInventory(TALISKER, 50)) + .Returns(true); + + ... + + // Will throw if the test code did not call HasInventory, + // even though that expectation was not marked as verifiable. + mock.VerifyAll(); + + + + + + Adds an interface implementation to the mock, allowing setups to be specified for it. + + + This method can only be called before the first use of the mock property, + at which point the runtime type has already been generated and no more interfaces can be added to it. + + Also, must be an interface and not a class, + which must be specified when creating the mock instead. + + + Type of interface to cast the mock to. + The specified is not an interface. + + The mock type has already been generated by accessing the property. + + + + + Defines the default return value for all mocked methods or properties with return type . + + The return type for which to define a default value. + The default return value. + + Default return value is respected only when there is no matching setup for a method call. + + + + + Initializes a new instance of the class. + + The of the concrete proxy object on which a method is being invoked. + The method being invoked. + The arguments with which the specified is being invoked. + + + + Gets the method of the invocation. + + + + + Gets the arguments of the invocation. + + + Arguments may be modified. Derived classes must ensure that by-reference parameters are written back + when the invocation is ended by a call to any of the three Returns methods. + + + + + Calls the method implementation + and returns its return value (or for methods). + + + + + + + + Internal type to mark invocation results as "exception occurred during execution". The type just + wraps the Exception so a thrown exception can be distinguished from an + return value. + + + + + A delegate-like type for use with `setup.Callback` which instructs the `Callback` verb + to provide the callback with the current , instead of + with a list of arguments. + + This type is useful in scenarios involving generic type argument matchers (such as + ) as allows the discovery of both + arguments and type arguments. + + + + + + Initializes a new instance of the type. + + The delegate that should be wrapped by this instance. + + + + A delegate-like type for use with `setup.Returns` which instructs the `Returns` verb + to provide the callback with the current , instead of + with a list of arguments. + + This type is useful in scenarios involving generic type argument matchers (such as + ) as allows the discovery of both + arguments and type arguments. + + + + + + Initializes a new instance of the type. + + The delegate that should be wrapped by this instance. + + + + Describes the "shape" of an invocation against which concrete s can be matched. + + This shape is described by which has the general form + `mock => mock.Method(...arguments)`. Because the method and arguments are frequently needed, + they are cached in and + for faster access. + + + + + + A setup configured on a mock. + + + + + + The setup expression. + + + + + Gets the inner mock of this setup (if present and known). + + An "inner mock" is the instance associated with a setup's return value, + if that setup is configured to return a mock object. + + + This property will be if a setup either does not return a mock object, + or if Moq cannot safely determine its return value without risking any side effects. For instance, + Moq is able to inspect the return value if it is a constant (e.g. `.Returns(value)`); + if, on the other hand, it gets computed by a factory function (e.g. `.Returns(() => value)`), + Moq will not attempt to retrieve that value just to find the inner mock, + since calling a user-provided function could have effects beyond Moq's understanding and control. + + + + + + Gets whether this setup is conditional. + + + + + + Gets whether this setup was matched by at least one invocation on the mock. + + + + + Gets whether this setup has been overridden + (that is, whether it is being shadowed by a more recent non-conditional setup with an equal expression). + + + + + Gets whether this setup is "verifiable". + + + This property gets sets by the `.Verifiable()` setup verb. + + Note that setups can be verified even if this property is : + completely ignores this property. + , however, will only verify setups where this property is . + + + + + + Returns the instance to which this setup belongs. + + + + + Returns the original setup expression from which this setup resulted. + + For setups doing a simple member access or method invocation (such as `mock => mock.Member`), + this property will be equal to . + + + For setups whose expression involves member chaining (such as `parent => parent.Child.Member`), + Moq does not create a single setup, but one for each member access/invocation. + The example just given will result in two setups: + + a setup for `parent => parent.Child` on the parent mock; and + on its inner mock, a setup for `(child) => (child).Member`. + + These are the setups that will be put in the mocks' collections; + their will return the partial expression for just a single member access, + while their will return the original, full expression. + + + This property may also return if this setup was created automatically, + e.g. by or by . + + + + + + Verifies this setup and optionally all verifiable setups of its inner mock (if present and known). + + If is set to , + the semantics of this method are essentially the same as those of , + except that this setup (instead of a mock) is used as the starting point for verification, + and will always be verified itself (even if not flagged as verifiable). + + + + Specifies whether recursive verification should be performed. + + + Verification failed due to one or more unmatched setups. + + + + + + + Verifies this setup and all setups of its inner mock (if present and known), + regardless of whether they have been flagged as verifiable. + + The semantics of this method are essentially the same as those of , + except that this setup (instead of a mock) is used as the starting point for verification. + + + + Verification failed due to one or more unmatched setups. + + + + + + + A list of setups that have been configured on a mock, + in chronological order (that is, oldest setup first, most recent setup last). + + + + + Allows the specification of a matching condition for an argument in a method invocation, + rather than a specific argument value. "It" refers to the argument being matched. + + + This class allows the setup to match a method invocation with an arbitrary value, + with a value in a specified range, or even one that matches a given predicate. + + + + + Contains matchers for (C#) / (VB.NET) parameters of type . + + The parameter type. + + + + Matches any value that is assignment-compatible with type . + + + + + Matches any value of the given type. + + Type of the value. + + Typically used when the actual argument value for a method call is not relevant. + + + + // Throws an exception for a call to Remove with any string value. + mock.Setup(x => x.Remove(It.IsAny<string>())).Throws(new InvalidOperationException()); + + + + + + A type matcher that matches any generic type argument. + + If the generic type parameter is constrained to (C#) / + (VB.NET), use instead. + + + If the generic type parameter has more specific constraints, + you can define your own type matcher inheriting from the type to which the type parameter is constrained. + See and . + + + + + + Matches any value of the given type, except null. + + Type of the value. + + + + Matches any value that satisfies the given predicate. + + The predicate used to match the method argument. + Type of the argument to check. + + Allows the specification of a predicate to perform matching of method call arguments. + + + This example shows how to return the value 1 whenever the argument to + the Do method is an even number. + + mock.Setup(x => x.Do(It.Is<int>(i => i % 2 == 0))) + .Returns(1); + + + + This example shows how to throw an exception if the argument to the method + is a negative number: + + mock.Setup(x => x.GetUser(It.Is<int>(i => i < 0))) + .Throws(new ArgumentException()); + + + + + + Matches any value that satisfies the given predicate. + + Use this overload when you specify a type matcher for . + The callback you provide will then receive the actual parameter type + as well as the invocation argument. + + + The predicate used to match the method argument. + Type of the argument to check. + + Allows the specification of a predicate to perform matching of method call arguments. + + + + + Matches any value that equals the using the . + To use the default comparer for the specified object, specify the value inline, + i.e. mock.Verify(service => service.DoWork(value)). + + Use this overload when you specify a value and a comparer. + + + The value to match with. + An with which the values should be compared. + Type of the argument to check. + + + + Matches any value that is in the range specified. + + The lower bound of the range. + The upper bound of the range. + The kind of range. See . + Type of the argument to check. + + The following example shows how to expect a method call with an integer argument + within the 0..100 range. + + mock.Setup(x => x.HasInventory( + It.IsAny<string>(), + It.IsInRange(0, 100, Range.Inclusive))) + .Returns(false); + + + + + + Matches any value that is present in the sequence specified. + + The sequence of possible values. + Type of the argument to check. + + The following example shows how to expect a method call with an integer argument + with value from a list. + + var values = new List<int> { 1, 2, 3 }; + + mock.Setup(x => x.HasInventory( + It.IsAny<string>(), + It.IsIn(values))) + .Returns(false); + + + + + + Matches any value that is present in the sequence specified. + + The sequence of possible values. + An with which the values should be compared. + Type of the argument to check. + + + + Matches any value that is present in the sequence specified. + + The sequence of possible values. + Type of the argument to check. + + The following example shows how to expect a method call with an integer argument + with a value of 1, 2, or 3. + + mock.Setup(x => x.HasInventory( + It.IsAny<string>(), + It.IsIn(1, 2, 3))) + .Returns(false); + + + + + + Matches any value that is not found in the sequence specified. + + The sequence of disallowed values. + Type of the argument to check. + + The following example shows how to expect a method call with an integer argument + with value not found from a list. + + var values = new List<int> { 1, 2, 3 }; + + mock.Setup(x => x.HasInventory( + It.IsAny<string>(), + It.IsNotIn(values))) + .Returns(false); + + + + + + Matches any value that is not found in the sequence specified. + + The sequence of disallowed values. + An with which the values should be compared. + Type of the argument to check. + + + + Matches any value that is not found in the sequence specified. + + The sequence of disallowed values. + Type of the argument to check. + + The following example shows how to expect a method call with an integer argument + of any value except 1, 2, or 3. + + mock.Setup(x => x.HasInventory( + It.IsAny<string>(), + It.IsNotIn(1, 2, 3))) + .Returns(false); + + + + + + Matches a string argument if it matches the given regular expression pattern. + + The pattern to use to match the string argument value. + + The following example shows how to expect a call to a method where the string argument + matches the given regular expression: + + mock.Setup(x => x.Check(It.IsRegex("[a-z]+"))) + .Returns(1); + + + + + + Matches a string argument if it matches the given regular expression pattern. + + The pattern to use to match the string argument value. + The options used to interpret the pattern. + + The following example shows how to expect a call to a method where the string argument + matches the given regular expression, in a case insensitive way: + + mock.Setup(x => x.Check(It.IsRegex("[a-z]+", RegexOptions.IgnoreCase))) + .Returns(1); + + + + + + A type matcher that matches subtypes of , as well as itself. + + The type whose subtypes should match. + + + + A type matcher that matches any value type. + + + + + Types that implement this interface represent a criterion against which generic type arguments are matched. + + To be used in combination with . + + + + + + Matches the provided type argument against the criterion represented by this type matcher. + + + The generic type argument that should be matched. + + + if the provided type argument matched the criterion represented by this instance; + otherwise, . + + + + + Implements the fluent API. + + + + + Implements the fluent API. + + + + + Implements the fluent API. + + + + + Implements the fluent API. + + + + + Implements the fluent API. + + + + + Implements the fluent API. + + + + + Implements the fluent API. + + + + + Implements the fluent API. + + + + + Implements the fluent API. + + + + + Implements the fluent API. + + + + + Defines the Callback verb and overloads. + + + + + Specifies a callback to invoke when the method is called that receives the original . + + This overload is intended to be used in scenarios involving generic type argument matchers + (such as ). The callback will receive the current , + which allows discovery of both arguments and type arguments. + + + For all other use cases, you should prefer the other Callback overloads as they provide + better static type safety. + + + + + Figure out the generic type argument used for a mocked method call: + mock.Setup(m => m.DoSomethingWith<It.IsAnyType>(...)) + .Callback(new InvocationAction(invocation => + { + var typeArgument = invocation.Method.GetGenericArguments()[0]; + // do something interesting with the type argument + }); + mock.Object.DoSomethingWith<Something>(); + + + + + + Specifies a callback of any delegate type to invoke when the method is called. + This overload specifically allows you to define callbacks for methods with by-ref parameters. + By-ref parameters can be assigned to. + + The callback method to invoke. Must have return type void (C#) or be a Sub (VB.NET). + + Invokes the given callback with the concrete invocation argument value. You can modify + by-ref parameters inside the callback. + + delegate void ExecuteAction(ref Command command); + + Command c = ...; + mock.Setup(x => x.Execute(ref c)) + .Callback(new ExecuteAction((ref Command command) => Console.WriteLine("Executing command..."))); + + + + + + Specifies a callback to invoke when the method is called. + + The callback method to invoke. + + The following example specifies a callback to set a boolean + value that can be used later: + + var called = false; + mock.Setup(x => x.Execute()) + .Callback(() => called = true); + + + + + + Specifies a callback to invoke when the method is called that receives the original arguments. + + The argument type of the invoked method. + The callback method to invoke. + + Invokes the given callback with the concrete invocation argument value. + + Notice how the specific string argument is retrieved by simply declaring + it as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute(It.IsAny<string>())) + .Callback((string command) => Console.WriteLine(command)); + + + + + + Specifies a callback to invoke when the method is called that receives the original arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((string arg1, string arg2) => Console.WriteLine(arg1 + arg2)); + + + + + + Specifies a callback to invoke when the method is called that receives the original arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((string arg1, string arg2, string arg3) => Console.WriteLine(arg1 + arg2 + arg3)); + + + + + + Specifies a callback to invoke when the method is called that receives the original arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((string arg1, string arg2, string arg3, string arg4) => Console.WriteLine(arg1 + arg2 + arg3 + arg4)); + + + + + + Specifies a callback to invoke when the method is called that receives the original arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((string arg1, string arg2, string arg3, string arg4, string arg5) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5)); + + + + + + Specifies a callback to invoke when the method is called that receives the original arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6)); + + + + + + Specifies a callback to invoke when the method is called that receives the original arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7)); + + + + + + Specifies a callback to invoke when the method is called that receives the original arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8)); + + + + + + Specifies a callback to invoke when the method is called that receives the original arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the ninth argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9)); + + + + + + Specifies a callback to invoke when the method is called that receives the original arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the ninth argument of the invoked method. + The type of the tenth argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10)); + + + + + + Specifies a callback to invoke when the method is called that receives the original arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the ninth argument of the invoked method. + The type of the tenth argument of the invoked method. + The type of the eleventh argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11)); + + + + + + Specifies a callback to invoke when the method is called that receives the original arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the ninth argument of the invoked method. + The type of the tenth argument of the invoked method. + The type of the eleventh argument of the invoked method. + The type of the twelfth argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12)); + + + + + + Specifies a callback to invoke when the method is called that receives the original arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the ninth argument of the invoked method. + The type of the tenth argument of the invoked method. + The type of the eleventh argument of the invoked method. + The type of the twelfth argument of the invoked method. + The type of the thirteenth argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12, string arg13) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13)); + + + + + + Specifies a callback to invoke when the method is called that receives the original arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the ninth argument of the invoked method. + The type of the tenth argument of the invoked method. + The type of the eleventh argument of the invoked method. + The type of the twelfth argument of the invoked method. + The type of the thirteenth argument of the invoked method. + The type of the fourteenth argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12, string arg13, string arg14) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13 + arg14)); + + + + + + Specifies a callback to invoke when the method is called that receives the original arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the ninth argument of the invoked method. + The type of the tenth argument of the invoked method. + The type of the eleventh argument of the invoked method. + The type of the twelfth argument of the invoked method. + The type of the thirteenth argument of the invoked method. + The type of the fourteenth argument of the invoked method. + The type of the fifteenth argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12, string arg13, string arg14, string arg15) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13 + arg14 + arg15)); + + + + + + Specifies a callback to invoke when the method is called that receives the original arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the ninth argument of the invoked method. + The type of the tenth argument of the invoked method. + The type of the eleventh argument of the invoked method. + The type of the twelfth argument of the invoked method. + The type of the thirteenth argument of the invoked method. + The type of the fourteenth argument of the invoked method. + The type of the fifteenth argument of the invoked method. + The type of the sixteenth argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12, string arg13, string arg14, string arg15, string arg16) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13 + arg14 + arg15 + arg16)); + + + + + + Defines the Callback verb and overloads for callbacks on + setups that return a value. + + Mocked type. + Type of the return value of the setup. + + + + Specifies a callback to invoke when the method is called that receives the original . + + This overload is intended to be used in scenarios involving generic type argument matchers + (such as ). The callback will receive the current , + which allows discovery of both arguments and type arguments. + + + For all other use cases, you should prefer the other Callback overloads as they provide + better static type safety. + + + + Figure out the generic type argument used for a mocked method call: + + mock.Setup(m => m.DoSomethingWith<It.IsAnyType>(...)) + .Callback(new InvocationAction(invocation => + { + var typeArgument = invocation.Method.GetGenericArguments()[0]; + // do something interesting with the type argument + }); + mock.Object.DoSomethingWith<Something>(); + + + + + + Specifies a callback of any delegate type to invoke when the method is called. + This overload specifically allows you to define callbacks for methods with by-ref parameters. + By-ref parameters can be assigned to. + + The callback method to invoke. Must have return type void (C#) or be a Sub (VB.NET). + + Invokes the given callback with the concrete invocation argument value. You can modify + by-ref parameters inside the callback. + + delegate void ExecuteAction(ref Command command); + + Command c = ...; + mock.Setup(x => x.Execute(ref c)) + .Callback(new ExecuteAction((ref Command command) => Console.WriteLine("Executing command..."))); + + + + + + Specifies a callback to invoke when the method is called. + + The callback method to invoke. + + The following example specifies a callback to set a boolean value that can be used later: + + var called = false; + mock.Setup(x => x.Execute()) + .Callback(() => called = true) + .Returns(true); + + Note that in the case of value-returning methods, after the Callback + call you can still specify the return value. + + + + + Specifies a callback to invoke when the method is called that receives the original arguments. + + The type of the argument of the invoked method. + Callback method to invoke. + + Invokes the given callback with the concrete invocation argument value. + + Notice how the specific string argument is retrieved by simply declaring + it as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute(It.IsAny<string>())) + .Callback(command => Console.WriteLine(command)) + .Returns(true); + + + + + + Specifies a callback to invoke when the method is called that receives the original + arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((arg1, arg2) => Console.WriteLine(arg1 + arg2)); + + + + + + Specifies a callback to invoke when the method is called that receives the original + arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((arg1, arg2, arg3) => Console.WriteLine(arg1 + arg2 + arg3)); + + + + + + Specifies a callback to invoke when the method is called that receives the original + arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((arg1, arg2, arg3, arg4) => Console.WriteLine(arg1 + arg2 + arg3 + arg4)); + + + + + + Specifies a callback to invoke when the method is called that receives the original + arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((arg1, arg2, arg3, arg4, arg5) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5)); + + + + + + Specifies a callback to invoke when the method is called that receives the original + arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((arg1, arg2, arg3, arg4, arg5, arg6) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6)); + + + + + + Specifies a callback to invoke when the method is called that receives the original + arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7)); + + + + + + Specifies a callback to invoke when the method is called that receives the original + arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8)); + + + + + + Specifies a callback to invoke when the method is called that receives the original + arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the ninth argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9)); + + + + + + Specifies a callback to invoke when the method is called that receives the original + arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the ninth argument of the invoked method. + The type of the tenth argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10)); + + + + + + Specifies a callback to invoke when the method is called that receives the original + arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the ninth argument of the invoked method. + The type of the tenth argument of the invoked method. + The type of the eleventh argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11)); + + + + + + Specifies a callback to invoke when the method is called that receives the original + arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the ninth argument of the invoked method. + The type of the tenth argument of the invoked method. + The type of the eleventh argument of the invoked method. + The type of the twelfth argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12)); + + + + + + Specifies a callback to invoke when the method is called that receives the original + arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the ninth argument of the invoked method. + The type of the tenth argument of the invoked method. + The type of the eleventh argument of the invoked method. + The type of the twelfth argument of the invoked method. + The type of the thirteenth argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13)); + + + + + + Specifies a callback to invoke when the method is called that receives the original + arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the ninth argument of the invoked method. + The type of the tenth argument of the invoked method. + The type of the eleventh argument of the invoked method. + The type of the twelfth argument of the invoked method. + The type of the thirteenth argument of the invoked method. + The type of the fourteenth argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13 + arg14)); + + + + + + Specifies a callback to invoke when the method is called that receives the original + arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the ninth argument of the invoked method. + The type of the tenth argument of the invoked method. + The type of the eleventh argument of the invoked method. + The type of the twelfth argument of the invoked method. + The type of the thirteenth argument of the invoked method. + The type of the fourteenth argument of the invoked method. + The type of the fifteenth argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13 + arg14 + arg15)); + + + + + + Specifies a callback to invoke when the method is called that receives the original + arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the ninth argument of the invoked method. + The type of the tenth argument of the invoked method. + The type of the eleventh argument of the invoked method. + The type of the twelfth argument of the invoked method. + The type of the thirteenth argument of the invoked method. + The type of the fourteenth argument of the invoked method. + The type of the fifteenth argument of the invoked method. + The type of the sixteenth argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13 + arg14 + arg15 + arg16)); + + + + + + Defines the Callback verb for property getter setups. + + + Mocked type. + Type of the property. + + + + Specifies a callback to invoke when the property is retrieved. + + Callback method to invoke. + + Invokes the given callback with the property value being set. + + mock.SetupGet(x => x.Suspended) + .Callback(() => called = true) + .Returns(true); + + + + + + Defines the Callback verb for property setter setups. + + Type of the property. + + + + Specifies a callback to invoke when the property is set that receives the + property value being set. + + Callback method to invoke. + + Invokes the given callback with the property value being set. + + mock.SetupSet(x => x.Suspended) + .Callback((bool state) => Console.WriteLine(state)); + + + + + + Defines the CallBase verb. + + + + + Calls the real method of the object. + + + + + Defines the Raises verb. + + + + + Specifies the event that will be raised + when the setup is met. + + An expression that represents an event attach or detach action. + The event arguments to pass for the raised event. + + The following example shows how to raise an event when + the setup is met: + + var mock = new Mock<IContainer>(); + + mock.Setup(add => add.Add(It.IsAny<string>(), It.IsAny<object>())) + .Raises(add => add.Added += null, EventArgs.Empty); + + + + + + Specifies the event that will be raised + when the setup is matched. + + An expression that represents an event attach or detach action. + A function that will build the + to pass when raising the event. + + + + + Specifies the custom event that will be raised + when the setup is matched. + + An expression that represents an event attach or detach action. + The arguments to pass to the custom delegate (non EventHandler-compatible). + + + + Specifies the event that will be raised when the setup is matched. + + The expression that represents an event attach or detach action. + The function that will build the + to pass when raising the event. + The type of the first argument received by the expected invocation. + + + + + Specifies the event that will be raised when the setup is matched. + + The expression that represents an event attach or detach action. + The function that will build the + to pass when raising the event. + The type of the first argument received by the expected invocation. + The type of the second argument received by the expected invocation. + + + + + Specifies the event that will be raised when the setup is matched. + + The expression that represents an event attach or detach action. + The function that will build the + to pass when raising the event. + The type of the first argument received by the expected invocation. + The type of the second argument received by the expected invocation. + The type of the third argument received by the expected invocation. + + + + + Specifies the event that will be raised when the setup is matched. + + The expression that represents an event attach or detach action. + The function that will build the + to pass when raising the event. + The type of the first argument received by the expected invocation. + The type of the second argument received by the expected invocation. + The type of the third argument received by the expected invocation. + The type of the fourth argument received by the expected invocation. + + + + + Specifies the event that will be raised when the setup is matched. + + The expression that represents an event attach or detach action. + The function that will build the + to pass when raising the event. + The type of the first argument received by the expected invocation. + The type of the second argument received by the expected invocation. + The type of the third argument received by the expected invocation. + The type of the fourth argument received by the expected invocation. + The type of the fifth argument received by the expected invocation. + + + + + Specifies the event that will be raised when the setup is matched. + + The expression that represents an event attach or detach action. + The function that will build the + to pass when raising the event. + The type of the first argument received by the expected invocation. + The type of the second argument received by the expected invocation. + The type of the third argument received by the expected invocation. + The type of the fourth argument received by the expected invocation. + The type of the fifth argument received by the expected invocation. + The type of the sixth argument received by the expected invocation. + + + + + Specifies the event that will be raised when the setup is matched. + + The expression that represents an event attach or detach action. + The function that will build the + to pass when raising the event. + The type of the first argument received by the expected invocation. + The type of the second argument received by the expected invocation. + The type of the third argument received by the expected invocation. + The type of the fourth argument received by the expected invocation. + The type of the fifth argument received by the expected invocation. + The type of the sixth argument received by the expected invocation. + The type of the seventh argument received by the expected invocation. + + + + + Specifies the event that will be raised when the setup is matched. + + The expression that represents an event attach or detach action. + The function that will build the + to pass when raising the event. + The type of the first argument received by the expected invocation. + The type of the second argument received by the expected invocation. + The type of the third argument received by the expected invocation. + The type of the fourth argument received by the expected invocation. + The type of the fifth argument received by the expected invocation. + The type of the sixth argument received by the expected invocation. + The type of the seventh argument received by the expected invocation. + The type of the eighth argument received by the expected invocation. + + + + + Specifies the event that will be raised when the setup is matched. + + The expression that represents an event attach or detach action. + The function that will build the + to pass when raising the event. + The type of the first argument received by the expected invocation. + The type of the second argument received by the expected invocation. + The type of the third argument received by the expected invocation. + The type of the fourth argument received by the expected invocation. + The type of the fifth argument received by the expected invocation. + The type of the sixth argument received by the expected invocation. + The type of the seventh argument received by the expected invocation. + The type of the eighth argument received by the expected invocation. + The type of the ninth argument received by the expected invocation. + + + + + Specifies the event that will be raised when the setup is matched. + + The expression that represents an event attach or detach action. + The function that will build the + to pass when raising the event. + The type of the first argument received by the expected invocation. + The type of the second argument received by the expected invocation. + The type of the third argument received by the expected invocation. + The type of the fourth argument received by the expected invocation. + The type of the fifth argument received by the expected invocation. + The type of the sixth argument received by the expected invocation. + The type of the seventh argument received by the expected invocation. + The type of the eighth argument received by the expected invocation. + The type of the ninth argument received by the expected invocation. + The type of the tenth argument received by the expected invocation. + + + + + Specifies the event that will be raised when the setup is matched. + + The expression that represents an event attach or detach action. + The function that will build the + to pass when raising the event. + The type of the first argument received by the expected invocation. + The type of the second argument received by the expected invocation. + The type of the third argument received by the expected invocation. + The type of the fourth argument received by the expected invocation. + The type of the fifth argument received by the expected invocation. + The type of the sixth argument received by the expected invocation. + The type of the seventh argument received by the expected invocation. + The type of the eighth argument received by the expected invocation. + The type of the ninth argument received by the expected invocation. + The type of the tenth argument received by the expected invocation. + The type of the eleventh argument received by the expected invocation. + + + + + Specifies the event that will be raised when the setup is matched. + + The expression that represents an event attach or detach action. + The function that will build the + to pass when raising the event. + The type of the first argument received by the expected invocation. + The type of the second argument received by the expected invocation. + The type of the third argument received by the expected invocation. + The type of the fourth argument received by the expected invocation. + The type of the fifth argument received by the expected invocation. + The type of the sixth argument received by the expected invocation. + The type of the seventh argument received by the expected invocation. + The type of the eighth argument received by the expected invocation. + The type of the ninth argument received by the expected invocation. + The type of the tenth argument received by the expected invocation. + The type of the eleventh argument received by the expected invocation. + The type of the twelfth argument received by the expected invocation. + + + + + Specifies the event that will be raised when the setup is matched. + + The expression that represents an event attach or detach action. + The function that will build the + to pass when raising the event. + The type of the first argument received by the expected invocation. + The type of the second argument received by the expected invocation. + The type of the third argument received by the expected invocation. + The type of the fourth argument received by the expected invocation. + The type of the fifth argument received by the expected invocation. + The type of the sixth argument received by the expected invocation. + The type of the seventh argument received by the expected invocation. + The type of the eighth argument received by the expected invocation. + The type of the ninth argument received by the expected invocation. + The type of the tenth argument received by the expected invocation. + The type of the eleventh argument received by the expected invocation. + The type of the twelfth argument received by the expected invocation. + The type of the thirteenth argument received by the expected invocation. + + + + + Specifies the event that will be raised when the setup is matched. + + The expression that represents an event attach or detach action. + The function that will build the + to pass when raising the event. + The type of the first argument received by the expected invocation. + The type of the second argument received by the expected invocation. + The type of the third argument received by the expected invocation. + The type of the fourth argument received by the expected invocation. + The type of the fifth argument received by the expected invocation. + The type of the sixth argument received by the expected invocation. + The type of the seventh argument received by the expected invocation. + The type of the eighth argument received by the expected invocation. + The type of the ninth argument received by the expected invocation. + The type of the tenth argument received by the expected invocation. + The type of the eleventh argument received by the expected invocation. + The type of the twelfth argument received by the expected invocation. + The type of the thirteenth argument received by the expected invocation. + The type of the fourteenth argument received by the expected invocation. + + + + + Specifies the event that will be raised when the setup is matched. + + The expression that represents an event attach or detach action. + The function that will build the + to pass when raising the event. + The type of the first argument received by the expected invocation. + The type of the second argument received by the expected invocation. + The type of the third argument received by the expected invocation. + The type of the fourth argument received by the expected invocation. + The type of the fifth argument received by the expected invocation. + The type of the sixth argument received by the expected invocation. + The type of the seventh argument received by the expected invocation. + The type of the eighth argument received by the expected invocation. + The type of the ninth argument received by the expected invocation. + The type of the tenth argument received by the expected invocation. + The type of the eleventh argument received by the expected invocation. + The type of the twelfth argument received by the expected invocation. + The type of the thirteenth argument received by the expected invocation. + The type of the fourteenth argument received by the expected invocation. + The type of the fifteenth argument received by the expected invocation. + + + + + Specifies the event that will be raised when the setup is matched. + + The expression that represents an event attach or detach action. + The function that will build the + to pass when raising the event. + The type of the first argument received by the expected invocation. + The type of the second argument received by the expected invocation. + The type of the third argument received by the expected invocation. + The type of the fourth argument received by the expected invocation. + The type of the fifth argument received by the expected invocation. + The type of the sixth argument received by the expected invocation. + The type of the seventh argument received by the expected invocation. + The type of the eighth argument received by the expected invocation. + The type of the ninth argument received by the expected invocation. + The type of the tenth argument received by the expected invocation. + The type of the eleventh argument received by the expected invocation. + The type of the twelfth argument received by the expected invocation. + The type of the thirteenth argument received by the expected invocation. + The type of the fourteenth argument received by the expected invocation. + The type of the fifteenth argument received by the expected invocation. + The type of the sixteenth argument received by the expected invocation. + + + + + Defines the Returns verb. + + Mocked type. + Type of the return value from the expression. + + + + Specifies the value to return. + + The value to return, or . + + Return a true value from the method call: + + mock.Setup(x => x.Execute("ping")) + .Returns(true); + + + + + + Specifies a function that will calculate the value to return from the method. + + This overload is intended to be used in scenarios involving generic type argument matchers, + such as . The function will receive the current , + which allows discovery of both arguments and type arguments. + + + For all other use cases, you should prefer the other Returns overloads as they provide + better static type safety. + + + + Mock a method to act like a generic factory method: + + factory.Setup(m => m.Create<It.IsAnyType>()) + .Returns(new InvocationFunc(invocation => + { + var typeArgument = invocation.Method.GetGenericArguments()[0]; + return Activator.CreateInstance(typeArgument); + }); + var something = factory.Object.Create<Something>(); + + + + + + Specifies a function that will calculate the value to return from the method. + This overload specifically allows you to specify a function with by-ref parameters. + Those by-ref parameters can be assigned to (though you should probably do that from + a Callback instead). + + The function that will calculate the return value. + + Return a calculated value when the method is called: + + delegate bool ExecuteFunc(ref Command command); + + Command c = ...; + mock.Setup(x => x.Execute(ref c)) + .Returns(new ExecuteFunc((ref Command command) => command.IsExecutable)); + + + + + + Specifies a function that will calculate the value to return from the method. + + The function that will calculate the return value. + + Return a calculated value when the method is called: + + mock.Setup(x => x.Execute("ping")) + .Returns(() => returnValues[0]); + + The lambda expression to retrieve the return value is lazy-executed, + meaning that its value may change depending on the moment the method + is executed and the value the returnValues array has at + that moment. + + + + + Specifies a function that will calculate the value to return from the method, + retrieving the arguments for the invocation. + + The type of the argument of the invoked method. + The function that will calculate the return value. + + Return a calculated value which is evaluated lazily at the time of the invocation. + + The lookup list can change between invocations and the setup + will return different values accordingly. Also, notice how the specific + string argument is retrieved by simply declaring it as part of the lambda + expression: + + + mock.Setup(x => x.Execute(It.IsAny<string>())) + .Returns((string command) => returnValues[command]); + + + + + + Calls the real method of the object and returns its return value. + + The value calculated by the real method of the object. + + + + Specifies a function that will calculate the value to return from the method, + retrieving the arguments for the invocation. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The function that will calculate the return value. + Returns a calculated value which is evaluated lazily at the time of the invocation. + + + The return value is calculated from the value of the actual method invocation arguments. + Notice how the arguments are retrieved by simply declaring them as part of the lambda + expression: + + + mock.Setup(x => x.Execute( + It.IsAny<int>(), + It.IsAny<int>())) + .Returns((string arg1, string arg2) => arg1 + arg2); + + + + + + Specifies a function that will calculate the value to return from the method, + retrieving the arguments for the invocation. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The function that will calculate the return value. + Returns a calculated value which is evaluated lazily at the time of the invocation. + + + The return value is calculated from the value of the actual method invocation arguments. + Notice how the arguments are retrieved by simply declaring them as part of the lambda + expression: + + + mock.Setup(x => x.Execute( + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>())) + .Returns((string arg1, string arg2, string arg3) => arg1 + arg2 + arg3); + + + + + + Specifies a function that will calculate the value to return from the method, + retrieving the arguments for the invocation. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The function that will calculate the return value. + Returns a calculated value which is evaluated lazily at the time of the invocation. + + + The return value is calculated from the value of the actual method invocation arguments. + Notice how the arguments are retrieved by simply declaring them as part of the lambda + expression: + + + mock.Setup(x => x.Execute( + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>())) + .Returns((string arg1, string arg2, string arg3, string arg4) => arg1 + arg2 + arg3 + arg4); + + + + + + Specifies a function that will calculate the value to return from the method, + retrieving the arguments for the invocation. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The function that will calculate the return value. + Returns a calculated value which is evaluated lazily at the time of the invocation. + + + The return value is calculated from the value of the actual method invocation arguments. + Notice how the arguments are retrieved by simply declaring them as part of the lambda + expression: + + + mock.Setup(x => x.Execute( + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>())) + .Returns((string arg1, string arg2, string arg3, string arg4, string arg5) => arg1 + arg2 + arg3 + arg4 + arg5); + + + + + + Specifies a function that will calculate the value to return from the method, + retrieving the arguments for the invocation. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The function that will calculate the return value. + Returns a calculated value which is evaluated lazily at the time of the invocation. + + + The return value is calculated from the value of the actual method invocation arguments. + Notice how the arguments are retrieved by simply declaring them as part of the lambda + expression: + + + mock.Setup(x => x.Execute( + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>())) + .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6); + + + + + + Specifies a function that will calculate the value to return from the method, + retrieving the arguments for the invocation. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The function that will calculate the return value. + Returns a calculated value which is evaluated lazily at the time of the invocation. + + + The return value is calculated from the value of the actual method invocation arguments. + Notice how the arguments are retrieved by simply declaring them as part of the lambda + expression: + + + mock.Setup(x => x.Execute( + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>())) + .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7); + + + + + + Specifies a function that will calculate the value to return from the method, + retrieving the arguments for the invocation. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The function that will calculate the return value. + Returns a calculated value which is evaluated lazily at the time of the invocation. + + + The return value is calculated from the value of the actual method invocation arguments. + Notice how the arguments are retrieved by simply declaring them as part of the lambda + expression: + + + mock.Setup(x => x.Execute( + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>())) + .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8); + + + + + + Specifies a function that will calculate the value to return from the method, + retrieving the arguments for the invocation. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the ninth argument of the invoked method. + The function that will calculate the return value. + Returns a calculated value which is evaluated lazily at the time of the invocation. + + + The return value is calculated from the value of the actual method invocation arguments. + Notice how the arguments are retrieved by simply declaring them as part of the lambda + expression: + + + mock.Setup(x => x.Execute( + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>())) + .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9); + + + + + + Specifies a function that will calculate the value to return from the method, + retrieving the arguments for the invocation. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the ninth argument of the invoked method. + The type of the tenth argument of the invoked method. + The function that will calculate the return value. + Returns a calculated value which is evaluated lazily at the time of the invocation. + + + The return value is calculated from the value of the actual method invocation arguments. + Notice how the arguments are retrieved by simply declaring them as part of the lambda + expression: + + + mock.Setup(x => x.Execute( + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>())) + .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10); + + + + + + Specifies a function that will calculate the value to return from the method, + retrieving the arguments for the invocation. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the ninth argument of the invoked method. + The type of the tenth argument of the invoked method. + The type of the eleventh argument of the invoked method. + The function that will calculate the return value. + Returns a calculated value which is evaluated lazily at the time of the invocation. + + + The return value is calculated from the value of the actual method invocation arguments. + Notice how the arguments are retrieved by simply declaring them as part of the lambda + expression: + + + mock.Setup(x => x.Execute( + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>())) + .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11); + + + + + + Specifies a function that will calculate the value to return from the method, + retrieving the arguments for the invocation. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the ninth argument of the invoked method. + The type of the tenth argument of the invoked method. + The type of the eleventh argument of the invoked method. + The type of the twelfth argument of the invoked method. + The function that will calculate the return value. + Returns a calculated value which is evaluated lazily at the time of the invocation. + + + The return value is calculated from the value of the actual method invocation arguments. + Notice how the arguments are retrieved by simply declaring them as part of the lambda + expression: + + + mock.Setup(x => x.Execute( + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>())) + .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12); + + + + + + Specifies a function that will calculate the value to return from the method, + retrieving the arguments for the invocation. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the ninth argument of the invoked method. + The type of the tenth argument of the invoked method. + The type of the eleventh argument of the invoked method. + The type of the twelfth argument of the invoked method. + The type of the thirteenth argument of the invoked method. + The function that will calculate the return value. + Returns a calculated value which is evaluated lazily at the time of the invocation. + + + The return value is calculated from the value of the actual method invocation arguments. + Notice how the arguments are retrieved by simply declaring them as part of the lambda + expression: + + + mock.Setup(x => x.Execute( + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>())) + .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12, string arg13) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13); + + + + + + Specifies a function that will calculate the value to return from the method, + retrieving the arguments for the invocation. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the ninth argument of the invoked method. + The type of the tenth argument of the invoked method. + The type of the eleventh argument of the invoked method. + The type of the twelfth argument of the invoked method. + The type of the thirteenth argument of the invoked method. + The type of the fourteenth argument of the invoked method. + The function that will calculate the return value. + Returns a calculated value which is evaluated lazily at the time of the invocation. + + + The return value is calculated from the value of the actual method invocation arguments. + Notice how the arguments are retrieved by simply declaring them as part of the lambda + expression: + + + mock.Setup(x => x.Execute( + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>())) + .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12, string arg13, string arg14) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13 + arg14); + + + + + + Specifies a function that will calculate the value to return from the method, + retrieving the arguments for the invocation. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the ninth argument of the invoked method. + The type of the tenth argument of the invoked method. + The type of the eleventh argument of the invoked method. + The type of the twelfth argument of the invoked method. + The type of the thirteenth argument of the invoked method. + The type of the fourteenth argument of the invoked method. + The type of the fifteenth argument of the invoked method. + The function that will calculate the return value. + Returns a calculated value which is evaluated lazily at the time of the invocation. + + + The return value is calculated from the value of the actual method invocation arguments. + Notice how the arguments are retrieved by simply declaring them as part of the lambda + expression: + + + mock.Setup(x => x.Execute( + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>())) + .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12, string arg13, string arg14, string arg15) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13 + arg14 + arg15); + + + + + + Specifies a function that will calculate the value to return from the method, + retrieving the arguments for the invocation. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the ninth argument of the invoked method. + The type of the tenth argument of the invoked method. + The type of the eleventh argument of the invoked method. + The type of the twelfth argument of the invoked method. + The type of the thirteenth argument of the invoked method. + The type of the fourteenth argument of the invoked method. + The type of the fifteenth argument of the invoked method. + The type of the sixteenth argument of the invoked method. + The function that will calculate the return value. + Returns a calculated value which is evaluated lazily at the time of the invocation. + + + The return value is calculated from the value of the actual method invocation arguments. + Notice how the arguments are retrieved by simply declaring them as part of the lambda + expression: + + + mock.Setup(x => x.Execute( + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>())) + .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12, string arg13, string arg14, string arg15, string arg16) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13 + arg14 + arg15 + arg16); + + + + + + Defines the Returns verb for property get setups. + + Mocked type. + Type of the property. + + + + Specifies the value to return. + + The value to return, or . + + Return a true value from the property getter call: + + mock.SetupGet(x => x.Suspended) + .Returns(true); + + + + + + Specifies a function that will calculate the value to return for the property. + + The function that will calculate the return value. + + Return a calculated value when the property is retrieved: + + mock.SetupGet(x => x.Suspended) + .Returns(() => returnValues[0]); + + The lambda expression to retrieve the return value is lazy-executed, + meaning that its value may change depending on the moment the property + is retrieved and the value the returnValues array has at + that moment. + + + + + Calls the real property of the object and returns its return value. + + The value calculated by the real property of the object. + + + + Implements the fluent API. + + + + + The expectation will be considered only in the former condition. + + + + + + + The expectation will be considered only in the former condition. + + + + + + + + Setups the get. + + The type of the property. + The expression. + + + + + Setups the set. + + The type of the property. + The setter expression. + + + + + Setups the set. + + The setter expression. + + + + + Defines the Pass and Throws verbs for sequence setups + on void methods. + + + + + Configures the next call in the sequence to do nothing. + + + The following code configures the first call to Execute() + to do nothing, and the second call to throw an exception. + + mock.SetupSequence(m => m.Execute()) + .Pass() + .Throws<InvalidOperationException>(); + + + + + + Configures the next call in the sequence to throw an exception. + + + The following code configures the first call to Execute() + to do nothing, and the second call to throw an exception. + + mock.SetupSequence(m => m.Execute()) + .Pass() + .Throws<InvalidOperationException>(); + + + + + + Configures the next call in the sequence to throw an exception. + + + The following code configures the first call to Execute() + to do nothing, and the second call to throw an exception. + + mock.SetupSequence(m => m.Execute()) + .Pass() + .Throws(new InvalidOperationException()); + + + + + + Language for ReturnSequence + + + + + Returns value + + + + + Uses delegate to get return value + + The function that will calculate the return value. + + + + Throws an exception + + + + + Throws an exception + + + + + Calls original method + + + + + Defines the Throws verb. + + + + + Specifies the exception to throw when the method is invoked. + + Exception instance to throw. + + This example shows how to throw an exception when the method is + invoked with an empty string argument: + + mock.Setup(x => x.Execute("")) + .Throws(new ArgumentException()); + + + + + + Specifies the type of exception to throw when the method is invoked. + + Type of exception to instantiate and throw when the setup is matched. + + This example shows how to throw an exception when the method is + invoked with an empty string argument: + + mock.Setup(x => x.Execute("")) + .Throws<ArgumentException>(); + + + + + + Defines the Verifiable verb. + + + + + Marks the expectation as verifiable, meaning that a call + to will check if this particular + expectation was met. + + + The following example marks the expectation as verifiable: + + mock.Expect(x => x.Execute("ping")) + .Returns(true) + .Verifiable(); + + + + + + Marks the expectation as verifiable, meaning that a call + to will check if this particular + expectation was met, and specifies a message for failures. + + + The following example marks the expectation as verifiable: + + mock.Expect(x => x.Execute("ping")) + .Returns(true) + .Verifiable("Ping should be executed always!"); + + + + + + Defines occurrence members to constraint setups. + + + + + The expected invocation can happen at most once. + + + + var mock = new Mock<ICommand>(); + mock.Setup(foo => foo.Execute("ping")) + .AtMostOnce(); + + + + + + The expected invocation can happen at most specified number of times. + + The number of times to accept calls. + + + var mock = new Mock<ICommand>(); + mock.Setup(foo => foo.Execute("ping")) + .AtMost( 5 ); + + + + + + A default implementation of IQueryable for use with QueryProvider + + + + + Converts a taken-apart binary expression such as `m.A.B` (==) `x` to + `Mocks.SetupReturns(Mock.Get(m), m' => m'.A.B, (object)x)`. + + Body of the expression to set up. + Return value to be configured for . + + + + Locates the root mock object in a setup expression (which is usually, but not always, a ), + stores a reference to it, and finally replaces it with a new . + + + + + Utility repository class to use to construct multiple + mocks when consistent verification is + desired for all of them. + + + If multiple mocks will be created during a test, passing + the desired (if different than the + or the one + passed to the repository constructor) and later verifying each + mock can become repetitive and tedious. + + This repository class helps in that scenario by providing a + simplified creation of multiple mocks with a default + (unless overridden by calling + ) and posterior verification. + + + + The following is a straightforward example on how to + create and automatically verify strict mocks using a : + + var repository = new MockRepository(MockBehavior.Strict); + + var foo = repository.Create<IFoo>(); + var bar = repository.Create<IBar>(); + + // no need to call Verifiable() on the setup + // as we'll be validating all of them anyway. + foo.Setup(f => f.Do()); + bar.Setup(b => b.Redo()); + + // exercise the mocks here + + repository.VerifyAll(); + // At this point all setups are already checked + // and an optional MockException might be thrown. + // Note also that because the mocks are strict, any invocation + // that doesn't have a matching setup will also throw a MockException. + + The following examples shows how to setup the repository + to create loose mocks and later verify only verifiable setups: + + var repository = new MockRepository(MockBehavior.Loose); + + var foo = repository.Create<IFoo>(); + var bar = repository.Create<IBar>(); + + // this setup will be verified when we verify the repository + foo.Setup(f => f.Do()).Verifiable(); + + // this setup will NOT be verified + foo.Setup(f => f.Calculate()); + + // this setup will be verified when we verify the repository + bar.Setup(b => b.Redo()).Verifiable(); + + // exercise the mocks here + // note that because the mocks are Loose, members + // called in the interfaces for which no matching + // setups exist will NOT throw exceptions, + // and will rather return default values. + + repository.Verify(); + // At this point verifiable setups are already checked + // and an optional MockException might be thrown. + + The following examples shows how to setup the repository with a + default strict behavior, overriding that default for a + specific mock: + + var repository = new MockRepository(MockBehavior.Strict); + + // this particular one we want loose + var foo = repository.Create<IFoo>(MockBehavior.Loose); + var bar = repository.Create<IBar>(); + + // specify setups + + // exercise the mocks here + + repository.Verify(); + + + + + + + Access the universe of mocks of the given type, to retrieve those + that behave according to the LINQ query specification. + + The type of the mocked object to query. + + + + Access the universe of mocks of the given type, to retrieve those + that behave according to the LINQ query specification. + + Behavior of the mocks. + The type of the mocked object to query. + + + + Access the universe of mocks of the given type, to retrieve those + that behave according to the LINQ query specification. + + The predicate with the setup expressions. + The type of the mocked object to query. + + + + Access the universe of mocks of the given type, to retrieve those + that behave according to the LINQ query specification. + + The predicate with the setup expressions. + Behavior of the mocks. + The type of the mocked object to query. + + + + Creates a mock object of the indicated type. + + The type of the mocked object. + The mocked object created. + + + + Creates a mock object of the indicated type. + + Behavior of the mock. + The type of the mocked object. + The mocked object created. + + + + Creates a mock object of the indicated type. + + The predicate with the setup expressions. + The type of the mocked object. + The mocked object created. + + + + Creates a mock object of the indicated type. + + The predicate with the setup expressions. + Behavior of the mock. + The type of the mocked object. + The mocked object created. + + + + Creates the mock query with the underlying queryable implementation. + + + + + Wraps the enumerator inside a queryable. + + + + + Method that is turned into the actual call from .Query{T}, to + transform the queryable query into a normal enumerable query. + This method is never used directly by consumers. + + + + + Initializes the repository with the given + for newly created mocks from the repository. + + The behavior to use for mocks created + using the repository method if not overridden + by using the overload. + + + + Allows querying the universe of mocks for those that behave + according to the LINQ query specification. + + + + + Access the universe of mocks of the given type, to retrieve those + that behave according to the LINQ query specification. + + The type of the mocked object to query. + + + + Access the universe of mocks of the given type, to retrieve those + that behave according to the LINQ query specification. + + Behavior of the mocks. + The type of the mocked object to query. + + + + Access the universe of mocks of the given type, to retrieve those + that behave according to the LINQ query specification. + + The predicate with the setup expressions. + The type of the mocked object to query. + + + + Access the universe of mocks of the given type, to retrieve those + that behave according to the LINQ query specification. + + The predicate with the setup expressions. + Behavior of the mocks. + The type of the mocked object to query. + + + + Creates a mock object of the indicated type. + + The type of the mocked object. + The mocked object created. + + + + Creates a mock object of the indicated type. + + The predicate with the setup expressions. + The type of the mocked object. + The mocked object created. + + + + Creates the mock query with the underlying queryable implementation. + + + + + Wraps the enumerator inside a queryable. + + + + + Method that is turned into the actual call from .Query{T}, to + transform the queryable query into a normal enumerable query. + This method is never used directly by consumers. + + + + + Abstract base class for default value providers that look up and delegate to value factory functions for the requested type(s). + If a request cannot be satisfied by any registered factory, the default value gets produced by a fallback strategy. + + + + Derived classes can register and deregister factory functions with and , + respectively. + + + The fallback value generation strategy is implemented by the overridable method. + + + This base class sets up factory functions for task types (, , + and ) that produce completed tasks containing default values. + If this behavior is not desired, derived classes may deregister those standard factory functions via . + + + + + + Initializes a new instance of the class. + + + + + Deregisters any factory function that might currently be registered for the given type(s). + Subsequent requests for values of the given type(s) will be handled by the fallback strategy. + + The type(s) for which to remove any registered factory function. + + + + Registers a factory function for the given type(s). + Subsequent requests for values of the given type(s) will be handled by the specified function. + + + + The type(s) for which to register the given function. + + + All array types are represented by (). + Generic types are represented by their open generic type definition, e. g. (<>). + + + The factory function responsible for producing values for the given type. + + + + + + + + + + + + + Determines the default value for the given when no suitable factory is registered for it. + May be overridden in derived classes. + + The type of which to produce a value. + The on which an unexpected invocation has occurred. + + + + Allows creating custom value matchers that can be used on setups and verification, + completely replacing the built-in class with your own + argument matching rules. + + + Argument matching is used to determine whether a concrete invocation in the mock + matches a given setup. This matching mechanism is fully extensible. + + + Creating a custom matcher is straightforward. You just need to create a method + that returns a value from a call to + with your matching condition and optional friendly render expression: + + public Order IsBigOrder() + { + return Match.Create<Order>( + o => o.GrandTotal >= 5000, + () => IsBigOrder()); // a friendly expression to render on failures + } + + This method can be used in any mock setup invocation: + + mock.Setup(m => m.Submit(IsBigOrder()) + .Throws<UnauthorizedAccessException>(); + + At runtime, Moq knows that the return value was a matcher and + evaluates your predicate with the actual value passed into your predicate. + + Another example might be a case where you want to match a lists of orders + that contains a particular one. You might create matcher like the following: + + + public static class Orders + { + public static IEnumerable<Order> Contains(Order order) + { + return Match.Create<IEnumerable<Order>>(orders => orders.Contains(order)); + } + } + + Now we can invoke this static method instead of an argument in an invocation: + + var order = new Order { ... }; + var mock = new Mock<IRepository<Order>>(); + + mock.Setup(x => x.Save(Orders.Contains(order))) + .Throws<ArgumentException>(); + + + + + + Provided for the sole purpose of rendering the delegate passed to the + matcher constructor if no friendly render lambda is provided. + + + + + Initializes the matcher with the condition that will be checked + in order to match invocation values. + + The condition to match against actual values. + + + + Initializes the matcher with the condition that will be checked + in order to match invocation values. + + The condition to match against actual values. + + A lambda representation of the matcher, to be used when rendering error messages, + such as () => It.IsAny<string<(). + + + + + Initializes the matcher with the condition that will be checked in order to match invocation values. + + The predicate of this overload will not only be provided with a + method argument, but also with the associated parameter's type. This parameter type essentially + overrides in cases where the latter is a type matcher. Therefore, + use this method overload if you want your custom matcher to work together with type matchers. + + + + The condition to match against actual values. + + This function will be passed the invocation argument, as well as the type of the associated parameter. + + + + A lambda representation of the matcher. + + + + + Allows creating custom value matchers that can be used on setups and verification, + completely replacing the built-in class with your own + argument matching rules. + + Type of the value to match. + + + + + + + + + + + + + A per-thread observer that records invocations to matchers for later inspection. + + + + This component requires the active cooperation of the respective subsystem. + That is, invoked matchers call into if an + observer is active on the current thread. + + + + + + Returns the current timestamp. The next call will return a timestamp greater than this one, + allowing you to order invocations and matcher observations. + + + + + Adds the specified as an observation. + + + + + Checks whether at least one observation is available, + and if so, returns the last one. + + The observed matcher observed last. + + + + Matcher to treat static functions as matchers. + + mock.Setup(x => x.StringMethod(A.MagicString())); + + public static class A + { + [Matcher] + public static string MagicString() { return null; } + public static bool MagicString(string arg) + { + return arg == "magic"; + } + } + + Will succeed if: mock.Object.StringMethod("magic"); + and fail with any other call. + + + + + Options to customize the behavior of the mock. + + + + + Causes the mock to always throw + an exception for invocations that don't have a + corresponding setup. + + + + + Will never throw exceptions, returning default + values when necessary (null for reference types, + zero for value types or empty enumerables and arrays). + + + + + Default mock behavior, which equals . + + + + + A that returns an empty default value + for non-mockable types, and mocks for all other types (interfaces and + non-sealed classes) that can be mocked. + + + + + Exception thrown by mocks when they are not properly set up, + when setups are not matched, when verification fails, etc. + + + A distinct exception type is provided so that exceptions + thrown by a mock can be distinguished from other exceptions + that might be thrown in tests. + + Moq does not provide a richer hierarchy of exception types, as + tests typically should not catch or expect exceptions + from mocks. These are typically the result of changes + in the tested class or its collaborators' implementation, and + result in fixes in the mock setup so that they disappear and + allow the test to pass. + + + + + + Returns the exception to be thrown when a setup limited by is matched more often than once. + + + + + Returns the exception to be thrown when a setup limited by is matched more often than the specified maximum number of times. + + + + + Returns the exception to be thrown when finds no invocations (or the wrong number of invocations) that match the specified expectation. + + + + + Returns the exception to be thrown when a strict mock has no setup corresponding to the specified invocation. + + + + + Returns the exception to be thrown when a strict mock has no setup that provides a return value for the specified invocation. + + + + + Returns the exception to be thrown when a setup was not matched. + + + + + Returns an exception whose message is the concatenation of the given ' messages + and whose reason(s) is the combination of the given ' reason(s). + Used by when it finds one or more mocks with verification errors. + + + + + Returns the exception to be thrown when finds invocations that have not been verified. + + + + + Indicates whether this exception is a verification fault raised by Verify() + + + + + Supports the serialization infrastructure. + + Serialization information. + Streaming context. + + + + Supports the serialization infrastructure. + + Serialization information. + Streaming context. + + + + Provides additional methods on mocks. + + + + + Resets this mock's state. This includes its setups, configured default return values, registered event handlers, and all recorded invocations. + + The mock whose state should be reset. + + + + Resets all invocations recorded for this mock. + + The mock whose recorded invocations should be reset. + + + + Helper class to setup a full trace between many mocks + + + + + Initialize a trace setup + + + + + Allow sequence to be repeated + + + + + Contains extension methods that are related to . + + + + + Perform an expectation in the trace. + + + + + Provides a mock implementation of . + + Type to mock, which can be an interface, a class, or a delegate. + + Any interface type can be used for mocking, but for classes, only abstract and virtual members can be mocked. + + The behavior of the mock with regards to the setups and the actual calls is determined by the optional + that can be passed to the constructor. + + + + The following example shows establishing setups with specific values for method invocations: + + // Arrange + var order = new Order(TALISKER, 50); + var warehouse = new Mock<IWarehouse>(); + warehouse.Setup(w => w.HasInventory(TALISKER, 50)).Returns(true); + + // Act + order.Fill(warehouse.Object); + + // Assert + Assert.True(order.IsFilled); + + + + The following example shows how to use the class + to specify conditions for arguments instead of specific values: + + // Arrange + var order = new Order(TALISKER, 50); + var warehouse = new Mock<IWarehouse>(); + + // shows how to expect a value within a range: + warehouse.Setup(x => x.HasInventory( + It.IsAny<string>(), + It.IsInRange(0, 100, Range.Inclusive))) + .Returns(false); + + // shows how to throw for unexpected calls. + warehouse.Setup(x => x.Remove( + It.IsAny<string>(), + It.IsAny<int>())) + .Throws(new InvalidOperationException()); + + // Act + order.Fill(warehouse.Object); + + // Assert + Assert.False(order.IsFilled); + + + + + + Ctor invoked by AsTInterface exclusively. + + + + + Initializes an instance of the mock with behavior. + + + + var mock = new Mock<IFormatProvider>(); + + + + + + Initializes an instance of the mock with behavior + and with the given constructor arguments for the class. (Only valid when is a class.) + + Optional constructor arguments if the mocked type is a class. + + The mock will try to find the best match constructor given the constructor arguments, + and invoke that to initialize the instance.This applies only for classes, not interfaces. + + + + var mock = new Mock<MyProvider>(someArgument, 25); + + + + + + Initializes an instance of the mock with the specified behavior. + + Behavior of the mock. + + + var mock = new Mock<IFormatProvider>(MockBehavior.Strict); + + + + + + Initializes an instance of the mock with a specific behavior + and with the given constructor arguments for the class. + + Behavior of the mock. + Optional constructor arguments if the mocked type is a class. + + The mock will try to find the best match constructor given the constructor arguments, + and invoke that to initialize the instance. This applies only to classes, not interfaces. + + + + + Initializes an instance of the mock using the given constructor call including its + argument values and with a specific behavior. + + Lambda expression that creates an instance of . + Behavior of the mock. + + var mock = new Mock<MyProvider>(() => new MyProvider(someArgument, 25), MockBehavior.Loose); + + + + + + + + + + + Gets or sets the instance that will be used + e. g. to produce default return values for unexpected invocations. + + + + + Exposes the mocked object instance. + + + + + Allows naming of your mocks, so they can be easily identified in error messages (e.g. from failed assertions). + + + + + Returns the name of the mock. + + + + + Returns the mocked object value. + + + + + A set of switches that influence how this mock will operate. + You can opt in or out of certain features via this property. + + + + + Adds an interface implementation to the mock, allowing setups to be specified for it. + + + This method can only be called before the first use of the mock property, + at which point the runtime type has already been generated and no more interfaces can be added to it. + + Also, must be an interface and not a class, + which must be specified when creating the mock instead. + + + Type of interface to cast the mock to. + The specified is not an interface. + + The mock type has already been generated by accessing the property. + + + The following example creates a mock for the main interface + and later adds to it to verify it's called by the consumer code: + + var mock = new Mock<IProcessor>(); + mock.Setup(x => x.Execute("ping")); + + // add IDisposable interface + var disposable = mock.As<IDisposable>(); + disposable.Setup(d => d.Dispose()) + .Verifiable(); + + + + + + Specifies a setup on the mocked type for a call to a method. + + Lambda expression that specifies the expected method invocation. + + If more than one setup is specified for the same method or property, + the latest one wins and is the one that will be executed. + + + + var mock = new Mock<IProcessor>(); + mock.Setup(x => x.Execute("ping")); + + + + + + Specifies a setup on the mocked type for a call to a non- (value-returning) method. + + Lambda expression that specifies the method invocation. + Type of the return value. Typically omitted as it can be inferred from the expression. + + If more than one setup is specified for the same method or property, + the latest one wins and is the one that will be executed. + + + + mock.Setup(x => x.HasInventory("Talisker", 50)) + .Returns(true); + + + + + + Specifies a setup on the mocked type for a call to a property getter. + + Lambda expression that specifies the property getter. + Type of the property. Typically omitted as it can be inferred from the expression. + + If more than one setup is set for the same property getter, + the latest one wins and is the one that will be executed. + + + + mock.SetupGet(x => x.Suspended) + .Returns(true); + + + + + + Specifies a setup on the mocked type for a call to a property setter. + + The Lambda expression that sets a property to a value. + Type of the property. Typically omitted as it can be inferred from the expression. + + If more than one setup is set for the same property setter, + the latest one wins and is the one that will be executed. + + This overloads allows the use of a callback already typed for the property type. + + + + + mock.SetupSet(x => x.Suspended = true); + + + + + + Specifies a setup on the mocked type for a call to a property setter. + + Lambda expression that sets a property to a value. + + If more than one setup is set for the same property setter, + the latest one wins and is the one that will be executed. + + + + mock.SetupSet(x => x.Suspended = true); + + + + + + Specifies a setup on the mocked type for a call to an event add. + + Lambda expression that adds an event. + + If more than one setup is set for the same event add, + the latest one wins and is the one that will be executed. + + + + mock.SetupAdd(x => x.EventHandler += (s, e) => {}); + + + + + + Specifies a setup on the mocked type for a call to an event remove. + + Lambda expression that removes an event. + + If more than one setup is set for the same event remove, + the latest one wins and is the one that will be executed. + + + + mock.SetupRemove(x => x.EventHandler -= (s, e) => {}); + + + + + + Specifies that the given property should have "property behavior", + meaning that setting its value will cause it to be saved and later returned when the property is requested. + (This is also known as "stubbing".) + + Property expression to stub. + + Type of the property, inferred from the property expression (does not need to be specified). + + + If you have an interface with an int property Value, + you might stub it using the following straightforward call: + + var mock = new Mock<IHaveValue>(); + mock.SetupProperty(v => v.Value); + + After the SetupProperty call has been issued, setting and retrieving + the object value will behave as expected: + + IHaveValue v = mock.Object; + v.Value = 5; + Assert.Equal(5, v.Value); + + + + + + Specifies that the given property should have "property behavior", + meaning that setting its value will cause it to be saved and later returned when the property is requested. + This overload allows setting the initial value for the property. + (This is also known as "stubbing".) + + Property expression to stub. + Initial value for the property. + + Type of the property, inferred from the property expression (does not need to be specified). + + + If you have an interface with an int property Value, + you might stub it using the following straightforward call: + + var mock = new Mock<IHaveValue>(); + mock.SetupProperty(v => v.Value, 5); + + After the SetupProperty call has been issued, setting and retrieving the object value + will behave as expected: + + IHaveValue v = mock.Object; + Assert.Equal(5, v.Value); // Initial value was stored + + // New value set which changes the initial value + v.Value = 6; + Assert.Equal(6, v.Value); + + + + + + Specifies that the all properties on the mock should have "property behavior", + meaning that setting their value will cause them to be saved and later returned when the properties is requested. + (This is also known as "stubbing".) + The default value for each property will be the one generated as specified by the + property for the mock. + + + If the mock's is set to , + the mocked default values will also get all properties setup recursively. + + + + + Return a sequence of values, once per call. + + + + + Performs a sequence of actions, one per call. + + + + + Allows setting up a conditional setup. + Conditional setups are only matched by an invocation + when the specified condition evaluates to + at the time when the invocation occurs. + + + The condition that should be checked + when a setup is being matched against an invocation. + + + + + Verifies that a specific invocation matching the given expression was performed on the mock. + Use in conjunction with the default . + + Expression to verify. + The invocation was not performed on the mock. + + This example assumes that the mock has been used, and later we want to verify + that a given invocation with specific parameters was performed: + + var mock = new Mock<IProcessor>(); + + ... // exercise mock + + // Will throw if the test code didn't call Execute with a "ping" string argument. + mock.Verify(proc => proc.Execute("ping")); + + + + + + Verifies that a specific invocation matching the given expression was performed on the mock. + Use in conjunction with the default . + + Expression to verify. + The number of times a method is expected to be called. + + The invocation was not called the number of times specified by . + + + + + Verifies that a specific invocation matching the given expression was performed on the mock. + Use in conjunction with the default . + + Expression to verify. + The number of times a method is expected to be called. + + The invocation was not called the number of times specified by . + + + + + Verifies that a specific invocation matching the given expression was performed on the mock, + specifying a failure error message. + Use in conjunction with the default . + + Expression to verify. + Message to show if verification fails. + The invocation was not performed on the mock. + + + + Verifies that a specific invocation matching the given expression was performed on the mock, + specifying a failure error message. + Use in conjunction with the default . + + Expression to verify. + The number of times a method is expected to be called. + Message to show if verification fails. + + The invocation was not called the number of times specified by . + + + + + Verifies that a specific invocation matching the given expression was performed on the mock, + specifying a failure error message. + Use in conjunction with the default . + + Expression to verify. + The number of times a method is expected to be called. + Message to show if verification fails. + + The invocation was not called the number of times specified by . + + + + + Verifies that a specific invocation matching the given expression was performed on the mock. + Use in conjunction with the default . + + Expression to verify. + Type of return value from the expression. + The invocation was not performed on the mock. + + This example assumes that the mock has been used, and later we want to verify + that a given invocation with specific parameters was performed: + + var mock = new Mock<IWarehouse>(); + + ... // exercise mock + + // Will throw if the test code didn't call HasInventory. + mock.Verify(warehouse => warehouse.HasInventory(TALISKER, 50)); + + + + + + Verifies that a specific invocation matching the given expression was performed on the mock. + Use in conjunction with the default . + + Expression to verify. + The number of times a method is expected to be called. + Type of return value from the expression. + + The invocation was not called the number of times specified by . + + + + + Verifies that a specific invocation matching the given expression was performed on the mock. + Use in conjunction with the default . + + Expression to verify. + The number of times a method is expected to be called. + Type of return value from the expression. + + The invocation was not called the number of times specified by . + + + + + Verifies that a specific invocation matching the given expression was performed on the mock, + specifying a failure error message. + + Expression to verify. + Message to show if verification fails. + Type of return value from the expression. + The invocation was not performed on the mock. + + This example assumes that the mock has been used, and later we want to verify + that a given invocation with specific parameters was performed: + + var mock = new Mock<IWarehouse>(); + + ... // exercise mock + + // Will throw if the test code didn't call HasInventory. + mock.Verify(warehouse => warehouse.HasInventory(TALISKER, 50), + "When filling orders, inventory has to be checked"); + + + + + + Verifies that a specific invocation matching the given expression was performed on the mock, + specifying a failure error message. + + Expression to verify. + The number of times a method is expected to be called. + Message to show if verification fails. + Type of return value from the expression. + + The invocation was not called the number times specified by . + + + + + Verifies that a property was read on the mock. + + Expression to verify. + + Type of the property to verify. Typically omitted as it can be inferred from the expression's return type. + + The invocation was not performed on the mock. + + This example assumes that the mock has been used, and later we want to verify + that a given property was retrieved from it: + + var mock = new Mock<IWarehouse>(); + + ... // exercise mock + + // Will throw if the test code didn't retrieve the IsClosed property. + mock.VerifyGet(warehouse => warehouse.IsClosed); + + + + + + Verifies that a property was read on the mock. + + The number of times a method is expected to be called. + Expression to verify. + + Type of the property to verify. Typically omitted as it can be inferred from the expression's return type. + + + The invocation was not called the number times specified by . + + + + + Verifies that a property was read on the mock. + + The number of times a method is expected to be called. + Expression to verify. + + Type of the property to verify. Typically omitted as it can be inferred from the expression's return type. + + + The invocation was not called the number times specified by . + + + + + Verifies that a property was read on the mock, specifying a failure error message. + + Expression to verify. + Message to show if verification fails. + + Type of the property to verify. Typically omitted as it can be inferred from the expression's return type. + + The invocation was not performed on the mock. + + + + Verifies that a property was read on the mock, specifying a failure error message. + + The number of times a method is expected to be called. + Expression to verify. + Message to show if verification fails. + + Type of the property to verify. Typically omitted as it can be inferred from the expression's return type. + + + The invocation was not called the number times specified by . + + + + + Verifies that a property was read on the mock, specifying a failure error message. + + The number of times a method is expected to be called. + Expression to verify. + Message to show if verification fails. + + Type of the property to verify. Typically omitted as it can be inferred from the expression's return type. + + + The invocation was not called the number times specified by . + + + + + Verifies that a property was set on the mock. + + Expression to verify. + The invocation was not performed on the mock. + + This example assumes that the mock has been used, and later we want to verify + that a given property was set on it: + + var mock = new Mock<IWarehouse>(); + + ... // exercise mock + + // Will throw if the test code didn't set the IsClosed property. + mock.VerifySet(warehouse => warehouse.IsClosed = true); + + + + + + Verifies that a property was set on the mock. + + The number of times a method is expected to be called. + Expression to verify. + + The invocation was not called the number of times specified by . + + + + + Verifies that a property was set on the mock. + + The number of times a method is expected to be called. + Expression to verify. + + The invocation was not called the number of times specified by . + + + + + Verifies that a property was set on the mock, specifying a failure message. + + Expression to verify. + Message to show if verification fails. + The invocation was not performed on the mock. + + This example assumes that the mock has been used, and later we want to verify + that a given property was set on it: + + var mock = new Mock<IWarehouse>(); + + ... // exercise mock + + // Will throw if the test code didn't set the IsClosed property. + mock.VerifySet(warehouse => warehouse.IsClosed = true, + "Warehouse should always be closed after the action"); + + + + + + Verifies that a property was set on the mock, specifying a failure message. + + The number of times a method is expected to be called. + Expression to verify. + Message to show if verification fails. + + The invocation was not called the number of times specified by . + + + + + Verifies that a property was set on the mock, specifying a failure message. + + The number of times a method is expected to be called. + Expression to verify. + Message to show if verification fails. + + The invocation was not called the number of times specified by . + + + + + Verifies that an event was added to the mock. + + Expression to verify. + The invocation was not performed on the mock. + + This example assumes that the mock has been used, and later we want to verify + that a given event handler was subscribed to an event: + + var mock = new Mock<IWarehouse>(); + + ... // exercise mock + + // Will throw if the test code didn't subscribe to the OnClosed event. + mock.VerifyAdd(warehouse => warehouse.OnClosed += It.IsAny<EventHandler>()); + + + + + + Verifies that an event was added to the mock. + + The number of times a method is expected to be called. + Expression to verify. + + The invocation was not called the number of times specified by . + + + + + Verifies that an event was added to the mock. + + The number of times a method is expected to be called. + Expression to verify. + + The invocation was not called the number of times specified by . + + + + + Verifies that an event was added to the mock, specifying a failure message. + + Expression to verify. + Message to show if verification fails. + The invocation was not performed on the mock. + + + + Verifies that an event was added to the mock, specifying a failure message. + + The number of times a method is expected to be called. + Expression to verify. + Message to show if verification fails. + + The invocation was not called the number of times specified by . + + + + + Verifies that an event was added to the mock, specifying a failure message. + + The number of times a method is expected to be called. + Expression to verify. + Message to show if verification fails. + + The invocation was not called the number of times specified by . + + + + + Verifies that an event was removed from the mock. + + Expression to verify. + The invocation was not performed on the mock. + + This example assumes that the mock has been used, and later we want to verify + that a given event handler was removed from an event: + + var mock = new Mock<IWarehouse>(); + + ... // exercise mock + + // Will throw if the test code didn't unsubscribe from the OnClosed event. + mock.VerifyRemove(warehouse => warehouse.OnClose -= It.IsAny<EventHandler>()); + + + + + + Verifies that an event was removed from the mock. + + The number of times a method is expected to be called. + Expression to verify. + + The invocation was not called the number of times specified by . + + + + + Verifies that an event was removed from the mock. + + The number of times a method is expected to be called. + Expression to verify. + + The invocation was not called the number of times specified by . + + + + + Verifies that an event was removed from the mock, specifying a failure message. + + Expression to verify. + Message to show if verification fails. + The invocation was not performed on the mock. + + + + Verifies that an event was removed from the mock, specifying a failure message. + + The number of times a method is expected to be called. + Expression to verify. + Message to show if verification fails. + + The invocation was not called the number of times specified by . + + + + + Verifies that an event was removed from the mock, specifying a failure message. + + The number of times a method is expected to be called. + Expression to verify. + Message to show if verification fails. + + The invocation was not called the number of times specified by . + + + + + Verifies that there were no calls other than those already verified. + + There was at least one invocation not previously verified. + + + + Raises the event referenced in using the given argument. + + + The argument is invalid for the target event invocation, + or the is not an event attach or detach expression. + + + The following example shows how to raise a + event: + + var mock = new Mock<IViewModel>(); + mock.Raise(x => x.PropertyChanged -= null, new PropertyChangedEventArgs("Name")); + + + + This example shows how to invoke an event with a custom event arguments class + in a view that will cause its corresponding presenter to react by changing its state: + + var mockView = new Mock<IOrdersView>(); + var presenter = new OrdersPresenter(mockView.Object); + + // Check that the presenter has no selection by default + Assert.Null(presenter.SelectedOrder); + + // Raise the event with a specific arguments data + mockView.Raise(v => v.SelectionChanged += null, new OrderEventArgs { Order = new Order("moq", 500) }); + + // Now the presenter reacted to the event, and we have a selected order + Assert.NotNull(presenter.SelectedOrder); + Assert.Equal("moq", presenter.SelectedOrder.ProductName); + + + + + + Raises the event referenced in using the given argument for a non--typed event. + + + The arguments are invalid for the target event invocation, + or the is not an event attach or detach expression. + + + The following example shows how to raise a custom event that does not adhere + to the standard EventHandler: + + var mock = new Mock<IViewModel>(); + mock.Raise(x => x.MyEvent -= null, "Name", bool, 25); + + + + + + Obsolete. + + + + + Obsolete. + + + + + Obsolete. + + + + + Obsolete. + + + + + Obsolete. + + + + + Marks a method as a matcher, which allows complete replacement + of the built-in class with your own argument + matching rules. + + + + This feature has been deprecated in favor of the new + and simpler . + + + + The argument matching is used to determine whether a concrete + invocation in the mock matches a given setup. This + matching mechanism is fully extensible. + + + There are two parts of a matcher: the compiler matcher + and the runtime matcher. + + + Compiler matcher + Used to satisfy the compiler requirements for the + argument. Needs to be a method optionally receiving any arguments + you might need for the matching, but with a return type that + matches that of the argument. + + Let's say I want to match a lists of orders that contains + a particular one. I might create a compiler matcher like the following: + + + public static class Orders + { + [Matcher] + public static IEnumerable<Order> Contains(Order order) + { + return null; + } + } + + Now we can invoke this static method instead of an argument in an + invocation: + + var order = new Order { ... }; + var mock = new Mock<IRepository<Order>>(); + + mock.Setup(x => x.Save(Orders.Contains(order))) + .Throws<ArgumentException>(); + + Note that the return value from the compiler matcher is irrelevant. + This method will never be called, and is just used to satisfy the + compiler and to signal Moq that this is not a method that we want + to be invoked at runtime. + + + + Runtime matcher + + The runtime matcher is the one that will actually perform evaluation + when the test is run, and is defined by convention to have the + same signature as the compiler matcher, but where the return + value is the first argument to the call, which contains the + object received by the actual invocation at runtime: + + public static bool Contains(IEnumerable<Order> orders, Order order) + { + return orders.Contains(order); + } + + At runtime, the mocked method will be invoked with a specific + list of orders. This value will be passed to this runtime + matcher as the first argument, while the second argument is the + one specified in the setup (x.Save(Orders.Contains(order))). + + The boolean returned determines whether the given argument has been + matched. If all arguments to the expected method are matched, then + the setup matches and is evaluated. + + + + + + Using this extensible infrastructure, you can easily replace the entire + set of matchers with your own. You can also avoid the + typical (and annoying) lengthy expressions that result when you have + multiple arguments that use generics. + + + The following is the complete example explained above: + + public static class Orders + { + [Matcher] + public static IEnumerable<Order> Contains(Order order) + { + return null; + } + + public static bool Contains(IEnumerable<Order> orders, Order order) + { + return orders.Contains(order); + } + } + + And the concrete test using this matcher: + + var order = new Order { ... }; + var mock = new Mock<IRepository<Order>>(); + + mock.Setup(x => x.Save(Orders.Contains(order))) + .Throws<ArgumentException>(); + + // use mock, invoke Save, and have the matcher filter. + + + + + + Contains obsolete API members as extension methods so that existing code continues to compile, + but new code doesn't see them. + + + + + Obsolete. + + + + + Obsolete. + + + + + Obsolete. + + + + + Utility factory class to use to construct multiple + mocks when consistent verification is + desired for all of them. + + + If multiple mocks will be created during a test, passing + the desired (if different than the + or the one + passed to the factory constructor) and later verifying each + mock can become repetitive and tedious. + + This factory class helps in that scenario by providing a + simplified creation of multiple mocks with a default + (unless overridden by calling + ) and posterior verification. + + + + The following is a straightforward example on how to + create and automatically verify strict mocks using a : + + var factory = new MockFactory(MockBehavior.Strict); + + var foo = factory.Create<IFoo>(); + var bar = factory.Create<IBar>(); + + // no need to call Verifiable() on the setup + // as we'll be validating all of them anyway. + foo.Setup(f => f.Do()); + bar.Setup(b => b.Redo()); + + // exercise the mocks here + + factory.VerifyAll(); + // At this point all setups are already checked + // and an optional MockException might be thrown. + // Note also that because the mocks are strict, any invocation + // that doesn't have a matching setup will also throw a MockException. + + The following examples shows how to setup the factory + to create loose mocks and later verify only verifiable setups: + + var factory = new MockFactory(MockBehavior.Loose); + + var foo = factory.Create<IFoo>(); + var bar = factory.Create<IBar>(); + + // this setup will be verified when we verify the factory + foo.Setup(f => f.Do()).Verifiable(); + + // this setup will NOT be verified + foo.Setup(f => f.Calculate()); + + // this setup will be verified when we verify the factory + bar.Setup(b => b.Redo()).Verifiable(); + + // exercise the mocks here + // note that because the mocks are Loose, members + // called in the interfaces for which no matching + // setups exist will NOT throw exceptions, + // and will rather return default values. + + factory.Verify(); + // At this point verifiable setups are already checked + // and an optional MockException might be thrown. + + The following examples shows how to setup the factory with a + default strict behavior, overriding that default for a + specific mock: + + var factory = new MockFactory(MockBehavior.Strict); + + // this particular one we want loose + var foo = factory.Create<IFoo>(MockBehavior.Loose); + var bar = factory.Create<IBar>(); + + // specify setups + + // exercise the mocks here + + factory.Verify(); + + + + + + + Initializes the factory with the given + for newly created mocks from the factory. + + The behavior to use for mocks created + using the factory method if not overridden + by using the overload. + + + + Gets the default of mocks created by this repository. + + + + + Whether the base member virtual implementation will be called + for mocked classes if no setup is matched. Defaults to . + + + + + Specifies the behavior to use when returning default values for + unexpected invocations on loose mocks. + + + + + Gets or sets the instance that will be used + e. g. to produce default return values for unexpected invocations. + + + + + Gets the mocks that have been created by this factory and + that will get verified together. + + + + + A set of switches that influence how mocks created by this factory will operate. + You can opt in or out of certain features via this property. + + + + + Creates a new mock with the default + specified at factory construction time. + + Type to mock. + A new . + + + var factory = new MockFactory(MockBehavior.Strict); + + var foo = factory.Create<IFoo>(); + // use mock on tests + + factory.VerifyAll(); + + + + + + Creates a new mock with the default + specified at factory construction time and with the + the given constructor arguments for the class. + + + The mock will try to find the best match constructor given the + constructor arguments, and invoke that to initialize the instance. + This applies only to classes, not interfaces. + + Type to mock. + Constructor arguments for mocked classes. + A new . + + + var factory = new MockFactory(MockBehavior.Default); + + var mock = factory.Create<MyBase>("Foo", 25, true); + // use mock on tests + + factory.Verify(); + + + + + + Creates a new mock with the given . + + Type to mock. + Behavior to use for the mock, which overrides + the default behavior specified at factory construction time. + A new . + + The following example shows how to create a mock with a different + behavior to that specified as the default for the factory: + + var factory = new MockFactory(MockBehavior.Strict); + + var foo = factory.Create<IFoo>(MockBehavior.Loose); + + + + + + Creates a new mock with the given + and with the given constructor arguments for the class. + + + The mock will try to find the best match constructor given the + constructor arguments, and invoke that to initialize the instance. + This applies only to classes, not interfaces. + + Type to mock. + Behavior to use for the mock, which overrides + the default behavior specified at factory construction time. + Constructor arguments for mocked classes. + A new . + + The following example shows how to create a mock with a different + behavior to that specified as the default for the factory, passing + constructor arguments: + + var factory = new MockFactory(MockBehavior.Default); + + var mock = factory.Create<MyBase>(MockBehavior.Strict, "Foo", 25, true); + + + + + + Creates an instance of the mock using the given constructor call including its + argument values and with a specific behavior. + + Type to mock. + Lambda expression that creates an instance of . + Behavior of the mock. + A new . + + + var factory = new MockFactory(MockBehavior.Default); + + var mock = factory.Create<MyClass>(() => new MyClass("Foo", 25, true), MockBehavior.Loose); + // use mock on tests + + factory.Verify(); + + + + + + Implements creation of a new mock within the factory. + + Type to mock. + The behavior for the new mock. + Optional arguments for the construction of the mock. + + + + Verifies all verifiable setups on all mocks created by this factory. + + + One or more mocks had setups that were not satisfied. + + + + Verifies all setups on all mocks created by this factory. + + + One or more mocks had setups that were not satisfied. + + + + Calls on all mocks created by this factory. + + + One or more mocks had invocations that were not verified. + + + + Invokes for each mock + in , and accumulates the resulting + verification exceptions that might be + thrown from the action. + + The action to execute against + each mock. + + + + Provides additional methods on mocks. + + + Provided as extension methods as they confuse the compiler + with the overloads taking Action. + + + + + Specifies a setup on the mocked type for a call to + to a property setter, regardless of its value. + + + If more than one setup is set for the same property setter, + the latest one wins and is the one that will be executed. + + Type of the property. Typically omitted as it can be inferred from the expression. + Type of the mock. + The target mock for the setup. + Lambda expression that specifies the property setter. + + + mock.SetupSet(x => x.Suspended); + + + + This method is not legacy, but must be on an extension method to avoid + confusing the compiler with the new Action syntax. + + + + + Verifies that a property has been set on the mock, regardless of its value. + + + This example assumes that the mock has been used, + and later we want to verify that a given invocation + with specific parameters was performed: + + var mock = new Mock<IWarehouse>(); + // exercise mock + //... + // Will throw if the test code didn't set the IsClosed property. + mock.VerifySet(warehouse => warehouse.IsClosed); + + + The invocation was not performed on the mock. + Expression to verify. + The mock instance. + Mocked type. + Type of the property to verify. Typically omitted as it can + be inferred from the expression's return type. + + + + Verifies that a property has been set on the mock, specifying a failure + error message. + + + This example assumes that the mock has been used, + and later we want to verify that a given invocation + with specific parameters was performed: + + var mock = new Mock<IWarehouse>(); + // exercise mock + //... + // Will throw if the test code didn't set the IsClosed property. + mock.VerifySet(warehouse => warehouse.IsClosed); + + + The invocation was not performed on the mock. + Expression to verify. + Message to show if verification fails. + The mock instance. + Mocked type. + Type of the property to verify. Typically omitted as it can + be inferred from the expression's return type. + + + + Verifies that a property has been set on the mock, regardless + of the value but only the specified number of times. + + + This example assumes that the mock has been used, + and later we want to verify that a given invocation + with specific parameters was performed: + + var mock = new Mock<IWarehouse>(); + // exercise mock + //... + // Will throw if the test code didn't set the IsClosed property. + mock.VerifySet(warehouse => warehouse.IsClosed); + + + The invocation was not performed on the mock. + The invocation was not call the times specified by + . + The mock instance. + Mocked type. + The number of times a method is allowed to be called. + Expression to verify. + Type of the property to verify. Typically omitted as it can + be inferred from the expression's return type. + + + + Verifies that a property has been set on the mock, regardless + of the value but only the specified number of times, and specifying a failure + error message. + + + This example assumes that the mock has been used, + and later we want to verify that a given invocation + with specific parameters was performed: + + var mock = new Mock<IWarehouse>(); + // exercise mock + //... + // Will throw if the test code didn't set the IsClosed property. + mock.VerifySet(warehouse => warehouse.IsClosed); + + + The invocation was not performed on the mock. + The invocation was not call the times specified by + . + The mock instance. + Mocked type. + The number of times a method is allowed to be called. + Message to show if verification fails. + Expression to verify. + Type of the property to verify. Typically omitted as it can + be inferred from the expression's return type. + + + + Helper for sequencing return values in the same method. + + + + + Return a sequence of values, once per call. + + + + + Performs a sequence of actions, one per call. + + + + + Return a sequence of tasks, once per call. + + + + + Return a sequence of tasks, once per call. + + + + + Return a sequence of tasks, once per call. + + + + + Return a sequence of tasks, once per call. + + + + + Return a sequence of tasks, once per call. + + + + + Return a sequence of tasks, once per call. + + + + + Throws a sequence of exceptions, once per call. + + + + + Throws a sequence of exceptions, once per call. + + + + + Throws a sequence of exceptions, once per call. + + + + + Throws a sequence of exceptions, once per call. + + + + + Allocation-free adapter type for treating a `ParameterInfo[]` array like a `Type[]` array. + + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + + Looks up a localized string similar to Mock type has already been initialized by accessing its Object property. Adding interfaces must be done before that.. + + + + + Looks up a localized string similar to Value cannot be an empty string.. + + + + + Looks up a localized string similar to Matcher '{0}' is unmatchable: An implicit conversion operator will convert arguments of type '{1}' to the parameter's type '{2}', which is assignment-incompatible.. + + + + + Looks up a localized string similar to Can only add interfaces to the mock.. + + + + + Looks up a localized string similar to CallBase cannot be used with Delegate mocks.. + + + + + Looks up a localized string similar to Can't set return value for void method {0}.. + + + + + Looks up a localized string similar to Constructor arguments cannot be passed for delegate mocks.. + + + + + Looks up a localized string similar to Constructor arguments cannot be passed for interface mocks.. + + + + + Looks up a localized string similar to A matching constructor for the given arguments was not found on the mocked type.. + + + + + Looks up a localized string similar to Delays have to be greater than zero to ensure an async callback is used.. + + + + + Looks up a localized string similar to Expression {0} involves a field access, which is not supported. Use properties instead.. + + + + + Looks up a localized string similar to Invalid callback. This overload of the "Callback" method only accepts "void" (C#) or "Sub" (VB.NET) delegates with parameter types matching those of the set up method.. + + + + + Looks up a localized string similar to Invalid callback. Setup on method with {0} parameter(s) cannot invoke callback with different number of parameters ({1}).. + + + + + Looks up a localized string similar to Invalid callback. Setup on method with parameters ({0}) cannot invoke callback with parameters ({1}).. + + + + + Looks up a localized string similar to Invalid callback. Setup on method with return type '{0}' cannot invoke callback with return type '{1}'.. + + + + + Looks up a localized string similar to Cannot retrieve a mock with the given object type {0} as it's not the main type of the mock or any of its additional interfaces. + Please cast the argument to one of the supported types: {1}. + Remember that there's no generics covariance in the CLR, so your object must be one of these types in order for the call to succeed.. + + + + + Looks up a localized string similar to Invalid callback. This overload of the "Returns" method only accepts non-"void" (C#) or "Function" (VB.NET) delegates with parameter types matching those of the set up method.. + + + + + Looks up a localized string similar to The return type of the last member shown above is not mockable.. + + + + + Looks up a localized string similar to The equals ("==" or "=" in VB) and the conditional 'and' ("&&" or "AndAlso" in VB) operators are the only ones supported in the query specification expression. Unsupported expression: {0}. + + + + + Looks up a localized string similar to LINQ method '{0}' not supported.. + + + + + Looks up a localized string similar to Expression contains a call to a method which is not virtual (overridable in VB) or abstract. Unsupported expression: {0}. + + + + + Looks up a localized string similar to Could not determine the correct positions for all argument matchers ({0} in total) used in a call to this method: {1}. + This could be caused by an unrecognized type conversion, coercion, narrowing, or widening, and is most likely a bug in Moq. Please report your use case to the Moq team.. + + + + + Looks up a localized string similar to Member {0}.{1} does not exist.. + + + + + Looks up a localized string similar to Method {0}.{1} is public. Use strong-typed Expect overload instead: + mock.Setup(x => x.{1}()); + . + + + + + Looks up a localized string similar to No protected method {0}.{1} found whose signature is compatible with the provided arguments ({2}).. + + + + + Looks up a localized string similar to Cannot set up {0}.{1} because it is not accessible to the proxy generator used by Moq: + {2}. + + + + + Looks up a localized string similar to Minimum delay has to be lower than maximum delay.. + + + + + Looks up a localized string similar to {0} invocation failed with mock behavior {1}. + {2}. + + + + + Looks up a localized string similar to The next member after the last one shown above is non-virtual, sealed, or not visible to the proxy factory.. + + + + + Looks up a localized string similar to No constructor call could be found.. + + + + + Looks up a localized string similar to No invocations performed.. + + + + + Looks up a localized string similar to Expected invocation on the mock at least {0} times, but was {2} times: . + + + + + Looks up a localized string similar to Expected invocation on the mock at least once, but was never performed: . + + + + + Looks up a localized string similar to Expected invocation on the mock at most {1} times, but was {2} times: . + + + + + Looks up a localized string similar to Expected invocation on the mock at most once, but was {2} times: . + + + + + Looks up a localized string similar to Expected invocation on the mock between {0} and {1} times (Exclusive), but was {2} times: . + + + + + Looks up a localized string similar to Expected invocation on the mock between {0} and {1} times (Inclusive), but was {2} times: . + + + + + Looks up a localized string similar to Expected invocation on the mock exactly {0} times, but was {2} times: . + + + + + Looks up a localized string similar to Expected invocation on the mock should never have been performed, but was {2} times: . + + + + + Looks up a localized string similar to Expected invocation on the mock once, but was {2} times: . + + + + + Looks up a localized string similar to All invocations on the mock must have a corresponding setup.. + + + + + Looks up a localized string similar to Object instance was not created by Moq.. + + + + + Looks up a localized string similar to Out expression must evaluate to a constant value.. + + + + + Looks up a localized string similar to Performed invocations:. + + + + + Looks up a localized string similar to Property {0}.{1} does not have a getter.. + + + + + Looks up a localized string similar to Property {0}.{1} does not have a setter.. + + + + + Looks up a localized string similar to Type {0} does not have matching protected member: {1}. + + + + + Looks up a localized string similar to Ref expression must evaluate to a constant value.. + + + + + Looks up a localized string similar to Invocation needs to return a value and therefore must have a corresponding setup that provides it.. + + + + + Looks up a localized string similar to Expression is not an event add: {0}. + + + + + Looks up a localized string similar to Expression is not an event remove: {0}. + + + + + Looks up a localized string similar to Expression is not a property access: {0}. + + + + + Looks up a localized string similar to Expression is not a setter: {0}. + + + + + Looks up a localized string similar to Type {0} does not have a default (public parameterless) constructor.. + + + + + Looks up a localized string similar to Type {0} does not implement required interface {1}. + + + + + Looks up a localized string similar to Type to mock ({0}) must be an interface, a delegate, or a non-sealed, non-static class.. + + + + + Looks up a localized string similar to To specify a setup for public property {0}.{1}, use the typed overloads, such as: + mock.Setup(x => x.{1}).Returns(value); + mock.SetupGet(x => x.{1}).Returns(value); //equivalent to previous one + mock.SetupSet(x => x.{1}).Callback(callbackDelegate); + . + + + + + Looks up a localized string similar to Unexpected translation of a member access: {0}. + + + + + Looks up a localized string similar to Unhandled binding type: {0}. + + + + + Looks up a localized string similar to Unhandled expression type: {0}. + + + + + Looks up a localized string similar to {0}: + This setup was not matched.. + + + + + Looks up a localized string similar to Unsupported expression: {0}. + + + + + Looks up a localized string similar to Unsupported expression: {0} + {1}. + + + + + Looks up a localized string similar to Extension methods (here: {0}) may not be used in setup / verification expressions.. + + + + + Looks up a localized string similar to Member {0} is not supported for protected mocking.. + + + + + Looks up a localized string similar to Non-overridable members (here: {0}) may not be used in setup / verification expressions.. + + + + + Looks up a localized string similar to Static members (here: {0}) may not be used in setup / verification expressions.. + + + + + Looks up a localized string similar to {0}: + This mock failed verification due to the following unverified invocations:. + + + + + Looks up a localized string similar to Use ItExpr.IsNull<TValue> rather than a null argument value, as it prevents proper method lookup.. + + + + + Looks up a localized string similar to It is impossible to call the provided strongly-typed predicate due to the use of a type matcher. Provide a weakly-typed predicate with two parameters (object, Type) instead.. + + + + + Looks up a localized string similar to {0}:. + + + + + Looks up a localized string similar to {0}: + This mock failed verification due to the following:. + + + + + Looks up a localized string similar to The mock repository failed verification due to the following:. + + + + + Allows setups to be specified for protected members (methods and properties) + seen through another type with corresponding members (that is, members + having identical signatures as the ones to be set up). + + Type of the mocked object. + + Any type with members whose signatures are identical to the mock's protected members (except for their accessibility level). + + + + + Specifies a setup on the mocked type for a call to a method. + + Lambda expression that specifies the expected method invocation. + + + + + Specifies a setup on the mocked type for a call to a value-returning method. + + Type of the return value. Typically omitted as it can be inferred from the expression. + Lambda expression that specifies the expected method invocation. + + + + + Specifies a setup on the mocked type for a call to a property getter. + + Type of the property. Typically omitted as it can be inferred from the expression. + Lambda expression that specifies the property getter. + + + + Specifies that the given property should have "property behavior", + meaning that setting its value will cause it to be saved and later returned when the property is requested. + (This is also known as "stubbing".) + + Type of the property. Typically omitted as it can be inferred from the expression. + Lambda expression that specifies the property. + Initial value for the property. + + + + Return a sequence of values, once per call. + + Type of the return value. Typically omitted as it can be inferred from the expression. + Lambda expression that specifies the expected method invocation. + + + + Performs a sequence of actions, one per call. + + Lambda expression that specifies the expected method invocation. + + + + Verifies that a specific invocation matching the given expression was performed on the mock. + Use in conjunction with the default . + + Lambda expression that specifies the method invocation. + + Number of times that the invocation is expected to have occurred. + If omitted, assumed to be . + + Message to include in the thrown if verification fails. + The specified invocation did not occur (or did not occur the specified number of times). + + + + Verifies that a specific invocation matching the given expression was performed on the mock. + Use in conjunction with the default . + + Type of the return value. Typically omitted as it can be inferred from the expression. + Lambda expression that specifies the method invocation. + + Number of times that the invocation is expected to have occurred. + If omitted, assumed to be . + + Message to include in the thrown if verification fails. + The specified invocation did not occur (or did not occur the specified number of times). + + + + Verifies that a property was read on the mock. + + Type of the property. Typically omitted as it can be inferred from the expression. + Lambda expression that specifies the method invocation. + + Number of times that the invocation is expected to have occurred. + If omitted, assumed to be . + + Message to include in the thrown if verification fails. + The specified invocation did not occur (or did not occur the specified number of times). + + + + Allows setups to be specified for protected members by using their + name as a string, rather than strong-typing them which is not possible + due to their visibility. + + + + + Set up protected members (methods and properties) seen through another type with identical member signatures. + + + Any type with members whose signatures are identical to the mock's protected members (except for their accessibility level). + + + + + Specifies a setup for a void method invocation with the given + , optionally specifying arguments for the method call. + + The name of the void method to be invoked. + The optional arguments for the invocation. If argument matchers are used, + remember to use rather than . + + + + Specifies a setup for a void method invocation with the given + , optionally specifying arguments for the method call. + + The name of the void method to be invoked. + Should the parameter types match exactly types that were provided + The optional arguments for the invocation. If argument matchers are used, + remember to use rather than . + + + + Specifies a setup for a void method invocation with the given + , optionally specifying arguments for the method call. + + The name of the void method to be invoked. + An array of types to be substituted for the type parameters of the current generic method definition. + Should the parameter types match exactly types that were provided + The optional arguments for the invocation. If argument matchers are used, + remember to use rather than . + + + + Specifies a setup for an invocation on a property or a non void method with the given + , optionally specifying arguments for the method call. + + The name of the method or property to be invoked. + The optional arguments for the invocation. If argument matchers are used, + remember to use rather than . + The return type of the method or property. + + + + Specifies a setup for an invocation on a property or a non void method with the given + , optionally specifying arguments for the method call. + + The name of the method or property to be invoked. + The optional arguments for the invocation. If argument matchers are used, + remember to use rather than . + Should the parameter types match exactly types that were provided + The return type of the method or property. + + + + Specifies a setup for an invocation on a property or a non void method with the given + , optionally specifying arguments for the method call. + + The name of the method or property to be invoked. + An array of types to be substituted for the type parameters of the current generic method definition. + The optional arguments for the invocation. If argument matchers are used, + remember to use rather than . + Should the parameter types match exactly types that were provided + The return type of the method or property. + + + + Specifies a setup for an invocation on a property getter with the given + . + + The name of the property. + The type of the property. + + + + Specifies a setup for an invocation on a property setter with the given + . + + The name of the property. + The property value. If argument matchers are used, + remember to use rather than . + The type of the property. + + + + Performs a sequence of actions, one per call. + + Name of the method or property being set up. + The optional arguments for the invocation. If argument matchers are used, + remember to use rather than . + + + + Performs a sequence of actions, one per call. + + Name of the method or property being set up. + Determines whether the parameter types should exactly match the types provided. + The optional arguments for the invocation. If argument matchers are used, + remember to use rather than . + + + + Performs a sequence of actions, one per call. + + Name of the method or property being set up. + An array of types to be substituted for the type parameters of the current generic method definition. + Determines whether the parameter types should exactly match the types provided. + The optional arguments for the invocation. If argument matchers are used, + remember to use rather than . + + + + Return a sequence of values, once per call. + + Name of the method or property being set up. + The optional arguments for the invocation. If argument matchers are used, + remember to use rather than . + Return type of the method or property being set up. + + + + Return a sequence of values, once per call. + + Name of the method or property being set up. + Determines whether the parameter types should exactly match the types provided. + The optional arguments for the invocation. If argument matchers are used, + remember to use rather than . + Return type of the method or property being set up. + + + + Return a sequence of values, once per call. + + Name of the method or property being set up. + An array of types to be substituted for the type parameters of the current generic method definition. + Determines whether the parameter types should exactly match the types provided. + The optional arguments for the invocation. If argument matchers are used, + remember to use rather than . + Return type of the method or property being set up. + + + + Specifies a verify for a void method with the given , + optionally specifying arguments for the method call. Use in conjunction with the default + . + + The invocation was not call the times specified by + . + The name of the void method to be verified. + The number of times a method is allowed to be called. + The optional arguments for the invocation. If argument matchers are used, + remember to use rather than . + + + + Specifies a verify for a void method with the given , + optionally specifying arguments for the method call. Use in conjunction with the default + . + + The invocation was not call the times specified by + . + The name of the void method to be verified. + An array of types to be substituted for the type parameters of the current generic method definition. + The number of times a method is allowed to be called. + The optional arguments for the invocation. If argument matchers are used, + remember to use rather than . + + + + Specifies a verify for a void method with the given , + optionally specifying arguments for the method call. Use in conjunction with the default + . + + The invocation was not call the times specified by + . + The name of the void method to be verified. + The number of times a method is allowed to be called. + Should the parameter types match exactly types that were provided + The optional arguments for the invocation. If argument matchers are used, + remember to use rather than . + + + + Specifies a verify for a void method with the given , + optionally specifying arguments for the method call. Use in conjunction with the default + . + + The invocation was not call the times specified by + . + The name of the void method to be verified. + An array of types to be substituted for the type parameters of the current generic method definition. + The number of times a method is allowed to be called. + Should the parameter types match exactly types that were provided + The optional arguments for the invocation. If argument matchers are used, + remember to use rather than . + + + + Specifies a verify for an invocation on a property or a non void method with the given + , optionally specifying arguments for the method call. + + The invocation was not call the times specified by + . + The name of the method or property to be invoked. + The optional arguments for the invocation. If argument matchers are used, + remember to use rather than . + The number of times a method is allowed to be called. + The type of return value from the expression. + + + + Specifies a verify for an invocation on a property or a non void method with the given + , optionally specifying arguments for the method call. + + The invocation was not call the times specified by + . + The name of the method or property to be invoked. + An array of types to be substituted for the type parameters of the current generic method definition. + The optional arguments for the invocation. If argument matchers are used, + remember to use rather than . + The number of times a method is allowed to be called. + The type of return value from the expression. + + + + Specifies a verify for an invocation on a property or a non void method with the given + , optionally specifying arguments for the method call. + + The invocation was not call the times specified by + . + The name of the method or property to be invoked. + Should the parameter types match exactly types that were provided + The optional arguments for the invocation. If argument matchers are used, + remember to use rather than . + The number of times a method is allowed to be called. + The type of return value from the expression. + + + + Specifies a verify for an invocation on a property or a non void method with the given + , optionally specifying arguments for the method call. + + The invocation was not call the times specified by + . + The name of the method or property to be invoked. + An array of types to be substituted for the type parameters of the current generic method definition. + Should the parameter types match exactly types that were provided + The optional arguments for the invocation. If argument matchers are used, + remember to use rather than . + The number of times a method is allowed to be called. + The type of return value from the expression. + + + + Specifies a verify for an invocation on a property getter with the given + . + The invocation was not call the times specified by + . + + The name of the property. + The number of times a method is allowed to be called. + The type of the property. + + + + Specifies a setup for an invocation on a property setter with the given + . + + The invocation was not call the times specified by + . + The name of the property. + The number of times a method is allowed to be called. + The property value. + The type of the property. If argument matchers are used, + remember to use rather than . + + + + Allows the specification of a matching condition for an + argument in a protected member setup, rather than a specific + argument value. "ItExpr" refers to the argument being matched. + + + Use this variant of argument matching instead of + for protected setups. + This class allows the setup to match a method invocation + with an arbitrary value, with a value in a specified range, or + even one that matches a given predicate, or null. + + + + + Contains matchers for (C#) / (VB.NET) parameters of type . + + The parameter type. + + + + Matches any value that is assignment-compatible with type . + + + + + + Matches a null value of the given type. + + + Required for protected mocks as the null value cannot be used + directly as it prevents proper method overload selection. + + + + // Throws an exception for a call to Remove with a null string value. + mock.Protected() + .Setup("Remove", ItExpr.IsNull<string>()) + .Throws(new InvalidOperationException()); + + + Type of the value. + + + + Matches any value of the given type. + + + Typically used when the actual argument value for a method + call is not relevant. + + + + // Throws an exception for a call to Remove with any string value. + mock.Protected() + .Setup("Remove", ItExpr.IsAny<string>()) + .Throws(new InvalidOperationException()); + + + Type of the value. + + + + Matches any value that satisfies the given predicate. + + Type of the argument to check. + The predicate used to match the method argument. + + Allows the specification of a predicate to perform matching + of method call arguments. + + + This example shows how to return the value 1 whenever the argument to the + Do method is an even number. + + mock.Protected() + .Setup("Do", ItExpr.Is<int>(i => i % 2 == 0)) + .Returns(1); + + This example shows how to throw an exception if the argument to the + method is a negative number: + + mock.Protected() + .Setup("GetUser", ItExpr.Is<int>(i => i < 0)) + .Throws(new ArgumentException()); + + + + + + Matches any value that is in the range specified. + + Type of the argument to check. + The lower bound of the range. + The upper bound of the range. + The kind of range. See . + + The following example shows how to expect a method call + with an integer argument within the 0..100 range. + + mock.Protected() + .Setup("HasInventory", + ItExpr.IsAny<string>(), + ItExpr.IsInRange(0, 100, Range.Inclusive)) + .Returns(false); + + + + + + Matches a string argument if it matches the given regular expression pattern. + + The pattern to use to match the string argument value. + + The following example shows how to expect a call to a method where the + string argument matches the given regular expression: + + mock.Protected() + .Setup("Check", ItExpr.IsRegex("[a-z]+")) + .Returns(1); + + + + + + Matches a string argument if it matches the given regular expression pattern. + + The pattern to use to match the string argument value. + The options used to interpret the pattern. + + The following example shows how to expect a call to a method where the + string argument matches the given regular expression, in a case insensitive way: + + mock.Protected() + .Setup("Check", ItExpr.IsRegex("[a-z]+", RegexOptions.IgnoreCase)) + .Returns(1); + + + + + + used to replace occurrences of `TAnalog.Member` sub-expressions with `T.Member`. + + + + + Enables the Protected() method on , + allowing setups to be set for protected members by using their + name as a string, rather than strong-typing them which is not possible + due to their visibility. + + + + + Enable protected setups for the mock. + + Mocked object type. Typically omitted as it can be inferred from the mock instance. + The mock to set the protected setups on. + + + + An implementation of that is based on Castle DynamicProxy. + + + + + + + + Attempts to find the most specific override for the given method + in the type chains (base class, interfaces) of the given . + + + + + Performs a non-virtual (non-polymorphic) call to the given + using the specified object and . + + + + + This hook tells Castle DynamicProxy to proxy the default methods it suggests, + plus some of the methods defined by , e.g. so we can intercept + and give mocks useful default names. + + + + Do not use. (Moq requires this class so that methods can be set up on interface mocks.) + + + + + + + + + + + + Do not use. (Moq requires this interface so that methods can be set up on interface mocks.) + + + + + + + Gets the global instance used by Moq. + + + + + Kind of range to use in a filter specified through + . + + + + + The range includes the to and + from values. + + + + + The range does not include the to and + from values. + + + + + Defines async extension methods on IReturns. + + + + + Specifies the value to return from an asynchronous method. + + Mocked type. + Type of the return value. + Returns verb which represents the mocked type and the task of return type + The value to return, or . + + + + Specifies the value to return from an asynchronous method. + + Mocked type. + Type of the return value. + Returns verb which represents the mocked type and the task of return type + The value to return, or . + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Mocked type. + Type of the return value. + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Mocked type. + Type of the return value. + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Specifies the exception to throw when the asynchronous method is invoked. + + Mocked type. + Returns verb which represents the mocked type and the task return type + Exception instance to throw. + + + + Specifies the exception to throw when the asynchronous method is invoked. + + Mocked type. + Type of the return value. + Returns verb which represents the mocked type and the task of return type + Exception instance to throw. + + + + Specifies the exception to throw when the asynchronous method is invoked. + + Mocked type. + Type of the return value. + Returns verb which represents the mocked type and the task of return type + Exception instance to throw. + + + + Allows to specify the delayed return value of an asynchronous method. + + + + + Allows to specify the delayed return value of an asynchronous method. + + + + + Allows to specify the delayed return value of an asynchronous method. + + + + + Allows to specify the delayed return value of an asynchronous method. + + + + + Allows to specify the delayed return value of an asynchronous method. + Use the argument to pass in (seeded) random generators used across your unit test. + + + + + Allows to specify the delayed return value of an asynchronous method. + Use the argument to pass in (seeded) random generators used across your unit test. + + + + + Allows to specify the exception thrown by an asynchronous method. + + + + + Allows to specify the exception thrown by an asynchronous method. + + + + + Allows to specify the exception thrown by an asynchronous method. + + + + + Allows to specify the exception thrown by an asynchronous method. + + + + + Allows to specify the exception thrown by an asynchronous method. + Use the argument to pass in (seeded) random generators used across your unit test. + + + + + Allows to specify the exception thrown by an asynchronous method. + Use the argument to pass in (seeded) random generators used across your unit test. + + + + + Defines async extension methods on IReturns. + + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Type of the function parameter. + Mocked type. + Type of the return value. + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Type of the function parameter. + Mocked type. + Type of the return value. + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Specifies a function that will calculate the value to return from the asynchronous method. + + Returns verb which represents the mocked type and the task of return type + The function that will calculate the return value. + + + + Programmable setup used by . + + + + + Attempts to get this setup's return value without invoking user code + (which could have side effects beyond Moq's understanding and control). + + + + + Verifies this setup and those of its inner mock (if present and known). + + + Specifies whether recursive verification should be performed. + + + Specifies which setups should be verified. + + + The set of mocks that have already been verified. + + + This setup or any of its inner mock (if present and known) failed verification. + + + + + Setup used by for property getters. + + + + + Setup used by for property setters. + + + + + Represents a switch, or a combination of switches, that can be either enabled or disabled. + When set via or , they determine how a mock will operate. + + + + + The default set of switches. The switches covered by this enumeration value may change between different versions of Moq. + + + + + When enabled, specifies that source file information should be collected for each setup. + This results in more helpful error messages, but may affect performance. + + + + + Defines the number of invocations allowed by a mocked method. + + + + Deconstructs this instance. + This output parameter will receive the minimum required number of calls satisfying this instance (i.e. the lower inclusive bound). + This output parameter will receive the maximum allowed number of calls satisfying this instance (i.e. the upper inclusive bound). + + + + Specifies that a mocked method should be invoked times + as minimum. + + The minimum number of times. + An object defining the allowed number of invocations. + + + + Specifies that a mocked method should be invoked one time as minimum. + + An object defining the allowed number of invocations. + + + + Specifies that a mocked method should be invoked times + as maximum. + + The maximum number of times. + An object defining the allowed number of invocations. + + + + Specifies that a mocked method should be invoked one time as maximum. + + An object defining the allowed number of invocations. + + + + Specifies that a mocked method should be invoked between + and times. + + The minimum number of times. + The maximum number of times. + The kind of range. See . + An object defining the allowed number of invocations. + + + + Specifies that a mocked method should be invoked exactly + times. + + The times that a method or property can be called. + An object defining the allowed number of invocations. + + + + Specifies that a mocked method should not be invoked. + + An object defining the allowed number of invocations. + + + + Specifies that a mocked method should be invoked exactly one time. + + An object defining the allowed number of invocations. + + + + Returns a value indicating whether this instance is equal to a specified value. + + A value to compare to this instance. + + if has the same value as this instance; + otherwise, . + + + + + Returns a value indicating whether this instance is equal to a specified value. + + An object to compare to this instance. + + if has the same value as this instance; + otherwise, . + + + + + 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. + + + + + Determines whether two specified objects have the same value. + + The first . + The second . + + if has the same value as ; + otherwise, . + + + + + Determines whether two specified objects have different values. + + The first . + The second . + + if the value of is different from + 's; otherwise, . + + + + + + + + Checks whether the specified number of invocations matches the constraint described by this instance. + + The number of invocations to check. + + if matches the constraint described by this instance; + otherwise, . + + + + + Marks a type as a type matcher, optionally specifying another type that will perform the matching. + + Type matchers preferably implement themselves. Use the parameterized form of this attribute + where this is not possible, such as when the type matcher needs to be a or + type in order to satisfy generic type constraints of the method where it is used. + + + + + + Initializes a new instance of the class. + + Use this constructor overload if the type on which this attribute is placed implements itself. + + + + + + Initializes a new instance of the class. + + Use this constructor overload if the type on which this attribute is placed does not implement . + The specified type will instead provide the implementation of . + + + The of a type that implements . + + + + Interface that is used to build fluent interfaces by hiding methods declared by from IntelliSense. + + + Code that consumes implementations of this interface should expect one of two things: + + When referencing the interface from within the same solution (project reference), you will still see the methods this interface is meant to hide. + When referencing the interface through the compiled output assembly (external reference), the standard Object methods will be hidden as intended. + When using Resharper, be sure to configure it to respect the attribute: Options, go to Environment | IntelliSense | Completion Appearance and check "Filter members by [EditorBrowsable] attribute". + + See https://kzu.github.io/IFluentInterface for more information. + + + + + + Redeclaration that hides the method from IntelliSense. + + + + + Redeclaration that hides the method from IntelliSense. + + + + + Redeclaration that hides the method from IntelliSense. + + + + + Redeclaration that hides the method from IntelliSense. + + + + + Contains the two extension methods + and + . + + + + + Appends a string representation of the specified type to this instance. + + The instance to which to append. + The of which a string representation should be appended. + Any combination of formatting options that should be applied. (Optional.) + A reference to this instance after the append operation has completed. + + + + Gets a string representation of this instance. + + The of which a string representation is requested. + Any combination of formatting options that should be applied. (Optional.) + A string representation of this instance. + + + + Replacement for + which may be slow or even unavailable on earlier target frameworks. + + + + + Allows uniform reflection across all target frameworks. + + + + + Allows uniform reflection across all target frameworks. + + + + + Allows uniform reflection across all target frameworks. + + + + + Allows uniform reflection across all target frameworks. + + + + + An enumeration of available options when a name's string representation is requested. + + + + + The default type name formatting options. + + + + + Specifies that a type's namespace should be included. + + For example, the type is formatted as "Action" by default. + When this flag is specified, it will be formatted as "System.Action". + + + + + + Specifies that anonymous types should not be transformed to C#-like syntax. + + For example, the anonymous type of "new { Name = "Blob", Count = 17 }" is formatted as + "{string Name, int Count}" by default. When this flag is specified, it will be formatted as + the raw "display class" name, which looks something like "<>f__AnonymousType5<string, int>". + + + + + + Specifies that an open generic type's parameter names should be omitted. + + For example, the open generic type is formatted as "IEquatable<T>" by default. + When this flag is specified, it will be formatted as "IEquatable<>". + + + + + + Specifies that primitive types should not be mapped to their corresponding C# language keywords. + + For example, the type is formatted as "int" by default. + When this flag is specified, it will be formatted as "Int32". + + + + + + Specifies that nullable types should not be simplified to C# question mark syntax. + + For example, the type of is formatted as "int?" by default. + When this flag is specified, it will be formatted as "Nullable<int>". + + + + + + Specifies that value tuple types should not be transformed to C# tuple syntax. + + For example, the type of , + is formatted as "(bool, int)" by default. When this flag is specified, + it will be formatted as "ValueTuple<bool, int>". + + + + + diff --git a/src/packages/Moq.4.16.1/moq.png b/src/packages/Moq.4.16.1/moq.png new file mode 100644 index 0000000000000000000000000000000000000000..41cf4062f3028f6aed379ac62d7cc65b2c14b25a GIT binary patch literal 6829 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 b00960reLzkUBjK-00000NkvXXu0mjfsqI4` literal 0 HcmV?d00001 diff --git a/src/packages/NUnit.2.5.9.10348/Logo.ico b/src/packages/NUnit.2.5.9.10348/Logo.ico deleted file mode 100644 index 13c4ff9d5b03bd16bf4ebb2a909b5be799125457..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1078 zcmcJNy^(`35QP`t#U4r^^05(PUpuq&kJ**jfczny{h|T28&q986dB8F<0uc|!I|e7t4J=dHVQG+;5uQ=t0e9PU_K2N&g@xa|%o|87K zEwdlm8y?v(yDacX`<|Br@AA)_6F%}}X|G!A$*WrT@XSl_4fW-*cr33u*BlSXHs>S$ uhEL7;twDPw+#(|wa^m+bdD&TCd90TIH-#xAtk%$|)SGWtJo4>4@7jM=Ne>tR diff --git a/src/packages/NUnit.2.5.9.10348/NUnit.2.5.9.10348.nupkg b/src/packages/NUnit.2.5.9.10348/NUnit.2.5.9.10348.nupkg deleted file mode 100644 index e770e045222ff490508d4a12f1bb81a67abb2ca7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 766139 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

`(*Jp>=IyLh1d27(_djp23HrN?Y6{yU%&@Vagb7 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 z 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%0Dq-7oPy}m(ODeh>GPOb|6YgGQcJwrMk;&ztT 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

csVIl3+^lE)&KR*K>6SkOA1v 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 diff --git a/src/packages/NUnit.2.5.9.10348/NUnitFitTests.html b/src/packages/NUnit.2.5.9.10348/NUnitFitTests.html deleted file mode 100644 index ca5cd4f..0000000 --- a/src/packages/NUnit.2.5.9.10348/NUnitFitTests.html +++ /dev/null @@ -1,277 +0,0 @@ - - - -

NUnit Acceptance Tests

-

- Developers love self-referential programs! Hence, NUnit has always run all it's - own tests, even those that are not really unit tests. -

Now, beginning with NUnit 2.4, NUnit has top-level tests using Ward Cunningham's - FIT framework. At this time, the tests are pretty rudimentary, but it's a start - and it's a framework for doing more. -

Running the Tests

-

Open a console or shell window and navigate to the NUnit bin directory, which - contains this file. To run the test under Microsoft .Net, enter the command -

    runFile NUnitFitTests.html TestResults.html .
- To run it under Mono, enter -
    mono runFile.exe NUnitFitTests.html TestResults.html .
- Note the space and dot at the end of each command. The results of your test - will be in TestResults.html in the same directory. -

Platform and CLR Version

- - - - -
NUnit.Fixtures.PlatformInfo
-

Verify Unit Tests

-

- Load and run the NUnit unit tests, verifying that the results are as expected. - When these tests are run on different platforms, different numbers of tests may - be skipped, so the values for Skipped and Run tests are informational only. -

- The number of tests in each assembly should be constant across all platforms - - any discrepancy usually means that one of the test source files was not - compiled on the platform. There should be no failures and no tests ignored. -

Note: - At the moment, the nunit.extensions.tests assembly is failing because the - fixture doesn't initialize addins in the test domain. -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NUnit.Fixtures.AssemblyRunner
AssemblyTests()Run()Skipped()Ignored()Failures()
nunit.framework.tests.dll397  00
nunit.core.tests.dll355  00
nunit.util.tests.dll238  00
nunit.mocks.tests.dll43  00
nunit.extensions.tests.dll5  00
nunit-console.tests.dll40  00
nunit.uikit.tests.dll34  00
nunit-gui.tests.dll15  00
nunit.fixtures.tests.dll6  00
-

Code Snippet Tests

-

- These tests create a test assembly from a snippet of code and then load and run - the tests that it contains, verifying that the structure of the loaded tests is - as expected and that the number of tests run, skipped, ignored or failed is - correct. -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NUnit.Fixtures.SnippetRunner
CodeTree()Run()Skipped()Ignored()Failures()
public class TestClass
-{
-}
-
EMPTY0000
using NUnit.Framework;
-
-[TestFixture]
-public class TestClass
-{
-}
-
TestClass0000
using NUnit.Framework;
-
-[TestFixture]
-public class TestClass
-{
-    [Test]
-    public void T1() { }
-    [Test]
-    public void T2() { }
-    [Test]
-    public void T3() { }
-}
-
TestClass
->T1
->T2
->T3
-
3000
using NUnit.Framework;
-
-[TestFixture]
-public class TestClass1
-{
-    [Test]
-    public void T1() { }
-}
-
-[TestFixture]
-public class TestClass2
-{
-    [Test]
-    public void T2() { }
-    [Test]
-    public void T3() { }
-}
-
TestClass1
->T1
-TestClass2
->T2
->T3
-
3000
using NUnit.Framework;
-
-[TestFixture]
-public class TestClass
-{
-    [Test]
-    public void T1() { }
-    [Test, Ignore]
-    public void T2() { }
-    [Test]
-    public void T3() { }
-}
-
TestClass
->T1
->T2
->T3
-
2010
using NUnit.Framework;
-
-[TestFixture]
-public class TestClass
-{
-    [Test]
-    public void T1() { }
-    [Test, Explicit]
-    public void T2() { }
-    [Test]
-    public void T3() { }
-}
-
TestClass
->T1
->T2
->T3
-
2100
-

Summary Information

- - - - -
fit.Summary
- - diff --git a/src/packages/NUnit.2.5.9.10348/Tools/NUnitFitTests.html b/src/packages/NUnit.2.5.9.10348/Tools/NUnitFitTests.html deleted file mode 100644 index ca5cd4f..0000000 --- a/src/packages/NUnit.2.5.9.10348/Tools/NUnitFitTests.html +++ /dev/null @@ -1,277 +0,0 @@ - - - -

NUnit Acceptance Tests

-

- Developers love self-referential programs! Hence, NUnit has always run all it's - own tests, even those that are not really unit tests. -

Now, beginning with NUnit 2.4, NUnit has top-level tests using Ward Cunningham's - FIT framework. At this time, the tests are pretty rudimentary, but it's a start - and it's a framework for doing more. -

Running the Tests

-

Open a console or shell window and navigate to the NUnit bin directory, which - contains this file. To run the test under Microsoft .Net, enter the command -

    runFile NUnitFitTests.html TestResults.html .
- To run it under Mono, enter -
    mono runFile.exe NUnitFitTests.html TestResults.html .
- Note the space and dot at the end of each command. The results of your test - will be in TestResults.html in the same directory. -

Platform and CLR Version

- - - - -
NUnit.Fixtures.PlatformInfo
-

Verify Unit Tests

-

- Load and run the NUnit unit tests, verifying that the results are as expected. - When these tests are run on different platforms, different numbers of tests may - be skipped, so the values for Skipped and Run tests are informational only. -

- The number of tests in each assembly should be constant across all platforms - - any discrepancy usually means that one of the test source files was not - compiled on the platform. There should be no failures and no tests ignored. -

Note: - At the moment, the nunit.extensions.tests assembly is failing because the - fixture doesn't initialize addins in the test domain. -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NUnit.Fixtures.AssemblyRunner
AssemblyTests()Run()Skipped()Ignored()Failures()
nunit.framework.tests.dll397  00
nunit.core.tests.dll355  00
nunit.util.tests.dll238  00
nunit.mocks.tests.dll43  00
nunit.extensions.tests.dll5  00
nunit-console.tests.dll40  00
nunit.uikit.tests.dll34  00
nunit-gui.tests.dll15  00
nunit.fixtures.tests.dll6  00
-

Code Snippet Tests

-

- These tests create a test assembly from a snippet of code and then load and run - the tests that it contains, verifying that the structure of the loaded tests is - as expected and that the number of tests run, skipped, ignored or failed is - correct. -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NUnit.Fixtures.SnippetRunner
CodeTree()Run()Skipped()Ignored()Failures()
public class TestClass
-{
-}
-
EMPTY0000
using NUnit.Framework;
-
-[TestFixture]
-public class TestClass
-{
-}
-
TestClass0000
using NUnit.Framework;
-
-[TestFixture]
-public class TestClass
-{
-    [Test]
-    public void T1() { }
-    [Test]
-    public void T2() { }
-    [Test]
-    public void T3() { }
-}
-
TestClass
->T1
->T2
->T3
-
3000
using NUnit.Framework;
-
-[TestFixture]
-public class TestClass1
-{
-    [Test]
-    public void T1() { }
-}
-
-[TestFixture]
-public class TestClass2
-{
-    [Test]
-    public void T2() { }
-    [Test]
-    public void T3() { }
-}
-
TestClass1
->T1
-TestClass2
->T2
->T3
-
3000
using NUnit.Framework;
-
-[TestFixture]
-public class TestClass
-{
-    [Test]
-    public void T1() { }
-    [Test, Ignore]
-    public void T2() { }
-    [Test]
-    public void T3() { }
-}
-
TestClass
->T1
->T2
->T3
-
2010
using NUnit.Framework;
-
-[TestFixture]
-public class TestClass
-{
-    [Test]
-    public void T1() { }
-    [Test, Explicit]
-    public void T2() { }
-    [Test]
-    public void T3() { }
-}
-
TestClass
->T1
->T2
->T3
-
2100
-

Summary Information

- - - - -
fit.Summary
- - diff --git a/src/packages/NUnit.2.5.9.10348/Tools/NUnitTests.config b/src/packages/NUnit.2.5.9.10348/Tools/NUnitTests.config deleted file mode 100644 index fb15771..0000000 --- a/src/packages/NUnit.2.5.9.10348/Tools/NUnitTests.config +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/packages/NUnit.2.5.9.10348/Tools/NUnitTests.nunit b/src/packages/NUnit.2.5.9.10348/Tools/NUnitTests.nunit deleted file mode 100644 index e7bb7f4..0000000 --- a/src/packages/NUnit.2.5.9.10348/Tools/NUnitTests.nunit +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - diff --git a/src/packages/NUnit.2.5.9.10348/Tools/agent.conf b/src/packages/NUnit.2.5.9.10348/Tools/agent.conf deleted file mode 100644 index ddbcd8e..0000000 --- a/src/packages/NUnit.2.5.9.10348/Tools/agent.conf +++ /dev/null @@ -1,4 +0,0 @@ - - 8080 - . - \ No newline at end of file diff --git a/src/packages/NUnit.2.5.9.10348/Tools/agent.log.conf b/src/packages/NUnit.2.5.9.10348/Tools/agent.log.conf deleted file mode 100644 index 4bd90ca..0000000 --- a/src/packages/NUnit.2.5.9.10348/Tools/agent.log.conf +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - - - - - diff --git a/src/packages/NUnit.2.5.9.10348/Tools/launcher.log.conf b/src/packages/NUnit.2.5.9.10348/Tools/launcher.log.conf deleted file mode 100644 index 4bd90ca..0000000 --- a/src/packages/NUnit.2.5.9.10348/Tools/launcher.log.conf +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - - - - - diff --git a/src/packages/NUnit.2.5.9.10348/Tools/lib/Failure.png b/src/packages/NUnit.2.5.9.10348/Tools/lib/Failure.png deleted file mode 100644 index 2e400b276fcd227a2f056b4a2c704a3a17776bf2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1445 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%G|oWRD45bDP46hOx7_4S6Fo+k-*%fHRz`)E9 z;1l8sRKUo{$jk&pOzh0e>?|xCtgIXy9AX@7f`WolBEl*>9IAX==Hfz@lA;O<3Z|x} z=H}*(GUDEnLVmJhVG{fi(t<7u(jH2(0Sb~Ks&cUk;@+wXk-8eO#(GKWa-pH2$ss|h zp~2Ke@2e>~Y_E0LUi+wv!C_DH6K+N)-Azt;nV<2oIOl71F3|2`ko~DZ zhsz<3S3;eyg}dH}_PiDAeIw52M!etQ;dFk&lg!9x zxiPQH(%x6+%xtKg)mS&HsqSDyX-iAX#EBDU&z?PJ&YbPrx9{1r=fZ^x*REXy2Gl4R zej%{GtG*hT1sF<#{DS|FY`_rwom~|e!<+>kk;T9Q2$?i7*PM82?WL(g zN`WPzD}+VwdMv!tclO`E`;B||X1=U6{T!X0cGlpZ__Dns(^Q{q33<@@B{==%nWLWe zk1k$d-u?gaXS02Y?em%@UT;|X`Le6Q9%a@~-wSg4Dw&gQuTA7S^0aqm1jFsXn`gLK zuT`(x(RJ!s_RG_k0(5hn3;4_C?KACI9eX3|FH6Gy)$UIicifXYyG!~|)yo?vi~jBW z6jT{=a3z2Dp~83PY7E{_76^TyV3HAkJ?rKNS%G|oWRD45bDP46hOx7_4S6Fo+k-*%fHRz`)E9 z;1l8sR3IV3CMCuuBf%yw#V#+yE-S?^FDoh|Eg>f-CoeCrq`;x7$f=^tsj9-Mp$sFr8r9QJqWp9JN1n((vk4)9WYVZyYLZYHDh3Zk{%6 z+U(i0=ggV2ZQHi(+qd7_JNN$nxepFbyLRo`{rmS{9XSXL&rvXhLg0aY?KWVZVkimn z3;sW{0YmV2c2!{1aTa()76S{QYaq-xA-{4CP*9@8HKHUqKdq!Zu_%=xATcwqM94ZLo|YufAq6S9Qc#sYAG36YapyLLGk>-bH|RITgV`K;&Dp4 zNJ!Ykgrw`OD?F|zU))eouw`|VL?6U#FuR-@+LO+}L)C2jq= zW9lKJMyAYvZGncJoU;!7nZ(AJnZTH=KEFa&Q!q6Ac)=+(gsSzopr024hF%>V!Z diff --git a/src/packages/NUnit.2.5.9.10348/Tools/lib/Inconclusive.png b/src/packages/NUnit.2.5.9.10348/Tools/lib/Inconclusive.png deleted file mode 100644 index 4807b7cedbc70436d121f9052bdf719cf2e692ed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1436 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%G|oWRD45bDP46hOx7_4S6Fo+k-*%fHRz`)E9 z;1l8s(!-;v$fu>mr>!iYtt6tUDypL{qOT^Vt0bYJBB8A!rKK*Rt0Qk@EN!c;ps%fD zpr>e}r)s39Zm6$mXsBy!qvh-)o9Lz!=xO8cZ4?%09~ER96Q+?FW|$Ufk(q2+7U~t1 z=2@KXSDY14R#9G2TT@$KU!QH+Sm7{nsr{u{5j$FQC(J5Yy}V@qDzB>xV-BnhxV}E< z#)i-v%af09O1ru(@y_;?I~y}E@65QjJNy2g{QDbfj%}(txux>_&a!K}Dy|)>dfd>^ z(9+z}+uPgU-#@iw?zFaf)22*=ZP=V$w$ot^OV-0Y|Km*2m- z@a@fIuWzh)|6=3yms@T*mXFhFlJ$A(H^yZVhQkhwqa=!#$zBDQ}POMF^Q*x%A)1RPa-{KM&m0#}=i4RPCS&+>>!C^t~!qAdQeH&7owuBmZcyF7% zZ)WnIu7;vLi+5U|2w1SyZCYPoRaxJ(g$ddJ|CjR_noWKjV8CD6W_kCvu1AyiFkkj&ff-?id-yQAc$CUKbKq=bO)z4*}Q$iB}HW4*& diff --git a/src/packages/NUnit.2.5.9.10348/Tools/lib/Skipped.png b/src/packages/NUnit.2.5.9.10348/Tools/lib/Skipped.png deleted file mode 100644 index 7c9fc64e3874e15f3f22a234083c1da3ce8d62b8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1405 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%G|oWRD45bDP46hOx7_4S6Fo+k-*%fHRz`)E9 z;1l8sRN(9D>+kO$5D*X;7#I{36d4&A6B82~8=H`jker;HmX?;8nVFT9m6MZ`o12@T zpI=Z=P*_-4R8&-4TwGF8Qe9nLQ&Ur0TU%FGS6^S>(9qD>*x1z6)ZEoQeotUc4CddXRJaa_yUX@}NK6`G*Q rap=JLd&hddy85ua{(ro-{sHGx)snNf1MdKfN(Kf`S3j3^P6NS%G|oWRD45bDP46hOx7_4S6Fo+k-*%fHRz`)E9 z;1l8sRKUo{$iT$F$i&FP&cejS#KytK&dtus&&t8a!79qiDb2|%%gbWKB5xwEsi|pi zZ!hR5DCQ_8m>_8BYiS!{tB|drnWkx$Z|30O;F9a&R^cQtT|ji2DC;^_{!RSCn}wye zOUdq#Rq0dFZPT@#YOA+736d-j|;b5^fjy?y)kzB9co_gm(kXq|kyZOXm=d3UF- zxj1e8wK-eQ%-ni$?$wK1u3ftZ42n@O(n8?#y__;&7GNj|@(cbyvH?TzcXm}^{Bss~ zL>2=JAYg{zy~a2pzj6*xP@=>&q9iy!t)x7$D3u`~F*C13&(AePq0Cs%*lgwVM<9)7 zJY5_^G=h_V^s`AE_`@OZ??1oe|Np)J|Fd&fNJ?d7NlEPTHmYb~z2o!biRe_3R0~Oo zAC63MYDEjzm0f!k!^6X*pexu`^zUIJBcBZq&!IL!2S)kYxVsM~C}^^=74jO(FKAdU zz&yERfxa~J{Kb8}>K+cQQyU%qTN*E3I(bV>4OIj9Z-1nd_^+fC85L>3(lN5 zaNymeob{wrblmH;2j<40nnP d7?&t8Fes)~X?EOwb{gm}22WQ%mvv4FO#qjX@@4=4 diff --git a/src/packages/NUnit.2.5.9.10348/Tools/lib/fit.dll b/src/packages/NUnit.2.5.9.10348/Tools/lib/fit.dll deleted file mode 100644 index 40bbef0e292de5f8c0d5f291bdcb6d48dd00cac4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 49152 zcmeHw3wT_`k#3#GoHKJqGxCh=k!4Hq$i`-jBwMz@7%)b*{J`KBmhc0-!DDG`50-Sq znGt>nfgHe)U|!)7a6)1T;gKgv*bP}8fk3>Fr`aVe*?>bfB%949yO2%x!rdg?zpBrf z8OestcfWhTd%t@%X8LqhS65e8S65f}=@F|hx`hlPGVy))U82YEo=$ceoFNfT|IjSuflb$r9yh7dGfZ*_}6#+al|uV#8(gg%HKnI5wJnHZ6CFa*3CN6s&)K}lf>ktIl@d6sTuKw~*p^E6~}9AHIl z!vz=XSh7mD!tMlQQGyc_>lmHF?Z}?}Y)Y)5BblUZbu8iN zep{CCJZAe`%RI4#A4iE3@jM$mxqrssbo6hW)->Da1-a{y4dj-Vq9wVHQBc8X`F^>b z36z*Y(b4VHw3@UK?cfw9VWd(i_Y&kC-Ez0$=>iMQ=!4LMIm8L_tm`38pfT>MUDZV4 zQzYt_4(*W zX;Q-|8wkqy$@Xv#p3q04FbSNTD=~~_ELCGRHAWKVp{QkhEgD*bkdBKMoMXm}V=#i+ zP29=IP5HU6SfW=A_-Dk<%TnEF2@#J#oPsX~*w@wEZA4Rb> zPBU75eTvXvE>`kzac0HUML#@WFo21a)6}RNmJ3?zSTw2|GKiRTfel-=n;fI%Rj#Mz zph-^rM0Tu~&fy>mSX*L~vqSK#QAXC;oeGsDs{SWa&`e@1+ za&^BhCd25uh9SyjYqEx>qC8**n`UPGU|oc0t}h2<1JW|Q4i*A-X?Z#1Okv@<0aEPK z&7)XkF=TFuEV`M&*jSZiFfl@R65bH18;a8xn3GHnH3!*NFwF8XyeCmQqVt$|EH6J; zUXv~gXh-+Z@P3BMzP$e}Xhp>F^@K@1T2FymFsHd0evImuZkTQwL&7o#edY-#{R-*S zuY2bst?UxyG|2O5bgv7=-VP*gBlwIX-77F=cO_;&W3H>je2g*oRAN4N9Og@-F;1XU zlXjtf$eGY^HZ4@dG1Ii%M}dmCUqjl=oSC92rW+9vL~)7Ln7RS&KxeYDYNtXFjPm#l zRjak>LQ3tTD6|5Hg#6{?DEx=_2r4MR%Pn~eOh_?9NliKjS=b37Ns zpThmhM=!whIkJB0h0~w}SyuH7rh|j8%)LM1iIpLtOEjYoV%;<|O;+fSDFF=``h3Q&nL!Rly|eHx))x6->fts)9*)lDC!x3QyLjbo-3M z_4*Vi$oq|ye8BnWAr{C)MX!yXi!-wz%B4;P(lRdU*{sk}g|?L#7iDIHHc6RQJk*-X z>sR0lm5zs4#j0BBQmGJ(NU)Yeorvv*9Hz_60V_4}Qa7R|q7@hZ9kX3ma4h1^13Y8I zf`(WE^N3f?=6NSxztB(l==vbHBWtx~@IQSeFE(1}li%I094!N)= zCt6Xt%%Q6GMi{DcPggP{JM$$}4a=0hFJZWH%2ZFgJDyh_Zionb=*bQ2~tCed#x6i&Na~(}Z1aT?(a=qKbKZG&iy4VFwNF<12qi)(uY)Zz z5vnziO!RJ6P@VKfS^;{JcaK76&IH54SxEMUYd2Me;o#?9Yqtda;Hp#Jy+Ud+KP%v8 zjo@bm{HzLoHo`;1fUHxEV=MXS8CV4r#x@JpDV&PQTucING(@i%7!0db)&`h?+KZ%y z5LTJG3ts`k48|SN4x?Hu-NkISj*a8E4L;EFwI*nK{`Sgx#3U)fU21UM<|OB54|D4Z?!W=5SEy7 zc@v?IEyvFrmZvG`uj<<*zi&~IK`k_Ttx|5osHbGO0J7t8MX*Xg?ASLv%1Qec9K3gu8f`R{YJ3$`e34rZSV|}ImrAh#d`*=M!Wpc)rP^4R@JTnC~nMX5 zo)>K>M^M84wFXrSohTSWCG1jQI7m5vV!BYX<=Ye1f|G(+ z%x@Tv$=KWM2Mdf`!ni3v@vLDWk*S-tFS7)r=}m?j-FD;@c=bpy6&g|c)sf&#Yeeb8 zBS8-4^$Z-mC6Ti-<(x%>u{+sD=VG_a}*stALC^~DnEMYI&DXl+8_}3 zZUuCoUAPc!Io>@0tidz{5_aC_1a2(BtRZV~Y6<=uDM$3B=tX|aB35+5`+F41Y<9+1 z)IlB*lUcz;F%{&<5*1J61Ab>m0)F1h$ohOnR`HIFDnZ0o+14*kR6LSK=`cj|V3pF3 z-;QcGIDf3@g0z~#Hu(~$u>vp6rBV~$17G(Z_(`MjUvtpkRINJqtl;nCk84-qCyu7C zwImG4tcOudRQf9;>M9gk#wt}y@HM(!8AtbGHgVWiMYol`tw3;sz&BA?$EIZ+;`E}85onT^1D)m(3r z)I&g4Sx@LIYRP%9SI6|5g&x*3xuUyzT}3E=GRQcT_nK5@qBmP*Y;PViq7*(%p6s0i zFtZE_w2s1|oQNUE^0g{-z%k6kAUClt$Q{S?f`I2y2VPHP^!|cz2oar_6_MyEI&EUh z($4>EtZO?6U$5D6RHMkGf3oH9@+@r|s@0e{^3Hr2f<|rCvc$~nr|}85S%bBhh~)v{ ziZUQ23f011ZftFt4yUz>j%~^)`95qDmZL44GV&uNDp&JX#f?}-N1WjsHD;%I2m<&rqSV7uHAU*(-{1eAP^jabjcS>Xfz}cOSL@x16CpcJgv_1@dD)4O zA0CNxKaMt2f6_94!Ip8y`xV~%euZCpzd{}k>0D_fDmwW$LCtB;k^PGE#!r@36qalL z=`-i8ocE*mD7?J(uO5H;7k=T$E|oc~y7}X|p_flcRMLKV9D)FbW1O$TX(0GQ3;|hT zVihNJ>FlX0hw#PM0YoXS_woyBw;N77xwIBd@= z`CZGnZ;ZgPy;%~Uvg6ae*HAiT`V=QMF@pfr(!D=2;`}L*R7wzPtvnC*iTy6Wmqq-_ zZ#E6tEo2bHT2ToEt0qdw#*QkbPA6pniOWhN;lJ%|1mtfV+U-e-Ue0=QLWbjFiT3!s z2a!CMAgj(BP#FmTW8sKe)FF=5G|#S6EbN4x@@rzxs%qL3{hBItL`~VE6+Q^7t}*fY zP&Q?Fa9nJL2eEpYvI{jlJo;7dc%cvZWwI&tK0Kl<9#oX=srRvwg+Wb@pAFdvm$_mw zU^_}<3~(lp@E%50Cr~PaG^fS#ekizT6WJ2C!d+7vXpO>Flm|NrwU1D5kKZe{Rx!Ew z7x3Uun=b3!MgEptWWlybKDxiMM%spWO$?6CK%>c7g77(a&$xjt?&`SVaS%_5}Rj|A0AL7k`9vb4XT#uVW99y%EhX@0# z+A^*@8A#Ya0xOXtB=0@A5buO4@TSyZKLEU;PMVZLI2J%dv{;q7SsAg^?1Wbf$wFcW z>b<$;kFQ1Tn*87Z=Ql78|KQazLwL7IxIl-F=o0}7 zVw2fZaYVwzCg8Xk*;HT!Dou}X39v96}Ax;khLSsZrI{&@pdBlXIt_ z9UewA6i2+|H^T!7V`4myr$G-x|Lr_qoLZc0FSwb9Pc5rBwQ=^3vEB)@f?_L$-a$B-}-Yu<*vZhqcJ5JO}R6-9AlC`3LPiZq|E@!&EGYf3uk zu2+&X;O}C@naKBj0zGJTv&-jC_2jr2-mpQ|v!< z;&UDT82VtEnd5zpgS<4vd4Dd&)zgr8qNxfL?4|MJw~$rKMFE{~ zaBO=i9HQKnkTT*hP} zTwm~JqX;?Wywtm(33TvYa^_%{3~5Urwi~=Fk-GybXyZEq66_)9lZXv5pM-kWu&ln) zL3vNR1@*?x1;@?>v6=ecel8fi2gOz>;hhfaR_DXVYNFmB0NL`kK=yRU9B*m@GtR?g z2<{{h#bQ)be*)Wo3bO%QrGz@x#-$Hs>tV;+3MQ6pZlc~W@^-~3=1mN{Td{ViZRDL5 zwEsG)%t@B{Y(>7Z-oA>m{}@%qF|jyWS#(u96KjA=BdNggX^pqw1i14?;>2ff7>Vlv z=v{FF+~JWpY2%TRxFcNm`y+9$Gwv5Bz@^5IkeT)8aZ=HbHQiCaX->@dAIF-qb%;ivnIj=+( z*NtjjE-5Ku(2S(teIj}=QP=a1?-yn>_JDl%`Xk`Aj%BaBH=?^kAQ+m7)fiXQRir)) z41x;Ax%-h%xmO`IWew;=NckU69-KH&Tq7amOa0QfC<1!W2yI@B@_XzbcV z(gja(i4k%?1TsfAL+;hcMDbR24`j9_b*}}=-3u6-m&>phL;JRxa=_e z$_OiEL=q7wBchaH<7WYsz?)|11ghsZ)00+Hvk8!Ip!Z&LyndJ}_;4Sw$`K9<-lLD9 zra5H`7((oaORQgkoH5;w_#GNILydk|>6k-CHG)UpV+2drxO|x#sqRc=<1F){3*TR6 zp7ZcQGG3+&i5#A%PIJtZ*H(ptkd95>y^^sLkSUpJNJ-d~QolK{eAqyr;viP{hWRi7 zM=J>#YMj-`L@=A!aCxZl%Y@p4*yE|6&j2aL`j6*=22yJ zxm4z~aCJ*n$6*Po+p4;nmg=pL`kh6brnV~m=!iO|y8pGVK8gO|=m__qdET{PoO!CM znYsWL34bL8{)9EugzYoLwJFQSbrE+MmDT<}YO10tJQYPMmwJRf*07%cW5Xo&2D#nxj=sCsoYQsBWvn5oV{dik&~pUOMJavRI@U^EZXgy()Km_@-6sB3$Gc z_2Kh&?0e~Av^yRjxw_$4eA{xmEqkBwxTSZ<{RrAqh0|-)xn#nO%I!#8z?u6)HRt`8 zf0M!UIq=-VW7cxIM3dfQSSm{Fy>9{v)F?Z|4Avs`TMetmT7Wf%O43B_Dh$xJu;RlZ zoX=-^jV;Sl!mg?uJzPZ$izjM2C1DzB7%`wS=_{_w$Kb`nz85=2BL;TvZECpT)(Afk zQtQ~2)bR1+@22yZ!!gT8mq|H<;WYg$+o_(J3*GS;Gi^AaH8Sj|We*A4#!3KP4Pbie zEeIwuSlr<2iwxuL9$U91=`0fiGb{vTHEfg*zZTUi>E^iF(=nGKNlGcB{9nR;^r% zlpjUdxMeK&BSjHaVYQ)9FJ1h%_Jv!)PdPCmibcf8)Qc(JVtY*J53n*gMQugGDpaYp z%CAGbU$Zb+C!Lg!g@K#i+Z9+I4e750D*-JJjKXqEBUnCHIZ@15aYs?kzHvjm8MVQe z>7&roBRKtZvMNqxb7uU z(=P**Dnodggf;^G?G*Vw#@&z?IV?BpFVA?x{R9f|Dp-~A-WVOFOHpPFzys^eaihpj z_fx_kY^d82&asJ6uO3Yrvhs@GvDI$@^+8sywYe&+53*i!rj)@csQM=iSQX3#4UZe&zSA%?D7hhgEtT5y-5|y zmU6#E#=LYo(9>BZe4rJ@r~&E}ObUH|uQ>UJIn z9qQ+z1^8^oQ7asVADaS4A_w<=s9(Lvs%f?5otX=Mav9KRzQB-}0*9jNmrU4ya66Vn zJmRd!yAObYBp7pM=6(iA)Dl_5?={ z-XNOfm>Ki<^Qea#^qDlC3aU!#8SMLTU?Y#s*eM`1u=FH$W36a4^AR4{a(k-OR=@w5 zTWjOC3V+&eZo9ZAmXsZ^(-e|3oN_H+4-N>6kVD?CD$~W>e~)qTBNHAy9v2>4{^;IK z=-?2Grt_wp7g{cFL>atbqVRR@qNNYb1qB|6woS_zI*lK4P!BrxZSdhj4;zE?b>x;E zUU?6lT0uC9?qDU|yis&)H<-YfuUyhRUOn|eZr{BTHJzr6u6_}LOX=K-DpTu4)Ry1g zI56juUMk)R2v0?CxHo~BdZ)-b!NwiFQ6JVhr`poNvF#wCu@WRlLJ(ihyOmyR5b9FU1 zh?bb1{T;$BY=xL!BC7dnTjn6pg$NRXO+y4W!LScm_Mvj*6_?11!{MK+u#5e(4SxIy z?(}m$`1^?PbTYr6&f-rNUO=?IV`<02GuB-D!{PH*d~xrY$6mblhau>a+RxmAzr%QG zuB%wsvOQnilJD)`((M-ea>Xs~K(T+IxMkZwzNeeZX7zV(qa_{ZEz$hth5h~Ib7r;9 zns<6DYyzJU^&nk1k!TwBmk;6jJbcx(j-r?E+fiVO{tVuD)dF{62i5Tb`q|Zod8^6~r+G;TVi1CDB(Nh*v zUSo6mMVm|iQ_}Ha&d-+gTuHN%ULonnBz;8E7bN|qq@jq^iquCe+7sbct`f|Xl7CUs zUr73&5pKQK;dG(Hlv^deN7APxeOFQ^%B3@-%=uJFJxOm8{Hv1wR#LNyDbtdkQN^4u zu3B4#pEgMT!;&77^g*N!y;1d2l|%1HYR6szu~v6}PKBpt41$#0bOcBDLNJocROzj64h8FOHBoYw)d zErhTOYLK$CQ5ME1rv*A+penqx=6ai@UL5B^3~d!Ci968@A+iA%oU{nETgqyw4Sywc z99@gDFv`{ngy<15)kK^#a=lLrWf~`I3_UDdW+J{}=&L9TL)yz}KcMFTjR$mvaQQVT zBX~!6P$)^`9yQa=QdW)bGIXmz9{{uvrvSGJWs6X@(47J;0u)B{|7n4i0~$xI^jU#6 z3*{XA4UH7#Gza>mJf?>z9M(HT`Oo{!G6P z(li)%0n=>U0}dP6-X}_zEScI8ViB>f^jv{M~&-{zG!?M>DSDkBYoQZ zHPY{x|AzGMO|JV>^S4NUWBwlLnCqz~HTVRK5_$Lw0Law(7 z^(IiWKnLg&P^Rd1zs%Lo$82~+pgU==-hs&HB_Fy9&}8aF6h*Mu1Ayx3y8<224(gjQ zXa9hefwlWleJg%lJ$@!bw@y5y=Kx(H(1D5f>Uls933P=1R^JEcQLOMp-_m}pUkL~i zIzEarO$!7%LadiG9afO`IJh*@^FH*?0<|`Cy(8Mc3AD+F4hnROK+kDO;|A1wx&+;d zmE-d*<@QdZrv*AfJVqzcFMWu|XgZyXZ68`79+esNiVtz$Gt`Vgom*dEHcRWjSxqo&;nfv?SUee#6)YUvrW` z&uPCimILbdAy>j+$n67&bISAr~UG5xLtMYSbVwS?>4N((|sZ7J~&-xyjFs?%1`CV`k| zqjo+$)XrtMQ%C3&Z7pqG%Fq#QduXoKK?i+kS7<(fG(z`0^LgY1KL8j z`_N;6a8AUbAA0lxpbydlf$pT&09`@{1v;X=8M3sk^t=zf11L+s^dZAqr){IH=Q5Wg zTCKH@x@f^l;VIsxi~0pRKxr$FvR8bFt*(ps*N%bJb_0AQj=tCC@RJB&hWd3zgTA(}0wKiy7w9tq4T3fVk+9VKr%yaNI{+bfBP1`|_ zmY}?rr#A#r*0YP=R%POsc5!3)90}cH?a_J^Ku1jW8a?#+b&U9y_GxPfWzS#0&~w_u z)&b3>w@c8CT0f0jugbn?-L73mzw@C-0Tt*W9Gh~zzqUT14UpNXpl@6EYkTM=A3CUi zLEA^e7pk(O);WlWo+v?osa;8@Zct@Ew4Tt0>3SdfiS?|upNbo~>>AP8hv=|C+}jtl z57DCn9id-YKhUnG`b|uEgx<2|YS+-Y0v(_~Li5*98y}DRbL<-GEJ07AtY1M?Wp72? zcfCMIh;?=?9rhvC*|qdUsa_t?(Gv6$DE}bPopiGOBkch3**07GZ2KqLb+pBY+UyRx zo}TxiPt%XI57X-csXly!{-7Xjx&4NA13iIL6YdeOe+TImAL9NUq&F3$t+RiLvhWt6 z)VA3FjIy*3?XZ6XXn_x1W^=uD3L=g*4$@(Pp3`oz-_mZRDn6XWXx?GJt=&Y;K6IC@ z>9^22A3AEKa0YO{Kx);#jh+xl+2Cz-RG=f$!fkZY2SqYjnQy1hD+s^5kLY*Mb3SyJ z9S8JFffScJDSQdnyOX|cPt)(D1tq9izl*k(pwsk2biF_a=zI1e{S)-6Ku5F}?InQz z;6p#OSLpXp{Z{6=pMGes(mzR0_|T8-4*f8V%W~Nf?HBgN`hCy*=5Y|i%y<~5!39`ZWv77XVVCcs})!sv8^%GOXq?{`Wf@eyQbNV^Gbjz@Q5-%m7{ytoZwuz#iu6Iz z%r~pJZd;7`b6*U<7b}6$XszH^KxX`%1f(VvQ40~X)a6o*c1l`<9^q{`QUftRQ}W+q z40_7_)v*f*Fgo?3mO=Zat}4AvFrPwdVoy<~Q9A!~QZ+^@eNp;b9@9YEm7{-rUX7H}?NxD>_IjimDZEPY7Z4z= z!dK=W1*J}pNiAiKJhD2yBpi-O=^K(~K7oym&IgwK??U;mq_$Xit)%azhj=y1snWS( zjk5*ABdhx(%VQnnm4u2?*)5l9^q|Q0Eon>TpQ^||Ci&5lz&4~UmQAMzB#-;q$bVDv z-}3W$x>vWb&fTl;)b~n$zoZ|Q^j1mlmh@gpAC~mXl73y%XOQ;lGpRi?!KkD2Ba@5- zeK68yY^I*bBK<|WKC;Ysk#3EwK>l!KAH6_dh@6koMN}J2xR+;JksDaE7k%EmK=N6ws_LiaN=j8(T3&0e`UU9cRQ-#2nYO6vO>?i-UG*R4eo+3=Y^0$o zZtIS!ROnV<8bWt#UjgQB?TM;9tt3wG1wM}*JEvdP;<0l=oUW2|J<{6PX31X?dImH* zkha8n1XGao$`JSWh7kASGlKamq_wf{gnlGEFVnKIf05R?cXO)#2+BECY3l`gHuhU+ z`wrYd|EYF|bH2gpT;Pp3dQIWDrM(3XoYn&K7BQc<==AtvOVc;R*BhFijbq%ko$+&l zVO_mIh4>ol%i6y9cJR4Zzsj1aeVRUEy@>QD+KVzqY!7?1Iyx9XWJPqgJ&bbvQ&xgL z8=tGOE!|`+rYFF^j-HSIfHCp^j?!PncSs-8Hu8w6B7VvdN2BIcpJcwMC94PRI{jY# zAX4T(lTNMvjW!duw4BbMMb!^bmR3u8arLLHEOl2;LR)V2cWu_;-y(ekrD2>|KZ;#v z2YnG?DnX_KVwlGaEX6`Fa}h|;rwF|FWt8#mUxnG}CA?<{D=iIb*jmh!d}? zjH`{?jUrCfK1W|MzHWTO_^I))#@hz&x|m_J-kfEgYOXLl&B^*!vtOH{_n4l!+Z;4+ zHSaSYG{0m%X@1|V)n7J$Y+AT1H9gcES{AxBbZ_YMp(jIs6FM6DIlUD6Md;1Y??Z+a z#)X!8YlgMZ`aNA}Wv#E%F3Ynnx30Brwr;cTxA4DQvL3gdwqCY=ZvBV#uI1R{?HTq0 z`yM*SZny8E4tt}$#qP3q*uA!A@3x2S>+RptZT8*vC+!F9Bz?j5=&$U@?Qh!8+dsGe z-G19P!#X^z4gW~=px%r0Pq1Vi7z61USgpTgTpPMRWDc`OMmRwq{S>DKoevT?_Xc7B z{%HPtHeGlr+?>#JQp$AK*C<>-H?r-FTfQODjwG1p6LxA9vKTAtri9Pn~XM(YRqI`h3bTHIC4yL~}PyW2C+ zTLBI96$_}=lLL8Q&I>qn<_h43|DjcGx9jZ^sB>?BZgF?EznJqnv)+zekr*BDU6=I= zIg(VU*LnHgd@+A{E+AO%?hdj_=2;M>2SP)*0xkBu?A}#*G}`X=_Gi89ww_!WSFS6( zmkbp0eYrxx?=<7e6x7j`&-E4a+w)yZ-2t$nj)C6Zthbj~8{H$dQPC&L77DrEZ9RLJ z=Dh-)n=R}tvJh18Yj?S#D)hWS-EJqB6)4{aZS;G&;%Im|`sVJ&dm_I8>ROfW+m-9~ zb+9pC+_{)p`S2QOntI%9P)?|Di7!ze4FP2Gf_md`%A415K>mt_&z!?Ai&fEbHs; z1iM0hAJ}K%gV4ryf++I8tJ_)Z?df!R@X)zl_ww8tw{HnXXBX-eXaJ5#W=D|efUhZD zFo5RDh0EZNiad=m-FmYkUx?IK$ZgyS(@Q)TZHKr&X9roj1Jc|P+fiTs?oFc6r5a+@m)?Y^^w7;GUqM9Rmpk9bcoXd4hRbB^Ue{m^gyt`SZ|tQm_VTjq!q_UtmI>PjJP%6|`D;`#2DFM7Xb(TP zZO8mC=2rG$b?d`?l{&E1C0WEkm`7c(h}G;V*lDa>nlJRb1zEOL7K7K{-;)OwdS9NV zEBh{oZ|H7^2Pz{GjlgfYm|+l8P5Z^&-RrY`J91PiTjLg&BRuIYSCd7EK*?bs8z;N+ zbF+QjaLZuC5O>7KDEsSl)f3h&i?YA6t{Ldv2H%PWnwN)OtW{aGU7+>3{vLK#?K`s` zb)Y|3=G_bX`_y+&n*$4sIb$;3cEVr122+euUH_s zRtSvQzZ2_{iVh{Vjxc`_40Swg6_wgj>+#L1M| z6~Kr)Eme20<$x7>x60j(-mO*+P_U!B`mvP7tta5BH z+^toxDIu4b%%3u{BrNOeayf8fs!|?ypUd|8u?jc1+8_0mYs(^@=fbxu%JphZW`=&2 zADu3=KSRTQ|g zuL}zt_Ane|2nN0PF@;>#>)NRn33vN;cIZ91%Ml;7bJy~zr9tnHl5qN6t$n8<-TJeGf>coDEL|WOcl`OOD1K31Mkd!MgRl-R{ z)pDu2-*GG=m@2+o6T84pgV(j?2&`m9l6V>>F7}7Ts8CuEc{{>3B3_jrVrL+>R zdkt}jk?WR<@Ur4ac%z4A)g154ckNQS^*JnfeKOTqAen6ft;qQ+eMgYN>?y#~u%fcd z7I*J&E)W_c;$r|_pyWTWHOFR?y&fA^z;szpj;Eu5xId3SiJ!%pLBhk`**;2R+mpqO z-W*Y5fI;X9Tt6Huc6XpC!f<+-LZeVKV5(UT%pTwea3?tj%*mu}J{iw0a)IlST7AeD zf!ih&+ohxrC9{A_<3tlK6(zkW?*TV<<7vTU!Ltj0%beRj6F9A*y~MQ-Eiun7$cM0p zOS@P;7rBu#saBSPGxuPxa7c@^+!Jm!2PmkUlit8H2=z!#=MY6tfz;iQ6K{1VaF2FK zPcgy4<80hkAp_q8bLj`)E=a`EQ)D6f;o-&`#j=7OfZX6QJB|AbtP$*OAOmZy%xfAg zz&(%PJC$o!FT|~ofFAJl6Ui_QZEi1pAx}-v`a(#>rxLVmq#W33(mv3gjk_yz zP9Rs;D7hAb9=G{wnJ4E)NomZ0=4PPBy=d_)=x8A{G6Ov=G8AGfpz1X4?DRpS@OXla z;oOO(+$N(ln`Jie$_IBNDas>;4J*DB-3B|$gBP@1Q_gQey*&7l?IL$6o<0m3#&5x0 z;T%c^_%|`N0d75TI9d>!f|XZK!-!y8hJXBIILKGR0gj9_A>SlZ9RrXp3;LYQKjjs8PH;bz zl>N|P5mv(TC@jx=Y$T4uUo13bU(tfr^N`{%NE^PDs~=y)lfF|N06QlpR#S?FXQlFV zQL1Ex@plKXYKrre9?3P0Azy`m${}n<-2vgjL&Oe8P1rnY?S)7mXRGW530rC2AG_nl z2>jJH5s3X*KQzYCCf8B|6{QQk;I|t%hLnHn1r*G9wgM&CN(c~iA}u=2;#Mo`n``3S z0zY+N*_57noJWrfx56HZYqK5hLQYv!7P&t3sqFQX-QiFNt!Dk+s(S2M%N7c&zG@kU zNX=m$X&#)>Eq9}}F3c^~fa)n*J9Ftm@7OMTMJ^u5e$ZmK`e#u4Gj}G>*h(o!4sT#j zXOb2v`RJjIB1>Q#Ec1zLrAy;W8GT=WW+aM#(Q;E*M5bb5*)znN>tD&+-w#>>I%eJ<%Lb{P& z0i!)-q(2@FQIu^^{iD^~9^N=1_2BzED`eoc%EdY|7ydhtlUE1!e@f0p$n$(r{)0Vw zxr}0!oN4lV^QP)iT=Iqk;oGPQRfdr4$yYjOUPnw<(onERN#(zJg)dzaqI^1Lb%ovfbhV=HH`iav968N8gtUJG9N zM-ld!?6)b#aV7gPfeb{-#$0@veh${nx%eWVsHD1>Z%;;5`zo*0zYbg|)X(Vzo+lhr ztH_Y&GO$K7q8DCkgD7F8>Pt-Z?Nr>OosamVMS7~B)3NSzbWBDTQuDlL&qdKa@C5tt z5B{LGlH>AnAFJo1->u-46Mi(Il5PoV$}V6;?GDi;`)lq!>zk#Z$UJbGgFHop9CQ>5 z@^eJ$GISc=UsCNzcrGH``OK@t0T-!Dd2p`a2Iz#fF%G3ZEmM6uqmkP1w}?-|z3>m> zRyRjTmmp4Qf-f4RA>4%I@!5h^Y$~G7lQEXFV1wt-R?-qdWEwmPzkfi)3eA==dl)l0 zfXlIMfFb=cw5JE|b?^wIk$pWQW>~Vh4klT)bC_jo7&u*v$aLe#TYhQx-x;1y~{PWmJxBP36$y zSwZ=1AJ<@v!O>mbQO9NetME&fhOzZ}Ox?QleVq_S8RVRlnf zQPP31^&%fxX&sM?OXl0VRU5&@2wgR#*B*ZiB;94k>su*@4=8{J}QE zrzX6~Un;XP*npOgJ9t)TG3LNW%{WO%NWisJ$jWl_(Qgsd(Hx)@ih+*PW<$Ld;6yp{@T7R8|qGd{lkXU5I3x34Bv^Nw5BCnt+bX5 zt4C|H6}V(LZl)<2vC=w<@y8G1DhI3=TR;!CM4AEBnHf|zti%L->wu7Y z4jOF5H_Qz*guyY{5D%MHLvo95>5SYWtv2FsEdbJz6U{eF46l`(&R|1akoX@%QaqeC zw1)bIdPcci=f77yd2TQRg2)2)zh;qRbS;eXD7-i9M-6Oty;H^{F^U*ZjM3%6@g z%O*37CwPJg0x1Mwa0;^)L?NvrZ!1dE1~d{@5>Cf&%^eWHSXh0mEJr<{-G+LI9$~#e zKtoGLk`XZBrzkwqP!B~WW59x^mWwyF)R2WQM)AixQ*w2tT%s(l_A6d|m0AAm* zcn*FuL3|ms?tN;a7V$56*e!%(6(7lauMduUH1papsS~3w}!VIz6lKB0Bmdq=|iN~Q69mW&q4-Zs4nMl|X z0LeV~4B*?6>;<q_$r`|1k4vNV;~+0;G=w?fTFk8hqQDI#6E-duLz4*} z9PWe}2iX>IWy_r-5+~;<){W2*n#EWqr(+sun6z4$8%a#SP(htfhI#(Qb>vtZU_1P+ z2K*IEJTM&4n0Pc`pJbH}zYyo57s7WQJ@kRE{qDTorUt`>GGQcK-U>$qARLDOKq`P9 zhaqUOm`p(pC0b(mr;Y=H#PHAYADaxS$1y?l2Ic?a)wZ3?B)8O~Uvs$o&{PIw@%sAu zh;7B=_3YTV9@s{pm1gNasPN}XHBE;>#1b~^2%bAR{2LxWj36Zc4a)KVbAeJ=P23;0 z95^(f!eRXH`q=Bq$F|fHydabwHo_Qp?h33K(G2GVVWf1i;%%KMO9Ob*Aa~OsJ8Yhk>@#h5DH6?gv&BU11*Rx7u zaD?nCdGe?k5Mld?Ot2j|C%9R-z+?iC7*n8!jIFO%;5a)hz)UXlr=PG!w?k4joZJ#& zV}fT)_Oi`_A1e?(Tt|nXQ3e>dMOtaKpu#r(|41j>s%m2Q3cnmCHE&VO_KX#7_$8+HR`!p?(sylZkve- zPGSNW!HOBVCAkG=&Sqk3yaedU#$*~ZE}qywA-TT}6Qd!qzaeIa7=}3k#)JZZKEg2S z!@wEn3vxRCh=_yR?Jerh`oOl?z-gyOU8M_Z>A9_~b6b#{)|}p$^}5sTxY~|8B0ICa zv(o8~TrQ2vA$;Ryrp54l)}`xj|klS=RAxA}d=z3Duz8}n5N6yT_S zjz-O;J1bHbH+6D5aFH$7o#xvr>CCJ(%R1AStE+c-RcK+YU>QI0Sr$}%p5lDk2Sz;} zsh}$t;ZlXSw5Mk^ZcnJY|GAv}4uC1%olfbtGU-@uOao&Y7}LO*2L4P9@ZYo|{H-4v z9$7*C;tOv`j>9t@|H+L_PZL!kb_+gL@<(JgV7q<^ZNS0VdO1SlgSJa>l(t5W$C&m> z^WXlYHW3KNh}k2*#jZT4IG)qFLeq+OR_foW*z7|G;MIcm+tC^y7^tHN92r0sZjmwk zYSoh)5G)fPI;l5n{N6&{(oi?sg5$$9PS|HbE6d~)3S7`z0&On`ZXVH;7SZ@gDF{){pe4{G0_Qd zX&giHILw9QDtDUPBT{!Q_)b#09P}Ike?F z4{DV7h>5TK@Bs}=!#A}8&85Lly^Yz89Nz?ExCpt`4F|=8?_LEp5F|lD9=CE|l~wYc z1*T*hVap-#VEwZm*GkLyS(>lMz%EPgTIJBI2v@17jK()4-Sp#xyXdfiVq?X<$qPV;UIK!2g>X_#fwxT?+sJ diff --git a/src/packages/NUnit.2.5.9.10348/Tools/lib/log4net.dll b/src/packages/NUnit.2.5.9.10348/Tools/lib/log4net.dll deleted file mode 100644 index 20a2e1c47dea6ee52dc38cfd4eee0cfde7894faa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 258048 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
|nOisw5q6>2Mc`)t2=VeIq_s_|MI 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%0D;`JV-CiezL={Iboek_WYW8}# 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 diff --git a/src/packages/NUnit.2.5.9.10348/Tools/lib/nunit-gui-runner.dll b/src/packages/NUnit.2.5.9.10348/Tools/lib/nunit-gui-runner.dll deleted file mode 100644 index ec364fa979b053139b43ced7bbee75879607a99a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 188416 zcmeEv31D4C_4mz7`m%OO)4rrz-s}EI+R%NYg>Fy^r7dlNvX(S?Z3Ag;dSB8~VxcaG ztb(A(4h2L}1lf0r%3n}H76n8spdg6KqOvP|zu%d;%iQ-JTM|tziMflGCf3@Gsk-jnONMFIi}$sx1$p__C4Gwya&vpZ ziVQBzE3&K`BbJp=(6b-W;TQ0vbcFX(aw8=2^Jyhe8o-C$nU8YKJVhdi`%eiGAb(T9 zcPT^QTU4T8=5M}LW&*kvOIQ|4;QbXLzP}f#y(USqq-DtYU#;Kj2x*8W+#A7AGugvxaT&@wKC# zyY{ZBUm0`PJD2`z%hf$@zWEo$_aAl6>*WXDIegvf%U-y#?(fI%eO>kQzkC1orM)j- zyWzzp-}!0#{p7Zv9DB|i-<dvoON&lF=&G&tAEwT(7*k-4 z%Cju|UmoeRsRwojBFXNSg{6HYiDhxrN&;3=6198cVPiF2VwdBmH2T?d4U_lmOz1X zVjglIz>Egs#~#E`HA6yT)l`g$SbL&k(HhFFe27>Q9X$xFsK7oF>!D+I9Aw1IPbL_u zv8eL{3N7v+$YA5|9=Nr(Ty@wBo z9~&Q(t|3;f4~*HP{D^ZkNpyWk;XjI^h|%z#4<}=Y*vv+z~{r zF+p4v(inmLT;4+R_W*A;0VRC~dnP$05x+tN7bePzk1?btyuX`+P*ssi*9luzEZ#Sb zMqgr&QT0KXVt6S-+?Rzv4mOnGO{FmfSV;FmG)SlwNsIA<{$Ye3b~@`ag<@a zLS!?K$3p@T=cb{bUIL*eQo+*uvqEr{XjB5;t)TS(di zyx9v?bv+bj&m`xJ0DHlGnvKouLWEblISAE-fgISmp_V>Iy%6X;65uUZtKtKVN)ceO z%UNiC7vM}=p(@>EPPp?{fVm*E;OS9%xTh;;xqV**`F8SFSr9KzuC(PkC(Yw2-#Xc3uP&j6GTQGnJAIO zYv7eQg5|0KAUR2($;o&`I>^SJ5`<886GBy)5LS)}VM8z>YzNSte-lER zV?t=*ObD&22|;OHNM&-WlrQRZP+ijyX*-I;_Fe*xC8z7>40$@|0xPNNI+om9VEvQ( zsI;qmg~yUJ39A`_3Ck=A9cMXrlXf;@BO)EjuFR37m6+pT<`9_UKs`X{bUY`rKb|v| zeLUYv^~iV*t(fEaT;#k7Gb9YF`!b06kQ>BQ2f_Ua?IppX3}Q|L=nw`my+Tl+mf!h|iav@jOwV1`=?DZeMn<5P?xD;B!Q!U8gS11W2FpeqC;)rl*@LJ(|BXb6zGR%i$#+?#O-)l^EW z$85HqDmN=e5?hf|VmZVyDwj#l(m*i@@Fp9Q8l0XHfQp0hF{fv2p%Os8|buRc^>v0Hh`Wzv{k zD>`6IzV$d73G9D4?ARelv=7D4CRmdK*cU$R!vH9&J)p>5jzC)z>`aMOb=G1$yBEiz z_ThkTDXxs#M<8(KaRAGbaZ7RfNB~N;k%H+jDYTEq?+B~NJ_gSUEW$=#w{2ii`&!U& z6$#5Lz@qYQ_6lHF&$%X!)b_FX(MwK}Rs}f6?0O_t+AB#VE7~YlUSJD-MyzV9NW=I|y+mzLD}A7lthhpZHR*MC zWCJL)*LV;$W?`I%Xcf>q^TychV1&p_ZYNTN1? z%A@v~q*ns$2wZG-Wi&5Njn22R zqaMcP-S~&RT9|U!_|=h7=S3^$|3D%R2P20(ZWbJRdAJvwzf7N0Q$}q-Ldh za`R^sj6gx8U=#L~3Sa z-6N6`vo9iA4fxT1{|V1x^3As|2E44O^6-6OSFC*l|BgWzd3*nAkIGM90%Vvn$?H-w z)M4fu2#N?%`?3JWaYf<}31V_|DkSz$nIKUz;MC>ZWWE80=sO^iY zm2m{c&MS=+s^S9(5n&BRzp!mUc|mYQ04y*bpwP;uUt*n%FF9iN0Jnj3U$UyV@u z8vK+v$D_U@_ID7L4ldBrsC_K}g-X_FS*=x6a}t&bgIHhQRw!&Y>Lh1ry?VOk6L0R zaTD5Tg7O$sJ0>}s*vw(@T-^8(@d3t+l~~@^n2-eLdlblDVMwebKFi34KIQUNF!$^c{5Gn0t{~g%ksy&yE9mcRm6*poC$QU3FJ&b;woeouQPHY z+?^^X9;PrOsVuag(9Dfem@_Vtnh@$pL!4WYxt?q}&r=X|AZQwsEMTb_a#AgA0IKpp z=Dh1qs77WJiF73JNWzRnHKQb25$yrxa+8sTPKNxPw=|(Cm9o93uS4!7`K7h{TZQ@3 z;mV>;ehI|-J`zSm3+*4^DHAdcary>RuV<>DV#NF*BBh0B&#LQQ9~C<3BFK+(7IwHY zKi^0+pS$K!NLNnUTC0%z-T4+utNKcTFx6colCPqQ29c0#`OW}OHl*I*$(HYo^b%y{ zFFF!k6j(6j7G_nnt5S0}f~+Kx{1G0>n`2Yeh5hhiZI2JHcdGOE;R{UgZ}fIPZKB>7`JE9G>jHm}l?L)Cvz@^!|dLL$jF;5n_O=n+3b zND%)Napsj-t(#yj0|s?CTL}#6ID!5Y$eTt>@IeOa5R~z(vvZd5K=AD>V`_nbR%V>D zoQ4jEnK;@)`v1t7n2!|!OC7oVj6z1z4>4&UB%yy1BmFP|vj|B4oWa?C5TmFI-Ompm z=m+=rgLC}gTt7J953cuvnDDxMPxOPB!n)9Teh{_kLKpbKBmLkCKX{BEJkAdu?+0x^ z*x(0O`oXn+@K`@s?+39)aK*tQ!3|>e>;}_*5DmnIHv7S&{NO=;aFHKe><2si;NgDo zU_S_B>t@mD2UC7FlTNSNBBW>78knI4<79YoBZIRe((@K zc$gntF2P^0^-YxEFB!zV23b79;1mg>*OzRXAwd|9l1q zN5BTQr4W-@s&u_I~Be#(ys?|2WNIc0Fa|3J$0GrWaHdI!X%Z3r><^UA|pu$j~%b+u-X8XBRj5rSjsHpD# zZYm>*r2)|ha2^byBNL2GW+tqx0WKRxoW}!H1b}Kxn2I$!(4}I;5RKJ6$W3J=u^=EC z0nVQTnGk?X#)UIsW2tu8Fp^jjU_*dY+}&>q1b_{OHM4|lY4Kv04`a^o02!MfPU)Uf z70#GZ7PiTFshiB0Ge1DhhKe&XP0g4=&DM)~y-sG#IX*y507QmmF-2w<_L?0d(jlw; z{5m-rq(5@Vlm2+T1kl+z+)01rs3rZeSpw*f9EJQ&#SEMc0kH^xSQ9<5bf;pj zmG=PKc|C{`(eeOa%ME~umRCvuCUva@U{X0h5Ua=8fv-w(alRjrn=CvnG2+}G zN=2#m4ws7gd5U4gc``sn0I2o}Q&Bii7mOICrNo{t7;#<+@FV~{Cx>~mc%F_JasC~k zA^=nvf6eyG7UvliMntpyea&+AB${<30L^mdB<;6N0`Aa6Vy9;hzn7EJQz#>bLJ5FC zv%&%~8&9E(7z!l-RI|fWl*v;lBZfjLsHady4Al?-p0LBFYS;%o%gKnrlO5CRVT^cY zlo4lSKoJBWgGu2G4g%a0ni0``V4|=HFwy;D2|)K95*Jh}pka{hkp>gt1f?S(^=J=v5gb&cOi|l)|eTMht~eG_N#_IO_tm1RzHYK&Fye z4zFq$an21;5dbO}Ym-r<_atE?Y-3V@No}l> z0BU2k1W+3-5TcU88YU49AHQQ7@}#I45-hLB46)2$)pJG6|qUj*tK<KJjR2B-)C)gd009yckOS6PfW^#LjZK!q&LlCv0IjWFVz z8=xWpR4AEA#WH(!z=%-?RD@Rtj5zlOcoG1f5Xj_7t$AIE5rZdH=~+ldoTmdk2>{PS z!#n}-c`_pP+Rv|7Xi?ScVG=;SE|-8?XQXld63B@JUfnPfZ*^NRW6rxFTu24hW=WZs zS5u4_C8YpfjWFW$?d7*%0>BdwljlUh#dkAitTR2Z{k-ad1UM7Pa1S3aP%Thv0C62x zi0AGXcQ6vOUr+>-5J|pB)IazDdosd$WjrMVjH!&fUn~ph0rnq#oWwhpWtmbl3ujS4 zNCFb@__Q(wWs%mR9^NWB4f>=&fnjWZxdp(3L!spGH z(M1S|*?&^yR*_fyNb*(Y|7Rai9iMKL^F~*~y{=N&Z~db$#$sr+L2VJ{yc@`#0M%3JJ8HBNCV2{jy+A|MW`L1Uw;{;s zUhdl|!Li>^f-xf2F4G<;yiq5TM1kh_cL44Ov5Zuodijj~|1Ud15 zPy}=$2b0`BA$xg=8(f7XVY9H0sC{2)z|7+{np+b>W+nvdJQvc58&srY7I2b(m%I{J zu%#zdef&c}&Uh5WbCUu;h~&&;;Z(nc-VS%Wkam*-sGgvI0y+7%P>4N`*)vr{nJpcm z&~A$BUWWqZ*5=E-$xYyAX*Zta5mR!RMy1JbHH1M+NdS)+vx`o+#0*GSP{8T?-g6 z83lF`1yKIb5YugMtUuH=Tuurj$zo;`NtO^(4qr>XkR%DLOkgcgZFhzux<+~+!b3v1 zyq&1kp5F%Ud3H~vv`=RUuKD83!uO;WLWVx7O-qep7~)y3SG%ZJ3HJuPO!tcl(oMxG-BUE{sSa3(8h29Aa+d$Ng!rd z%d^tPyE-h7ozU^Y@EG{pQAuL%N$hovP+%;{y#>plr zau!9ZlA{GfXFe4uQqy)Fz`9AGp4mRv`t`)B@#=|{=GD{DV4#lh1NB5;r}gAbZdgyT zU_E&e){__U>dD(V6Sb{I9-(?V!w2m`JzWp#1mAfzYUfEn1GV?5)Q;BuhhUwd`=?+M zRsY`;6{3Uad?iCJy70n%j?jRy0HnwHHMV`KBRipzdX8EcMy*QekNNg^@I=E!XD!IL zDM6(@0l%a3^J@$9E7KDZRydChgvk(RiR2^zbytaW>RjBKCkNX;fpwGvis8nPaO0?$hCg-}wl zV|$NUnDDxK*hGo47tx7VWG@MPEW24vXg{!%3sn2u95@eoM_zZ>BU}u^~8t{ zuUuYIY|jKWrUS~8l4fDrhL1n~c-tV?oibV;#Z*Gs3%Ky2yDJBKkB{1wnMF2%LOKUQ zc8G}yg&uuohcS*;82g7YFrCIQDcu_HjBA_aTICKVs?l6DHwRqd>8i(H)S2@09BG|( zi^Zu4>N4NL^wH|adQh_n_+N9h!ss^!ZGba_0LQ337isps{GrC}{qO^{1wf-C)&R`Q z$*;fk5ur}c0}62L{fR#xKT-PtQbp|p@fcxk>qQ+Rzd~PuiXnW6dvX5M-5OM*ZmM(n z4+!vI04|>v|Jf+ZK@?6GsfK`sK>+=OBNqAsUw+^^f*ML=!h@H2vXn7mFWONd-7;3! zsxoqIgNEeJ8)a^`7);PyF@-o#XK5eofocKb%w8eD(@Z8_GB2xjCv;0#2Fr^sl_)21 z9q7sh_AFJimtsBF;Jtga8?;3A=g#*igFB^OCM{9c8x>lh!@xz&y8~;N zBLq(bUhbvq_R0(om#jtSvydAat+#d~ej1a)?27NaaY20Du6kR8_Eb7&RvV;jldLoh zN;D~L6YrGdSv`Rd!-Badns^kgS0zodl6VodM7<(Oo@^Ibhg)&Mg>l;j!Bkr)v<3}x z+j{|gP%SH=%6%j<>|Q+WJuE>{bC^=;z351XH}Wf!6-dOPf>iNQpw)>nz8Vs>BC#Zv zeR%4XO~+_3Odk!rOEKCUREFfSCu z;XuR+5~?`|c*JB;>_)J*Q~1H?vDh6wuwcl8@flTtca4xV3eM}R@q}!`Ve|+Klm0b; zY)_urGIvlwfv(xUdp)EPAu*J4lL7=YgP_W@ZiPg6B_tY)kGd3t2*yQNU-u>up!ZNU zSQxX9LlS!NV$E@=$8m3$BSBr~SgASc9{RppN7KG3N))ltHw#8%wJs6N<~hYi2Zmf} zEBPQOobjj-HFquxLe9Jm<#MOCL2AE9wip`EDjhGy+tx3@r6|A!udZ>7$%EmISTpig zT#|=jfZ?kn`@I&y5T@oPn6z7HIj|GD?fUDXW@Mme;CrGZrG=yF3T36FW?(%F1Jkk6 zTKF$dXS1&D6G>v0hd`;b4rNVawqJ50z0;2YRCXAWEfk#~SZ)nk$jN{f;areKOZ8cf7s1}J~&W=rkAPvp=1nnjfRVpv_?tCqp9DW1qnky+0BF zpD6^o-Y$b)VK|{zSyhxoN5!LohTS{rH|%Nmf`(Iuv%mm-8UJJM)#|oXuIVGmvysM@ z_;oyGg6;NWnRs%M@8g`46-O4-fzGQ6P-&kFY~&B0dFEf`<`1i@Cbgui%%F>DIyDY- zB0873zF65s=epO&$u9cOXwNc4*ss<6&b~5&{pF;l_u-FIuDkzCgy8&=re}2`W zb};FKlcUm(zd=&kJ5TmUGHb`*Bq0u0;Q<`0_5ha`7xAi(ch1XS(r4pk)tv1z3mLdT zj&d&qx+LBcmNG*NoT;MC)mhHlP+9UDXb2_IL2gqh!S=~{Y$e{faK5ye0{feIj*jUK zYRq$s5mzk;h7t^mTuONt7{-EU1m&=>-vXj+i@EDQAj50d--c1$#^(3{b0mGpy*LY~ zLjrwCiC*ju4cN<-p&?`Pj0UY|%bd^e>y_V~bGduzN)Jtav*;mGspe-PJwSodj;7!l z@pX!3G73f73)Z8+z5oSrk52ay$hQH}aBM1~3)b9bMGEYT5LTPX%B$Pk;6tejFy6Q) zImndnI$wo6u^^#NNja*Q=I}2yb3iqe6;1mhkSw|R3wBFctc!sxZ!31M9Z{^_RfM2u z1okCJi6$?_FEopH!wVG%Yi|s$Sj>-pY+L_g_3k2GP{;fUpd!rWFwUx_HfMTDif9^U zu*AL`KQd2{wc|8vLJOCpmbJx-^a&Q#+an7X6+7Q>dqZBW#g8*vq7e+T619sCB+sCKD04tgNTRlL>&8fzz-P<`?&NaStD z0vS`FV6IwSXu<{dwczgjo+bD$OQ5FyszKP_qfoAL-F~wf@`+v8alQ0Gmm&Z5`=IAO zAMqts=riWzS0X!1K1=%9*CAQ1)6=L?=UY`s{JzK{%W_bZ;w`--Cka+l+u>n#0 zWK{|r$bJUqV(Kr_F%>O5-+qNACeo3T$Tk&O z6^vknDaao+MR!l`Z;Yx9M6|?x!=Qn()but%Y8+%TEtn%lOJpxOqLNwPr$Vw?sqc94 zS>2$hl4#8N8;X>^3$1EPw9@I;ACYGyQss;e3ExjsWmn3OZk?(=lxyC>%ZsS0ZhJ@xCu}- z=gEH0BdO3((Yt#<0gPpT|8O`u8ulY_&m*eSeCZIwYRRU}%w63Jg^>qAEMQ7DeMy3M zL)=YYmLQfLC7Zq?!Fvcj#fN@Xg8LBxiUx;!iEx?(?_=8S5e>cgO~Wh3nVBd{xNkbH%zWN?7kGons!b`Yjm%#A|T%AUQWf@cg_nW6Ogd-{M)VAC~y!q4^pGaG3MRJ z$w=a4;3nS0kKv!hB+WA=}sPR%QRSm;$d5_-2I3YYuI1+x*C1j}6L zNuL2=ZACcSXuQuLLj=N%8xxfX1bZR~-LiNO!(U2ap!>L-onHh*U?1>3&Lq}qW=xp# zN=DfU_A+KfE)fgmO}KX@0{d9JPkgjdECL<5xzNxo!5()ZYz(m`(7PK_xD*fcHOo%y z7fY#%FlRWCexhnjkXqxT41omem&7szBDm76YDN+>(MaMkL)C+m5} zBUGOg8x(Gh1bf|skp$*URsw413&~PZq z>_%)&iLEFwT$4vqV@cI233s*x@+KgDV#tA6fZg4^h2|#GXw9%qR@uK)rIZFrHTCn< z^n|FP(s@>%Rn8ye>8gbU7zs?d2z36+JoZq63f93Poe0po7L|P<-aW*KK;!;d!I~Z_ zpa8uqT!p5r+AkoxQM@XFj$jUSggezl)KV&wK(N=|7)g}pLGyhLdmuc$D`|z(f>4&I zU`!x%MLwd`%dQJi?h1=SxN~-fC#{;BA=s0Hkwkr_N(lD`1YuMZ_bY(_NP>BkDG5a5OU3h4aa0Wu<{U+0 zJ$Mlib#5VK8W7ulh9!ahs8T7@64++7aHnRlZwQmuNn+G4!QR-$2u5jBr389|Eh7*c z^9n7tp0&_?hR0mOoPh~nYy#x=?#v1o+_#8pNJp?IosjbgAvE$5?!Az}2n58eRST#` zUJb{@)-*9R@RjzjlWh#tt&%a+7oz5a^g>f7WD~vGb9wKRl5s=tS z)@J(`#D|B56-Kb9Frh8VRG2~H%zLu_2fo)O(m~D(PQ>ws#CM@VT($bVNnT)I*Z6-TG*m8 zErBg+E3p;L%BVWwb5=$v2=*EkBN;|jfZh-=o%;hq5RmwC zW-}(-8<7}6o_LssQp3>*%x2715$~S3F{}c@jr)iN@%Ye+jX-Y@5t3H|^~I*;ms2%= z!lF*M;i!?vQIT%<7Svw$6RK_%A?8uRk&ZxTFA^GK3Bg{aFp_{9l$F3xX3m?L*1@U_s0ut;A$Vhy4XecJoGmpZBo`i0z zCjhcu>B(BB3>Ld$SXRQEM*^}Epky6u$SR1FM}(D0uqP`ckhQ`X`v~+#W#Lj!F1m*j z09m($W#z_GSXRQEbtKk$B|z;s3^rsH#CtPjCD@adk@$*ue?wLRy^bMVUJS@e0A#%) zEGy<18LgHuCx4_bt048Vf32F0#9HG+46%h~U(y)um0(Y7MiQ^0sfN}JgnRvp5eT}; z6ZAJKSMJ+kDKXT@l|bW$bk*$$_6)EPt_o#Ipw~ZyO9N%s70Zpma0L=(SX%<3&KF6R zVQrbFE)q94i-gI&8CoLP(-I@`s!*p9ptm$(3_9BE=}31H%yR-eFpMQ%ME7xDP$occ z$zZ1BjcfrhTZud11;DJ6EMV#_2#%M>zhG1kSs3s95|F^M$x5`~$7sGxg3k3sfU%hU zlIr`y=5K-eL675TbeNGDfsTBFL$^S|Y6&eX1?Y`gLK9E=HGdU3dsmGzmUxd1*361< zX9mf1RzlVq%1VIVQdnpX3S@OPn0QNcMrG`Pgb*&xq;&S~;=m+B;x z&n<-Z$q08YW_DUc0^(~z-9UieF2XfL@e0qFCm$o7$oHU@PstgUkA#UesO*q@ggd_q z$VWiDH6)(^-5r*J?w6dN5{sZdq*5Bu?I<}(8jF6Jl!UrzY6y#JLRcdvgw4T(u&0?2 zHbxV2Y6b+;>JZK;8IZ4JK)&Qd`X#4IX)2RXOIbU4wKe>)6!{840v0T7+AQSaM z#$-U;j3UJ)a1iuAQ*Z-bqv)nQJM?Q5`~pFd{~ATK?|9s$;qkY(2{Sr4z|TZvAHa7< z0*fg747Snu^5gP6si_}1mqW0w|z%CWX9AXa}lKkDe)YY(eR2wbq0*9*I!}v zxV{kwSchEhzdwO+@se2SNq@kzOkN^k>3hM0 z{*QpbDY+XHP!U%`-oi7{q}3-NVAzp>k3^`~+DH_Mp;$yKR>i_AzES&SV2P$;qN$#0 zV_si#4%b%Mr!P{M80(Q+)~~Aa{sd}wK$m?01%4#}mP&pV06Ki`3rj+$4`=}g)e|Ef z+yJb!|BPgba@$QuBOS66qZq#CF|37z+!Aw%aMFt$__6_gX^NraJym<=gk0U@{ugqW z#wxP>mAu$kyVp+FK1PeBsYW_HnnLjau>S_EGF)MdS$%=)5+-Vj6yZH#zlq+lZJ_o& zLK)F#1SfEFdVsUKReo%-Zgy@9jl@cV4Y3*(%GMThoeQ||(-Et752R95uXz%+GKi`p zJXY85FpRJkIO;nbd=C+G5DWd2K1WjK*HKW_4{*#r0np39G16yv=_VH4`+8&NBGL0u zXmqosk^{W$HxSRptrMx~|F{A&j-`xgoV3E-&Y1_p8Iz$~Ie)wbFkkKcJD%!QT=;zL ziJtKf0N}G7L(PfB`X}P9o1VCyjV{8w%3o%)(e36I4)Cg})1cRp?v~VU_0$YUVt`tZm3p@Zs3LzvVm)jHo!7lodIP zYJmP8(AadU>IRk<3_RTHEPau2ZACQsKJ%(Aa~ak~u$OJs@LdpkOIJ>_hR0Cdc>6dY zqADia0qcDRo>K4ms&v}!D$gm=)d$F<7v8a8M6t;qUaGoyq5UDtp?Kw6>%q&YpS37M z(5P2JiMFmJ)s6oJdi&pGvV&@qj!NvzYJ>8n+N8h#6f)>~qgArA)f=WDy579T5b5x+ zlOG|MP(4bbu19=Q;WMtskp~3o(U()ot#lu;&Ownzvc2{x(KU&hryYk+Qyp5OSJHe{ zz5pbe{1_!xs1a$-RCd&cS!UZ7&C{%_p&$HkKRTt52BR86Ek1BYPykyc)X)aQNLb@l zUxJvbPD-LiZ$dx)0>%NqQA9<|G`{!Yb*9Tmt1IEq?3EBzep~$ct7V`5?ZLeL{_7Fgk|6IQj6qSg zJ>V?W?g=NKLAqq=R4Ze*|F2mo*Y{&>hFdbs6$ z0I}6PN!|b{D}rCFnqd0|eH-r6*6hXf7dx$^JL$%{9}lsnAERtP-=$*jwL>Keh-(y! zV=%uf^nZBDU&Oftndu?62fBhx>fB|~DPXPBK4h!ci>On5FsG*)%&%*~DOQaX?mCe+ zGKpq{1kGpwAvh)mL`Dnj9h^?>VJTl?>%Cl>O~BEFOgL>1;5ai4!ci#J)f^OPfT}B+ z=kx-IhWfPkr-<|M)0KDfr3~&G*ncMMc%`?9(nJ@yq*6Ob;_cP zb4aOnR5}_;Y2mcfsPn+m0?Q1q_M-M6;p#8sqINYQcvlCeIq+StkML6G=z?hF;c$?a z@Mucs;Y95?$Yez>DY*%0cJ6Ku*jBV z#C`FyK;4<4?+D3H4k1c%D1M>oVR)2^Pk$MfE5i}9N8m?IdInN4-(eH5~m7qo$Cd z{}v}PP7sT!*mEdOepduQZpT0zK|5uKmtIKbv6wRdN))?>QlJfTjE&$Hr<4D!_D#@c z@PYN{_XewV-JoN=AwQWNXCIAIi5e#qeM4uVcI+l#Wd=CTOgOP z(_^E?E8|rFs4_NL&Nkq%j0CzLm`l3t?jX)m{Blj8z^ZWX37Kv&DAgl7dMRF-i&;Xq zowQh!uTkHjV_R5;GRvP*if&mPZDhJ(G&r4j3ljAWJQE?JZY{&@Nr>dD4^vJiTCD|Su-jBV`XI98v>_) zh97*CX(%3>&?eyP{|JNENpNq_Zu-6i1>pyN5Vjh)^40{zLr@TIkl=pga3h1RKR!8! zK5|Wv;mSe)?q2O>oL33ZJKYhQ-eWwo+Cee>vlNM~F~6lvm{UWNJs=f^4Fcq=%+*Fl zLhGGaG3FhNN%=achN!bQIR%{z2*x>L!Z;)&(D`a0Q=f%*07)GAjB?0DO&G@A6FT8^ zN1((6VDP>PO+pR!`>=i^9juzhH=7_O=D^j(?2J1Kk{{#jNDkUIs2Ks#H`-_6ucbwm(e0r~Tg?1tf zY`Xpv9v`YD(Pw6anP**;(1cJmCWJL%LfAV@2%E79Ve`=tXBLW}53DlJhGDg#e5$Oo{)Dyza25``Kz05&e>r5x!i$s~b$jj1dBBZ`g*g}>vHu-E6Uwbat z7%$X|a%jSZl{+7Ssl%6?LPi+f>iU7&@<6JMZB)Gm&$kvMZ_F9E76}yrMe`W? za^rGR(HRAcj>k@zCs3gX!`)l#=cTI`y z+jGV;?K$hGE+54F)7BS8!L{Ge7=mKIF~qq+cQMN28)}K2VCF)Y;l)5e7DG+2=TpLnXQx?E@3=$?)j^Omm~!Yo zO+b81e7Rvn1nU`M=`q45_Bu3i5)VPwp|f*g=$-8gr-BK7xfLhs-5Eo$7J~rTW78Q; zur4B&AqK&o7>p$TMlmW4D=iGY;Y&FEI71B9x${9l3<4mA>HR8L115#VAlMUwk;K~+ zqn{y$F!Y9N;WVF|^pckV3|?r_#^9yxAeCoYE0)8Akb?fpSDSNG8;9gyi0;IPsA$Ag(71F1$wUpW%hWV54~T4V#>Bka4UxAO%M3NA4^b7 z*-w1jpEBrLHA)e(Y6KZpjev~#CxM<-6Ov1zMz=k)M7~v%*kaSF5oTC50urs57?{&f zf<3Foh-cNPs_+LG2s7qa1Yj0sT4VuwzFtCeYe0A^-WOhC%R_Gt5a|4hG}1n4yZ#$dtF5VZxAlMUwkp%V|!(tGQ4~UFX^(g^VtXEI+@HhJ$eJCPznfR~l|XJKPKJ1Ug~}}gmPjo}?SsHZ?irKA1>PUD74;a?^~RYJY-w<>-sq zIBI@ZU}3hR{vsVe_v`;3-FPwFI>=xz1pjL!bdfS#zXV#me{vDv&g*RK^gmGzOm0b& z>LvrlQBH{!s}bCnK*rn$tVOOUBkp3x=QcVhBD93XsNMu5Ku^%H?hNb!extymp99vv zYR-lIKX)dE)r~t7dsu?^bD|}sQnguL5#X#|Kdf$#Z~nj67X;b#lcUrnQE=1UfCib0>3xH6t|O2(XtcFKgV>0wd1(U@!!MSut!e z9t^qNEk>q7N2UwEkn97?=jJI`^FulkVDDg_&V7_q8(p?FPYCHft3ufj=sXuF8Ue9T zE<#!1=E7F%F=fOr88=UZC1YxQ&%~F|;|zrg6?|;H!U^JtP__c>6U^4Z!HicpcA5C9 zOy-0e_qY&{zyWM{3so5Ob@>Zfna^J@tqC>x;dNCnv9VUb=+JvybnhW%Ae|kskSIi|X%gD$4;NudMW#khQ z9145A=}8GfTP2%*?c@H&4?g7wpO&DIJtILO`z?d6Q54P{6u_AeO}LX(0^(y5kj89c zg7_2>_fUg}Pw&lBiIaE%l%d6w@bq405>C;Xe#2wQWA+kdc^L7$u2micIkQQiC(;C9 zE_-8GMnQa>h=z;=donVT=*7ls&ZPZMnmQVHwLD~OVv zAm>2RYS{^Z?B|4K7sTg?Xvj{mCp#mFx=h&#_tvJusARS;Edkl2WqXSEGS8?8Ge$)M z64$Uw^;JE!s;ENjo*r}v*`a|v*+Bh)QDUuTPJ|f)BLRtJD4e;V7g}%G!I(ENvgutF(1H z7asQo#33M?I5a8oUWv`&HcYs&8AL$hlFZg443e%8Le^uhuLjyFzx7D0H8VHDjV&Pp zva}$fAL(YsnA?K%ki`7WVS-2|gsLzhtSb}3CSyX_FH8sx zbg)1=LPSQhBa(%S2)|L)s{YJ1g26=P((3zI2(SHOiVDi$rONjBw2r z=@8|)@82l32Gkbi_a~%*DGGf`g)BsGi}CEC)~GUUNWHkl!n+qzr-g1V;VR-M7o-!A zHxhYWsN^j^EBkr!OIwU2Ax3okSk($5N#qwDKQyCS11gd20T!~>ii%G1t-;_qLCNdY zYD`s?tae$y{sOmsrKmVR ztb|ND59&~~H#)xxXoADZ5(}L@5N4b`5FjtF znu9&T-b98G*HU*-`p~fnLB^_=fQ(}k0eVLdLQ}J^Kh#hamCAHPI#gttn)OK$1?0>m zfu6q+2cxgKmrS7Z3u5U>hfnNH-iVVJ16v)McnU*rax9$Q2neV+v6`Gc_w&Ud0H??1 zUb0}lLo7oKf;}-9N&FlwBy{tIF!YXXg;Q)EIO&;*5`#^|*^gkY4FWO_u?6czVi{r( z?1{mMdeh##fI}F1$F{=h@j|Kkl6CXW-BBB;l}KRfGo#xLhtQBG3NCN_Q&c> z&IB8?Fak3Ag#f+XAfb8RFNB^MF*|c6LPQh7ZfZi;q(TL!1KW#FH};DT_{gJR|W1KXK>*CR-S6epBqLS_I5> zWDH{NN}TXO9*`i?Avy`|j|ZfPbcl+wBT$k^2Sp2KA>(2Jzjxry6;#nx8Kq{(a=1Q? zj|M!0-eO7pK?$1}YEbHI&x82>n8aA-n8Z2gz(Q}IS4NbVnU5Ni{^SQSPXJW*d0&;F zj8uR2gRl9)zerF9qQ6Q|Hc!2)NXwV|a7_~u@7z^AL!p-7o2Xd3R(wQsIDrbp2aVx7l-OXVV zChkB}4GpJ~-w8lalL*#g5CAcj8_RgXI`^Qk7zBG_FrtP|a|cTpdRsEW z=>c*w#9-HPx-Im@AOK>VV2B}DR}*UwHOQ$l5bTM;h#DPDF@&MFuOghDASW#bd#Sfa zrq~kX{5>EO0l3%{{ngxq6vUSog~cM+6N{0=GpbG1KzR3#RpIGvIS8kZ$tfTfwmM)S z%`H7z5>H%4yalk5ogioYVldLxN&sZX+QyV!5JwywmR+&bS64HVcp+1E;py#QC=$JA z!-%txY;{2h$W{>A!D{JjMoklJZ1@q7VUGmpZ5j#9R|0v`u==)CVy&535pK+Q2uLi> z3-9;|y|+ikm}^k=tc3ZSGX++s385NH2pO3WwoMa4V`xHXQA`N?w+UfaGa(!WObBhb zhB#ZGx{xOz=Q6jW;^i+Q23OAoehTE+nON}a^IHjBqNjQ;3 z*NJ;0F}Q;g>5wL*<}%GbrQXh=suha6Euc09)b~iP^~)f0Axf``qYjTndf9IY$Q|hr zoo1ivQ1(cNs5m5V2$C1c)GGu0lYDx3vJhxr)%-1&zD*h*|r#L1LlJ0m6)V76Do2 zSp<9YEJj?j&>;osV9A`Pn6);=1Z2223)ZDeeLL(Edt(T3lpQt~e!|cbK{)+}oRsO+ z)`?)V?^9M2LM^%0py#p-YruE-$wv2)z&EqS+t>HaV2VP`vJPNln1%8C(VxF@ADhOx z_}9F2W4bN1wr)u(ZMQoOsk9eblB#b^IinJ5(+#%M+_Z93;?R_nZn9fujH?^N|3)R| zv^Tf4JE<8hsrELfzIjw)ar?^VriKGk8<*L~r&?yLoIJUHV#CBqW2cUvkQy^(>d?&0 z+FRP1)~4Ltm!{g#d3b3GUSGAW<23#pyD>G_UR!riYVFFDGpnu5X?Rg+hZ9osl@O#S%!a5nQB?3VvPHfwch z<~7?Z>zkWStZzfT)#>V*-?Ga7RI7FTg1?*+{pD$=#y7w5wWSLeoN>&*7JdB(mCv2? zV#7HX%s%eoi(dce;)@P_>9UJ&{`OIq-m$3kvU_W8x$LRF?N?s<{?~3C@#=>+^;+6| z%bZ)kdt0x+l-z!B?X)|-_=9nG|NaMG-THP%uO|oey!*AI&QHD3_|9!_9C5~gw{E}w z&3_Ksvb3OL_Uz(A`+T=}{Jgum4>`Q6V3oqx-^p?6e2 zlzes5DdSK5b>pPvL&qL`{)hJ*xvqa{;}iMsG_L%oZLhQcxNdxGWBYOYT-rXUYW>MC z=VKH_$2cAKH(rDRwh;XT?U84YX*5TyXsrXfSr$K3@inCV6aP*|7+2)U-%)6@zeeZ} zpdX9prJ!90o;M)=L!?#U`4nKo!Q%n^yB;_rz@rLjn-D(}@p{C+j`$LUZ$)?tXhwj? zp2#Bt+Q~?Z0{2Ng|A{Bwq_d6(&UbMZni?tfE)Z;g0oe1HF1SuDQt^tY7!n)pCiBQUV4P~mzL^~cyjn-e0Xym>S z^lOpyIua5=s-?)g9?p)-kcnG{_rgfaQ0jVXqqRRcG(pHUP}&DT8WH5=BC$MZs09Gevt21QXacS|J!)m(uT!^|P@j>M|Q)P@GsVkvx-o zrXW>7-LDaXv{?(Gmp1EA{IWMRNrmlv$aY*8vK?JvWJ{7@wm(O5AX_G9X8TJZ1+pFAg>0Mp z7}=5}m~FJLku8%mvn>KrAlnID$o3kL1e8pYV79YkMz&1O%yur20@+UNLbfl0B#+w#jH!uTRWTZ6Q^)}eRF$i z#R>~|q~UL|1&8{)S=q%q*qqgW3KMt{v%+L6ivyUtS1%P$qHcQtHwjn*|7PM}o~!~9pd9*-*ouOH&GNssc{4-!hyM`R zx^*j_gnTUjqunxufB26e{``mk*j2XocOCwaj-Lzh$AFH%&-mp!{=s$EF;Nh106OEB zfBf28;tmM*M;LBe?Va=GUNeyD1HM3hLrMm-3=fQ z#-+f4^vpO)=%phS22iSB3t< zDuEW!1TX*i161GpAHN@XUZ>+Xs3+?0!pkqb`~y76gH1(gKFraKyXD!{XXzZMN4l&x z@)QuDw|?q6-Qp+#QgMUYp_)IpZ0(AsG`F-CwKQ)mZLrt2);lTggcP-sXhnG^ zLsfajG_qpsiwh9K9dFo5u&kf+r+{fYED|k!F?P?!k6SQj{@g;Xd#yR-P*lW>_^+6( z3y7axG*=DS8?bt=UD4c>Zd;l{jn%i=j!~244ejYRd#&EtT8J7dMMZIV%U(s@*RD_k z*0-#lKQ~XBR$ftFQIt95jmj&L;!?x{DxquDFc_G<(0Wie^BlXqm4j-!cSF15q*@v_ z`k?aG6n0o!+I&b^tDSCYYg(UL+O)c*tR=M?8+9rYQ~c(p8k*MDH+zNe6U@fdNX*R2 z1y{M?Fq0l`!qSavSK7_J>s!)IbF{PyRNPYEqCzoOLiC2FmZr9i8tlqyf-7|i!#Vaf zO705ST|*Vi9*7;()ZCm>(XtlN#oVUVO>OBwx2rG|qmui&1=9H{Xr&8Xtd+dDzO60g zw0Q7^THhMpS8)zOV_L`%6Biu9?xV2{LCPChh^6f-(``*{?c9nj@oiD28R?4&Zc`(A z@8WtVotl+iC@rfp1a&K{u&^-C{9{uN{1pZNh*^wnMXQ)oQVB(ADD!HgrF@KzV)M$% ztBYa-3H>38%^E(i^+F)Wq{xr2E{S3z!OCA)zc7m30L&G zPOZG*QLHbm{6B2Iu^1~p`J-70%Lh{F(4&*)^`yv*6wzk%r0ia-oXl8;C>C^9 z-k2yBXI9?WC>BIk-nb~%E>_<7=pa5OM63Cj7>)BWDVpG8a+LiyZ%T9sA5-ymZUm-k z)=Im*ZMJO;1O%406WM9r55Bvj+Wo z&Tsd4p1zVLjW4}N|H#NSM~Z)B*`C}ClV}TEW9URm_c*$XZs>w{P5~Gsx5pspjdCTB z>$ZoS>5p<1NM`yZuCwPH`0X{r<#KJ8+%0EfYkS;|m}KVtdyvib$(BMf_4wBg742O9 zCt^>1Qdbyd%20`Y_%SO3&ZS-PS-J&81H(kYiZ~dX`a{A9nVIAIPr6N}P~Zmf-)u$k zmCNKZKu$CN0Oj8 z4M?GVxW2Q#>9nGRgPH3}X83h^j$|R1jU7P z|Fik>+@ELux8S_~H~4ol@D9bl>jC5WKF{@erhgY;|HAV{JbC6H!5c}r`-r-H9}$nw zcX*!97qq%~o?i;o(2?AZZ`TzOyJT64y?M@9i6y32FPQfAlknE&EQHJ1bJ((RXQ=DNy z-n}Qkxx>!jm3_Ix&aJuIG~~98@Zn}So;&O`uYN!bGlI|LFL&74H8tlBJ9CGfx!W|{ z3n+58Y2Fv-r#HTXap!rN=;1yZv}G4u!${thx8CyL^$xfA!pSb?6%J#dcFm+kfC| zJUpM>A~~bsV5d)Jf-4*OKxj=Xv+s@b-yNfe!F$R z`a7N1l3NoiuKMZo$3OAY3%Y;*p(kJb@Zldl_WUpEo_zNap6ND>zxkcRUg-5N=fi9B z`2P2M1w*_2^NF{kJm+11{{=mN^yKY5SDyO!UZ>W#^yRtlKQ@jZa9-ah1`K{_=op>> z-+t1cXYdSo$@=<5r(FHFMQ4})V)4EYEj!}ZCyZ=(X~AX3zkK7PC-S}SGjXQNv*DR& z=MNyvn_Pq6$GIN!!j2-#`YLX0{1N*C{@iop2BeL^JKme|4p}ZHq@N8K&zJWDUw*i%Kk_{q|9IZ~1k(SFe=G2hXU|K)XBFt50{wLS z8;|gx@sH=wQ-Jdf()ogO?mW87=h1w1e23@J{OC;=&!c(1jgQmtGeA6rZMJsqJ2`Ul z-8p&iT$V42b>CHm2WA{#%XiS_E`i)d>-gy zwvV1E=8GVjzD9J{iVq+-c;9+G-ofTO(GEN`c6_dV63(?pZI6Kxk#DxESGxz`(7JAW z1erqK4w79s`R8|Sc5w2~@7Q$d#(x9!QJtY@`|_0oN3U^;U@^4BX4sY1(+093 z*~mo7Ck!9lyZ zvxYtaMq|3dC|IIW~^Ni-n>~o@QYxVzBU#52+yi;Ys`IxC-)T| zesw1I6&`$UB=;2_^$DEZS9sQ^^tXB3&+UY6T5!RkixzTU;rZYA3QzY%;xv@bU6b&s z-AcWCuON5t1@3OGySd`&!g(c5I^<8jPxT-2E9sN%=!}c+yc6;^!j(|Ie2d*zi~mY@ zYsKx>!sT4((0+FDmW0p8SD|U;CQSWPf&3+uHip z|A3?1;#qU~KmF)0e*5Vw4%=gS_wO9|>>k7Z`a`;US?A#&1N_eKWB7MBbkM1v{e*hC z^ge~pL9B$w$42iv7Vg&x_;rkCIQJ|SuMmFeVzo6Hn#HFtcw4?tNSA{)YmGHqoJTfD zn(4AMADJlkiF~-6O=-ZXa*MSJt~0AaM0Tkz5tqV0ZCb13avVq+kn7HnSHL~4lgZkD zXcbryY8bh<3vzE4vr5E~ zCPMg!{}9-^bt|5P;4%l^=YUHcBNSn=H|qj`t_+qTPod_PBh!~jlgJXNwlp=B@UTimslq7WYeldeapr@n9|VwG6`K$K05|D=uKhaogNv^m|(yhbM-Y4H06;NH_3MN0Cp3VOf!@ci%J`|U_# z!}HJm@wEC?mn|=__A1TkA*Y96dtiI9tT)kkcKi7~yAS{LeE67`Z`hmBLcsT^F4^V%DR2HNSQxQ;qY?`bX=!Rx zHZRpuzp^=%Xs}y1(#Y7W#LfgPW1B6I^qTrcdxPL58tTC*v2vp%%vrDm#&JzkI)VRb zEE`j+>f4*!>Jkg>Hki{j^~|YlO(MX7IW;z=nRDZ)1VjNTZDy;TPB&2;WV*Kgc!;HK zq81_`)`m4rz*7YQwbR~0BU#77K8{7hZeQ9D^M8wXht!!G-Lu`iL0W6;Gt zj#e=u8&alA`(U6Zv!Q0w>wQ4}L@zyUWpmx$J4~t+{!33sV{*BZFFn0al4faU++FHQ zHGK;^j@$XXFuCt%koOa z6JR-Q=U4_?fsHrmX6_t$X0g_R$^Ky`OCYi;oH@M}U5bwP+#F+*9Ggx%8&zO4=h4am>9VX4jmW*tl zcn&*U*jfp_pq|%kuk`OKoP)`8yOWyVvdV^qv5FgXd~Vs=6;0_Ssrtr6EzKKC8|<~M z*g_y$QCrTV`edjo=TV*WsBUT4nDeL(`AEC2(>agox+wR+BR{^nBua0^{Dt)kqj>k* zDuNlsE^FJyDBi2K{x>|T`_EF_+Z&gpxSPE+)z*d)E4{dWb?S3+A7kEUyRREQ;_TYk z9@*U|NW1m?ZBE9_DCf$&c4f+$)z;=Tt!&3(6eo&>>+74_Q!7?j;%kj-Kz4IK>)pIh z?AARZr#m$GU3CNBy=`%>-R*kSg7Oyp+wISFAfx>0^8(8Jd6j#^@Xvw1dFX+2irhJx zlg6FvGsboKI>yP9jTa3+<8!piErY*!X!Vy)rUf6i9AnxX!44S zpB~?MInUL4Ep5Jq-?uAyKY9nhaaY@P^!>j&;>!Eq_*VJPtInDC=oj8u@$}q}w!QS# ze|_ua!5dzDc|gy*UpwNA0dHMzz47+ZFFyY613z2#KF{E$Rvz~e&*5HQa({{Q-umu5 zgM0hrZ^n2>;%~qI_Mi)XzQ^d2gNKae9f_yE^um;X-`8s@&*8>xz5K}YKfLG2b^S{l zZ~ESet@k|IcjNSbU9pL0Y}Gg?WC0b2|Fm+)^Lc+3ai69Bs%&ryi;JdbC57XhDVc?*HZ zbG&0g`!~R@1wWqYEk&4Tg|C9{9i%-7yl>#&G05vy#ChH~7(3Sgh5HeA^K-plL3768 zU$%3-$AQ$vbG@g4nsKhj8@qONkns!%Gmh&Np?R*?j&_k1F?_DK0f-srdgK^9IT(P} zk#Vj^q|6h7K|swo*CT4SbG^HOoS_Ha-nAn=+ylal;weH?4~JvRJS$>Y4@UwqLl5K_ z)WgR>%FqLmGWC#$qrD705H*_~E(7u>I^Vnk40h^#a|Vw1cJh4lw&nAzL~v2^#xKOTUE*1&-Nye1hNg+;vyVk1+vXve+L6;G4Dxr;9-!m zX2G)hF9tLLlHP@b)z`sv`pz;9Ho!BmT{(Ma8Duujv%qHIT7CZ8gx+S$TMT>=Vu_p~ z^X5q&!|GQTzkbr9Z2`+^JI69uuzmWV&UTJGvskmhQqWI>p-t*0Xnwb+DKnxL9=mU1O73+)ZG%I1PU!Ixf+V^V8^i{c)A(^qplI zEaL5808QbA%V9I zQp=jwrhL3XS@Gu7H>X+}>z$&!oOeJJ3&@;zK+Zb=-7DuEVCB{E(*o!ZQ7j$!z(k$E z|9`v#Vtk)%0pD_Sa-IQA4F{$+F0+qMwai!<`bGlbJue{6$gvm!+SU9{jrM&-Me+I?&f_Wr#l#gT)P`nH)d2q``XWFNwv2*_06La zi`#J@KwvfyIwk!i16r=#<=Wk@p3djm-L88!9+1aqnRW`i@;U{nqp8Ki2q_S1+Uw+2c>{z2#Q}o$G==Wb_~V z=cc;*=|g7ibJ^B~JxYFDepKmGFBjJS(Y>>Q{$mrX`~B^?@|)kd<<9cA=u1}pV3mAx zm;PhC!+}0z^dIB>4XzK_{cjymb!V@U!|6Z9dmMUS``SV7Jr2CX!Sx~gV0lR^?{lCJ z*?jn7Jq?$fL2&eW3(avD;#cC|g=m`-;kQL!vj5lKyTHd;l>6iJ?rxIJg|tcOCA6WN zrcJL&o8Hq>AiWZLZ&FHCEZbz;u1$8+-A&slNK!=YQNSvwRc<|ioK_TjM5P{4;BZk9 zxtt#dI4V*R6%@4!3O#E7-|sUs`@XxIl$LY(;Qu7;K0D7`o|$>(nP;APX7+tA#W$bx z@P6Fa`V&6@$Gc?TN0~=}^FGW1z+7 zQKUd`I{c{v_sPOI-EP5^3VZ43d*Ikx-Y0t$nNIOO*%Qcm0e{b*LM8Tz6-hZ#=N*A& zq(tRlJ$VXutN2=FJVEo+h7B}?zZ8)Cx;KGa;NQmD45edT`-dm1yFr`X3XY8Au{IhA^WZzA0?5) zhrVyj-G!_+0dJQQ$PM9)5)P)p$FFS}clL)sA~J zoK2lF$N1zk-eB7-x7PHN&)%xpV|icg^hkQe@_yb|JH6t$0{gEZ;Cy>cgt(M)BS9=3)ig~Kd7S0CTwDMHjw^+_cCQr4ea*^{{ z6!BD>eUY;Zm#I9}_I;6am%eco#%t0e>LQUEJ}{~svw?4m=5@2&=jOeY^qi@0T%8_K zulyX=H?B^PK&}LR6=ZNJa2o`lj{(el{NLNVqq+v~lE$UL(;?~Y*sCah{^=FZ?bh!| zM8V8_ryf-OeY}@q;3C<;MKU~QxH*Cc1BFxZM8*Sy%38aUsd$Gu@mLk^h!l5hit)j{ zO{qvnS;r1L+7*q>n7#r}C2m^m$n122PH^BNSyv(v8MsI` zaFGn#kAaJ1&fu0rB=UE7h3uVeaJ;jvp#k2#?Hd&D@Pns!w%j>?4?pL4hmY_({7T^8 z$4+ZtjQ=aQDh9574qU$*xPIq-n%g^EpS-iJf&puEz#4@*`QN_JJ1}SA|9G1V**lzf z=otR)!b#FQ{&{nJK`QRv4BTV;`?|+w@2~N>XZD$Aqh??JkDr zUjpYHFg`Er1$_8!Ap2gRTXA`4;J#P(eJ?&5>@Dwm@#R6Mc;AbU0n53(aw^vc_(Gwa zJ1M$g=H(SW7Oc;V*_T)N0->DCE7{i)_)xH%%PW0fPT(tqaxSkhYhRaF_!zMN(&ZJt zSm?AaukbNpr+Inh&n%L8C*!TI7hH$CR-Stg+3c+6#i>k+xo7BndCv+g@|;r&2- zwi9mzcH&rbqs(o*stq!9N73JXF<|gFiQjDS$yxYa8Tg?? z+4za$Y%H6M_Mmtceis^yR?6R@yHMPVONTw_xj1^5PDd(=Ye;$wX-Gcg;u85b!2hsV zq{&mxDaRpvtep2CZ2$hdm_{8#XQRWHQ*ewi76P&Uqnq5tR< zLL;f;&J2Yg_%QekKKKom`V&4c;xh=5Ey#=?%BZFI%{mG~@KfJPv&#+XgNXj$E z^-hmdqz*Z^I;HAi=UYxW-cs@sV3F@7CtnTs^#G0+xEgSny3cpWSET;zyA|<+{4Be{ zzu2Fz+7QlH9}##H;8|*8U{xSrMFWh#9Pn&)hr~P~F~%U5*;q;@V~x!P2~7VePntq7N^?+Scg;{PBy zeL?0w6R=d3mXPuVfMe9-gOB4U3Uy`d(YwnI`AXI0Wvub>GPa?(oH=(6=|!F&4q;u# zhrEm*wa+}0)Yb~zCh(l0?AI&9R|U>i3r7&V$39gYXn9Gen{ZW0`C!cEc9fkNR?F)o?pdM?-lsbD)RGc zfxidLS5;$J*Yq)r|KOO8G5P8S#Eel-j5(fPq<)R~eC4ZV+r|o954g;^zM8Ue55i;A zFRIC_nz7_n_t-6C^VMe%p0Dm2%RH|loUcZYBYd~OF2GXt*>S!3XRB|HJ20+D{bJl= zf06nF;Mr60}}R)r!<~5zBm6YHEH~+K&e`QaFJS$ z__Nfz5mTZ}QQ6H3+m39Nm?1eV>7aH;wrV7a<_0`uP{ zG4}|3Sm3`&s(&ISYVbt%^t_2E>|a}u#fMleF+rqs^z?Ut@f4Lv()-Ja$rv#TRUzlIe(kL-vW+NrPD~Q0dSaV zop#7KOeF+<8L(8nGL4)pt>=hT*53;H3+hR~rJgz83s|l`fS7#sPxb8eN2V|Km#SN) zv(y6;eon$8W>BJL3S0u1uRb+{TrrcJp9To2p3NGYXS3Ay**_Xzsy;TG z@y;B^oHgf_+Hy5_4*R`8mR+s;q%D&j-v`u?DvA>kY5e7OC$8 zma5tFNV93)E4BIR;d$iD(||>4)%;g#$Ec&{9M50wtXn|Ne{uom^_>e|a^CI#He&ck z9ZAT4gVktQetBtZx?qD)l4<7xD^wNGuEdrJc9tp=Y`x?hrG^UjK4534Ds{GCU6M9M zRSR~7l)D_i(j=9uCGB$6E!gLQm8pa3Ho?B49tFLF>Q2F46zreXR|Wf(rU=sv;95`z@Pp}`Urv$r5u$S=E5T<{Xvz|Qs!0j%{62b?LeQQ!pvH~K~* zzD>g01ttV`3+xg24+3u#_TE}*7-g`c&2!q0PsFZ!1P{)<3e*JF~C zWy{p1feXRG9f20W4+kzr&R+#sR#X0KU>o3^A7@kE&oe^59D7B_?!I0fTacB1{_iF0O0q1 zFUzFS~SU@u_4x=zA(Ncd|Ken8+41^!InF@Xhz zq+BU*yui7D`D(Sm_Xvy#+zsfc4-5Rfz`F(BEAVlFFADslKz|YQ4-+^^;CTXD1YRPr zU0{#EPYV1;fp-ghMBsl2d{y8Hfn~*{TqSUZz?A~G3fv*^9|Ybc@NR+M7WkCFR|Fmx zSW%)JN5zI*0{EdJn*l#HgyVbL5X#|K1wJr@qxPdATal{eyztC+gwHyYl2&ylC7I*v zsPoR;f%uJQ?gUJo`2oO>3A|0<5y`3N$m0^$bLXgp^_+S`$_9tFfZB+mtap;YC9p5- zd})!G?E6BEGzNVJjX5Er#C3~dlTvo|G>bmsUT_Y5}P)W+)7N{wE`~I}VzbY_zHgkGg ztLxSM)ivI5He2;&f!`MRm_Xe-FZXiG>QptFZ5}?FbfySgEKs-Y-J{utZ31;WHDyiB z%l}V!N-_0`5LdDfk9gY0l_ofb*n{dvzVW~o3)ZV%M4C^14)%;vy~^=V0d||gYW*`* zKz&CrO(kDFE10GNn|hKiM=AyCg*uJ>7*q<>6H{H9h3dx!dlhNLY8CcFtZ#5&3f9Go z4K^-Njh)F41pBmV3##%*4ro!KyBu_8zQV7idiVbD&L?t6K!? zRrdoMqHdc-D*M!Pf%mC1)h`4i&2Frc!P!jHJsPGK3#R!pTwOeuX}x&X))efgt~1!V zc~@Z7FKN(eD}bG)W*Tf)-c@R(y3Sx9MY&3Ki@|QotA;&s-aM9L?VkeHB3N%Qn7?0z z)Q1cdFbqc2YP^In^O!r}o>@m@Y;JA`JSW&xM zNToM8vt+*-qdse}^(DnfyT@P=Nqg2{I|X|~W9p+NQ&8?#7YP;h8DL{o*#?ar1XiO) z8thxZCa7@+dji-bHPv7*0-K_i8|)2Wb*kN9!_Szarm2SwHUrpn^|ZlO0-LFRYOqUz z%~o$3EDmh0ns%{n%SV9CQ{Ob$Ex^uEj~nbTuyfT52746P`6{qcmpcku zE7g4lyBpOeav8=MB01R=L~iSuuIiJgWV5ov%1G%&jD*w4;t)u zz_zG~n>Ec7z_zKG1{*baih7^A&S3L_wX2&9whmZK-D$8+V4dm_gMAcOLOpA+&jU-T zDXqGOyMXOf@7bcUZx60kyVYm6YV7I3!=2sg4THUev~D#js?+{cur&rNEt`V0zr0VU zRRa5f`oVUMonLmgbGiDx!M2yx;I%+)bm%}ATw7M>^r~kJb{ooFseWOwyMbM$es8dc z%Bs~z)Zz|Z?$xr{&PUWo4OUTpuCrI&W3XCaA5*(yI_F|wSE~aCdl#^4)x8Gm0Jcwk z*I;{qeMNlA|Ntt-FdQ~N`+toC|KCQM4+2DLZ{i{xs73dE2 zL&2!Cu5#{BzZXpFtbbBdQo07NBnQ={*J^CaFk(OWgvJ&Rn*wawCpESWX`Q9fbvo_AVKvTOYVP$K`x(*>t2G8YF>I;xRds{G%7#zDJGeui);a5j z*EnBS>N6T!gS30p2!rhyzSQ}qy4zqMLC$|s?Vr^-Z$r*|)wc|GAF%JJXEhf5^YD*5 z_p8?p798xrz}})B|di#)7Lx>~|hi9R_>vh?{|3XL80yRI7*7nV-|;{sHA4 zQXzxgHKN9OMBQSrCz19&b;w|UK)FZN4>T4mulNG?d!f$@mEfd`JArM}m|9R#18m9- zx`y{wOi_=i%MA8GV2`VN40ao^C)H~P`vI_jQ`2tL<$e$BY4xDN2Ax&oJfpVVq|@ro znxdXlHyCUMupg<;n|0bIU_Vh$7;G1?pQ_&&>{?())$O8KSrOt2E#|^e_Q%ugyVdG<>h(0X)cKtnd^^i&N&dZBA(&o$kEzQJGVNh?=g4Y2we$ZO?1*4%4oO<@ zk&*k6cBf#y>ZOrWfITc2>s#vlQN19TuHiK`>WeI=Yj|B<{AHmcHN39wGZ<@lUDe;E zb8Z_o1=w=I9#l7sde!-}+9;T=;SH5CX|xXCR9`XWI2(_v!I%WL569IH48|Ics|&uN zYZzNu;~ZD#-=nc*l~dGT)Rlti8vdqk5lnO9g!+TQNachYafIb`|4yhig6aM#=ePGV zO;b@$@Y`-q$5||x&gpaRevoOp2A^{$eCWhjgU{)Cm{_kGeKssy=jR5S4lLlD|A^$2 zamaVB6RcM)KKtWNzVo2LHlDp7*lPyskhBTk)ike?wB>^7cIG?V1k*h#aBed>$92REp0hs+e~x_jXB+Rz7z6m$@vZT^o|;N4)xe*K);#< z2w$|sYxqHl@wWN95|cY#{l(`kAkF?#`=fli`TL{OSG?n+1ym@o3~;=vkZ_g2i2~~d zHVAAK*d%Z*;A_rCz-pY+5QcqCRiF2TecP)J_@cgK)tye6x}xevwZnIF)g6dGT=f-S zmG2?MRQR3;?DhS*>WHt`mpA4+fF)xd@-_H|jJZ+m^-UbJ)Y%6LkNS=}=Z<+2uo>~p z`HZg#J~q}!TWUXQ|E;fHYHtwOC~&XunlaU?UL73sx^J!XwC^vzy}oab@%i`q9s%Wp zD8-nk#}p#w`7y6KhY>Rv;Wx$%^B2FXYs>iGQCACp4sUGVuRBhFh0lNf# zxSAC1sGjbB(sy_DT*QC3`aJ)B-;b-8BK+&><$$k&LZJ$bB|KB$+_CFW>Ou)$Iu@3z zuXpSwf1~;cVs=RTy9Gu~Uv3+_#lJ&6JhsE{_@5e^MEFON^TgQqBRpsvON|}Z3!1g# zh9PDyV7DRx!#_FRk9iT>}6`>em-|D$m?`5XLy8+WU}(O*(? z(BI@gyXHpK=9;hi!~VOgk04Kb&3+a2lmB6VZ_NXU|5(k#$a!52 z+i;}jr~VxhzXS0v`NQgCHLrl?V?y&MfO~x}*ZkRk(Dw$)I>_@^v{Q#kts6B~t6qWo z{AvXGt$`+WcXd3_5ZE?xgY%@nePT79_y3`ZI|Ge@YbJgm zaL~_DJ^(lwJ-TV)X98t1visout%l$9QNX?6^UZ;#0Qs;s@P~=7!JjaE((QpT>S{wO zb2bHLPx@kDujJpS)=WAahz9Pi{zhQGde@}=3L`V=CjWlL5j+6;OF@A=KOi{|N{to% zu1Vw75eXkrdnP>_IIQ+gdLEED537BXeva^=NgSzvo%BXvukV>je+zU6em%*Tx7YWY z#Q$|tVcw1aN3AV50wu$=3s3JNa`3P14SNDD_)k6~+iN8t~?V1_{3@smBBs zN=%u+3V{;=Z!T~oT;&{@3|$d;67WFajmftc91J`)_KTpCKjk&2!Qo74a0X8q=5KJS zr+gLh)B_F9v?=3NgL96+P^uMM*@4Me6s-BX3BklUzqYpL7_v9(V*^| z@T#-;@CSC=EFlXq?1g+V9phPn-olXr)}uL}GQV3Q-V7kI4hpdWLpZe6g+c>%RF zIe)6V5v?koN(y(>Z3Klo>MljAo|f7xrtSxq$l<~~nS*)LrZT*6YME1*M{XD9EuTub zLE_s5UMBG40zWr(n7=IV@YK#=VIJjkukTw^FAqMcelT@Uu)=wE>PHb?Gya-jq2ek~ zs9u`-XF%$I#$Si{zfJv|^18~B$djS_syC3jr-y^}jKDMVSZ{4(~B<8tb zeO}MBp9On;S5G_Q`<{RQv|k4s@*bLYELfHI^fX@~O9cy?9AEw5!nJwSvAx0{a(h@I zxq7z18iBRQ!?_O$tbf4Yl=rckCX}tMU+RRxldGI)UR(W!!X0@X^_LXBEZU|}vA^At zigBsuh!FdH#{eDYS%E(n_`1Xgre9Im=nR?u^MI2#Zu$m{ z`^@Pd2t@PFpS~aYS5N;aM*nHw^@aDV_e`fecTR`C@^uO90jyB_rr%V!7j1sU|2_5f z>9-Z`m;N5edl?iC?v&I9`8P)J@tr`FQ!XxO#Qs|0z%^2p# z{F?CqU>9Ja;(GC>>YeeLb3gJ7M);p*JW=>P2|uYGpYcrL4$O#O7CxEx>lw!YkI#4` zup>}3^9|4+H*;{&QOWsSUgOMRMbG7}6&Mzn6u4L5O#=T}-~$4m6!>$2e-c&Ia}~mk&L?JJ z^>l8U1%2%toCWL1IU?|30uKt@i(WvMoUL=7ME>NQ=Zg0F zdglzo3Uck77Yp_~H_a*Z?{~Nw9&k8w4>)42Ih$*a7ER25YV0qI4m(HYyjpb7c@(7@ z^M5zzHBfkS4)nZ3eX`$|KleY2_Nu{ivHFNzbl73|utOWEP>r5j2smplY`nnYx!;7Q zT{V}QeDmCDH8G#MvB~M28!Vofe|L2$AZO@dr*|$aB}n_&;$G*IbE#MFm^-=nsPpx? zUjXF?=3axCr{?Zgz0NP@LgtTTIG?(`!hc@_t(4wb)q!yS zvkhB|o1E7qXK>z9r&scC%pZzyS$@sDhkQHo&z}dY+hJNl9(})J-a2T%>yW3yf5W`Lfaa~BbI_qa?{&UD z@4@0;>BZjs7ZATU{}sTp{MYB*TeLSne?DVI&d0dqPnPi9`8VQz>XP{v7wyZZ-e_{@ zqj&NynZGf(Ht&7N*%Z)_dZtPx=l>k_UNL{XsuIuiG2h4Mzg&FGchh{>rM}zeb0@M9 zGwV6$>xilFKZshMa~?-675?YvS0nxy!p}MCoRZ*k&dhUegk5yOIZnxQGCB+g5$4!E zC-bo^fBiZ47DatKkn^Cr@|-fK!hb!&75*=rv($On`Nlc4muMI5_0j6C64{;zxYU^_ zyOm=i^T$M1tMYzuj$R|?mP}N?J?Bff6HI&Km~ih&^=Hs*%r99m9_I@a7ChkJn8%&e z#=O|PjU`9@vlhG;Z~-7^@e<7IB@142s7uQN`+S!!*jBPO5JOq6LGhA<&W8{_D3-}F z=f(xsl+>wrt9#F=Q?2S@z-IMjz+!bh;)kfu1CEq%wZO^hD~Oq|?gw0?eg(K(-Fn7- zPSRfzs0#csZ$e%p;PSjM;AOA||CslsyaRyG=iLujo_`eZ!h9$1k9oJ`R{{PyzY#E0 z5C(jA!SlXXd>j4O`XBTE&hHOg5x6(-c;My09|9xtt}579@Jhk)0w*{l7!B?W9t{2^ zIHzz;;pW07GB`ZssOTs0WmGqW;w4^}c z9tZaRMSvyvHyF1k%H?+V{QLuO&n^{MTCyA-*{MSqbKa1(2rrlL#R6X${?CY6IN~0_ z{EBY_e(S6U0nZq90Qp@AKLcvQFJo~3(T8*W0zmE%eK^%G2AqhxeK^w}1o$ykhL(LC z(5J4!2s!FnK%crE_bYtr)3`g~gY8}c_!vgcr=G{Hh(M1*C=V3d`6Ch{jZP{{V_l>jg}iBO zQwH7?OGOf~aC=K4+?w$`a%oH-b+V1R*BNxOA7`%m`QU8!ihS`=@KY;F%H@i3NnM@Kl;wjvsfSRTu8)^$a< zM^lC~>!ZsNZf;G)+uQL|la|Qt)Z%Eevpw7`^<{KmVOJ^@kEzw$O<+ZMbEI9h6V@xd z+#!j<^~6orNi!5$u-(MlP`yr@slR6Fui5%*j%tl}b|<1+x205DJhdv4y2wkrwLQ_& z-5JpY4X4o6&Uh>mOF?eYq($)WN+tpCt81nFuygTbL^VNjA+FK)N77~0lAWN? zn85FCHcL|ySKaTXGbI|(&pv`+jQ^hH+jQZ=o>qcBvMQzZ%6 z*)4OZEs|_aL}d=xC{sJ?O{Ol2Mt12UX$&O0I${?@DC;_j@7&O_8gEX8Q(Z|D(-BD~ z!&@VkxM!wrqU>f8-_#sob0cj{v9`$WMceR-j!1SEh&I@!8oN^QW(1Z-6UmgWYxS0N zBekSKSR+Qz7BRRYzI7`aO)aq!10+49B1vJ!7`31{O{CYccxqi&jHr=sQmcz{Hg3U8 zBn$04lVOF-T3rL3fecBDlEx}X1}fc-0Lcm(x01Xr+Pcj$D47bkZkM^P4C`Fgr6N{| zxp5wKrWwkK6HcwvY?o;pPGLkWQ6sXfPU+uwE$oW6b1b1aBe6D5*1lBcCc}QrOjCu- z1dfE-65XBZ0-K|;*7h!R7p;}=)_817bgPQRsp}LpIX_7=(wHN$WV}6s$rszITH7Px zSXZao7HRKPTO+AW7le~dhMYmsDxrE2rcYZq6;aC~sSA)@dgRHDpv}52(u%3IG}<0n z8HsgW0Ik%H{w5^W==Y>IMK3Jtsn6V^NmGDilFgCC&S)#{kmn8%>tR(D451{+p9p_X{Oy(QYIQs$ep zlLMkUY=9Ww=L2@=QB=wBP8m*#CDJHkC}=FQD_tNCsZJxgW1c3Me#A|EZq)SLsF{#e zX!11W$nGd+glQz$!G)2yiokL(LY7X~Ga`+8vU^(5SL}3Qk#tlgBdHXm#O*biaB+vV zc+%84mogAxk&X3K7^Y#B&WVNMqUP*|V@hXOQR&<}u}~0k2Q{6zTV;_>X^R+cAM$JBh$oYZ<5Wuy$?bs!be46Xt5*Ng~>mG_8^>ZF=Q5QL>mYzZY*xrYW>Z z1|5NsrmjxU`Auu$omi7RO2t@aUe#ivGL(Xe^J*$jl&h~yq~XTW1T^ffcw)O{flZdd z$YOj(8heu-D3jvVOD4(+rs-E&4QJIy$;_OCraTk$?r0NihW2jN$JDf0Gv~F5&6@ot z)-Ia5h+RWhYE40-B4<|Hf>y*ms=*|M**?x4w|uscXA|isy}vn_64qwV6Aw&5@QkSuGnn?9n{? zLO3z7aB3|k^%Oc!BQ(AB^JWt})6Kg&#zdn5jgrrZ zTOVr&_t}j;qS1XF%aX7{6SSU8lrHFrG>)0fTp3mBB59(QF{@*q_Hh<)N95M)#(*{6 z`nqCEq3M#_KoCRF5>2&7Xc;ewg*UfHkk`0VOhhvb5*w4f?0I+usUv3Eow>T%J%>?M z$~0T+8yJ^*Bc6rY)mhd??gWe%CC=vSYNq26VaX6k(%tbX|1B+xoxyDT$Q3)4|w}vwUlk2 z#p%`H?#!d@O{?7nB57hE6r1DBtZU6eS=+({oO%(H-EcT3J`w4FzObWhd1S0OGAZ2^ zPh19NCGPk&K5PRiBGhLrS-FD{*&*-cqN z+UXR?inlr_)30ROZusjK&SHF8HD#3Uhjm8%c~T9lHW`Nnl}`VunEvZK>DE}IEeMW` z=}h(@nVR|*CU0#g&ylXNF;gl{tsc4c(##QRn+S5~UC!9{%|moDol^|(j0kLSH)TZh zAs>CyUF-^ykoDrE>cu-@+*4#cacSww65_rqGnuj^)AEDEeexVyS;?*Hmz&$Fa zkGbS6ot2Eq~jTuq34jm@?{a0NKb~ezi)<;;pMs! z5rd<7TNr0Qi*OK8G2i-4m;0;Ac);KUp)Qa~c5q#cP7no?&M&q>wM`F`e%94vYKK@EjiA zaN7zTh#5&tH_EuYGOP`~*Y!rVa@vW@dC6{=0qN4(ktqq@+Po9}EwZ5TDIO`Vi0q8C zr!^kVMixg=68@lWZF6-*5?ie$5RG6s(I5&6cMI)CYkFJU0ViEli)~J{5qNKWQoq!l z>z$mLcxoNYb{neAuFGeB;7S8o}NWPqb}FgyA*P$4H(6IV7?r4pP9wL1Un&hlXb(*qqam z?imGi(jMeu5lgo!xee3TG|@9?Td>l}jzEqAVe`_4Pj>QTnZEs`;Uu%*aHy+Q&U1Ep zpJ(0G*%?o`a%fI0)UGM;Oq??=+?cdk1 zNJ7SNnqx>6@7&ZBgJQ+GUaH$1TyjanM#&Vi$MRgpxYMI4Ckx+_*v@Do9_zr`rnAZ$ z2~w^x#r~Q3B>knY(fB*`We3cwcvk`%h^JN(S{aUod0O1umE=OaBHWGB5uEh$l8K&$ zQh!cF+QY-vNo8_4N-Q0K{*b+dKJ&K+lGxuFD}pEajc|8L4H*bZa_^6$Yjf=HIrNuR z%1g|Xrkb=(<7HiAD-Uzb=8o;tJ{xaDdlW2{W}AXIX}1%dJTL$(ll50ahg z#)&RT(o^M)gYcM3BTcQi%)u<_z{>FMXa@`zSzVAo*RL0EhE8jWwS<$~H^VbR%Hlv- zgMsAC7h;()9H$Q4)sUe}ViYl+5k*%Q{APOKF@9TP@nkC6nxwJFH3$L;=TMsWP_Iyp zZK^TWx-G7|mXt&t0TFdCMC7oCNy43VyvrcPmcm!EF1|}|Ni#~jY}0-e7nh~Yl(>j@ zGRQayP-xIidIA~jbEC`58=`HgZ7@XT+K22a87p+#aaYCM!GX(3_f22P5tL-bicRY) zeLl`B6?IE?!=OwWourx|2GQ8M$W|;bxPe6p=_dxR&Lwzf2HY`lZ>7V$A_ECADa1s` z^la9*yd*}Zl~Be|;S5TBuLRDd23~Dx( zcKZ5(_imUNa_KB`rVnpn7jC)17SaXbU-n!k^LU#P#I6JV0LP{G)R#{>RkE9~*?txncJz{aW*<>c2?i{zqIwV>2Yh+R;#^hXvM+##> zc)xaZ-%6=bU+Dk$7pka zC$xq{w~_(j6xgFL0%pf$in?I7AtccV_hW0fhw15-r5T$Fw`;CqCq>m7mRn?v9h<3! z(Jt+5>QzV^NntEN`UoCG5-HfTmZFQuUI&Xbn;_dui4c_QHy0Tu z>Ejfg4d#VdHd@o59oX1$Iku~gM>ZGY`kYQ#9Bii^>IB-ti2G$zmHpmrIy-kqI|Pwz5vs^X61U zk3W3PUAo8QyYK>56*Y%hx;Q?@HKYARUc0fcOuA-{oTmxeGIY-ry+rJRqKK2ZQNgg$ zud*^2CEv7KaYu+tjnD~tS~l*)wwjA^+J@Khb}&iF4(1|mjB&Y=npw+DOL(i9f(g5; z5t{`=3yL|SnPtn(4<2~U<-DoyP zyS>PEX<1X!Zpi2*fL@o_MqJh12{B+R#m3QxjFvJxZ3Ue=Lhn6fK!~oy9!yx6j?rTk z-Yw(Aaf7Ol@486bJ1mj5^>70?DVmR&C^Ad7Y(XxQ4qRM&VqxkKbU+7hF>*JgSil6? z#KrDSEn!TvF+P}v{fk^;knT#eXvgcT=31?@1zw!(TpI3(LM@X(7D^ILF*#!A9d&G0 zWb474IxD_vsuq@+s4nTUpQHAdSa zs)>bNS}2*KJ!vSUH`6S;jOUNh)|GK=IOub+-f85;fMecgZLJU~8p%Y9)eZ}8#&j)0 zydzC}&nq=Fk~KMVrNoR&T4%#Nz{+meZvt$yHZ?MeF44bv07WaSq@KQ3qM9&FGp6gY z(k)7I(ufJofC#&mUl5t~*0vDceuB~}kY$I`B~!@tsfzf*ERzM1hK8|N8WV|dH?0(*kX|I|A+XnpdCA>7 zW=mks&_1(>%B&eFG6d# z#-+xExMYc|(`2J&FsG?8^jxNKC6!wwq$!lrn`g$@6_HHJOtrU2a$F2HL0>O{Fv^wG zoNU^~-Ues5z5asRT#=Y?mgc8mdeq@L-A;cMwm%pY%*P}Z(S|6@mL_&hXzQ#dn2z-> zKNK)~dxPDkd|};`3l_wUP8BULKQZveXh{@xXYy$==8nZvIDG|#acl*t**q4<((Fz4 zkYRizx`w0nxk#gb*CEECYAsACy^3<4M7c8Svd zAaiMmZ37dfgh>!7(nBt*6>(g~xcq{L=cn$F*rP?vE_*Y~O1BJ~X4H!Q zYVN{MnG#rO^eVk3j1x(1I+Nuv&y6_B*?_bYzgd9evb`&b2$h(5H1OzKg#$qRqLwE7jSB&8wb= za_fbn0wP7`xQP zXpfE|C1bHz6(HlFw39LIhtiQGZGYFpRoFDg*67*tNUqi}??@#h(h_E37mW9kW4KII z3=`nsk7314a08Cx2ek&j;ejL=#~|}&tf7pstCQ?48DZo!Eq%(EIbJnw^1zzq4{3PX zxny@3Kai6eXnHlqx-;^_+fR#+y^yhG#*8&s>|%SN2!@7`%Es4Z+&fBp_|t2bnRr~8 zGP))P#8R9dM-uwnJz+$HJhLVZJ*(bQ>2{_Yy`-ZP4tv*x)~thCcjIKrFM>+PJqvrh z=)DCaH5i7b>9Q3Wh#eEX8bb8wmVouV8SGPxq_lLyH#Kj3aBNjMmlr$eaTt&3C~kM!@xgZ!gvD_#naQp~Uji6Oky zVH*BTSG6Y8fVf4-6GrZK+97fHSr2cb;iT>O#qsv{vP<#-mZx8SSVC-gZ#0N3M$yf=d*&ut#``Y6U5~F)Px!y(OpP4U>zJ zk9pfsveT47c@KR&Nw??4|Gi=0fcD2!rY!*@C}J^$n;{xe!I`ocUFZVqLtrUIk1Pt| z4I3P2o^Ufy|Kh2JQeW-UV`4~ z2@q1t5Zi%&;f&Vc!M{UuCmw1U(u&$Lr?Jw)W|U8q7Aw6hy$sIZKIOfrBrcaI!&F?40;?dIQ5l6U#NUqg~#|UHcGH% zEr`V<5^Sp~IE`|1fy09~OY8OIg**+Rx?ez}9@>FUCXJfKxqsO-0i&1-6rs`I_ zSe9yJtLX_RJ5>qQo6U{ZSGjzsMcyvt-lWE1B=N2u^kb`XW~~Nhd!>0#IU~K8)YXDe z82#tiTUDXPX&&L{^q`2H5bAZuf>O91W2j~W71DOTRG3!R;uy@c!^oKdX2=`nP=NaImW&S6uX3a9CI^- zQQ+L8yzT;KX9GjFjcR-|%CXfhr7qB-e30jQ#-iTQF6YS)mZE~^%;b2h$xW!6vZ}{0 zs@|Wbn3H!t<(dkfZMHS!mS@_jm1WyA>t@+xb{iMu*1?kOPb0X$88oyWS|c3S3kG{6 zJ*?&!;l>gAm;iTLJv>_~S8|_JMF&*%9Z$Wt8+kDI7oD5} z`L|8Ries!-4$fYVOQ)@+n(d-4WQ^`{4rj-+*Lv=iWwr`op6QtD%FlyUar zDx36COOgRD&|Lg__9PbYCpbsEt^Xh6xUUEbpaVnK`*?dh@C> z8fmrW-?`wIlP9e!u7l3dCY&l{9)48s0(NZ`CVLBt=xHCqW8c{EP7Es^)FF+Cs7pZV z-NIno$Ry&Ccvaa2lV2y<=$JE#uy&{C8$)d=mxjmXi3Z!U)2 z_)ellTsosD-Hm#+AaDpc4Jh30l8=f+x202Rd7qSGn`~cf>r%*1njtX8RkSS2Ho80@ z+s;s#igq4ioSvt%qjiTU{S1XM@+7|#p>}kJ3~)Qd^@*ugqIVz%^RcTmL1SX^kf~%2 z^?eMLy4@o~v}U&wOnQu?tdZR=dpR@gzRqo_E+t9AiJ#sCTw6qU#Et7N{xMVFYRq0i;ZoHw3G3?vs zw)Jwg$8)W~PrZ7x1+;zCP}ga&2EB_3zts@@^bee)6{c-^ZeSC_RmzHW4s!o%VeY%+VQ65p|#7FtU}!~D~ESV&8%Oq;zn-KPU3nbT9A7)FjdB~oDE!i z**`UeGkyzVyuERGmtJR!-8faPZIe38LhfzIAudNYFXxb(XC=}&&uwa**xam9RarW@ zd0I3-#`T|L1E}JMO_=j)eE+#957x<}YWvT}7Ep6>@BMz1!3;_FGPiZ?i)f8PtHZpx zwN^WMf3x%C_BT66-~G+bmC;{M53=*6doa@SgnChH#dI1pjdkH@_l+9FdBeS!nJ37R zrKwhCngn%ey|n^7(O#vthJ-A!ty_n3cJ0a3n4JC8 z{7m1TUWM@(P#I6kx|*8ZCfgS7+?gYjqFRuh-|AjlPWORrva9K8$b-?Mqni-cwgV+p zudA*GQ?qQJa^=d^Hgqx4;<5ILS9Y_{sC9OQ=>J954*DF|B)r6q# zJSJVw%Ur{?4Gn*S0Ah-+WGKTFP7{P`c-KE*{i7eLLoCR;quiFLeIQYU!il)^rOeMaAA(ygN8wz2=?3$)ZobQIv%nQ zV^l#ST8_oEfNmC;cQC?fj^n6zbY{IdHNipYrHp~EXdvC^Lmz`Uyb=ssm@AUC)=f0I7e*KEfrpCB-It4lONn+PI2#s++5Y6%e^9l3RN^B~{PASv{ehw6wU~QyiKZ+DoS= z6c=-CB3UKCc&>&N0(MsG6K!=`ABkRRyj|2O^m%eM)z&CW)4bt%8|%bXVnFSO)NW&| zK2ENnz`V(st;!URELAajO-2tg^Fq9O$Dd3NC>=CZX+6~mT$ZdE+}{M&EYSxDb|XOV5ElljH4dR(1NT;CtvFDzac)qg=m({$?&~bgs)sCQSDl<=VD9KlVeE$0!euDE z2o7yT-K^a!tZG4aDXT$FNj=q{ZfP~XzYZB@mjVu^h=lhj9)^5$YSj53i$`jh2VVc6=9Z4S- zjSX!i(KOSB2lC>Mjh;7@L{&zfcOq5G6=S#z(c{FOuH>1hduQu*YtG?tp*7yrc>3&Y z3*7p1N@VSJtb|ans~PT&+3Qr$oUl76dIhxXNtsBd44quNX0AtEH*`;3+MJ)%7}{9i z%EL1|HL(e^-1Q=4pN{EMInH*q%dU*M%Q1Z$yz8m`o3yE1zn^Pf=r!u(9!t(&Yuj-a z!YgUy#qCK3mwLYOUt^PPcq<0EZ|j?CMcYg4_!j)5lY=HB7t35FcZ!Ukn$7r=4=|kx znFHlj0qzdLUMZnnuab0c+ua5isQ!ED?t1mI;^MCAyiE3;|23oNfnWskhqctCACG8YlM37CLa)zzUN+&xZ_Fhw+i zd$N~#Qs#S7F2fSZ+%A_X;F`{)bh$}Nb=fIGHAJQV-!(C;oo_v%+>O)0-pvUjSHiqg zIJ4hg!$eKA^3EOU$<&Wi?_FZuez@|UDd%X%Xc|a*dzIM&&3Tn4mwiUs7G&O0mb3=C zKdpy4(}$s5ky^?0QE~{&v$Uoz)MgRqzmv}_m$Ho`qSpS9qy# zIpml#kIG2#=Hdk!?*&Qrnb(DL5AkOx{DKDhg4+TvP~LL3lza4eQd7GAbm^#Z)Ks=+ zx?THhbJ+&u;kDK%K3i$BL^E?z$Fg^JBSpS4Cv`>=GKzo*Y1*x%|_3G709A*D`{&}TmNJt3Gkk`b{J?|Oy76+`tfZ#hm(xg zHb(a;`Xo~y=g@lRjoV!N08O9Fu5-V^JF<2tt)OP@tY*=k_xiwBpcKn; z;ib}d&vx-(Ii!dqYRRdc^mzx%w!^vta9?B5+oxiC!}~~?OOd{%V_h?<=W9*kf6*h! zLv)TW?F_q7;IL^;%5_%zX6$h?4LEv%xE^Uap*2zq)^K3BdiU=swSFRf1zQiB-kPvJ z4!+)cYg@sUK5lHB$*f1$vKlpU9$M*Sm_ox}naBnE$y`0$Hl3_LPV}v~k=r&c-fWL$ zDmke6p*uibmU918?bxL0_u?i39c!#qvm<+8PrWO- zL!}pg(za~Z4m&pAjj=PCqNLfxVRdJWw$WYtJcY9Qekc!7Xx!?#Z{7A3Gb@&KX6th} zcd=m2eR(2u-Ij?)f#I0KW$arD(W1;@upD7~tf7(1&rJR(=#osq_R{QEmz<&&@Y2fe zjcPnKO+p%dPbxe-MaIqkYRJ7DtR1c$_$ASK(6|dQ<=lIt<8i`$BEJq_uym8}fD|8$BIV4=~o^IQ=x;Kp8x^@nzy|?Msu6k~KYbMc< zq9w>*E%161*Kpc@dS}crwan1c&J=xSY2}$aV_plj^TDdNq|oY*_IoJ@;kAM&|7R=pQu3+aS17c9>^U3yxJQHSvqS`}(V3)4}&6&yeNqqmG} z85J#vw?CAixlV_=xI7D1%fidc{PrhkYEb4bLlrh*v}oC=L3&@j8DUOeHI5Rb>AF;@ z=`tL~6DbG0zRyyWMQSAetU>=~hTLX<@Q(UQY8g)7#lW?$Bfsds!Ct3Y_ck|;I*ghf zHyvGq-ERsHe0ArSB?Q4W@O7Rq$^A^rVBb7x$f4INYB1 zE9yNT>u)u3wS-+CU0XNTB+A||aH+=QmH?@I$qGFqxZNY`s29i(c0=n1u2ycTOp{7` zcU%o%b^!BNrfVS`cNarh)pE$?B(t@~Q`B>H|EgDC`*2D2O~NZddXq%K)q6bbUmMz|wx3uLo` zySVJJ?~4t(nVE+t{jj2z+EpK^cstP#BbH|};;n0-J*B5=ri{T?G&%D|l=WWPqa5!s z5@pr4QrlEES3m9CsP}=cP`PGp-@MUAg{69uR?ni2?!?eiM{}G`sXZ&-sy*I0nq7mn zNp0&?trhQ6s(W=`bss3=m+heytIT3{ z4YK!*=|wEtb0sxC5%!EuMzE4b;?f6#aQL23%^Hcbln_w2j|i>r~G} z{dJdfk1G=oD``p7xtOib`s#}7D4@5Mc9y+hK`UG1x?$d*{p-$a%e4*pGz+cyL0gtf zzcoBE>%}55nm16nDc0<70R^_ZMcNJPaB8M^Ig=e6`>gyu`}<>yJ0^P9O?yZCKq*Ao z4AQ@u;F`A!YzTviRI$YMqR*WVcUuv~U;c6ruPvO+F{P1C?~m-tDw)eV$~U0l3DDbM zsH>{Xj@ooSct_W-uIR64mbq3Dus_Hwy}5NO$^FcBc{PE~qt>3hd~ON;Vk}emyd#Kv>~Djj z9d$eASrkvJkD9CA(NaTbJ?m|A`Zv#VxXekapNx_1so>P-l4T7b)w7R7Ks%QXPl}oq zKZ^Rv2yu<-mXhwST`Oj5FH<}j!wRVY`?Ab9!QAFhU{zrwrXZ)KI)l4y+6`2ms*L+N z8i$;|oT_Tb1!y4;L|m~{wVCbC6qKAD;g0?$A?u{&$aS3CD4M2vLD7QCR@0uLxlET2 z?NDM`#n@gm#XPo+y|0(CTGqHQ+8uzt`o-C8 znGGp{O-$Q>N0DT!dve7**>SvSqI2_hLT-N5b4<&ew;>#1`Vy?vxt(=a=uB6kl|Pz2 zTOcXg6tV6xn@U53XE4^vV;!W(dbA%^%M7P5Ws#5Dqs34wvPa3aQl9_~syiBnb&pgTo4`Sk!m0>|5P+EvI$=Y!kYW>1Yg zz{;-Cy|M0=$!w>pw5-;XHnZodszo$5?^k$_20e%A=>^)-u_g46&)n6~#%HcJs=*o| zx#g{L@v0VA8L8Ur9hsebea^g7{PDZx;al)}q_<6)bM|NQC)uX-U&wC7?HZy5NY5|# z_P_R3GL5%PId8Scil=%sA?#YCeMG#mZC4Mvv0cZyRecmcihFMD5W6`$G55S{fbAfK z&V3F*HnUZO*MjS7U9fb>HZLVr@8u5%+UD$6_>@wgy!i7Qzx(G8Hr{zrQK7o7WTpy! z|dxM{T;&W$zOw>%a@cl<)Lu-%6#RNuPtARg!TArlt{wT@{N-5lJbqd z{8C@Ok0~G$Qa*f2{S)w=UmnIMf=?8mj^J0$+jK?Q(?#=u?7(LfK3({9<8yf+zr3fH z;3|T>1XmO6BejrJ=+Pn1e z$rt|Vo0rv};d|nfw?Dr2+a2qE_2C(>`<5+Vy|nVG;?}Ag3U8e=ulkw#i+=0>_eZ|^ z@!3ySjlMHasq)@>cDi>~5W>^jP}aL381hw)LeQ6|e7@3Bz|zuD0ucu1Ulw>QU-=O~ zs<Yl2nK=q0uF?rFobfCmEu#Nd`@Xu??d=5>s?z~>W5fJvqUP(dtVad zWwyM$_f`G%*Fxn-=JJiD=rf9Qo~!abLn($}{3yw_ry`&*UqG*PctKHl@BQT%(WjBO ze9sx>d&lac{XPiOPm@lv8tr+$g#oZK>F`BZhh zg9Pv9X>aciCAwmv)V7Eah_u;q>vPL3%q^ER?{X84B}4H<2qX;>-4cr7)sP`PWItr{ zU6@OCj(#Ttd(78;hT8CkOT2_TgtudacH+IM>=RyP9qNj8$m@{XLU?dKUNABa9?F_O_f~vK)L5YKJcCcm=0We zFd=<1TY8{66*3(|DWo6cS}_V!1ZxRrdJx5j6#yP%9{GQx&&P1EKtb)TEzgtcNCq=L zuQaFv{DL|t2tZY9#j}=m@43pyF7Dv8h6)d%O<0qC!O|e04~Bqr^J-|0@*S9wXA~4b zOZ6NK2BD3hxu6C1VfvOJRJP~(BCL0aC_xbAeE7mb;gs)Sfb;uC>Jrq}`x0`NmhXYC zcxe>7zDKyRXP+o25D>z*6N3t*VG?AQK@+f)x)EPUC_`(otb;3{e1Mu(vfLjOuHMLQ zmhXYyRpnjM*TX*fy4MG_O)l-ZpK54=k2zK{IKme|Yf2alA`{vU%Cgq%c}R$T4;56F z!YD%;bUPYQzUN5S5^p*uB;^4(gI3iQ>B)_`waA)?N7)S$Y$srVo3!b?Z$lCkYd4R%!V z^txGf4R!U?X3U(cRE?vmw6=~y^@dUjyaBT#oY>A~O~0%oo`8?E=ZK?vzPc#h*`46) zOG6VDO$<$+Hf?$>KtqUcsl%IZLu>d(y1Fxp`p!2qbRpi-lMHRB3*nt9+oOr?Q$j1F zt=qzp_RylbP|L3Plu%=PWOpPQYOD)g6i?tCEXnxJzUWP3z0*T$wnf{couNgEaC9rO z;q^nIb!=WTgqL{XjmVKU>@15Ml_x!cz2vAuPp5*83X)UmY+0pz!}wm#RqR4ZP4J)5NzA{oilykV%N+Wd3eiz7CsI5)T2c+&?2lnxK1+^<;V$o2JPik>k3tf=cRbM zbnV+6><@S7d*t)f^p9m($H$$!L2Cu#@wQHIkiE@%^G6?Xp@EnEV083rj(Bm6=Q2Fk z;f0n(;4m+aobJnh6ex_z7z-`g^bXUH%;#j{+6n$#xwCip^~D<2>&a+pW|&BK!Ipmd%?z1NxKy^QCO& z^)GtaPqjRG2;D7n@O*qbqDK($C?M){e)M0D*2FzM3L$*(4}tscyAR)tIU)bmi4zRr zgMW-7_#gg59Vh)egg;~e*pEL34E`qZn+<;a&><#DhP#lR_{}FyyvYK@QRrkivS*}c z62z7KSHfCB>@7~sGF2L?DWz<~h{3~*q80|Oiw;J^R} L1~~A4gaiK{NfIUH diff --git a/src/packages/NUnit.2.5.9.10348/Tools/lib/nunit.core.dll b/src/packages/NUnit.2.5.9.10348/Tools/lib/nunit.core.dll deleted file mode 100644 index 5e9fcc037e7bad10a1afcaa0ce5a179d135b4413..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 139264 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 CustXM diff --git a/src/packages/NUnit.2.5.9.10348/Tools/lib/nunit.core.interfaces.dll b/src/packages/NUnit.2.5.9.10348/Tools/lib/nunit.core.interfaces.dll deleted file mode 100644 index 3152dd2f082dea8551e6e3dbb25e9df04b17ad41..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 57344 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 diff --git a/src/packages/NUnit.2.5.9.10348/Tools/lib/nunit.fixtures.dll b/src/packages/NUnit.2.5.9.10348/Tools/lib/nunit.fixtures.dll deleted file mode 100644 index 0b19937293ac9f3234fafe86973f0971b26d269a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9728 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 W6MLbd@yENL*6p*O*j#)91OH#INK*p< diff --git a/src/packages/NUnit.2.5.9.10348/Tools/lib/nunit.uiexception.dll b/src/packages/NUnit.2.5.9.10348/Tools/lib/nunit.uiexception.dll deleted file mode 100644 index 66b4b95491af1f7cf595ed2493830ba65c46b533..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 90112 zcmeFa2bfgF(gxgfCeP+Hvyoj`ScaWt$x$*(&Y13kb{Nf|3+O6j1?@D4>Xu zEXe>Us0auOh#(3WKt-jCQd7Zjtj8*R$ni~<}DzCHd+(L-Cuq2L92& zKN|S|kp_;?x*C79HdTaGOnps=#DzjQ8H)wzlR_k?3eh=3h+-Z0caNw`u6HD7p^}3{jN*Z9$QsDbMeIImUw!_EvP!b?2-JKz4ou)J2-68o7E0Aob2>p z?)2r5eHEV=96fGh&ra_?*6*1;)(PML(Q{VS?YqniPwkE$x%M+lc9W9#CRM5aur_kt zW~D*h`y%o^(^vhX#2(ujU+J;0Y!wDvj+mL3t$4ADc0t5!5m(hL8Y6}p#)xSME%DwM zB)UsX;f~7Xga*|3BMK_+jRjhbL*S1`;Ih#Q+9LCW`GlQ#nM4?Pff~FJT3kM1%PuFB zVgj+v-pjPuSVANT%ulr0SSU zR|h;%P_{06Ig#5rD0>!Uz&;k~^QC}3Zx$Szd4}NTsunRHdHBz)y%oq~326_Dthi!P zD*-y~qI3yMMMKbPtPCNTI(ARH1E!dQ><#D8&zL*osgxbtm>|v|q^Ws}vHN8TLeD z?;@RY=TXd@0ac~`NA&nd@=ys(PkOBnd<5$?q@5*=Sw)|)NxP3SP?12nd``uS3L(NB z_$EFzn@V)mkM*rHATl`t9?1YAS?$fmBsV}28Ow(yX6ggegSjoWa>M_Lk z#=CrRX6**5u9?l~8`U5*Yp0CtN!eW$KgJcCAA^a_+YkYm==Kl2(bhV(3tY2BtwYMv z$DcU(J`CaleJ#}2+qDRk0ynP|qNiERN}-E#dce1ccqoN%NC;&dWm(kbNK*PS3m(9>TNp|=(S%wTHM!|-#mpXzc_X)Gf3FVyB{{}+&t>1Cg@rN&aFY>KxYcqaB8o$o?f z#7A-4M*87TT;98=G`(uN{y`uxMI+v%Oub&RzUaTe-}i<>|Qu^7rb0IJTO*5owgz} z6j_v`lmiP9)UAujC51E{iReKTAPZ#aNeGA(K=dL6qz)jM zDadR_{j8z@^~0PwCNL*Rn~xr#xNL4O72qEU>Qy$6mw4$wqL)h2fh3kx2a;Jz9Y_gH zNexXYfvacSv3KCb_)@$G^Y^^q3vVkI<4f@(%-{2h zyaO-Bm*Pd3zvqSd#ckzcd?{Xp`FmcN``wlo<4f@(%-{3ExOH1zj4#EDFr|6HglNu; z@fY5U+S(>9BDn5WXlxQ#`;q+-g?ULKELPeKuMsFctyDU!H6$IGLi6i(SDMGoG}4~_ zo`&t=CRuLgBisM)`N($tdm7nZe@`RZ;Z~Xu-RO0{RX?FLvhIIRBkTV6G_vl0Pb2I8 z_cXHZe@`Rp9-!IeE~Z?bVv-@Tm`X`1CYt18@;WKSRL9g}szvtm0pDvbB4?zS{k`E} zi%5}(=Tn>*V`v)%6C||S2S~&Tt@foj+!Acj&f_yy?pSNy4YW(adZ8a8R<9rKER4YZ z48rf*!rc+RzQW-yv0$-3n6Odi! zmG2)2tp5Tq>LA20U-a~jaCmx$JMB7`r8adiQsPjB7&zm&sy6YONnqE5`dz8@RupEw z`ZCfZr?nQ9X0+aW5kx3vt9J+(Ilbcmh6y__CF=G9FIr73iF05kuYQR%i;BsK4Yk60 zqW(VUMws;!wLZ^8L}AX=K(>dqpREyku|pUD<33wNlk0Z0)n4z&#c6>Vb! zuZwuZg~x__?}0!u_THhWp+Kp_5D08pV1lJ{hyjbXU?I8k%EhY@8*7X`#@d_KLA2I^ z3^uhH=;X4d{_q<&ZurII`&qTLK%7QSm&>fyL#4uf(Kf9jlE^W;vK*fL za9E(iI~^CXe#4Z`Wu*lSPXnvtiP>NcJfvNY?&BW|Ai^h{yoXu~a+D=GEZXhMws2vR zqsu&6UkmjK`gey|4jxcxjEJ|Cazx!3NR6~wWplyqT+vp~d`wfh$G8_z zEYcEb^{YslPEd^10w*bTQgj(ta-Y=RMHxtk zU}#T=u$Y8^M#vBP0{z7rV#`V)iD|Y(TGWLQI>K519b|>?C$zeNTY^%p{zr^DdF_Zv zg2Kw6QVL1KkrwY9qPA*vP>?Ru7|4V{!XjOVzG0AGgc@V$QFoxfBHP2r78V2_0vPVA ztzcN#N#4w&M@mc>J17gbUrg?h^1)&@l}uxT!(O65Q`jfpqu0TzK1zvbh>n=|Lrk|d z(i&-#S+Z%5em&}o8lVk=?IueK>8=s6){+Fwe$f3Qe1+V-!h~7f3wh#fzAX6lBGk2@ zK2#SDx9srFLa8phUS;nzB!yBc%{Z zVFuLIhj&-Fr^KFkx-3~>_OnqJEoCF=?t{#R>G}2#*#bqEBuEzL!F=rd$jLBD9x+68RPY*AlDSs`{1 z2Gq-?Q7)i1mPUoc9kW-Kn@c$NAc*zH!8BCaGP<{{-{_#TW<5B>IzEk?$n z;gZtQ2Z-rFGto1_XkJH^^{n;N&_RvdFkok5Z@Wr8xp%e(2NZ~vI$wG2bbL)kNa8C;HVSNl?MBV40 zo7*eLaLP&{dF5bT$3mX}xo%YTkkWOHhe&x#-EPWpbInAgg$+UR<*?O6!is1hayzB@ z8AhQGQeJc)xk*C%-_(~-3+}sQqC?SRXX4o}0+C`JK_=KQ&f*OBb&Rou`Kn-7*Y3a+ zneccJy|)7bVODI0K7?H-=pAMUD% zDR)(Kyw7fSv-2#lYj7lMe{-c1^cc}j;-e>VpN^Hnv^JA2EsYfJ! zA>xu;eGE~kkFvVe$3uZdK|t>Os!xPs>H$y}2QleU>XQT+Hd^XT1Iq+Cr=$4<`ijV* zHc$!)A2`9lIlJOhvG+(=U3&E_Bo6n*JLL2M6AbK)n$<6;9uA%?AlDaXJr15JL^xp_ zK-iteBtf={#KuZM@jpePKOGQO&KI&px%ND?qi@T53ot3j$VyaCpgNB)LVz-DNhyUGXGJh_Y9lfYt~%kdoh#5447~a_ z7#9GkFa;TVZIFld0)pA5WkS%VIiZo_$JEc}-AomMJ2lEiN2D_9hL#;}=vXOiY~XpX znjkcUkvCfAt#8nfuf~{8egr(t-n}TxW%e#br7OqDGNd!$#i!5YfdwT>e7rUjt(o9| z9xhIO0|C|{g?E9mOjZgpKef>E!=|6>B@{KJRK@!uaFyW$O*ZeVRJV{5KSNHqFRCLt zlA&L-7z#O|2>7QQjQLc3v$`AQ=3s75(<1mADWKwOBD0!VYC4P~Mz)+V*#u}|Nr*-! zO@~^2@Q5y;Gx#c!rA|;5MWFo+ze{+%Ai98&jM50DD{l`gMjmOR9nAW@9%M(gp&=J= zq1_^Iq*m&nEqK1h3ifXY*CNt@5?@4Zi3imXy6p^>MWlH}SGT)}Oh9q7Q0NZ02jX2u zHVw}Q-%lVqj{(v?-EPPR+h==dMMSZnX@kg}55M3{UE!E-566@H7DK^_MQOtzQRPXT zO}&o|ppYyBH)Jrt=ar_V1Rf|ArtuiY6@n*rB_@O6WMYVVw!Gz(kj8xU9f3~Ebz4Do z!@6S+{e8JGEZCTJCoFkd1sNp&ldOD|45h$$*nUSB>8gcQ2+I5`5Hkae?_ z^k7fO#cG!f#m-7JmJcw0rj8SeUERV>VCUW`e0IZdq|K5lhmk7RaE+BhQim5N!b;W* z9mq4pBIcx@YGyxjJBMIq707;Xw9;B;9q1!;FKHWejjoBk;(ai6>cM2@7~OCS3l4)j zqbIl_hLg@Wk)U#Ki$^!7DyzGQ7FbT=)wb1FBgPuK+O}5?bKI;H#i28BNVg`C<$j3B z8rzGdw^c5^u^9?a!dM4Z=jl|7Gr}IS&h9Mo7Rhxs%}?G#o#@Z#_lo~8q$_F;Q5FAl z$X%32QKgU`MJ*`qm9r5dnbrh>`aac1&P(((BGxgO&b)^GuO(5JG#O2#GJII9e|YbwRB#)CXg7Pr;2W@PgzwOAF6qq4a~@K*N7` zsOAeH@-;yX%<2bJ)*YyIrATq$yA>XfLuCkP;eV7NK&ghxK-k;K5Tw3Y2072uWuOMt z=L(8|U)ASCfjJH~5vVP3xkhhU%AgBiE@cj!aC2D}VKX5^h|XEA51}&5XG=GNTTWVS z`Me}D=C0D>Fk5pOn9{kXH6wwz?RAEMnsd_4NEMFR#p|crXR?(lCcx`vVd<)Y%b0#k z8Hq6$nQw3=yp)fp=CIAK?qV_;Pcbo0PcA0mX)b6LqoI5F2iz-=m{L2@a?* z0mjo!0~Mah>Q;Uxsu&~yhtZ{Wnm5LPhi?BQo4Oszx{6us%j4dp-sCNm@ugo93btZ zbhCO6xs5TgxekX52j8yrWyV-zY)c}9)2(6<0&iyLltvObUyQNxp&lJ`eW(}DEg3S} zJ1`wNNxDE~cNjEp1zFO{%U~aBh#;pm_7dm@QzV#+tR3wL;2diNW@`Hp3&Wg<+pYrL z**3Om6<=$+QN19prjSTkK@V3j++o9VKvvN>G!3cLX@PPMpd6k!JS;CzJ3=l{bDxmw z?np6tw!A-0au0yqn0=L&JKR?V^X^h|!{%6SOr{kd&IG8@S)_xc76Ec99;y4~>i{}G0;jI zJ9bDpi2Ufea=w6(Pc&iv6VlliV=IYy$>QXpgW}7S$O+W#!sy@wO#xPl&xJNKOoDs? z%|F73Uq}J#2`Qiv@fGdY&QT&hq;3BN+D$_!sHf5 zz}nMPK_?R8y~hw1VJyX3T>FU7Fh|;fEWtxg*_omjDEtnrT*4H4QFkIQ6Q0L%ksy*(xamy$M^^xP8x>vdB$9 zbWiB06fLPbKuZ7);+{rB==*(g98Q*esZd@TvLRxBkd-B5bGT8Z=BCqa7225rwtXv$3} zNlgSw^%0ex$EI#3JZBVVE8^6c=`|BhBW&u6NORCq(dGRBfk76`Oy_x?d=--+LtgUv z0z0+t!J=Y6bZx_zV1h~ZL1r89C2+pl&k(*cE~q!4WLv>6oMH~7(aTMPAV*} zwHz&X2S)d06$@V$(ba=eEFp9_(*zx1K}W5M<)NVpjPh=`H&+5Utojl7!Vi-TxOMzoph8s}g3g!p7>daMh3JRctCW7I6Y0%eT0dd- z5LHP1U_#>NYD>-CqMzAd9+vG>g+tRIlDf^JVzN$HaRB(Eq4Q~EY_kt zK`&&59Iya=l+nmb^C}dm_s!6w18;dQj%!&8e~c={^R)7Cx*;bQ-c00>DT*&v@f3}K zL?H1Vr_$t{gvx9EcjXmQCdnlACidK!_4*TAjNr_cczy<+Htv6=B$9Pto-Q0e5pVsC z*Koy)7wm1K?lR;Q(lAP8)vJje4op70aZ>l3#WzuzN|x|9fY7sIIR?t_C^)50ruj&Ko`75F z?c$(Gh;~FTkF%7*kwjQX{)f)l;RC!heU+ObE?a$Q3Y&ENR-01DGn8Q0fc3|KmQL-s zr^u9<;6mr~v|R&hz)oFAwmCp}@P!Jy1`lxz2X0*ue<{WO>= zvd5)6i)mnFKb_dOm`2X@h+-P}vau&@=WkO`I|cU8Jz5v6J-lJC2z{wr0Aeh4XA{~= zhEigy408-w>P{dE|0xt)t90zhIpncpQ>HPF9pP8y zUasEnh>+j-mRDh9o9d@ zpYzi4mjJviKn3xcnU_3G_C#ar0Uj2JqKTk_%bbLVK1R`1&yFb5AjIb=NUyw$YtcRp z#I4%*fq0}vGusRz#or{rxsdpqi|(URIPO0Ofr=&r78ZIP-j{~=+ZVw#5Md$VZFEh> zg;!+gRreT+llN%pEu0fNhcAf36yjiwvk{9jF}4`XLM&vN2c_863!yw>Yyl?6L&Yd0 zCXpd>;2JLTpajPq|s4}Y_?P;aHLU-J#J(*vy{#-@cdNZm_;?m}u z0aMYO&adUWY|J3I@21ds4Bf{^nWScyO}^nwCD?+>)uY7B<_{=L9$+9p*<1{s(KpE` zYar9zNVkNfvtSn?s7^$C|NTMJSkjOM!Q$~hd`&agaWe)zxir%7u9HA!Ta!1s~6apT|seX;z*srK= zvpe`Edm3+sl100?pE(g|uX#oockyDFSV)w`2gWQC_DASbB&zVC$gETy9-1SckxVc#V*9?X2n$ z1Ca>cf}^TzMi#pVx12-rNWOI4cni2y4Uy5Vev68Q2q_WF&4OD!qe58)D#16Gw}-Hz z%9Ii;hzPJs4`mgoy=3L#kL*BlW1NycA#~5*A|6L0^`JInXB0+Gxdl8p-e`km(yM%x z!|l9(&zJDSdwn%_W6sS}$oOdQggV6nNVP*8l>e z$Ep~*3J?I%D(J%dlz7k78hE9xr!k%@{*G{*MN=W7z7H+$ z0_%Q!8t@*xxKe~?VTgp%vDd_i7D!PFC9!VyH{ltZk4aRvktfg>Z{cCk8UqxKE#+Wy zJ*B@VSqlIwE-a#`Ota0Khf3%t@?@J9@iFLoN&0{!W@hZNSZXw zvVrl6msnxGT#3W-u{GMx#;;Dx6V+&3ZDkaNJe2V4=FWaquIX83t%ehCD>6&TWnM)T z%x5lK5mdJonF{W1^By_X5U+wzg|dg?yEdGLon2~9;HeE^RlzR?%EiD8iKhOf@cfYH zwn`!4{k_3MpHA^ufc2Nur*=PNlPQ$1Ch(lktj$D%e&!l1087>$U`5-%-kv0v;_Yg% zrZsE@U(%fO>0UYLZGuwgSVK}Gf|!-9bcv0l8dM7>Xmv=lvnC$f@_rJ%j^HFq(v zmKyL>l#Ig;w2!n!y8r$=oZX}w_uLlf;o8$ z=JYL?&u_t8xCL|R7REx3-z>WrR{`ewd zpm+yTAEN=?L0`?tMY>W*EFu)Ae-v31ld(m)RjgrbDtQKG4Ttju_#y+9=H##cVO*sQ z`0xX$Vq|?(HHfjR@Uu2`EMqEgbtP%AZoRpG`BLfQCjxJkhUk-ut8a%# zf}=qdY}qpcy)wQCYgXEZdW0ScMGNpi(*+64lE5MftOh}#ZS`@TxUh{FW9mTJ=ESxX zULV(~933yuYzGlNuR|-LeM;S%YG5uP9PUj~L*i-@LOHINv8n9oy%g4nwy~BJFX<{c z%99=4>CTje-ow+!(qGXBBy)xN&1-^%iexs=hw{DG(5@`=V~Te$iU3a6n{;ZdNwcA$ zVM3`;NGS6>)Xn7m3AtI9*)!-sf{8g~8#CvtKL-f1$TySbZJ&&k)egx>IqkHJ zWNP2bNO|qLj8xFV!ddt%EkQ;qYMC zTSlsA3uL6K_Kb{F(_WI1>e^-*siD0kBQ>=TWu%t&xs24-F3Ct8?I#(jtC=HM)OuQ+ zjMUdE%E(<>Eg5N`wUUvBTE2`l(niZjV{MX*G|{HZNKtv*b zwpm76YI|g)mG-fWwAMbCkv7`bGSXK2RYuxrrbrgGy_O&&9kfgt>8RC^kxtrOGSXRV zE+bvEE*!x{z+b7)tVI97gq8L-lCa8Lg2@e`>>l+u>OjWMNN{KTl;YLM70_@O@H0;7 z`&J<*`-`^ZD4qp`2O;IysEA@A#1Qs-+E9pL+>!JafFtgtU=xB0H%lM?I|RTugxMl3 zcRXRfRx&}O`HysmF-jqol3W98Yc7Xroj53F$gUSJ-GEK~103~rkcIAz8vDsajFPCB zWW2}^XGL7i>|DJQNj9Z4ZUT88qR}@IXxxqiKi$`pPr~)Vsg#qyJbU}}A|pL?@L7$# zST(JYkF|I}c^&EGYZA!efvrV^l=tDE*Xv;TM0~u`xZ}HL7NXm3;$B^GhmZQQ0&|(Njxy^{u`1F_KeLjaXWm5eqFQ zF)>(-A-Tt62$|?MVo6CxEIHYTg;vJErKK6M&{C3;f~6SM_IQj~qT7fiB^j~gWFwZ6 zV#HEYK`8Z@mS!MBi%Cun7Gvnt<1u21ZX=eIWWeRf8|RZ_|AN18NFHY zUq@Ff+5l?B|0hM!-*sPF>b)SMQ2zpf^fu&|6+Xl2PxVy_Dc!7=1PSQ93%FPM{Q}y@ z2!2Z5%o96yu3AErv6r_W%Ai{#Gw{^90d3|l=E!_9(R)AAjyI!tTjz@y`Mynz?bMZXjcX&x?0Ugo)0$n2A|60gw(m!dCbKYG+p!py(YG zGoFy(efb6oHg^J_@RuxYs)Z<}UC4JrR*5>F8t7HwFJ@eWFE1EV~vIA;=cmyy~b_}+j;i;FhK$536wS?Z1feXND` zfy*xXTF=<_#ZGShwjjVQmn6MPYW|k}UT)-3k67P=CZ{?ZLw$ZQ&d6 zq2(a4{uZ1e4w<29B{eG8bRx+6AhHQhc->cm6b`!3e@nAh%a%EApDGu`y;)e={UUi4 zUtcq>2XZ;L&n1PI=RLR3+1Z-)8dS#58<4z`PsG{b@)KzisoEj0{OC{px>!6y5ocSH zuF0mj{tx0T5r$2{6+)MYifeBgY$Gf?~A2q2nwOm=dhbf(GbKm7QPb# z10)+E?sDT?8w8QHt0Xu3aix&BN(!Zra`OjOg5#6CBRb}PVH>nh$fjVtxJVusXVO{t z(knH%&ASL;g)j_0dP+F@z(Q7W@I2Wfj>A~SQhB~En47bWRIMIiMC+9(SZIJj70ef_ zrJ5}mwWJ;8Mg@WTyc_|QJt4gAOfdAt;s7&R!RSivmQS%)g#wm@aNj_DoGi<1H;Rll zq9{@tH2BdQjdWTc!smU(Z0D-Ms;FY%Ji#j5M!G<9QWyI~yfYU*f4ee&*=rxztHxWR!Cj2&%u2>B1LhY*J-VI#|%+46CgK z{iRE(ZXiDmzHey}k0SrQB#T+Qy}!|I#_e4O!3=|v(n0K=xJnu*MwkU)Aw2xu3|jx;-ids_-Pg!4x++{V96G@RlY( z3XJweZTisUr7F4VLDj>I=#*-1Bigijwh`@9HQkJM*Uh0utl5^R19ux*(#<20zI8`$ zep7=a=JS&DNogU5jvfkh41XjVujp0StURRguAvsA9zi}825qe8iA0T};VJMtGID=4 zTK1P$kgoe;g}z-Y_xXcoRe|4cF&7ajX431ZB>DY>SkUWys2uzjQ?MYzx9dLnwO~0G zu><)uD&LJg8gq9ux1}Qr=@?h_Z63DK~hXV292W1NLVQ8R8uw)_MS2v4l;9tP? z^S%rUT==AkShDItZE(Sm2Q0LDn9XgMhdw@w9DtCI#vW{mi3u`)P(I4QONsEh(~*8h z5kV*G5$?Mi?{PvQnAxG!Y6&unK7!`zU7jw-oyDcc+o#e{j{LpD^t?8`E65qaP5p|D zB+!3hdd4{&wU5-XZXC3(9*p#fK^vfVXlTLd)?Bbp*`~Y_@#8HUx=FG%zywtEJ2=GE zpG@|F5iSMKA|kP=m@KsJRx9J^a_7{-AY+%x#^lI zi?MNG5{1vQP(d~hLk^-!>p6IjFL)Wmk1OD=qHV~08^23vwG3%0;CJP|2JDpPpOkJ^ z(+z@&@L9pnEgQ)hq*gGewxhL|GnkioqeJ3<>^>{>8*N-9j+>Rbrv>jDY{BtP^hmPoCitgm-6BK;|QBn=_4o4YP zrTmnU)k1qYSai|vnvqTjFFz4h`e)*Bn7SVPB7D7_@=IZSz$G01hk(Th!lm1J!p3s} z1^eKIEQds9DTO2oKCDJ_IzUvAU40CI{yi~g@N;6z&Zau$*Tk^of;}-u2bN~(@O1c^ z7*$BFKQqOMhv}zUsDAR>RnH>Lwbu98%7la$>3q8-yYN3 zST<`Y34RRL?4`UA19LkHb6 zRLjX2>mQ=#$^N&==HLRXnmHx}gXg*;~!31q+!*N3=6ljCS3x;knI57K|MRUK4gQ0Jz3_T-$4AEj(-nBW_(+5tQdrC zjiESdQSmw9$(RDGh>yW`*Lb*56{#8>1K=+=NZbNQ4T&1QEJDvo7;%Rp)*9g;kW;(` z_@~}3OMCG4V+cEdlalNpL09CO$T^8u8xRbIaGk(O@;erV@6!g!yP?<#NE`w(lAVb1 znDcl@KL|D12rJA8%|Hnw!IwCbwE%gCU_+!kNGNtQ*R>w{Tnx1{cAsw0 zlm5cV0J{9gTNwLy_;Ie%Y;}906ieQqfnZ#I-1ucXx-XJ2~jOv-Ow?)vLSb&YRZ{=Mbs2zs(+gDQoHCE$a?79R7hg-)Pvtb#FGC{do$D3BnJGyK2u<`f&buDjPd-oG9 zn#?b|$C8=5E%*Lr_l0jAclbiVu1;@$e5px?Lt)SCpPT#SeG}du^ip`g7QITMTb5gv zHoE_FJ+sq>?5y_3@h(GCw>5h?{>=Qy^50gw>(C!>w_Ue0^4D6?JEz7tDqiYUoY{GQ z@4M8;C$Dbu$JswK%VxLUaNouF>j_`}zNN<)Pqn5^s{AXgefxJK%2gi(eG1X0MaR5N z%?8d0`~S2NeGW^yoe^P?Ba$6tX6t^6Sck`d%82j{@b=wXJhAxgw-24(|NfbSAD%t* z(dX|UJOAOwUmQL8gt!5zQ6eOkC(r__U)CQ zu6+Nm@2~xG?dRWq{^j>ye!KqLAAer|69*dq{QaYW|0WGQbD%9bU+4JN`B=h6?xTOE zZ3{aY)A z9ksK@>8sy;(6i%jL)Q)8)3ES^@Bh4Xblk}Iw!c>E%eG%!DXA3o+}&lLJW=b+!Y|s6 zT>ny!}v-mytC+u0UdrX{2+E~ z4Q*Q5tGk9wdS?AA8_p&#{M5Q`rF%~IA>Hq(zF0!@;IU zzq^)qo#pSg_F#DVuJb?2`=(&*@UK@tc6H92;k)9uN0j?GF=4~w%F@wm4z?$@YsQ9s zH{!!q4;`M-x>m~;kIb@8F5YsXMhfDm&WxS#!Thf*-js45kALw4`+&RO+FU<<>b(&s zcNA2Nex^;Om|7?1w14}Z1J^FLSy+z+KK^y1+AmdDd+=`NoSjy?UBT{?kw+pK?0E8# zOUhlRep)#9@B>s91Y0_KV@%Q&<&!N_DpgOP+kHsQg{y}&?JuZOuWvv7&9bHKzwF3) zN1Zsa{i(bYtrzah=sLg4!uqeRdB0ZId&-i!yFQV1tX=xfWyFp2Z~eGloyEtRw^;K)mxZ-Ue#xsjx<@4~iZUMk`c&<|2+_BaR)smOyZ*`D znJuoebk7ePyR^c!?fIEqC!N^RV|{%7JdiAD-LGk8{Om*sPyVu?dZM{us#fsrs_l(l?9-~u?{DNaiu!%V57QbIr!0ufeW~zB*r2%!OD^qQ^7G&+ zQ~${6^WA69#qaz6(-TvdJ$JZw>-2=pGrxHtcF$YKKA*AnT*}Lq9NT~gW}frC+@#gE z#i^f_TU^09<;SSGKX04azSa8E-&Uxze8}COR4HR$xP8}e$M4U3q;IW9lKUjD-*Y4R z#nz`=%v@V>=HV7ER9{p*ZQ=Rq4`{phZZ5Jlvi`L1z`5o>n4YpU~euZ&t42eH9(kH+|pl?Xm9dQ~Q}ZEUk7|-f#1V z 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

`g;H>*+PY}bCE>8FJVw+di_&47IDuQe_5MXy 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 C5R*y( diff --git a/src/packages/NUnit.2.5.9.10348/Tools/lib/nunit.uikit.dll b/src/packages/NUnit.2.5.9.10348/Tools/lib/nunit.uikit.dll deleted file mode 100644 index adc5ead69d0593226d80b7220e65d3d435133a74..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 258048 zcmeEvd7NBDwf~*lJ-2&$W|B;1(mmOxJ0S^|>B&L@B!n$NHrbIa3Cg~2H{1?_G#vv9 zA_PPPlmLnmP{Cb9R8$m2MMY4E3lec(o(u1}KYiox`#q=X-nu=LzdSr2s_`psF# zoPAECwlem%`v2p+~4yK z?Z|nzPbnT|xjpasv${Kqp7#hOt10w}XH58cO1nbglT>bEP=5KVAq4m>kLOXY6<0|F z@$@Mn#l`QXpnEi9p!>IkNRo^|-s^FrFEw2AJd_~$D(01z9pX=a!jy|; z6**HRWI1_3+=x#DNMwVIg7YMv&ff|sWI=q!`4JFRR@DK^wy>ALpjN*Xh0EtG@SqPlwkfP|v$@ zc8Aw_Z-;ke&GR-G*!CXJz4hk(woJS7bAOz+?94M8Cw%?aD}R07{QK{H*Otq^HRJTF zCO-W47rqd@f9@j(ob`x#zOgqklU8+D#|y()IM+ zS6r}VOUIU*p4oTm?GHV$E?@oAQyaob)uUehv1^{a0N7_8XY3ms$aNHToFDq}v8NB{-Q-C=$?q z1`BBrO9K#b08nrvjcRW+#feR-4mQe&N0k&9L*}*7U<#;>q9E0BV=57+rSNhzJ&nXm zm}`atDB_@H#7K2<_0kL@0^?mBMuK%{wUXgNV8wEgEC;r6@kav`H)zbHY(vVOT1mKT zq?)GGZf9w-(hw=ex=>PV&1H%wsb@Kisq0jc5}Op&l!eBsM`lV(V0^JdpMV;T1NwK> zO88V;VAf-G(olvHVez{iN(9vY#v)D1P$GPqODX=aQv%vWby9Vo3~d7A?>e*zsJ%ei zeHq$>Pq(xs*UwYhev=gy&JuO_O)4*(Es@$F3S7Gd^n_ZtgFwSMc=%0{iRQWxmLLnE zcCrvs&qByN3!&K?$nc~1_#|>1L1>;r%h7!D01gzE zj}{;j!I_kL>PHl#MF^~WEj$aGbV4JDb|w~ybZgjTUJOWxwpoG?>g}4}t9c5BLowO~ zNr1n1>$Kv<@B|(G`93-*fQo(j2raba{Sc+?fEV(;-MrVl&4UNeIHlBl(K6&yagpV@wk%t~UGW;b1Fr-} zObr`dESIdl`n=8yJ7dUrvKezaGJ_Cj2=-k+~egDOPt z%-<78S~1!i7#>oL3ZLCNy)Umi?Ck5bI_$JMbjuk;`!KIx30KH7T*(J*O7;9>Z>LfR zypQLxpMmO~eg<|S{Y*EY+wNzWC+%k#8^51fit3U-)6ZaC*LEZ5*la(8F3JYcN2NUq zu~SDVu}Rfh#;Fh(@9w9rm4MnZXuqvTAw20(B$wNxP?&aKNLa=f5|DHkl6o{5n@)*^ zsIICWlo5}>Og}`xp!IE%dSL3?ngqZpK)h_1L#+%(rk7!)_7Jq%#*6SwFGE1$?IrcB zl$S5e5ql2nduO{&v>fiMhNRAv$XO>y!LtzRCkvs{4J2+ramGO=j`5aMnTZ#q zufwPWzCnDNkf0k7M+i8_L9fCS62s?(FxnvF7BDR8_u>zOa{Lroid(3|57NA&emDuu z6b;f}v^SW?{O}blx92zZ!?OiR;0XBpBw9~LxIcgzj}8#L#5bekpbsXh@!7tIegI7? zf#)LBe5n+m8Nr?O6z3N)L_0`8-F2@pEM;4WJO$>d7yam!NSx&PBi(*M)cHuHNuu#{w9F%cfhr}S zIw?9TjSXdoP?BR|F7-$$p-Kc>wM1&~gWhXT<0mutVfMsNF#>;p(WmhTM{9m1$x_CL zkdu*(fZ8LVn3YKI-a1Aif)j}tsh$ky>JAqb18SqpLgju^F%FLa2nSVWos|kly~m$% zgd;$Nt1im8NI~q&x9f}GL^?*sNJn7eN`*?DRE%^4KsppBD;

aiuCMLGd2UYxGEf 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 WA`lUX2t))T0uh0TKt$lbiNK$sYts4v diff --git a/src/packages/NUnit.2.5.9.10348/Tools/lib/nunit.util.dll b/src/packages/NUnit.2.5.9.10348/Tools/lib/nunit.util.dll deleted file mode 100644 index b31beef4192f37a66e51642a372cd7cfacf60f17..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 126976 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�Y4Q683MUf=&R#x&l!4S^@T$9oiIp8bAofa zwoQJ?HE%W~JW+(g2;;?51UVt0V2~jV;aM0%+APEvPpK#oW=#rHKn7Xv*H9SJYZ><| zuN11k>5bmRV%qi&EEY|&@fFA53KfG&~W6NE+D{z@_OeYK4yS{bK&R1}eTM59PJ z$}v#Za#69Uc+%#A9xioa2<;V7AULxGF}%2P&bIViSCAqqjB_M5dtTY|7UB}PP|u|p zu1PDGco2Wi#|53YnyMFZtLDZBX?D_EcEX?Us~aA2X#_RlRrXV1i0Jf{H zRqHPVAp=81uqM6K`fYikrXZUD1NlfUcxt#&&>2O=fU#W-UlA;cYbDi8{>8Pm@w5%? z72;W2Ez~v^0>sj9!RkF#A|vv}N$Y~pF<(qje?C^Li*F58w`l_0(5KshQV_axGEc=p zk4TsJkLLl!q-pD%5sc zbzP!1f|cfpdlBQZ9wdJ%iceY5D-6dcQGN*7hw&l!C547Ge%Ye9jD<>GNR$~URO3lY zoX$bLNegoklSB^}F-ZX+01ApOgWJEe3le$b5{ikr~rD6|PoP1n+ zCayjEG3>FrEv`)i2v9MuJxyeez%ZGs)(+p1S#tM|FngieSGgL-(*l##RMSBF@osn1 z<1FbpTXxjlyx|_LbC+e(MzLs9bYi?7`cA6YV++)$Qg{ROR*VOIx$xRIU`@)XeT!)& z44x%d>_T69RC$-anTc!9$F&!*vRsgn!Iori@H{I7m7gp42~zUMm_Vt>BZZ{^98)r( zWZJ@4tsTv(VAK|T*Q!2JJ4fSb>6!}~0UZ-9e|gZ;CDW`8M)`P};mfM3q_H4AC6fuD ziEX9g8yJYEUF1?v!;2P7Q5 zG3dio&eInwzhZ2r1beU<91OIXo7%xt4flT!8v}w07wnZ>n1&7js_kK<VdN6_*jCuoPg@Zm=CupVc9uP>xcCPoZ zG2K|f4Xj|G8)cyb&d9IYYN38!U5ycwp`+OK8RiXES*!8;AX}|Jalj9aVkd+`c0tCt$o zI2*+?`FJK5&kU5}nYBHd?I8}{|GWNnrS;ujv{wdk2*94O9_OpL53V-{HP6CKq5~u z>J%xByr;nw0ijiQm&FBfD<5+bQ>5ouUsWwC)E&`(Yb`R15xlH;x1$v|){tj*%bzed z@ASKZpvWj(#NFW!HSw`_qq+DMtI!R0%o~zWx@ZM!X z4q*@TAc{!nQ)8uKFT8=?QXtaGM?s*Pn!pLMHPsEa{{BLMmYJkj=ovAjrtXKIBIOwy zZZ7lqKF`p4{@l+IoOps4hb-|-_oksOL&HNGH{7!Mlg8ZWnF0Hzuy~^1BP= zBafDC`OuN$j~P=r@0rT0b3eUMUbACuncqU%G)OXB)?4s+Pigrcy;FNA-?cE@=JK6- ziDUVJp)&8MdVJ#e9x|X zQAFli?=j}%ntkr`Kc?Sk;WxqO-d)Cf&iFBMTK<-msD=G2<;ylZFZr`3IQNiW_CCII za&pfYZ_S(HowB@2c<3;10n@+#TW!kQZLX7aB+!w-Z(9PM(MH1xoL4Jmb#|jKAxhRo!off);4c)kYG0(h1zh`zZ;Bd>G+GbH}$0g|2MPgiwt#77Ichd#BJW~tx)nG~JF%Bwlz+{24GGC+I!B=U^@Fh8I zV(Z!EhADGLa*l&d2XfteuXOZDuWrdB$N4lC$G4gKcfy%FI8){b*$^dngX<~#^(ejP zOUKOh1v71-kMU%Z`yCc;A5cf^^ASs5$EGHDI%1z5u$q#E=otPH^W-)2w_&cmo4|Gt zbR}0EtrKP0prq$oE6U>NK3gV<>L`RZytRR^u@Iuhtepd*2f1UeGvNT4Hujs!Xq=t!U=fsO=zHze@?kg8AR diff --git a/src/packages/NUnit.2.5.9.10348/Tools/nunit-agent-x86.exe b/src/packages/NUnit.2.5.9.10348/Tools/nunit-agent-x86.exe deleted file mode 100644 index 00b331cb296692bbc3fc3e8d18fbf68bc0a79967..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7680 zcmeHLYiu0V6+W}CIGbd_PU0lw!Oe?quswAgCnP`{uk9o_#E$XW4lU4RynDT#W_D&X zGwawqqNOSoR3H&jA({%LMrsABXo*1LAyMUDA1aj6UsctV{OGTOC=yjmRiNLwv$MN) zoRa>mVC*^f+;h+SzRu3z*B_@S5ykL+`YF*XX!+?;@V|o!hEvzSmZFyyzp?QZ?a&(= zN2g3rlw7Ca8by&aY}@h0gcNSs7N#xw4`)Tu$xD6NvgDSk>fwDvhqNe(_ZAI?*509r zwnS?pS^)|ge!kHKAn^9!WgyT*0>6PN|GA|KUeNi8P|rg|*Q)<|TkQrcv=n*|Gu}hA zI$k9e)>6n-r-vp#|2|_|<~7 zopJgBY(uu0BCTh=Wkkse2(iejvlXngSgQy1$)pR8Qo{WbVC$pHA>dpC@{brxW6F|r z3Jfv#9*nPg45+p|)*Ne1H)F^_&XSL=2JKvP%z;G6d$=QOoHIV6Os|vix0$W*alXC+%fu2h>GPPYBkd{QiiOFOK zYHr;QVxwDXMjv8MmGi*Qbb6lD`MFY6n`@(?n3^hQTiu-l7`lozlD?5eT9>ua;v11x zPD_urX+mp7Wbo`K+R#TKE+W@_Iil#}Zy{3=H3#W7$X7Uq8#hGK?dU*ZZ}woX#^QK* z?@f2PSt!8Lr_Be( z2Kv#yg8mAa-`s0C6U>YUUG2!q2tkbKU)l~n3)nhb;W1dO?OkdIz639i^UFsEry%e) zK?67rk~B$oVdMnx6g@*{sD<96UxKn8XK;dUR`3o5OA0=z;LjBNwSs?9@Dl}ZimZwx z=!k+3MOf$4ku$LJeB>_R7l0?|P0*8c5tLR+M*ji+wrDTtyA}g;N6AIL-d{1ajhNM7pix9^}6`; zYA!T-Dzcs8S|{yMFr(mrf_EtRH3ba?O$ARVI19Lw9t3QsM-*J6=%)eq(huqPk$yT) z??w*MtJD(B0&a=k2@khN@1|eT!Dx>DKo3Nx0H25!6}^)#(fQ~Jz+XhC=>w(nBLy{$ ztt?jX5+!5p)U0*H?x!`{NbEt{rrELYLc_OWPtYFloTZF*E_M!-XJd#<`ziBdw37z3 z4`V-u{zSYTzO^C;=V^2N0#+*P7nGx$Nv9q3H^AleCg57EGo3cmp8=OB{1#fJ>C{JW z1Kv)50?g98fOpZ~weu9K@EVUpqosB)Q5j2~SAFYS6I8 zrRy!I`-%gju925T!#%!`;nJ*Y7N-2mhlX9ub#8%yKBrhR?Af}+yfpK;X-PLL-Dxu? zJqifQ{Sj#yGYa$S^40lKdVO=kv`oK2`@E$_+0o4Clq-#VU4h}^ZpliYC)cZ*r2*TQ zu5DO|J|_>!X=&A14!BOaMEmS=kq$_|DmYgFJ<~T0%e+^HbKP$m1>5m_Gv^VKgUCD< z?<>15)_X`PNdG7nE3EJ60-SVUXWDcfyU3fOI!DA@A+7>cyFfSD=SleMQ8g+1@xwx% zbll@gq-tv}vETGcmN7d7MntG`K4{nm?;$o*n}&ffGnsroMBz2>#IW1%6b;i3rNL*~ zBeGz6zKcD@y>O_Wotk<^q{}-Ii9-NLO~V!%oh`{QCdO|w?7Srv6MFkyr&y(Au$!h0 z-eOQtJty|fQ0yGy?7-xO}wpt>E`*#}V)c5d`^}1TW`?y>XD|EJh2;GUi|#>t`yD z*XaTh9F+u(bDAgGyI<*LU-LC@S!dwgXZp2gAI&I@^_3!^-G;8uh^US8#Qqe(&lY)( z!x`+ODR^MxPpv6)Zh!v#>a>uqxiUNxQ_9{+_{O>gbkFyl+QQ70YQFGFx4`Ww4;xn1 zj&K$5>|bf6vyJ+^5j}PK+YdCie0=Dct=~I$;I|j=q^6hey?cC3_dAa?J^9wz4KIIq z@MJX6vN)P(UKUBDfHvb@iHf*seJUzQiwR9jF=&cu*vX7V7Kup9SgK_#f$ue`=0Q}| zE%$)8DIw5bzmEGRgCdA2Moz>b*22GFTUIua)>3(_xpI0DMb-gJL7SFpseGT?=4G%i z2)_)#UwIDomX=zSXc@q8OXcaN_3I*wAifx4arTC;)o6*Tw>mPa*iwWpeW$)h-`=^S zdpFSy8f{b@0$->M;fFPVa3+PK>yC@_pz^9ll^6S*Y8fEXecMD=XJ=Ojz#f4k4`rJa z!;WL&D^_x0zHV_4caJBI=we8oJZ`$j+r^-nn=+&&`gAdR(rFhN3nii{GP)Rda2fiZ zGrf?$PPW@6hNp0gltiCvm<6!mv=t*&laHw4wBRllNb z;NLf+k=7%wQ5tgW+C72-!a3<_-PLbFoY5i11!I>#;WwjTS_|}MhFxOjNH~4n30G;`6!+U2B(FJVm@VOA{20D)W;V9rf zoXT0;=wfJK8(e(m(XToZq<(GYd`*G&_g1M0@t3k|A7#BWGkTO;8%tZ8%7}R2I8X_XXG<(1M#1KW(9dYnEZi zJ8Cv{T813|FZ#M6f3P|ST=5-&?*iGBbdrukzYEBf+aU0qy5;$XXCIhv6kLuP&nWvG zvk7`ejgDiC>q*X`hjtp&tMjk37H=1{4Z|+4R-SXV%vCIBFVM!8*`pCf#MPG{S)1)*8E)F`78fQ>ps|T8AQ$5 iD`Mwbs%E}gd8GOC@!&vPib#(&-2I=Az`ux+Gw>gNK-*6M diff --git a/src/packages/NUnit.2.5.9.10348/Tools/nunit-agent-x86.exe.config b/src/packages/NUnit.2.5.9.10348/Tools/nunit-agent-x86.exe.config deleted file mode 100644 index d840f37..0000000 --- a/src/packages/NUnit.2.5.9.10348/Tools/nunit-agent-x86.exe.config +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/packages/NUnit.2.5.9.10348/Tools/nunit-agent.exe b/src/packages/NUnit.2.5.9.10348/Tools/nunit-agent.exe deleted file mode 100644 index 8729148a8f856f9240e0fe07b1fcd3006cfb9583..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7680 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 SmLc*JH8sGOGZA0TsQ&|hs?;L@ diff --git a/src/packages/NUnit.2.5.9.10348/Tools/nunit-agent.exe.config b/src/packages/NUnit.2.5.9.10348/Tools/nunit-agent.exe.config deleted file mode 100644 index d840f37..0000000 --- a/src/packages/NUnit.2.5.9.10348/Tools/nunit-agent.exe.config +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/packages/NUnit.2.5.9.10348/Tools/nunit-console-x86.exe b/src/packages/NUnit.2.5.9.10348/Tools/nunit-console-x86.exe deleted file mode 100644 index 48f726ff77ebf2f5bf480215b0695a1e60d80dae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4608 zcmeHKOKcoP5Uutv>jYZ~KP3V}8$;p*d$id&iLFGi>vcX3v17a&o3E1by1gDeJG1nR zW19mq2au2u;($Qn$_2y$Bq9Px2#E_wB!Vjv2X1fx0TL&K2(N0^*)?{ea6&?~w`;1p zs;ggB*G#uZAA5zGiKqqr$`zsy@#K~jdVR72b?4n5chZIS%UvI;Qz@=%z;b zMtOY|y39yHKG87OiOo_B`PDWM=p@b>Zb;HJ(K*LPwggGAWx=rhX7q-Z1$xICKZK!R zJqIQGLgs1K>Ht?&D`hhVeWBd4=Z=`QbEVZkVo)-_}I!Ec~wa)9n%$0gR*wdO^eTmKx9K zc$^cRAZ??EXc(yv=}FL+guW^CGoe2SRf@HD3OyurTWGd50UnvZt&^LWc z0|y4n%_RTjP2H|vM7`m9%8uFUQ{fHvaUhKR)=9QWu|jVsc0ScQ4|NN!`^6Gu5J%>SU5? z;c7~~_VpV(FaCCNv3Zk9wMu>6tf)gur>|Bz_<$(dl5q|=gU-J6{{8`?U5dKIM&m4V zb-cO{I-J!>*@d=@56wr4R^HEtwXM)S`8_(5PG|Z+26cYUMJXCR9-?@ij?Ej}_3M*v z#YB3_(PL(D-m~+)deke;xyILdM;8~vUY+w%_MXl;dNQ~go-h%%*33BgswrxfNN{{BYHtWCrE2HxPW}oNn{J=7ZgngSjxLpq zyd2oVa4|wI&(+Qi-kfKd*UYVNtLIByb2cB^qf16!OL=9Dab|q}?&Ah>AL*=c|C4_s z14_=*?a3{w0YGv>r8gL7BfdL4k|nx?^LMpfYUu|%iL>D>=uw<91)L$LX$)O;{CK!C82Aim7Uwg!dx?P*p>;7D zLGMxwyAV>+-fQWFi2|k=RvyO78+b~IO&X_O^4Cw(;E4L=RL;X+g{rc~G9q#z8F4>G zXW-F;ZwEFOz8P~T)>}n849f_oEw5c&gRMTd4`(bRjzBp=q5<5P>OLkhW}&UemBD%k z&&N_)wY`YIPXW6|tcDh89{w$8FGfbemt=oYIQnt?6B>Yg=w zkyQK)^cBhHJZ5mK*OZ1&_U58<<-71yx7LVh7Mi+!y?%>QL#Hu^k@6eEHMCmKEG5 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/packages/NUnit.2.5.9.10348/Tools/nunit-console.exe b/src/packages/NUnit.2.5.9.10348/Tools/nunit-console.exe deleted file mode 100644 index 74f3dff575eb8ad5e49747b2b2ba731cc92399f0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4608 zcmeHK&2Lmy6hF5gFa_HnD1oT;Vv!VVUxsM`8&PLEAQszFJ45-<1YW1N(`VnjH{SQA zA1p{UVl;8#%7q(O?oA}|BS=hKo9KVw!i@{#hK11x{?2*R&eRrzI}^B_d+xdSe4l&n zySHN(KcrS7YD2$shv-X;+_D1y9jt)d_2k!GbiL#IeP624@AnnwyhvAVShj9Om)sx- zV?AxOtp(Z(^ocVCT?uE5)7iOge_i#&Nup8JO5MM19b2{b6Sb)ADn*2!bPQJy0BH0q zIs=WNCGi`W_|GG)pktj|D`l?{?T}w%tWOgbN<;4}jAx1VwAUA#hs#6{HP7!A*K4ke zL<;kln`E8XEXA0=vjqS&iL>rEX3{j#WyeOggqir31;YH>(3@Ho-aFR#AsEHi%OJ8Y zgx=h;M8nN<#xHYT(b%^ZYNx6u`WAUmn4`0`|I~J+mG}VJhpDBv6V7gXhPE8)Zt3j; zerULGdRU3}#Mgz4lXi}zk7bUrnRfC4uS2-!D$;@&Qs_N}*m^-ZVvb%EDwjpi*#f13 zbBH~s&W@bGn8kdBWrzK68gp(CSEn9rp$?w>p$2Go5*wUhnskT|&$pv9&YfwTXvR4W zrzi_JPZt2+6Znb1n*x6p_?N&vig^YEjtab{jM_q<3j9%Jq4l=v5xt4_Bp*BIaq2+^ zcs8M#{1J_d2XiuecTWM)vR{gRRu5Bw9-+Mg_X#{G@UXxkfjNOA0$&w)0dOz5fIG+& z_@>zC5L{D8YVY7r@8hJTp6CLbYST(}F-Wy>6{SA<;p6TvZk=9i z-KtXUQdc__bxPUv*UJVU4n^BD&JkzGIh-CCe3s~dqJ6@nafi7&Ufly7&g!J(LR-cM z<|{=jpXbB+Ht62`L7hpbGyMQVIzQ*442_-$xoA7LZO%8SPrDTp>2r=AH;eP0o$u3Q zUTMxXzRo+kxES{7oR5{qDj7K#*urozLN3qO?+f0X zfN{;(#t@{Pm|6H_5l1JGN9x>-IKhcnjA`QsPrc5 z%*1bp^I4)BxPMpMjkZCcQ@9&00iL8uU?X$}x6LJtNo;?hu0zKt@Ulp=Z&g~B2+A}E%_RP=U(?i!)r0s* zWF(6j>aSx%Sj$6>_s~ZS2J;E%Ok#DY6FJ^!$fA%D8Q2NCdd$bm+Th8FQ^^I&D3 z`mizvyd-uF?6MEcR|Hom^ql0HWA?C~6Y3Ob7M=6QyRm@Pd-E^77H>tq@Pjy;Gw?U~ C-d7d? diff --git a/src/packages/NUnit.2.5.9.10348/Tools/nunit-console.exe.config b/src/packages/NUnit.2.5.9.10348/Tools/nunit-console.exe.config deleted file mode 100644 index fa0a262..0000000 --- a/src/packages/NUnit.2.5.9.10348/Tools/nunit-console.exe.config +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/packages/NUnit.2.5.9.10348/Tools/nunit-x86.exe b/src/packages/NUnit.2.5.9.10348/Tools/nunit-x86.exe deleted file mode 100644 index f7913681e78aae127f225e447aac88f00bb49ace..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5632 zcmeHLPi!1l8UJQ&r)!5;uKGub0Otj_l~e4|X5*wWRAo176P(75>)klwZ#~|9UJss~ zS!QNqyArS$kdQc(OChM0IikI|Qd2b`A$;Ug32}fPd(5pIdLRa|{Jw8?z2o&J(25>F zefIm__y2wGd*7S)?D=oJN_|AskKSw&-Nnc)BkRsh<+@&|R<-hLuCiS?b+E;Z z4=V>D#JT?-S5f$F#U$vjwF!)7sJB9lrDFgJo!8om8<;djv|{>!Uj!wwWq=H|I)--3 zAbQi+jt50a*9s);>v8m0%Me|Tk%DG8uV@@wf(EFnh<-6ZQWFLdNB5E1V<|&ofbFA{ z7(ao4hrUS1o*hk$4+DSpa{lUNgCIrYSZ}4xlzAcbT>3fY43GnO2ja0GAT3zKhm7Y# z-*(FZYdnrZmJH1j*L!8|UdsFu+GJ zk|M|t=;JM%<;>?~GtOz4rZnKU=|#X-1pZ9mn*#qV@B@KE2J1X6@CAXJ#!cfG{aoPh zjWoR8Gfs=&$UEo5z)DWiX=H%$MaAORC?gT93-#lZv(Sm+{gd%1&0>2`2|Oe4tiW>u zrv+vO&Ix=;;MW09kp(zHw!rVn9D{-@D$*#Kbe@&~AES$apQRMw7-a#E3;t!=2A&h? zi!^1JI6pbSZ{i$JP=7tDqd{`UN!r_3WR%T_Ht4J%Ty1TwG5SlC3Zm!dy;9B5FOXYv z?QnAI(nV8mY05cP5S*ih8(^AOYBp7ZqUSsID&@C>P*>>s>UVW9qS`gWCh*$}n0S_}1ouwaLdKFZE{?wVb$`BrbMId{$TDiwVKR3tw?3^k)) z8OAV!WItC-^0hzya`c@KuWt4|Vk8HohK39pkTSu?!Jy-5^MW~To=csdxo{tO>mpD~I>1Kil8Nt{L4&cCBn|mm5{>d_rI2{?rf*djJa=}hsHOg~ zTi#}1P^xtg@J1{!t{6Mo+V@3A@^a4eXScK*JUNtFn<5odhxVEl?mqjza+TH*3r#ei3feE6~P=F#x!(i(Xp ze~LJe0;CqW0pu2i(DOh=?alswAn^ub3ZZ3#U+&@QJ<&R# z%(0CXS)jDIU!WWCXv4P&9Us2g<{0K{M>_+}0Ivm}yLu?LjxEt8yzn|U%dqib)mcXx z{x6_Uqn|@$=P?UD()2uDXNF`X6dM<@Ik5;`shI)Pk%6n|5& zzuL-m0Q@FmS6G{-P1=BeA8-PkdEiBvS7RoQf%OW|@aKk2A{aSVANLx{p~km7t5aI8Io6 zFQSSrL0*x3ZoqbVI%uKw{rJ{%&)RT0Q#W*6Rce9X~+!_VzF`2Y>kEm;V7E10eq|pvmA9ZkXet zt$_vwfZJ${wCMXx@3iRsMuUZ-unTpjcbd)nY``>(9!5j`ki462H1^|ih`Z?BLv*9j zO*i*BSPmKSz`TpzMZkzsT4NXHaatA}lOLtA!UH*^FpnVnV=RK4hoiJGKL+@O%i_R2 z*E!d*LT}f39eBI_x9WVYt97RYSwso$H21N6_nY@)W1~gyMkDs`_Rj5{eT?jbOC`#D vx5vYDdp#e2G;sWt8j&pV%O^o2BN4^#9)73wY%2Oc%*w@{(odQH=Nb4HPN7`$ diff --git a/src/packages/NUnit.2.5.9.10348/Tools/nunit-x86.exe.config b/src/packages/NUnit.2.5.9.10348/Tools/nunit-x86.exe.config deleted file mode 100644 index 1641a50..0000000 --- a/src/packages/NUnit.2.5.9.10348/Tools/nunit-x86.exe.config +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/packages/NUnit.2.5.9.10348/Tools/nunit.exe b/src/packages/NUnit.2.5.9.10348/Tools/nunit.exe deleted file mode 100644 index 7718d8d356f4dfabd569ab0ecc96dc91bb6de973..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5632 zcmeHLUuaxe8UOC&kCSv8vTS#;RO`v6mFb#Zrqgu0(Pf>F@>b_U?t(vM>uIq(rSu4NcD%(|;u9Z~HThZpxqob$Vt_yQSSB(LB@5SUoXSPR_ zFpd~WBK*>G5qI&+7!`UJoq@uTh~fq&@$*Pcbnv+)DEnigary0zZ8B0Jg5Nh8&k{Wv z=`dsC&HWH!%x6GV6n;lD3HqBI0;3t~%@AXG7(k)(THA30lctDnnttF{KuK&_AfxS$ zq0_R6-t@KOK~d6m6B71y3_aGeM6)qc&@|^2jblsD5Y-jYogpFvG&)E3vDyo1Lt=pK z^OQ&(MZlw9q2X6fCQ@U-UzsgknKi_F6zi>wnKmz^FJ>Mm@fHj^&p>nDwub1c;aO^HkUcNqm3F9fy4(rc4-ZE%zaA912F+sAmyT*BXDOwwX zkrY8L(J+0ajl+e=IN6MI8ZM9t_!eCTye05w0)Hj&uLA!raM)m-34vb~7#JmEnBEb1 z-!S3zk#R!&M&3Ce23B&6P9Ot}7Zi)%rPn2bHKBg;`5bhjc>iQPPdVrx7dRpCjKFgO zX9VU1&I|mOz_$R8lLa_Vw!rVp93z4&s?bTS^E?#+U!Ye3Pf!|g5^@vyVf<^f1(+A< zn>3B}lqe7Q9h~DS8f->&G(t{_r2PhqCaIrh+bdtRvM0egWQH| zho;`tly|HkI7f@unQ^&cQ!S`?zGE*_X)6eIjjki@V9+ zL%a!^{C&L{y{cjhO301A3H|`McMi#MAb&*kejh#`)rWof?EG&G4m3H~^x**>6A}Mk zPvE2Y>3zH_Ka72L?qD&g$V{vr%oDvFv&YAkZsYyXX}1TbfiB_O_BP-gzKA87r)#tb zdLHl_z`6Zl@E`x?c!rP>CpEG^eqE%|yEHbfaQUrbz^g?*{MdN&X!vw#l{}H3A`YYs zsReETxkVxLJWx^l_25THyn&cPXxZRb`*`}J=%n%0j((niZ7X!Gjoc&TuNRa%25!keX+ zrzi#P8B&yy9A)Ti8=Ci2QnZpFV4R>HYO);HQ9j zxf*#-d1kIZ&R*n=XXc2C!sCqcI*N!SK=(1LrWNSo4UUr)-;1b{S0JxRKG$Kvty?P! zKG~av&J}IJQ&(GIO{LP-?pHHYQqu+4dYG?)yoa$W zi^qp&snqg8-QJ3RQaxwIHis2*rfN8a4l0xP?cj-cl0D}tg|5)E=!V=6Kw|eB-_zWq z){Ji0W|M%S;|IvYhYv9_2Y=|}m;d0G0g(Up-(&D8H_Y+W)UP~ zp4OWZWDzB}y|;_)d%X8JHn!UIPBdcw?rz`R-o?m1xKyId_j)`?ch>XCM+3)Ssd32? hzjP8bJ|0p0&f$02Gc^_cAExl?GiiUO^naFt{{R(iQ`-Ol diff --git a/src/packages/NUnit.2.5.9.10348/Tools/nunit.exe.config b/src/packages/NUnit.2.5.9.10348/Tools/nunit.exe.config deleted file mode 100644 index 1641a50..0000000 --- a/src/packages/NUnit.2.5.9.10348/Tools/nunit.exe.config +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/packages/NUnit.2.5.9.10348/Tools/nunit.framework.dll b/src/packages/NUnit.2.5.9.10348/Tools/nunit.framework.dll deleted file mode 100644 index 875e0984208d52e5c96a409b52996547198af17a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 135168 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 diff --git a/src/packages/NUnit.2.5.9.10348/Tools/pnunit-agent.exe b/src/packages/NUnit.2.5.9.10348/Tools/pnunit-agent.exe deleted file mode 100644 index 31a03d80f6b0ec76332a09e0a408f2f40af82485..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13824 zcmeHNeRLevb-(j=clJwOyenI_uw>R4+bat#GME^fFU$I{1@fn4V`5UXl1A&ns~s`3 zYg-W}QbN;^LIUY2DNZ;c2~7@3X+wb~&Y>ja5I#c4fuv1Bnz(Rc2%P5QkguN5)amcu zH?xxbk)((I)svCt&b#;Bcfa0!_r2NO&2PVhLPQkC{kz{0eF0Ct)(iaoU=rP_bH13O zhvUyJ`GV2++>(KPwwE1qouXS9%?=gHWv7xIw6bosoVCl@uC4vqQD@l7&zX}r&lkO| zo2btSQT8X%&4IR;NEt~ZMwAD|)YQlN@XX@A9yeQ;#Y1Vk(GvUlN%!Igov#qB|8t_b z@<09bQO!d8Ah(~}*AuAtK=|1x!X89W1W|dCLInV(vu- zjcM5v?Cx#LF+C0dreXzPy_qpjG^}D`4(ObidpQQgHAl?d2&C~gEJc3|#muPJ!sEi) zr{d|vBaIT24madlxk1O8>LY##J`MJC#6jLC9N{{4HYxYtLCv*+wmb(_iRCJXh$ogK z`cRAnB64ZX{nV5Ky6btkp>kLSi5$#MOmb*B)E5G&g`5z(FhM=Cn&Z^Cz{7e-B%Vju z^kDB|;K``zybaF^lj~Y3RueF&1%eztjHMh#q>&I|TKR3d86v~(Z(y^t24hL76DBM( zy-R?3YXJ^p(!y$jp|g%z;K-u(1pNw=1t~n2-ld=?eOb#C&k@U)?C_geaQIEm7M&-# z%h2>L2dGm~HNmD$z<6kr;mjxrnL7)r=EU`ysE?&%Z5L7Q3iP_~f->hyw8$T`9&NwL zxjE12;Laah1!HF@$ZcS1%)`PlG5HdM2UwKEVBziHHtOT)c!L)8iFAB{0;rEfolcB= zz8C#6YfcwXr+YT72WUgXymVyVym`(>Aj`Fe1))GgU@b?*L%~AkM$_T6=|FJ8y9yvd z$5QoCN=Ln`HHO*$!FvGwC|^{Qb$Z85?RXBw$V9D>pmo#DaYT1neIkcinFvJft%-^{ z*trtEhC6FyIu=hSa$C6T`!E1E=W>T%Z&xE&%YnZgPh<|?2GW?m2%K~F6+EF$K zO?_ETAzjHSuYqGfg4q?cn0c4X4BFR)S1w*+c?^7VJLEkC3xx27~D{ zpeQo~KiroQ+}w3wLPD|`fv^|F@CmlreFZ#fg4w0qhMaeR-}y5JdjWFSbE^QbT*-it zGsxs2CJ!^P7zjhi8R4!X0QQ(^j(s2`DOw+Cs5e`;rz2_eNFBu_2ss;lzFBP-P|Udj zxcgtQ$z2wP@%w?!(Td%RK#1o`plEfNRCB@ZdNXaNBOkC&ggH)aABStLi#SqAxP(CP z!|h;M5(t_R{FUplDT$Xd7o0C4f;)&8*I^0S`Hc|8bGIx3Vcg*LhJS4M$!Oc<*wtk+ z@L)}NNaVX&;V4UTUqVxBam@&*Wl(jOr2z;g$trA~X#LF9c`kw=T~Bph&f9VtQy;4@~L-1mqYUTu;**gtp?n!&!p zNJtJ80mWY`nBMt8R5U{{Z9#28J)3pj+0cL0218DyqMHs}m~YQt+`i^Q>^r=>BX{Wu z)R3h&<7kW|dlUvP?XS3YxrnF|{TLh8_aSuY&VG6t`x^|Qr5ktlVi%(C0{<~e)zS?m zUV(A}HLh8pD2@ibX1mD_(|1{}+G=+Wt zgMbNof*t~V0Wd`o<4wxYmBtz)L7R++!1IW4pOK<(f!;trGmaY#v{@ZD&Za3fs8aML z^(J_}t)?*cCuparJ;apFp-V$1jR<^~z#{@568Lq2KN6_I%(+P5YJvR%#{_;l{1;)9 zo)Y-;@DyxFMA(MqfGK)ggsr+tD7yhoDn{5ZN8m(+C4VmRsfbD60L;*mX(J4BYhND+TAuY;0?-%&D0v{3hy=Wfv{}4Do#(K{N z%+M9FHO6AnlzyR?V{F5?z;^>Krw3zy6Eo>cLitYYK3M)b+E|`(o{Mt;O}aeJqxQsk zjy$1!G|nE~FYv4J&&5r8E&f70MNNr#VkKRY;P`I>G-)8gvsM<$okICcf-U@}z+(b` zD{w_}Uecs1lN{S`CwXR<)Tz3&>5{s6$+Kxs-Jn9A)bZHA1LTWyiXlJe(jr=doM+4c zmIoF`D@;aqF0GTkkWl7Qk6;ma!<@T?GlDD)0mB9Xt^{l_=mKL2t)ea?51j{%4S+Wp z-9E*jBgPi+JZkLlIn(rnu?y{HwE=LYz;yyQ3f!Y6LI04t1@I&4eSr6=ZrYZGLb{Xc zje1bdTcWXrMk6WOE7*G%wiwO8ih{jrY&R|hcCTPh(zV7Vu=`=nNuF^Tu&6L>TClsQUfqQ3xj`^(b&9x_YmfdC zec$!RJ*@7ev*_P^>}%@7D8I*Q*gaSQ$9?Q2^wrZqj-|Y6{91jI=FzZ^sn92BK7H56 z&I)}PbALXnJaaaO?x6*An~$}J?niCALon@MBe)ET;KXLg>x)4vOm5q;fTDcLIEtU5 zTL2CEvcRv@prR+y4$;?zvPUsbAGR<>+W`&QBXCe)N#F&jz@q{m7x;|87X-d2@MVFo13pY|05;Qa1R6$T`6=1AH>_6Y2%0P1}uMM}C34 zU^#11x4Qu&Cc_NiDrz!MP(ftcKK!AXFvg`lWn`mi<5nXdU0}rNZPDX&C({icwbHoX zcr4m(+(_R5{iyNt=q2cTGumMsHA1m&;~C@p*!9MXMsLhE(xUx!k@*JTjYeFx7&iev z8G8?;eKYpgMk6Rkj1F+#3;4rWGi{eqEygcnpEj;V`vHvnE!s;IXZl)dh(Bz!sP_0# zW3Ad4e-`{!{Bh`gcl;@1t?|M5ae78zhk7IaoN*)M+cd5`>}#vg{xC7Thi+BZC4Op* ztHDGw+BVvE3+LVH9=zm^tA9*n06(8#`{t5T4 zDljSVYJvR%_Xr#kxSyWDD36{~|4P`CjH`|J8^16XtMzJ1-L4)`M^$)|*AvmbXWfC9 z48C3o^ZJ{<3_2vpY_3lTjXxiZQ%NdFf{y!q3KdRY%V-S`gS?r1FZwi}2@eA`lrQc$ zj#bT9pm(+{c~qH`?YkW{=VTpiVnP%ZL9WX-JHyqIbp?%;t7W^=Rw!EKO5QqTQ3tnZ z+m@Xm=Vv0iEwIxmkJv@cs@r`|Vc2s0VFQ*|*-~!nS14^5-(ijTByCrI1Rs-I2OW2RU{Ozv(5r3KX7#d8nBqAl zt7B-$@;nm9^3Z4H?Q+F(M+zX5_Nx-&MQ96^eFIL1 z=UJnJB^xGj?0Q^hw8t)4G+Gm>LzExb=URnfwnewVArx{3Z}3UmTzsxA5%8U^R_v1R z=}vC4%r0k?J=|Q_Z;7SXxON3bmMxMN^?KLXu1})&Z-;LF2HC7?%#RT-TrAyg&6eSn~a2){u_PFzI)X>0TPelog7I#;`S5EfyhR zsOq{%9yWFhl7Iu)Un#g1Ygqi*VR_Y3g{eJu+4lB<+rE8z%gVh=QJzxr*iyiYn%=3sNlV7uv)=V(sRrmJh!KI zbXldsc)wjNpW3y{ayIh1?mg4xOf> z(-|Erl*dmU5v-8{JAZ0-m*ow)woJpRodb4dW*qz!#~kuXL9&dFAx^HpWISXR6GYJt zgzAvAylJuiKryvq585TWGQ;4RrH%RrI`q1k9$j$p^6Tr`Tqq;^Tq;_Xy*2gyR;9vk z$iWis4H_N8!$DIot6(^y$ptOw^j8L|Lgk_hvG84QIw@$QRp~xt4PmX8i$SJ{{yt|& z91T*fcdOJ49?)gGQb;AyI6Q;AfH}FO3i(0 z??;>t*t}tA4vv@Qo}S|*A`!~hhIlkEK4u{hP|zn;$-_*ZO!H+;mmQBb6})|w z!XPSdZJa$otN=((S?=k& z0-D}HJV?=Tr5#q0cdcNMB+X`BKhdWr$4^0zw^-DwV2ee6VOXkumyNv`(}e9eKP0;x zM~mwzuSITek}Ak)Cvn6MOm7Ijb-#O&mQm&EKf~ zSwXf2fkiW4lP5J6lz_mxv@nz!KN~Q6oY8uPOH~IC_6lqShbsQYRK%R3hD)@%T^H-Y zKS4k+@6fec;LSY7=v`(D5`F}y6WMZVix56nI`u9!P3ssN^S4@7IF0GkN==t^`ul^J z)Ke{$WF=xr@OIx*Dxf?u!Vb%EDZde)!13Wimj{0*5YK&ve$*4}zvKCBPRSk`#}Nms ztc=q~C!$|Lk?<-7pdIDmo#lgWVQj{6D6ba}qF|4Xl`J+zQ)V2b2IZ>4&G_dtWO*+X_SbQG_KLLFuIp4vrRu zvK*46hlSw;KUf_>6&tn=p-AyLrMrB}|!xXUi!xZ_pqA&73G5-ZB;v187l=WL>s-V4xhRC5ZAve&^umr9w-GqA#J+5$# zVN8Yg;nQkF1+V~l9{5IS5d1b;9^uQVRa?+IQ+~cCJv&482)L@yiPyzuZ57*+ha?9! zOpl@Q9l|#t^4Z!UXfBC`!@yXMi|2Iz1b)VHn9c{SW0r;Ev;`wa#j^=~HllfgaRZQ} zHSrtsh3KVt;5)_3{zy8fLgR=DDzQYVf|g5tfCq4wh_2j$XAymPA&@>BJ{HC5eUMSc zAM<6Qtqd4wV4Z9=t?3l56&Rg`Cv_nAe-$th$qh|>nZR|TstrW%lZ=7LkqoUj`ccN!SOsb;9)ru17EF{;T?yOP_rDg=cxLj}FhK)AEES7}VN9k@N&h{t zmFX!MsZyzw3BJta1EHvqie|$`s;Q|7?IxCzo;=F>o0>2%J^9r-7@C=UJTv)RX7U9w ztSL%xYw|@EBbAwaITPnNvGXbupBIg0CLhd9K7t{s%;YnfwGa_QTqa*hPre>SqcJo2 zMglTZ>B;|2PZ`?oSMX@cOvMw?P-gNsnW;!-E<1?m!jOf+Gc|`DnM!LU9X2yl^Etk$ z%oL^rJxdr)-qVncH>FZ4J=Kz#YHNnjRSYhUV+t6EmMV zdNXTPGn{52k3)&dOl=MWSr(0QGqVg1^1P9rH!pR->^Co7rB#ZtNfZ*iW|NP_Y-!EjSTv6~=!K|LlbR zCdi;WhVR8MsPq%RPL(SRD2e9d{OA(eF4T3mcCzY4o#uB8zRn{aHGp0|$$O~Vd_uCN z!V3d^F8pH%HDFT(T>2cS-xTm!OHI<#!qbiuzy4c|b1`CocNT@Q0e=^E0uTEE%bDI0 zSWg!BdVF&~&ASV{F1V*{S%pJRJMPuKjy%qE7t - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/packages/NUnit.2.5.9.10348/Tools/pnunit-launcher.exe b/src/packages/NUnit.2.5.9.10348/Tools/pnunit-launcher.exe deleted file mode 100644 index e4c4f092a874003e08d792563ae9ca7ea5347a4c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24576 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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/packages/NUnit.2.5.9.10348/Tools/pnunit.framework.dll b/src/packages/NUnit.2.5.9.10348/Tools/pnunit.framework.dll deleted file mode 100644 index ca9b5cb472dd3534d83c696197008c3dc2319822..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6656 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 TGk}8T--=%6!oJx4?=tW|sOZ$# diff --git a/src/packages/NUnit.2.5.9.10348/Tools/pnunit.tests.dll b/src/packages/NUnit.2.5.9.10348/Tools/pnunit.tests.dll deleted file mode 100644 index e3985d65a814e5090f48c2f4afca11e6d98f5272..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4608 zcmeHKU2Ggz75-+taW)RMohD6_R@h@XrA`WqohC#UQCR;bPW@N!#wow`?Cy9oWOinI zXEuouLPpSvsvxzBREa*IRDI&15+I~jk@|)NJVZh~A%sMQ0QI2=33vb=2;VugYp>%i zw69g~dcHaT_uO;uoqN6Tg%{BUAj9YGUEoc=rR5d>H*8YfJ9xVnKizj{=uK<>&QS4+ zA3JpuRgGJ7%5E4&iBs|%(+C|ubf%XIPA#f$^T0bz zzosgEtpOj~A$XsR18@XeEld8w76;@K??yuY*ggVvI@Wvor+6)AVpFDCbIX&EiMl5t zit{<+1rZHZwMH9>#i6&iJTTeLD=l?pliY0V!Pz0;J9`03r5_v)j@sByH~Jrd-St#Y z_x{JQ_r!ob(#J8LxQM}ngMAN;P~AOpzl{0>=ZQXZt*%B6QfjELM~6h8@&|-}KzOJB zQDEfown|MO6#lUJG|fhi2+gpa;x28)>D^Ix4XqY>(R-3FA)|E>2p_N=egbV*Icgi$y=z_B(tJUn=0Aq-DB>&tICG z<~z$d*c5&;h)R4*V<_wV12$yI;NRBcU=^4!SQp*HvQ=mUCatkVCl9-2>uF}%jTxNd zw%SBU{J!E(6z?ehS@EvoLzdW_R$Nr9Dn6(9n&NM*+g3Nzxo!1e&K|dW@D;^?*oz<7 z-?O{%8~f+Pf7$0W6Uj+3lV3j`#vp6e;y%^ny0Gks)ytUI%&W>hcVw9!U5HW+tIB=5 z$*n2(yCzpvZfpo_EkEh?5thitqxJzT;}B~lI7B>(<4TVyjw?{HSI{RD4)*O7RKBg5nny%ZgX|MO(uQ7(*G~B5o>uOK}*P&2&}V>bqHCY1ocv zMN(SO!f9pXd$13|h%h5KE=!9#uIauPo1R}+naFW=A*wV2?;Pr3BlHt~-{K_BRe}Ih zwK|IA=KYd!jqk$GtV^Kpcsvfqu`lq zp21Y$dtuVF&#idt0Ui7(#6%o>wNkM0gtxKi*1U;?+pN?`ymrN`A9PSmdx5)A@T=i& zpH zHjFES->shZ;LI=j)r+@8Oe4qi>eN4vpYeNhYmZveymsd6Fn+}T zfbxZ3zLJ@koVxke`-eXw`^MM4w0iW^+t2TToy}&u99S90vU&w^6 zD+6!*19a{6Qvs3f*RAi=uV8Qjn^n>Ji`q>hzyN|%h?==5Vb8;T@ zJV>t|Z6lQl07g5=#YpasPvwE{Zl4CEPf@yx0-h$yZYXe9EMbxS9C4Pkw6`*U{ZD$T zSh!ia#Yuy_El}-~aMwPuZ+uSd6T%GG&pVE%$CAmngOKHp<;c`d#)P|}D zew2Ba1G1P?LMxy0YKKU_P@7SXJN=#F=ZiJKCwYIcw(O_5S7M&D5~seSABVPi^tIWp z>VAydav9_KKFa4*vyU83^7K7JUN4cD<~7=4#bocxUJf~yfc0}xBhM=;C9?B<>T_x% zyEZ0Wp`F}7`f62JxcA@Zw2ph3 zu_9*DV0{wKn2cb1^#5<{7c|BMJ>)x9WAy`O?R?-k9NI_iy(-|O|1&z{?`80j{KH&< F{{qlOZ^r-t diff --git a/src/packages/NUnit.2.5.9.10348/Tools/runFile.exe b/src/packages/NUnit.2.5.9.10348/Tools/runFile.exe deleted file mode 100644 index a794458669630af28c2158e457ac00acb6b06fda..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3072 zcmeHIO=w(I6#m}i$24hUrL|OP@z$gme|Suoh^0t6olFu_5)(2tNF8YA=XLVzoA-wI z-o!*jW+9?G5iBk$f(zF!gcgf?LAtBpvPc&dMAva){La1anQ2;#TZ=b2_nyCd&v(u} z_sznEkI@65m$bbNT<0nyujhZBIy4VI_3bde*?05Ab!-0SiSui2q*`In2rErhtN4Bp ztE!{Iwy#`Y6&FjY8Ppy7z=6Th+V}4T&XLR)PIw-&Me|MD?#0`VVwD z4p4rjOSWTYBc@!Gn6&8x65N#ZP{67kMq!PT#+D}|7nRh6oE~|iw?oGZ=qOmRN|Lh% zNnIlk6uLyssu80RY_jE!B5pDkdD5;(RPHejWiti?{UV;zp9we*K6fZ<;gMu-W~@h4 zT1xL-V$YL4QzQz@rDADoasBk@wac>~-ncvb>09Glf@$h>nf>*qQ;VbWB{wd+%~rV{ z#J&@kgLd3%$K`6<_3CA|+>GlvcB@`Rp>(cb>5NQ$*2nFvoqH+!BF~e8u5!Lh8hMX* z#2_8vOL6G>jfgD1r;c5Ok=fVgid=u9oE5p?1y!yxsIq1s2lk2Zhn16JQm1Pwxe1BP z%=MbuEk-{{Tc75al$fs|r+2Pt>4T%E=wo86<1w7VaUyvK zBb>!zV+hZpw}V~7r)(7{#pY1l>x&VN7ZrrmC5ueG4wM>mh*7Z>ynNwyb|vIk-iCIxi}SsOhsp+b8sBH?s+uMVf!Rh{{930 zvl{6%;HY^5U0IkOVb6EElw?hh%D3b7Ja9`IFd4Tp6XaGS`KE#Mv{tB%Xs;lq zUqH!>uX`tm)gq>tUM}^G2b^?J`(*jn&EEv7`rRMnOS3S=^P2o~xI1PP=yn?IvbA*l zO=erseiB=eUeG=%@*+=&P}4YC_uv%YEPq9;zp<^*H>CGYE?K_q9Rgqbe)>x_V(sfQ zw%3IqM4PrWwoRW65-_GQ&698F9g`qYSGcP%G$eeU(yU8SA+NUfwsQq!|U8fn~BqT1xm Y?6r?uAHJc?Z(=_8@TK;DMtfJ_FVQj;bN~PV diff --git a/src/packages/NUnit.2.5.9.10348/Tools/runFile.exe.config b/src/packages/NUnit.2.5.9.10348/Tools/runFile.exe.config deleted file mode 100644 index f58f099..0000000 --- a/src/packages/NUnit.2.5.9.10348/Tools/runFile.exe.config +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/packages/NUnit.2.5.9.10348/Tools/runpnunit.bat b/src/packages/NUnit.2.5.9.10348/Tools/runpnunit.bat deleted file mode 100644 index a05cbb7..0000000 --- a/src/packages/NUnit.2.5.9.10348/Tools/runpnunit.bat +++ /dev/null @@ -1,2 +0,0 @@ -start pnunit-agent agent.conf -pnunit-launcher test.conf \ No newline at end of file diff --git a/src/packages/NUnit.2.5.9.10348/Tools/test.conf b/src/packages/NUnit.2.5.9.10348/Tools/test.conf deleted file mode 100644 index 14cd113..0000000 --- a/src/packages/NUnit.2.5.9.10348/Tools/test.conf +++ /dev/null @@ -1,24 +0,0 @@ - - - - - Testing - - - Testing - pnunit.tests.dll - TestLibraries.Testing.EqualTo19 - localhost:8080 - - ..\server - - - - - - - - - - - \ No newline at end of file diff --git a/src/packages/NUnit.2.5.9.10348/fit-license.txt b/src/packages/NUnit.2.5.9.10348/fit-license.txt deleted file mode 100644 index e5408d9..0000000 --- a/src/packages/NUnit.2.5.9.10348/fit-license.txt +++ /dev/null @@ -1,342 +0,0 @@ - - - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General -Public License instead of this License. \ No newline at end of file diff --git a/src/packages/NUnit.2.5.9.10348/lib/nunit.framework.dll b/src/packages/NUnit.2.5.9.10348/lib/nunit.framework.dll deleted file mode 100644 index 875e0984208d52e5c96a409b52996547198af17a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 135168 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 diff --git a/src/packages/NUnit.2.5.9.10348/lib/nunit.framework.xml b/src/packages/NUnit.2.5.9.10348/lib/nunit.framework.xml deleted file mode 100644 index b9e1dd0..0000000 --- a/src/packages/NUnit.2.5.9.10348/lib/nunit.framework.xml +++ /dev/null @@ -1,10385 +0,0 @@ - - - - nunit.framework - - - -

- 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 - - - - - 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 an array as containing a set of datapoints to be used - executing a theory within the same fixture that requires an argument - of the Type of the array elements. - - - - - Attribute used to provide descriptive text about a - test case or fixture. - - - - - Construct the attribute - - Text describing the test - - - - Gets the test description - - - - - Enumeration indicating how the expected message parameter is to be used - - - - Expect an exact match - - - Expect a message containing the parameter string - - - Match the regular expression provided as a parameter - - - Expect a message that starts with the parameter string - - - - ExpectedExceptionAttribute - - - - - - Constructor for a non-specific exception - - - - - Constructor for a given type of exception - - The type of the expected exception - - - - Constructor for a given exception name - - The full name of the expected exception - - - - Gets or sets the expected exception type - - - - - Gets or sets the full Type name of the expected exception - - - - - Gets or sets the expected message text - - - - - Gets or sets the user message displayed in case of failure - - - - - Gets or sets the type of match to be performed on the expected message - - - - - Gets the name of a method to be used as an exception handler - - - - - 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 - - - - The reason test is marked explicit - - - - - 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 without giving a reason - for ignoring the test. - - - - - Constructs the attribute giving a reason for ignoring the test - - The reason for ignoring the test - - - - The reason for ignoring a test - - - - - 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 itemss 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 - - - - - 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-deliminted list of platforms - - - - 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 - - - - Marks a test to use a combinatorial join of any argument data - provided. NUnit will create a test case for every combination of - the arguments provided. This can result in a large number of test - cases and so should be used judiciously. This is the default join - type, so the attribute need not be used except as documentation. - - - - - 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 - - - - - Default constructor - - - - - Marks a test to use pairwise join of any argument data provided. - NUnit will attempt too excercise every pair of argument values at - least once, using as small a number of test cases as it can. With - only two arguments, this is the same as a combinatorial join. - - - - - Default constructor - - - - - Marks a test to use a sequential join of any argument data - provided. NUnit will use arguements for each parameter in - sequence, generating test cases up to the largest number - of argument values provided and using null for any arguments - for which it runs out of values. Normally, this should be - used with the same number of arguments for each parameter. - - - - - Default constructor - - - - - Summary description for MaxTimeAttribute. - - - - - Construct a MaxTimeAttribute, given a time in milliseconds. - - The maximum elapsed time in milliseconds - - - - RandomAttribute is used to supply a set of random values - to a single parameter of a parameterized test. - - - - - ValuesAttribute is used to provide literal arguments for - an individual parameter of a test. - - - - - Abstract base class for attributes that apply to parameters - and supply data for the parameter. - - - - - Gets the data to be provided to the specified parameter - - - - - 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. - - - - - 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 - - - - - Construct a set of doubles from 0.0 to 1.0, - specifying only the count. - - - - - - Construct a set of doubles from min to max - - - - - - - - Construct a set of ints from min to max - - - - - - - - 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 longs - - - - - - - - Construct a range of doubles - - - - - - - - Construct a range of floats - - - - - - - - RepeatAttribute may be applied to test case in order - to run it multiple times. - - - - - Construct a RepeatAttribute - - The number of times to run the test - - - - RequiredAddinAttribute may be used to indicate the names of any addins - that must be present in order to run some or all of the tests in an - assembly. If the addin is not loaded, the entire assembly is marked - as NotRunnable. - - - - - Initializes a new instance of the class. - - The required addin. - - - - Gets the name of required addin. - - The required addin name. - - - - Summary description for SetCultureAttribute. - - - - - Construct given the name of a culture - - - - - - Summary description for SetUICultureAttribute. - - - - - Construct given the name of a culture - - - - - - Attribute used to mark a class that contains one-time SetUp - and/or TearDown methods that apply to all the tests in a - namespace or an assembly. - - - - - SetUpFixtureAttribute is used to identify a SetUpFixture - - - - - Attribute used to mark a static (shared in VB) property - that returns a list of tests. - - - - - 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")] - publc void TestDescriptionMethod() - {} - } - - - - - - Descriptive text for this test - - - - - TestCaseAttribute is used to mark parameterized test cases - and provide them with their arguments. - - - - - The ITestCaseData interface is implemented by a class - that is able to return complete testcases for use by - a parameterized test method. - - NOTE: This interface is used in both the framework - and the core, even though that results in two different - types. However, sharing the source code guarantees that - the various implementations will be compatible and that - the core is able to reflect successfully over the - framework implementations of ITestCaseData. - - - - - Gets the argument list to be provided to the test - - - - - Gets the expected result - - - - - Gets the expected exception Type - - - - - Gets the FullName of the expected exception - - - - - Gets the name to be used for the test - - - - - Gets the description of the test - - - - - Gets a value indicating whether this is ignored. - - true if ignored; otherwise, false. - - - - Gets the ignore reason. - - The ignore reason. - - - - 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 the list of arguments to a test case - - - - - Gets or sets the expected result. - - The result. - - - - Gets or sets the expected exception. - - The expected exception. - - - - Gets or sets the name the expected exception. - - The expected name of the exception. - - - - Gets or sets the expected message of the expected exception - - The expected message of the exception. - - - - Gets or sets the type of match to be performed on the expected message - - - - - Gets or sets the description. - - The description. - - - - Gets or sets the name of the test. - - The name of the test. - - - - Gets or sets the ignored status of the test - - - - - Gets or sets the ignored status of the test - - - - - Gets the ignore reason. - - The ignore reason. - - - - FactoryAttribute indicates the source to be used to - provide test cases for a test method. - - - - - Construct with the name of the factory - for use with languages - that don't support params arrays. - - An array of the names of the factories 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 the 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 - - - - - [TestFixture] - public class ExampleClass - {} - - - - - 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. - - - - - - Descriptive text for this fixture - - - - - The arguments originally provided to the attribute - - - - - Gets or sets a value indicating whether this should be ignored. - - true if ignore; otherwise, false. - - - - Gets or sets the ignore reason. May set Ignored as a side effect. - - The ignore reason. - - - - Get or set the type arguments. If not set - explicitly, any leading arguments that are - Types are taken as type arguments. - - - - - Attribute used to identify a method that is - called before any tests in a fixture are run. - - - - - Attribute used to identify a method that is called after - all the tests in a fixture have run. The method is - guaranteed to be called, even if an exception is thrown. - - - - - 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")] - publc void TestDescriptionMethod() - {} - } - - - - - - WUsed 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 method or assembly, sets the default timeout - for all contained test methods. - - - - - Construct a TimeoutAttribute given a time in milliseconds - - The timeout value in milliseconds - - - - Marks a test that must run in the STA, causing it - to run in a separate thread if necessary. - - On methods, you may also use STAThreadAttribute - to serve the same purpose. - - - - - Construct a RequiresSTAAttribute - - - - - Marks a test that must run in the MTA, causing it - to run in a separate thread if necessary. - - On methods, you may also use MTAThreadAttribute - to serve the same purpose. - - - - - Construct a RequiresMTAAttribute - - - - - Marks a test that must run on a separate thread. - - - - - Construct a RequiresThreadAttribute - - - - - Construct a RequiresThreadAttribute, specifying the apartment - - - - - 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 the data source to be used - - - - 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 the 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 - - - - - AttributeExistsConstraint tests for the presence of a - specified attribute on a Type. - - - - - The Constraint class is the base of all built-in constraints - within NUnit. It provides the operator overloads used to combine - constraints. - - - - - The IConstraintExpression interface is implemented by all - complete and resolvable constraints and expressions. - - - - - Return the top-level constraint for this expression - - - - - - Static UnsetObject used to detect derived constraints - failing to set the actual value. - - - - - The actual value being tested against a constraint - - - - - The display name of this Constraint for use by ToString() - - - - - Argument fields used by ToString(); - - - - - The builder holding this constraint - - - - - Construct a constraint with no arguments - - - - - Construct a constraint with one argument - - - - - Construct a constraint with two arguments - - - - - Sets the ConstraintBuilder holding this constraint - - - - - Write the failure message to the MessageWriter provided - as an argument. The default implementation simply passes - the constraint and the actual value to the writer, which - then displays the constraint description and the value. - - Constraints that need to provide additional details, - such as where the error occured can override this. - - The MessageWriter on which to display the message - - - - 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 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 - True for success, false for failure - - - - 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 - True for success, false for failure - - - - Write the constraint description to a MessageWriter - - The writer on which the description is displayed - - - - 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 - - - - 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 DelayedConstraint with the specified delay time. - - The delay in milliseconds. - - - - - Returns a DelayedConstraint with the specified delay time - and polling interval. - - The delay in milliseconds. - The interval at which to test the constraint. - - - - - 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. - - - - - 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. - - - - - Class used to detect any derived constraints - that fail to set the actual value in their - Matches override. - - - - - Constructs an AttributeExistsConstraint for a specific attribute Type - - - - - - Tests whether the object provides the expected attribute. - - A Type, MethodInfo, or other ICustomAttributeProvider - True if the expected attribute is present, otherwise false - - - - Writes the description of the constraint to the specified writer - - - - - 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. - - - - - Abstract base class used for prefixes - - - - - The base constraint - - - - - Construct given a base constraint - - - - - - Constructs an AttributeConstraint for a specified attriute - Type and base constraint. - - - - - - - Determines whether the Type or other provider has the - expected attribute and if its value matches the - additional constraint specified. - - - - - Writes a description of the attribute to the specified writer. - - - - - Writes the actual value supplied to the specified writer. - - - - - Returns a string representation of the constraint. - - - - - BasicConstraint is the abstract base for constraints that - perform a simple comparison to a constant value. - - - - - Initializes a new instance of the class. - - The expected. - The description. - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - Write the constraint description to a MessageWriter - - The writer on which the description is displayed - - - - NullConstraint tests that the actual value is null - - - - - Initializes a new instance of the class. - - - - - TrueConstraint tests that the actual value is true - - - - - Initializes a new instance of the class. - - - - - FalseConstraint tests that the actual value is false - - - - - Initializes a new instance of the class. - - - - - NaNConstraint tests that the actual value is a double or float NaN - - - - - Test that the actual value is an NaN - - - - - - - Write the constraint description to a specified writer - - - - - - 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 - - - - AndConstraint succeeds only if both members succeed. - - - - - Create an AndConstraint from two other constraints - - The first constraint - The second 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 a description for this contraint to a MessageWriter - - The MessageWriter to receive the description - - - - 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 - - - - OrConstraint succeeds if either member succeeds - - - - - Create an OrConstraint from two other constraints - - The first constraint - The second 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 - - - - Write a description for this contraint to a MessageWriter - - The MessageWriter to receive the description - - - - 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 - - - - - - - CollectionItemsEqualConstraint is the abstract base class for all - collection constraints that apply some notion of item equality - as a part of their operation. - - - - - Construct an empty CollectionConstraint - - - - - Construct a CollectionConstraint - - - - - - Flag the constraint to use the supplied IComparer object. - - The IComparer object to use. - Self. - - - - Flag the constraint to use the supplied IComparer object. - - The IComparer object to use. - Self. - - - - Flag the constraint to use the supplied Comparison object. - - The IComparer object to use. - Self. - - - - Flag the constraint to use the supplied IEqualityComparer object. - - The IComparer object to use. - Self. - - - - Flag the constraint to use the supplied IEqualityComparer object. - - The IComparer object to use. - Self. - - - - Compares two collection members for equality - - - - - Return a new CollectionTally for use in making tests - - The collection to be included in the tally - - - - Flag the constraint to ignore case and return self. - - - - - EmptyCollectionConstraint tests whether a collection is empty. - - - - - Check that the collection is empty - - - - - - - Write the constraint description to a MessageWriter - - - - - - UniqueItemsConstraint tests whether all the items in a - collection are unique. - - - - - Check that all items are unique. - - - - - - - Write a description of this constraint to a MessageWriter - - - - - - CollectionContainsConstraint is used to test whether a collection - contains an expected object as a member. - - - - - Construct a CollectionContainsConstraint - - - - - - Test whether the expected item is contained in the collection - - - - - - - Write a descripton of the constraint to a MessageWriter - - - - - - CollectionEquivalentCOnstraint is used to determine whether two - collections are equivalent. - - - - - Construct a CollectionEquivalentConstraint - - - - - - Test whether two collections are equivalent - - - - - - - Write a description of this constraint to a MessageWriter - - - - - - 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 - - - - Test whether the actual collection is a subset of - the expected collection provided. - - - - - - - Write a description of this constraint to a MessageWriter - - - - - - CollectionOrderedConstraint is used to test whether a collection is ordered. - - - - - Construct a CollectionOrderedConstraint - - - - - Modifies the constraint to use an IComparer and returns self. - - - - - Modifies the constraint to use an IComparer<T> and returns self. - - - - - Modifies the constraint to use a Comparison<T> and returns self. - - - - - Modifies the constraint to test ordering by the value of - a specified property and returns self. - - - - - Test whether the collection is ordered - - - - - - - Write a description of the constraint to a MessageWriter - - - - - - Returns the string representation of the constraint. - - - - - - If used performs a reverse comparison - - - - - CollectionTally counts (tallies) the number of - occurences of each object in one or more enumerations. - - - - - Construct a CollectionTally object from a comparer and a collection - - - - - Try to remove an object from the tally - - The object to remove - True if successful, false if the object was not found - - - - Try to remove a set of objects from the tally - - The objects to remove - True if successful, false if any object was not found - - - - The number of objects remaining in the tally - - - - - ComparisonAdapter class centralizes all comparisons of - values in NUnit, adapting to the use of any provided - IComparer, IComparer<T> or Comparison<T> - - - - - Returns a ComparisonAdapter that wraps an IComparer - - - - - Returns a ComparisonAdapter that wraps an IComparer<T> - - - - - Returns a ComparisonAdapter that wraps a Comparison<T> - - - - - Compares two objects - - - - - Gets the default ComparisonAdapter, which wraps an - NUnitComparer object. - - - - - Construct a ComparisonAdapter for an IComparer - - - - - Compares two objects - - - - - - - - Construct a default ComparisonAdapter - - - - - ComparisonAdapter<T> extends ComparisonAdapter and - allows use of an IComparer<T> or Comparison<T> - to actually perform the comparison. - - - - - Construct a ComparisonAdapter for an IComparer<T> - - - - - Compare a Type T to an object - - - - - Construct a ComparisonAdapter for a Comparison<T> - - - - - Compare a Type T to an object - - - - - Abstract base class for constraints that compare values to - determine if one is greater than, equal to or less than - the other. - - - - - The value against which a comparison is to be made - - - - - If true, less than returns success - - - - - if true, equal returns success - - - - - if true, greater than returns success - - - - - The predicate used as a part of the description - - - - - ComparisonAdapter to be used in making the comparison - - - - - Initializes a new instance of the class. - - The value against which to make a comparison. - if set to true less succeeds. - if set to true equal succeeds. - if set to true greater succeeds. - String used in describing the constraint. - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - Write the constraint description to a MessageWriter - - The writer on which the description is displayed - - - - Modifies the constraint to use an IComparer and returns self - - - - - Modifies the constraint to use an IComparer<T> and returns self - - - - - Modifies the constraint to use a Comparison<T> and returns self - - - - - Tests whether a value is greater than the value supplied to its constructor - - - - - Initializes a new instance of the class. - - The expected value. - - - - Tests whether a value is greater than or equal to the value supplied to its constructor - - - - - Initializes a new instance of the class. - - The expected value. - - - - Tests whether a value is less than the value supplied to its constructor - - - - - Initializes a new instance of the class. - - The expected value. - - - - Tests whether a value is less than or equal to the value supplied to its constructor - - - - - Initializes a new instance of the class. - - The expected value. - - - - Delegate used to delay evaluation of the actual value - to be used in evaluating a 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 reognized. a ConstraintStack holds - input constraints as well as the results of each - operator applied. - - - - - 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 expresson 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. - - - - - OperatorStack is a type-safe stack for holding ConstraintOperators - - - - - Initializes a new instance of the class. - - The builder. - - - - Pushes the specified operator onto the stack. - - The op. - - - - Pops the topmost operator from the stack. - - - - - - Gets a value indicating whether this is empty. - - true if empty; otherwise, false. - - - - Gets the topmost operator without modifying the stack. - - The top. - - - - ConstraintStack is a type-safe stack for holding Constraints - - - - - Initializes a new instance of the class. - - The builder. - - - - Pushes the specified constraint. As a side effect, - the constraint's builder field is set to the - ConstraintBuilder owning this stack. - - The constraint. - - - - Pops this topmost constrait from the stack. - As a side effect, the constraint's builder - field is set to null. - - - - - - Gets a value indicating whether this is empty. - - true if empty; otherwise, false. - - - - Gets the topmost constraint without modifying the stack. - - The topmost constraint - - - - 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 - reognized. Once an actual Constraint is appended, the expression - returns a resolvable Constraint. - - - - - ConstraintExpressionBase is the abstract base class for the - generated ConstraintExpression class, which represents a - compound constraint in the process of being constructed - from a series of syntactic elements. - - NOTE: ConstraintExpressionBase is aware of some of its - derived classes, which is an apparent violation of - encapsulation. Ideally, these classes would be a - single class, but they must be separated in order to - allow parts to be generated under .NET 1.x and to - provide proper user feedback in syntactically - aware IDEs. - - - - - 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. - - - - - 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 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 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 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 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 suppled argument - - - - - Returns a constraint that tests whether the - actual value is greater than or equal to the suppled argument - - - - - Returns a constraint that tests whether the - actual value is greater than or equal to the suppled argument - - - - - Returns a constraint that tests whether the - actual value is less than the suppled argument - - - - - Returns a constraint that tests whether the - actual value is less than or equal to the suppled argument - - - - - Returns a constraint that tests whether the - actual value is less than or equal to the suppled 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 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 new CollectionContainsConstraint checking for the - presence of a particular object in the collection. - - - - - Returns a new CollectionContainsConstraint checking for the - presence of a particular object in the collection. - - - - - Returns a new ContainsConstraint. This constraint - will, in turn, make use of the appropriate second-level - constraint, depending on the type of the actual argument. - This overload is only used if the item sought is a string, - since any other type implies that we are looking for a - collection member. - - - - - Returns a constraint that succeeds if the actual - value contains the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value contains the substring supplied as an argument. - - - - - Returns a constraint that 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 matches the Regex pattern supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value matches the Regex 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 the same path or under an expected path after canonicalization. - - - - - Returns a constraint that tests whether the path provided - is the same path or under an expected path after canonicalization. - - - - - Returns a constraint that tests whether the actual value falls - within a specified range. - - - - - Returns a 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 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. - - - - - With is currently a NOP - reserved for future use. - - - - - 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 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 whether a collection is ordered - - - - - Helper class with properties and methods that supply - a number of constraints used in Asserts. - - - - - 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 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 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 suppled argument - - - - - Returns a constraint that tests whether the - actual value is greater than or equal to the suppled argument - - - - - Returns a constraint that tests whether the - actual value is greater than or equal to the suppled argument - - - - - Returns a constraint that tests whether the - actual value is less than the suppled argument - - - - - Returns a constraint that tests whether the - actual value is less than or equal to the suppled argument - - - - - Returns a constraint that tests whether the - actual value is less than or equal to the suppled 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 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 new CollectionContainsConstraint checking for the - presence of a particular object in the collection. - - - - - Returns a new CollectionContainsConstraint checking for the - presence of a particular object in the collection. - - - - - Returns a new ContainsConstraint. This constraint - will, in turn, make use of the appropriate second-level - constraint, depending on the type of the actual argument. - This overload is only used if the item sought is a string, - since any other type implies that we are looking for a - collection member. - - - - - Returns a constraint that succeeds if the actual - value contains the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value contains the substring supplied as an argument. - - - - - Returns a constraint that fails if the actual - value contains the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value starts with the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value starts with the substring supplied as an argument. - - - - - Returns a constraint that 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 fails if the actual - value ends with the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value matches the Regex pattern supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value matches the Regex pattern 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 the same path or under an expected path after canonicalization. - - - - - Returns a constraint that tests whether the path provided - is the same path or under an expected path after canonicalization. - - - - - Returns a constraint that tests whether the actual value falls - within a specified range. - - - - - Returns a 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 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 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 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 whether a collection is ordered - - - - - 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. - - - - - 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. - - - - - - The syntax element preceding this operator - - - - - The syntax element folowing 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. - - - - - 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. - - - - - - - Negates the test of the constraint it wraps. - - - - - Constructs a new NotOperator - - - - - Returns a NotConstraint applied to its argument. - - - - - Abstract base for operators that indicate how to - apply a constraint to items in a collection. - - - - - Constructs a CollectionOperator - - - - - 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 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. - - - - - 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 simply wraps the - constraint provided as an argument, without any - further functionality, but which modifes the - order of evaluation because of its precedence. - - - - - Constructor for the WithOperator - - - - - Returns a constraint that wraps its argument - - - - - Abstract base class for operators that are able to reduce to a - constraint whether or not another syntactic element follows. - - - - - 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. - - - - - 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. - - - - - - Gets the name of the property to which the operator applies - - - - - 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. - - - - - 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. - - - - - 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. - - - - - - Abstract method that produces a constraint by applying - the operator to its left and right constraint arguments. - - - - - Gets the left precedence of the operator - - - - - Gets the right precedence of the operator - - - - - Operator that requires both it's arguments to succeed - - - - - Construct an AndOperator - - - - - Apply the operator to produce an AndConstraint - - - - - Operator that requires at least one of it's arguments to succeed - - - - - Construct an OrOperator - - - - - Apply the operator to produce an OrConstraint - - - - - 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. - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - Write the constraint description to a MessageWriter - - The writer on which the description is displayed - - - - 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 ignore case and return self. - - - - - Applies a delay to the match so that a match can be evaluated in the future. - - - - - Creates a new DelayedConstraint - - The inner constraint two 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 two decorate - The time interval after which the match is performed - The time interval used for polling - If the value of is less than 0 - - - - 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 - True for if the base constraint fails, false if it succeeds - - - - 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 - - - - Write the constraint description to a MessageWriter - - The writer on which the description is displayed - - - - Write the actual value for a failing constraint test to a MessageWriter. - - The writer on which the actual value is displayed - - - - Returns the string representation of the constraint. - - - - - EmptyDirectoryConstraint is used to test that a directory is empty - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - Write the constraint description to a MessageWriter - - The writer on which the description is displayed - - - - 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 - - - - 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. - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - Write the constraint description to a MessageWriter - - The writer on which the description is displayed - - - - 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. - - - - - If true, strings in error messages will be clipped - - - - - NUnitEqualityComparer used to test equality. - - - - - Initializes a new instance of the class. - - The expected value. - - - - Flag the constraint to use a tolerance when determining equality. - - Tolerance value to be used - 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 IComparer object. - - The IComparer object to use. - Self. - - - - Flag the constraint to use the supplied Comparison object. - - The IComparer object to use. - Self. - - - - Flag the constraint to use the supplied IEqualityComparer object. - - The IComparer object to use. - Self. - - - - Flag the constraint to use the supplied IEqualityComparer object. - - The IComparer object to use. - Self. - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - Write a failure message. Overridden to provide custom - failure messages for EqualConstraint. - - The MessageWriter to write to - - - - Write description of this constraint - - 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 - - - - 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. - - - - - 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 - - - - EqualityAdapter class handles all equality comparisons - that use an IEqualityComparer, IEqualityComparer<T> - or a ComparisonAdapter. - - - - - Compares two objects, returning true if they are equal - - - - - Returns an EqualityAdapter that wraps an IComparer. - - - - - Returns an EqualityAdapter that wraps an IEqualityComparer. - - - - - Returns an EqualityAdapter that wraps an IEqualityComparer<T>. - - - - - Returns an EqualityAdapter that wraps an IComparer<T>. - - - - - Returns an EqualityAdapter that wraps a Comparison<T>. - - - - 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. - - - - - 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 - - - - 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 - - - - 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 - - - - - Method to write single line message with optional args, usually - written to precede the general failure message. - - The message to be written - Any arguments used in formatting the message - - - - Method to write single line message with optional args, usually - written to precede the general failure message, at a givel - indentation level. - - The indentation level of the message - The message to be written - Any arguments used in formatting the message - - - - Display Expected and Actual lines for a constraint. This - is called by MessageWriter's default implementation of - WriteMessageTo and provides the generic two-line display. - - The constraint that failed - - - - Display Expected and Actual lines for given values. This - method may be called by constraints that need more control over - the display of actual and expected values than is provided - by the default implementation. - - The expected value - The actual value causing the failure - - - - Display Expected and Actual lines for given values, including - a tolerance value on the Expected line. - - The expected value - The actual value causing the failure - The tolerance within which the test was made - - - - Display the expected and actual string values on separate lines. - If the mismatch parameter is >=0, an additional line is displayed - line containing a caret that points to the mismatch point. - - The expected string value - The actual string value - The point at which the strings don't match or -1 - If true, case is ignored in locating the point where the strings differ - If true, the strings should be clipped to fit the line - - - - Writes the text for a connector. - - The connector. - - - - Writes the text for a predicate. - - The predicate. - - - - Writes the text for an expected value. - - The expected value. - - - - Writes the text for a modifier - - The modifier. - - - - 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 - - - - Abstract method to get the max line length - - - - - Static methods used in creating messages - - - - - Static string used when strings are clipped - - - - - Returns the representation of a type as used in NUnitLite. - This is the same as Type.ToString() except for arrays, - which are displayed with their declared sizes. - - - - - - - Converts any control characters in a string - to their escaped representation. - - The string to be converted - The converted string - - - - Return the a string representation for a set of indices into an array - - Array of indices for which a string is needed - - - - Get an array of indices representing the point in a collection or - array corresponding to a single int index into the collection. - - The collection to which the indices apply - Index in the collection - Array of indices - - - - Clip a string to a given length, starting at a particular offset, returning the clipped - string with ellipses representing the removed parts - - The string to be clipped - The maximum permitted length of the result string - The point at which to start clipping - The clipped string - - - - Clip the expected and actual strings in a coordinated fashion, - so that they may be displayed together. - - - - - - - - - Shows the position two strings start to differ. Comparison - starts at the start index. - - The expected string - The actual string - The index in the strings at which comparison should start - Boolean indicating whether case should be ignored - -1 if no mismatch found, or the index where mismatch found - - - - 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. - - - - - Compares two objects - - - - - - - - Returns the default NUnitComparer. - - - - - 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 - - - - - If non-zero, equality comparisons within the specified - tolerance will succeed. - - - - - Comparison object used in comparisons for some constraints. - - - - - Compares two objects for equality. - - - - - Helper method to compare two arrays - - - - - Method to compare two DirectoryInfo objects - - first directory to compare - second directory to compare - true if equivalent, false if not - - - - 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 and sets an external comparer to be used to - test for equality. It is applied to members of - collections, in place of NUnit's own logic. - - - - - Gets and sets a tolerance used to compare objects of - certin types. - - - - - Gets the list of failure points for the last Match performed. - - - - - PathConstraint serves as the abstract base of constraints - that operate on paths and provides several helper methods. - - - - - The expected path used in the constraint - - - - - The actual path being tested - - - - - Flag indicating whether a caseInsensitive comparison should be made - - - - - Construct a PathConstraint for a give expected path - - The expected path - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - Returns true if the expected path and actual path match - - - - - Returns the string representation of this constraint - - - - - Canonicalize the provided path - - - The path in standardized form - - - - Test whether two paths are the same - - The first path - The second path - Indicates whether case should be ignored - - - - - Test whether one path is under another path - - The first path - supposed to be the parent path - The second path - supposed to be the child path - Indicates whether case should be ignored - - - - - Test whether one path is the same as or under another path - - The first path - supposed to be the parent path - The second path - supposed to be the child path - - - - - Modifies the current instance to be case-insensitve - and returns it. - - - - - Modifies the current instance to be case-sensitve - and returns it. - - - - - Summary description for SamePathConstraint. - - - - - Initializes a new instance of the class. - - The expected path - - - - Test whether the constraint is satisfied by a given value - - The expected path - The actual path - True for success, false for failure - - - - Write the constraint description to a MessageWriter - - The writer on which the description is displayed - - - - SubPathConstraint tests that the actual path is under the expected path - - - - - Initializes a new instance of the class. - - The expected path - - - - Test whether the constraint is satisfied by a given value - - The expected path - The actual path - True for success, false for failure - - - - Write the constraint description to a MessageWriter - - The writer on which the description is displayed - - - - SamePathOrUnderConstraint tests that one path is under another - - - - - Initializes a new instance of the class. - - The expected path - - - - Test whether the constraint is satisfied by a given value - - The expected path - The actual path - True for success, false for failure - - - - Write the constraint description to a MessageWriter - - The writer on which the description is displayed - - - - Predicate constraint wraps a Predicate in a constraint, - returning success if the predicate is true. - - - - - Construct a PredicateConstraint from a predicate - - - - - Determines whether the predicate succeeds when applied - to the actual value. - - - - - Writes the description to a MessageWriter - - - - - 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 - - - - Write the constraint description to a MessageWriter - - The writer on which the description is displayed - - - - Write the actual value for a failing constraint test to a MessageWriter. - - The writer on which the actual value is displayed - - - - AllItemsConstraint applies another constraint to each - item in a collection, succeeding if they all succeed. - - - - - Construct an AllItemsConstraint on top of an existing constraint - - - - - - Apply the item constraint to each item in the collection, - failing if any item fails. - - - - - - - Write a description of this constraint to a MessageWriter - - - - - - SomeItemsConstraint applies another constraint to each - item in a collection, succeeding if any of them succeeds. - - - - - Construct a SomeItemsConstraint on top of an existing constraint - - - - - - Apply the item constraint to each item in the collection, - succeeding if any item succeeds. - - - - - - - Write a description of this constraint to a MessageWriter - - - - - - NoItemConstraint applies another constraint to each - item in a collection, failing if any of them succeeds. - - - - - Construct a SomeItemsConstraint on top of an existing constraint - - - - - - Apply the item constraint to each item in the collection, - failing if any item fails. - - - - - - - Write a description of this constraint to a MessageWriter - - - - - - 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 vaue - of the property. The two constraints are now separate. - - - - - Initializes a new instance of the class. - - The name of the property. - - - - Test whether the property exists for a given object - - The object to be tested - True for success, false for failure - - - - Write the constraint description to a MessageWriter - - The writer on which the description is displayed - - - - Write the actual value for a failing constraint test to a - MessageWriter. - - The writer on which the actual value is displayed - - - - Returns the string representation of the constraint. - - - - - - PropertyConstraint extracts a named property and uses - its value as the actual value for a chained constraint. - - - - - Initializes a new instance of the class. - - The name. - The constraint to apply to the property. - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - Write the constraint description to a MessageWriter - - The writer on which the description is displayed - - - - 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 - - - - Returns the string representation of the constraint. - - - - - - RangeConstraint tests whethe two values are within a - specified range. - - - - - Initializes a new instance of the class. - - From. - To. - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - Write the constraint description to a MessageWriter - - The writer on which the description is displayed - - - - Modifies the constraint to use an IComparer and returns self. - - - - - Modifies the constraint to use an IComparer<T> and returns self. - - - - - Modifies the constraint to use a Comparison<T> and returns self. - - - - - 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. - - - - - Resolve the current expression to a Constraint - - - - - Appends an And Operator to the expression - - - - - Appends an Or operator to the expression. - - - - - ReusableConstraint wraps a resolved constraint so that it - may be saved and reused as needed. - - - - - Construct a ReusableConstraint - - The constraint or expression to be reused - - - - Conversion operator from a normal constraint to a ReusableConstraint. - - The original constraint to be wrapped as a ReusableConstraint - - - - - Returns the string representation of the constraint. - - A string representing the constraint - - - - Resolves the ReusableConstraint by returning the constraint - that it originally wrapped. - - A resolved constraint - - - - SameAsConstraint tests whether an object is identical to - the object passed to its constructor - - - - - Initializes a new instance of the class. - - The expected object. - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - Write the constraint description to a MessageWriter - - The writer on which the description is displayed - - - - BinarySerializableConstraint tests whether - an object is serializable in binary format. - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - Write the constraint description to a MessageWriter - - The writer on which the description is displayed - - - - 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 - - - - Returns the string representation - - - - - BinarySerializableConstraint tests whether - an object is serializable in binary format. - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - Write the constraint description to a MessageWriter - - The writer on which the description is displayed - - - - 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 - - - - Returns the string representation of this constraint - - - - - 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 - - - - - Constructs a StringConstraint given an expected value - - The expected value - - - - Modify the constraint to ignore case in matching. - - - - - EmptyStringConstraint tests whether a string is empty. - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - Write the constraint description to a MessageWriter - - The writer on which the description is displayed - - - - NullEmptyStringConstraint tests whether a string is either null or empty. - - - - - Constructs a new NullOrEmptyStringConstraint - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - Write the constraint description to a MessageWriter - - The writer on which the description is displayed - - - - SubstringConstraint can test whether a string contains - the expected substring. - - - - - Initializes a new instance of the class. - - The expected. - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - Write the constraint description to a MessageWriter - - The writer on which the description is displayed - - - - 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. - - - - - - - Write the constraint description to a MessageWriter - - The writer on which the description is displayed - - - - 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. - - - - - - - Write the constraint description to a MessageWriter - - The writer on which the description is displayed - - - - 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 - - - - Write the constraint description to a MessageWriter - - The writer on which the description is displayed - - - - 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. - - - - 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 constraint description to a MessageWriter - - The writer on which the description is displayed - - - - 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 - - - - Returns the string representation of this constraint - - - - - Get the actual exception thrown - used by Assert.Throws. - - - - - ThrowsNothingConstraint tests that a delegate does not - throw an exception. - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True if no exception is thrown, otherwise false - - - - Converts an ActualValueDelegate to a TestDelegate - before calling the primary overload. - - - - - - - Write the constraint description to a MessageWriter - - The writer on which the description is displayed - - - - 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 - - - - 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. - - - - - 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. - - - - - Constructs a linear tolerance of a specdified amount - - - - - Constructs a tolerance given an amount and ToleranceMode - - - - - Tests that the current Tolerance is linear with a - numeric value, throwing an exception if it is not. - - - - - Returns an empty Tolerance object, equivalent to - specifying an exact match. - - - - - Gets the ToleranceMode for the current Tolerance - - - - - Gets the value of the current Tolerance instance. - - - - - Returns a new tolerance, using the current amount as a percentage. - - - - - Returns a new tolerance, using the current amount in Ulps. - - - - - Returns a new tolerance with a TimeSpan as the amount, using - the current amount as a number of days. - - - - - Returns a new tolerance with a TimeSpan as the amount, using - the current amount as a number of hours. - - - - - Returns a new tolerance with a TimeSpan as the amount, using - the current amount as a number of minutes. - - - - - Returns a new tolerance with a TimeSpan as the amount, using - the current amount as a number of seconds. - - - - - Returns a new tolerance with a TimeSpan as the amount, using - the current amount as a number of milliseconds. - - - - - Returns a new tolerance with a TimeSpan as the amount, using - the current amount as a number of clock ticks. - - - - - Returns true if the current tolerance is empty. - - - - - TypeConstraint is the abstract base for constraints - that take a Type as their expected value. - - - - - The expected Type used by the constraint - - - - - Construct a TypeConstraint for a given Type - - - - - - Write the actual value for a failing constraint test to a - MessageWriter. TypeConstraints override this method to write - the name of the type. - - The writer on which the actual value is displayed - - - - ExactTypeConstraint is used to test that an object - is of the exact type provided in the constructor - - - - - Construct an ExactTypeConstraint for a given Type - - The expected Type. - - - - Test that an object is of the exact type specified - - The actual value. - True if the tested object is of the exact type provided, otherwise false. - - - - Write the description of this constraint to a MessageWriter - - The MessageWriter to use - - - - 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 - - - - Test whether an object is of the specified type or a derived type - - The object to be tested - True if the object is of the provided type or derives from it, otherwise false. - - - - Write a description of this constraint to a MessageWriter - - The MessageWriter to use - - - - AssignableFromConstraint is used to test that an object - can be assigned from a given Type. - - - - - Construct an AssignableFromConstraint for the type provided - - - - - - Test whether an object can be assigned from the specified type - - The object to be tested - True if the object can be assigned a value of the expected Type, otherwise false. - - - - Write a description of this constraint to a MessageWriter - - The MessageWriter to use - - - - AssignableToConstraint is used to test that an object - can be assigned to a given Type. - - - - - Construct an AssignableToConstraint for the type provided - - - - - - Test whether an object can be assigned to the specified type - - The object to be tested - True if the object can be assigned a value of the expected Type, otherwise false. - - - - Write a description of this constraint to a MessageWriter - - The MessageWriter to use - - - - 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 - - - - - Thrown when an assertion failed. - - - - - - - The error message that explains - the reason for the exception - The exception that caused the - current exception - - - - Serialization Constructor - - - - - 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 - - - - - Thrown when an assertion failed. - - - - - - - The error message that explains - the reason for the exception - The exception that caused the - current exception - - - - Serialization Constructor - - - - - Delegate used by tests that execute code and - capture any thrown exception. - - - - - The Assert class contains a collection of static methods that - implement the most common assertions used in NUnit. - - - - - We don't actually want any instances of this object, but some people - like to inherit from it to add other static methods. Hence, the - protected constructor disallows any instances of this object. - - - - - The Equals method throws an AssertionException. This is done - to make sure there is no mistake by calling this function. - - - - - - - override the default ReferenceEquals to throw an AssertionException. This - implementation makes sure there is no mistake in calling this function - as part of Assert. - - - - - - - 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 - - - - Throws a with the message and arguments - that are passed in. This allows a test to be cut short, with a result - of success returned to NUnit. - - The message to initialize the with. - Arguments to be used in formatting the message - - - - Throws a with the message and arguments - that are passed in. This allows a test to be cut short, with a result - of success returned to NUnit. - - The message to initialize the with. - - - - Throws a with the message and arguments - that are passed in. This allows a test to be cut short, with a result - of success returned to NUnit. - - - - - Throws an with the message and arguments - that are passed in. This is used by the other Assert functions. - - The message to initialize the with. - Arguments to be used in formatting the message - - - - Throws an with the message that is - passed in. This is used by the other Assert functions. - - The message to initialize the with. - - - - Throws an . - This is used by the other Assert functions. - - - - - Throws an with the message and arguments - that are passed in. This causes the test to be reported as ignored. - - The message to initialize the with. - Arguments to be used in formatting the message - - - - Throws an with the message that is - passed in. This causes the test to be reported as ignored. - - The message to initialize the with. - - - - Throws an . - This causes the test to be reported as ignored. - - - - - Throws an with the message and arguments - that are passed in. This causes the test to be reported as inconclusive. - - The message to initialize the with. - Arguments to be used in formatting the message - - - - Throws an with the message that is - passed in. This causes the test to be reported as inconclusive. - - The message to initialize the with. - - - - Throws an . - This causes the test to be reported as Inconclusive. - - - - - 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 to be applied - The actual value to test - The message that will be displayed on failure - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and throwing an assertion exception on failure. - - A Constraint expression to be applied - The actual value to test - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and throwing an assertion exception on failure. - - 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. - - A Constraint expression to be applied - An ActualValueDelegate returning the value to be tested - The message that will be displayed on failure - - - - 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 - - - - Apply a constraint to a referenced 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 a referenced value, succeeding if the constraint - is satisfied and throwing an assertion exception on failure. - - A Constraint to be applied - The actual value to test - The message that will be displayed on failure - - - - Apply a constraint to a referenced value, succeeding if the constraint - is satisfied and throwing an assertion exception on failure. - - A Constraint to be applied - The actual value to test - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Asserts that 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 - The message to display if the condition is false - - - - 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 - - - - 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 - The message that will be displayed on failure - - - - 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 TestSnippet delegate - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Verifies that a delegate throws a particular exception when called. - - The exception Type expected - A TestSnippet delegate - The message that will be displayed on failure - - - - Verifies that a delegate throws a particular exception when called. - - The exception Type expected - A TestSnippet delegate - - - - Verifies that a delegate throws a particular exception when called. - - Type of the expected 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. - - Type of the expected exception - A TestSnippet delegate - The message that will be displayed on failure - - - - Verifies that a delegate throws a particular exception when called. - - Type of the expected exception - A TestSnippet delegate - - - - 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 - The message that will be displayed on failure - - - - 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 - The message that will be displayed on failure - - - - 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. - - 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 - The message that will be displayed on failure - - - - 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 does not throw an exception - - A TestSnippet delegate - 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 TestSnippet delegate - The message that will be displayed on failure - - - - Verifies that a delegate does not throw an exception. - - A TestSnippet delegate - - - - 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 - - - - 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 - - - - 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 - - - - 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 - - - - 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 - The message to display in case of failure - - - - 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 - The message to display in case of failure - - - - 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 - The message to display in case of failure - - - - 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 - The message to display in case of failure - - - - 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 - The message to display in case of failure - - - - 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 - The message to display in case of failure - - - - 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 - The message to display in case of failure - - - - 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 - The message to display in case of failure - - - - 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 - The message to display in case of failure - - - - 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 - The message to display in case of failure - - - - Assert that an array, list or other collection is not empty - - An array, list or other collection implementing ICollection - - - - Assert that a string is either null or 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 either null or equal to string.Empty - - The string to be tested - The message to display in case of failure - - - - Assert that a string is either null or equal to string.Empty - - The string to be tested - - - - Assert that a string is not null or 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 null or empty - - The string to be tested - The message to display in case of failure - - - - Assert that a string is not null or empty - - The string to be tested - - - - 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 - The message to display in case of failure - - - - 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 - The message to display in case of failure - - - - 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 - The message to display in case of failure - - - - 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 - The message to display in case of failure - - - - 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 - The message to display in case of failure - - - - 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 - The message to display in case of failure - - - - 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 - The message to display in case of failure - - - - 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 - The message to display in case of failure - - - - 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 - The message to display in case of failure - - - - 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 - The message to display in case of failure - - - - Asserts that an object is not an instance of a given type. - - The expected Type - The object being examined - - - - Verifies that two values are equal. If they are not, then an - is thrown. - - The expected value - The actual value - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that two values are equal. If they are not, then an - is thrown. - - The expected value - The actual value - The message to display in case of failure - - - - Verifies that two values are equal. If they are not, then an - is thrown. - - The expected value - The actual value - - - - Verifies that two values are equal. If they are not, then an - is thrown. - - The expected value - The actual value - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that two values are equal. If they are not, then an - is thrown. - - The expected value - The actual value - The message to display in case of failure - - - - Verifies that two values are equal. If they are not, then an - is thrown. - - The expected value - The actual value - - - - Verifies that two values are equal. If they are not, then an - is thrown. - - The expected value - The actual value - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that two values are equal. If they are not, then an - is thrown. - - The expected value - The actual value - The message to display in case of failure - - - - Verifies that two values are equal. If they are not, then an - is thrown. - - The expected value - The actual value - - - - Verifies that two values are equal. If they are not, then an - is thrown. - - The expected value - The actual value - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that two values are equal. If they are not, then an - is thrown. - - The expected value - The actual value - The message to display in case of failure - - - - Verifies that two values are equal. If they are not, then an - is thrown. - - The expected value - The actual value - - - - Verifies that two values are equal. If they are not, then an - is thrown. - - The expected value - The actual value - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that two values are equal. If they are not, then an - is thrown. - - The expected value - The actual value - The message to display in case of failure - - - - Verifies that two values are equal. If they are not, then an - is thrown. - - The expected value - The actual value - - - - 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 - The message to display in case of failure - - - - 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 - The message to display in case of failure - - - - 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 - The message to display in case of failure - - - - 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 values are not equal. If they are equal, then an - is thrown. - - The expected value - The actual value - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that two values are not equal. If they are equal, then an - is thrown. - - The expected value - The actual value - The message to display in case of failure - - - - Verifies that two values are not equal. If they are equal, then an - is thrown. - - The expected value - The actual value - - - - Verifies that two values are not equal. If they are equal, then an - is thrown. - - The expected value - The actual value - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that two values are not equal. If they are equal, then an - is thrown. - - The expected value - The actual value - The message to display in case of failure - - - - Verifies that two values are not equal. If they are equal, then an - is thrown. - - The expected value - The actual value - - - - Verifies that two values are not equal. If they are equal, then an - is thrown. - - The expected value - The actual value - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that two values are not equal. If they are equal, then an - is thrown. - - The expected value - The actual value - The message to display in case of failure - - - - Verifies that two values are not equal. If they are equal, then an - is thrown. - - The expected value - The actual value - - - - Verifies that two values are not equal. If they are equal, then an - is thrown. - - The expected value - The actual value - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that two values are not equal. If they are equal, then an - is thrown. - - The expected value - The actual value - The message to display in case of failure - - - - Verifies that two values are not equal. If they are equal, then an - is thrown. - - The expected value - The actual value - - - - Verifies that two values are not equal. If they are equal, then an - is thrown. - - The expected value - The actual value - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that two values are not equal. If they are equal, then an - is thrown. - - The expected value - The actual value - The message to display in case of failure - - - - Verifies that two values are not equal. If they are equal, then an - is thrown. - - The expected value - The actual value - - - - Verifies that two values are not equal. If they are equal, then an - is thrown. - - The expected value - The actual value - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that two values are not equal. If they are equal, then an - is thrown. - - The expected value - The actual value - The message to display in case of failure - - - - Verifies that two values are not equal. If they are equal, then an - is thrown. - - The expected value - The actual value - - - - Verifies that two values are not equal. If they are equal, then an - is thrown. - - The expected value - The actual value - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that two values are not equal. If they are equal, then an - is thrown. - - The expected value - The actual value - The message to display in case of failure - - - - Verifies that two values are not equal. If they are equal, then an - is thrown. - - The expected value - 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 - The message to display in case of failure - - - - 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 - The message to display in case of failure - - - - 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 - The message to display in case of failure - - - - 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 - - - - 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 - The message to display in case of failure - - - - 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 - The message to display in case of failure - - - - 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 - The message to display in case of failure - - - - 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 - The message to display in case of failure - - - - 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 - The message to display in case of failure - - - - 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 - The message to display in case of failure - - - - 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 - The message to display in case of failure - - - - 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 - The message to display in case of failure - - - - 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 - The message to display in case of failure - - - - 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 - The message to display in case of failure - - - - 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 - The message to display in case of failure - - - - 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 - The message to display in case of failure - - - - 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 - The message to display in case of failure - - - - 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 - The message to display in case of failure - - - - 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 - The message to display in case of failure - - - - 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 - The message to display in case of failure - - - - 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 tothe 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 tothe 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 - - - - Verifies that the first value is greater than or equal tothe 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 tothe 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 tothe 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 - - - - Verifies that the first value is greater than or equal tothe 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 tothe 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 tothe 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 - - - - Verifies that the first value is greater than or equal tothe 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 tothe 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 tothe 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 - - - - Verifies that the first value is greater than or equal tothe 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 tothe 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 tothe 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 - - - - Verifies that the first value is greater than or equal tothe 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 tothe 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 tothe 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 - - - - Verifies that the first value is greater than or equal tothe 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 tothe 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 tothe 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 - - - - Verifies that the first value is greater than or equal tothe 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 tothe 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 tothe 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 - - - - Verifies that the first value is greater than or equal tothe 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 - The message to display in case of failure - - - - 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 - The message to display in case of failure - - - - 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 - The message to display in case of failure - - - - 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 - The message to display in case of failure - - - - 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 - The message to display in case of failure - - - - 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 - The message to display in case of failure - - - - 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 - The message to display in case of failure - - - - 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 - The message to display in case of failure - - - - 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 an object is contained in a list. - - The expected object - The list to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an object is contained in a list. - - The expected object - The list to be examined - The message to display in case of failure - - - - Asserts that an object is contained in a list. - - The expected object - The list to be examined - - - - Gets the number of assertions executed so far and - resets the counter to zero. - - - - - AssertionHelper is an optional base class for user tests, - allowing the use of shorter names for constraints and - asserts and avoiding conflict with the definition of - , from which it inherits much of its - behavior, in certain mock object frameworks. - - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and throwing an assertion exception on failure. Works - identically to - - 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. Works - identically to - - A Constraint to be applied - The actual value to test - The message that will be displayed on failure - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and throwing an assertion exception on failure. Works - identically to - - A Constraint to be applied - The actual value to test - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and throwing an assertion exception on failure. - - 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. - - A Constraint expression to be applied - An ActualValueDelegate returning the value to be tested - The message that will be displayed on failure - - - - 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 - - - - Apply a constraint to a referenced 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 a referenced value, succeeding if the constraint - is satisfied and throwing an assertion exception on failure. - - A Constraint to be applied - The actual value to test - The message that will be displayed on failure - - - - Apply a constraint to a referenced value, succeeding if the constraint - is satisfied and throwing an assertion exception on failure. - - A Constraint to be applied - The actual value to test - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Asserts that 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 - The message to display if the condition is false - - - - Asserts that a condition is true. If the condition is false the method throws - an . Works Identically to . - - 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 - - - - Returns a ListMapper based on a collection. - - The original collection - - - - - Provides static methods to express the assumptions - that must be met for a test to give a meaningful - result. If an assumption is not met, the test - should produce an inconclusive result. - - - - - The Equals method throws an AssertionException. This is done - to make sure there is no mistake by calling this function. - - - - - - - override the default ReferenceEquals to throw an AssertionException. This - implementation makes sure there is no mistake in calling this function - as part of Assert. - - - - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and throwing an InconclusiveException on failure. - - A Constraint expression to be applied - The actual value to test - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and throwing an InconclusiveException on failure. - - A Constraint expression to be applied - The actual value to test - The message that will be displayed on failure - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and throwing an InconclusiveException on failure. - - A Constraint expression to be applied - The actual value to test - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and throwing an InconclusiveException on failure. - - A Constraint expression to be applied - An ActualValueDelegate returning the value to be tested - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and throwing an InconclusiveException on failure. - - A Constraint expression to be applied - An ActualValueDelegate returning the value to be tested - The message that will be displayed on failure - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and throwing an InconclusiveException on failure. - - An ActualValueDelegate returning the value to be tested - A Constraint expression to be applied - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Apply a constraint to a referenced value, succeeding if the constraint - is satisfied and throwing an InconclusiveException on failure. - - A Constraint expression to be applied - The actual value to test - - - - Apply a constraint to a referenced value, succeeding if the constraint - is satisfied and throwing an InconclusiveException on failure. - - A Constraint expression to be applied - The actual value to test - The message that will be displayed on failure - - - - Apply a constraint to a referenced value, succeeding if the constraint - is satisfied and throwing an InconclusiveException on failure. - - A Constraint expression to be applied - The actual value to test - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - 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 - The message to display if the condition is false - - - - 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 - - - - A set of Assert methods operationg on one or more collections - - - - - The Equals method throws an AssertionException. This is done - to make sure there is no mistake by calling this function. - - - - - - - override the default ReferenceEquals to throw an AssertionException. This - implementation makes sure there is no mistake in calling this function - as part of Assert. - - - - - - - Asserts that all items contained in collection are of the type specified by expectedType. - - IEnumerable containing objects to be considered - System.Type that all objects in collection must be instances of - - - - Asserts that all items contained in collection are of the type specified by expectedType. - - IEnumerable containing objects to be considered - System.Type that all objects in collection must be instances of - The message that will be displayed on failure - - - - 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 containing objects to be considered - The message that will be displayed on failure - - - - 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 - - - - 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 - - - - 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 - - - - 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 - - - - 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 - - - - 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 - - - - 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 - - - - 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 - - - - 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 - - - - 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 superset is not a subject of subset. - - The IEnumerable superset to be considered - The IEnumerable subset to be considered - - - - Asserts that superset is not a subject of subset. - - The IEnumerable superset to be considered - The IEnumerable subset to be considered - The message that will be displayed on failure - - - - Asserts that superset is not a subject of subset. - - 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 superset is a subset of subset. - - The IEnumerable superset to be considered - The IEnumerable subset to be considered - - - - Asserts that superset is a subset of subset. - - The IEnumerable superset to be considered - The IEnumerable subset to be considered - The message that will be displayed on failure - - - - Asserts that superset is a subset of subset. - - 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 - The message to be displayed on failure - - - - 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 - The message to be displayed on failure - - - - 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 - The message to be displayed on failure - - - - 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 - The message to be displayed on failure - - - - 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 - - - - Static helper class used in the constraint-based syntax - - - - - Creates a new SubstringConstraint - - The value of the substring - A SubstringConstraint - - - - Creates a new CollectionContainsConstraint. - - The item that should be found. - A new CollectionContainsConstraint - - - - Summary description for DirectoryAssert - - - - - The Equals method throws an AssertionException. This is done - to make sure there is no mistake by calling this function. - - - - - - - override the default ReferenceEquals to throw an AssertionException. This - implementation makes sure there is no mistake in calling this function - as part of Assert. - - - - - - - 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. - - - - - Verifies that two directories are equal. Two directories 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 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 - - - - Verifies that two directories are equal. Two directories 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 directory containing the value that is expected - A directory containing the actual value - The message to display if directories are not equal - - - - Verifies that two directories are equal. Two directories 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 directory containing the value that is expected - A directory containing the actual value - - - - Verifies that two directories are equal. Two directories 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 directory path string containing the value that is expected - A directory path string containing the actual value - The message to display if 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 have the same value byte for byte. - If they are not equal an is thrown. - - A directory path string containing the value that is expected - A directory path string containing the actual value - The message to display if directories are not equal - - - - Verifies that two directories are equal. Two directories 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 directory path string containing the value that is expected - A directory path string 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 - The message to display if directories are not equal - - - - 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 two directories are not equal. If they are equal - an is thrown. - - A directory path string containing the value that is expected - A directory path string containing the actual value - The message to display if directories are 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 path string containing the value that is expected - A directory path string containing the actual value - The message to display if directories are equal - - - - Asserts that two directories are not equal. If they are equal - an is thrown. - - A directory path string containing the value that is expected - A directory path string containing the actual value - - - - Asserts that the directory is empty. If it is not empty - an is thrown. - - A directory to search - The message to display if directories are not equal - Arguments to be used in formatting the message - - - - Asserts that the directory is empty. If it is not empty - an is thrown. - - A directory to search - The message to display if directories are not equal - - - - Asserts that the directory is empty. If it is not empty - an is thrown. - - A directory to search - - - - Asserts that the directory is empty. If it is not empty - an is thrown. - - A directory to search - The message to display if directories are not equal - Arguments to be used in formatting the message - - - - Asserts that the directory is empty. If it is not empty - an is thrown. - - A directory to search - The message to display if directories are not equal - - - - Asserts that the directory is empty. If it is not empty - an is thrown. - - A directory to search - - - - Asserts that the directory is not empty. If it is empty - an is thrown. - - A directory to search - The message to display if directories are not equal - Arguments to be used in formatting the message - - - - Asserts that the directory is not empty. If it is empty - an is thrown. - - A directory to search - The message to display if directories are not equal - - - - Asserts that the directory is not empty. If it is empty - an is thrown. - - A directory to search - - - - Asserts that the directory is not empty. If it is empty - an is thrown. - - A directory to search - The message to display if directories are not equal - Arguments to be used in formatting the message - - - - Asserts that the directory is not empty. If it is empty - an is thrown. - - A directory to search - The message to display if directories are not equal - - - - Asserts that the directory is not empty. If it is empty - an is thrown. - - A directory to search - - - - Asserts that path contains actual as a subdirectory or - an is thrown. - - A directory to search - sub-directory asserted to exist under directory - The message to display if directory is not within the path - Arguments to be used in formatting the message - - - - Asserts that path contains actual as a subdirectory or - an is thrown. - - A directory to search - sub-directory asserted to exist under directory - The message to display if directory is not within the path - - - - Asserts that path contains actual as a subdirectory or - an is thrown. - - A directory to search - sub-directory asserted to exist under directory - - - - Asserts that path contains actual as a subdirectory or - an is thrown. - - A directory to search - sub-directory asserted to exist under directory - The message to display if directory is not within the path - Arguments to be used in formatting the message - - - - Asserts that path contains actual as a subdirectory or - an is thrown. - - A directory to search - sub-directory asserted to exist under directory - The message to display if directory is not within the path - - - - Asserts that path contains actual as a subdirectory or - an is thrown. - - A directory to search - sub-directory asserted to exist under directory - - - - Asserts that path does not contain actual as a subdirectory or - an is thrown. - - A directory to search - sub-directory asserted to exist under directory - The message to display if directory is not within the path - Arguments to be used in formatting the message - - - - Asserts that path does not contain actual as a subdirectory or - an is thrown. - - A directory to search - sub-directory asserted to exist under directory - The message to display if directory is not within the path - - - - Asserts that path does not contain actual as a subdirectory or - an is thrown. - - A directory to search - sub-directory asserted to exist under directory - - - - Asserts that path does not contain actual as a subdirectory or - an is thrown. - - A directory to search - sub-directory asserted to exist under directory - The message to display if directory is not within the path - Arguments to be used in formatting the message - - - - Asserts that path does not contain actual as a subdirectory or - an is thrown. - - A directory to search - sub-directory asserted to exist under directory - The message to display if directory is not within the path - - - - Asserts that path does not contain actual as a subdirectory or - an is thrown. - - A directory to search - sub-directory asserted to exist under directory - - - - Summary description for FileAssert. - - - - - The Equals method throws an AssertionException. This is done - to make sure there is no mistake by calling this function. - - - - - - - override the default ReferenceEquals to throw an AssertionException. This - implementation makes sure there is no mistake in calling this function - as part of Assert. - - - - - - - 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. - - - - - 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 - The message to display if objects are not equal - - - - 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 - The message to display if objects are not equal - - - - 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 - The message to display if objects are not equal - - - - 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 - The message to be displayed when the Streams are the same. - - - - 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 - The message to display if objects are not equal - - - - 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 - The message to display if objects are not equal - - - - 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 - - - - GlobalSettings is a place for setting default values used - by the framework in performing asserts. - - - - - Default tolerance for floating point equality - - - - - Helper class with properties and methods that supply - a number of constraints used in Asserts. - - - - - 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 AttributeConstraint checking for the - presence of a particular attribute on an object. - - - - - Returns a new AttributeConstraint checking for the - presence of a particular attribute on an object. - - - - - Returns a new CollectionContainsConstraint checking for the - presence of a particular object in the collection. - - - - - 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 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. - - - - - Interface implemented by a user fixture in order to - validate any expected exceptions. It is only called - for test methods marked with the ExpectedException - attribute. - - - - - Method to handle an expected exception - - The exception to be handled - - - - Helper class with properties and methods that supply - a number of constraints used in Asserts. - - - - - 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 suppled argument - - - - - Returns a constraint that tests whether the - actual value is greater than or equal to the suppled argument - - - - - Returns a constraint that tests whether the - actual value is greater than or equal to the suppled argument - - - - - Returns a constraint that tests whether the - actual value is less than the suppled argument - - - - - Returns a constraint that tests whether the - actual value is less than or equal to the suppled argument - - - - - Returns a constraint that tests whether the - actual value is less than or equal to the suppled 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 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 succeeds if the actual - value contains the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value starts with the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value ends with the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value matches the Regex 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 the same path or under an expected path after canonicalization. - - - - - Returns a constraint that tests whether the path provided - is the same path or under an expected path after canonicalization. - - - - - Returns a constraint that tests whether the actual value falls - within a specified range. - - - - - Returns a 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 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 whether a collection is ordered - - - - - 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 - - - - - Randomizer returns a set of random values in a repeatable - way, to allow re-running of tests if necessary. - - - - - 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. - - - - - Construct a randomizer using a random seed - - - - - Construct a randomizer using a specified seed - - - - - Return an array of random doubles between 0.0 and 1.0. - - - - - - - Return an array of random doubles with values in a specified range. - - - - - Return an array of random ints with values in a specified range. - - - - - Get a random seed for use in creating a randomizer. - - - - - The SpecialValue enum is used to represent TestCase arguments - that cannot be used as arguments to an Attribute. - - - - - Null represents a null value, which cannot be used as an - argument to an attriute under .NET 1.x - - - - - Basic Asserts on strings. - - - - - The Equals method throws an AssertionException. This is done - to make sure there is no mistake by calling this function. - - - - - - - override the default ReferenceEquals to throw an AssertionException. This - implementation makes sure there is no mistake in calling this function - as part of Assert. - - - - - - - Asserts that a string is found within another string. - - The expected string - The string to be examined - The message to display in case of failure - Arguments used in formatting the message - - - - Asserts that a string is found within another string. - - The expected string - The string to be examined - The message to display in case of failure - - - - 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 - The message to display in case of failure - - - - 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 - The message to display in case of failure - - - - 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 - The message to display in case of failure - - - - 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 - The message to display in case of failure - - - - 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 - The message to display in case of failure - - - - 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 - The message to display in case of failure - - - - 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 Notequal, without regard to case. - - The expected string - The actual string - The message to display in case of failure - - - - 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 - The message to display in case of failure - - - - 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 message to display in case of failure - - - - 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 provides a number of instance modifiers - for use in initializing the test case. - - Note: Instance modifiers are getters that return - the same instance after modifying it's state. - - - - - The argument list to be provided to the test - - - - - The expected result to be returned - - - - - The expected exception Type - - - - - The FullName of the expected exception - - - - - The name to be used for the test - - - - - The description of the test - - - - - A dictionary of properties, used to add information - to tests without requiring the class to change. - - - - - If true, indicates that the test case is to be ignored - - - - - The reason for ignoring a 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 expected exception type for the test - - Type of the expected exception. - The modified TestCaseData instance - - - - Sets the expected exception type for the test - - FullName of the expected exception. - The modified TestCaseData instance - - - - 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 - - - - - - - - Ignores this TestCase. - - - - - - Ignores this TestCase, specifying the reason. - - The reason. - - - - - Gets the argument list to be provided to the test - - - - - Gets the expected result - - - - - Gets the expected exception Type - - - - - Gets the FullName of the expected exception - - - - - Gets the name to be used for the test - - - - - Gets the description of the test - - - - - Gets a value indicating whether this is ignored. - - true if ignored; otherwise, false. - - - - Gets the ignore reason. - - The ignore reason. - - - - Gets a list of categories associated with this test. - - - - - Gets the property dictionary for this test - - - - - Provide the context information of the current test - - - - - Constructs a TestContext using the provided context dictionary - - A context dictionary - - - - 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 TestAdapter representing the currently executing test in this context. - - - - - Gets a ResultAdapter representing the current result for the test - executing in this context. - - - - - Gets the current directory for this TestContext - - - - - TestAdapter adapts a Test for consumption by - the user test code. - - - - - Constructs a TestAdapter for this context - - The context dictionary - - - - The name of the test. - - - - - The FullName of the test - - - - - The properties of the test. - - - - - ResultAdapter adapts a TestResult for consumption by - the user test code. - - - - - Construct a ResultAdapter for a context - - The context holding the result - - - - The TestState of current test. This maps to the ResultState - used in nunit.core and is subject to change in the future. - - - - - The TestStatus of current test. This enum will be used - in future versions of NUnit and so is to be preferred - to the TestState value. - - - - - The ResultState enum indicates the result of running a test - - - - - The result is inconclusive - - - - - The test was not runnable. - - - - - The test has been skipped. - - - - - The test has been ignored. - - - - - The test succeeded - - - - - The test failed - - - - - The test encountered an unexpected exception - - - - - The test was cancelled by the user - - - - - The TestStatus enum indicates the result of running a test - - - - - The test was inconclusive - - - - - The test has skipped - - - - - The test succeeded - - - - - The test failed - - - - - Helper class with static methods used to supply constraints - that operate on strings. - - - - - 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 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 fails if the actual - value ends with the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value matches the Regex pattern supplied as an argument. - - - - - Returns a constraint that fails if the actual - value matches the pattern supplied as an argument. - - - - - Returns a ConstraintExpression, which will apply - the following constraint to all members of a collection, - succeeding if all of them succeed. - - - - - 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. - - - - - - - Method to write single line message with optional args, usually - written to precede the general failure message, at a givel - indentation level. - - The indentation level of the message - The message to be written - Any arguments used in formatting the message - - - - Display Expected and Actual lines for a constraint. This - is called by MessageWriter's default implementation of - WriteMessageTo and provides the generic two-line display. - - The constraint that failed - - - - Display Expected and Actual lines for given values. This - method may be called by constraints that need more control over - the display of actual and expected values than is provided - by the default implementation. - - The expected value - The actual value causing the failure - - - - Display Expected and Actual lines for given values, including - a tolerance value on the expected line. - - The expected value - The actual value causing the failure - The tolerance within which the test was made - - - - Display the expected and actual string values on separate lines. - If the mismatch parameter is >=0, an additional line is displayed - line containing a caret that points to the mismatch point. - - The expected string value - The actual string value - The point at which the strings don't match or -1 - If true, case is ignored in string comparisons - If true, clip the strings to fit the max line length - - - - Writes the text for a connector. - - The connector. - - - - Writes the text for a predicate. - - The predicate. - - - - Write the text for a modifier. - - The modifier. - - - - Writes the text for an expected value. - - The expected value. - - - - 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 constraint for which the actual value is to be written - - - - Write the generic 'Actual' line for a given value - - The actual value causing a failure - - - - Gets or sets the maximum line length for this writer - - - - - Helper class with properties and methods that supply - constraints that operate on exceptions. - - - - - 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 - - - - - 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 TargetInvocationException - - - - - Creates a constraint specifying an expected TargetInvocationException - - - - - Creates a constraint specifying that no exception is thrown - - - - diff --git a/src/packages/NUnit.2.5.9.10348/lib/nunit.mocks.dll b/src/packages/NUnit.2.5.9.10348/lib/nunit.mocks.dll deleted file mode 100644 index 97b88e7ac3e1c1c70f6536e3fb5307eb28772e0f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20480 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 TGk}8T--=%6!oJx4?=tW|sOZ$# diff --git a/src/packages/NUnit.2.5.9.10348/license.txt b/src/packages/NUnit.2.5.9.10348/license.txt deleted file mode 100644 index 66a5ebf..0000000 --- a/src/packages/NUnit.2.5.9.10348/license.txt +++ /dev/null @@ -1,15 +0,0 @@ -Copyright © 2002-2008 Charlie Poole -Copyright © 2002-2004 James W. Newkirk, Michael C. Two, Alexei A. Vorontsov -Copyright © 2000-2002 Philip A. Craig - -This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. - -Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment (see the following) in the product documentation is required. - -Portions Copyright © 2002-2008 Charlie Poole or Copyright © 2002-2004 James W. Newkirk, Michael C. Two, Alexei A. Vorontsov or Copyright © 2000-2002 Philip A. Craig - -2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. - -3. This notice may not be removed or altered from any source distribution. diff --git a/src/packages/NUnit.3.13.2/.signature.p7s b/src/packages/NUnit.3.13.2/.signature.p7s new file mode 100644 index 0000000000000000000000000000000000000000..56c2cbd874c1a29c12a978abb020ae57d9cfbe54 GIT binary patch literal 9476 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 (block element) instead of `` (inline element) +* 3485 Should we make MultipleAssertException.TestResult maybe-null or obsolete two constructors? +* 3496 Adding data dictionary should not add a trailing newline +* 3497 Fix mixed line endings in Git +* 3503 Remove implicit cast from ITestResult to TestResult +* 3505 Better failure messages for Subset and Superset constraints +* 3506 ValueTuple tests now running if not targeting NET35 +* 3536 Reduce newly added API surface +* 3542 Update NuGet Package Icons +* 3547 DelayedConstraint constrains does not preserve original result additional information +* 3551 Add PrivateAssets="all" to analyzer dependency +* 3552 MessagePumpStrategy does not work for WPF on netcoreapp3.0 and upwards +* 3559 Disables the DOC100 suggestion and reverts the added paragraph elements +* 3563 `[Suggestion]` Improve TextMessageWriter output for numeric values +* 3565 .NET 5 issue with PlatformAttribute +* 3583 Avoid using a culture-sensitive EndsWith in common code +* 3592 Add classname and methodname to the start-test event +* 3594 Reduce memory overhead of TestNameGenerator +* 3596 AreAlmostEqualUlps throws OverflowException for -0 +* 3598 Fix typo +* 3608 `[Platform]` attribute fails with DllNotFoundException in WASM +* 3616 Extend Is.Empty to work for Guid.Empty +* 3618 NUnit has a P/Invoke whose native function doesn't exist on all platforms +* 3622 EmptyDirectoryConstraint doesn't need to enumerate entire directory contents +* 3632 Assert.Inconclusive() reports failed when timeout used +* 3636 NUnitLite filtering fails if space in test name before ( +* 3641 Type implementing `IComparable` (or any `IComparable`) fails comparison. +* 3647 Fix exception under blazor 5 +* 3650 Build issue with the latest .NET SDK 5.0.100-rc.2 +* 3657 Add Framework Version to the XML +* 3662 TestContext.CurrentContext.CurrentRepeatCount only contains retry count not the repeat count +* 3667 Create FrameworkPackageSetting to set CurrentCulture and CurrentUICulture +* 3676 Parallelizeable tests sometimes shares memory +* 3679 Issue 3390: Do not prefilter relevant SetUpFixtures +* 3694 Async tests causes double failure messages +* 3699 Compilation of netcoreapp3.1 targets fails on CI (both AppVeyor and Azure Pipelines) + +### NUnit 3.12 - May 14, 2019 + +This release of NUnit finally drops support for .NET 2.0. If your application still +targets .NET 2.0, your tests will need to target at least .NET 3.5. Microsoft ended +support for .NET 2.0 on July 12, 2011. Microsoft recommends that everyone migrate +to at least .NET Framework 3.5 SP1 for security and performance fixes. + +This release dramatically improves NUnit support for async tests including returning +ValueTask and custom tasks from tests, improved handling of SynchronizationContexts +and better exception handling. + +The .NET Standard 2.0 version of NUnit continues to gain more functionality that +is found in the .NET 4.5 version of the framework like setting the ApartmentState +and enabling Timeout on tests. + +### Issues Resolved + + * 474 TypeHelperTests.cs is orphaned + * 999 Support multiple TestOf attributes per test + * 1638 TimeoutAttribute not available when targeting netcoreapp framework + * 2168 ThrowsAsync reports OperationCanceledException as TaskCanceledException + * 2194 How to use `Contains.Substring` with `And` + * 2286 Add support for custom Task (i.e. ValueTask) + * 2579 AppVeyor Test Failures under .NET 3.5 + * 2614 TestExecutionContext.CurrentContext is saved in Remoting CallContext between test runs + * 2696 Getting WorkerId fails in debug + * 2772 Random failing of parallel test run: Unhandled Exception: System.InvalidOperationException: Stack empty. + * 2975 ComparisonConstraints are allocating string on construction + * 3014 Timeout failures on MacOS + * 3023 NUnit runner fails when test method returns ValueTask<> + * 3035 Apartment state can't be used for .NET Standard 2.0 tests + * 3036 Apartment state can't be used for .NET Standard 2.0 tests + * 3038 TestName in TestCase attribute not validated to be not empty + * 3042 RequiresThreadAttribute allows ApartmentState.Unknown, unlike ApartmentAttribute + * 3048 Add .idea folder to .gitignore + * 3053 Conversion from TestCase string parameter to DateTimeOffset + * 3059 Constraint Throws.Exception does not work with async return value + * 3068 First Chance Exception in RuntimeFramework + * 3070 End support for .NET Framework 2.0 (released in 2005) + * 3073 CollectionAssert.AreEquivalent fails for ValueTuple Wrapped Dictionary + * 3079 Regression from 3.10 to 3.11: Range in bytes + * 3082 Is.Ordered.By + * 3085 XML Test-Suite Assembly does not contain DLL path anymore + * 3089 Remove outdated comment + * 3093 Tests having TaskLike objects as their return type throws Exception + * 3094 Bad error message if collections have different types + * 3104 Removed NET20 compile output + * 3105 Add tests for use of ApartmentState.Unknown in RequiresThreadAttribute + * 3107 Declare class in Program.cs provided with NUnitLite Nuget package static + * 3109 Azure DevOps build fails in Save package artifacts + * 3124 Switch copyright notice + * 3128 Correct documentation on ParallelScope + * 3137 Fix doc-comments in NUnitTestAssemblyRunner + * 3138 Assert.Ignore breaks when a Task is returned w/o using async/await + * 3139 Add Azure pipelines badge to frontpage + * 3144 Retry attribute should not derive from PropertyAttribute + * 3145 Capture additional exception details in the test output + * 3156 UnexpectedExceptionTests should tolerate Mono on Azure DevOps Ubuntu + * 3159 Make tests more tolerant + * 3161 https url repo + * 3166 Allow static SetUpFixture classes + * 3171 Incorrect type for Test Fixtures when using running explore with a filter + * 3175 Improve user-facing messages + * 3181 Template Based Test Naming - Incorrect truncation for individual arguments + * 3186 Fix licenseUrl element in nuspec, will be deprecated + * 3193 Cake Build Fails with Visual Studio 2019 + * 3195 Drop or at least make Travis not required? + * 3231 Breaking change in filter functionality between framework 2.7 and 3.11 + * 3209 Test fail when posting to SynchronizationContext.Current + * 3211 Fix logging + * 3218 Remove todos from the code base + * 3222 Our build script tests hang when run with Mono on Windows + * 3233 AndConstraint should write additional information from failed constraint + +### NUnit 3.11 - October 6, 2018 + + * More informative assertion messages + * PlatformAttribute is available on .NET Standard and now detects .NET Core + * ValuesAttribute now works with nullable types + * Async tests detecting and running Windows Forms or WPF message pumps rather than deadlocking + * Support for UWP 10.0 is back via .NET Standard 1.4 + +### Issues Resolved + + * 352 Test with infinite loop in TearDown cannot be aborted + * 452 Deprecate the existing Chocolatey framework package + * 660 Order dependence of And and Or constraints should be documented + * 1200 async test + Apartment(ApartmentState.STA) => await not returning on STA thread + * 2123 Task.Run inside a test will result in deadlock if a control was created previously + * 2146 Assert.That with a Throws constraint does not provide as much info as Assert.Throws + * 2427 PropertyConstraint throws away the more helpful message in the base constraint result + * 2432 Ability to exclude/include the platform .NET Core + * 2450 NullReferenceException in ExceptionHelper.BuildMessage on Mono + * 2536 SetArgDisplayNames for TestCaseData and TestFixtureData + * 2611 Enable .NET Standard 1.6 tests on non-Windows + * 2693 Ensure that resharper settings are consistent with the editorconfig configuration + * 2757 Broken `char` comparison in v3.7 and higher + * 2759 Test fails with "No arguments were provided" error when no values returned from IParameterDataSource + * 2761 Infinite loop in nunit 3.9 + * 2781 Fixed precompiler typo + * 2786 Timeout value not resetting on Retry of failed test + * 2790 Removing ITypeInfo abstraction + * 2798 [Request] Show actual count value when test fail on Has.Exactly(x).Items + * 2814 Remove public marker types + * 2819 Only run AppVeyor PR build against open PRs + * 2821 Save and restore the SynchronizationContext before and after each test case + * 2823 SetUp failed for test fixture - Array was not a one-dimensional array. Issue seems related to byte[,] method parameters + * 2829 Obsoletion warning for DataAttribute + * 2831 Regular "BusyExecIdle after 200 milliseconds delay" CI failures + * 2833 Use longer BusyExecIdle to avoid CI failures + * 2836 NUnit.Framework.Does cannot be extended + * 2837 DictionaryContainsKeyConstraint behaviour is inconstant with Dictionary.ContainsKey when the dictionary uses a custom Comparer + * 2842 Supporting inheritance of Assert and related classes + * 2854 Has.All.../Has.None... - show non-matching items in error message + * 2863 Make tests robust without depending on the order of attributes + * 2867 Skip executing TestCaseSources for tests which are not included in the filter + * 2876 Implement Discovery-time filtering for NUnitLite + * 2883 Our public ConcurrentQueue causes type conflicts + * 2885 Copy/paste error in Assert.That documentation + * 2887 NETStandard 1.3 support dropped in NUnit 3.10 + * 2896 Some tests are silently skipped on netstandard1.x since #2796 + * 2898 AssemblyPath contains invalid charaters + * 2901 Values attribute support for nullable bool and enum types + * 2923 Update outdated CategoryAttribute xmldoc + * 2928 Improve error message on EmptyConstraint + * 2929 Added NUnit XML schemas + * 2940 Increase StackTracesAreFiltered amount to 5 + * 2955 Potential threading issue in IsolatedContext + * 2965 NuGet Package : Add `repository` metadata. + * 2970 InvalidCastException @ NUnit.Framework.TestFixtureSourceAttribute.BuildFrom + * 2979 Warn.If in Assert.Multiple + * 2994 Error in .NET Standard 1.4 DictionaryContainsKeyConstraint MetadataToken compatibility methods + * 2996 Remove unused enum + * 3009 Fix failing CI Builds by upgrading to NUnit Console 3.9.0 + * 3020 Upgrade nunit-vs-adapter to 3.10 for nUnit 3.11 + * 3024 Unable to add `.IgnoreCase` modifier to an `AnyOf` constraint in collection constraints + * 3032 APIs to restore before 3.11 + +### NUnit 3.10.1 - March 12, 2018 + +Added a namespace to the props file included in the NuGet package to make it +compatible with versions of Visual Studio prior to VS 2017. + +### NUnit 3.10 - March 12, 2018 + +This release adds a .NET Standard 2.0 version of the framework which re-enables +most of the features that have been missing in our earlier .NET Standard builds +like parallelism, timeouts, directory and path based asserts, etc. It also contains +numerous bug fixes and smaller enhancements. We've improved our XML docs, +fixed performance issues and added more detail to Multiple Asserts. + +This release also contains source-indexed PDB files allowing developers to debug +into the NUnit Framework. This allows you to track down errors or see how the +framework works. + +In order to support the .NET Standard 2.0 version, the NUnit project switched to +the new CSPROJ format and now requires Visual Studio 2017 to compile. This only +effects people contributing to the project. NUnit still supports building and +compiling your tests in older .NET IDEs and NUnit still supports older versions +of the .NET Framework back to 2.0. For contributors, NUnit can now compile all +supported targets on Windows, Linux and Mac using the Cake command line build. + +### Issues Resolved + + * 1373 Setting with a null value + * 1382 Use array argument contents in name of parameterized tests rather than just array type. + * 1578 TestContext.CurrentTest exposes too much internal info + * 1678 Result Message: OneTimeSetUp: Category name must not contain ',', '!', '+' or '-' + * 1944 Removing Compact Framework workarounds + * 1958 System.Reflection.TargetInvocationException after run finished + * 2033 Nameof refactor + * 2202 Best practices for XML doc comments + * 2325 Retry attribute doesn't retry the test. + * 2331 Repo does not build in VS without running `build -t build` first + * 2405 Improve PropertyConstraint error output + * 2421 Publishing symbols with releases + * 2494 CollectionAssert.AllItemsAreUnique() very slow + * 2515 Retarget Solution to use the New CSPROJ Format + * 2518 Bug in CollectionAssert.AreEqual for ValueTuples. + * 2530 Running tests on main thread. Revisiting #2483 + * 2542 NUnit does not support parallelism on .NET Core 2.0 + * 2555 CI timeout: NUnit.Framework.Assertions.CollectionAssertTest.PerformanceTests + * 2564 Add minClientVersion to .nuspec files + * 2566 Refactor `SimpleEnumerableWithIEquatable` test object + * 2577 Warning in TearDown is inconsistent with Assertion failure + * 2580 Remove unused defines + * 2591 NUnitEqualityComparer.Default should be replaced with new NUnitEqualityComparer() + * 2592 Add .props with ProjectCapability to suppress test project service GUID item + * 2608 Culture differences on .NET Core on non-Windows causes test failures + * 2622 Fix flakey test + * 2624 Prevent emails for successful builds on Travis + * 2626 SetUp/TearDown methods are invoked multiple times before/after test in .NET Standard targeted projects + * 2627 Breaking change in CollectionAssert.AllItemsAreUnique with NUnit 3.9 + * 2628 Error during installing tools when running build script + * 2630 Framework throws NullReferenceException if test parameter is marked with [Values(null)] + * 2632 Parallel tests are loading 100% CPU when nested SetUpFixture exists + * 2639 ValuesAttribute causes ExpectedResult to have no effect + * 2647 Add Current Attempt indicator in TestContext for use with RetryAttribute + * 2654 Address feedback from @oznetmaster + * 2656 NuGet package links to outdated license + * 2659 Naming Errors + * 2662 NullReferenceException after parallel tests have finished executing + * 2663 Building NUnit .NET 4.5 in VS2017 fails + * 2669 Removed vestigial build script helper method + * 2670 Invalid assemblies no longer give an error message + * 2671 Ensure that FailureSite.Child is used where appropriate. + * 2685 Remove Rebracer file + * 2688 Assert.Throws swallows console output + * 2695 MultipleAssertException doesn't provide proper details on failures + * 2698 Syntax suggestions errors as warnings + * 2704 Add Constraint to test whether actual item is contained in expected collection + * 2711 NUnitLite: Add support for --nocolor option + * 2714 AnyOfConstraint enumerates multiple times + * 2725 Enable 'strict' compilation flag + * 2726 Replace the ConcurrentQueue and SpinWait compatibility classes + * 2727 Avoid treating warnings as errors inside the IDE + * 2734 TestCaseAttribute: ExpectedResult should support same value conversion as normal method arguments + * 2742 FailureSite not correctly set on containing suites when tests are ignored. + * 2749 Update Travis SDK versions + +### NUnit 3.9 - November 10, 2017 + +This release addresses numerous parallelization issues that were introduced in 3.8 +when method level parallelization was added. Most of the parallelization issues +resolved were tests never completing when using some combinations of parallel tests +and `ApartmentState` not being properly applied to tests in all cases. + +### Issues Resolved + + * 893 Inconsistent Tuple behavior. + * 1239 NUnit3 sometimes hangs if SetUpFixtures are run in parallel + * 1346 NullReferenceException when [TestFixtureSource] refers to data in a generic class. + * 1473 Allow Is.Ordered to Compare Null Values + * 1899 Constraint Throws.Exception does not catch exception with async lambdas + * 1905 SetupFixture without namespace will make assembly-level Parallelizable attribute useless + * 2091 When a native exception of corrupted state is thrown, nunit test thread crashes and the nunit-console process hangs + * 2102 NUnitLite incorrectly reports Win 10 OS name + * 2271 When CollectionAssert.AreEqual do compare each element, it will ignore the IEquatable of the element too + * 2289 ResolveTypeNameDifference does not handle generic types well + * 2311 Resolve test projects' namespace situation + * 2319 Add .editorconfig to set file encodings so that people don't have to think about it + * 2364 Parallelizable attribute not invalidating invalid parallel scope combinations + * 2372 Create testing for compounded ConstraintFilters + * 2388 Parallelization causes test cases to stop respecting fixture's apartment state + * 2395 NUnit 3.8+ does not finish running tests + * 2398 NUnit CI spurious failures, NUnit.Framework.Internal.ThreadUtilityTests.Kill + * 2402 --labels=All doesn't show anything in console output executing NUnitLite Console Runner + * 2406 Summary descriptions replaced by more detailed ones + * 2411 And constraint on Has.Member throws + * 2412 Using fluent syntax unintentionally removed in 3.8 + * 2418 Support equality comparison delegate + * 2422 Has.Property causes AmbiguousMatchException for shadowing properties + * 2425 XML doc typo fix + * 2426 Regression in 3.8.1: ApartmentAttribute no longer works when applied to an assembly + * 2428 Fix NullReferenceExceptions caused by WorkItemQueue not being thread-safe + * 2429 Stack trace shown for Assert.Warn + * 2438 [Parallelizable] hangs after a few tests + * 2441 Allows to override load-time/execution-time interfaces in built-in tests attributes + * 2446 CI failure in mono Warning tests + * 2448 Inherited Test SetUp, TearDown, etc. are not executed in .NET Core if they are not public + * 2451 Compile RegEx to improve performance + * 2454 SetUpFixture not respecting NonParallelizable tag on TestFixtures. + * 2459 [Parallelizable(ParallelScope.Children)] Unable to finish tests + * 2465 Possible wrong properties are returned by reflection in ReflectionExtensions.cs + * 2467 Test execution hangs when using [SetUpFixture] with NUnit 3.8.x + * 2469 Allow RangeAttribute to be specified multiple times for the same argument + * 2471 Parametrized testcases not running in parallel + * 2475 Framework incorrectly identifies Win 10 in xml results + * 2478 Attributes on SetUpFixture are not applied + * 2486 Message when asserting null with Is.EquivalentTo could be more helpful + * 2497 Use ConstraintUtils.RequireActual through out the codebase + * 2504 Support changing test display name on TestFixtureData + * 2508 Correct divergence from shadowed Is / Has members. + * 2516 When test writes something to the stdErr there is no guaranteed way to link a test-output event to a target test using ITestEventListener + * 2525 Remove unwanted space from comment + * 2526 SerializationException in low trust floating point equality test + * 2533 Matches(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 parallelization +and fixes crashes in NCrunch prior to version 3.9. + +### Issues Resolved + + * 2205 Ncrunch: System.Xml.XmlException: Root element is missing, when adding NUnit 3.7.0 + * 2209 NUnit occasionally hangs when parallelizable TestFixture has OneTimeSetUp and OneTimeTearDown + +### NUnit 3.7 - May 29, 2017 + +This release of NUnit expands on parallel test execution to allow test methods to +be run in parallel. Please see the [Parallelizable Attribute](https://github.com/nunit/docs/wiki/Parallelizable-Attribute) +for more information. + +NUnit 3.7 also drops the Portable build of the framework and replaces it with a +.NET Standard 1.3 version to compliment the .NET Standard 1.6 version. This change +enables several constraints and other features in the .NET Standard builds that +weren't available in portable like Path and Directory based asserts. + +The AssertionHelper class has been deprecated because it is seldom used and has +not received any of the updates that Asserts and Constraints receive. If your code +is using the AssertionHelper class, we recommend that you migrate your asserts. + +### Issues Resolved + + * 164 Run test methods within a fixture in parallel + * 391 Multiple Assertions + * 652 Add ability to execute test actions before SetUp or OneTimeSetUp + * 1000 Support multiple Author attributes per test + * 1096 Treat OneTimeSetup and OneTimeTearDown as separate work items + * 1143 NUnitLite - Explore flag does not apply where filter to output + * 1238 Feature request: Print LoaderExceptions when fixture loading fails + * 1363 Make Timeouts work without running test on its own thread + * 1474 Several SetUpFixtures at the same level may be active at the same time + * 1819 TestContext.Progress.Write writes new line + * 1830 Add --labels switch changes to nunilite and nunitlite tests + * 1859 ConcurrentQueue is duplicate with System.Threading.dll package + * 1877 Resolve differences between NUnit Console and NUnitLite implementations of @filename + * 1885 Test parameter containing a semicolon + * 1896 Test has passed however Reason with an empty message is printed in the xml + * 1918 Changing DefaultFloatingPointTolerance breaks tests running in parallel + * 1932 NUnit Warn class should be removed from stack trace by filter + * 1934 NullReferenceException when null arguments are used in TestFixtureAttribute + * 1952 TestContext.Out null when used in task with .NET Core + * 1963 Investigate removing SpecialValue + * 1965 TestContext does not flow in async method + * 1971 Switch CHANGES.txt to Markdown + * 1973 Implemented TestExecutionContext to use AsyncLocal<> for NETSTANDARD1_6 + * 1975 TestFixtureSource doesn't work with a class that has no namespace + * 1983 Add missing ConstraintExpression.Contain overload + * 1990 Add namespace filter + * 1997 Remove unused --verbose and --full command line options + * 1999 Author Tests assume ICustomAttributeProvider.GetCustomAttributes return order is defined + * 2003 Better user info about ParallelizableAttribute and ParallelScope + * 2005 Exclude empty failure messages from results xml + * 2007 3.6 Multiple assertion backwards compatibility + * 2010 Add DelayedConstraint in NetStandard 1.6 build + * 2020 Better message when timeout fails + * 2023 Ability to abort threads running a message pump + * 2025 NullReferenceException using Is.EqualTo on two unequal strings + * 2030 Add method to mark tests as invalid with a reason + * 2031 Limit Language level to C#6 + * 2034 Remove silverlight project - no longer used + * 2035 NullReferenceException inside failing Assert.That call + * 2040 Cannot catch AssertionException + * 2045 NUnitlite-runner crashes if no file is provided + * 2050 Creation of TestExecutionContext should be explicit + * 2052 NullReferenceException with TestCaseSource if a property has no setter + * 2061 TestContext.WorkDirectory not initialized during build process + * 2079 Make TestMethod.Arguments public or otherwise accessible (e.g. TestContext) + * 2080 Allow comments in @FILE files + * 2087 Enhance error message: Test is not runnable in single-threaded context. Timeout + * 2092 Convert Portable library to .NET Standard 1.3 + * 2095 Extend use of tolerance to ComparisonConstraints + * 2099 Include type in start-suite/start-test report elements + * 2110 NullReferenceException when getting TestDirectory from TestContext + * 2115 Mark AssertionHelper as Obsolete + * 2121 Chained PropertyConstraint constraints report incorrect ActualValue + * 2131 Remove "Version 3" suffix from NUnitLite NuGet Package + * 2132 TestFixtureTests.CapturesArgumentsForConstructorWithMultipleArgsSupplied assumes order of custom attributes + * 2143 Non-parallel fixture with parallel children runs in parallel with other fixtures + * 2147 Test Assembly using NUnitLite & Nunit 3.6.1 hangs under .NET Core when `--timeout` is supplied on command line + * 2150 Add portable-slow-tests to Cake file + * 2152 Allow attaching files to TestResults + * 2154 Fix execution of non-parallel test fixtures + * 2157 Getting WorkerId inside Assert.Throws / DoesNotThrow returns null instead of previous non-null value + * 2158 Update SetupFixtureAttribute XML Docs + * 2159 Prevent crash in .NET standard with log file path + * 2165 Trying to install NUnit 3.6.1 on .NET Framework asks for download of 20 more packages + * 2169 Incorrect xmldocs for SetUpAttribute + * 2170 Cake build fails if only Visual Studio 2017 installed + * 2173 Remove PreTestAttribute and PostTestAttribute + * 2186 Replace special characters as part of converting branch names to package versions + * 2191 System.Reflection.TargetInvocationException with nunit3-console --debug on Mono + +### NUnit 3.6.1 - February 26, 2017 + +This is a hotfix release of the framework that addresses critical issues found in +the 3.6 release. + +### Issues Resolved + + * 1962 A Theory with no data passes + * 1986 NUnitLite ignores --workers option + * 1994 NUnitLite runner crashing when --trace is specified + * 2017 Two NUnit project's tests fail on systems with comma decimal mark settings + * 2043 Regression in 3.6.0 when catching AssertionException + +### NUnit 3.6 - January 9, 2017 + +This release of the framework no longer includes builds for Compact Framework or +for SilverLight, but adds a .NET Standard 1.6 build. If anyone still using +Compact Framework or SilverLight and would like to continue development on those +versions of the framework, please contact the NUnit team. + +### Framework + + * .NET Standard 1.6 is now supported + * Adds support for Multiple Assert blocks + * Added the --params option to NUnitLite + * Theories now support Nullable enums + * Improved assert error messages to help differentiate differences in values + * Added warnings with Warn.If(), Warn.Unless() and Assert.Warn() + * Enabled Path, File and Directory Asserts/Contraints for .NET Core testing + * Added NonTestAssemblyAttribute for use by third-party developers to indicate + that their assemblies reference the NUnit framework, but do not contain tests + +### Issues Resolved + + * 406 Warning-level Assertions + * 890 Allow file references anywhere in the command line. + * 1380 Appveyor Failures when branch name is too long + * 1589 Split the nunit repository into multiple repositories + * 1599 Move Compact Framework to separate project + * 1601 Move Silverlight to a separate project + * 1609 Upgrade Cake build to latest version + * 1661 Create .NET Standard Framework Build + * 1668 Need implementation-independent way to test number of items in a collection + * 1743 Provide multiple results for a test case in the XML output + * 1758 No direct inverse for Contains.Key + * 1765 TestCaseSourceAttribute constructor for method with parameters + * 1802 Design Multiple Assert syntax as seen by users + * 1808 Disambiguate error messages from EqualConstraint + * 1811 Build.ps1 fails if spaces in path + * 1823 Remove engine nuspecs and old global.json + * 1827 Remove unused repository paths from repositories.config + * 1828 Add Retry for failed tests only + * 1829 NUnitLite accepts --params option but does not make any use of it. + * 1836 Support nullable enums in Theories + * 1837 [Request] AfterContraint to support more readable usage + * 1840 Remove SL and CF #Defined source + * 1866 [Request] More readable way to set polling interval in After constraint + * 1870 EqualConstraint result failure message for DateTime doesn't show sufficient resolution + * 1872 Parameterized method being called with no parameter + * 1876 What should we do about Env.cs + * 1880 AttributeUsage for various Attributes + * 1889 Modify nunitlite to display multiple assert information + * 1891 TestContext.Progress and TestContext.Error silently drop text that is not properly XML encoded + * 1901 Make nunitlite-runner Prefer32Bit option consistent across Debug/Release + * 1904 Add .NET Standard 1.6 Dependencies to the Nuspec Files + * 1907 Handle early termination of multiple assert block + * 1911 Changing misleading comment that implies that every `ICollection` 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. + +### 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/src/packages/NUnit.3.13.2/LICENSE.txt b/src/packages/NUnit.3.13.2/LICENSE.txt new file mode 100644 index 0000000..29f0e2e --- /dev/null +++ b/src/packages/NUnit.3.13.2/LICENSE.txt @@ -0,0 +1,20 @@ +Copyright (c) 2021 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/src/packages/NUnit.3.13.2/NOTICES.txt b/src/packages/NUnit.3.13.2/NOTICES.txt new file mode 100644 index 0000000..02f3f84 --- /dev/null +++ b/src/packages/NUnit.3.13.2/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/src/packages/NUnit.3.13.2/NUnit.3.13.2.nupkg b/src/packages/NUnit.3.13.2/NUnit.3.13.2.nupkg new file mode 100644 index 0000000000000000000000000000000000000000..cf753705d73c290c79901d8a583cdb3c56c620e0 GIT binary patch literal 1292603 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%0A{MO}FxdLbp@m0OrvAeeEz2$ItaHO$A! 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 z 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

I4_ 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⁢V9m7sKQrf4aZLX&ArFLQ9dxob;`DfpR-!_d z<-z9p%v5NzCJdD_s7{!X(e-`i?cDQzY!!AD=A~OQAusi~oSX9SFe@fpE?^+^;Cg1in4*Zc?EO*&r!z{qQB!=WgU~6tKdgc&NKYu5anYjZQ#+}S@IU~ zkNbvitE-v)^!M76CYvmW*E@Y(#GNbeggz(Jc0=Wm$|S?F(i#74N9+uPom^!}oP{Cq zFIbHi`DmeQzK*Hk434RR)zN#0o%C<@3FSxVkJx%pdv8#%eQbS;-k8{UrYC?@9jZabfEo=i^lIP?N?Pd=tuXwRVD7;Ax4S z*t%QVCA;uW>iaj6d{n#PjW;IgJJZH+ZS&eubN@iJ5LM?MAG9dh6 zhb*Wbx1Z)!?+#^lrg1cVepPtW$5Wx1_bZ@L@2A4Gqrk5Myj8%D*4>s(|7$cg10dyz z>##m|484c?jMBbZkCtIQ+By{z0K&#}*?-4TtOWe75y>zH#Q)r#N=F1)`(&dr-J7*c z4#hx2OB35>m}~AZ*hBgqOp5vtEVz|E^Yq!sAxj+Fs!am*$Y3sJA`GxmLV)qeQ-0Cu zgWkfE@B-?=aHhnqf|#XMc}+AcXF0vDF3-z~Kx0~?6O(L!pus;#qn8zMz$~BV%2e*4 zSy=X~IE+XTOt?!_)^pgZo?Tu}ZL2g2oWRdBEl`h@XRV<7Ufp|Tk4<9Ww6;|jX4gv4 zY`(x*ojQ7UigEiec@u&4cZMbb)wA?k8TdJKz`q1pdNSgRe~}8U6rPH{KAmLepAmNc zS$t#$p2J7Ue_!#u@5%Z3uZXuzvx06t=DPh-T9Tc3*j})m+KaeH^IP=xt?7c>`zO;L zc!HVw(%1&BG|R03clV6?d{%v;)-bM&vYUB6rR=!Ip_R`^JS}j}6=37i)+j>&Ip zHz@m>Cu9p$I`I154PFv9ML(8p3ZKuvR#wBl657(W6HRP=1XuPArE9f#AF|y}x-`{J zQ%5PedL>Om^(UB%|ClUx??*p#<~n=~WzsW38kOE;1-}x?|BF<@sOJIA%S@#`@yVn; zkN;n+WE$jDWUqq&)Mo$F!lt3t1~)s=c9ang7_w@eJr4|X;`TgCbtBlG$CbjSWwTNo zmj$}TCOIvM2KRl2c|-sbHa#_S9m;Ua%U$ljD>gl{DVHG}-gGrN#eAt)sEqXTUSSh< zMN2w(*;G!O%}S$JpbbV_&&$&!{mNtRw8?AgebiisRpGayJ})f>Kh1r=(gr`cGaMYr zlYY)zd4do4UoF?bo(XmYcrm8qwVsF=)?|{mJ#e3NDZK-vl+?&ZZWVCz!UNXZOEl0p!X~sQlW{B!s&mx3-MFTV|KAauxf27OgAww^`pY?(Sz4m zJMV9GxJ!+8^-;hpx1<>I^y%MfFwY6lok z)j7ZrLmKoH-1L`9c|BmS%lU?DT8rcVPR=*G`d6w0F$?n2?CD_zoJ z&#(D}8hC{l8UZvY;lmQwA*ZPkaq$sNaZ>z<`v|%p}c}Puq~h5KQ1ugA{13D%gmYmuk)CL;IzA9r4f!<9{krN zzVAxYoY49tZa-JzrJ=`avC(lA#XXu=-4l^1(~DU@?n)(+pTPZmcMsQj>?5^j|;W@-;EU>4m4f293JR`YX#qT zq8a={Vg|!@cN(2LY5D$7_SbhNjNpWw%yqAXjDf^(J(ln;68R-3{Rt}Vyy>@uzBI(> zzaP}4&cp^8lDIHop|%g>J|y)Iu~=&pmqoF-j-=0v;peWMO)k;{f3!IEUpEh@`y5|AZwfDeQ+Wp8=-G9eWpJs2hhrvkW&!Bw2L(kz0r^2mLeDEwo z$3E--9SioX>ahoeLhJswSau;VW{(}8!vEm@+9}sl!612ZVwg1o3{vBl+sU@9Z zOWv$&3GzQk`8Oi}aAk7x7g$eP1AnzxhVq7L+tabO{eEzJeT)ys9h657Wr5iJC?@zJ zuDvWi696@81R7<)zICh{!ecH&h^%%**dvqJ8XZHS{VriG(S=_58?b`Eir8l?91AF` z7;2Zcis7ub7{nxf3FHep&b+LROEETGYHa@&8(SKx{~2O!%s;ShZTxNU+UVZyjL4jV z=etb!v^R$s|2JdHA-+<^=0v(AZkgVW7J;8=;Wv{lg#2uRn`jW)a2B=Uvm!U*x#fV{ z%F66$BXpfX^K<~-TZHou-$l0k=1`8o?x02vUH~g;YJ92Cer*wm6~pnERiS<_n6ctP;3v6~Fpze2Z3K+0cXCmrZAAF2UUZOh#jOT<{XeuX zroXc?{? zk-A)b*YRxD#;ASzFE$Np9r!2KBzKJ}Gi-+iY7BL_W;z~w@^(J}5=?;F@S^^0Rqr?` zxn3oOErbT%Q3hvYlj}94JD~zI{qDRTiu5J^1*c*7Rc4yviOFrB)ft-pnv&1 z>gZ8*{732-9k1gKRR^_VII#_OFvkSKQFS!`>1t=N~>wfZ#VcK z7(a5IusbV+E^%I|FToKnSv>`nuu2GiYcZoLqf6m2;UOSrK;AgzOry1;gt^A$EU>&w{#8>O^7Lmu!TT&j``Zg+lA8W}xz;skteK1zFaNKqeEvK$oOeq3 zTZ-)_Z~zbdk3Os5k9d>P2kzza8y4UN>&3Hli~4ykyD59ofMS{#Ow0>i{U#&AL2N)` zi&+WYOzUR8h`E@q&aZ8-o-H%-U-dcO9-w&$z z>S0;3Gt7Q;KH3`(MW@tyGp$beR2nCIUv$DFMW}sb$GvZOUR%aBRNr;z&rG$p(&@z7 zvbbM%KfnWj7jpa$p2Ea(JHCFo0iOo6`WO;gmg|H}b%*8gB{*x)5}ch}g4pvvr#4>C zvbJ@&BwCl9bZH;$k9=F94`HK>$~ePuEq4>U6W#34mrf&c&g0reyYFJ)x#i_!3lh=F z@toeDq99y@8{iwQnDtzEM`Kr{o0IXcvR=0LwQTL1?4A|M>togw^guVl}ZQDkTsTiI;A@&55=ix8(d4tfkTY0aP!S+=|kKn?e-V+AS zB|UwY4RGRd2HH$is3bI+j<*fZJ=|qSTGP9mRqxC9A)J74G4oaX!HuL z!9~e7l&B3QX+zoe%Bl^es12nd+fZ5WHMRN|8!8IqYQt;VZnaHbp(LU4I=qfxW3v8X zRR1ukzti?QRsF-F`iBi!zmaqYdHwseUxR-rtE1uG@R`_yhT~s}f=75G#DImZ?P(Q` zpest<#w>PuT|FZWySx!_X@*^j{V*!aV_O&Y_dUC#hRlCJDPeBKT! zAHmd{qLMdi$j+#iPs!+gG;T_>CBd&wHLvsKcvbLcC-%yf%aGa@g2%Fyxo{waEl`4%s57!2{^0(Htc!M`MR zw8g8w;HsI&*3G%WX12npWLiT~!S%t;_bck$KadHfSRuiyS8JiNhaIey>a%vR2GZKf zj9B2Lo)(GrRGq$Dc~aE=-tsnkA1-YwR8S6`#vz5CSUaC8+VHQGwpD~b|2cBU{Wqob z5UF}UF6M)K)yY;lIF&sa^YwX@75vv_6F?*ut*6>jid+O%Ry&}^IRM|%ovME?5@+tO za6>s6Xyte!9h;d}{x91$5!#`0J1&$ODy!V=red0gYi%o)&!iFN4q0}c{sqWZdb8s^ zI=rt285_sLOZYC_z#sK{ufNk_E+Lp_LYnI z!1=c+luqJG!l`I^VzDyZ?El{sJMgJ8@|L6QQt%(3X15$1m9b?{+TT`d?GyYO$}4C` znye4X62XHb&0@i8s4m4U!s{9Vq5I)T%fa!Gy?6~&kl|&ccaVD-T_=ey2vUw0UNQEp zDBE$!q`%5*xYh&l5OG=K3?(qez!YpZxZK{Jz}Swx<7+lLE0Il0GtJeFD7SQJk)|Wp z2WKmWRSHgH?G1eQ=bf2|Zi6_VTH~Pb!K`^QV+)@rc-t-6UC;@ ziN|Hnzy-!+EBFWGLMg-QX|p0jzTlm3M<8(VtW1pe!5)I2p__zm?9KK(J#BWdfY`#z zdJD8i@kKmw@YdMZter*W4g7DUc2jq*@Qy*ldO8hjZ(_X{9l*RvDOgQ~*WQD~z>@ng0=TZvY7X3G4t!T|vHxWb z94S6s;VL~7ob|aR+I*nB&uB>TtHScJbgQS})GkRuL@6da!8Wiyl|5Q4->}$OEA4aI zOHZH;qnWPKR?Y-F@UF(Y)`R%e%S2l_{;n1NSW{F^?;YZg_3lWK>I9~RlOt;dn_bLE z(GDy?Cg*%SN7OVM%VYXzV$-m;8(N{UDMc;K5vmdHkn1RYVcOE zpft@L;0?FKN8E6sJZ6N^*{Anhnq`<@Psw_y$u{e4Hv8XYy3-n*j<)A$2hhNM*Hwg< zR@Z4*UGK(L7s{HVXt7yKQ||}<9n<+*)jOkmjA@O{4g3dI0{#iOHsKokp1vl(7wKYQ zGjywx>t`&;o?7j|rY|gE&YQ#`#^g`G+m8GxYjlr~`U_pbH@Lt4$$SmA{Zp8GUi%F# zs_iM5mSg*;qU?(6STeK|ghs))@oi#jxRB?iU5CRw^!l;oF8})Ac|KjW3u`)8OAg1B z&DmWOgJU^vWNEU)9=0lOlo-lIEaPFSDKQ<^+43mB{#6uAx2~*loiLj>cK^@0LVnWc=;KXvXSLl z(m{c$8JE?iscvN~=~gD10_Dcm;$KYb|DV@d}lv==4po42^P~oaD^v5!R_OtbBxplOk8jgMovs&}c8~YafrUSyP`UuBFflJ_PS{*=lt$UZ4xRG88_WAD9AGs3KHp+qM#9MgDz;5)Uu)hu>;oxnTnaAUPQ z81K<&y1tA%m7Nt`89$Lfz=+LTZ3@w$Y|99Lr?f09e(X*w{_wDMl`~Dr;Ef1wWR(Te z$Jj!p0qwGQ>-Uu9GuQ_^I3$Ru8kct}c=8cZ!6ULgw$kG9W!=r%{#_`%tTre1W>dsZ z%4H-L{|i1L?_wG$7o42vF8C?{WBD_g1F(3xMuCNEjYPB*MU1C0#I)1?8qOBJfyo$e z(MtUm>d90$9-+_NOz<2!Zw2r1U3BI@nP>(tx+>n1>!lSTX0v#_pAfTnxrXeht|4A_ z?J#vE!$rgu1N90lY2(+Cr#)K)G-3b)Zb|#!vL(hl zZBjZ@EiWCIS-z?mmd%5ocbLY~8T5=RL>_y-)o=u$=rP+L8=19VGvGc${DFh!W0NBf z_V8{7@m1TxJYEsE7umbc*t!$LD{kks7zH-rGGzyiP2NnU+JTXc&J1a=D69p0AW%2PAZ=ilZ>uPFC3*&kGxCehu072}i ztn@nI-y&D+RH6D(qX=8>ycx zbO^%rbWiCZct>~{(M`m5bR5|srlZ!pQ|zXF*RAd!rf;8e}(dsBQR8A4OO4^ECj(AENdb_J$xh*hE zx{vv5)q#qY0lWCT)7z#+HaUFJ9*NT z06h&M{f)hDKwivUBlA;t`b@b=LK};AUrS zsF7%-vd%dwYB=stt8j-h%;*jUIt03YPo%pc9`$UDJl%E9flR-)q7kJpp}&Yx&@Dp0 zlWCwhBHW&)l4A9@(da964OACyrP~1C4uYgoJ@@lL6OqZyMo5KpHl@OO!m~w(!-B32 zB1cuW)0fh^Ov}0ynwATn{t@@&%e$f&Kb~n3Wpuv#@ZnfB^m;;vF7YP~$+ZD6CU}e|V+R8@U9|lH3USbW5 zNNd?^D666S{h3j?c5WBu;=V|a1eCK7XRcJJ?CZFjC@bBBZVAa%nh2w;GmbZ;lmzKW zNst~Y+@Qe`+;P6$mYfUU=-OS@MZIoM#U&Hj)2HIHC%M1hE&5&)1KnZ-Z5AsWXg`(| z&`NU{_p!O4#MeL8*4;mZzLdtHDW)jpj#w%b{hO851~_oN$1+e4 zP9_2-N=+tKZL|?RhheNFEz@eQ*nqWe*806jVfwh2j-KPRc^TPyESQq5SGi2@t#H6P z{C4V6^gC`6WSMLdlr~uhoiW8+z*3)S^~rE!P@KlKS;*Tzo0R*_4cAi7bko1Y1#gAF z)5e+pM*fAr%nstI`=t!JRD+_xeMM#4{XL9%_q>j!Pv`9J@dqD#(@H5d-;&x|qJ!QH zhEea9>qNi9Lbxi_5p)ibaA_QT|4hEd}v&3l@n>em?9~#9NDH zG$p?=%j*BBrj-tV=+v|ZY>tima31*{E3G1}42+OD7^%j5xcVHSK1Z67og6JD*ha$! z1QB*jzc~y4a;PP=h4I6AVjPQO@xb#M;|BPf81eeKoq)M*%O>V_emJ+Semf=gOi2_z zdQjo8)AJaFzoN>C$&Zhs&j)yZTh2M;#b|y}8qe?K?aeQ0NY1ZRR6sPHN-P%>L$rN( zc(+$CoGn-*SLpBz+O)C=c+D}nbvYY_A4YpWO=%CN!ZD4S2t7${oP;7n)6j2j;!;D| z&O!FvVpq5D`r@SS6u({axDJS4M%mT3I2oW~8j;y5x^Tf(k8#3S-e~VzqI@w*wLE3p zfXHQK`3lRda&`1h@Ux8Hjr{waqx5fBWVH(_?01IASC77S$X5hf?5LhIQfDag@0Vui z->v-HK3e~VITuG~?BMub8%p@?MZe4V-5C9D*Z2}DY{M}8E=IpQ^zU~0-Kn-hMSb?* z^N84IL2nNn)6V=EK^@FswFh~DgvI97Nc~6O$=dF)I=$&S2pD&Q`t&dypEKO z*(d}t>pL1#)}4)$1!`NbYU4!pImuMEp`d9GVGUL1hB?c%UI`zI62**~)=G)f0g@21 zroV$E%Tij-$vcF}b}%EWgsPijV=`GfGDSKv4Iho^fvKjphmG}T$EZK!>iaWU^<#?q zoT@&j>3*Fa_Urht1l2FQx}HHh#=0^--c#wy_*k+Z@99QP_CKtrv(UHNZj>~z3x8dR zuXE8rAXO{Y$Z7Nm6Yz5E=yQt5(u`?0&Wsk`iPD3kc zq2~~L96w6Ia0^tnHPkno93$po<|W<$&8UrF2Cp29WJbjCyDX0V>H52HGn0YpnFhpp zyb(rWeB?X3i#{LWvb(`R+Ga3{OAU6Q4}We07V3Od>Fnq5D&k=+O=eF6GOAIX(wE1$ z-wPSrRMlAiys*#E_5YOc9_O~1{zOzc#^UwE%?MrvtsTpp_i$pd$DtC-kwhn0#7zV~ zrTJjLUl#WJ!MK0TN#WWZW%^UHY@mQU+5${wrNI)6V7#iASIjUojMdp;isrxyc=ic0 z+>By%ej=*L3MQ!ggWS`*jq!Wx7;&FBy6%o*ZGN9Vzb|*!3Xad9hyKbW5~vqqu!%gJ zU5;E4Z-DKH?J~9-OaNs-n!f@9?>wbCd}&LI!)$y*%#$*eG#Q9fSiw}8qOY6Rt4mlg z)#CUm%=#DY0R8qdydq_)^ey3sTZ-zI5HCKd6YZv(HnS`2XJPKw+0}cfTmFIQ#cnuS z`+lTL%R5v`*CeIZYOdZ&X^c>t0g7)`OUKZ~dm7&o(%Nr%b9MMJNwi#R-s+kZEN2Cq z!h}GgjjC`(NoToA36__o*kIRIHR3=AQ^K!;D+jl@GR;}T%LdT`$W=zQH!RJS=)X;Y_+u&t+P$A^(>YhS3@UC;&vjUHBN2K3j zPes$AGc)>nC?nkgCuh9$$SKEAmi)xS=x<@-vaUt~6J}S}l)bvnrSDlU-HpdQQ)YKx z!18W}z`fFx@!fEpr6AjA&rT`Rm#y0jV`3v9^d)o=g4t1x!F4O%m@jd${tWun)0r(V zHg|x}2?9MNk*l46zy=I5Egf`ps3NdW$ zBq6IFXupPn{rOlBqrmX#unpWW!fEsxXPv)w+cs_q)G}E)4hogDspQo99l!`ai$6i@ z*UYsT)${3#zcY@2=|(J`ea1MCaDT-1G&vzmV|$%(wLZc;Ctq1)IMs`ff!b`QrB-|c zg1bzy9NV>5v@ho+4=2hw!)+&a+fgkoDV3^O@r^PutltU4(Kb_7-X4;x;#!V;!v%G= z5H$1w0+=5Q{U>5O2gH^re@ZAhq5gsIvMY(Memc)*dG!i(@%+4@eHx_rP?US!&6KA7 z=%(2p(@&U2Y^1ASXLZ0ZR+s!wK=J`)8{gy$m02zmum+;hpCo8DIGYfHNjXuFpm#-T z9G8%FYA5C(vfMI*RdLFR{zF^Z+@ZuBDp$ESfip2Xug~(u$BOJ}BCJA=5{?DqF)rlO z`WHbw^dx1i-j3<*-%bCHI5yeCun+lZD$HY{V--3`(TComWR#}V#uKPgP$0(3t5(`h z?f6C|9{HD9n?pk}u&c@T?Dui=tm^&8ga!zZv{!!)s>#6jlndE;rj|8zhI2CKSTr6f zzMWUWxuW=DV^_LKR1p3f=9gt%oV7CV{!yN0dLwivA`|Lc#9jsS?z*VYsT)$L*t%<pn)g19iA_O{=7eE7X)9@vxB75iy2?X5ydnVBzPB8y_zvSW6+D*d!c)ai87*y`pJ=0a zZt1LU4hvvnS^e1*eg3PuPo%n^sG}ch{WCx^mwj4OHk%~k0PU>)x~^PglX6YFv}s@g z%N#*!%zk_i*2C0Q%c#P8TD5hRE=I6fJf+rY#yC`uOBfAgv)ZRLKnp3;pg~yp0fVq` z$U&&v$E!ljLHpQZx%QJEI93azu`*-S2oidB;#LkO=D>R@3e+Cf=i`m-Q{wY&yx5lWExcd{m$IxXRj5E?B?^{;RP|YwXrB}5P!Kos>7mbCHRGlooP>*IMPCdTL#d^g?e0U)-IL+m zCD-F?Sdac`kYFU&Bi-7iB+NB!8siydH`vV>!)@+t-gH#%^RuD8WwbIo`}LMKTRNXk zcm*oO?3J^IKSlT5m{yfvlG^Twl4#P-S z7aSMc*L#I)BW*lIpD)NcwpU$aVZpV}Ab7sI^0rC0;tJ1v@8(maM0kvAj&8rU?fqwrg*u`NzqAUKR&h{_$CT zo+kY9BQ=v^JRJO|+>(Rh7gpS~FJw1RD=755s++aTC@DJsvZZPt32s#)6uN5GQU zN-$gfE3@i-aGXY5ouCoWas5il+=p4CM%FvP0e$sm!jza7l2{G`j)f4HuYH{S?L*|> zr!IfBQ9HcOSN~I&-}1kPEASZ-uYn=ruLJyCQ2T#b_9roi|Ch=>?_-rcxvuO}8@2!4 zCY}AXMm8{~4bF3HhI%RpYI;SVrII2(27-;3`ToD)cv=I@uVBRld*T*fIj+U@_kz*4 z!H(%lV(kmBa3>PFoEcfw7_s&(+toFcBtSV?z9d*!2JK2*Mg^=73oxjXy>V;5VoMX0 za*xG)%4wTh?Q^PnVI+52^r7d7u+wEaugv~^`K;QH{?^v=C6$nBYxH#$e!6~>GK^oN zyw;pq8UVgJ@bi7wreLgvGathC0hD61CG^bGS-!<%RtlCts;Nf?;E61XF5>Bj=SqjlEBw!AIb4zDYM4NB zguc2F?rObUa4R5rFJBU4zn%_C)YAcrKetqDeC2hjtug~hCJT&4L`aZg;4Kp4;lWg; z0S&{X%{o+k0osXqGb+pVN<|}VSDN6(C_?)*$MZ@e287vPhRWV@OdMe%BbeHrml5XE zaOO4upjfF@?wi9s>nRMa_L-VcYoB+Oc>2~Gt?mW~B!9=W)Pa&83F2 z&X2~UD(+OusC}Zbo=2^0heu6x{QxucdmQ!s^6m8fX72j|AKG_Ibz5+U==*`(_XGbw z=sU`&os;N0?lG_89<#r?#~h&UF$aFoJtm6H`kI_`%h0-mkmX>DpV|s!86QkdO5$o~ z#cs^iFV(adHF@bW`w!85<U1Wy&CvF4J^}q^VbvNT)zY<>u$%XJd zsQL(zplaiZF@gPZkvTZ5L-<`>CT3N4AViVlDQpqpnEflm+r8PpoQV;t4{q0zo%r1n z3fngnUHe+tyom0_)4{QSQ2Kd8q=UEqy{u(!#Oryn5l~D|TA;974^9Y@AgsJU{h?y|n!g+CwIxmjp^P(Rg{_n+wQwMw# ztwJ+)HIxgd;8QI0ZZl0mg_D+w0xJEc+>d`JbAJZQQ)fj+%eoJy_>wq|%HS0lUwfks zty>I!AciRq(ML~1^;8-}n?*EQ)5!SndHe_7zsfK9J9DEc3hu`N{MU$QGyMla9!rJF zXx3B-Z>P|+{tqMVZm5>}}nrq?Htk_>Q-^?>Q@P2d~56i2v61OvvN5kGD1-;iY&V{!#D* zt2R0z%h;LH|0Fh(4`szoC~p^|_O!Cod6wyrU0Z?${tO#<)n3ZR>j2$r6Z@*4W{t?k z^`n=4{C3JV*;nPCqcVCLzj{0?aS570Sb#*~V z70lYjU>=WT(op*>z8_^qwrzW9S)pb2AI&Tg%K-WN+E0e=Od+9ojyX~*SP63VJpbrF zlF$E38|73vTJyyw$0JcP$n6%@e-!8bTr9U`1`o5a3uUaLGX6(sJn9KHLguk$F_*p%4l3y*Ow0 zKBmS1zDWNrbNtI}bUfX8l0Kf`Gd8Ly@5HN$*Cp)Mvnu(DMkBI&9#c2Yd(t?=c?18r zD5YP>^PZYz^2YIB5?OLAjIMcdOuKfBsq_)0=&S&Y*D({Xm~6B)+`Eip$u3OFkjsP9 z`A6-BNN}yo`bR2;%iG%u%ksjyYO64hFK3fH$Hz$D`$N)Ke@ObVL#5-~DaHEw|M2!6 zfN>Pp|M=eS-tINYUY&d=SGmcowUTfFEZbm;u`$H-X4&*^W4v%@n{qy3O6a{9FfBMZ zp#=zmP(vu8h6JY(2%rQA-}DNkNB+;}y_qeilkMd9{r)k!-JN+eZ_1mQH#4u4j|!$G zS>cZ}A%8dkzPL5`rl2j2@^Td5y>zVooFKk*)dm|{>jqh7TFm?IOp-8P4PcIm!Hf-H!ZB74Smn2!%wq?vXMp7!1DLr3U^*nstpUuQF&NN0 z-`|uk3PAQ4I5%`f=)L?a61NFv|p@T4PjpHkeWSvLzvzjni)9n z9wqbMJIMRM0qt_MggGvNId}lf6bbXKpc;4nS1?m0%##7kZU1L5(?mQL4`A*X0JD>Xc_4sUAAw=r$QcY{mah$f zZitQpCs_Z>-&D;UrDg01PuAqwj$p|%8tLT&w<_yteyIQp`gWa$um))Q^P$T5zo?mYo`7B3tk@cVrn84%cn}SqiYLD4*sjV471K7>*8q?X-U$1*K`GWpJ*Q zL1$4?uoz{*#p+*J-cFEZq9be2lg-_T5{=V0;@hBK_hcM|HznLtaBQ^(hyLEV`l>ZD z;hG>J)J64;YbYUp-K7H)&evDXmI-GE390-d>1;}hUw7HSq}fut=#=t3*n_4(ZYvbI zt&sHRs{ndo{kmN<5xL;`k`@C2eY4OHPYy#%8${Nn-!2PeU(NEn7=%B=&+H7T<3&Pt zAu?MQ%K4iLNJh!?m~mPlAA2g~{~#GlM6A2BGEpH}3IC~h{*~@T;6XVf!Tk3CyBE%F zba!V2d;rq`shO7waOAaf45-07UQ1j3I$b%9vD4Fxw3o0gcL9XUttQJoRkZ0+_X}iW zXh32vBum?qb8pDylfp_)cf{tGublSh61HV*X#?QOXaLkvii2R(qX<-XxWU3b4E*>0 zZ5!*~ke+#0-TLQE?@Y}xRSS%@9dnwf$hNmZ-W2_c!(FLlks>7vv;j8;nRC${n@gYW zJ66fk*0jN_)tfhOj)p<=X0UdVDD@~xiNGW4wk(f(vF1IZCE1>>NG#gx@7qo<>j$Bi zGnih;++Yp8B%6|3rWe^p^30p428JJ^RAb3*?mN0(Lka4cwWg+_VgyuE1bqO)C>1Hc zSQTx`{oGD!-2VgT{>xeYw0at!`=1s$_lHxH6|rOgoTv(cga`H!eJ0#J|C8i1cBZi% zw0x#Xqw-!MX4ynU8a`s14?M$bv`!33xW0geMtNrW;$@5Cy!gNPJfLSe$1ia=s|n*c zy-+RbBxD&}@R#ezHXLzk{rmluROW@5dh*CBA6*kuvG(tpvuvF3)}Cc^PDc3%(41v+ zsLlGo>Ryax5sO@EcTK?EKpqNS-TQe>MzrXS<1|A`16)KSG3B3*ju=Z4ALEn+xR{Y- zB_I|}!#!EdTYYCrvG5-UV&QhoYjz=Tc?TPAPlnBkU#3aBC#{wd`b$K<8_3@L#urIl z${Sm{Pc)lUDESIZeLX6^N$QN3B{&P_yY5L^=fR<@InER1-4NeI^26Of6TgI1`x#~H zVgH)_4D8Bo1|6Rv@2^Ty-k}`IJIEHUC-xAWSH}9na4%LjRfEJ=qxTzi;xE}s`n6k0 zf9Y1zUlzt2S_zE`c3D@d5R;Y%HWGZkmT(tmpfkAFB+FlzfGyG`ppnZ(HqHIkV!AKF z$QOO<_0Cs@n&*+B<}brgv)J-x+SVe*y%Jhyc3|Vy)ZidHA@G;)Ya|u0)@FZq*v7T& z-o4^k-4kZDm&&TTw+San_-%IQz)-zdaf90vx^Jart^5EP%F_LvVgJoci-j0g>w6c( zQQQj@O9=&H+&zF|AMuv1>|-jWB^np|L5owCHQjH0MU`z}sc1AnbaI4d*@Cw24?uTU zpjbu-S_)0hY3(mR$ab9ehXJR>x_g$KmCW*L+~%&VGdC?<9-W)U2H~rhgZD;?D~D`!DWqJf{ZTlA7)hA1P} zvLxC*Jle}xn;wfl&ws}$QR&WbB^)yfVYydrEz17|6M zJ=AJs`L1H+-U_DMtJ$bvAks%8g?hdg(ct}Mk_?BfhhtCH5$&}RKbhV&w0G3pD(Pnz zyy3xn(Q6Rzz2aR^A4qY~64cf;S_VF=VVWT`S!7m95zaH%5w;&D2KYC4Z&*58v{Us} zUE2SFy(+f(RCz@wKZ31BM~gwi8hYhrkQK>o>`&cZ$a=$!jz&Yq1cB;&CrSCylE|`E z=a6t8DdAM=%2t8pyava`V&*xUAl!2^kvd~Mq^Nx>$SaWZis-^|2zX5tYLxT7M7cg?>HX!Zp@wAvHGGQIIB4>3@OwMXR-t*#l zw*>Jr^PdEH3=Z?oHo&~Q4KVL*1I+u|0MoY(FhAV}n4b-V853{6t?FM5gdJS}Y9MTV z-KYAngX?MygdJR0Yas04x>^Ha*VcixNbZFB2{AaY<-sXM7HJSyFi>U48ftjR$d+%; zMEGjhU(GVjpRJZbr8R&gknM{O223M%$0=eH^UnB)Y#)IPknN*T$o3VLv+J(72w4QA z0ZvBl4vfS}@xREdp%f3E9A6_{7O^2`Y0rsgj@A>}=_^6cj5QNhFEt~gwVbs>78(XQ z#13?4l119|X>8f;7-yI66q7Nj97MAvb%SQ*ko|L-EnP&Rqy_g(Dw|y-8`o_G!2|*6 z27fvEpEI05tj$So@J|zg89n zct4lld-1-O-`C>(Je}QfiZy|f(#dzhU7yhcUmt(Kej2oA(lK*KHmQ!A`FwY{CJ=eQj$qB$)q5OAdnU$nM6q@agr|} ziPvMUS|H&UM30UMegVNRVEEezezIQa<#T$X8%H!DhxngTd|CwfpJXK8U}?9CBHd1P zPZsnF8qpnvrN<>*0 zETJfx#bwYd=tBRqu$-`Q(*XK5{j~-PhF@Bvb`ygIo!n^p=ZUaNNo=XIM(>5O!UFn= zC%FVRzevqougmED{GhPO$QLJ&bI>bT-uA(UAcirUyFx&F(E7TjS(15DkG=Bk~U^a2^@aaQT4 zB2y-EvN{m)TtJ(NBxNB7Mn_{Zo(1kcY|0`zXck$^W*01=;}J%q*?SQf4B1WA2LDgg zAfpg-aijw+bg_)(dcoJi5TYF_MTQHLwZP$8mVW^hS8V#Q>7yZ)hQ628VcGJ=1^fFM zaAhzN7P2n{M=YPLgNM^F0~a&W+Ha~~6#8g7>i@3jKyLHlSvqv%^V;#6(U|PLBvK9%AwRWHq(sU>46vq*4hq@pT8ThYnJlBzY~rER0pyZ*On^q_!7+XVF`eeHCHqBXKK z!Iy`COp=;6K>$rBpz@$V0l$5qTpLOU3W&9skxDP&4HHi3fYZer27c*fykS_E3TKEn zP)=zP-asj(b$CPDm)^kJrFwY(Iwjbvuv~V^pn1A;IIj(zji#En1E(ed&yT&pP-^e; z6ScY^GW@AQ!arZDBO=2u8YKMULBcN?pi?sNcK0$=_w`__6BuAIOWmc=Dg#O0RWGNN zl#`JEjBjYT5Uky|k`7w=QjiY3^T~tfC4p^sy>hu+l<1C0emiDpkBf#Fx$e_Ei=^rW zTXC5IvFCnWndnQ~BFW`O#76w>!I3qFp!kcM=St}n6um!@vda%;!rLKr4l_YJ`LggF z<{(Y!6i}*;?f6;jDwYl_;Q-~b*a3={ES*y#nf=?uBg1v-G%PP?@w7F_?UYD})E87igrGTK_os+)8_osXQQ6f#Y+819woc!cWEt{2_sGE(L| z+8#TVqiqWLhhwDt!&SkqP#X|;br4r;BxvB^zABi@5@hdTGt<;ne0GxNB4j<$4#*XL z>$K8-6qG8RPR~$30*-&1!~Wv4Gj8(IhB8i8zm<`Phf-fEl-0;6ReK1FSni8-HQ9Z6 zcyhNlmS8SLXKbA%?Do8+c zAd=XzB%@Rw@K1xM81pKQ503}!)9Y3a=+g&Qa-VKm8SPV3gE4^u>e{6B4?A7g^rnP- zYI=2%Sbv)m20g9HV)5JBdP2@tZw)xuUCR+YsiX5|69fn7Gj-C@$5in`Ae^EneRMwA zlyH*#nN}d+u9SJ!okcUq$sN9;Qr=!xr3YNVwW0ycDMRhZ7c34G+1EN8os8BPltFqF z46$Q;xsCe%MwF+h>U)N)?-{bbOJseQP<@X?Eq6tIU~{py)k7zkPhT{4C0+y_^jg^T86Q0a&*0v zS|!%|M+Ip08rpQ>H=@53&iR7DOZq<-lV#;BXguFXnl3ygMX=T2x;BPuVu0&f!gXyN z*VrxNGD92wNm?t3XASKJ!u7aUy&gI16+C*6R#$&V(beA@xR$%#z||jO;7HtaZ$zT& zkf^k16&B9xqswH(>LAk+&WwiF@IFyHc;x-7t+R1bYyryJQLb*v@i4eDBZTo;j?yaBDX*8KK+HVu8#Tm`T_t&F(P+t}w);K38y8 z5Ye{^RjdXdi#Nr_;uWjaSiFhG;!Rs0_h(1O;#P3o9K*FCz;!d>x_Rs4K7vbE<9?P- zIShGFsmbS*;fhYx{FCSfDjqx<<4%3#{<>!)Hn_fo$}zudx@M z!gsn-fQMz<#CU1acEDa^KQR|3u>a`~`ibrW;O}UZl97RKb}#59=XvgvNfzURg`gpp z|B?9A{eRFcXd`8%z5+Wbzr#HS@+xEsS<*GnrAn`!sgCZA!ZNZkC<4oK18sj@Io>)r zaJ@(kzjaj9f-&fldCqL(g5{B~ngc zmS4G}O7~(+wJYr4W|Yb8 z9HU8+J5`-d+%gvVWy==x7A%W3i3&QFE|1t2x8&>Xd}EQDSJYvEQobn3_7-Ea1z5oL6w|qiBla54Pz3Cu?td zIJo~IK`4+JK}@wuKRi=j1nGSJ14~#nK@F+2o5_YIxwW{><6mL`Q_C4FbP}<7Y|uTj z^aV$GN~2c6eO*2h5A#-R&MK6rfNi9)kuhvG=e&us;$mO5o{v$)$U{U{FPd&+HnbsN zYTp;>$1$x+U47hXUA0t>VS~r);d4VWV!3J17=}}92s-BIezIZIX_xv%wY_5L`Dw5p z3h&NMnb5ji-ZDiu=>Dw+HFvTz>(~V@nkQPH+9{vHv6iG9tnlh3HzpiuR=&17UVjSwp%+m##Z+j{ud1*EO~Lkw;@tX;U&BENCx+EcInB0_S0f2 zZa|)5(dhgiD!WbSW!b}fX+t|(%<&WCxWsMriHV?Inl9?py{iaFDK{j7z)>Fzoz^3E zT<9d{;T%kC9^fpb?jL+{Efaqm#2@BAF@7qBf6$_<6_H6j)m{H*&AiV zSXZpMvu{#glktW7*>0Q$*`=V zYk#|RQ24dGU0M`=O}9%&g4dZ5HiufWNJmnde?o@Yutbg-n?g%Un%0efP z|C6;?KXe=x?F4V9dOaXmjK*la2Sq&X`GHu`_eTkw6M<9O+zH4s>$PhjN*q;LiX<)F zzM86v*-_4S(KmtsKC`09a|kKre!gMWNqRua(06^0!~0c_jxmw zHkLZ(k#`u5xopYMgceXW=Iysr1!L(QDQT%uo}Gz3x;BaS{~2yPlj|^2vxrM_(HK1$ zJI>l6(Co2ja_Xpo)J==sukg5yCiKSB+Jfm}sDNXCE8Gt$TbBvqf*>d(=F#n_9S$JO z20z@piOb@1BJ%&Tiy0|N*0OtYsief0DN2;Fadl3j{8g z*Gxjim^K1aveVGP&|{yQ6(5FYvCLl1Z15&(Hj|sAIzAR7ekCm`Glgl(lCFKfAI+UX zi7^46ksKEK|A?MXtUfC$YZ=@b#AP6%aMIDl9~<$(tK4`Q{Y*3(AG9!eiGn(pmHX1z zbw$*f4Q_=3XEyQj^_~^=WrJyF>%MGe4C>2fn;h9Z{~tKA3HbTZ+T3IKek@wC^Jj$> z1I@ut>13jVh_V_?QbN?mQto!b>yZKXEZCz*?pa3G?Jspp6v`qOgR>ZSvcL#!}?An|0Czd8DbK7nlE|5NfvY7WSz)?H-ZRg(N|4~hzTPosTCsj&5lxe zHtWPpi)3ELstSUPhsh%TO!?KzXLV>IoS{SG6MO1bx+$G6*9QK?mxqo{~XeI1n^P zU-g^}0;7x|Pha)C48p!sHt4f52zr09N}`Tw!6tZmv^{5jO4Z!-Xl;|C4)0Oa3$?9^ zsOKr_@qrDC$h#@>iFhQM0Ff6{z|FssD=u=p60egMZ0wHx(C|o%o>VxnRRZ_-7i6WkA6+J3pdi;i*P z`1=`tI>C$32PpIb4&5Oew-dKOG*_n{?1MT|20d9g&@N`XC!;-SZ`3(d?UfV^8g+=+ z6&UVUu!HITH@79kN<~9X(ddk+t<#*;>?PgrCzZUX6O}yWK`6oxRNVj)LXGA@xhRQp zYNSg~yf4Wah8S__svAA-gH$_~Rs}VX2us%U^$D8%ub+>GvO!w!AdygCLP^o!(d05! z&u&X(Mw4_y#iKjimubEqTKbzHmC~%U)m19*!FEr;KU%QgLz~LwRkkV7DD45!ro1Oq zFkzcML^b@&|6Q9x9_S3T>G`rv8RLbrO&=Ct%j-1i$@=)(2Bn1Fe%zoB*EA?bn@I8M z9(5WMRO!AnSYt{WeFy!|@{uG}oX(}@8L}QYTR9kY*eL7pRbqf?C`#$&dx$;ky%z@) z_a)?p(u|Uw3)sutm(Z})50>jj*S%ExI@y=dptw*3~hnA z6iLqyGw_brMG6)&%0+?~iYh*a6EMU5x&c1gUcFpjEi0KzZK0CMI+avsX0SIgbqjq7 zd%m<7p(KxUUtSW{@IF;T*642no#K+%;!9%FJ334!7ALA$(04L;XQ)x@{|~)|di+qp zP1|B$9jG?kK>Y;w)tzBY?&q3py{lG)>AmChLbRuz2z%;D?y0B#H+l;7!x7E&E%eg@ z)b8`Lc29FZT@=>t0a?39H(eX;rlZ1SVjeC;d+F)_rCySDJjGPI1JA|Vi3~cj20a6@ zvutV4vy~|k#cCV$q|J552<9w@&9{dJ0&Q^oYAMtRB}QI3MOoP%OXbW0^5+s=GOFoVv_W@W>@ zuBGiM+OnI@o>&a8(d;mWkue}@W>dMcNr~ar-6BGmemYVnJ(X}>qhY!`(p=pAi3Y3r zblJgvLqu@tZ-Ok9=8nC=e~BhXR&wvirrg;f`-DCmoiaixVz&K&eU-=@M`d;_H*1Tz zVXTf!nW6e+nA?e9C5%-QBYVi9#!7se{>wZMdS(!fA?%nGZBR6lXG^(r)CA_3p=|VO z-M<_c2kZU41YK`xiS4-B1KpsRqTTiKD_pzjM1eAqi0z^gZuDdO=*Pt9M|1cgpVj;HsDAw{ zqQ#xF(Q}tT2VAdwNnIIDf^g55^gy3A0`uh<%$MUZvsq^39zCKvi*Tt6d#?%~qgU=% z(n0qJGOkH&Xn@BslSOy0Y#?8sq>JbvuF))8FiN^0s0!Ute;{CXX4(1I(ZN7ybXsP! zQu)Ki|5*%`4jG6^)-L3_p;u>^^57CsxF;B5iUF3+N$V;AJD+w6rn`4miW1N`%vy%& zZy?cu6GS!9=Ki;7Y4fHu+3p*7O=(Vw3hs|UhGGeGzhlUgfQ3+Ac4%OC`uFfJfPdWiY4{{O^G)@miWR_xr?Dh&;ZS zVJDh)L*Ez?{sSQUsX(Un7v2w%HAnnsHfn9tl|L}<&p9-AmFGun1{|6V^r%hpzqb;q z1@0ky%BZ)rWvUNDq@(&!L_eb;$jc;a_u)Mq%Mx)OE3#4?`T>#%EXK3Kdi}Y8Hrz#+ zCx`NL)w!WLZL6c%&@0HHe5Am{Hq5;i8D@};?(*UwhR;GPv-k|5=WfNI{HK2k2 zpzn~Ve19g^cV7+r?tx6a??U=nrs(I9`t-wgBIocN1sJ3Jqo^H|7|oB(Zk6UGzFI^B z$IpateycZThHrJutWp^qrion?wS&Jjq|1Oz6kch^<7;6b)*WYG`+pv1$f0~?Hr7{P z3;XJlEtFBV%|ip)`M3e}bV5k$y0+`Kl&#SyZwgD*WXSTo8kXm%+7UHEB0>4=pnO!c zE-VGd1hSk4`AwH?43F1j?yz*uIS?P6r@q-yqoOT??2NG<3Z>!u7P@BX%yY6x5NaXs zQ6j#X&kqf57**KH(0hLfM*fKYMD-O#m$+i~XWnGBEh8|Sd^afk& z=(J0BpF?^{&zut#ZIx>`(@Fo@;Qp$6qnJV_=yrwkyY)slIC$|CeW3WY?6~z(z4JUKe(rH)Kl-n+(+{0A) z^Ny!E4voVTMLX_Jv_*B0I@?*xmd?96%tC`V&oB#o$;^G?-kT(@o9~hYz(mt3_E0+# z)~=zZ6@D?pgN1!@%azX(Z{B*u?QO-@?QdU;_Nt?S^tQpgvkp7IN}mpaZVSZE_S8c6 zJD-pcQt9n;V2o!T2_cpKc21zMf;!^-b&ndE`=Wbu)bBWDZu##RQ57t~FFv98#V1%g zxbmb5pqEGLIMOQ3s)SB5NCVP6KO3yqfsBvtUXTq0<}Z%$#*y)Ctb$Q{F#;AQkhMaG8KJVyXw!4%>^dGPkboL1;KhuON%o9o&g5w(5QvMCn8v zG5o}kR?|8}5yEgX`_=%Fw$8L;uFoemIJd6J>>_pBrF)HmAX-|G>l>OxMSH@6Q^OKv8{~_G0J*y@GeT5YOs%`EqPm7?R*Q+5?yF57c9-3D*3~qt&wy6u2oipV=GEyWalWjMp&+CBjmVlC z_*J0})hmdL3YMWyvA5iFt9|;7ZR=C9RoQDmpF*~$J(XThayRwjL^N8-; z6m%y#yIWnt*YD5jvozWBZ!~-8Qy^5LVMVq;HYnOYnKeQC?4a7`1?lhZdD0dMn!2rM zMwnA`u@(k3G4FnDN%x!3C@tT+xpzhw3 zB^7!q7bTX8q@=AdrB%f|R}<4ORsZ5Ean#Nv?wX{{bM~e8e7NA&#*;6-EySNcAl`t# z1GOIy3(o}&)VatH_!@Ok!ujqj(#=O(l}1(3rY{8j#P9yQg8Yg{7a?>jrWLrc3vGQ% zA4a|PMoalzv7%LxMKqoSnj(Gt0`np!@yyeuEhWOcI}MJo2*;GOD#KbnWv_wu&saqj zJ&y#I{~oxE_jx3Ri%5MH98K9YlRj+V^lVFhgiab5&pJGE{}A|HV!k|7mSPqB7Xw}r zyzT-%tJo0k17ddHUsO#K#gz+jy{P#3`ZL(KbfrHN+E83T{f?M{zHJTodr`dTw*sQ? zPt;*K(S&DZL;Dm_9E%CZ%Y)!(*8=^rvAP7SVA?nM5%M)k<7`W~&e|d_*oWIu`Gk}# z)U+tljKnI~tO(-HjBeTP8hHv2qQ5K@m||9-`Vy`0_f!MnskltoGu2Qg%phO1d)K$K zASJ@GUZ=8288L!QJU`sV#pSxpzA4g1<+lg1Q7PeDBz&#C%9)3Rb`r4vWB($hmrGvXG);4&}h}ky0wD-TUZTN{+$F^Y*7|N-LUS%JX#B=JES80k5DSaVN+rTAOw>n-K zYRwDOpCn$6?hp5&`WFZ64?Q*S#`yNzqkOyNKbO@8n;_z2_G`U^k6Dv+8|3^jQm->X z$Z=Va^J~~0-wwJ%Q??9cecV^FAPe`|aGo{jyzX=A4hFJ&g`78DU-KH!^Y}`0~|ji-0RdUc;<|TCY>@)_b0>~z>h8v=4|N? zy@C9d9IWlZgcF_jhcbP=uGiS6l>3;##X|HP6}R&H4w!rHV4+UtQVXV7nO>(uAIh75 zp~dGYmK*{8oiI56*O=c;K97>}o&Fa>x34uavU{H!mEi?F?N`4{ks^Wn|9i~md0kvJ zLc3eCSu$rE+v3~Y7WAOsm{F50)O$c#_-v7Ein9B+Liz2i7PXOF6JHGDyKvk5HWNYA zU(F_FmER1{zJ{wjboXPL;#|lMv_w&D0d9B=Tmt^X>cFu$z=wwPNFv|a=AsnJ#J{IQp`jn_`Aa{RnMh!i{G3Z zOf*~_DV9L9P|sQwsn(zaMPUx$G6K53Q0n&4=FGCBLM~V2$7nLUosiau?0cR9Wiew;2 z!hyaXR9`ahgTlP)NIu~1E+{X_vSe8R0!n;Nw&x1K;%yPV$vpeDAkR924^VO4F-mOt zMwWlTnWNL#L)HuNwus(jp7(`$))9Tc0p&E6C&|M&ECB&^R>$eN0o! z%p$vuB(JJTov%&-b8!8Ai*8Y>(4e`P?1D28=)sH>L+22ZH`oaNj()S6!TK-V&~hm2 zL$JHit5q1*VTG9L8n{>xQ$Yb*^Zv&)_`L(0EV!z{-GH910K~D`?Fp_1rfG$|X{9T@ zWF)3#Qaasl8AD*fL1fsLPgfD)q}|zUgFT-VO(Zh>1#Z5-)HkHb>Mwi{-h4}wjzerl zZ?cml38HbD6%DuiPjs?smms}e-4k2^tLV%c1MP36rGrtOavGG5e!fvKd5!H_ zVie~4x!O^8@%_3kwq?KS=e-&Eh7oOeD7E2hiP|=7@HzsEd{E`1@;HH6zDCPoK_LJ2 zM8w428-ai57lDNgjf(O?Q&hm$s8?XZD**mO!2dOb_f~1WZ`UuCG{c!=VI>7W zPxE%sQoU=H{h@Qo0){mta6N(;_lsx%$8kD_YPNf~_)y6$ty$Tx;=T7Ut$W{a?|qJV z+O%$yB0rsB`73ZxKKeX)qmuO&>#mz+nT=xBTd3DGPUlXw+9jP6^-Z(mAx-+GV`3pV z6IHydrTt!%<1n6wD{1lw)gWetKLTqvx}oURnxUbq-P_%(}aLW zV~;WDf?G+ZO?UsU)*;?)PSf3AgZ&f3&}-kv;QEyR)rge{K{RKcB=S3)=FHyn;#6aU zYJLOpvbBi8vAkECN5<+sKb|UuRKKNEh;i@1SiBdPBiw%@MIE5Pu!!%?e@9zadSuJL z2P-Cs>klN{x*+ZUkwom^4#)o!?^mfiI%x*^ljO8IMr$eY`DX}_rTk9}Il-}=5-cZj zE_t{wn}+K}oCTKAuZMe_xl z7Sx37v}tZl$V542?wqSGYnx<9MTLaqPUV3dLl4VI@f?Zkm5eBeXW8rFaEnr(p~j#f zcqr&AyXf9fR%N!XS~~5`X1QS>FWvsM_ici+Z7N^sMUg|R>y8o$*Mc-Ry{U>`dKXbG z9Q6*L!9>^UkI##qABu%pdo$E2RnDL2E`yvumFE~#0T|JbFcsxbaSZVj+Q#BnUb*?7 zp=+(evVy;xK{oCw(*KJAOYlZk>w~Eo>8~!HBRejUE}>}sf+z94muX2c`V;i-Ysn>; z{bKd8&zJS7*&#>wweRx2_C2+)O_Gha#e64D-2@`(7-2>}8uSX1`MYJ6$h6aB_7B@b zl-Ge(nzfj{R+19AxsnYwTZayf_+<*^ztWb&+aI=}y}@lmhmdU%6VYU3;dQ-& z;#)QZ{qng$2X~K1HQx{S?eOQdgz887k}%FK^(Ljs8CuB&gTfWUo!eYvkh@}bqA;8OFoo!F-K(OsyRq5qCK&Cby|!yYJMA9uu0 zb!E>MyzvoqMxj>_3f9;xXT{6_UO=J0Ap#!WO#eypBHLO1 zzYNkYaML2WF&%Fi@n$OXo8*IOgvC?L_xiG8_iEL8Ug9~%(WdXob4;{(e-^p7h3@Q8 z+`hAA`_7KG?*MYS5#&N%ShFTQa>)ZaoFwaRMclm-#k6ZOf;_(FZ97G-Tl1-=6!~ry zJnFv-tCt?eX6 z-O*gfd9sf4wpd3C^5iS$@sOCuLjs(?O~2uQXi#KMEP!75faVCeA}nu!r(iLH$S>hW z4CIu57i5OcZImo=VahNW)Efk`=}Rml;RsrzS)q4Bv4ZUG@ID})mI$4+pD-~B`I#h{ z+!O?z7f42fBxqHJeV!v#C9Vxl7f;dNX=1MO_s*=CR)BFV#u$!O|Sla>MBdYXi>TSXoG(g()D42OpoKbOyc|9 zp=_-^YY$G_&@+`L7L*f)h+cNz zfzKMDVfhQJ)1v7b_$YG_TZ2X!>ysGv&7A!Z~m^+hQmIO^kY4f-40U$28(8;y434M!I&kc%Go_ z2w$#?`s!{GYgi%Y9bl)vh@b|o$#5I6MiG}u`P~_X)_{5Lm_!ZO|l%Z$FXO$=*v8+kY{!{SMgvlnJ&UF=Xe{e>K_IGbB22KXsFw=R(D#DW;#2{zYhO3PMD=QG_SbZ`v|c(qtStA*XqORJhA zGu@xj^qVtzXNmc9Xvq_tf9a{?0v-1t8ndH}4u!HTzd=UhENEz{r#7{U#>6S3qp9KG z$CmDd0EQV~dA(wP-E?hQ{Ba?1qJF$wCz_pR$8nmLE#jr3 zxyUO;Gg4fEqVggk!fB0YP6y$F_`9 zI25#uEm?B=nfZcKnAM5szF`_1n>Qgl?1$(j;G|eMbN5laZa{$%JHd8cUK#f1CH6wUtlbNd$c5Sq(FgkzUV}L? zvK@*R>Q`!iW{};vWxTHas@}R*%TJwRta^}nl?IdEvdR|%3criYCV49D=55^c53-dOuuR>4fj-|wCJ&fm`6L;#`ZjshSh5HI}P{Iux%rDT1DH!PHQr> z(|S;-ID2GDv#P)4Gc1d2Wt~QPAiohorHjQ39mxFp&4R)=v=!Z9*cKG<;V&~`avzd0 zR>mqlFTiPZV*F+eh{;%f(IhWcw(0Jei`Zwjw4(*C6@%caho(6rFnwT`Vq?AVv=Wo zVe)gh_@p^(?TmyN^(Es12_q<~C_h6OF-lA?)L)Z3p3WcjH3-f*B|dp;plM`M zOW-;%z>b@q`y+utnd#04PF4!c3Cz5Z*1t?qDVNN?-S46MokG6BJI={D4eRrbn$uYF zk}HEp+>No!QTsF{+soMJ6;9iiT@c-iy)M?%$>RA*g5^Tge~=d$sgqr9l9y-Nw8%%^>1?YLI|d#dRn&Q@N!l>( z43w0^U%3E!{XA;KUfERs9C^qT;JT|FtEhKC+Mi4-s91i=FIhO;)GNOwhSz^GCB1&N zYbuPJ&wm;*WTAE(xCW5g{vz$7TyT$YPwXCn3zfJq9LknI-V9w%rlO^@)a{x&$Jtjq z;@3)Jq3Sr)OJGH)nOPKcGHKkFhl$GY|(qP~Ac3?#j=kPEvTavn$ zJ~}n&Ph@@+3I>{0+Fuk~_OI6>Sn?B7;6;-DDJeQ5J1GUK5If2f2*mOa5YN)3B9YsM zp*cy_(|SpL<>DmG8e*CsC0l421|9Jc8hbr<3Gh)S+S+qS=@ zyMl;FY$55+!9t*yr-?`Pk0kcy?usq+G6eid1ek7*#p;(leT&`3teg~j_(QO!@?1>x zIw14Lq`Mssj7B9jYvr>Lo+d<%CIu_fW4s&O(SZ6Upa^?gr!|RG1!XZxK`|Olk@3#4 zqF_%wHv!24mTTApvF57Z!Zo^XwRP?@$#lg`=Jj5wHrrRwW_vs~+b(Uk5z~8BJbD76 zCsQj67`5}>V4+qJ6Co8PMdeUjrvf&MjMg++6W=LH5Wa+OWQzuDOX1G(Jh`5lCTm&=f z{#d-G+`~+oQ*lY~M=8_xC;9xdF17CdECW7K0iVc#PgTIDAs-E%K+0C5pPJpT^4;GE z-Q6t*@lu3x;r-*q&milddqp743dNT8rRHUnhW&LS)NDQ4~W$Jgq&pO=4giQ?gg}ybUGRk-=@1D3_uwK z7p$EbX}kIrkTlKKNE>ADxQC;6EcZ}646dBad0D;exGwE*`?N5}GExTl9-=y+Z2O|< zO&VK}R%O)bjOr{dqbvosTSl}LhAc(UKV!w5a5m{Zd7sx#FMCu8e>ya!EZ@VjWR>QM zm`&dZrb{|<+7+mOhx4p9fuD`C&%$+wRXSOKyPqX$LeE9$HCW`Mp*JG517olgb3{|3 zzpxCGd=%!(fWatM0S_UdD-!S;0=AC?`~U${A_2caz~Nd=nf{5;f7OK#x(u5*- zhzxF)AzXdSpMdLiK5I*AXNu<<-fQB1tvtIF( zeAP^E^)>M=Mni;S(y0*SvBL5X$Bce;P)c=IIzsDOK%(Z<3v`WL0I;;6a8oi2*n!Zy*RB=$em8uU-K1|^6;?&W!7 zWsa_4>FK{~<0z*&*z-nYwwKHKC6JkH4dW<}p)!w6HVIt^o>R95+Y-Wx(*8@8_Fr-d z{kIDEw+!f40sY~cx?1FauBcCWB327auU-wmheq`pJk08~kfYSC3Z8D6$eG?t*IyLy zDjg%EVHlHSqs#p*Z4#`0s|}2gh69R=nA=&Ni^!dG8P=i&Ww=3>;f6>V zZm3g+8@5!2?Y2?|=#q3MBK?&h)z^D33MAb*!f-DLq!iFUdx~`D=>yVbFAijldv{2{ z+ps8OT48PGmsMXOrPnjUdD9?2YfN8;=~k(z!`xnGSyrf3Sn|rSi+DcT&6VwTBe&Z+ zG+6Iv*Z>_b%Hf}E1~qP$Li*zW-a%n9N3W?$n%Yx;8J{NCaIq_Uz^LjusTW@KZpJ~IsN+1Fkj{w$L80hN^2nRsCzh&7x4T1bzE?0WaY9PzmX{;dJ+ z{;k?}r}OM+)k2_6rE2G}wpienx(C&_O)jn4|k z1rGteLIZ;-pC^Uk3F1ITN*^MhXa3{Wlv4H?D#q3@(ROVclxy0nGX-Q1ZNvF#%z4{wT90+?*y|HoVsVCD=FrLL_PX~$c%z{k z?&UNo3+_NOBzHhBA|Rmx=tbh&Q=QM0XJJ~MEq?S(^8>>pmlCI|ui06I_YXt3zGj#3 z-Kfq%f4M!<@b$2|B>K+uV8~$b3zy(>@ zC_A91iDgJYZ^W65QN3F{=mul1$-YBj4$|F|KVmlN4F9%7#7;{;ieg$IF@^Ut zuQ9HF*5Z0i;re$R*U%WQII6v)sP>7s-M1M}e=VMGD?D0q5Iie@$B5$jTolj3IG$G+ z&u6uGUQu}d8n4e5`e@%Mn*D0}=vBt^w^}@}Dm?$#W<2{x@f=Wt=S{|QcP-7msqkc? z?Z&p`2v0G{|G;Se2i4^NJ>ISB1Ru4R4as>nbcYMdus1@6^skraz4OYZz4z%F@3#{M?I67!V3s_Re zsae;w%dy^802WcUhJ%naj&pKeu6qS6bN?LIZ0-6m%1|trr=@U4Jp{Q|9Qw`EFG5^T z7pv9^T!A+SQELtn*<#7Zg}{@v>QZO{746 zBm9N9_Rvdz+!IDK!puvYhglk93+|$fn+A$?$LZ2INOc&M2f6V5(Ig95AXHv2>CFV= z4VTDdArFRA1466H?M@Jxb`F&vZ8{x`NSU0OcX9m)&*v;U=?FhYuKw4H3^N647wkECXtXbp8);0Q*piE6~h2Mp3ua zq82<8BHBlk9~BJUIqH-6Cit7XBA}br{^_Ij3J5Etv*}sE7ZL4cynLbj1KRa+;j8!& z??drEgx{O+4l=^wkNb{*ZjaD#v4)0+qaY)tZ+o)SS}79!w*H&k5)`|1FQ@g{y4xpm zde76syU<~pUZiP?&LOW7M17^M(r4{@^zV?rj_!Rx|C#rXg7W(?DiMr^w$f9tjG?X> zfhL$KD8WAzv^Exjt^X!q?=%600RJ#tri(1~>NrYVK^{3>%w&|C%&f9VQ#tCDQS=LN zp9WP6(+ct}X5NSIPlX0uJC2|U7i~-~;$}b;m52~_I-I$`L1cJUK`EN779;z9F|}03 z6C{2Mev!!vAO0vsR;7yI;CajpUgYudBDcsQ_l*piu$eFwGJPrCeGjF44|5ab=1j?( zUzp&(l>9Eqv|L5(0I909(*V)7#EF(Z70q51^flA$@PRa23~2UUNwcV1bqv$#NW72W z_tAJCrD*oUT-46cyvZpy;;8!s?%}#n9LJH>NlbZdYN}{c zQ^llst4}fleJ-^7)w-$=xBGSj+r2Gl_y3XYjyhC3xUDDS-Q{-=@9nDHe_JzGbk(%& z6xFsE?>8n?+jb3X+p=2Wx@6n#h*BP*L!&o0Nv}**?NZ%|$0-8J9in-vGpOPCcWV9S zn>t9_SG&W^!g!9F87YWf0ao`|%r1+u&zyx>$DJtOdyQ#4f?y)vDCX9q;F zGkxRQ$uaL8Ir$@u1#}{x@*%vx3o4H+Hb`3T3w|VY_CXd zGp**juhD2VdQGF%XpZdn-O=K>wyMtK*2aS_ma6j&UW*9SYtcB4I!;+q&UnX);JG3= zZ|aU&T-H;?hhxIgmSC&D?M>2To~(MaD|h1@p3`>=vXA6V>J+bOTv-h!`{|`GFDPPu zF!BFgP5fvF%=;gFz|(z6R!*r-2%8}u-KQJwgik@O3;62DKK_?40P{kIZ-z*gc9+)DgGTZun7S*N}B4%fvdE$}gc zP=k(hYiyu3M&lm|<1xR$hTV;!Etvr9YpK9|rW4$ur`QyVx-$Poy({wpHZezNqi68_ zcwCkyis(u$v{T4!a8?N8KcpQ|E%SF{AaTIM-kHVwhIvUqmf6qkI zZ7^2hNVT(3uK>vK{{hSYVt^xM<(MF-y{kM%(DB-R4K1QhxmfDTlL>>&7197g7$5rQ z5G6kltLOfhEq-Ot8h8MzvVpE5y2=xg`$4hXcQRHUf;$sB_>S^`dgWNidK`zf`FNb@ zu8)wyVFoFbAC5<|y2v2uziN+M-z@ET!H(QS5(f3uS`B=IY}qg)~QcQJ673kh}uv$ zNtXC#o}bV)hTD#7!V2|Ig}SHGLkypqCZ}-#HFUcc+_TWm-)%JIk=tVG=1n`Q`vAig zBhXrj@9Glj`%Rl`;_zKPLK4K0AP9j9u>RgaHA}A?K?Cq4Q*Jemq|yNs6d zr)kpN4pG;RCTW;NyDBhiqD&%0t9vqEzMO(lD5`m~eA4%vke^$MZ`9`!cw|j)Ylv=%2U}N{NFN&oWhziUi?!r@R##N4`7Qbkpei)lxg^zgs(cE z7rYU^XkUfYio==4pI2ZagyrrM(OCN=(fWTfcy`(y{eBAi@F*28YPF2}`qW@2xYLJ0X!5E&)Ks?}>__5L}dqEbF*nUBsZz>TWo*uU9mn)@AU~ zi^cQSpspE9)s`ejGFJzZEiecKgHpQJ1=)`U0;+sEtt)5HskrDO5GhUaS|2PN0L8`3?xn4QlfG`!AN3NU^RL7gjF}-C&irkj~XC11VplxlLW_(IQ1rSIN z0n*YI7!$#V{>6|4xKgevc={z%lYT_tcjYKjmILz*1XH)Q+GnPLM61ZoYWIQix3qGdb znFJwl%=<%4zDZI1XhQrOI$d)d$!|9X{4>vf&5GF$DtQ*_B`S$0S5npSPSo*in%0f# zIoyNi&;%UR@hoOVD_}*}1a+*|uOngjU#=r?fL^{3#nG$g|4iTPD4whx!;?!%Jaz<6 z=|@u)QCsaHzUCR)a2&RDm5&7lt&UO9MTRtHV6ZWRQ?$6jytpxgvygU~rmw+Ev-=fI z^V&L%NuDJsu&aC$P+VHWV;JP4@-CVaI_Q3gWWrmf=WTy2)moq)sXUB`p;*--5u*aI zbH!JS0;3zYBIm^M?zN&7%I5(A^oIYM(DWuFeFdKG`B;d1MY);`_c{SKDVi`{xfqP! z4Y(86yd5~o{h}%D_Bq-phAUss5KYm<92m24VQQy~=LVcl6slJnp(wA>`y#HHeuQ~Z zw+d4X!%G>`w^j8T8uIvU?efLuAOm93MQcpP#E0;L&5+mf;SYjrsU29o4pVo#vUe?g zhPul{cXX!3i{HS0)FNjRn5VzU{P5KVJAIyK%IguFAK-p?EUrk9(WwoP`Wz$PmNzKN z%%?Rd%giepBC_wn7^cHG}VpcFuGGz+EMHM_!W+RwR5jmONtls?G-81{8WmT5nUtyOjMymnxoond?W`(m)2E{fUFV!$LH>rE8>3qUZU z(q149&FcYtYNuGo*w@(dpQzLX#uJvys3{`VIoxM5hpktxN8!dMqub^?4BDRPl^YO; zG2783`S^#f4H@R>k>-s?{7CaAgAdTr9;XC6F`#OA;_<{2-$)0HJAfu{#sS(oJ|skN zF^HFud=$PPu-r`4eKXA)r_z3*^BH1**Ts+c)*0&j7k+#0)>T>fjPIs_XM8sXXMC#~ z_>Aus6zgVnu2*S@A5T!fKo?+RxaZL;>ydFcZMu!tALfN?}Azp zy$5zA+gXmOwmSe3U%a=$90I6O%H>#)g^9gV=PSjy0TWrqYHb;BS7i(fb)l&Wb;s5V zb;ni;bw`~-i5~fa+&SJQpBs!&&g03DzK<7lIW%FcTB4EbNkKci2x?o2Pya0)Udfu^ z6biYCq5ixGsUk73+(!6{}tJc1p8`_a_A7Nv|gTPBBa`VTd%BA;LxZg;9-%~mqm zVl70R{fkLH#!2OyL`9mEu5VHsHBL(c^eFO>%$u#R@Il*y=$7?jQKR4rLj44(3sfE? zb{qVP%d*1j0^Y`b5~TMKCBd)%dx(KQMg0C#nhg6E!T`v!KZoPz8JbloUV>v>KnMHF zn7iD^sRq1h%2=hxMI*FMq!!5PmJROODzC9bzRx6Ciy@E~a!FpOo!F}DL2wVp2yU92 z$U=6T4n^z8X4R9|iibt?cEFFmK;yX7G)p_(pAm6#-A~0>3>6Qb?ka8(Lm}zk+7Rer z8l(q(51(a{Tg-6@SpCV!Vz?RhWZf;!WY;8ia&$?@jiW3|&W`YN(`DmHm+?6fGE%9+DpqsR7pHKkvdEj>9` zBlG|(itWBKRG!z?NUS(M5- zsYp4sVb%J$>yR951{-ZT7Q2Wy(veMwRfC%Lxh$m$#M%r_QMPBCg{-bb}hj#eM*&jC~AHfwOK?p zJIx~MY>E=ZC)nUc0`o8tGt3zVZ%<3+2Hu`Z7w;7K=+nBNH&KmeWHp{4I~7!oqEno? zfvQn(Z$me>I4y9l036*HaQLMt@o;Cj!2K1%y+QgF<0!9D zn3{9iNo&A>(bYn}!|8yWVa_O(kp*IU@|`@;yPU4lreLPhoc8?oh5Qt;EN<^iVUNsH zHK)s&>fR~Fo*XqDVoY`UmqTQ+lQB$lrgaPzaD;%N;Fx)e7@Sj_DbDunnECz~E|CQf zzU~}V=2_W7c;=^53+>?S&@o0UeJIj6)7?8n3Fw`jXlva+goxUz$7MP^^E*+0JZ{-Bcv$w1}Qa5TNFRnQ+GejdNN(b za7B=@A=Zu^U|{jTKo`Q-i(OGCHrfJ@8iB60*tu!Ph z4iJdG9!C_b$>V(YVrUShdLXRF%nN9>P*q`zvEWb_X(>`KK#fAC4qT|yr$~J$R-2Bv$sVm-ydu~%<7Z8cX^5q_WG?Sa1n4V_FKb- zm9N9mzk#nyD31!V@NYDw{M6HO&;E?OF$_*}pXSznCbp$G zNw0j9GIW!tp%eSOgqjB^-z;KN7|9wFr(! z2f^`V90xvozol@zNH~@N$76&8G3BpEaXcQu@x&lFUWntsXYb1j$4i9cDByUKa3H4q zR20Y45ggA9g5#Mu4t(~$s&KqQIF1F5Zx9Z|l%I{__+|vhb5R_TvG#l%2R?gWS2$iH z947$B^MnI29Rlo~PR*Q4e8cBFi7)Ggmr@$%ubcay^KCSh0(4BsIPh$(+} z%jNrCJoRZv{U)VGOnFnZeBXg*{7%OF9D0CqpUg6s{M#oKaad4m|B$mPg8$Rlz&@)MKfg>bg}XR)z)i0&iap+zpH zOGKuT(&FF#-7jcT&EOqcm-R|XN4egm(!B@l?_)*pqwhXbSyG$;PykhbYLY+^k{5$~ zx>sRe#qit1n+h^|9XC;kPia9 zEj4&`&Xhs?4*~ZP!u#w=+WYJyh3g=AyN<&(Rojo^wN*!c$?m%-NfhXV2#}I2%a(qy zPTgf|-a&(BOP3WLy0`D3d74U%E?XLQQ;?_5kkksAz6S5C^xyrv{>_{9H6H{4TA^L( zU;a)TnM&AKh)=;%p|v7{Tli$bEztcj0{Y>AR`~7;q*QZvMbt*R3uovgCrg#6;zzuf z@s7R{?1@`J358#w|*XDlJ*l6{x2f43~xV!n(?T#fbh%Y(zgLg#jk= zMQ7>oo7BiwcZxeKirgud^fJ;_-{)JEH*Cpyzo+&PI^83)FRUv?USbx2wVEBmOIRgS zd?L%CBc=b29m-upzH5k}(XaA7H85ogS*t1G9+lv8`|rby$bL{-JAYSI+U;}~2CgEC z#ltOMQTw0)XLh z0J=r~Y5W%Xr@y88z0Js`xu418P)!X8}36@?GL$K2;i0gprt;* z`T$^feSlj7fDv&3YT1wCE&EaIe*SB^sw21S&j+^ahe5mAjohw4TK!nHYeQr7e*P%E z@;@|H{Q^1B7=)g_>Pzh9AH`fiN1Pe@%^E&U0;CW<-j-H%#Lyl$AOac<1^+5d+0QZS zr4%E5+<=Ihl-VZDcAu}~*Xirw9=r0LgsA5)X>zP=!uzlI{d;)-wGo$*(&=oii|4`L zV1(|TBH5XJm8k*f)A(=G#UTOcmEWR`=0i(k&s1nmA%L^x`3wi2z@`R5oO1-C-(jQg zUzd_+NgVNe5%GHwQTaFlEPtTuP`*L^1L38}UxtyPC585rRNDWkNgFw35Fme~eEt-a ze{PBeE5{3BSo`Pr#rjBTU+pnzyYXd#h;&;r(i*EWL!|XJd>iIoU*SphFRCtFK>u)3 zri{ynCbj>MxbuLD>gpc-x#wJlp$#AkSOF^{5>caI?+rz4h)9{C3<@YJYE(qAH*66V zjTP)&vG;<#Ym6o)mRO>RNlap*iALYq``kG*81sGq|66aZ=UQ&=@9cf{>E+(J1s?C+ zjrYOv^~RB99O0&Y9Chh%$AV*eUnh}!_`X6*aI1fB3FBR}3lD6;1H}ixTg+||EpFa; z$S%f+cQ+YatY_FoInA?xsSH%#25 z+|*#XN=UO*9;96=e4$v@K9zK`_HBri1v<<1LJas_!P~t2wE~Kq_R5F1N`Oo2W%hsO z9OkT+R{xM=;qy00WSW@07=gRpq|Ph*cbpgOupCet{{o#D`puyU^d*|0GV}D`0+$H` z*f3vlTak8tIF+Zn57r)Ec$eQyIDyZ01)nzTrV`tCs5$|%Y-jPuMf@?S@Q7+HSDt@Y zd>iF5qVtM^MG6ou+dA3T{?^mEmJ8oawJ|^q;1yjTN4%E(JzwA4RqZ-6Pl@ao`&0-M z_xG2##N&&t8@lxBgHcE=Hwc46ONg)#Ve>8T>{Q7%?)QN99viOVvp<%BWyE5402}HTLuQjvokgSf=;!NYMMZBt_Xrx!4PhyWM<~v(6#P zN#x4iPQQ%6D{Ekau@ptSRcryZ7qzPwwd;VjTjFwaDHSg_dqB8ZhI`FyPYH$3mSmR( z&2XvlmYQl_s;0Hv6Rtg@SQ@in^E@T!4pOOOi%}P8&BaXU%-LmZ+iQV#A51+S2^371 z(UG@S7UVb20+4Gw2jHXKj_}UlDLM(u=)l$35srFU-f1q*{SIM1eAk9OBbluX@PZf7 z-@LF-hC_$Qd<0h!;C40t2m{O{rST+#512~S-oKjxzMHA{j{;M^oIS?NCtiHJaoO^5 z2FtftdsJop~%z`v^Y2`W;>`VQOYu zn6cWyw^5%!d3ZV-#-{Ydci;`z{g2jUut|ITW(3|b4e-{JMSt=}c+50ucTkvyU z=hZZO=3wppmSgDr%S6Rn`a4$p1^JB-$P4^Ne1hVAW>od>3H`a&06tWBPwoXhm?zSb z*gNET@Im0NGEB`~&GYYVzz?c0cm&Bm(tzIwbJs;V;+;(tFWacZ%UNrA@l%}MU0=IM z4_9^I7Aze;QIRcgyudsGDN!d(WWn$<7Z?twQ~m;oVMeEv(lPQPnmh`VQPZ z>kFTVpDQm);V0yO#GXj3x6R6K2aR+|m+_M-zp#em0Df0Lsr5Y{BASHF>L2UGba~E9 z$L#Z#F?+qX@Gxx<-4yi-H(H&twy~O*`LilM+TMnUT2$?q;kS37CY|+mc)5#rV_%}T zv)pD!^lp4Adye_$yELr;HeEr@(+15(&8JS}QkU@yw~d8YJvuJ4vmHy6#@o$O}7$kx)gXZZYg-zjE^c_5CZy;xp>)kG=%wkfYw(P z*BpFt2T}pnlC_ri3}pLZ)HfKlRzq$D0pb-QmBm&B{$!U^@hSyac{$!OT4KN}pwKJE z!pmF-MJ3?Ntb_%oEAmsC=ciFTKeHFrLqzb~GW&Q{h}VhqHGJqjQmP{UTizp;s#S&- z-xK0%Zx$hzch#STJ)~ACB7@qQr97#GOCV4%n@b?&RC#?9-a~SZTG~Zi1A)Hr-Zc<( zkJmt=wQC^IIN6oN(pwRZp~~@kNP+=>Q@11EaNpv=5v()^s4vbV-DkIbOGm8aWm+kJ(^Tjd>HM@J2+|j4TkLtI8CVrJ&GQa;6DNLw zJJ7+P;sHOG_pjxMS8wgItE=Jx{2FS>_XX?4GlyW$6Nkr}>O+)TK{N}Zph9d0T}24X z5C$$ZtA-T={@q`_|K_h=Nq>kocQ( zj^#^>OsK=S!*+vllnfTiO8bGZXi+`PX*D%kR9} z>X0Ef@vIa)TF**p7NqO1<9_fKQE+wYew7dk^@|)R3YSk-tS}QfvLRbd1lVj?i_RL~GkY=j<7+zX#d$FXM z&75eH7qH5(v&qX4Es((rj2+<`Da6dU>L{NLp@gsalGwgi+a_ZL#X_I(0_uLfnVfh&@2)sj~v#WQP`e$-#vYl^3E zZC;9mPvS;sznaISX}?U@uBnAwO0xV`9VqTsywbL0)H32$n%XYn!Bc$g4*cfcPIItw z(LdgC)t$lH*7=gy5$X{R-zx9Fmn-T&=C}Dja#vf+Mm3p@dga8Se6vp{ReSLGy~m8h z-aBRLqT2jEnocaw8HcI=c+R*J{t5~T0#~SLR=8T?QQ~myEg;1UukeiyKAK&2XK@w+ z(Y>sG_Tq1uol9=yJIg)~=Wti4B|l;x-{qhC_%PM-tnn6YAKw*{47cpvcb51qlXoa5 zn-0a7sSTFV)=kc@4DXT9=GSi4HPi&<26vrGQ;(@%=z$clk4yA zjRUz8uozYgAAA(&NY2D^;zGC^zAgU4QT+ZJlzATJwYU=VS|#!RJZr#oHjE!A@H)OE zoJa9>d`@Eu;Okeo^)6xCP_s?8v1O|v)ZfF&c1&>F#+t3Uge`>nmww;2ie{Tq!WKgP zOTBMVGE)DZtvS3)@)O4>tXo^>R~Y(R$a4Av)Z~cJl~PK z`x3r)Y4+*1`M^h?{as7gF4JCcI1E-19$`R<2=K6}zrI9-IOgx*1aCHWsZO&7N^7gZ zVOILBZWp{4w7&u`#?d)(^UTt`Gy1#8h#CJDai>j0=MO|2WQ`b<`2;%L;1V59TR-8u zo1eq)o)-<`eMHdNbZ>Q+;KDz?Aku1g1MDtqcFDr-$_MPe0K2Q2omtpj`+(g|u)D6= zr3kyvKVWwY>~3gw{e;~YAF%rp>~3my{e|7F57>PLc3*0Cslx8757^xXyW5&wny~x& z19o47-8Y(Dy0E+R0lRO&?yhDxK-k^;fZZLiyRX>|6n5W!!0s;CJ<#kjgx$jr*xduW zN1ELrVfR?tmHfTEzP7HwZOAoo!cqhEc9v^5c=^Q3KM1dm=&83jqITJzSmwt7xu)Tj z264BsfeqQn*AH=(0j{ciVzW_f#*>0?jcJpumhWm-Kh}A+q#wOyehp})y^9J?wMRlu zY+so)O71b>y2viE-a=q)#$W~fnc(jeB1DDt4MLpwf-qXq79?$~z%w>@e-IPJg3Drl zA|{{j4Z>AMSq7KC9GG^%PpL6xRo>m%*}B?f1}+KXl!tI$=Yu%R*EC zcf8>|Z7ulLC z!Ml$1;#_39<$S~TLdrDZZn^-FKySb0+K%-dOIg!!|3ycGE~A}O$#(|ZTdt>g{^L!- zGceC2vkad&M?w2mu=)g@_Kjx&EW^`IyNL=vG#?O6{mZ&S3o>=+c(_Uw?yS9oPz$!h zU^S!bzl8Vrm+**x3GenV;oY6Z?Hhhj#knP_xB+j=Kt+3%2exc&#df`1L$hXMR{@#z z2YzdE4hF#YSuZLYZhQ5z zD|y4ew;kT_ukHDQDIxd8Hzn-;anHZ}eojC5e$MBXuM2qDiQDGO!g=OKc;Wv~@V=RH zcy0!tfAi0UPvbTg02cxr1A_!;K~1cOO|6IULAi|bcKEX0A%8D|i=omQPi1YQ*fPWu zS4{I6+<{JE&h*T#z&(XD#QXoPxpJ}(-Hs=S)FyYeJuJC{GGtVQEYz?K`f#>0D#3*% zAF;{BQ2cUU7KCK@!fsn%d*MGdep>YbU@@{Q+u`#NP_JIr3LXsx;uif{3IDIMYm=b& z`w3=2jk!<Si}L{So6)zjPl;+>~ngqF4b4$1dSwBcd~D5|K50jn{eRd6h3MXCz!Q-YgG&RiXVhj zgh65iQ3&EY5M3$$ayfzGFPGpFTD}m5@+SC<#TqRHK7*KLk9X~%a-IBXa;++U)r7bq z?i4#Ngo$4#*J1oD_+x!4D)bZWp%)0oyLq$M;{*YzT{&9fl8B2#U~O&*`hK~f%3dih zFF<-;j^CVB#HV>M`3m@i4thCO!VCTwXYq42_n7qKZSgbC){l6q2L0?T=?8v(v-r7| zyHolpYw;6m>nGRh=Xgm!@GwGv<|ifhxb#!b;^!A)^;4_8=A=qVCvbB{pytHCDh!?~ z(ouPfqjffpNUb!jEwtxO@%=cxWm7PrgXSf6MR5Fm`#b62BRX-YR^5=qF>y zmCfKsB-Y=IAIdQ##yPWYCaGpOHcSuc^4t5v{BX z-*&91Z78h{W{8h=W4J$l1T_y@dI3+~e+P&nF0yyXxMI=t7LcXKxd62I%owbQbw7g@ zQM%LKnFl7g_}N7Kz+zYg;s46M6tbO-ZKpFuCSe=O3*8Qk1-2EGHQs0 z?aV(l_<;s0AbXRTMxb83tQA}uz19l+w=_42N#ng(S&)0NFco2}B3Wx#UTtB5SNGt; zw5ep@-1J`Gd?fpZ=$o7W**7=JzS&son~)fOZIU0u*Cw;KSo&s5SKG6^QI;1u!~2xq z>XzAAzP2vj>1_Kx0C*?y`=4BBfag1o@^!PFVAr{~#IDnmsbB2WWKd=}7#t{J0Q+}% z@9ty#ZBX^!0(TjxW7b11Ho(Ph2d4912hXwE>lhyJj!=2XOWwa2PB|({9ZKv*nf|bc z7jHlf%IpS79x9O}-UrqNe(wt7x+dsl$`Q56D7tc!0@`UINJ-z~l~KatA(~ zTu(^u$UmxJ7gzNL)v*$)Qe4F~(V#i;Ax$i3PX5DP5my;Ob^0H53HPplM=j;5{9ns- z5X*EB%XIL=WlDsU&i*44yEPe}l=*3&>weJ-Fx(sl)wB z8@ci-pL++m5)#TC-QwZAHV9wdNf$?92mf`Vp5-HCKk)xG`P_Yu|Ig5-?^cTVYa8c# z{vXzJKB0;S1xe2|QF2F;9vQtzN4E6_d9@G7Tir7kc#tZKA#Mc>Pw5dhR7WmHf?O7L zZh(%w>pk}KGe?kh znmVj95WlXDsRmNEhhwUa#13^>r6X5*m*e^QWhB@%?g{c5+E+*aC%1yUo&@p>^ZXS$ z(lg>goQ~Kz(Xu*n&>3Vb%B5pkXX=Q1Yp^uT1<#!^b^k~x(ag{!V8 zm)RiK;BojVh()G?%pZH$(?IBjv4uKPd>KM6kBQ>`kDUS8EB&yij+7q*@?$*qYX_eF zX25ZHZ}2t@b2xiEgb#6r*-+mQT*f6I^u+B zB|AY)o^Zx?DFf1X2*`04ySV5`n@`~Q*no2b4CKa4XerNu5EAJNvf6U+oQ(cgi~#v{ zSlCcU@&NOB0NdgurufPY>{~fOiB_k~NYRn+GQekNUNZ)=DgoN%=W$@E%K}S%Y)E`5 za%oak9`X|Vz}qD7IkG&+G9y5K7Y?!y=Fkmg$H@=k97%Q8a^rO5CNHlenSgm<2f@-| z1@>_43A?sDh%=B_Y?q%VLC7P197aWbdSIQG>XW&^ldM{PEzOf$n+`H__qDXv%1eHt zmVuU@q){UX-`ne2nvQJ3SeK_k{r`fVr_7pvSx35Juedb=ddm^)SH5UD!|8|qI&$0n z+yGBfZT2v(^~O?s6Av}HX9h_7@entvDa48vJqP8}k;Uq` ze9-=MCWOyUSFb=1Bq@y-8OWRYFjrJN2R*Rd0`UBNCYE9(_KJy+w|F1z z%`{#GWA@EB7{9ZJL)>4n_5Z?Nmos#g474_z=P8hj+Cqzu8w7biierBPj-VeBaGqHOsplq)Ei@4KagYbP3~V9?fp*W8!=B~H zlneTTa^&hZkOxV7N`IxnR9g@Vc=xoK36D7-S-uIp}|#Hj)q$Gto+?rt{m;|i#28s6Q!k5nW+ z3Q&kfRTM~X-W0H`NNOMzwiYx5X=hY-^FvM(k%smbGzn>2pYG;jPE(K?_UdlV;pe0? z6iB@}>MD_3)a~uj-MoqTkvXWF*bQ`5$O6=zjuNyGsT!v|PWeb_-Gy!u(i<(_VqOL} zax)V0Qk5)0T{e2DN|vIoOAnxGWCiMGBULAbB6ajxldMHcXY>+Cwqm`sZw56ONVcJF zOb^g~q)}Z?w@4kb1ARtg`Rb4&^f{ZS-i6an)P?jGx?M<2quof!8tp-<*%Rt4nCwIP z7}EP^UTq?5gXnv%1k#jt!W$StH$Y`@mzA=0Pa zfZCA9NXOAj8}bw>9NVug`2lGc=A|uphO`{19r+2VIhLV4d5-i|4?({m?dc}y1(Ks? z`3Kh0fk>#O_T(k%y7Uyf*TPGbpf^Z%sOv)PDNr*kQ4|S6dXDLtNE4(gsOv|fkaBxM zJ_nE_q!oRjL<5K!=}DB(r6A44oDC%Xks{Gc1{q8tpI_j}8B9hZbt({4Kw-pvr|H(B zuGbPlyJ!yAz0oX>QpK0I(TMKmbY(C(f%L^Ef=(kf*L3HR=8hC}nU3QWz;&C+5ON)L zwNW>O+{6@`6haC^$ZgEa;bKAGqHa+GL9Z}pjTQ)cN1^ZPy}O&&aWAe6bPZ9LN!%H{ z|EBEF?qnhqx>q+92NZV=K}Ufs=eXf|1a^l}a8vdMb%vSK69Sh5p!ld}XJ zWl;9QDPbu` z^GR*gH9*S+Bp7}6bON8Bk;W>t^rTP1QZ|z%q=ia2O&AfDGFMqb+Mw>Srt6?Wi|v~j zmcrLW(piO?Fg66AOGr-@W{rlaVJVZyauSW{&Et6qR@Q1%JP|C{lLRcomP zf=(bMBOM|aFohE{fKHHGsJk2obduafs=5T|6nTnu-FRylxJH?N$?`DYinq=8QogHoqb*3nD?O>hW z91c1MjryJqOX;Y%D2vgH9{X7-r4Z?5Dv+154(W?EVJSZ3 zFJ+ZIm|l&IkX{|-7tCik`mE0hERUj>1`5$(O-u$|L&Xkh?L0wFx^XyGfEp?8sQVjR ztff*F$-Y}y%2C={2}Jrj0;r8r2gwu$)K>Wzy|g|B@!Be(sPn!Ix=1AhX$xBRR)!;m zH3&=DMx&I`NEzLLqLt}7Xos3t!Arcd0(G6RZB5E%q@A;Xl9U5T52gq@se?Xf&I3wT z?jsFx4omr*nw2Ly=o39=R9pLm)6YnKa;vR%W@hDgr2H9zUSYiNIOTH7*QlF@x)g=k z12xk~hcrSX2c%eyoRM1Rf|nG<6{&PCq~1>{gESOVPgTkzt;2X}ijO^{{t{D9Q!3j- zpTAjqKTdd{e!Y=BZ5sq~DTQNhYErG-88m%Uwc zMol6klzyoDE+=P{iHzn1?N{L-(0FAq>JA;q8C8dkS2B@4Lz1ZCkh&mmhO|lGFO?5Idi!LIm=aMpsqdY=4iBG zGSEt89nu;sUxBg(DF`iBDLarB%>i1g>_u9Ix^>Eaq^~+bP3%xkVQJ$BfUZb6Zx6lh z+ytOv?5~HVs7LE3fkz-klU@pVPoFLRZ_CG%vmn~^TX3EGNue~h5rNDdPP?M0fTag zNcmlXssVA!IlI8J7V7v++Zd=et%SOLr-ACwsu(YJBgCsuYoX4i5$GCe)caI%{tnWd zwnn;gxj26}r#48bN1Zmb&^4#+kj5Nz+VD(mPCFu8T-VG>ECH620sY6s~0X*31vC5?XU2&+Zd63`8#p{R>G2sJp6HbUBhxgJD2IzoCn zte2rQ26Yn;0S%)Gj(8Ia*2{3(4|Neope9DpRFOK?{0KS#=`PYpItVHCprA~o=iKK| z-AFndsrg|+Basdr7M58^-*1QXvT42})XVyrP=@KWK={NIrqhj>vm2PRT)Gu?UWcH+ z%%a;JVdYwcbv=vjMBO`{mmE%ekc@|fZXeQOUiLgr2awJl6}m%?uw!Yp08*brPok~{ z_gTSi4n2+Z$zhpc#4PAbi|C(7 zU9JfFo0ox*6DuISMO1OZ-iocVhE_!S@i63b4fRDDdrVLjq&tU&Wi==0OI@)h*3cSG zkk4b&1ce~|tx*$<_j?{Mk!}<1gtVB`8@o-kGtyB`Rk<$Q3Cgf|KJRC`%`^f@;Z%WB zFQl;f;BzyL#CUP@A>MWxhZKmGJE#$<2-7Q~2}pxcS45ML{N_XIMbwNwvoXCQ+7ET5 z(Pt4&L*2DJ(CwrHQMU$t?xYz=P0(^D9gOrO4^r4kGm$PHf%$AF9fn@&V87l;N1$%C zGt}T7ItF!1vG4As<4~tR4t2esPIZEw{2Y7oK{^9I6SM&7BlJ>C*N8gfISbL9r0bEsIwEKjQVX1+PtvVO-LVX(=swK# z?>JUY(F3R}hhEOoV@Nu*JWGp_DE6Ln^bArej=%HtBGRoxg04Ejx#(XFA)goM4JYWW zPeNfnyGoyknn%koI6>+aH2NNOJ#m)0MSn!viuLjp{Tpj=$F#C*_@0(3&OpPFzM;$+ zt~&JYT6Rrs7rvlxl&PW7x-%(2`Yuu8tEY|?F{>u zmE02U+$e{-iKu%-%OjmaFOO+OB=a;uK1h*BPiSRln6qY~n(7QcGpsI6h>5(TQ=KPpop&e@VbhSlgxAT~Q#RWfetADO6Ud&;M@kQc zn-KMEAyOKrQk<3`y$pfh()4U4(jT14aax0v#Vspw+K4oYQ)N!ukZy3x>YR2VbqR&X z1oUh_(sx`J#OVmqV@`EB6(iLQg`DZxStK2&2E>t_ccz?1)+1ySb7Ys1;7OuQ%!yrf zX1qQxmV(kcv+GDEtO+l68wuVLZz5ILL!>z#K-Jh|q?H&ii2a1LLj`Ke{y=Jgmd)5J zOmFE-p!Q600h*1}fjJ=U&jsqpJX|1Nv?EX_Ru*YLQWz`m!uU8^<_*+^RYYA|3e=VP zB3-u!ieP>=mfcwu)U`%0Jy~_6;4wgv%pd6@PyL}1%>r%W#j!f5yPORa&*~xNF(4Cb z;4%SzO7t>|$;AJeG;{+#P5>8-}zG>ufR0 zM#@0TrEDyw{(KvxzJiUjNxhIwvY|C>8s^2c5%RK@nxY7c} zO|A^fghH&~E=@qBpoW4K` zX$+^Ykeu`2i(hBh*PV{%UA3V>@Up+5Hgf~&HhA7f-~P8_6{i)XTEQly#eTZtn0_j z)d1t@;Uq%#ktfXE0Hb5uRM0(PWsrUg7vzQU+F|NHFmD_Bk(EOlf%FrrV557^d<@on z{>uDpbT3#{8+ysA+t4fKZ$p2w02}&?1sbd)^)>s*M)x-hwkh8`R^KLdMQvcP&U{P_ zMKbGw?9?VUmU^|B!H$=`Osv`K$d6FgjWcgV9k_O+(!r?ANt5%EEZT z>QJQg9YFQe5lAzU>Z_w{e15EsHb6gXRs_^Q9fPUg<#R}kLx?&KiSTvI+b%>Mk5tzg zC{&$@l6=Qsk|sD(Cd)K*=Mx)^NDj_L-a2yD$x>L#RpxN?Q5 zTWo3~LftJ(JJhb5x)L%Mzrl`M)^P>up&m5A+}g$&sHb`aEdx01Cq32UvX=If zUTQItCsL$(3TZo*sJD8?;K6+!90c=xlzI+n6H;GJHtRGeJKpYlnnI&l0W8Ukow4`M1$4uuulXX$JJi_L*xwm=O^k* ztfjI@Bh)_)j$D_}1nOmk`Wh|oPlI@))Hm2Fp=g<eBKy26^8kp*5R zs18UT=|GcIXB*2Ys;et_Nyx%of?CQI@^U{3Xol+P3bXJ*zSrnLa@De~&|AOY)Wk7Y zEr;}2qw+}lp@J$P{i*3HBF)mM64Dlpd~EWPtNLPIN@0m+t5uQ4BYmn?M_Ph&-F(&G z)kA?dwL^&(ssX6Gf$e9ZDL7VEsCAL9VV~HjHg>hH9lO-luGSjdt+utHJ!*TKob6RR z+Ry>Diwzx8BW&o1+QWv9sgX8xLhWNiC)F4mI<3ar&{;LXhAyaP8@jBfx>hG%%iW@? zlRI&xqx?uv^+q8U`K)p#^&?^YI5KC&hD;inb1e&G!&HznuYjC$8f2eNAb;rya^7^1 zu4O>}u^MFK3Lv}BL7Vj;XP}>#YcS+8$Y0B4Qk`zUS3{oG+O1wukvXkTfz0gY6%|Zs z<(7|9$?#T?pFR_Pc|MO{s>Wrl@c~?(n*R}mbgIv#8WPIo+fiVdQn{IStdOH!T1P3w zHw})rHUfDW<-1YVbX`N5@f7{LK&+(;8-`RTYbG}2^{}~0mnduAx^SD5aUkQ{fIMaf z88Qgu;-w(ZVMwjCF5J)1Dc!kzxwtn^eMe{vKdx5XFhn6IgP?}v272lI$b+#Ux8;BY ztsikid9@Ri0;EFXw|VIl(s>)if*MfB_?i%&T?^#O>a!Xv#Hk9FuBwTr;vHn>GCD9d z$`W_MM~!&8 zYamA^h*%?|{yp_Kf$c*@TEa3ihm?U>@B8;7%TG59QON-BlBxTVeIJeCe&%%r&-GF! za5*yOfZmVXXbd)c&Q9gp4yR^vX)5|O%9D(rvoNXw@mdGcuy#q52bs+KYA`7(vy#Ux zyLJulQQMk9$b{+OA!qyv$6#`y!&a>qiC*DH`UW51A-R4auU7||hT|fla%pa}`M_cB zr((lXTsnF-3~4~#Rm`Lf$o_sH=Y)W)k_2u2Wg^I@)-@VKKU zK^a&2UE%&W)NUW@hc)I$hNIk5?y`$J>6H3;lsj2F{Yx%0{2GN=d*kQ4K8xZ&j-Lba zVm!z#V?kC<06DzN=RCK8GZu3HkCMG~!6eWN%3j$E%6K2g)J>G%@KpTJQXxvf9WEc$ zgj^M#@zO=+^uGwP?hSmvYjxn3AGzE+7Gz)s$d=_nhU0wo5a+8;<3KLN zd2Cx3kZUGF>*UX?*~gs(RcIIzO!}@3;yG!t8uI)dZ_Rq-)76dp1e4}V+lK~|4NF?| z;UT59_q8Ntg^e7XlO^{+!B`l#fq6VM;(Mnv%t&nD0xdNzdm&s`VG zEuXGS;Wl@Y2lL}Kb%t}BkyWy|G;--j?gc>WB%uc#$`i*yhT!pXJbrc@W{;MGa{4qN zc0+#UeQdsYI**%IC6D{L&s#?!tR~26Rjjk$xXXFGjG1PTFE)X!WqPpjX?9b6tAy@zY(c|z@Fa_LDb z^7)+ikn;z*<#{e`=O{nobq+>!@38tIiEs zKc2Nqc`91{tPcWj^J~F~8y@f#*B0|RTp>67Lb?1j;4Tj-ssTQKuLE^;vi3tB5?O1t zgF-6$L9A3BZmF3$@yB@C$M}HE<+1^JcJ(K2zo-V}7DlTlffdbh&yRq26C7*21erC z1~876`+|q@l|k;r8B&Z>G3yG?b+ONkt?H$7C)0w#vbi7ld0opXny*19|MrD4epTqs zQ#=*y#Y14NbSDlM%SSUp3##$(BO3yu{j{9-2mt%Cfe`mP_s}h8%Y}wKhZ8n73h9;; z#cQcsP8pPcc|wX0s?2H}Od>yq+2dX9`rMC4EvT`*EueI>K5NE9cH^A$Yc;SR6b#|n z-P-Z+;%#9(l}_~{xGck^AKBvHiyv=pQL8%~pxfJPk%jx6^mbC{g;2yTE{EW+^ zD_3(r^-Np2%&f4LhYa+GRGNOYlOM;R^hPsrErnFzWwg}Q(8e&kLVgrtz_PpJjFBG?E&KhIGdv`%*%@vhhyFz$>n-vu zYun=CX{C!?=2yKI4Rh2DUT?1hZt{>;!Bgea{DVv0 z`Ui5k%*L{OSr+n>!}DgT&r215h=$PzvLZk3meU&h*aDQRP=4#f|tL=I+U|eN~c;()KtC`}5X0Rk;1+e19&haH)_|qrp$Lp>_H3iJEXM zYPC0SO+Qk!9(F{qI})v|kd~7ha!Y!;5nr3eHfh5Bd^KStw~3kn`?tR5TXJoO79^~MTAji)Ed9wmY zLsO95F#G`8jKH{Y7?O^baa=;KGI*}W*MM9-t~#`@C0DIa4dr>DIUpC026=Ti$Vzps zHio7qz6)|k`QsLlWh#Qqt_XAH)9T<8_R^M8`{40KUyy;gFTI87!v0o-Tk9mFFL=wq zn#sVL$-tVy++q*8T@81VzR;#~14r`kW`Se4Y*`7~wA%Cu{J3{p*aKgxKUF(c$??s( zytho*lFLKt&7R9;FFzQAEh{bHE!(r`Gae$O@bK5F6+C=m&IT?=pNC!=+1F~{ZROU! zmg53EuFhlep6>&>Dp`#Bs2_f|6$o*4SSNNE z-Zd6Nl9z*QyWv^iV4^s}40*)>(jAZQ;qiS3klXP1S3EvufZFJXyR5f|p+r~lc<`w| zcv_i@p%kS)1K9`9J^SFy5OcOIu<_v^L*1pTchhKEj@w-F;wnVDCJ_E~SrC^yLPy0|!k;dKxnk)F%asa+42b|a=m6|Jp5QwEDc`T^ z$V}X|j_G!zkB*E)S$V}+p6*Bou&io;5>0pO9`(QTFp+y0-~cx34b%AXa<^(c)*AO} z(L$@kxK^L-q|d2*FRddJa7R5gcOJK#fU@$6eC{XM0WAMFv6k{!?ha6g4u%4LY;s%6 zl_724qO-D>0trJh{R1_VC;?URR%- zxf2802Qi?1g4!Q>$cerO^g0q&wzZQV*^ayPm9s#W#^Wm}M@@$@c&gH`JoR~%{)!Rd z;75(+>r_n`#UE9j)mTT0#yaqj+tr}wcm`i~v6c~1sk{O{6%+4p*`)!g8e)ibC$&R7 zxcv`Vj*a|Ci>;20AjF%8u+b1wcZp*ou&fwsDMf=!2pLkka;zuWqptyJnFCS&gryFS zg>p5BRmjIf9UEEKpqG4=e=`K6*JP0D?3cXWPR1UHs!lEs26+eN#c?3x%W>)EH8_)2 zCtu8N5nG-7igLFZWZ4d-xy@%jrLhKD$68bA5F45Er~$|eVIU{-V}5qop##r<13q8r z$cUCGn}fWzqJu@Evs=9c*E=mYy(kljavEaZ~UZ^=-r!y}-@XH|eb`L#1s zv837D&m?uVgE+I}?R5s^>qHp)#pgkaVE^U^Ew3YM`8*8iPAun1R*+F#?sWnA*7b5Z2wxNnS4zKW;z!ah z-)~~u(=2tky%>7k>S729uMfwq>cjE&oTuFXCX|&|+$*mTf^$d<186t8fn`U24yYqH zDmDs%w3cc8%8z`JUdZJYJWsKtxKo=Sz}vc5Yxuqr;X3l1@A=_)Gw($w`58)e;#Ll> zEq5*lHXje&fi!Fqkcz!B9S6=ZG4_|Q_ybXhMF+4AWIpjCY!z*rinf}e? z6MKCe-*b8&;Im=@%H`!ird)$7r8Uw$;`sVC&V$={;rRMv5R`gyN9ZR5mwLrjC&^1I za_w`IAD6iWaP0G0^|%kskg3zdc^;BcR$ft;+kEBFkjr300IYOwFi)nr<4&VF^v}QX zn!w|}AcMEV-lGYZI+B&O&)+f@3M;gXi_Ec$2kF5jUm5WVc9WWLd@2C;B$sexjmCa1 zcGO~@47+II&5uOXhLGIaVqe`Z4&A=)OJ#wCyA!e|LZZ3HS`UzO|S6QWC{O$4iP!DoDjM=Ru`kG)-i>%ZL%m^_vYziStCPL;y>!({L49Z` zIGgYz>9r?7|91xa$}6VE!OVFBSHqdS6hl}8-ji=CpYr2%_Mh?k8R-jgb5V+G^4@jC zjI=5a`uzGh%Q=NOOA1Qff_1W+YpbdU;$Ve36$fcu<+5uc%-Fk^r^Hx7>hXPD$&hdG z3g>_8^KE%Za|gKoS-}8Wn6LhOtS@*^u8jMW^#&Ltz1_faxI0*OFBS1WNcVP}CEajL zx2qe-9qv${56{8w0@qxWP!IRwU?zFQ@sP?V7%~n+CS%AP3|WjJ%Q0kqe1tE&J7Ti;`uXt2 zh(0AKp#-H#Iv3C9H%Wcn6_Qs%x2i6RdUQQz8xl6y8fN}k*3 z7evXGx2x%pXBP)S)os~45j)GUADUhGJHqy@x%+2wdUG6Lxo`J`b} zq9-$Kyy!`uX8FmOPwe$%oklKWzKnMuM>V?9>t4Jg+?a}_gg=RQA{8Y467ND9X!Oza z*YR$oizL-pnj}ebG>_lEkDr@XaT&r5BvN3{Gm*j8kPMS&zHb#=3k{TMLNSdTJ#uzeQ zQn)dWERxjQm_W8kiZv#Y(~``_e&mj%bYm)cE@`B3AfeR+W%hd=KZul-q#B2kI+7fX z!%2Hd9>!55PEuLpXfjMvWn&J>mE><6PYNXk8z+aPq*jLCh+|DbTe$88@s-rd@RBsp=pxs> zBJCx$GQ1{H8s%}_8`57=E5kc7N~67=Ta84SA!(11DN7_BG^)yGNoS4r%3+P}UcGMA zE0-l5GB_#sB;7VTE5As3WOP+%fS~VqJU7K#(jkL~5+v!iv9!`g(j%jn60Omlv1`1& zmHv{R8Oti8B)u?JP^L-x(^yeiEJ-o>D(fZbOn%CKNd{9@<*XzRQ#Iu)N##xc%2P>| zO*NIjB<(Q zp~@^tim8cGAW3Ixs_d0yFtt!FNb)eXRKAr|-qc3o( zPFK20dS)D;7$v zl}*{oJxP0vIm*wHwi?Ir?YM;kO%oMYNx`N`imyhyR)m_SDz!D*w4%9by3$0W8Ee~` za+Ud#4jE=CD(oWJLL!J_$ zQLBz^P4kuYk`5UbDmx`*`Q$6b8hswq)|9VQtYe`=hQ*4%q%5D$l!h90D(GzbObM6N z+q7Kir_t4B@uroE8f>9tQ-QJ$X)a0Ym}V+ec1p@LtybF4w3gJ|RIEg6RNQL4>6DT#sk!N#GDf2dTz5g4FR8idin0kQ zkJRV+yr$^u3tdv#9j2Q~Pf15jx0Rui&YSKid6I6KzE$>0`quPFc_`^e(-TGgSWraS z-%Z~ubtI95AC)Lc=S@E=BP882{iftg`quP^az@gRrazSz8VxF|Pk61^HLy^!>8;|e z(Ta`k3GbAtl6(>vT_-6ZK}XL>YM9_ipGj(&;6l9{TBvh^8x7H@X+qD0QZz|Yd_ozT zD=8qsi*AzCFrhrXAgN_SCHh8E=LA0ruT%#LIG>VGg@#IsH&v${HTrVn9Aga{Evdj5 zK+_}*N~lG%BxNPkrgJ4tO{hcHO8PV*m>#rxNvKD!NZOw8F?9~L(20al+ELQ2geEjn z(*1;HG*Qxz39V>`q&Ep|>1av1#P)QrB#*=}`nyK=%~cY^DQ#q-T8Rk=2y5JCE8#oH4X(+G`z9u3q_qZ(;IIT}rA4V14@-!?$ov=oM1-oxpP zmO__nhZ8@e_cY55i6;}6&{rD89S3r2D(GD!Ab*X@jRa~Th`j7`o>P>h>xoP0Xw7m! z+E<+NG+G~XkJBcN;<`NMRIE{a>@!XeHM$@3D<`#?pbKMPajL4(HqW=5nrO82s+zQv z_S7gR#*tIHMz@=~ahj;n>875XmIxw4vnz1gsZpH;Rg#v`3mWau2uNB^A8OPqJ2+_t zeWOu_lfg+VY3b&I&Sr!p70^J9QnQ;U71A~uJvr4pX%&sp=;OF{Nvr8lN#RLrXud`P zalJTglN6h@mVT~Li-Ad;o=HkiT1VYl2&$5u$;n?*R?>RfS)+N`<2fa16dN}qX#*Xt z(TKRbq>VIBkUps5(xgpvlcqZ|u8`9OjXD(+CT*tAByC9ALe-XnhQ)7B+Da>EblRX*8Tu5uK`$lWA|#PP#&)aa^~H7HbrhbR=mv{aT{| zoc7Qc8oh`+lC+mPw-VHi>-Nz)8s#ROO4?65Xw+r#siXtcs8MwMsicE+ghrFN&?sTz?WCjhp+?P`e4BKP{w)aSr4v-w8c6IFPf!nyV6S+R z`f3Dg$7xz$()NV2bP$r*Jzb(dzRJy-2$_iyH#OxZRYOUk~s@xs`1&61`S zQkCh$1UaX<5tRjoS>xHUAHuA8(XrpdtX_0X-&w?4*r<@&GhdAg8@UmC7O2r4uG6zN z8lB)eJ&Ukdjw+-Mte-|(M!69OHl(v91v}!%#@mn+TY_|7@z1HA?9BFew&u)*oh(6@ zO3CoV!ugp!>Qn>Pw1nD97eR zh@72Y+#$IAWIwh{ zQm^EyY`3JC1~O->GF#_pn) z+I!DTZo=Gp0gWRsix(s}Wk-5hEccae&OYyD&2>xGAksq1lH0I0l2#?RW9uYsOzy~z zO4^@h|M4w1C7Sd>z*2h}A z(QINLVcCQC>%Oc&>J$>gc1U{e6T_bO5hGw3Z@*Z^qOD%ySm|i1mv~k;+Umu~+DUTb z6dNtPTs&JU*~Bt!bO~&_jV_U`u%jWlc3I!)KIK)=s0{vkPe&3)kq_Y&Vj|dTTTx?g&k1@fyvFi>;T=`f2pn)}~|t z%hAYXTZF>^mKP(+2jgfU%a66x%OA-Z?8{hd&IYp=lBjtw3yrf-gu@VKmShObWD6zf z&BNFQq{j}|S{Bj~>~o>h-)-qeMzC)*T}oG1^GNmxX`Fs&*D{=b(sX~Vt6(0*{?G_U ze-P92TfivyN^ghqck@>n*j(I2Nzb(=BB<4blkK zj`3`vMzD5_XL~i;$8{6f6^+hu-30bpqtOEk=|sj%g60f#BNLgkMyt4P5-Y9IUap(O zd^M_crI1c$9W<(S#f?m6OEiL2bP6lh2v*T4tUi81XB=tL#m_vIwMiCZCAl!bJdI6H zw)B_RNi*2GWJ|ldk(sPmQhoC*_LHQh=DEz>Y@v}3^H_aJvGwM&2toRCD=U~6uqcgY z@txHIX4Gg%+asL%nXM&Szy_JEC0f8nnyooo$nwpi4D)BVF)w0Y_Y<@tw7YpRi%AtF z3ZLHByoBYaTKoJ`woVc?FJ*tGT6^*`rleVW@-pU_X6?z#S*bK@PhQT-r&)XQ3RWe} z+LKqZS{fZ$?&q?S)zf@lSe{^B$(p2DdustpOtbdZ0yZ(t+FJ|R#x!ehEo2wcti5#= zdzfbJt*cn+bZc*2%>vV{y>&HflWy&iYgk&kwMVXDx#`v(xt6U;xAw@jtT^4;%h$2H z>DFGpjy+Gew$XZabbz&u*0a(BEp2o?c>}8}slRz6ix_C_OPg7`q^9OAY__D>dfV8> zfz}?fofQqV_K@xDz(8y2+u4bM*3`GN3pT0mVBg!MUc~enXh~Mj9%bIeA_j^6G9z?~ zc{l4hSoD|bb7q_Ovb@38yzFJ`2U~N!kL{DBkp1j|Bs)%jA&J%L0COB-wLHjtBtXY6KEXa8BJx?md%n4tt;!TMEn}(qB>Ozmn$J`0 zk))>P)9mj|Yki(&c0;Z8d6u~iwWe^E1r8PU5*s=*`5ZesRHRU)Z=v}-TQN+~!A~}u zFS3J3;tca5JF5|#VP0lmXwGv>RjucT|{`)q)uyXJ>%qNHc$Cv2%kYl_a8e`H%E-8KKrj#`NO z{Ec0ebj|!bdm!nq`4xL7>6!TrtN4kao!qCQ21&YWW@=lFIu*Pz+pCe1)D#D`pGHFl zy)nC}BPFRRuIe0(qTm6Dru2q~Lm^8G}9h`#3qa+V^vuCp~XA?ym)&`R-Sr1@D^;N=T{ZqZ)czNM^&& zVqne|?+U|>g|1GOlq8_s%|(iRtBD^`3Mk^GT$;B9(i8{1b_9}sM9k59;Jz}YC|m%Z zs_8vKIV0bQ`$s6e;NuExfGMvB-vl%4MI*1>z7mT!lD=*UurG!-$Wj+Y7qwC*a`C2| zWy;TQdU$EqG<+mHRLV1e{DD_0u%Nc7o*vfU?N3_|$@ z(+Y(7nHV}V7x4pZ%xl9YKHiW!`A~WdOxaY5W|mbnLMc7`z|D0GMfZV%$1g2$Dhz6S zg_hD9Trc&9Slw(ln2A1YH;joskh)x%4iEliN<;GY+5cdG(h$A9pVE;1BhfQUvT&3d zvF1$=Wf9PxTP9txQC3au>J%kgb(SneQ5L_rwX{w@(Vi1`m^lW><-hzGXbis3j1cK;Q!dK;0OmnRv z{g6cM@*>QVRubpWTEcA$Ly@PERum@6RE*8KbqPyRdUtUA+>ReLgELK~U2&^t$uF*^ z^@_5LKdNXbMopEFAajkl<#gmU z3|!5;i+PJ*vc%+fyIVo4=CbDbfQq&Q>ErjBq2>xyyNHroZ;&t<2uKP#rAMQTY>(<` zCGVn?$3#@#8BW7E-@htgtfHo z6TCvV$Tc*KjF)U!3TQ-OR?NLiX_e`Uxgs)5i+~JpdY`(47e$|$seK*tVgP8y0=LL6 z!qfKWPLjKT>tbSc^_aS@{gMJW&_w*+zvP(itCq#%&J-Cq+k z*2QAhKynGNFa26s@+~q_$-Ars-Ky&;^-0==Y5KCH@oCTndU~wR{fWi}DPg7A{i(Qa zPPIG{i9Bz?6o(j$p4 z^e~lEKmm@nA{mR-C}D}x%m8goZwBr(pp~LRA@dLIr(uh?lX$HB+Uv3y7Y7NviQmO(H&AP zo)rY0V34p6zvMlLFH=r4kU%Z7e7w#xp5R&_C7dFl7n%VEqj6x9h-W4<44lPjTYgk^6%=Tzcj-q$N)@y<^iE;=!(<-5EY+VykKG zh5fI;iTt(s+;vEQ0Oz=-KoImRF++Tht)8LYtpVZYCowqWcz3f1l}uP3X}Xgu9EN1T z3rpXkc7iQmI2wNX?KPo*5Okr~zb7nTgk278oeYmvHG)#AU}p1?)@Ay#mdJ`kDh{*A z`WJClxNaO#hp@b`X87MndA1aV1E@XHc{D@AJ$P{TJW@J8V{NG4m@jw&={5b`IHvZC z(Yo;x%U83VxeP@e7`ALkhEH&Mhc-6S?U*B&1DkA&5=@+LJf;tx6r)IY1S24s;!#Yu zUY4%?OW)NN@Yzm}(IyhZNK<9Z{425dWgcyV@(-L%aeZKOgn0vNx>eUv8*Atzl1-K* zy=jM3;;R_N4E}MFB))0X+)n0%PpmnFH5f0(b$~oEJ#3ER#^&eed5iq0bli`DQrUC> zcA6+(U&DsQbuZUMeVI*LHKX`KE6x6t1$Bn$^qW;sNw3oXgiZ;MA3W)i-u! z&yK3jq#DbX`uA3TRQD7&6SpN0GO-XFewYs%O_35+5a4rq;E1p`v?ETpz)f_hAWxNW zzn7k$nMOdn+t1EGH6LOkvxRy%9=*$tYs2Udz+s!vuI0BiZ-eZGpBc?p1)r`iKE^IJ z%9obSsW0zr{xukTcGZm=D>0DIyfxEzV{0gzzt%&?xNXJNqIArzkGhnk=air=GNX8; zgia<8ErIBQw#)GA7lU{uU*LEdHtCIVOvC5sKuN!(p|lW+7=0cvxMYf6U+}$I@{&B=0A77e%1IS{jVpeDKs4S8R{bz={YM#Wb(duv`qi< zmUqH%f8?D&Kc-31lkX&9-^isvuYQ;AwtGr*xW>7AtY_rhKldD~0h3o2_E-Y0`rCJ4 zgyg@y^NVuR8VJgRfoU0J;^}qFF_Uxmas4M4;`Xp^F5DY=*E;xhQ1-TUQhspc@;Mu! zPj~x1UZ&gn(z|cR2=b5f*G#(QT6fkz_0@&AZQ6GW zmPDe7N2OolhQ$+F>h|^05Y;1XQu!~1#7q6TT6ztLN>DS>#tovxBg9%W0v7@(T=`gK zRo1Wd#U$sg1xgJ};B9H@N5T7Ui=8=#BH>4ib*E-KOpE3#!}5C7 ztq?}6IkD2tC(HgT0nXQtz>)Y6@WDLT972DKB1$lia=0NEC$>@z9gpAonU9R<7TW3i zQ*I;lT$rnPnbVtigePXNFy_Rw+7wS&SN+Ax-v-;FvO&x=c$@jkkmzErV{Ne~i*e1Q zF4ZuDw{OlZa0>2t}I*;MqA9|pj{H~j928++T&_goI7arVoOGb^EngZ9^QHA zQolC6MUQzC5_J)+u&1C`ACmOs2(TZCP6fu&iLY6G3*^IzP`fxZRKbMlK2bwBy@P`wlEB0(@w7RdQVx~7*NA#&Hc2==zn{ym)NuC=oWFj)xS4(; zrx7>)Z=pq{c2S8w(2pat`A$w!l}d-DcF|2cCDImR>BntjSX$wfp4-cxzLPl^%Q4Io zmu;OenVD^x;2=z3nJ}3e!#=z}`X_BiZ-|*~ct7sGrRtioR1|{>>ASWFb2aFOS{7TZ z`p#Ti)%c^<1Mzy$Q3Za~3KqGN9bG2f1g7c3)=I3o{M%PhHgFqY21>AV9ePZbayG1V z39u)zNnhg)FjIzd`sfklOwRqJy=;sGi00LaQ^xp9%eJ1GaE*XHUf=1o{>6$R>IIq0 z6xFcAug5fkqQNt0dDhmqvu^76nZ7Us#E%>~yA z5<;{Qx4<_B9qqALDJY7jr0nQq#+~X~VAmIBi&scOsKeqxq2uXWSt)c?cCN)$MtxcjUwNG9p_ccXdUaO}j68 zLm*KA7riBgfZCj?vD4FN^*A`LjM2~Si9qr@?H&7Rkq#L_gvt5LzaB&#=*YkgX>15A zfM}Gcg#3I{)-p>lL9ACY=7x>ARLo-UvS|$J#%OHdzd~{xlyalB z4jQ2{qul((yfhUe`o#r+NV0c`Ry7mA=8jhx3v7y&1i_~LbSUNh;pJ+{WllC7k0L4! z9B71Y39OT1Dng)BRIs{*KG~>1t4&(2e-pyxVR-p;9BGnHv=>TZ#^4w5xZLc*YXG*n{6BY@zoYN@8+s6rE9WAfPFX zYI@UraX|rQNmy!bx-dNnMp};K49hjsQy0R{3MMLlxq zgmmNC^mban=P!mt$3$kSoXq!~kC$sZ(B7t1n#2G$)7}EtTvW=}qWODsdY7^N!h8`W zAL$l`=fFNPYB~>m^JvGS9>~WP^m0>E7uU8}u{u*YOAp76V_jS~RNVLc@`vC)X2=u| zXEsXbSPJ>A@(soF8ywzRuJ+>}{+}O)Lxl$=+sVx8F##>2l3Z;qT5D4aIY~v4-nW>0 zz4@|Op-2q^zvSBvNiXm0m<~znris1PAUYm5ly8-_w}7klPg~SBYN&JC6Ll^9UgVE2 zmXaGkxAQ|xy?=(i_3Tklg>HO#4{Z-i!tzz^P^Q@RsWlJ} z@9Cfawy@>UG?dhI=kg`K%pwZ7G24QE7ST}xlcD+7Oleb)zYWflujw72PYnt8J84L4 z%y82E!y*WnwK*fn_lGQL&rrOXG#YzKaYAT-{FB)Pmnjv48C4|+qayzt=C8D9*;WIe z!d?3!UtdVLF-k`d;(z-uiGhcHzc0cADn_;`)*(#VaFX-)Tt$*?7TNKUh1inH`k&@& zzHl&WC7#nu@>I9=DK$}pO`J1oy*`-}v@r+m=~r_zM7}Gi$-wlgbe11SXAo(ib^nU( z>|IQ4*pR%)QqjOR|LY3!WG0~l+|wrQE0X)pFH6cST?pt~gywAHVWqdu4L0di$eF;XMppIUzFu|w#0G@caGI49!a+WNnlF|E{3p3);09Bs0JsFAB=q~9ko(a}cHo*nv z(e0c)u)V1e5SHKv%>Bg#V517Ac>Y!CFKSMW66dnnKz6%ghCx1zC44(~WW zX>=NBx<&!-e5QQFb~;4#lFL6oa(QnKqR=WT3v&>j0TTCck*=xDMY|{`kIR+lSOn_F zKb0Yh>i+pN_8lMhR1|p&5ePcq1By3|r0SkdLWMgT5Cjq<)lR@lpzNN+cR4VGIc=5I zJZuz))3XJa;os7`;c5lc^}`;}j%bm1FF4_96;UqQc;eK zlrvVD^(@CQZsid&qq&rdv=`$-&`p!A^NzOtte%E?E_8k*wW(bk;h?ASX{^gGeLQ*s zij?Ax;M=?l<8;iZ6uXizE?>H{UD)w5!?o=WCUYa+06NAPt$XFMi1K&3df=J9Klm7^ z#)kuL1%BvtWsKIVLnhZO%~F*4HDp(E6BjJAbdrX@LIK^8g3TB2dCQ(JczlWFQtb2) zovaQ?yL7MU@jWNqI*m7OCvNwASmMt{_U*inMC!HlsFbXkKlFvCzjJBE&1%IgwT0{c z8Snvit$O`R2YhffLDAOQJfp&U|6*D1b(7K{M9JyRe))78A#J&%e+KKZ1YVwS2VV2i zT!VPmXH05j^e)O!H3VG4vNS<=wtlh3*&W5x_?SSq1sF!8 z@GE>$E_a3F(NfOp^p7EsDA~CiOaYrAhuiwBCsLwgw49S&- z{Z#~LAMhnE+6VKN(D`YB#hM9eUG00D5m6e({H`ua9M5Q{LuEuY09f6oms)D=Ff1U#&9PclA*oZ`M3pkEFr3w>C*s2368H>}au9vcp9G_1k) zUE>YI`6QIMeK1UkN^DUtMzihb30wk967x;4q_!+%Dq42WDgIAsO@h$~)ukiaO$gBzIxmkKs9MwPOL9m%-#uh|#+c&y*Q64~Mtl|><%PuP6fe0bs~$EB z>mqtYwUQ+=&_dm*={qf4j>_8Qw0|_RT@}{2}<&Vy(vY5A!kor!(MjHCKXTpe5PweagnsE*7UQdd^+AUpXg5lGyz><1>vguW5Y0Np&Kxa{5_kMID(~YF? zUFSw+TenAAYa(|Nx{_6K?LnbA-IRUNihX?GpWS-3*`S;J6PH=Ii6Sob6`{Gv0u82r z7EH~A8eO}jk1Wk)mdLW6BCW#K6paXn{!5+o^is>4{G5&$jqp~D$NQ1=K-qAi$mOwY zi5AY2<^pFxIZkIR{f?i+t)1Q~xP-VL{Yoz!`C|+;Si!!M+=t?<^{-0ER z;3HhtIly6ynzT8`qJ(Lc6O{1}RYi}F1teykyEsDi5oqgV-kw1#z^t;b;nxP4tFp;T zlNY6|2(`7qJzQz_kLdM@dV8eXxsmxPfu>lyt!PQ`NnQzjB$lgNUSx9z0A8R`jT0B) z<)|=(Afis9`HFT+Kfk2re5}NwnFUB(K27m@&KUnWN~MmdbbO?8N}##WZi?6`U+aeX zOehkW$aByZ$HD^kp6Vi(#NBy9v)b*#(~F0PfQ|~&@*~~$U$@8`*4!nY)+fo-UrXA- z1^14w05ZSVf_v))Zu!arUwsb7P=4no!yCT|2$6EV&Pl%C6qde>K+}pKA_1CjK&?%c zmF>;Czo3x9M1Sjw9Cn<%koDaK1Rjodc1v@qT_>&orbyc2xcz zNmGSb;Sr|L+tNuAqHWFm)(xG#GtDWZ zsZ{o!tU&kLPnT!dsp95y1zop{)iMUCu_Sd@M<*g79wX90j-@E#)brn)PY#<}*hJ zy3D8pvldMLJAxvTt%vrRc??9yz3gHIz{H3xcGpRG>XD*xG? z?F)lC44Y_t>z>v_UV9MSGEgKpw!j*57aOfunH$^sc_nSRijo`Kdz(qkTb)kj5bJ_- zXGymM+pQ+b7oN&lP|`+IF?G?)z*H`9*?)foa#TR#B%SZ!=lSbL{&(wZy4#Mn zYFsmow)K={Q)g~3(S>m6PfmZUIp51H8nq+i^{A+ zLQMny{>X!7xZ-k$DuQW$jVk|82On_Uagq@_cwVEPYe{r=6;?C-%#wM4O0KfL4!k48 z^YBt{$QDsaApPUcEx46L*Viy-DSY1EK(Fg5i#DEBTTBKK!f%gZdPbE3AwfSS&1oAfddm;|n}ccZUc-J$(wuCu&1>;FzYb+AWrCA6l4ZKS0T2#`)9ue%@k0T|^3_VdNY~*mjkl zVyt>j=Y6xA%T3hQW2$ya(vUMWCvqgv!<+W)GTE4)=$toz(4T*uC=#k-{xThUNX5L{ zLE^E?|Io7EK^mXGrLe$BKiD~%O2jYEjZopYRj(2WAXc4W-G-EICNd5Wa2Mg$hGyd> z@BMZl%8R;Lwv^!?08?32;pz8nNgV7s`hDk1^`0GEH*p|EF~vEYWZ>g*-*W-3c5C*7 z2PU-XT7*cXiBbLXg)3lF8?u#49%wofW&xK7Y}{J;`mx{XRqAgsoewqSPK%b~c_UAm z+&pVLDX~(NM-{gCqAzsC$5BSZf*QKK_^2bQ)UmJJl+u-U`_CXO!R>CZJ-+MLN~Q>Z z(ueiIkPEZ&am*IJ4AuX$m9LwCq?R%A3*+t(WZR)o8|1XJc-dLF=(;=f80{Zs@~#$} zHTm!--%Ri$2PG?ej<4slvDw(uRb}tc!QHOm*I?;@yji137F?9Nlx5AAsn*9-X2r9>s{?jHgS(kv3XpVDk^gRJ0pQYtc9@05@Lk;!NS-&jr z9qkUIq(4P$+evH0)<=CBY?VHzyd@+RQ9;yKSljt`vp2|2+q($Loepc59O>>)P)B~< z6KSPBNYl?#lHX@MG9#1?1~6e2_OoevgkfOLqb@g*0Y8pgBMq;pFt$ASv!9vw7&?fD zcUL2Dl{y+T8z#m|bYAwAkE#-WUfOHVu{l4&+dGOpo9Y>i`K&v!M>9Ek5^fLflNZ@l z#$N9C7K^$bHi0!*bE{-zO81X}V+KF^LN00qW>jUT^9sr#+CcyI=tgQI=0B8jd}zS;Ec6AD~^Ai@-Ta`hGdktjC zLN%={Of)Hfv;bsFVZqK_q|ur2MDaoA7hqj`k;#9qS}VQ+cb4qc1U^O7`)7&c?OrktVrvDocJ- zKT28yid?b8dr6)DuGqc~&ObZbAn?wv64y22EcDyUjK^1t9QWU|yH$n```k=XkTX8__fCV=Sz6D_W?XE#gLg0NqYXnb+Tr>o>bHRFC-5?!7@EGJpq;qpP`r} zOk>cr^D%8IyAV*TvA?t#5fu(=e1kz{3_}kk1iK|ssvBP#nCBzdH2sx5z$+hCsm2t9 z{6wq>)o0`=i*e-C)ML?r*oAn}cGx}@X*1-bA?S~5Ba8z!SD+cX85M=zOYg;&5u6AG z)$A+aBBh@wkxIx>D!{R#8keFMCo77g7Dzvnw&zORdgeTw)@@l{(5vcCbd0>WJOypJ z088H=PzO=q^^lyPB3ve{L|WDSNs;$~j+AXmc8O>edHS#7(g+T~rs4b-~5IDZtTT`=y4 z3=yjKle3fdrH3go7seLt$Pq(N!W&vp8txigv8`*e5pJpwZ_)C?e$!-l6>< zU1F%g@WRjATNaFamA{Ze)SA^A;;}4ZRTt@w|7zjvSBhuO!udy32-%;=hDH0&$3lq% zRx_qEOm67A!^w(IaoGCzgjD;XO+(+;tJHn6YAZ7WEw_uR03gm4SX5-UTFHS)71pJi zk!5Y_?6R++1Z7F(Z6vJ&zRWMFvIDjOqy)w!+|RcW1hhBu6coJL)w1xq5~r)v-;QZ# zi+huf8`4z7L$1D-93lueh{Kf2(?$b15wF1PNE2OP?7#3Li%5UD6*|8HOPmgq#pQg zxQWf9o7YLb-w6?WT&QMZfSZgaVBln;zUI-~OpQk)WY}RQGv!uXY=_xfDJ7iQ4lR@$ zN{hjeun4C1ByD=6k>VOhzZcp6Sj7>eniiMD2*m+hOHD>OV|eX}!qR3? zjtx(Z+(czEf~QSJ+FFqaoQ86CnQg`SPftagku>_{6wn< zhr#IdnWYZl2J=SwC8_fA7e}Zaz!`HK-JYB&GX9iYfukZzXhM{%k4m`E|FHhya;q6WY(d%T3Tn}MWkGCBE|anLcpcI4}pA!ag|;+RpNw*}=-9S2Wg z4{Y(R=yB zr)&LtQm)*WD@gHOdSBoMicC*k&#-a>Vb_0L)PEX~T}j18c+p%e6uB3U8^_j<*TrPQ zMsG;C)F%g#x!(WEOZgJjSa1zg5|H$yy_1ZGu2;8QMO?VOVhaA3iZ~9q?;tAry$t6q z;82-Kt^}f+8du>HJL6`T9fip}b+mtfz^3&VST4GQS~?4W>NM4%#&wG)vQ1a+3KesYPHTMHo^@ zB*iB^2IYr<^l6&>khDAlZ1i8e$lmo-#RD(4^b#BrNzW-Cxsf>B6SVW=8!;MYhQSI( zz`t&(UVWtyrl42m1gCOGCme9qb5h-doft-}5Yi&EauFzuD9Dv=Sc_5J$b2yMixR|X z+a2+&H9|HN5hEGF^uyCCjs?dj|KSA+-nug$Rnm9J5~In`QbLxq0Rj9C@ve&)>+2GM zzi2f>ctsB94&a4sYt(7_=p1I_1AE2f_{QLc35d~7?!*Eo!=zy*+jTog{>6RKf-nz~ zVEBdqYsDif+3w*;i*x5}P`km2R@oGp$@;eAtNdSy33otB0a%Sd|6LtxnyO` zuJ~xab06eKV&$5AVMLPAnZNMQ|C|1uc)g~J)bCZLy)AIHxk!4rb-ox@lSwm?A%%x# z*IH{^3E5kLk^iT2pINHz!%xxX;3tN+giVic){kXafvKSb=SIF&)9*1=SU#xYzwq7% z4ACkHsf%V28c`BWixe$+zsen=TjeOzG!X{Y#9*RVB6euoeb^C`rH#{dBn>d^zg)4E z{Lm9tdeEsBK&iLCzX;LmS=|P8c#+{p9-$v5D6?RaE=eiMH!-ObFIe9L9wbWyD(853 zwknN$(NjD}DQLH}$S_I=|289_h7{7sAa^3wYdcW*}J`rMy9Le`Ebl+uhquZgsp*vMGQ?;QX zGIu?NDK=;SW%SSw@j8BE-7+M5CT9$-^-aG}v}^_}U;U_VlhB;>&c8$-ThM>w-U>Eq z`PJ<|dD6w0@8OjR5V4ys5<$ESzCQelhxq+%Yxg%ZpQ} z<(BkgmoEOz)B$>+Vez*>?*)lX9vX>FcPfcZ99rr~ZmcE}MHoMGF_^P(RQAJX|Ifh+ zQo|I+zh!Lgdsq`3-f69Qu^*_Q&>n;qFXFs7UkabX{AUZ%n&2*0#K;}vj4APsE7n{m z%<2O@DT3ipfXU%wrQ6jHi0Hbel-Tq{C%<4sMr)dshdE<3 zW!q%F7^L7mD@6Nv`RNf|zCX#UrO^YQ$0UrjD52a_BD%88$sH~5qCUH)DBQY#MQchG z%(*e{X~iXXykEpZS{2F(fITDj5Bz{uAp0n)u6z&Febk4yHsgu$116(m@vs5olZ*ht zolF+>S?^IUuYq777w4}q?Wo;^hvbJnn$tEus$VG&D2Gx2$Ri`LGYNDY4@?cC`E0yhz^r8SJgkA+Me0^I1f=Y zz`H&u4GN|s7wiZ$DW9U&c>w9%Cfw1NRg=)WBGcJa~CQ4JV5Zyfzg1;JzZ6_e;L zlGDhSH^Q7^t7PP{w*3QjTWZVGs8O1bT*pe8*~D);qAD|D!ZA4dE!>BbO;Z+Oirz$; z86j&z=z5fH{VnND02ft_LgAPsCNEKyIV*RJ+WwzeS1SKZfNxlTU~C*q4{jJ_n$`6$ z%TuNWX{EtjGR^X~>>u#83004K_SO8K6B|L~)98In0V4Q5V&k_vWCx@V^v^3*n?{^M zJDve07qHBCfi(VI!RzYz!0ktbmX#%MH>B$@y_uowQ3$g}RA5#3&6sQ_T=lnY0LmAl zZq8ZF7n)42kqchWK}pCaZ|9&!*nh(tG96HmIq^JOR~Vj1VpN%t@q#xpnPweZFMu^I zW)U2_X{bpRTm@zxnKrRl{y`;uZi_z`YXbmmO=@ocUEn7dhwDrdsN&y7lRT<%Cannh zb%(*pM*u+)oy-s)MmO&yD?jmBey%X-Dxcx2pQ`E^?jI(9< zNe4{lsE9BdOLaj9jUe%Vuo_FVKVM(il1(V4wM2yE_!)HtDV)6}>ine!PJSOCnzk(k z6$DV2aH}$C%uUuky~*;EFAFcsCb+0`nnZ+|nh2??RMc-ZS>8gWOyg=`I*Jiq1dWX# zT=pZeqtZz1iwqNHWBM8we#~7HACra)&{6&+~HNKZNvy#;yyFZB+MQ*`Dh) z_rCN>LJ%W2I{hQJ611;UHG98GGAmR|8x2@X`eKZ^{~Z)>BA+*Tq0y^3@F9>#DLl@xyC zTMu`tcMlKP)N`jfa%a3aGb}LKw-yiPZTJXr==qm|OWV}`>FZ?Q=d!YK z^bte6oG4<}KR+OC-#Aphf_HGpZ&?JRh)HfIF2r2kaVGZue%~ARkGuq+=f1`xMWmdd^7dKuhoE8NRb%BCNTv)7ghq=Eos-dzk$q zW&4C$+2Z-Lf6t+BiOI~ug91Olgf8|@c7#AXIB_F#{@kczH&rmCv!9T%STxKU`&dJW zn?cR`LE6QyYT#k5kg&wR@8TX5=HI6dw)w!Id$X}OETxWxBLd({l?RTE&y_#<`}ag| zrzlJKq7L9=_CXlT`p}EwEJYv>dnbl-d>29bMnn-{GiL0(52<8qG505RCq||U*tX66 z%6lr7UCVUyb?jV{hxYb$j6^~R-9zLWo(&$ME%z~4I}&Dn^5uJ5fb8dUi#Jl?{+2T( znVNLI90l1L9`RedE4e?EsNiZd4m$iI7zZcr)GJ_DX4ZI7Az)KsVsF}j@`BpJIf6SJ z>c6&=|F=;o{hv4-0JFYh%Zx=H$n$a8UE}}!s?g{jiM7pr{!l9j>pS4t|5#okb^<>N zdAZB~SfbVcqm9YZ{MQxV;pY#24wflS%nvcrC9;pMq7nq=>psb_lYZ3YRLN450vHWM zKSoa}!qMLP%s-qF`0+3=GofAj89RX(p>23cY((;dWKX5>pNO6;Pu?sKUt>y!%Gb8x z=6bVHu@7n^aJ6~_YFTy*Fg(@&SyL57Q%6*w6y|W0Br$PC4kzAiVpRT&wEbh8fQA%C zKH3YogV+QLbdP;!nqee_w(I6vGYP13p9Ww9Szx1}JFpDcrI*txtMvauh8-1l{n(ZP zxl1==)!=HUeohzTuQ%P)Q3XOn?G}itpmH_?-l+mZ3wZ6)O(Xr*tIZ zQ`ZgURGeb9Dle(;7k5mE?Mc%eaU7NnGDmTJr}J#$6vYzcKuuLF)0I1QZb=su)1`zq zzn&soKaVnTK2tO@4`P}r5~wha>!JxeRD~XshMhPDvK!Pm6vk|h zP@)bSXrw%)kBZkg$UU)&Us)sR!By^bB>h|IQB6ATPO1VGek=xpMPA?+P`WCIrph$q z@Ura8M+~t9jQMm*mSLoFW~*4U>Y#S6uS7t0Eo-SOf};d>r5amQ4fP>uFS&-(dSG?+ zJuquI5vWb-Sw}+w5oK?ndDSDWucLXrPCns}e`87-a3d`|rtx$mHGh)ZA_AnpO)sOE zxx5yMC91wq5!h5nW2ixabmn!_f6xW0wsC=pz>nWbdoq&n=nbl=i$Y{k9fdjQ<-Lp( z*yU@^08ihjg$@C#VRGX{G9RC(215pq+0%ubj)HPSk_7>ZxAC_{YRw* z?n{E9!)FknQlanDO--OQ=%QC-11Mqk~K?}J2QC}qb<5PcWFPozN7utGoV300~Dpe_8(bgwDfnttq zZSjGbN{jvw!MsC5c04hO4Fb?J_cwn$gM!o!;sO7Ju!y|9Ulo)t>4GfYFz8l(py`_`-a zz>&nuJ|__E=BdwV3Gip62TwG&pzag!DHfo4=ji)ntDEd4fgfPjfoECMZq?DOeTvz?lBgOhn|ufAC{)dd z&N`&)I9835v47oC@sWIFbk-j^MBV@X(!hG#WcHx1_Unj_&id05O&R6(C)Hk5)!k3L zKQ|NaQKy9xllDQy)O0qKD}j{eF%2~?MmsFVfk_gZwJc~4Cvq^t&nBh0zATvs4f*pD zN?%1}&!Fp5l8b%-%it4!l_qMU1~EZfJeN;*e>dZ@l_M3ROpz8yUjZCVxQKTp9sW$(I(+Y`6?jU$- zx^vliallAx!tpmJkZ@Nm)EkQk+C%3HDyS-~%lD%H!EB3X75>8TiNqxEefoV-0{c!$ zeh2#w9{YodrMl~V*FO~Yjpf~j@xuS{UA4&9;Tjvk$AJRbVPN^#hw_#LY_iW$%0#m3 z?T}C&mfAyLrJKACGuyDPmxvpfsYXsV2AfbyS7Q53_Y{35$$zOYs9hm4G z)=h!Z)*haU1hj46z=L_Do8ErFDJ@vtfw^uk_f0HIgq9Kw1$$Xk$7ce2wCX_(33k$A zGNxlOc4jyrn!@pzQ*%SgaJB+SVjHqmSK8SCv(q1rS+9-Cf(rczGd{08NUN;?;!)yN z{s6HPvufrha6oA{5itGmYar(e8dT&>gXcYbW4Q<~e3qTxxEhW5Vy6X(%Q}R@YOO7Q zNM8*}Iy*K#p?QuCUH0=#`S8b=iu_2?al&#u_&s|D9uIzmC;ktW6hZjV=k4KTB4&cY z#BJXuA9q1MC#j)Hh&^>|yp@(yTU?TzzDx(ush&aRka2@6A|`=}CZ1h-^bP}HTX(|u zx#6V3Mx&Lj=KGwkq~v#IC$dPP#!71*O?wH*{=DS(ZL@P0qmvYL0+v?!5Qv`an8uw` zFa+Wi{42=E37zm5@>CULU$cv;&^$m_Q`P$CcEGA;MO~qP0I%kiQ(;$1sTtu|VB7X_ zz(t`r#(7r^Rok#!WP3XmV|xDlz`8(N%W&MLww3McFSV7bx?Zpj+uP^HH98MwOFmDGIv1fm-K%)7_I zt1%%C+3tle#@j8XmQAeK>$yGLn*}PS3IX>@r`?2=f3{=^rJnpvzlw}g=f}C5f1IY3 z)Bv1)Y)$2xv1O|IYIfj2W>hIuJUve^%FhezBB<6m^c8M@C#uX>JV70jR~FYp=}y2C z;kX-GJ?3t<>%4xaH9__uxg9ACreseC_8`8RIccXmYC2~#rNl+{r2~Zluk^Nw%-J_& zd#<5WhVx76iXUWJJ*u+~ikd_9P4aS7^R}uZvYsud!;P|cS7dfNRMOA!4LifbBy=0$ zNeMI?JP{QsnF_KxOmf%ti-mn$HMc%Bt-GUV*TeRSELGW6_5BIDG+I4AFQ)fsR>!+7 zj~9d}l`iw6nn<%rvv#@RH(pCKIAv4kmJe``SuA{7c1hVplPMKRW>#f!1*h0MF&BYv!os=%(4 zzv>3_5`92Yvs}YhO7oPFV5oW@?7Jc-QPN>8>V3EbAM+Z!Z>wByR|aVf(r(>|3Jj^f zkgrzWyJMtH;XVmJrA`y$;DGG+!|JS7`@&1uHZse8OH|q`SXv;Bp)ey=?@*tw#hisG zLl%%qJd`0Bf1PpRJ*_(l z)X2VTx9w|5(WFW>S(ADG-hl>Z;Vd3RrM3QmFUks+BFZtWc=c2X1$ z`?#G4Cr|g)^_`+Z%Kj^jZ^?H7+y~fTEZ-mhqv?EGE+9BIw?JkxEh@?%s#Ia2ILdrtw*5HR%zB)8ZQF#>>2bk6%9_ZR!P+mjp&n|({3 z=R$2PX^OxTe7;GKP~!Q}K%2JB+rBt48~wLrV> zxSG~$BH~&CwBjzgg@79J=HIl6ip#d7n|wM``rY#IxP_3siZy+#dm=&+DoBntUG+-8 zQd>_HT{AwpA{aWez_xcvFyxej1X1U(I`Fwf$O~q=P88opq)lW7SXPu|*rqDa6r0uH zB`>$qnbC>SCff~;6JVMm&h7X8G~QF`BBsM7D*oj*^haJxBr|1c_ z2$JAiP;JMEA*t-Qj0OQ;uhJ1t?#|b?6_2tO&I63~s>b6Ic^E?}D$A?!>oCskiDh&JXa z8QlQ|0$PK#$XuTKab!79y%;htQ*9-nt6FROQ2*Xe=b zB@F5tBZ*BbG_bt5TgChJEdUahScB3jVydyB4u1lN?E z;ZS&&9n(vsOU)G%hkP|vPM-MB04B>72}e*Q%bRQ==|zU|(2J8PD+(?-MVE!6eoKd3N! zWy4lTG$KIrwN7c&hC1><%VTI?q9Nc&3rr_8PKB+>%q~nV$&EX-cX#OZ%V#t$O%u0p zRl^!%AG8@;6uB!kmo;z$Gk3f>6nl>i6B2EMp92#|!zm}% z^`)4IATuppI{m~pE3wMb+FH}wR~f)6L1d4R)KTtt+U|n zN;rkh*VW<+fo93K#!AE&cHr+K)e682mSxpyVq+*JWV_ba2ry{m|ESdZ^262kxIXT- z?!VRE$==7(4V%XsVX4Zo8w~cf6I@oBlE0ut$CU3860_C18vl_;-XMforr+G|^(;)n z)e>|bkXL7+Zky}t9SA}_!YS(PkpmhHZW$+)wsO8arpB{&C`IH-4XPr^!LZ)?^CXS ztrn!|=FN6qm=SeSpAXIRW6b{z=Go4xeV8@CCy=@bCkT`uAjR63GXK#ExwrchRj`Zq zn^XH_>s}wux4X2T?mg}8$cR_(*E&hz2H-h9B5|mj=fUXKX>`zJovGn?wzEUTreTHg1om4?-hsfK545hNT zv|)1wGfM$+A)%dR<7wBH=F@pt#xcYCT8`s?3YL~okFz*&1*=(yOsBw>cS18dbGdU< zj)8LgrR|aIP>#B2b;(hS?71P%J47`XpZJG1Isxmh44Qg6^{uj>GHEy77)2l0jy`#_ zM@Iy#zn~07m=EUbX~uhlwfVaR&mD#Cfg0XntJf}+{9%!IrrEPc8J50f%wz)vp*b1i zqmH|ac0PszZh5Z)$)B|^zz;JVM+KCzL#}R>Lxu!;oshu zmX^BlRNnf)E#SdG66^)6ZNCF%sb4Dat`k;U)U>Yno>_m$s z_ENY6p?0Pv8w6}x6Ja4NeD&fQ5Ksxu7fhTAd=*O07uJ)n&*#QhC^_uZWBEA-yzJ6S zeF0J+)nn>67^@9$%kgPQiS#}_$GAP)bZ@64ET~a>m!7M04?Aj+aMkGUWaU4A|}my2o|`wS^Gsm>iGeJ<_+csf<-R3YOTwA)w8OF z4hc8p=`)|yB4UWf>@b(n$ zD_tT1`&R2RYg(dtE+)ul{b)xIPJyf*>~a^=HNnxzUl&klijhf#cB#gPn>2wwdZiyw zdwtXnDwn>6^fDmNDm3?LJp@P1VJCQo<^alq`THW%b6D?m?<8|$&F9f;6Vk%@VrO|J zB+I`2Aj^Vl$r}9Ie|?ycZGgts&pVU>P5!mh_2x1^AX(Bm+*dPmWbqX{I81HwSDmxT z!ik#-#ei@3-`0$?oXx$SArN}TSX=(j>{MC&;d^OaEeuvVQi5%a;gx$Q6rO?pE!EyXD>O&u46@95`(96lHF4;sIKF_`d)LW$^Mwd4(i5A^Vp7U zrh)pgUBQ?+tEgY6&5(?h@XUWWF~81Nlp%c;XY_zoh2r&-xo;V^efxXzP{Z#1Z@?!1 z$d)4W)>#s)g~(bW0-qdQ6g$W02>tn*;?k5_YKGnVq=5#MDus^W)puKUtifY{_cM-{ zUv>|fV1sx>s+)b+qOzs{R&A-oDS-3;h#l}tCEAxhJ9po11=ubnlsCUuwRuSHn`7SI zRE^4#0-*nozd4rHgx2nzFbkd68R8w0jFH?z`3-95iRU!&=4}zD4@pdLU}Oq%+ol*X z)$p|05hD-3i=k0~ZV;OvrBr=6tU0EHWq4$5pxwlFDF~LkZ=~#VPij*e|J(i$q&~V+ zue2sS2F(SbJwnE$T7@Vfb_bK2HO58jkeSB<>VT2j1kg5W!#xG?=Qq-x42%Nv~Axy ziO1e5^8ZUd`D&RikSJAd>Hlik!=RqQhH%h;PjcLLDjg5cZJx-~pvZ0Zd9F@@7Fas* zoECmzJel>|y6Jm~Mh6_wZ^X4|F0{`ln5nb_$L0W)7p(QLJlwHlbm)9DO%l^yi${ct z%VEtn;Lx|x`-ks%4nEYE@MA?|bG})VXj!W$Y#d>8l)O;8#?A;SxU%r@;^n?lvD+P^ zezi;{|Ek9FYhB7*wl`7o6e8RP?_mbo*=1M5_0un8Vdv4TLUqW3i>Y~ zcK3EYWO8%s|L}-sp&ZNGoR+DL%N8V8EnK>JCEvfwmA)`hwJ7nroQyeXJI>KQiIm?cp}2@7W-J*b(TOIc^;>$?!!m zV$#o{O&h>)UUDo6YrT;bc?I+OxcUx4ci!02sFRUTMw3x*xjLe<>>*0xq6bi69zrgi zaN-fO6464a$0PX6Y~F3(&j?(S1R8S+F`^{r7G2oJU;U3mQUq>Dn>H`O{tGBBd=X}H zm^u|@Fx6+lB5#Is!OR^(c=GjWYQ;d*N*%ppa)-7&`Gt0lm@|S*zBK6H&`md0#;;^2 zjN3VTc_PCEh>RXa{y~qaTE@GD>cK}R>}MpdYrj9+4`7H7zvel#PVQ>wgu+JNKV6WC zepeZLb>*tTA~mG~KXP-%>=rV47}N@hs7w+bVb$!lGH|5M1xgej4;G&Qa5Jj z6sskowtL!~YFEKV`X8_2Q}S-u`Gi07nc8m%vuBc$jPENcoQ*fSW zR9JL==%Y4gXxWNm(joPn*wz>><9fnXWNOSq`D^_Ha{;mB-4d^(-#))`s(4S(-sRB| z9!h-=FI7A-w(vqxLhZDN9x~~CW~|eD&3H2CRp{bC z>95^kC>Khi12pM#F}h)8bZ(RGoYD0FdKrOFzzFCe4bG!^MDh=3{iA9d3qYe|0n>&# zpz(8@9`Y>-oL(CrJ`N)m_eJ<@AU6kaEXdmPn_8u#JSOdg34Q3oQQO#2({(SZSRUD@ zZ-*p`J;! z)`^RY6V0SOqPa=u)1eNBc8N85IB7=VN)RSQ#JlirREINEMr=_V-61M)P+1D-emdGg z-L1U9UNqhzUOerg3guSNPHun7eS~z@15j7;r$=o#peP3BeFBbOL$1XX(Rf#ynTsnP zm>U}PCBFv!$y5pKaePn?C1!8j zhAjQRJN)iXN|bf`OT_0x=x8Y}oKb=n<<|bP_0nP37#M(3Nw9LSVY|OJX7UK)zmMQR&5_){Sk`lP$EA&p%oT6(Q2;0`<0w9{L!K9K>f~HW!>B&l8s~&RHeOxmYb@XB<2d?u!JTgK za^Kn}GrxA`g?s&}1P_F&GUQcJS`qm!Ve@8IMiJRA_k3o~Bp{-Pmy`!-Uo;Zaku)hR zd;Dy0GH4P2@N*&D(MQUK3d9%XRtL2{MuHEY#2Y<2+0+%%(EnYHpqKCa^N~mH;OLc> zfELz<1wo&#qi@Hs(dS+|Do1(94C_PPvahf*u)E#SeWia-(sGALZXBN^HT9)#Jm>ihOK+xqNL8rJ}Q|$z~3ElkT2aJS^r=(#J z4Ut#hj%_+ZEF?tD$L*j8OfJwo?2@+cpgv$Erh9b-L;M+tLy@arPPe}1Jqx`B>#lAC z(PHj!tItO=q6RtibedW0*ru{_LCFMXo&{qPWxGgZs@%|_Xtc;J;l#jG<3Gl=-Hf~I zcc28cLc-#~=dJ~Z!;fpBvE3C5^r3C4lRLMiiHI?k+LCJD$4X9-S2wgBqwFfl4h=Sy z3VA=pRjnA1#xzlq-x~x$nO!$AQc2IwP0j)3v_8#tHy4Cw8pfv1+0u91I`1O~unlA7 zM@iwz`DTC;8eZ*T-H>xFtuVX6iJ{MGtz03Yw?JV#0~5)refR=J5*_F=klQf%uyt}& zDI~NBm71m4nT0ZX6cTC-uk{}VKsrzrwpWyc0q3MYc2XSmV z+fqn^<`2C;^qzv%lVu2j8$r{XJgXg5_}k17x8!iyv5i{@BKu9|=0l_%J)gT?J3zq>2i3g2>6KvR0{p#y|FkwPka^BxypXg zqKttFO!<5k?%iRxuEM!uG6~)rw{M;IK?yxP3*jXC4P}?32747J4C`33>dfa%(tB@T zCS=gzKUrgPmUFoA6&sD}CzH{+f;5{eZ>&7$RuwBmJ~w@@AF!%rd|5^PdsPu;@gmO8 z%a3gut;+ncX~3!|`qn*uwW7UDwqNtej+knE8sdm@Uz$2e%~<(X`e$x5Vq(aBrOp4U z%tA`aWnv;!tu7UfJ~a4Ie812tqCUKg=Dsvw%^&i4VBa4iD9C6D-6$kZaD=Rt%Gq!D zb96e|r}}HyKV6oCwmyCesl>m)YGZ&uG|svvXI`E-47cuEb>79Owl5lwZd$twS>W@g zaH4BlES^^4FeG(u5SoiGWAaA`MN2 zl}t5Tza{Nt$|F0+IyI48&GG{2U0&Wbz^mGWk;H&uT!4OzW%Vf=7DvzGSOfgG_VfXe zmGT``bkc6o4O`-?gaAE%`pCxwLT$qXE~PA8Dk%)m*h4s$)G;*G+?{ zs`(h|WxGeKJfz^#9I%!x$Ysl-2TiSoH$#^iIc*j6p{zE~c!sEJ_W?s*wbZpIdQetd z_H01~WR-`|#mMHy`A?_0fq=zp9Gw7$4z2QSpe<3(O}aiFmKyDVmLn@=Q30&fkkj0h z6z&?CwjOg{<`y%{EnQfWVtG5!*QA53)>UsW^c#i8%B_*jrOTBWu4Hla4xBx{yaMr_1L zSA8DYa87cVeAs4lp@l-S{ZeT(ho0YW&nqp;jLjk9T>YP6BP^aPUy@t*?Y#5NU=|nl zmHM;y*^cdPWo%k!vVCcFSD$ZfBbSi%!{1__t+OvOtiM~Zbh#V^+71M}d759M9?L`@ zt6YXX*Ig*ve>cj2yFd43dIs@X9|&2|Iseplgn$KvE*bz+wmLt_b%w+sVC1{>^~{)v zNwkV4jnFqqueWk%)OIxXiod!O;dK_qXsVg^D6Tzp&Yi1qX)jrW2~C#mp-RsDT!*Iv zcVvYi$t%utN8QV1Yd^%I)*wW6ONYbci;&aVyEk@Cdfi4i40zMbXJftrZ!DJPE_@vP?5PDU7p0-zZNSFvS7Pt+5(yG6a={V)-?SJ54 zmrk}wVM_MfWc#@%+)X?Q;qpvvaU})0v1qD!tB|!?R@&YD`}Ln6fWE*_{%ynI@ofUjU3m4Pg0r4{es)+ zUys?-7-p1SS>FC)mHQ&7>X{XpRp<&evW{E0aYj-42JcCo8?@iILKaZ#m@|DJPjB^^ zMIm0QRB^bN!6rb72CdbBq1|)MpB%nW`tT*lsyO^tET)3pUWGB>Ss%jr&=#e+*X%neTo4~EKk?`rlj91+tgD`kUxZ$bA zM$d>MeLb(_Plk+A<>F$s{}`qIqIh`;riI6#EZvt>Dx_1DY2$Ti@fo>3$i@6nF=aP1#F!R_(40@L8r-? zQ~tj zL9$wIWIDQbPD$)KvvN2cQKf^XR~5N*c+YZLT}*2hz%J2G1`fz0PWIaa#-)UtO`QqW z`|V$m1PY)3Xq)Qk3iFIn1)4cn-NVm>J9G>lPZwxTC)(3!qNZu?n8+3^cQLq6qESA( z3$qF%5p=X?HX0u3-vScChwsLpnH+YefC`U|8%dF-K=V~!p}Nb)eYZnN`!5JOsP0=v z#m$nq$qQloE6DCsHCfl!q|5kYsbu1#8Rp7DoasX&viH;l>d!LQK5Y*lFl7E3s z)n^|7fj8lI*C*mO=sRd~y902W6e?lE02mv3O5b8k*XkUBlDv{w!}~K!*YEXTzKC6GxOmB$Y8ARv3v7mM$}5+Y{oSrWfq1bsl&9bK*UG-A=MxL!2eLGsZ~ng7HAWtf8%^3&#O`I{s% z!|+6o+&(5|HlV3iX<eA1^#3aHUWg{E5qe4~%D4`f*wCEPK(p1BVPpNKfD@ zMhmxs2#eOJ+OQIhU-U}uWCe}R*xc{A;EM`JdHnh1-NNE^%34JGqrYdU!(6V$mfAI+ zcxJTOf@1vq!@aIg$&|PY>X$w8m`8U?;Sv9?( zfLN2m7wetS6zd#XS_WVB;4s;~dA%jLB3F8=UnoysPo9gN_7FcldIS20BY*d6*?kGm zVIMXsaEoJ?$&8_Gq5YV_epGOYRI(Fab35~aTt7=M`lU*=Ej8JlZ`(84PqB)s&rH7U z*UX|Q-xjx-3RKQwp_27rdfM>W`woa_Rr-a#lF9HtyoC~>Ile8Kr7zJ;UbfAnUpb+5 ztFB_|%=Ewx!j9tPZ-L>_fkO zM(Tsv+cRYRPbYyEn`iqW4{&Z@lw_dQ7yAA2yOXVSyQAUZQCtPY4TG(4F55lZxVI27 zWVF#$A)vq8kCujANc1OFkp6_r_-J6$?sQL3#I;d!-S3xp2uB~ex?PiNCv#*K@!I<&w@WDG*@@qkNItsP-%iCR!md__ zZC!ek=f>HpLrGywon@A~Wz8t(rD_D1Ai$j~-}e^>GWH6+J58ug@AH1CA(L%ft$P2IXg z(pfI2J#|~F>e2qN$H1B~(~h52>D*-dFIEG|g{8YH>tQ+8LRsgrXOw6+Ylvylg`RG{ z&&!eB{>_<|4c;zhz9O;x!1(i}J*Df)sp)SWqUBb&y$vMKq!9x2B}UznLJu4@d#>q7 z{tO#Ej4aGGWA~ZO(O3+VliZyiw)fB0<@FPOOES^01=o`ig>k#>;!FBrFP%O^R@5O; z6H)g6?tvfs&t8rgFNkEReS6ngwB3Py>`Qf0O4aS-CH`}HOEDn9$bHG`x98o^Jo5_8 zw=_@0q861Ir;a>RGw_Kyw7gt5_8^)wb##siVRJvTpvJB^kI|z3dkCdM^GR5~0dZbt z5Qi%TV&6vP55R#UmRpYkzznm3sMf~SGRqgeJ<^d|6 zhIog1RfblIFngy|w(|5*yrc!p>HLA&dCua{7nFaOO6heAmVZyWH|d+#x4cfdt?I&J z(5E%B~Jr-P<3=2N zy7G6;&R5%SsjXqzJgfg4b(@+L`pmj24=h8i-)>*!?Zi(LG}wN{&MUhAO5o@<0G7<_ zsgz7W&lY<-LZuIXzY`XpnRiDX<%G;uRG*_xYjsB!)huBG8o12iPEMNjGm}-#ggqbY zDKCXcOV&2a6t}hOGu;d!~$BVSK{tW{-~=np^!=4Ag7bq zD6?C+xij%=)K#W)_fPvs@4F?mGduOq!H-nF z1N&P-b5@y}pC5B93r2|Lm+z}tk){a+FIRkZAYslmMTj)sS8jU@|SM=^Q+-I?Wene}=T=xg_Ex6m!Kz++~7|d&w&Tm5HKAq#w+2mM2 z=K%D1ot2|>cSv+%bTHvdcVa$|^jP+q3E+nXhC=ulNQD;|kN1X)uFLpRi=POK6*5k+ zgo%N{`WNpGuFC685<=LYdHz!551i}`Z{N#AI*?ImB#ouop^)}4fNs=5%Ar1}gN=%G%^n=J3LTEn<@_Bx)0GdW#he|bLABO0_m%OaA0B- z&fsWmMA~ztwqHb}ib+AIiiY^}W-$#amKb%cCfCW3YS(-&SznH9VJwMzpFJ};tSA+eFr>LGCL5vPw&S$?ivJmFSYFlm*7M`Z+c~FOsoA94@bgUisP`yL6rc-Ze4y zji4N8aZ@r)KRi{#U+peQ2Tfn0n!6@SwQN`I!%8Ed#|HOASfu#hr3z$rsT10EFaUqc zutJgjH`MXuwHKdz7P$a4#dUh;FRE{_Ba2YWOmKdd{7M0R{K4~kLmB$;2&t2?iJ1&EKIb~LnO!h z93M}JlHJlh~?N9XoT1Glm%2vey(3>rKFl#$eq!0Hrc$^{zUZS($O-+Ng@kDx&OOeWQcNc9g!*V# z9l{@2GT-B|!RXIQpyM$>uzDCeK~?@;DwkvTD=vIV&dy)TbQ>Xl{pwn2V4#1Fdg#p+ zV9{MFcnq@Onw@wVXRaX5)>B}xMR?xRSdL)s{@IybE3#6*Mc^&1BF#PGeO6zNkbm!R z!z%bGWuHX*&0}sIt|{)`XdT_PC5&Q#Y$KC!qDi_{=m5s?SkM_Q8*npSQ#2ednWMxt z*BGayJC&-(Hn3`>rxHg%xOQnYO7_*c)=JujzGnVWph$2SC=!JBR>zmlZI)o%2>19^ zAs-_xv?eBbOZATFDh+jsvnH@w;5ptBixwlJ>o4iF%u8PbY8k|BX?0s;mRMj?n;N|` z;-q-N4lCwb?^K3{@)#unm=H$IO`tna=WHt*&gPVZU@({4cBdLS`{-A}n-Cb*rT`vQSDtAD zv+F5n**BI-+dEFM9|_hhBXav>rmb;$G;~bJe^i>7^G9uESV&w+g5%acwdiln{Vd3u zZOl{>X>?@)w=}xm0S7kV&5pMm(cZ@$y#+IKjfPh}=A8CTokHbReQO^uzH-S*q*?zQ zB|E~+ZUfP+{|{H3G|q->;M(U$8!TYm7AlmIXxD>H! zv?VvfhB)L}iOBMCyuQTy4NX>OO{sxyekSeK01(Z0{BBMlz@)(8I?w$7Zf6{{7IM5= zkGDF`b4j+?tn7GdTYXy3o2(@Le+fwawpgW*t+o$J<#Q{UZ03s@P=4<<-=4}EXWwaY z5`e)~XaeDU9&q2fukQZ`y6)({_5Tae@?Ycz?G&{Li!VQE6VA0~v@S*LdLQaP%@N!~ z#YshZ@;pe>0LhQbso@_5JhFWSx;4ir!TfyNLDFXbA?Hwr@c2y)1uY<79?ya0+I}3- zX+SmNjQ7Rh?0i<_osM6r_pcaXr6B^*x-lPOcTHX_{rl~N?@>hp(dp_WT?vyg`D!iUXnqmQ zv>1MBJt&t=cHVR(){i*rq}oW;BS4sQz`;po`m}XY7s4~uK9(r3&Amw*FcfyXs%QGU z0!6mWPSLEq0M{3eOT+|&H5%4peqxlbmqOmKsMtzB0O*?!Re?^i#!ro$x=!d3&m)#)7oE-vIU51X{fRA z{5dTpS_|$X(bv~{Ra{Wqdk;WCtU`4K zPHvrVlyu$l>5pD050!e=B&=cDD0Yfw#_VhC+VpWK33=`wmxIBf(7ZZ z2kOt;tNvn-2RjTp{A>mxE%Bx_jBEdTXP?dCM;mQZBB}))L2tAe3I8?Dxu<91o(G8n zutX~B`pA`rhgrt%3f+F;F&wUTvb`GuzNIZrXVa~!rsaM<>yQ>lV$Ph(+<$cE^E(uV z&t5E5s?FK4h9VaD$@^QMjy?E%9RaGN5Y~>~DA{k($!j-@U13t)i^j7Z0jC;$+S3&2PaHBr+a&+amQY)r zK{G#|SZ2{_oW+`kW512kRyv79jMKu04d;e7E=aq^#a1)ofw;T1x|J5;3Ds<)b&kG{^=0F8^rc(k60n zLpPoloBvGb%hLl%ji+rpLNG$bSi<9zPouYpG{pP>6@0uv_*1RB7U`ORA^R ze{SOFwU$d!gQv4A^fd+h4o)QdyzAw^*P=gqucdBHAuoG!FnhmX`@%skm&5CsnxS}(cIV#5LsE03XRW1p>uV<9 z5YzA8-H(S(uQG6tb8&gn;XUSLUW&|TgMWW?GF@p^|Em^#9r%KI#)zf&e9u>D(I?4k z{(F0dTuYwjuH%8mSYzwyGb5EkAAk02LTi#sEMEYqx;flv^XvGnaDj}3P8L!J!~BHE z8GXtc#ah*VemGZV&6cr7I>6$5&uWK(Vg2CoiT|Kam)G)`&toMMj*H~_xVf#_^=eZ5 zK(}mFweMgvN9@%~21Xmqx{@Js?XLm8{1v`&jNP$S(Rv)V-8 zo5LpSa8IVX*Gm$^Odcp$=isYI1gl*R7|pLadmmc;yZutyh3xI<@}l-9KAn%j!~4A_ z)8WoP+AXH~PhKeR0vEqUlsgBHOEYvm_YQiIvIZ?~y#ak5#%8Tvsh6UPCuh2yyi*eik;>Ah9jeo$CMt&O! z*>|h}c<>)tmjnG_)(<@ll@^SZvp<26mdcNNl@3EPz~HM}1~W8xNm9WBC^Cof$7M!+ zHq7Qcyx&?UwL#%f>kq?vMu*U}qx9z!39jy0>c>LU~-XqI7&$u~#dV#~E|U%HZOg!*i&Q zhx4Q{*s~-}_^lh%VfSkEtxcR64mi?2YKVA!%53^l`jMr#^=5~P8j)=t-%9o7@F?L& zX#LUD<(ny>Ld3i%uMGwtcN&Sbnu+)m4}@lL^`FOCc7k8g)c;yo zRF_wm?wPh=<2N+&v?aX-;zjr9Bw5a+GCD`+?1GKb8{sodUl-w#UT#4sg$V6sfH|EkMZtfTo5DBqlltH_*Mg&z8XU z_3vGba^T4u4HSHJN%-LQoi-sWv;hU+Cnle6wRz!TutLew%Y%=j17T)^jbYYj!4G^! ziog01juZPnna01xF$_rEC;ZxMvcXS;l`pA@^aoxO zl`455>pyrLR+sV)>4-F8q|o{SP*1_@ikq*!Zhpd4xi1Ag*4C07-%ilcS4zOWg#0{wCvC_VmWWqB9l{785VO^UKdvn zQsk69&6BT63$fEHD0GobQgpQpj@LAvRXrQvRypW5Y>HgxqY!EO%a*1q-3Cog-v1l@ zh_|tT={kxzdb#}grbu&)9m#7A{KKGyQJ!TOPd-R++5Mx?%jSQXE4S7%c2VzwSv6YjJIHm~ivou1;I?*-;@KNXW0hE=KN@8Z$;nfeOu@245L$$Y?{w z(Qg;Kp$`hXKtMsd*9X) zj4{&`M!9N0ys8=km7rJ1wRp{1@O1m$PXR$knvNxNk9dj(6<3m5bwvC#on*NifSZ+< zBKkft0MI-rC~6 zAgaFpiN0^iRLfc8E8t`pAzTB08!wK$_5x*wughCR^;SC4DI(WyMWGn_y%wo$dN+2@ zX*F1DlV7F3S$P-H<0!;l)tci2zCw`-YZZweNFWsncsDJ?0D?*qT$G z6ms@YNvNN*K%lTgbA8HMd0eDS#&&?9>7BlJ$Y(^oYKltW?-RJ+68vB|J6yL?$lNHu z#^g*(gcGe^!)72GZ>oHtHdg!9CbTWc<_`nL+o)2;IGA_JlD2u@;7^kS3&F_{0YfC z_7NmoTca(|Y^>}BeWBw*OBZ}J*DE7`4ZzJ45JI$}3o!}Gx~1XyQua;6J2lZvzWW*I zUI%kKmg{ZvjQ~1xKG5)Y$#5E8Wp?lY9h8>zUUZ*b`|6X`sR->jT~f=w@&i@nl^7nY zkT|Z`q!LShCqheS-+K3bf$bD{ScLWWz&6kAuOPfth*uqHF^Yft=iBn7QgAY*-|czA zz#xAhgPqnDV;Vk^&V!?8uzA1Dkw3&vT{6ql58lyNTQWIgr0mZ>t(+4b-#^bVxMa}4 z->~1@-ak0w-PLzdrJkC(E8k*yS{WE0*$S)=_;v7OQ<>pp@7ST~fS*gn*<2X`HHxEO zg?}_wbXaTu`p8^aqVVa^yW3KJSDoe>TQ1cdMPf|2~0U^w{{U9 z+>8H8$*@HT9uFNuqDtIX;DH4I-tQVG_oQxt!oxl8!H#Rpyq?N(LjUy3lh^EimmD3u$ ze7TtFVn*ZbHSDkc^9xgh8{!|^1)Ud*ku{E>*I5Ck$DGeE7<8N|=X{E=i`q*M=Bv+8 zmIqrGG6AV+ZjgJlC*j8*s&(7ng*FT+=USFOJc(H8+x@y)Yd0hs`0xba4L*LRg6ty> zo+OSScYqS#HAltGqpRCP;Rq>_H;2%Yy!|trZo7GxU0tWZc)D5$`u9ZhY7 zcSbT7@&@JY){=PRj@afmrP%SmUp<(%nIv<@t^f0J0tNp0<;^?C@8&I2fCjgRSe@RZ zKx{H_qH^r@9Kww&ek0-YMrDw47Q@ny6La(ngG|O#Bi$RxpUFC>h=pTOCl6w}rwsj~ zlG@JIi;EpiD_JC1u4D#uB8qLlVAJ^2{<)uhcpXoTjD+$&VS4flJsAW_ep4US_Pk=$ z@cq8LN~9<|rIe%Kn6~H_gO5^@!io=lQYjkbbfsPIu>--qklKsK^AidCN)BUEm!pk6 zQh2XuMEiP9e9h?D+-lpR?d+9w4Ie(|t}`KHZ6a*BZ{XrY+MH}>sjK)1$ABdGrhp<1zUIoXW=n3g>+0>lCF}-s z-F$HI)jkjH{6PE0^ercu0bgT-u-N2ZJ_5TQ3_a_c@D|03fuj}R{#H?JYwuQSM0Jhn z!B)PNEP8Yo$cR0S%hnLkYCBxX;SyWB_M37VzDb;xTKsZz?d)|+wb7{lHm82;KFg<@ z&(;g7HVD(F!yKJu*7o;0TP!}Ny)#VnrzX<0bqbHM?iztNw^Tcmu;tY2GPX|!>JH3! zy07O$rXM$Ff-^%h$dMUjn~SeOa`2pB;BKj@Zgqt;)ObX&^zSXg<`L}&B43^>2?Dg* zRV3~_2v@~~pB62uo1(3^9Pdv*X`5A0U0;(2Cgw?0qMr=q2f>cyfTZv-yTF#s-0y^} zJ+M{nv1b>;@bUKHsO2Nwpp8eKD7M+9yf^Wo_;lq*o-{(PlZ%i+ZzXijh(V zOMyT7V#~E)8yi#zS=;JNf*k)pG<^kJli&A0J)}FO6+~i6_e4rSKtQ@hTDohaLqI?T zlvF|lq@-c65z>uxjT}gg9yR{+^Zor__dd^kw%ynBoOA9u?{n_68`%`z^X)$=m126% zcFk0;Z$yF@Zny;H&c<~^yS9bMN^GxH^`t&_VuAm=2U#?>53RN;MZ)**l?@NS+{e!K zM{*xJ`RTO3c@Ra5KFU#Ft@X)=7;ec!Bb+e=Q#bsN2l=mca5eV$gYP0)b4vCWaxgXG zeqh<4>5;?Rk%h~5km(WkyMbcG-B|3dz$fmT34ZPQa|I!b;40gMiJL5*aM|?c!t2we z(wBb6tdA8;{U6s}c)9+T{ZezIy|-$taGv?Q$F%!)qY+@4Xu*Bx+|`p6xfP=J?ou(P z$R67J2*zcuab19eea{j~%ewcqHo0&{4hHV{Kw7p8OnjpvqbJ&Omf!=u5n1tEqLuu$ za-S5$HDXh`I5%pW(CYg}5*%qNJow&q{VD6AXz+FMoPCksE@VPx?GfZ|B32hjdJ@<~ zSwaHI=B)h!(}D06dft*6Q|fGUbayIU#~Py#I@L>)ZEpDr@0ff|7ugbzS!;>Y^IHqq zd`1f7dZi>NLZOhl$o%xR`xo|=yBzDEXW!a6(m18vzoC=(2u-s6GYN|BWTso@TS_w+ zepC?_HOd1`M2V>9R5)g0$E{EN7qVv3w7*B`N9A*eu&t^@%}`k?p&2^;X}}q%+Ni^S z^-rSm8B1xw5vYVHs|PpOfTNQ#dQ{&yy*Wuk_D4cgx%LNu)XwSS&bPGBBy6J8XxOz@ znMeR>TGiEDEXc)-Gj;PE?=5O~^N(ryVre-yMbaae8aXRr(T@-FNvD9%rIxgj!@7G= z6R!Bl9~&D|hczz;wZD>11-Mr6yvz$KB2Q?Y`+YP<|8ClMqWyQjL&-}L2kw{dR5>9t zsXH68<$*=HYV(2GU>YQG@8v-d``jqcHD_=CdwTrK?Dl$mMwv?mzRY9jr%uK9dFCP> z>9t*jhvepJ4j*0L+l)ozE)BRAIT67>XmM(svw^`$#U#qG4gm8G1ngiZp) zRh%~jfl?|?xoN<~{t+L#43m7A@0bblR!}b487(*16`^>tArYHN(Xt&P4uYio?e(UI zZ#ReA)sdPiwhmi^6hNQm0&_F}I~=ONR1Yci&B=iCmuib$L%ztrT=(88IrRB}tm9J( zkUy+DslCz8x*Oc9y=bUTpKDb3a-V}c(>3@0=*8p4-zR3Rt!rI$GH0@A@Jrhh7q1B3 zXw60u7Jeb?y24MRj&*gJ;|CM5i9IhsBJ)Ph3dXi4yEv-r#orQn)oYp9gzZFS^agBw z>gtlmJtvq|do>%BlZLB8Y1rP`x5bY;O*~K)Eq<-)Pjk$|MNd~*gt|8Yexzl0`bjKu z{PB*qs!LH|BA9E~K>^uMDH4<~_gFoRVPN2u*1$(fvdJRu7}+Ah=-@$vrpDhS7Y(mh zmoo(BiDTydm zO>`+#dG#?+GcoAnZ??)j_O1y7$rVJ(z@r1j_XdhJ45rt~cH*{44n8%$ea2d*&TJi> z;)ZUQ(dlM+^&cUuRmDuKz1Q<;SzA6?06DI2_@#kuP?ejj2NnnNF~vfWGOl}k?{ zd;a~YavHd1rF){y(Mt5gZ(k4Brbw5$_ucC<0nG($P;--_;fMQgCWIgEdreew?aNGT zr8UIW0Y9D-IDsDQW7ic(ZHTEG%r$Qv=&yIlF>f7_PT#EPo;z1fO2Y8DzX?1SfU2i` zzf59sNqu~43GL_3MJ)`a9AM0tlaAbdMO{MgeoM+0tzxi?vO*4A>p&M0Bl*F>!*^`o zZ@E)kMv1)k{lm?J6;cL%ctTryj+m0xL&ZNJX)Tq}2~qCjO^uQBaW&dIjQd7gCn}7M zb8Bl73+9Wwl5so_cu-1KlpMMGHK;C zPH8(C>yb6*b;z25`1S=$_7&y%$<^=5pi)i$!GKsFt&7g=dCiZ14Ch6g1=ca|7QL2V zJHtMo80s0V?HBFF`DeJ{L0sYyt{m&olG8E0k?SsG4CyQ2KL&{1lO8q zaYFauM;YPukZ?L3IW?Ag!PKK(yY?9W%ZvU5lN{2C_ z6dU(vff1p&D7;zv=fY8JNP*&Oqx~o=%2W2)%;&<NHrXFyZpW$zuplnkK z-O>q{>7Z<@`IUd~NvkrP$HRN^boefB%33)c`X6zi(&41)=fTc^4Vu|>8t}0GbvOs# z@>;)hH;6n3A~CXGL2_J5+?t0d9V-zi;IMnr9(mOIbrd&mG=Qs0r>{8C-97|#V~AU2 z4+V?@P?Ly{D%)KhJVM;L0e$g_92qh4=_Jxiows|RhoqB1^l}L(`Lrbl-70AY%Vkj= zp@?>>BNDA+jsE%|{0*9Jq+IHe9+nj=jq^~$!&q~|R_9K43ya8*{1{8UXi&oA8;@lM zk;ca7Zh%nPG^n0wU5ori0D3j2B=g7d)$Fez;?q+27u@~u=y}w$by!Av^sbX~SGk^X7l*20wPbJH%-PO>M zI*ov3+5ow=ho&kp^(X~u@JHsu2L@Fyqb+3iCTuco=r8l#=r7wy!L`=;N?-}OHr#XB zufXs;@4o=Uam#BPBSPr>;{o8@D}|m5jq*&-kz3VSJJcyRg0LD`7ax)VAHj$IiSdgFt=CE%W!XTAdGvqqn*H4rSDk>~ z-`mdjJJo4r0_=0C&5c{ejTIQ{A!NE=uGd3`HGi!{=j3MZZT}h(m`0Ab@L6Gc5DtO?TGqi>i69 zs}-ldkF=M5?~ghH&H5IT>Aj+8FJmoa5&L~^Gg&W6`gDR3N2qKB-C2)xRiiTBJcnO= z9EiZ{7wvvB+9@tS2EFqF#CE3{DHU(G?xY&nT62SNN2DTYk(4 z_X6(%FEjGh0q2m5;%CZ;Cmhc>a6^L;N^sGLCkk9ZJm6bs?obcwh8|id8p;7>2@v0y zMCj3`TDj12#VUPx7vW1SC0mwoCDspxkcG?9%aI;=Tj%44PzNZSMvpP#A#=9K`()vo zHbx|YAoLNh;~no0B=0t)x+=zke87|Cm@dQ`m&i+9|CA4X1lOTQp{-9fQHj>nuqRAsOo@Im=H!=RO~uRuGi00i z?f@v;MxVW-e_#9<-*a}nJPJ9saE z^t@Mf+&=id`BJ1D2U8B`;F6JJ(ID5(h;n!723^-!tv7 z93p9QFICdi53EhB=op6W6+}r#h0wS#Hm7)-zCY3hZT*J2mk9?GbP>86lvh*B|#qD&d8 z+4&S4?yY@G;w4L468dyQnYIK>C48KU6@LK3Tgmmb4R^yWC1Ekozy2wMh!T=tbm4yQ zpUJ9N!`Q>U?FfzuTM1?#!iD+q&M2`K=QLJ=KZ-k=M0Gv-yze2R7-5HETw&N>V8G6? zTQKYfhMSXE63M!ojZ;j)H~k!A|K%Ug`GLd`%AfhqAM$lpY6&V@V8&Mj4T{emq~xSr2amoEKLEqvesw{c6Vp3+s!N!N9$8 z8!Pf_mW@NQ2~R&Ns0HA(kz&^0hicbQ2Ice7w_>_5F`hz`QZBa-7Gxg~C54Zz*N>tpY} zz`-UgXk6e`g|CSAvKvGmEnTHm*Au_-$0yf*vM&n z5DVhL;WKb6WrsgH4yjfn{7WM*8bv1v4~Q&rnsL0;9Tf5o0v7QX@u4IEs@Y;O5# zZjmCqV`aSh52wjbsV&B}EeP3H4E7R4TM9V*RX_*tZ!L|Uf-=K`|G6shI6hz6tJkPR zH@qs`%ob9)0@;bf4u06D6_g}^A7n0*<4C(Ho{xE+p`9~6Z7EiLgemgaG#KqJ>%6zEQ%Vh@;x@}PKZ^YzS=N;%JE%k1a~y~H+BHp)3wa!l@aYMUgQ(f z_>c^6pAN`orjlcTT&^tt^C<0=&CO|7JF#DUwPqw1S$z83XiF|>y%Z({qOf*LZaJxw z2+)LZmET71?Iqumq8{}f-FhC5aUefpX7BKI0C~9A_xo~AZnd~>(&5YaU%cmI6@`@) z%B+!u2hkSd8!WT^p4%6mvykT>o_Nk<&xu_jgwnWI%6;mdv%SwolDh(>w2O>LphVyz zT&WfEXYv$q1u8lAt0G)(u*{wpz#0>i3y?zAt%U7Gn@6HE!e2OiP3Zy@fN+yzbHrYu zN0}boIN*+kTQIK~;ezmGou~#xiFe3oz}x_v6`UOJzp*KzME4*jDcYdfw2TfGO%J%Dsh$NZGP<;3Vts5XdcO9F|#BH|}Q2VRBniPBw5Zco0-YDpWiwI`UIA!nhZor7Boc%Hic5#jB41O)~dS2siu?sa@k%-;x1&#CbC2rslXAy6|m#+G&zt9>xSa@<}fx=JuV{WqWy1fU#C5F3+IdAduY3ol^B8p z)L^)LL};0jc;Y7lx~nr~e)@b*mRpS&7SB^XijzknZA)-&#q&yGHZzfGvm6U|78~`m zy%q^qtqix!UJM(8ScOKOr36=?(kNR)wn<<9gZ)e#EYZViGX?Fc1-WW#@{c!sP>HFt zRnLS8fP_FLsB_DGd+k>M8f9zbkzqMKli zzDe#3ktf-OKl%eiiD9h=?@ACMjUeRJUMKUSp5Tu*C$|*U*jVvuOX;fW^>;|2?MSOs zgGB8~c(NcXj50>n_|Or#He>Slo#EfU>-m?@R}V9P-aB` zoWfhDk112?ojMy2Hr#32^YfyDx%)JEZ9v4$1dF2gZXIa0SkVHpq4ax2bRD_;&p9Zh z6;$eM9|x$u@9RCKqXsb^)AZT#f3|Y(kYBI(k#9Dhm%{Te^7$`*`^EZ;)oZ+hJGZa@ zqgZ4Wewq!4`8;JQg_M)=**P|4=%>P7Z%|^9o}lOY=;oQiL7QpsXM9@BO3 zz-i%=@FfHxf;}JGcm3a$hcy1m{##D=0G1}!#k6p5EQ z;dxLtF`BotUE=BB=(MsOb&!Vj>M-8&+qA&-xk?oMB7^O@bH6b8i;lZ}acq3KXk_>P zh=wu`Clv2rKRm1icNEVuBOa5@f0Z5txSC@#Mjlf6sr$cK@!{)vx*mBcMO1}r9w4I z@d9o!_PO;-rz&IK+d_p%b+XaMoWxrx-BeS9bhvhI+;k`PML zw80>P{Il%#2|qvzMT|ItuZQ#DjQa9e&21aa72H^QNXK5}o0R{#znHmcjlo847hza` zpUrbsl9LcfDTlk5n{Xz?c=(W$PbdOPygR`CQxh(aO>HS{DVwpn9F*&A-CaN25v2$x z%7hawY}~sM(nm;H2;ynS1_I!J)za7%WrY<%IHLh{*Kummp$gbgBe8eP3cjSNTZLfv z05(C%&hF)5qpt&^f6ou@*zBd|kh}9t&8I;<_Sm`iCoO&w9fF7HkVja01WMmT@`aTM z#pZ9K@aM>};S}!1$4#aZEKOZTah|l4d3O(v$%QMFud9@=usX*qfbC|G!rKtk$u#qnHP- zeA^p5{OSp)pxWVwrgdJ4J44JhThd;`KJ<*|p0@Eik@7EmeGLmA&|H<9keKk(o7U(} zYxvlZ%0Bnvg3y0lsyRC^)~(>0dSXNCb)}Y=4xqFN-V5y4{;~b zo$tdwm|(}1w&>|>A+ZnqIsU+5V3AN!MN#%a@riqJ=x@U^J`!ZAVH*2f*}MvbV?XVn z@MNWAtF+9n4xOxScWIXWUCd|M+D=UX(YMpVlup<&}5{II-?%%e3cqsx|0K=M@A&-hU`T9hW$Ayj=Y! zyK}L6R;T01*OWzr`QL8|emADE2WHLRGRx$NCD);to!v=h^qQhOu`Z9N6~VCGyn|-=MAW3{ZSqDS2vsA4gro|zIa;teRDzm z?crlrNalcN%9f_yEf>pZk?SFrpSf$X{Lp6?`S}w8(l1XoY|=-y_0E~kV56^_ zQtHk{HSWI1jAFHOw6q;ma)u{N)( zObnP^I_+Df{fp$XQNLfc`kyGB%DvTDu$uR%y&__4UaFi(YexsNN|^1Ze=HnYOh4VE?) zHY?2*^S?jMqTYLsk)+SuOJDhBEZ#ioL|U@TEtL2gIj+WE@z6C{ueZjrxT0w4sZSf$ zqOXLr=Bs>lcjnd8S|10yNNNp(Y90>-{qUf1`e%Qw!23Ej6VSX*I>2-t-w2Y%6vGQc z(*?EPji&}!GdXYnlXv@LS>5ca6m5t#8XxX-cZh}>R^4jf4#Z*&C8;j=6Zu!4BG;mQ z{Ou4rd;A?JKEM2bw@v^qS(jx}7qpEwm--SE4;J}g$-&ku8m#>R`uNN9&q|LjgsIAh z*2$}3VpIAp-;~ZP)6eCnFDkc_x9a-?HAqih2R}fTgXd**(^jsrDEH;XZOJq2B`@Qv z>wb@Aa`ot}8wLNsZv(L6xXJ_{ed;7e5=QL;&!_Q~$)|CzPY3(OFueMqsSPQ@`7bw% zJXYzjG&g@9(0#e@ox!`3Y?RiJ@((^6(ted{B)>GctjidK>S>&5w|KKmd4FNLSekA~ z*S${V&D58+*AGo`lhK*7%F{~fl9(uR#u^6c>-NT4eGs?nL)UDj+qAl|Z^so6EAlii zhYC;9c*Vy9UzB5&J1s*`&S_OIeT8=-Lv!l#V`k~Osdm=lbDN22hAe-x9~Q!ee(f)R zGg@k&y~y$*9Ii5YrC=22r)?hGT{5U5PidA7ea>%I-0zEpzfk(5Nr4@i7bpMS*-U*Q zp;y8k@E`cPQX9a%nwcK=}c*l{;#Pj46>B7{s#%#1Jk-e z6LJ%szIE(+O}@E~puMU`iwCl9@@)Ty87)roNe(29X}nA7y=hn@`X{TE(veY#G0*>O z=3iU>OrNONyW?}6d$Ar-x5-}SFi|A*C$DJA>=DO*9?B0GeQ2=X-=GIB3ZyJMZcJ%V zcyXEXD|Wl(|9DtnF9-@ScA|N$a0vN4qO>YUVx-@c)w%C;KR9aO)FfCM>94M_~QIKVkm^=k_A3C-{$ve{$UukooY> z53w3p)fWw_OQ!yXyt+=+DynBO+Ib|N+u*6&Qrj!cmEx7k)!>=SS@tRLFKpuOE2vnKm7AQ0 zOrPAFjJ?aN%OED3+=XnEnIAP>*VE3mYc+q&HTH0o1nS6 zh11F%rAg#>$jkUGt}U9{E^~Kq$4y4_(oOWG?8)I4WGF~8s<_qehh1IqZ?D=-r$N$; zt_+Z%y-QJjY(32PlW&>tmowAd^69Fdx;AZHs?q6D(p_1d)6uRZ!Q6Yf)rXxi(a0zr z5}4qPBid@!G)lT4xch5dH1#02TbyIk?EM;^P8w!HHT$q(+o_QfvtQd+e}4^i55D4PoL(t!5HCD|GCM{6XC9w@4mTXXLFTSzPB~IN0mRb zOU>Rj9xd_uW=~esEbK2e_ym7j2wuV*d{59y$Yl!l`zdsOJS$#9*?aI_p6Oa;uhdxc zV)o$P(zP$gMCj{_qow_&>=w}E?c~9@r~GdAA-5~cQJ0ffL z>+4clX7Y0EYgAf`;icFI`D~9JDIv*RnOfd%Zz@$W2knl@#=0?Ip~gyL+T~6QzvWZP zONcqmezy7DHNw$gJ-cR;NzocK``xCB;@ZWyarHK~gd+dxP3NjWj5~X~D>|*qp9~U; zj_rbRfSm(w;=I+&71sVzOC~i1cNg+lvL5xv+48*Pp;hHgzW?->^+rx=Wom-zvgj|@ zjpfu>Rd%+^$v%jxsj4sYl>eU}x(<YD-U@uYWYEv9bMDRr|mWYH>XMIgU)W6uY__ zZ~WlKc00Z8u68GLH98)u-&35EF2eUa`h>{3Uvwda>WX z7k|*q{nR3Mw)y8mKgnrw(s@EyYaydSU_U{u>vM!NHvDz`(8gFT0|Rb_yRa-)&V6 zwS75!%ie#(b@JMNrsl|Yl+{eKA#l&Ywu&QoVb<4{gX4N=HnSJI8Myl%z!t(HD^>o$ z#c#Uv=k(9m+Pr})v0Y`u)uxkPA?C(+iw5hJ9F1;^n(Kba!48XmjwXBa<-t2>j$f@? zWPQx(qE8((M(T3DNKZ+hctfQbH_bC@MUdEkioEjr<}y$0M*4I5?zQofWxtZL`5WcU zXD(&46E(pnNyMFCvb|BE~zR{k0ZF#`gtmXylzvaJZT!eWC z=1Bu3fRa_*Rb1{S%kQDPCln${p?yAkw)WQfg9e<#;NlNYbs`Xw?rrw=?=S=%Rl%8W zLgTuM9rk3B3*5AHM^$Qc4UbfM!i`?Vhr!uQ- z8#Q#~_?14dw)c47_8e4^yYxNu!@@7CS=D_>zf8Y~rHb4)*+;*;Cc26Sc4Jk*ZmnHCwG^~dSLyxdEh+pzNBl>d8>rRwWj8{wv$s< zYV!C?ISbJfvf<8NCmT64QY3Bl0MdC}&T6-l&$$NrY`34Zp1`u`Y%8r!A>>y^cS3#p zjiBq3{4(;@VpE0u?^5v;Q^LsM zdHRrV4LMdt6$nNbflHBn7VsB8Hke*(yjA(qP}QW{>Wm9^RB_z`dU&4ghQXB_W?(kx zJ~@4|P)~kCQITFXE^%BxZxPbwCkfME7?O0nKpDD{uKaM_^mn>AYOQw-NjRs283kv# zPv))4);U~~nzFi2`WK-OMrf~bx}G2F0bc5NsZwfWwyhx!JavYF}1X;-UU=s8a<|V4~#0#$DO#+vf{%!5|h8f+d ztoyN_)*im%-Hvi+=0lfl#3vBsKgtn0Hn9a*HCufO{M+We3QVtQtz?AmL+dbI@^FozsBU65tThwe^vA=+LyW)WpMZIbVE+z03} z(JI^k`rz-iu=;Ng-+q}2j2!(j@YPFJ{?1zSawHw$P-Tu!AqeAt008*~^9=$ujRqPl z`4@tU-??-ENDn>mlH#(_Th_^jWIkuu_UyK=SSRet8X>Li?%JvPT9h^0>C z=8Qtb=rFaMUtZkOm)v`Ic`Tk8>CEdLE0PW9h0|+ap<|5`YtSF0pvNaymVohM1MAab z?zX?k_+J+avq~Ospa}U3;=hxG9F7d;k|y`h4A+|xnMqUDA6qHpJRtG`3lgc{H_1CL zT1bP69|~xDc>P4Uiuk41o$hhZwq+wEn6HCBS-T}7o-t>0odhZ!5AG7&rTS6Q=Dejb zr{+Sp$@!HE-dTxkax(`fC(3gQ`8hQ!nzrvfmQu+JZK-4IlT&-KHB4{*Wwpnb9%x1e zmNGeYo?=+phtXx|TqKCeHk4*qP@HQvvD{og9A}7qnEy%6=sYU*|bbTxR`7z$n*|s|^;R@`coxT8>FuV3rTEdDVXZP^#gt@{9gnJNR zu;FpkHrffYZF_Mt99rcwptV_eET``_xVwzQNDmcy!x)FD*8df2R>b_U%JIVFF#am_ zW!6Ri`wyba2Q$g=H-Ve1cW0QYvl9AtmL^21)vcXn2u!MMjmYy)wJYR(dn1jRpoB{_ zb;z@k9(VhgE|`-Fqes6`_)*jK^A7$hl6J5^<&o=8K^CK|9_NzZ-?wN4@i1a;2vWiQ`-CX}^r6fd z^!buQynF10);8 zrA2M~x3Qp%p3Oxm9qFiQZK)wdGV~&N!~FDl1VYH{t@>NH4mp>>q4aNi9gC29`L|gs zqx5gx3B1@B#2ER3tvcrp(vX8k-c_gRmxD(MMps*xbVd#%trvRT>@6pcQ9l9hxO|%J zXJLpK?-}COjr5Oc5AT*Aw{L#GU!;<|TYQ3N_X7xXDE=(pel)X;UD7yqvv7vv?Bed5 zyTT^$vN<{4v#6)<2VZ{d?K^efy(@3Kk%{A1Z+;FzkQ!EZMoxO8jF{TL1e8mcGH)*B z58u~#wC0d!44Ayma5z8pn;m@1%0J)OHsN$|byrK2>jXADsm@A^RQvLGp(MF}Qq2U_ zr&q`y5JH$NIMo%2tbwdp-CEhB5m&m{daam4?^aW-2&7-V^9_u}<=oYZ^EOz!nO69Y z0t4A1hRw^D9fLL)%pdN8*2O!R&%$q!WncY{a`@1x=Fy~waxse{(>D}7B^Z1RzkjXs zOwly8FN2C%JlH@@(<7^3pubI zm+~7_TI!fee)#h*Q~7-8)iJmlS^WO`lZy+XD3CUU6A3$XVHaeA{vGm{eB5|vbRm`B zCPITWRWSRL9=gDUhRxA19kRIu-+zQjvl56N zX4h$K2v)lICm^mZ6?^d`)UyeVK)h(QLBx@O8Nvds(Xd zFn^WB{cEVvNX)gTmpvs+IEV-3dEoqs*^7JYev;FC0EMapQe91d5Tz-IG>w+h`jL*s*^Se!RC<8fg zJtprw<3PLkN?7X8!}F87Jk`y#G1SoGm4V=*S3`Awot|axyH?-be0pS4eOI~vCRA<- zq_1~*@&^B;$h0D2rs{AS`fFh3!i}FwVDP(^`_I2k5jWRmo{+9@2JQ8~3@a)Ag42ZP zz;?P9uvjbk#83M=>?fI8#jk%ZSROW(iwifAX$FM~*w^N*C2DyomtRj~CxDLp4Vr4- z%qVd?ni)FUce%lM)|cIYs{R_=nr+so48sx_E>}Q^CniQ|5`U}S?iuzUZh*I5YeucW z&?A*b@0TBoC5@l2YsO-PYc(LY;EZm(wA22xm}~mq&0kg1h2g2J)pn+Al1}*N(w>Sr96HzP})1S!QTl{4~<`i(blzF zS59*bO%jD&&U1PcNDv5)#e_%C6IZ`rCDfkKgL~JDp&kpdE&i~J$gUIoUNg+;U{-&G zS^;=9Xbpznfm3P$b>?Ue0_kAwL4eg134FxpLC62pY?YO-M@sD~=aKhrntwfpo%}sB*=zi8UDra4yX0oIV-@W9>5$1aV*v zI2}9}i6E517}?eUw^$fop9#rf2t2^;McF^e1=6_oW^ziD7~AA?12M4ye=pO|%=pq)`6V89+@SWY0?bZl@YQU^tjNDJXXlfYO*a@~nm zHq79+Ap&TL6(aTx$}kR8EL{JFdVHXz_nFp3l%w5}->a%%7O}s1gjy|ZUrjFX9LL)p znHpY*%&IhM*8My%sLpn4bTnCFuWog#!j=lvv2HMIiCbNAU@`uyMaeqiAQW3t{+5~u zCHpWLN}@f@M#Q+S09a}%Tx0RIdhhZllw4xBosjWwJAiQqOu)DcCd%9f;{qqx7;P2( z@t`^vfB@J55aqd~t_y0>F97>w_00L@QiNzY;N(w#fjjsxpwujw9LLncR72?;Cwjx| zLyg7?k_juWq^e64EGLbDRH9++jGw>j5cFVHka1Uo>;eb=`4#1fK=x6Y_I3`LO~iPw1rSmr&m3gQVa+kUaJeqpYGfq#xxu^hN~xufSx0De-7_`}&slOr<3syVi~+T)Mcb4y z`f;I5$`Cl`zp*E-WQ6vQ{Cq)HgF3{O4(_4?+*wkIe&b@tgmOB#GY56RIJ$p2 zzKFWR>6?>{Q9!{+-{gs%5>hf>MIJH}!7&PPUnZXrV<;6z6hz2yK@wzr=*aDXNpQryQ67D(}=99E>IBmVqtxO+4qc#`;@y+OwbOJ#UU$=~HS`drGa#YUo~y zW`uv~*|Dyyp>aBXwx^ybipVE^(kgoh>X%~8c_+t_^QJERx2o(!4xyLC zlrcW!UY|+nIIgzn2;pF&cJ-nZM~>S&9DzjP>WLvQL<8EQRr;{vI zctCMWa$!+R(gvm~wLLpdhfG#?0_;I##Ntk9#B3C4#Bzw^E>cP8E>Q_^f9i(gF7DP{ z(-{6aDapSJA{#e1+r*3!=iIVcXYgqAEZ=VHaV@xrz!m`bQctY%p|}Fx!BYj^psJ&L z9#x*L*dIz%VB!j-2a*R=x6^36063Z(U4CSTit=PcmmC?OiaaIzw1S^SIsqLe_VK%3 zUU$5h#CoruI=~rf}WRr%1K`^RO0qmq|jj>y+5CK z=mJ{RC%^T)l<`QqH%VaTA`*U)C5R~e{scv+PcUo$9?webcUV&?}`Y%?_AX(Bwo{Q zEJSxURA=v4a4~KygcutQ+&i&iu5%z&u#>*b4WHs(vDO#sPtv4`63MahMBU5%Irx6! z$cUw(OY4|soFPd@u3=@W!XY{4pQ4OiB8uT7!bgXb!_qi)aV0^k_v~*jSrThPNY8(TQ1Tjs3DN{X zk)cAcICp=c-j47LS_J1H2f}*L3PClf?oqT!CpA#8BQC+xeK22uuP;ROWcUqUud$$Y z%R@53I_0o5Azg$?22=H)33|cW?g&QXwP&pl*>l`?2&c_xI*2qmJi?2C+YP4x;4d;9 zU;`OmrfE!AxnLJuK!^ukE?5ZP734>pWr(39G-aCRKi;dXeH*?jwBC`FaUaF5DUAO7 zkRzl=4@bd;zmr}bP;h9%8#!wB-X;)N`L5-L3^ zy&(r5Z2yIvy(WheY*Q0%Wx9tj%3wjcB;enSh%nxauMt3g4FMnxVqv|4!YIZ;Jd{xa zK+esH2vRGEr(>KE1~U^Tx~n$FQ#H;E$FIl?@2W5gNu6tbfAUgzH6IC-KR6> zCtX28pPky+?>n?n^Y=#1LQLIbK!9#Rn>K^GOkZ)SsUU#y8w*nH+DgD^qZ^g0!xHhd z@gb2*MYdwBFKNIx-*QLAU5V=cE1c~b1p?tZ1@8HgE2e<>vwJALUB4Vp=D76nE3tqt zXC^4GT?!P*E-8X!HvyrsJ6Q0$qE$J;%!*#fZHXK++5&*iw=hC`S}38@Emn2yXE^Au zXBH^kT`rX8?lr=Dno{N36vVLaa!VI79>lchbbCK!IOuiVuQN@Lsxudq)@~z0VfO-I zHqD_sf6Hm_yE}?do3^sPWK!0tW@nV|2zq`>u**@vXM9If;V#cVzZ67rGhN2~WTK); z=q)IsiHAZIKB~A_9`gm>Zo}a5&Y0;lEd#DLal-Q~^ORa>H4`@8TqKS1B_!>9)6rQi zHJk8kFQjv=<9)RyVyIeq)**Zr8HI(D`&8FC)$NGAY7FA08W+)7t%&$o&4u_?ZG*70 z;Yq=GQMpn}kYF}B=eY$5p~8aXP<}x+sJtMpIco-?8!;w9Ey*W->`8&SA_mwh;(YXo6vxNg9&n9h%mG0=WIq4YfWPy)%nIkT2Na1NV>|<2RWLq&n8ei6S zf+0#6laUOy@=}Zy9)v3{)Cnzu<_q7xTg?n-jIzR=?=%XVS}lJTj5a7x=&B;x?W$6_ zB1)<4LG3CUp_8oj(Zh%cl$oMG+PUZ`tjU%HhL5qwvfIvpQQ-^JPUqqY&zl_j~ z7;6za@TUj^_-BL({42r&^2jhy9~l8!Bcs6Z$QW=+WLK~_G8VK&#)0<8c(6XQml3TA zqBSEE;dg;(&B#9RF96Y+k$vI!fSB1L`-96O2Y^>c4g#-<90J}DISjldas+s5=Bg(Yy;%j^^DGY+!e!9L;+m~y5d_or3hLltJOGr7D?@Y)AUqQ+`enDb7Se=*&&Pl8UYZJ$Vb%{CPyu=yc zg^BrWEuYyt9Xz{tCU|b|EbzSEi^VvFHhm`C1JfvL5>ydIDZ$!#< zya_4SaW_(~<6fj(&le-*dVUd7uIEdUay`EkDcAEBq+HK0N6PhlIZ}?Azqv>D{Nnj3 zET5gtY^;toFfY59UCypzH?Y<0PPTEfY z(zR@@Ks!sDuAQUVwF@82| z-^Vb}@R*^evCil+rkhrpt}x$Xe$4!_dA+5^`mA+)*ut>O!afg+3hx(we)!(-gW*#n zUX6G!;`fM~Bj1gTi7JU&6ZLV_A5mkXuZaF2Cb~q05Obab1^oUD5TruB*Gg z*fqS{kZ!5nR(89-+pca|v1PHp#g=tHyZc?;w{_p!{b2WPagWEn8P~l>UXSy7IC`v% z|1kboyrZYP=h~i!duH{ztk;HKTY5dz>-k>q^@>l(N|=~1JK^?(9}`9;o}Fk<+?+VR z_tM@gde`?EoAgA|^GUBJ_3fM0cW>YJzF+q});FwQw|?XL74%!!@AZD)^)n~moV+gi z{^Tc?V0aFIr2VOn!g@F}=>IMxM{LtXNgS!sN9CFW)pNHs&ju~1!^xUDl zhdPJt81~Jusl)BVj|~59c%KoOBhDI8F~U3I;t`*ZxO(IzqgRf8e)OxOKN~$HWn#*6 zDb1&FzxgH#a-CFt;k#nd`~DJ@?++ zhjSzIm^Q$YyGLV8E3&jt2DcmT zb+|onZ@}$^dlPOS+*@$_wQTmbHUTqvG3MyA*t>8CH8I&VrlDby^8e z(Mox`HjPiv%J@XB9Bw*X1uxJld7)MXH-i^xGx;QK7Tnoz=fIuIi?!MOEbTnF^Le>; z0h|r48qN+khfmjP;A-I|Cr}!CSTEe51C4->t3WTeMYh zSHfKd_dmW(yP7|uT?2P5->zN9cWBqc-2itZ+)Z#d!`%XRE8J~xt9hGtJKP;`Yxs-W zTK=-Oj_=gg^L^T#{6}pAKc=kGlY-XI$w@8nW{!Lo1Dc!9-I#1{x(sxM@ksc-elJsZNUq}sHsfpA= z8bjKZG?ugv|0+>vU(!LOLr6!FrjTZmW|3A>J~K$qA)QUSh|=9a;f)mDOuCiy0n)E2 z-M6GalAa>fbV_xky>+VIR+2uWi|ZrwInr0i{toFu(l4ay*=W7eRMIhe6`xI70o9~7 zwTN&P*=Lfj(+`@gN!>D8gzwdhzxN|_>=Y4xn9@B;`nX<|`y~qRq~mwe@o!T2O$xt* z^qN#vKL_c!_eeh={fIQfpfr#4Y0_s6>iTw&zCijS#m5D{E8NgpG9f^<9Sk96K&OzL_p7NudN zx00^5sC0d-D!eazz->ammde*%Q1OqDK1TW?#lK47h8U$T(wHtP{>Cn0Th+MY^B#(=MuCeA-3zi?7N4Z5P!)zU`vw`y}Oeid5HCsev?( zG@i6?SCvm1X?oYOvj3)cEtLH?m+bjnRlm;fs`~YGI=+&0Hl?#uxQ6sHvR^^Ef^-$> zp{}ajA5+-WO@+fqqe#1wF6c)2kgg)ViuCGk>bx5%yt$jIx6R#Dy=|fRZKMy8K0^8; z9k-8;+egQJO!m)7zb5SyOZ7lP(}_CS5_gnRE;3R?-JZbGj=nA}uB@CH;|9i=*{|v=8YZ(qVC`Tq8)c$UdF4 zhSU+KuHO--uHQ-N=aaffmr?rFq<4_6C*450nRE;30n$UHpOSt{`Tk6L680`wle_RC za3kPS;L_p7!{x#iz!k$)z|Dj^7p?|wE|11>(Ks#|$3^3~XdD-f-a-H?ZopWyez3ctwf1m6UIH2mMd&vX@>!~KIW)1BarF~2KwUTHeP*O@B#op5VRGvPnM?}EF$>k0liY)`^Hj&KXY$FY-(K;BXO zZ)*&kJK_XN{btxI?u>YsuZuj6U7JhyNK7-_am^XALMPl!UD^!0y0~<^x;(3UqU#HA zKkI5xwmEUpT^ixMac_p-826lEbzFVS3EpP7G46SkFS^T5i2E(B4gP1~nvvIw`WJh~ z@ZCN4>dn3O>(@md(mQ({*ZL>?tnZ)T(yfbpGyKBD6uz+cF;jD&`j}7Pj=)`*SReCE zpA>FQO5wwj8e`t-Uk}$9Q63JRpKU64MxS;XoWa@CVf2 zrr4Rh9Q9lQHw~^NcI4nqvAKgwV&8-NX>d8}rlPB;qnUgq^ncw>@E=USoBru?g8vQ2 zVbjBXZCn@mqW;%m@1nkbFzqu%@MXhCBJYv0BK;RU26g+Q{<{$|sLLUy0SFI({cr1F zoTE3=^n)8H)7HR!m9i=J3!L+-l>Mf4kq6*@MxA^UH$D_=1 z9bQ|pXO^?E*0sn}>2NP}xI0_L!GYXT5fahUn;p##&xBfOQR$~uWpqkv3vphuX4!0G zq;ImrTk7!6bJgN}-g)_6uiH7N+3OG)jPWOxoCubt#}HOT%E>O8)p z6)kAC%bro(&{XeeaG;=~{XJB({^+v0s-^yOq^1ksBy{}HSC$^K-O_!Br&Gr&Zme^- zC)qvTa=Uk)I56aK>7DvdM#v5%t(9K8+dIqUp6_tWT1u7H0()bPqaIBtD}V6yBIm+Gab&j~EMtdYv>x1cXfb2UzOG&-&=vvg+Il9W>@piBw>q7LRN>{VH#zD48&Gq$5 zD(7KZax_*gX>v@nH~6CbQx1iT8yC9fI|?23j=2G2(PBqUvp+P$gYiNBa)-OlMje5j=Oc}U>ANRD3-=~(OyoUmhymb+b;>Ag!-yxl#w^AJl(3B44ibXd7k z0!vy-$JKCbP&jpTN~&5jD>_(5kM&z=^-2l3-lX^^^pyXa&_k3u&3F75;psFnru_RH z=u1O$Udq4Ec_B_7+A575t2=aUhn&$;d{a`&=~Gh5|Gitt#2%4-m8+<+c0#&M8sr!i z1Ck6_@*0AIbV+){$~8G#`rs>maxz*S%Gs1a8#t^tOb_Im8c3Y~RWc@V7hiVoBv?65Zk!m?Gy zjIIvRK4RAu%AOM1EVc?ElV_a4o)y}T)25sue_@~0+*kvtkPQ=oUiwbU}MwUBWkwHU4vpgPMw`M*J zRd&yObv&9uo!!?cqNLbLl{JcKHpr;T=k&N5^K0!*Xlt6KmCc_(oyE~4a`$x`%xnvt zwGQ_zx4j8dT;OVzUtC?i)4L?dMoS)@Db(3v>wH`wh7R{72t@em72Ok|LPwpwx!x=5 zPaZ<{DR$31tf#UjJV+p}#qG8)sdUU06H#y@s5JvKkFXY(I6Xp3>=!M8c+tI6SRE!# zjLsA>qo=SY?5a|j3z5zS3^#j2lZe3eRVHUo7;CfDyK3z9o)orFbf*TJZIW0c>zAB1 zH>HN2oKib11*xpmS>twjTy@@&nBCJ-S(R%>aibTW3i~4RRk{2Y3hhE#UrPDg}&9p#23wYD~y(sO!dQn=ZUX&KH7o|~`fx6~g zNIpb48s^k5DRI_03YOH=J5HOZC?Rt4if!u@M}1Skh{e}K{zkEGEAJV*Ra%Fx6bOlJ zs4|Ftl%^UsO;mWtOB>Un+Q!fj&KTnx!Wm=K5Qh4yaZIPW856Q@V67FULiyo!VxW*$ zbb)`bn=wJvFeXq9WB$F-)FpN-Tsn4_I9+~Y?L_Ptg;ze95%!>~P7lmES?T`EOz(7= z=^-x@R=JT%|JTB)*ud%_3X!gwrqgMH_p7ziAX-7#kwJ%xNbQ_9BZJv&;#L+bn^;f8 zPEn+;#BMDoBQPL3T~|iP>&ggf1NbZFJDcP=*y!~1f}(=_jMUVLg<~@(P8>a{s30}9 zC?zE$t8iko>-)X6w2zhYYPw8@p7 z%taLyWfcLV{~V=7thB7Kcv3NPFP=6tzoIyQT9vI}MoHC-3LINfR$0U*&X_a_#i%Sk zw}_SJSLCB8CAMj0RW|s_W{F}|PG-}}Y*pu!7uoVF#JOQ8ESi*$Y-}aP(~4{*Mbjo% zO<|Rl1trC-a*4<5Xc#%mF=ynA;-LM=ROz2Kqojn*DrK|si>qvt$|{5_z)7l#DoTr| zp;pVLF?ei+Gb&WTccO`9RaIrBwz5g0@(ZTg%JZvmOd!6hto-yyc}Dv*hLHJj;7?1fWN3)u^2*{$R$ftDR#9Aa4z6uxQAs7Mno?0zWGgJIszj?#woNK7DH265 z&97pWRTXFw)I@1<6|1VqFF;Hwe8r{86Lf-UNL`MrD=3=*FDg@%x5A%AY5v))ta4^i zMJ2Ahc-o}0qO<8})w@{1JV(v^;yQm=M4rv26i=RF^A#9Pg;JFS!XnK%szcjs%wcD< z+}N`fh!HR2q^DRsfuS9PGos&SK9@?BMOpHYccyu?A0#%U$oB!#s1uyufTV451o2LOsM$ z)mGwcblBZk%%+KT1XgqkzYmw{s4aKlRw2k%@50Q{IJbkDP94}-dPdR>4UQ1&g)gM; zBTJh--iZ#itWcRKP>1!F71+Hs^W-B)=6e>&s^+;dF)Dwd%i)>k@=BAkls7jtspsif z^N|>prJi;K8Ie_E2ZKCuE%PW5p;CLJeJ&bMrh%;yWm@R)2eT*C+iXttti*2=PvO+2 z)NjIE3fk;a)L;|&gh=d^j7ATp z9%r2se(e1mZrruc_n)uQVXsF(ycvRs?p2K8tX_Bsi-YDZx${#G+eP8z?A6g$>?w5M z{P2n0U6W9+ORCL79&yStH@4+6xzC68n&hnalC`QCo0I}vs0h*|Q{}41Oo}2=ZxMYH zyCRx&Wwu52_9hSf;sKuT;&34z8YjNS=xDMzJBG{c%|aUGv#DAZc;~^YeDk+DnJ-XY zw>S{+_^N_tJn=%}^vH4yu?COdZu3>JY;gZ86<=cq3=>7O&1m#G>jO3n3|SAN#r#H_ zeUV)}MGbmEgM=7HfuL&o(+>%@Vc^%-`?C*>2C;% zMJ39$Y^DoFF>_CDh9^6C|2<*8%{I|qGhe*Kbvo)1d-mz3b51uE*Pd?ktvsj4sAVLC zUA?b9&E9eH4srHQ^X%y<#PoN%)i*jqpNbE<>5am1gzq3C>3bBs;YXUj{o_TUQLv+wvu27YX)@nRMqOIsl>4`R7@%Qxf7ci^}Ws+ z5~&v-XU^8QQx0)Gv|S0cc-7Q5*E-IeplI=bB#@^rtMheSrzb?3e2<`ORpT5O#52P}W%Fc87}W_|cgs#3eU6#0dJ&bn+v%|H|dx z6Up&74co^MakMXThK!?cYC=T$UlfIiqi=~rj9_OIz4;A!ncmPb@?Dra|D zoT?0U8ysp1^t$cxjx*$%PTy^XjxTk3#8-T0h!v$Rm+zoX-(WR)s_x;ov z#z3fMpnJPeJ;V1g;hB>ZEevg^=Ml2oh;bge>cz*Wq4xoEF2sZzaymg1hl)WbtZfbz zAzl@U&%?^<>TtvSU)wwR%<5luiJ_x|^9Y?nZCXQYVeI}VEN4n0>f?-Yb~kSH^D!lQ z<>!)TnxFn9g|Bf#UUW#im^K3+=$!GK6^PU=J8I+5?^yN3!GFOvrqSL#`=@Fk2 zuu1g}yLcGP0-rr&J#G+|Qu|_2$G)Ig_FZCel{bAptN%;jPId~GJKVnZ^2G#pJZi@C z+4JkXDse}%cy85cQS?R0<*l>P=7pg)$Pko)JiveSe5c=U!!*+D4>`p?#TTfW=Rgan z!RoWAVL)%(f=&}04qT?c0@ZhiXvEXgp(*^=?~5sFX!0%zHh6>l)cgIFCqC;gm?u8D z@>IE~R|ksgbuaM+YW$T4WKT%5*&OP4hio-;9RHj84!@tMbkw*S#Y24YHM>gZkCoq3 zc_>Ax6Sq_z<)0xwVw{L+p_VlVyckg$Y=IF1{M!S z>2qg?P*>USCgg)nm*A>^868tJ>MuwVCR` z{-Dk2^Lgb41NBqmsCD?tSK_GaY^re1ofmAYM-p38AnX?L!3Oa{N`0&;gXqex`h^bP z&trmO#IGQ#To_L^xT;F=(nMG>4}yg*j8I45+izAmafvrLJfpNVJMzQ#j#pao3B(7~ z1*ioz=?Ra`=_z!GS`{mdwD?nmwB<|$YD3HENhj`(n`h+xi)UA~CpWRR| zbulT$d1Syl&q*HHQKYv??i;1I+||@9?gQi#cVVcJrEU;x^j!%(ZKC&C%I_pqFEIo0 zKEH!>Mx*%UhrP}rb|6mi`waO;);`z4=ExP00&1C%uQF(zQ2uh4?+v}rB5TDL5DTBr zuf|9TmgSly^!voqb1A6Dw#R3-)ghVxaC&l4iv63zT{Z{(UH%Zu7cah(TwLR53bxG+ zVQcn?Jm>@t@#G*VwJqqC4f6*1E9W(P#YTs=0{#pd$dg}NE5E^J9lpr+zxXR|RAEdE z%A-EXQGV>(YQ%nD2GqX7ceNj>47}zloSwmLFAS5yYC&I94dhj=AS^I z-tQCN0~FW7L!SajKfT(L_Zd?##|BJdjwg$l^biu&MV2a;nuXX5x3dymMdTnWYo>Uf zAiUxx!X+A#9*(m~>Z5x3IflqlJ&Qw@(xc4sHFtA}G`?u1PEzzwRX_d%L=CBcSJJl? zku@YefsLpP`Zhg5riOr5_GbT!Pv!}DZDLyVr>R=xDshNMip7;>B^XG}7_0tBQ8O~2 zzDrSlS-e1jFx)UwWw=6Yv(^0Sm33`~-Rt_C!KI;zR-Y6@y4 zF$4R9!LO3#xjPtqx%mSf-Yu&#_(O8nTI*OGoV)nSIdHK0g2$IwY9*=qI7rS!{xF7m zut{t`MI8tF2ffLb<@N{UuH2s{=$*FOI|hZt#-&qG?JR?>z6r>eB=|KNvj+!cGrFBv zG|5my4JW^y#qeK2&P%N|Rt6$$!LTOQV;DN}%b~#|9B|cyX_^{Z^S5)@; zAe(#}90(U+1bAgoPIZn&(vP7rM`(%oJsnLhDuJuf(eYlfn7+G|A3KR1+PNYL_D7Ar z#T+f`A5s3V8dM+XXz`~MGmGl#OUUB;xIy)7U!d0K@qZ{RLqSgkC>B-joGZ5hRj%Ne z4o?fn67bu7Z~Fot#rcnt3!Xm|_`-q(er`+^R;vQEy_SBpc~a-_Z4_iEXzoQuVo`oTR=aYkq=Dd%N7|D!$B>Gfr|}<7y5nTj$GXcmeol^eto@s&VUiH7 zFHU^NN>w*=sz8;^b36e*CgcB)y0?Li^STa1?+itLLsA@xLo>2!(xPL#wi}7IY%8`C z*(puQGS{Lcn^f%7$}%I)keX;XL(ey3iHVHIKUtF3MpL{LSOe)pifw=tjR6O3u_=%O zUaSM8crn`IwLpTG0u9~^&;=S`18ji?Xdd4Ay+7agk&*IzcuH0uaI8 zma?jNLJzz~ts)z{nJhQd`Qkain@;hvRds5hye>#{mswMGLL=MwC6T%Cfh=8C&kI%5 z{!||+g&kb%a0Xe2CLEW92S5l%JKP{?`0wdC}K#`9&E2P|=3ifK2Q7;9}hu*n)ao}Oi zWO>=0fYNO8{z`c}Wk!6^uDxTJuvQ(6NjczR-?JmBJ|86H4l--Cw->TXmo%;52X z`h^H2p(U(W1$*)#|2~hILS}VEeG6JXO&-Mcf>z1Nv~8tI9*=B8y(eUSY}mXyM5CRl zUz-Qdd+Y*l8BA*E$yNoAh&||BEsWvYF41e-X{#n?3u`Ax?9q`y5(pGv8ZI~qaW?s_ z(3^{(X_)Y`0MG)h*%)^iMT=2!EMZj*Xsd(fUAd0wWB#7%;P2N`<{x8x4771*Hnypc{8wDo8mv-yx_b-O1CW;Eik4Q**^pA zI@`Rcx11O_7iU2;@BU~muU1`J>poIF+gV(M367Vw#CivSj{;5HOafJTj`UGNkQ8rs zbJr48UFB;->X~bbHid)0K)z~yt&W!k-W8K-p@N0;(j_LZD5nc6mz11;9ycf-aC#YM zh!05^0-J66fpaa-bIj8+klsx}%Axo0QwQhpgv9GJJ#C{KSJuPyryO275UTPT*+t1s znjGXn2F1kqLkrw4PSm!SofKsa0d{3b5cL_)5(Z#F64<~TVn5f4-Jbk{yIu8(xznw$ zWnFZ~gj__6#Nz`1Y$Fnv5aJZ2=_&X@3mN6r;%gzdI-58FF9}vFH{$f*UtNe(Q3vO>tHJU zO~&%pyw{WAy7zK%NhK&D27e{G{gx(u-GZU_Zhf%eE`w z`nUyaVhQE>E@xs~tR}GENkBf<+AAoCm;?uGa`kj*I)nutXu6^nCctyZb^x0$ubi#o z)bpoM8v#=b;_%vlC$k|42!e7N`qGl;VOk~Vp~()gBOXXqvK?eO1xYJsr&r3eH9#+o zjMf3i)JU~31RlNEt~OB3Iz48{kBJU;I&iYtSg0*__`X_Vw#~OQlXxmqTTDD}9*3Gi zK3?Lpd%UJzBUw-?5iPP5MrCH*i;POpUL{HEH<;%M)am)3sh1byVB!Hfr=EBLILM1^ zrq9m{&r5_yM1H=r+!hMQ$|~Z-e1ieUDT^zogEtQ+arj$aEQ`5480#;kdtT%QS);hT zLdX67gkTes-n;=y-}6o$pP{`Uxk4{TB`7j#n3x{U#|ND0%|P^=(lcE|-982c{6Usv zl6U}#gEnrii(U}y6Fxrl_bavdmeol>H#WQgRvq&S6v??i5beOrB0K0f%AVUER_dvt%fq{eWm=wFOtVUh+tp>M51yB})Zs-f z$Md-ufRg;?v71!e=f%UaPIk|zV^JLy@0x_UD8EXg07#=urg##BQ;5J0&zTwGasP`NY!trf}Qz{3uL?50-Rh0-DtB$#+{sCqP__;v|uaxR1v3<>e~M?xq?Vv#Igy zWgQY9uxYkR4G5NrSgSx-$3=23*_AaO)SgtF#ZNJEO2O9-qdmuH)#E-4NDuiYPdUmb1jVC9!$q)}iCxdX` zCRImrkpp%D9ZJA>sBvN1&sA5{0&HuMv@`GvER$J^7nvTyQjV7A&%tu+G~n|zPHQ%H zWYBgMer0Nk&q+q7C6-cq>_5>VeYXX?e+IV z;(|#8{V5*4bKWwHRfl2>hUlLvsrvm07Hu^*qUd?TO&Ov<^`<~Xrj zBcopR>giU^09S5KwOfi(CSbcY&G=RLIs0W6O(PF;78a8jUAA7_I9k?+=I^Zsl{#Ud zny~}vB?$G;&8v&GZ`q1UlU2cu+pO77YT(dlSOlcB(L~?HTHAWq_!Gl1mMlw&=6p=v zl5?I68!?n5xz2Py1NG_(`Chm{pQRQ0oT^sO3)Rw?QTGew#(6|yNLw3JtwWQG?27~6 z9M|?#vq^WyjrYial8od|jGWc@vw#zxB*s7EbHMo|pwYoR7p(sR$xx@u@p+;V$suD! zZoEhV6~^DEk=`UecmCO9_2yadJkzRH)jeHq#pmEV+Y}veRRaETYbk8HrZUr%$6az$in<2q65ZR zz-8;=;{jF-jrAN3?}Qzrv!vGSxpL!V%R-N%wv-2wSn9=Kb;~gzd#HEV>7DDDS!S2$ zrhqt+qELnoZ$U9M%bb-2iHtoNk?-^hlsPe>-~$T}tc#R@VYj|ezK{ejC;UucdiEgX z-i8mstd78vAz4|qk`9D&LSQBEv7*}9YTeZ7myMxinUUiAw5a><1urc_sSSa8d^xa7 z))`!DA-SPxJ11*PHV{2v(F~lc(cND}ROBbJU#uH2;jbRr-qJQMc$3S36XBT^fO{Z0 z>hz0;My9%izdX@Sw`+CbK+zRj7hb|)7oV>(6;Q96=b+Wq`XdjISHN@L_n`j0I1|{4 zV9(X+oD0gGh;Ai^uWE+uz5wat@xvlcW!8xUo#`#|TM@C2<4a3*vMPvQ%o)F^w$Ma} zXc<;p=!sXB&Ndm-Jq^g+SbcR-*n|BAXazZ-MJ-#_o?)kIlZkg4NaWUvcvvUb)M;6n z3;ZEr1EWr;rZsA3F3@WQWUCF8og2zH5n!fI>M+}FRN5k*#Qf@Oggd6^8!)(I!LuyH{EhpkC1xS&r~S7cq*Xu z7{!pRX77)QK!o5IzT6-o%5#>sHu%gf!4GO)8sT`KZeE<4Z#LvwAF{DPK7pSOu3;x) zAB#m_t>LDL9de{5?&J+HAn@$&YAV)+oVXrPnfNP{Ge?A>Wo$X)`+RrOz7Q*zC4t0~ zi|xczAPVAey`%!D_pEgy-dCMhlX;-Zh3WE_o4&W!a9(JleVpnP@WcvNqc&ctbTBm0 zSW(!k@^u%G9Jd3cR|`gps>G%?GeWA)DS6GXRo8i<33xp=#X~zfzIelCTwM&$91{>d z&YgU`kt55IA(L3@nX9M^k@F1Ol2;Yi7x30(tQO{-=qUl8XRek#vf(mAA+Jm&#dh`v zmLCY4Zz4cVM)RIvoLZOw$X+PKVV|8YxRzQ-*0m%AH-0j&B7PLTh$R69iBi6L$sUIf zm~wj)X;I6nn(3USLjd&BVFPP(`%SJcD8zf`C^)e8z$yy007hR4fG8gZ@OTUOdF=CKSPy=h~OYX|3kB)XduO$H-Uv5&5?9rX8R>f0olHS!D7`y=R-gL7e z5Z(|1Lj}&LSo&gu7j`VT#g$03rJXXfuw{rl)R6A59=z*6E%G}H#OP`{L4|@ga4O~+ zFc)peroKI>)}3E`6GYEIXU#j9n{8N0ocAsa4=wZ(r>Ckfxa)&Bg9-BDXOY|KR`V9K-rrIV_h_I#LxHFr>FmA8g4RFYb>??MB- z>NQq18gr<4^>Y-Da-|11;V^8G~{EGV?z3@ z9x$|HMRobQF1JCQT zh#t6|28mSEgYcXP9?v8AoV)R3@Ze56QLk&BBAbB?bGF%THkW5*DXdf_y%q@$9 z^u*aB5bW{BKK%>3INyXP-Jy;pCiosF8)GCd@tkZ)lG*!&c}eQ&6p+|!a-8eXaTu;9 z?T!SS%*2Pd$#zV@`G#CCWk?QYHF(#AHB%uN*-oiJ8`YG7Io&wlz%T9U_I?)9-wip1 z^&U)_ZK_QIx}4tt{w%mB310s)phnhM`t?*e0F;)40x%&4wJC#3mob1L7@r42(QVUY zKg26HJ@JYQdr;|v&y8TaMjZe{7Y@la<*a`y*Qee%^jghI$)R3Vu)SJk$Yz1_PO14& zUL)#>ea~EQdrz~pZhI?>OXVw2jKCwT+3&lPkOf?qO@Hmm6= z)Vo%e2z0hyY(qmxoPsO|KJTex^7GjzV^y1_z5YZHt3FFURcjzm4SxWscyCe7;lU{7 z@;lX5Q`KCWZSu{vo2CN)!nH^%&YGDD3@c5Sm+AT`w1Diupg$8&W8`>zO3Z@Ed!ys{ zwHHrdMV)S-Y|qTptJP&Qi?5ZM;E7{qFJ5Ig(bIGc4;~@ZP!A2gtTK--MB(B^7q4nO z1)$+o-4OSHqPs4^Hzm*jjUsizgJ!nLPdvifZNl%|E6UEms(eLmGS-a%er&Ny%$tI_L}lYY;3(5L|^>@D&v7uS?(?qbu$#jLxMH`dODc&D__JeYeK zDkCsFhwuWDhYDU$v#k+mxyWr-8jpoKz6HzMVvH7uq{hwyw$+FeFTYP^NCk0eXc(|^L0xcqA5&M&31(Rdk2z;FxxqdMgB%WEs zXGmowA&5miC@*^WwGhmE!nHZvB1Jw>r3X{%DQ`GfV@|AWD7me4`Ql}oqi}$Q^+9PuD(|n^Nb^(wqLEI->;?N7C5`_q2Pg~WtN?r2iD3>S~ zRm4l;b#W^X<(GX;67-U@Q8o?hB zr>pQuf{U;P`?wMY)4B*iQZzk#hdPRW*okWU(TAR%uj5u41h9}*eYEo=Dy;sprm%)e zMLHm}!}*Spsa^3rUGqGcKXl_F9?Y?I671?q#lBeKAAE;zS@`B=6CvJ_Z$_Hz5avIe zf5E!uYVPU2V`THrq^-fq-3Y}?_&D)H2Omb0x*_bLM>1fK3k+Gn3*2AQFfrO@Jj;sI z3hVSuMGyeedcL`qb6eYiKDIaVelCQl_P98$c@gmkh9+3BOt%PC$N5}SY3VP6>w;Jl zJ_U=KAryvZ!C@Fdo~bvv5WH)_CoqV?oi=^O)3+{$_g0CRZg74pRp(q#(!kEC*n$MW z2vNiaO+rX*rLY`StV25h*;ypsmKb--E3-_7Es$n}@GP8PNd!%~C+W9&7kJz=0(yA% zsqtg}Q}#ESZcD+pGy8LsIqQ8Fe537Ss2e|+c8fE%(*E(_j^9V?0eLOtW34K`>v8=e zysQ(Er+gCBLg(;FU9s8Fblbm!%rye9Ue8y&;X=^t^dk=w$_as=el!Dk@Y4w(E8Qf3 zEZj;0@rr0NHLFf1piafiYfmcy05VF|>kXPlv>vo6Xg!wIa&fEm1>O&!k`{`(MJ`dj zZryH>EC?wJ>p9u7PT3BupWpTNa#8_{1s%Oup69~~ul8-PAiP=Os)cfV>*FoaddKJa zmp&pGKT>TIL!-tYtREG$oXlA$0PCG@HfmIVI@ae?I`E=~j#$J2oQ!1nsdfvMIL$2f zG70ZUnlljt{>C!Q#M#(nJ*pn7m>uV=+)9!~7VGLbQY$YunsFOJTP`+XY-8`PB44?0 zR1%MN#Jm}i#zZXJUA@D_$!{Cqv1R}Y{QbbGMk=E?nKppZi9s^jR3iW-RKXLW zqQV`(=9W?=hi`g`cqoJsYm@l|81p&VL4149KX}s+x>AxXz<(A@-VgTxUKLUiv*3K@ z=%==}KVr|`ha8=&Pi#eQb2h=W93DQQc{vM3HI*=u=d1Bu#H0q7mC^|Ll!`!EG?%vu zRy#a4+&-od8@W;Cwg^Yr+Cb)Uvjc$3%?NOqEhEqeu?f=HsvZPy1;kzxJG1rHCM{wPC>#7Z zpBb_w7YEoUhG1howdGd_agkRq1_n}NcV_EFQIBkA+*2JrCywQPB~IRU;oA`IvE9ofVInNt;jJR7J!OAA;4 zOfPZsfueXYPd2E7))8N=H9N6*kBOxUix6oLVfLX>gVg>;{IMd3mvF1FS^TPuI4&&GLoq*eYF+r>zcHYe(p^ss@pw z3x?>qDS1ffNiLfB8@g8qk{8pH$@@G1xi(IisfLlM_2xU(OI^yeose6I~ zcB(Q0Sn@qIi&5EKbX4`xPc;2)-K>}3U-p!T#C%92^zyQC?|>o^==+F1S0*`D-3bRs z-583kRjTquR|HN5M2Cd-mTZ@cR>C-ns;~pmY_+?-6YFJO2UxZ)HMBtVTBprqj9jjO z{O6(DLXcP6G$?E^(;evqT3JSaBW^V*HngE{>tKOG<=&#MP=9*Av2 z`Nq^)$||9(d1DQKyAYk}FlokLs4jMZQgwGGs4MO1l2v79lV7T2Yu$-AU{z^RG4}0QCZI?cd7was&L9~z;^MT$gWf6Se8u8!f!eQ+(J);!#Fm(QNNUlIZ{&REw9N*HVijt+ZHE4guQ~cBHekY(2D0=}B&b zN2upo%?6Od0%0ARZCAXR_uMqunYAIAA5g)8Ph`GmRT7HhOEhjwVs|-Bre)$q@Zho< z3m@32H`ctnYGkKYu~1E&Y_;0j5${+;$a*}UWot<(0(~!C62=rj2m?wl1O)b9G?hk< zU4eA)_{hUTYoQgoX8WWngt{2yV;M7_!S-R!A*-rdp%|CgF?Mk^lthq@LKoh@Jq{#iMNFrV@nt@0G3AChbhO1A zhhAZ1#m6W{1W9^^Z`huP?2@X-M~}R#79V@?j(XMlL-L+wLF-(D*oApXX&yN;*8xf`{d)vI&s?>Xd?lx2FVX6`94~m3Pn ztDP~Kv*L+;&s2N_5He;|Cm*XsR)j#WuROg%$k3>)o;~sBo3#q6v4W@8I0xH9JGfMX z;xJ!hf(KgMd}MaArG6DaI0&ye8eIpZSF*!6yg7Py{mm5VtB41m>|__(03sWK`ZU4$ z8k*RUQ0W~qn&V}e0EsL8^Q$>3Q*eIM3U5PVZGPL>oHJZQsMsWw0$qz$bi2A~r_L z;1{(cd;Lcw$fUVKq#=CR$d)wMS;Mk`ijv3jC}6|-sWcX91R$%Ls8Cer`Lsj zm|U<^SnzI_knAd{^m2Dxybp8)d6Dwzrji11I!z53Ea}Ta})Un^XFFAOXkq6%y!Fpbn|W3x%BZ> zQ|8lk3h?KYANBB456>wbn3WE>cL`$gWEMDMu>7=6S;NZ9~BF^OgaGj>?a9YCbF=aQR&)-(T&-p`|I4 zc;ns+NxyXO1%}Vn`jyJ2rkR3Fz;GB*9l-;|Y0%lwOUBgw7CReAuCJ_0i^{o)GxTDh zm36;4sn-G6G`^pLNN_PYpBx2ie_o;1IC==9^9v6mH#z<6#G0A-{&m$%jYtMVcybWs2_a2aY`Y< zs51}~;R9MyN;bIVxxJJQz&y3f!}lxs62gQl_JMNjrhSCdgj{Dku{!5n ziA&@xFIfmoVX{BU@8_To?W>dV5Hbx>Z(?tue6k5Hdbshdr?pjk6VfYuuDMvFY5g`GDRZJnPv;uAao>|*Sb_-B3~d_=roauG!NqAI5i}QRmlbwLH^osgWv;HWw!VYEeVO+v2D- zmOHl2=yYVdnd9d=cs0UAHPbLO}?%E^hah0ZnW*6rk63Ssqkc}|I=%VE0$ z(A2?HgYU_g>lQpIFO!^XAW@^o;$k|==3Z@Y5kdqaubHjV25lr>EjuD%#|*f8m)vro zHc2}RdIRV}qK=1NlL$sNqZ)2z5*pqVQZOO6>O$KedEa06+;nh-=OupR003P*>+W3z zK`q}CY=qvF3qfopj@|R}MHOIXPfk=X2x`6{dl-LDx98CbnEryP!#_mrCtE}zDmr1$ z3)MD#@f44B`Ho&RvApm*H!x^6xWaTNhpVTi4nE+tD8q}JhE`G#nrB{4c;E?6r^+YL zm(GIo=@p~b=SiO68^J^cyz2aUhSTLKRnn*K@-PMaXPf*Ly#{j2+l}O&t0G0r?lS$N zt^61GQ9-0<>$Uk6ByI48UvQzVtQFP5FfeVATR^8!=AILYbd$A=5f0rC`%`NL-RI$- zUgVsS2Sv$3OZdiU`1-Jgy2pntD52h>Ida#e1M~<#9YWh!66ht znpsfMaUosftnf4f&5AV_tLvFMnhbCzT%WB0E@{o5Td}kK0kDm??cPkkkM6o@3T-0E22NzbYRE6fMhSByMrIMG-UWr^u>1G8CP+17aY zxHXaxk2AaH-yn7jvIm=O`kp}Z(F?$rYmNeewSp!W_}N*;wPMJFv8;Mfw?N(V>IjWG zJX0o$+u3qZfM{c#w?w&8Jt5F3CpwstUtZGSKA2lir0nuEurR9TLT*$K5knfJHquaA zH>fRiw#?7v%03!Ap)05d?-HQTJt8{QAiLNI(w99wkahBHv>HCip?O*FvN{qkK=JZL zv}DdA8pPMM*~^bboNTc#@fM7Nd3xFeKnar*&&WDw>!^awLQ!S?G2}GN*d?^fc&=Qb zHw0}U&6#7+y2fnNPhs6No?9)k0pKDO{uML#6$Af$b;8V>w&|F%shctLDt$Yq3hu9( zhsk_R2P|O+f0H!rBme)Vv}gSaNL6LFx|pDqcO#QawAAssd@o%xQ9unJ}*j z_*T6fu>}pPYZd&M(yYD}CV2r|3*^HF&IieFRfT3CwVhDGXa<7RSs5Djidv zqm^($N?#EemUt9kxI$W#Uf0$*OcY?IsgAP{R;KAV2Cc$)%hH||ET%jL&nnq>u*LUwhJAYplNxIax_DV&<_J@KM1a;0G3A7W^hu{ zFH*V{WA@BJuFt`uJOyKP6lyhNPMQ-CbB5AtY=}8DXZ{_8O+o0a`2xg0YRtq*s8^l( z5&L)<{%=x^xeq%K%3A_2vpQ`FEpH1lpF1J_f0OC=9HHepPwiZ`<6-vs816LnUJcS8 z(f;e|7}I|eLOFkP$0_P-oR2uhb?AqAS%T(^vlb;}&ziI3J4XvQ%mwF4!_Mi3IgpBx zYfdNfjH%RlsP6*7x31Z^c?M!#w7nA34AXhr_G(>~xl)0p`M-XY0w*Dx8ZA>^%6@^# zCUUV=8k(=jkY-mZx4JPyLCdn<{I!E~0yl}a-6$@Q?;K@^DEuk&B>XNA`dhNAtU)uk zyiK~pK|0eLOC8LUTi0fh8eW!$F@i5s7kq^vO=IRi?~z(f$Y0C5@w~VNRgbLU9Bf^? z(QkUkU`P-znxQl-m#5n(=i8xt36DKLM!gYYEte-xN!(zQI9l7ZoLCWN_3c@jvD~0^ z)^13e7L}cqYA+MQui2T~^yY7Dhb!6GhTR~Vw5G}yo%u5!cXZ9m3@Cy*37uqC|72E( zhWm^Lq;WZJK@KlP9Scs~JuA$4a*iH%`0(n&-6>9mbiL9LH#EaDp(kHNPe4 zu|OdWp=thFv-Fdnu#~=!Mr%QjmNS|)anL^m;8mUhxfSfR(SO)zF;^a<0j;|NqMnW^WN6!yv97OAn&o;ab@X z!qF`fW;n2)-O+m@18qKU%ok8i5=VeQ*8lDx#iF>|H2WI7>Hi|Jt^b?rCi zf^JK`gfCq1xX70clN7uM-)C-I`gc^?Ri$>ErEu8#SO3qCvL8Ac`J?WH%62qp6R(?F zu{Y*czcmR?=78pnvX!?|j(Pq3Z$P$LyM8XWM)YD<|L}+qa!ReQ+|us2UhX&08H?A; z;}&(r5DNb=wI^?wzfmz@GUbO50eKKCP*&dA7jSP5{SKQXIs zJwtMY>Mfl_*?Hc;)cIm|%3C#ICKCHJFzk2xh%HR1h|GL;>o__bRl?Y9;e{A=BE2A| z9xGIB+!~s6Jd@<$n1t|o?6e$?={kSo@5uK)f@m4D zKV;B;ou}5sL@S%s|6|4*uUokaw$3-X5}c5fV^7*4=I;5>>!`eS*|%yR`U^+Cg-0?B(+qp~+9RbgVQLNM~Kg>8eqojD$tp4cUN~{l8*fB%^y6OLsL=*oJ2TPPD$B+FC=1UQA{dp5)q}0tEjp@Gzmj2}p)pZu>u2m{Xa)}3N&FP} zru-@1(M`h-^GPJ)Pz6q#DM9iz*_FRyr*T=9dX-R3-A-Dwx^}%R zlPiKZZsh=~_RQq~#R!Y{cY&>{kbCadH43p&mDW4(B72`T&q5AM@c(Co{9T~`&0~sH z5ku{Vnja$H%iw<){11cgixm2Z#bl3SO?UZQE07s`b!Vv&hI6eoQ*Ot_b)*A(L5Rh1 zOVp+JtB}A{oi@q$3#cgZ45WS$780sXoH6NjeFj2#N#ZVt(-M^@&d|ZD(>eOQOft#& z-Z0b=lP5gsqIo2Yg=hL-rZ$DSZJ(wlGisYOqubUs`ZV<5BgQ}S0vlzw_Sn@r3)uE^e7w<-^I(K~#dFcir=ZEU%p+MZfstRQIUf$bD> zf|${Zqzq*G`HQ`82Aq2aR;BZ?>j#!HF-Co**)b{MO z$uLUW%i)g!RT=hD8uGY}4X)v2*f>%b0~$`gp)k%tsDt(qx%Y+Pe%&a%_cVk~L4TV5 z;}r8Wx_e)O*>w_K1JlrRli;2q-=|?*4nWux^k{C>_Z=Vwvy-&$u$>{g3}QGBc#+jTx}xQ={Ukknn>YLyaY+y&go z^a(0!zu~XuvER6s?uQmOMNqOI)>)HscCK0CF_3UF5%LKu&^Hy@AC}NP9E#WYz}F0> zgl@gs2Zq$$F49R;hk9o_4&%csNG%EN!?^=qjFzZ8bBqNMXNlvj(P*_3q9GM!s2bTr zkp3Z?^Fi{NJhmk?dbQ;#wDoq~Zsb{B|%R{ffJ3aJ{$>*;N>E%Nl z@1YNqlTz!ZcS`!m4ETa|)6acXC4pTmJb)SILtn%<2dH$!Ho2}Q^kLaMro>}s>07K|e9Lw8K(v%F#b>kSKq#~)TuC?`5gj=#M{dzmrpZTFsiu8c7QlwpB zj%E+{Jj%-s7*!O7ULI%?FSSg+W;m@hACuZ@5^DBj38Z7nAq_WsDkf6_{OC!-RPK0R z_s@B&!5nIHo)g(y)u`|q%AC5{TvD^*L+5nCxZ5gDl^tfy5DR_gX$8nEJmkdreBhv* zh966hay!!FX4h1h^C4V&=Ly2|Z6U=kCutR!kGn#M$(gQKiONDuWV%r0{PK)+1Xg60 z&<`IOVX<2E8IeXYa%v>R7Rl3|7o?flI<1(0)e19I`o7_Gfp2w%c;sWL0BdpK@dL{l zE7GH=zt{hw?Ml{cSF$Zs+={m?JS|GE2>Ge~Fi%7bBZ0PT#H_#OmN{3lDtWO+@0c_! zHhP^;j|S?5#4!&hu~h)0L~K&c%1s$=S+YhrBEOry%XGgS>x4Qjmt?>dhx?kw&l=W| z!W5T+(d4R~5oPJ^q&pArZK>5Cj2R~|I+H0f;!665o0o$7NSBPBP+hvNlFy|r4{I-F zDl=TVj-HG(WB9O~-zmZOAPM|^n3+n7$Hx+BSa|PF1eq{v6FKV(`%E`&16{DuM?4Uw zn+TnV=c4JxnPmFCdjmtt4#XtnpaYhOkE%?sG7siplC|2dezZ02x(NQdIbr0gT=Z4& zzeeAhd>item+z!}r{!Cg@3MR!lJ7zJJ}loylm9eIdgVO}z zeE9C%he>~9bxOB|5wb0HFnPLe4yL!E1Bq?uN%Kh|R6YrLv^OS_21!qy!3XSdY;M@W+&atMp-_#-x+65QOA{vhW|_Oi z<<>qot-$G;&gPv}-?A%sio;_kd|4~a!3mCG_Bw3tztIEdkA$+d#KC#j%kU5K>b2)rtJlIio*fS-E8U*NFust_6;KxXGgM4U z3&}zOwF(iSllCY-P^Rj}DiU~X-l!PR9WRd=y_>t$5f}>MlLzF=Ft{V`aa#j(Z#V!` zM5`~^l_tWtQD)m`h3#;QfF{~wCyak7)G4Wi417xc=fG@`;yP^l>O20qhJUqTtID|* z8pcSkS0(zAS8J7-o3dL0SMn59DS3m2mQZ>73yqEl2nDU_#&0Kk&Zh zIsD_3MCR`FX-A4c+RG~&DIcF*Mhwn(Qyj&U2>;xq?DUJaZs8>!rwyRBWXvb)doa0j zQ4=VHcze;Iw5~{tD1(+!ZG`kFur`Gs%iN{Jtm2O(HZZ5NVr1c;hd%`V$?Z$#x-7Fv zN}YBxb)`C(Sa)_m^kP&~aIVrtp*AY@?GT|0U0JbMIHpvZj?RpY zVa`8o+%+Y4Ey*1+Ff+4c`2fXe{#_GRqF%9c+BZ`&V?{Z9p3O{Om@5i$77U9c97B`j zNp;r^uaWZ6Qq7K-6GUyPH_^;$^T$};`K*5R>u?MExH_4tLnus4mzBO0?=B;4QA$~9 zE7sH5zJxR@@3#i$gKrLlTW5y$OMDM@FUGsisLcnrkKAwcHp&Agw-nYUo6o%YUPzjS zTHA_szEwr2U~5auRJH9{^IJH%?snT_vJ|^*d2+;CU6Vk9{d^YG@8wXbDs9_AMOnC& z;zG>bv32WA`Qt#1L3>^f8IxO@_sKBtn^l#xcIkGtgZ#`OB1OKUvB-qf9ofb{NQrB1 z!epz8ZDlv$f(US`#$9bo${Lku#!K>;vKh|YZjuOgeHC1YSj;PF^`^ANp3pQ~i|VRs zg-N@JJUTv6Tr+%XkKGzC{2%3*PEhJMYAd-?8Ka#+^Pp)qG{!#(_E0 zH67AGdSThDO(cmY*MPLSgXC4yt&GvBjWvfjLYg%>6tmlQTDEbwY~Eoj%WS$SxziS3 z-OL}*3gxCUoa@yNHP@~s#mB5M$a5u2tW+~VaO8rI_!F%d62B` zT;G;YuKPiVYhJ#Q62ts&xP<;Q0F$xlzDO7KzG%Kk7ReQJ=#d}Hm1u%sc&T6K6DsT{ z2!!SYVOhMK?=#Ab5|kncP0i}g=o?5%@3A-|llqx=(e>hn(CsL`GI#kRA2*+!a1d>| zXT=Z}csR?hqvR zxIo3$)eNW|wLNXYi7TP)vVGISC1~yr0}<}H<0xU07SWN3uwBmPJR1UWNBd3LyDP?N z_;RcG>JuNat6;cg9RCtpv@yrhdHTnOH=NJC**)A0ThOmtRDGJcazMd%vMV>lE?8;bd8nXJ*@Y^oQPFDT&2w;Zz zJC;I_0q^11gIF9g%yui7Jh5^2#tEp6KONfk@U>-hlzjb|?W_}x)9Vc>ta@zw5_}7r z+vfehylDIbudU}7%RX2}<5M0@qw+L&WaiTf4$o)pRc16xlW11=^UqCYgfd-o(Krp9 zEsgLECJ*!w!Xq}Xc;v3bG*7r*xMoz$%rgq`SHIIwHp5wan0bD}C@HIls@d(`?#_!} zy4iKs_;$%y<0=C;UU=H*`xRMaYf{prZ)m7=YJUcd&FHupjpOZPt;^KoW-2-VoH=1P z11hFwlIk-`5-$t4hR2ju!#e3m?@b#$ZVYd?nEM=er3V-85Z>is_8m^dNbHY$lDpA! zhOR~*su1Pr@OH~%5|aJS*Qv)yJ&)UCUfD{<7fMC5OV@r*hTac7&oLe_DNEG%axHMa zs4O^4&k8EpB|62%QxpO*pZG96z;ldam^+eXxZFQnu6_@qRZ}*d)v~-T(}m6=kfw8r zXlY#kvdn=miczTCuEfFQ>i>0f_OoK+uK(adIz~&DMFnZ$ceZ#|2R?l@NQLC%wEWUm zqC?9gy6tUcV(+qE>Di3p2I-HU@+M8)Ur`)Q{X0T(}4mg=^|JL=me*4k- zYcfCOJHv&$ReM;0G|Zu9+~X$uQ#sYV8kj>4tKC@dQ<>+lpDNAUrt`_FTZ*0?RXmtU zrQD5iIS;1Y9Or6z`n!^Glnc=~W*5tYt$#4|$KH!(4lA4CbXj9`%Z3pZ(bJDG2au(D z%k-=>pKQ%5^gmM3P&D@nnbcq-TT}m}wah(*WZ*I%Tws)^z zH=-Mb$GZoqd_ScZE z$9Zq=DTkJ(tIbz$RZiEJ{5aEHf(P$DoGL9vzmFacW)oiN_UNyE_pn9ou@%GrAArq#8h$I(18F0K&jkPHp1iqqU!nhV z{f8a5H+0zC<@M-Y2-~;4eSNcMoQy5``}6%M)9xnXqniknNcfC?k2W5D*~9Ku-M3d& zu1$0dV2{z|q=%3z>^^3m5Z?lYK8*hEGv*BaK19D|`aMg(3-sHd-xmG0>GxH@+h<_* zVCkPRFUd`4yl8cTjNUQUH_g)q&C}?!DWNvR){3=yMztWi18xPNv{~f=>D6E+l141r z#1k{Ytn*l}t7Ix%_G+kk^22e)jx?vU{!Ws=#W7=Z#HyT_rNyidYo!mI{HN%)Y7v?T z@#Q!;r_2%>c4z;aaymOYIH9W1(dgse^w`#7d)Zkpu6tu@0cJ|f>nPv}* z(%pjtLT=n0=8z@!F<+R-K&8p)>5G4pcW9G0U93ThN4Bz&whc?MG)txVhJ94QEd8AH zcIcdI*7kbVO-EJd!_v|@lqrvn^uqNYHc38x!R>E*b4oUt&*@_bZmY{~12ewi(JXAQ zFDB84Bf&$|<6bKWnI6Afx2$u$*yntEFn!R>i?Jp;{$?h;{F`N_2MN8gw{1-bKEvI zn~FH^Vn1=*gsPv8iN_T*K}SMIXpNQyrrYLW6OwXR)9eRX)R+vTUS{SR-d&tDduR@7 z+O+A7nBphJ&1Q7F6sGG*7?Gk!=wp)XEIBbY*NZJPdwvo|Jrx% z_JXRrHU&dznb7moSt*nGhf>soa>FToo!vZX0I+FR@}Q}%9b#w5~kylbG`PS+a7fxYwA`^ zZddrmi5cq9{0(6HxIQ>@=dI%2ybaGq7tP~n5gWc}Z5hcPAOFX6Z{%80Sw#WQ8rR>H47+REX({pKWSLe6Zw*pK%4n0{96CAT~&^2NxLj>Ps9+BxL5&Z*(xZ z_MG9@uF##mD36%%Wxo9+-Qms0zW4EB5(TEMGLNVBLB6KO@&f#3Yz(7}Zgp5$>P2wzUtG#*UmqW!W({C#13 zetW|^kV}PQS}%Oa9ckG*AMjz`5w@JcD27VB>FW;3vjo;4MCC0# zEQ&MoR^lBZ-H~N6D<{~~^w)>7^`_PgOOSJVw zqH5IEYWNC}rZ^}m%*2FI>uuW`tmK|!wfx`(lPPye)GwXux}CX#WbMskh^Laakivt^ z%){AZ{7S0|6_lerE2DJYxD%7@6nMi+I_{i+F6pE$_$0%(KLEuS9It<|0@c1no#Q@M zf6G2$@=lc=z?$pDXa77SRm0W)T_?JKpu&UThJ`J(#a{O~9g>$lmb)F~RWa#vS|^Hg z`i>8aStI`}HY__!hm0-Ew`B?vX*8n;Bzj-i=ccpn{^@~TLl#1sE5Gumg_`CWC5I5g5Tw4A6+{lhGGlXeJ(EmYhq<73vz!2(al~#WS z;43?G1^)E%r;k7V{ORFO#Ge8F?Bq{3e|8k;Gr0Ozfif?xf4@M*i31_;DdfF~9786O zitx8oWq7IDJ(kZE^ALS~0HVJOMXdig*Il3w6cLeQ$S{0>KRx^@@TZSIJNUDcKM{X= z`O^>CT>Une4&@Bxq@EjZNw9)Z}Txs(jb$lD+{4F@%hy2zi^2H*2 zuYE_Vc{x`sL|vs?ezY_ljpav2O4WQ9xVsHR9HI6WyCN8@2%3*S9T>J!r#I>vz0=_T z`8!QyAZ&2`CkVnQD+QA;t(2+|&2*t-q}1u^%N5{XFZ}C+fBoHk*kRxrfPXu|S6cnO zLSJrpaP{|dc>v+R5d~nJBE@;TJL<~Ae?7$>tl%ir3w#vxtq9t&zFDB@_2)UN`^fFx zP@l{1!z?TIMETPCnLGm4&w!^`T79R>m?E~PO3f|yNNG_nzr*D61O1TW>O1^LWxRu_ zSKom~LQDJjr&K9MJ21}G+c+kdpNB3gUH+reGym1`}#}d{zr0u zo!oEI?>Ff8`}A9<-@l_@ivK!=ZvJ<2f0KT{M4{xq{2u+T((iXD=1=LDO4q50fU=;c6_{|VZx`~VwSOzEU(yxH(|YqN{1r4ZqK_dX6P@7{2S&b_?>2xb ze$o@|z)1mx7Pj21_`U_fC+3sLuIu~3Bhf`k9P{7%y~xcU#p(%O@Q>%T70XoJ5% z$-x1+!Edi24+aEB*F106h@#9 zn-#1ERqB_cBL(;^C2=Qw&-CHKrONFT`5Q!R&&#J!AQikd zj&P%ZkY4zf*7gprjY5}7O<-4`sCQw5)*gUAO8)>hVC@0I>udKC-oOP5iwP#_w`nQ< zf|nw!z+X@wZ2tHYQA8a#LcP0&3lMtsTRjYf(gB9!9Z_xXH2o$=t|1^b`mDPciKDA$ z$n-`EhALy=PH60q5g53jOX(M?`EA${1~=a=t!=^|K?u999mJ+xIR}5_sKXyD!P0B_ zB2B5+O0VqzMD-f&J*NN}7LYvZLd-VWh0X!|>0=VHnp3>zX7GSbp{vrG!+FUzGRe!gD zao3*675kC?T3>>;4&k!MV}}6sK^;)M)4*O1xTy*VB%*!-x&-IrPXK`9xp9bggR8Xd z{S9A|M||ooh#F*pK!gxbzy0{?Q^%-`6kUF*^Ar?2xc18d z_(1VfnC}m19+YZ8291v3|1f7phYZuC{kwsTl>%`p519dg2mohF9LqA@LN6tH30}kU@%LyeI(3xrX@zjk_r z*1+12ursfGt&iFdTdQGy zwfxTAxvo3SZl>pGIo1%3bn*pQPaRxNfUVZbNcjw5<6c2r(8)2i15+GV-77ddbNCg^ zhPc2`Jlwn`{vcqawO72EyNnu+6Z8X&4>SO<4kkB(=m{uu zL)ewJ*`HG@9>pBKg^u6Az5lyF#M1sMzc^*z$pcPZ`!3D;?;^$;L7pUE++EAjJ`)0HBLT@*}&W zern}kDglW&bnP#xSrE`S)-_Vvr~zgkVYFE!OkB+OMMwz))zX^>zNY~HVDx){h5-<9 zD{Da8Rr0i*RJh02kH~7i@=qmNpB-{u`KLTmX$1v9!7vR5A+vnmj|6E7A%qBVAfDieMJ46@Ap%7NZ_oWf>bbZ zPQf3o++V?V+gpfwdV72G(C{eN1M9OuEJ+0a`XH#kzdzrHLH*+CM^88W+W{;LvV%Yl zbq(avwX=taFqoG+M!O36BF)#g3S-?k)cNjDL`5K2-U37mUT{E>P%g|Aa5FLU7Dh+D z0v$}CztwLf0C)cgQUIkl+C8}T1ELV1_2BD;$<;gBT_8_Cc>2N9hwGtJKynd>ZS8}+ zkhUMdUq1#`35X~@XYmQ4_zwo69$XVZ+K<3@0O^*0X6kh9115k!=;dVuIqcn?bNg<9 zlmP3|WPn*(y7J#?PV-)3!8~&f z0D){CjBbMoJh%xsZgBHEfcpmW1@IvN;MkwS@P32--bbon1K2iLv_N?kh;)5k2Nh-xY%h7H@hc@NIs&HHh{e%=LM{@at-dw$-v)gW@g79k*hu)f!!2&D3G~YS6h>6{{qP4x?!kiJXPmP6 zXY}_z#wjQWtMK2j1B#J$B>guS^&-+9Tt5eY1zN4Ju@y-4v0hPpU*Yuwgapt!eGn5I zh#`sjU9Uty1jB}%hyKqO2iJ2bd4Nu!MS$ECl5Fn)aXDHrW~ zQLq@m(Y4EilGwx`ACJr?kj(E8CpWlpZ5MVIaEm|7(;(w0LwgGa1G_Y~T&DlpnC5-@5oTMzN{IVEQcD0IBUkzpLh-) zuigWHO1)mar=ZY#qhSjx&<&*=K|6q6DI)C+ zts>5vh@p3o?8mBJLh_V2-AgDqW5#LyJwi^8BY`Bc&L7h6k8sHq5%F$*6Y(xerT`bd zNzv(d^Pz!Am*7M2rz`LwU4aiFhY!3%pgr29$+CXF=yPP8C4eO_cm+~ z?bA3uo9{ckc1h9WrLm|l>;oBtOElUfeOCaiBB|G<()zm)l-CMh(h6VN740Z^kqW~+ zIf8_MIifxw4_|^hy(B~ul2-*>IP0U>+gE470e>hzF5q&6uI;&l~pUrRLDZy() zNPqw zD|LiP?ttevcB|w-*>~9r@61Jg90jNJ`dFW43e88xq15TMfDy`M{XqWC6d`nHu7|Rz z(h1K2Y-eZC$qMANb4?00oqnVFKar_*jcN89Be(#=3-a#{UI~ zSm5e1%#&rLa<0Cc&r81n+NPd;a~BRPow&V8xLl9j^f(J+L`3ng{;Wv6n9xw`Z{CJT z?)|(?zWFso;wVYVGxk9epoj!7sVRw$VnZeW4h2`4NDa z1B8Sz^S4FOh@Tj@c0N6sVByP?e9Q*@Zji2ivN(!@pCX9`yK=x2Awe~`aX(N>u)zZY zK&ocrTTCSXF>d7>4^chwpU`R>4-H2HgX>2N1q{s7578Vb^I@Ub##R2~qeb{1`(gtR z1J)|Q+-qV9qI@NiT>O4z5JC@h1@&JNAK>LI& zHA5FpvGaX~CeWWlzrqY3k;$~N3V$%UM)E$Oh)o%@89;AihIV>V{)4(qxHR}jOY42< zFk0$oXhod?Vk`IWqq}kR0Y}38RCK9R2k$jA^&0c)gK};Jd&4Lvq=%wr}>X+Jx#RX#;hDd zZOj4%1Nk8ZvlHb7rS)Nycc6G>on*};@cj)D{A0bVdFzBGz=ZD-TH_`C0{l)ohg0a^ z6BLL6g%y0q2kQ8HmLv7#Y1j$3V9ii^jMJojS5yS5ghm~giz7tfkCqRfB;^VyGeg-A zoypVLB~H?-e^ZQhjLM8}7xD$2{cW0kmp%dL%Z92WpZ~3B5S9jnKN#&src|rS>wS1|{WR7G{=$HK(RxXG3(-h=%h7d>t*WDLF*;3dOS@AH za@6VM$VIW_=tdp>RC}SWrPf`ztQJ2yGFu}on7aCRB9dOGW0+zDKnqQI$fm97kg^9d<2`Bf}f6L?1 z|N0r;1f=L|ra&tLyof5VL7fS_^OGv3-n=>rJ6vIO1W#*a`duY{;uEkXK#{!X;IUu< zj|N%BvHGjQwZEE*?j7dyuPPsV7WnM&*ElCeyyHEhw2>YG7kWoWMnve#fVXk0wb83A zzhSvBt@7gsqg}!^y$9IfIQ|2SaJ;m6N;b>)kUmH9y+DV;-?LoSdqdbM?|ISS@4l#n zS>y|pQQpsz@r^i19J8P6uu8ve;(^}XuT(H;31Ba-3MSiJg+D3n`}Fs&uI^Qp3BAQK zp|?~hvZ@>6<|@_p+hKZO;h;)wbcvvH{XIJ;h%-^zc&2edZm&@nCcppT*8Y-CU9B-|sRD0T>(*3X6}v zQ=k*QS5!n-EQrvmNRs`ZmDbCp^=gp`oImde`eeO|62SE`p`aQ|8%paPA}oK1%&Itk zxCds$;QA}b=qtrWlxIZeuthqN#c(>wlbE-YoD4gAeT5ngj!s?*+4u|k{V&MpZv5c> z2v5|psB1`2c?I~w5eUDHHVHufT{620Ond>bt2c@YMPfx!#8E7u+6_$Z2z#4x$>m3( z9=OYcgZ>7fzg~Zn<{bD)1oUG;t(V)tC7~b;7061{7>-9Y)BWV-@m$YnmgmXX)~7wA4^VndMss-wMtl8D+FCB(CR6#^ zZ<8?RGRnD%GK;VMHvHvjrxpJ_(eMaYJMTp)j)=|;Z9G38K+fouyriYm+Z>|(5gw-; zoh+^Xy2#Bwm2CFq-Mtokhp_%5;c|pUduyLkMfm0Z<|auzu>HP3$2&&LbC!V%L62M^9_NB<;KVOP8O8_|KML(*b0FN;w>nhbYA z_*hc+jlylHSw$LexQVg$8tSg_$-?C}w&~l{rU4e0DaHZ#yKc5!mR0m;ETXygJ^1d8 z`T*xZ;2-2h3W6dK=K~I6APZ|rcn>rffT>ZB?gn&ITDuqfif0k^zw_^o`UbDP2Y#KspgE#}0tr)Ha{zj0G+Y>EI0{!Ktf0tmCre_0ge~GhCm!<`VYL)RE(_Gw zND-qJ0ei3iAp}DW`o_A3sH2DIfMaI~NNXI^S0GWo=_E3cX=h(lD8MdDm5uVegB7ElKCLzo^?Sa)NCmrCu>n*=*g4We zC&K9N$Dcm@>BXPINQvcFxVa3#EX9e6GMoWSJm3ZH^a6KcraOVehfFmQi&OB>84|*0 zSJd0zZv*=&T|cx51|OQ<=aOMSAH?qMwXj|S_Cjog0)^mW4@NM_1`1eE9*@;~X)O#u z*#*{ZEA-<}AO7?re@zKTAXx!6vjLZm=F>mzhGC<#U^#CQog`8Ec>O)uX)mh)==C2` zx_`DS{c?L0vbfyl)V#sI{zLd7C+_vNBN#ED*W+JL?sk* z=ZSJ6jaww-ig)zv$eM@8hpji1njVM#3PFCtJSNoxe89dCT(-vc#W!(G$r^581F z{OBOe|FxV0LJAb@(}Lf@B?7&7jg;B}2Ge@uABZe@{mgD8mEQIUH3GLG{op#ao{;8x z4u!sWtXCp&r~uLb`Xxk)D?+HP^hK!A&&Y;U>H7M03=oP^d-vrKBQ{|68}Cv2u17iFzq=p2rCo0o3Hn%V8M)cCj{1S8+!l{D^8z z7kFT-`*K~sg;dr0A<9}lTF~Fq(J!$ckPl1X5Am0xL{gbZ;TY ztCJTg3BX(VuC5>emVZ}Qfz+}F-?$%H8`jW59#(*ZuYae1Om)9->ap57gxDBw+@BZm z5I9kc&h$)J1*UiMz;MxqKa8|;5J4pluBB=zOjE4{uSUK(kiz_5ov)SWc?jTfKFVu zc+B!$;5u>$uI|8dsyk89T>gLkP1xZ^g6wxi;Rrk!?Eyvw{zkh;yG!eT4u7x;!V1xD zP~b|FZ2hiitgA2z$N~nnNNQPrf;&*6@E7nGW>b0tHh5%TfWckc18s!SNRCi`G}?tV zPfj1$CvgtpE?vYkXVh5uZv!O0DZPfPeDl(gXfFwK5SOAb01ue{lB$Li1DMkPf=7$| zfqfN`U;&+?CQq^4G5z}SWJ$itxDvy%GPHJ7gwDE5uHF*M4k)rSisDxZa=2ohkA6(xJxE)WtVcIhF z3yz|7joiDttBYg~K*1&ylkd!_BOmp3VKQWc@R$n8*f$~9%nG?(U7tW9$>Hi zu_*hj{ROFe{PAu&0uz}HMx^_4P<@hB5GTJjoM(yb-{w@RGr%mdsLBy9{tYVs3@RCr z>r3e34Q2BZ*5!=~sRNWY&d@Cb)Mx6Alxo?HD%!r_o5XV;4455*8~;))4sQHvaO2km zyB}5A3XJ4fTXd&vegw$(6!JZYYu~7=)+vVX=s}U!SQlZXLNAquveaTkf<__>!3!L9 zK{qPKN-P+@avY_^sN91dQaQO|W&B^)dec3tD`$v>hc(ENNe$=9veWgtXIRbT%u~?Z)$A;+s(HN*>^xu6&J&!5$%MSben& zj^}}pXU%}OUD{X?4Y!DuY4a>h`2$j^ zed8jFTHm;oSKaO(;AGp(?S_0-f1oe`kVN(x4%C$&Nn6+ckR}~W_%~K@BqMR4LhSRR z6o657Qa0j=E)M*4u=_B2<-BuC(d6YD*KMIQ=KX`@2`;X!k6I>l@@1R0V zfzD{I{NM1$qxe5|B2r&_i}{B;qal%|lhPL|wz6IYcKmv!$55xSc0#8QCYvCO--%8X z@kSCd289A$PRf&VH~**PJ<>Nge~^Br2nA*&@}y6aN8YLj2@0H?IK;$07{DyR8X*PU zgFg}ebmPwsXc6!rG=q`#@5!@@H;(%bn2_Bg1-xekO<;8hzPwVpTH)@cZx`^*|8INW z0vy+Mo_BY#*uA@0ESC@|)9O;$v0-VM(hyz*K-Y>Wla#55lqnICX@|AAz+RHDmH@O^ zh@=ZTyNg{A;6N?yGAY$jQZ}U;dPbaqJ@karp&B?tcjQ*icqVpAb?8<}t*PBwcAR7! z*-;<=_xQ2<^fw>1(yO(#RU@^wszW#&R)=s{9bBdU zg85qTm8MuMrVg=~I)p+YbqIyjAs&ybLp-hykw`=xA`#=@S_hM;tV`4(8Z{2Cbub}h zoudvdEylsM4sMh>n9&rzg|~El-h?6nY{v3ai9qm{KuaUv(!pC8D;Dv;-oYIj$5s?R zr)a|o`;xCZ^*o9-*D3grZGCvI)ERc6n!1k)W~)=Pc+MfXGXu2axWrF2u%EY2R%&+bui zSk^DuSoNj~} z>Vl~h?imGiCrJ+juyT_o?#SbdKkyb38YldyOhD5uV11N+i3v$>s78f3FPZq`-}U zJL1riZldn@44nfQ0Dx3n)*AjMiEfR!s_|ap>2X}kvR^dQrO1=|ryz<%hQ@<&_YXdI z;L-Q@zC7nH-1FFPuKiBzBc=0ByW@mPj&s&=oN!PSu|K@;-YzHPI05SN`?MN9Q^Z9R1C<@WoH> zyEcD5=|-OZ(;xjf`;F7jZ+PwFYVxIj|H=;v=R@E9(=Yzl7k<9& zfeW9yz52QNzxv02p89bA2d_SL?9+$7diK))`t8a7!oT|S3-^6>*Ec`;Z`ZAcIGcJi zG}ZQ-L43aLjlsK9ZwAJidNVB6^jkr(-f?p<)2>DOzT@UVk=Lz;e0=NbsIMP*Yn0#3 zZwCfF^=7!`oo^Qg{q{G9qzwUTBNTvwrW$I3B8^m(Ae1Kfina8|btI-bn2RmI>hBZO zK~Ud5ysE``sy{)}_`tEgNuf}kjn71HUKN+fKIPH)kZSoWpK=s&w*FM>YGqKAT!pb& zTK1*SQ`-j&^TC}NQa<|an+8E=_T0{N4ieIb` z7kxC=`h!UJC5yLP`lZwtO-*VKTUuxJ+zX~P9X2CahZDlU6>1h`*MsJ?Dud3-SF=s?W@OK?zc4V1HO5`h_|JA_AE>DQ3Gw3 z^~3f1Cd-w&%fJf1fd;=0p=+goqidH?uspBk0l6`HAHIlRFk8X7s|KxVZLSgIL>ed|; zZ^M+_btKC6n|Wy>p-8fJJ$BpjQ2RLaU`USxO?uo>N|n`OSY=&Mv9g2c%i-k-GSVFzX>xeUC_Weo~slr<_llF4H63 zb&GV-erc9loyVNe`(+5~t)r~!YcO`+XQBG-yD=EW?3+ODQ?GvY{NMbCg__x(a*JG$_nVZJw*m>sMb}G`@p5=~u@atqknjm@3>bL^L)u+aMJg zdD5(i>a*rIrcNq*cBOEwzt*?fta`+h%D!Dtr>Sw@q>lOAI4f>Mu3i43TX}S_VV>?a z%*QPfF6`RLbB@Jt9X9f`amIa&O+W8g+}g$!UwzGzB@L4eZKvRP4eO*1@^0xXbju%` zUH&ktz6mt4;<2ff8(Yg?GPI8XTMlk^>Th`3oR*7%)n8Ms*MJqgjq87`-%qgSliQbd zkWfr|SMY!nyvxb|T|V)d|GRv>^w)l|=R~{T{(FC+q{E%_fa{oF)B8%Lrtrq*V7R#{ zymmi!|BE=$=dpe-lmj>2+m0#7yE z;RdWCr1p(9;iZ@}!Eh@=K7q6^+Jvg@zKP`l^Qu$e)^|x95l?(FbD$q=D1%Am`;pI2 zqCV`0SZCw#_!*S72t14Q&VhbZPzBtpEQm6_8%o}0UY>`?ytU4@OJNgm+5jcm9Ofnd zFz%WP8&5Jz!a=}$$}hr{^{C88%r$KUScGyA8Q!o#r_p>WTS4d3Lg#b_zB}Ny9u!}N za>a6Bx)b3>5N;6RibPcA{a`=6G(1q+X%uC;gaqJLK~l3Xz_bSmpe0q$*v5wR)|S2j zkEvMLzkF%apZ%6C&~(W+=uDO0Lii04a~lH|@OKWi zKQ}IU)WFbMJCp^qp|UN*X*XiNJs0P>7i|_bpUH4Cp}L zomq^A?Wcz*)Ny#Are|J*@;c8t@l_U>xmlu~Mgy;+xs*X+ITN+_>)4pt{5L~EAu1P0 zIXpu7U+i6%I+8GJcn4yfU> z-;j)t^Xf*h^ArZGQy2kGfwI%=j{4P%HMx-Ir)N#A)bZQIao&V!ZG|L1ea2YBtmxBc zjn#F*nbYTtH5QA(`i!xLLMYJb^TryFgWsnw7;7XFu_iYHkBi2NPe8)A25mkP%01gx#9xbK=f##@#t9ZEI0fdmrwi6Lz$F-eQ=!MBPPf^_ghvGV+ zfa@kUrhuR*N%YOK*Htg)D}#$vFxv>0nkOI)nVGI7Eu8x|Wc6liTVp;}vEjmM2u zm>|}+(ih~viKLde(`2CIfrl%WAiVPKvCjL?cO3AzBz`e|TX z;5$eFbvFfE6FCY?)L3G$#Ehi{mKGC>$bU@%Ehl{A@HIsWrdY643P_mZ6qE9$WG+KG zgETfH=Yv#paKrr)(j_`5Y!)uHGOs3@;Gm^|YYSYB6}(J=1+5MN>uZYg-Ye-7#vUXXkmqDUP)Jw7Af-t#=1ADXZK(VY#&$pGnrdO#- z&+{VR*MVVL`np(wwt`Y8I+vEMb9vd^v?&JRPtT!6NlLZN=-ss|z-MWj*-vbjnf(!3 z+PrXQ09FQknO6n9y)l1xmTh8w}+B z^bNrD(DepgZxGj;*!hW8@+}Y4SP`AjL}Ws1X`vPlQ;S5XNpFT0k5g-IrWOjhY#&dz zRdbQFJ}H2-Wk_JEQCMOzO*;llON-{vqG`5jn(<>HAyK z!NyVtHWHmYCGt#ss|ze;bwPrn1qOhlU)>LZy)m`XeBj;Y5jzNtKjCMH=K%KGLhL6- z)zi#(W1Cm!HmH&ro{y$gJ*z0c5{a;j5Y*NNl+h?{nC9_|`q$aD;mxiMgFl?$l1W^} zKK_@ZaTA2Yz#5URzK;>oVxioIE>1Q){cV~uadxx`qSx(EZ8tS(iHyP-?w_JR>VNvG~$$#G&77Ra$gc-^cI)*WbmhM9w z2oqtB-h^ZhCMX(Ds5Y5k!LP84`)Lt@Bg>L1%N!%ik}As_ zBg>L1%N!%ik}As_E6W@!%N#4q9Lh3BC6uEQ%25gBsDxr-*QLujM%L@#@hs5+o=pG- z*u0EzyVFv)C@%Fyg>b)^h)~<8$nF;tR(Fj~Nmahcz*Sa6`8hb9Izp90LS-+eI!&0i zY-~cE;@twryjy_!uDyt{9`6w_odwNwVWXmqEx6`#OTz8Mjex}M4)eL2JSee3X7M;m z+exBd?`%8Co<2$Sg!K2+dVK{5(%==njrisg-a%nNlJ|K zDn8B=C>r8CK;SVi(n)aSaatC6zdMn@S`B9-)xAAeMbe?dUQFm7gM6`;{zCM9NQTL7rlmN-wT^ zur6PwRt98ikZl`xL)eTfJIts#$u`-X&}U7`&9GLl1u-Wxh_c}4Uf?gOLGpLl=+gm? zveGi7wcvV37?-#-RccN|=s&GihE~!}LNLsaaLYXkA~SI;7D7DuRP}(rQHI zOdD5*WRNrCZ26nKJqLh0gGvhiw@r$8X@bV(1@1C=xN+3tn9xb~$Dwg&0}wUFtv-YR*M6 zY`N8o>|g|~R-vem)s!v);>R()RMTunNC0EA0l>fpj+&=I29}J{xX9Z`M2Xhcc1dN* zB{qi~@n(;(4{}Z!RDkJ(#^8+pB@+GW8eH%xy~OuaUTrJi&-i)HobmvLRzvw!mc9HF zYO~1*01`!~l#{H1%`8%_2^TQ6D6>qcN~$VVO6CQs2ebeONa8HhtIU$k=QQRyLJ93w z{Knm!&d<{_!&Shv;#E)QwU)RytSoqybM6;Zz8URB=2;~Rs#EM`)hTW;ROUHd0jB3Q z&G@WpS5>>hA^03ICM#EEF$0Z{wAd|ZGcBEWSyu~2fK~IDdnPzFH52kE$5z}~RFQC@ zt$K!xUBpf=oi6&O=fs5D6u20B9w2ajtC~`whs9E0BV`W2^5s0mxWw622I0a-_hmf_NtoR)ROAFCDJDyTzR_1*+SF|-% z*x1B^ab1Q&l)IY8OJ)RWuTII*%5QZ&}1XJkL&NN+AZI&?rNm#7o(9GA3CH4>PB_&K4rUwbAh)6}TXe#Qz zLn~PpQfJ~M?JBWt)AZz85r~?MS~BfsK|&~R_K;v*XHK(oSI^LCaDBSTGQmQEwoUK4 z%?S}d)1E_EUA)#gJ~U?CpYK$BLzpZJA|OPf@0l&`D94R+B3B0a26bu(urm8wqZj6`8jKk|#W zrket*lv7z))x~Iv{mf6-3b1*?j8&@IY;L$x$V7d8igycDj^+5Uj7$R5dfv*C^IRL7 zHEPnD?b1~{%5I%QNwnRnanXyq-5;fNgaBYV3u;bUv)yoDzgTRsk4r$hVDPLghDnBL z>A+r0B!u~Ptu8BZ@~m=|9SCrTQxP?3I77F{VP7U4X&_`#hmtF@Vz=mjcxp~;7Us{$ z#RF0&oK|T0+I2@@QAgB8wq?cFi*c}BOo)-=^&-{h>`42Z#=ofj{UXPI?9L|m3>seT zq?HH?RgN>&7pPvt@KU{&(8(JYF`}vU1v4ag91^azRVFb9At)bTENjwX>jH$BOww<6 z$P40#G41Q5?z*h&TM?pqomT{Jcj~s205a1+m2%w~uRkQM%{;9UbaiT7yPy-)r<0wK zNUzxd0Tn;i{q?###kQ;#=LS<6rbZaRT8R5!AxmB@)JPs}mOKe$$fL7Q9&B~;7_L^N zVV&JxbN%GqCCR%cd2Xz^QqiFlw?b~oYy4cvYD;n#Hb-k<OOYb!k~|LZnvkGV-%$NM(W&bCn$;*FtFP9{M?u}*Y^dAZhL5n4P`=g zxWb<`%tdNZ!A!Ky&XVQ5*iFNwd1$SzF}&oa7#0$N)3WDN=7b?3W-~_DUVxin5-C6tz-c82F4qwGd-73B*d#qiDVp{{}20Qu;;L8$mq@svq2`uQS zy~;Olg;zns%EtIIsEdhifV(7a#0e2`Es9NmR8snTl*O~AcpN5~vX~_=1cF#vT8tqU zGlpo?7+e>N8VA?Fv9e92*3O&>)4&&fYTu{&L%$i;WHM*-j)~k+Q!wru*Umi0eqT%} zA2DuV45h(}fw^%mss^-sUB>)9A$~e7tzGa(oL=_qy|&HI>}?chv>9<0Fr9y9kQ=}U zL<+El&os1frsemanf#Kp8oSGk-(6;GcVXHb1ZJkzRs!6Fo9EV)@C!0z2J_Ojr`NI2 z=n+pV;ucY_%yn(fq!d&O&mvo^J}A+o(36efP2N~J$W-fTJ2uQLu1$yZbk}FOGV+IL zPX{9w`Y-@Cabkf>+ z0HKqwwv#Q^;Vs`wFzEGc+Di1$h=0Fqi_+!eKb`Y%CB_XK0ZKoOxCjXjNxuJm3oQ>?{yhXK3*_ zoOzZOXjW%v&CPJ;*;*i^&d@?3IO|y(#7kwb%$wDq0!JjP#YEvG-E3ri$IjYCsQC_y z+%g}pZ*{dt%~B(k;OuTv|8Ya|MX7BZAk#(9I3BWVpz{4XN&Gsq?A1NaZ$@oKx{qBB zurkdDL=2hZgrNL8GF=*Jq45cBu*8gc5{C&vHB#DhB;;lUAeU_th$WgwyXJU}BX{-NDFyI^Fq``*Cq#1}<$$_Dh06vjm9gXr z8IvnQL#HZAPRcbK5+W~xfksqA71B|5YBLGkM!Ju)fKxi(+oo%ia*V0Y;!_;H6Px0M zYo?^|i=&e>l`Gyh2n=d!#qiOSKlLndj>lCLpGk=}1h9D;d zYs+}jFeMr{qh0P>yWHD$xl`>nWt^b=C7Lrlmdx;zfeeq?GCXF>@R%*bW3~*B*)lw4 z%kY>j!(+A#kJ&OjW`p@W-Ca>}be`cMIehaWG4B_p&67M+@To3{bt8<}Id(||RAyYg zNc9=IT!AXYxg^ddaW08-Nt{dKToUJ!IG4n^B+eyqE{TJ?E7{(Hqad7nxqL}G!_%(} zProua2oM@wH)GDQLK(b)?egRb$;^sxRQ{S#oJpAt8W_eV>1l{wewws1w@NRHTK*E< zFTs53I(^By@>2}6Bb?!Rg(Tp{GWA_^gqxC#TFJ=o#xnJ-@(j1iGxe=p<0+vz5zcT& zm0EcoTsi57s4#YA-cN42h?M{;2vKQ+bi<3skRBWxdowQ0E3&-5cnVqDp$DB|;^)WvP|nQVZ&WpW$hj z4rf{IKVdTDoXkR9&O$T(ER@{V_!np%q)PYFB{nti0JF0UClgR#k7n#Nf}COK3cIF^ zLz((Gl(FLwBM@|sLD!?Pi7-aWA{{eaqMOQLk~7MJQL_oqt_*r84aKI^NM<+)|iXDdv*`waEvBKjWMQ@@w zu{phWawtDC{D61j?#|Bc-cI~_2dHgTTW4oqXSW*Ee@pk4p5CsWE`+3Wm;Uv1d0w`s zzjLT->p<_&p=@8S%ggrnb$VUH*}l%cEyJGI+m-FgcK2@`&UW|oZtdwg+bFzmVmv7wt8E#UH!Q&eFIy2I=2k><@yhGb$9k<2exFl^bGe73}=zmKxhBft+_tW z^A7cO4R0OD4&}NA`uq9^y8Cm(om+BQFWWcNcW5Zr?G5w|^mcXTwhnpT7RjwUD^%xl zxxTI4Id6F2P`03)jD>;rGN-xjqeF3L!C0&lwDx$HcqpPQ*8@7)JoZAq}548DFuP`A3 z^6n=kw202cI^S!@$i#R)d*VT{CYPt|@)K|Qbp)JEgGYqCqh9gIST22RB%evj`UvYY2jMBD2aQ=i{2=TWy#uiVxs6B?btms`b5Xh z(aED;Av=`!I`&EYVd3tm_-1oL-)94k*I1l)im2^lqs6Rb(~wmm;2eE7vf44`O>{gs zR_ri&He~tvfOFzq%W_{aTPS{VqSmg&yX zoGq~!mzVcluVI^gJQo z8MyC!Vlta=aPy9jiyZQDn>O7E{@%GOEB#60b}-=JSUtd<4Lm44FD3Yc#`6C{#1D?8 zF*_6LM@A2e|M1w+aT!{Kt4BtJ_mHc(kzvfHvxO5Fkw(Xg=^=@lOOK6iW}y)&50MJd zJM5QF{26`1D`Mz++&eKL!Xb=ar#bizLR6&(V>yU zlQKvO4aX$uY?0}6l-fRqLQReqM~-@Rh7`O}NiN4AGG^I4gLNYm8LvZh1@_?`0jK&n zoCkxg_vZ6s$M#I-izDNCPaLB6j~?*~GTX`_*zR?29c;bSRn+0?WSQ%x)m*Wj39QJd zlvypK!1Bo3oE4Ev=Oy;P#K3#+#DrHs1?}?k@9gM{3LnWylG=h$BOLo7my09AJK2WQ z4^Dnun!$K>`0?yvuc0+d@pd|I$;ZGO1`8}_)=dOMYTMpA)0?EtDOCc_N$_|_wwS%Q zSS*YTO%}a(cz$#L-Yj}X(JLUAePfe_;bm;Z)a)kMxOj8Hns2UB0yoFTo8UH5+i`Qj z&`WM2)768mXfUChY<{6%pk3W$rYlmriC{9ZmOlPPJGuU4npQ`p02l`yXI;Qq^G^oH z_DSCuJ)GIJdGv{sj?)qV;H_4$0w|WWo2b_loPmIf?=NM*O7;bYp$)VsK@?>lo77rOKIV4U@j*pKOikf{9qw|xx z#=_WlLi#I5R>`@5foN^OiRZjSS*g)Sv-wGn<56=_vg)cEyL}!7FiOhE*(4-#ao0>o zI)|kfP6!9f0cVP{g7LzbNciH3cXm=kna+vHNb$sWGfBuSnVHD%r#nCR{tw>qw+DYT zy*2UQ_8z+Y)8G5npJc!I(htVRUu^z-pq&1zshL0ePn-Vs^?Uw7?cnu~1@8LJ;|D)- z_m3BLefid|Km6u@{*%xA&BWvP{^|!>c8xsy-QO+j``9ZzKU@6E(>I3x#hEQ%IlkwE zzjELBhrdvH=nLO}GWWkHw|zbNm7jk4d%yqDKOBDYzu)uOLlcL0KhF{U*T?Vqxf9s4 z7naY+U%C)+(t{BTCqkKZi~QXwf1ek>&o}ttmvol?9^SWO-v{6S>Sy}D7~TGr#lOhT z)uyXRzjo-k^ckcw6p5(r9xw29+PR&j(mQPG;8PR#IVef zypCKxZ@vHTha{O~+W7!^@!k)=0PBB)bg1R-sPoQM-0|BbfBQ=jr!7?XX$$p=`lz$d zc}!FV3A~>OfR7PY@IEo)_k8Hb{|D)`va1Ju{T`E!4gyPmJDBsML`SmFWx(12d=P%^ zj5TN=dM3ob4j!k!g;1dhX*5EjtxV}bhUxVG^*Te~fpZ)Av7LBMb$l%S{hG7J_Zw&a zCw%O1{2GzC_7P{PNHDpA@h>68^>`PF%FtyZ^okdGGi4 z@%w*JO9KQH000080O6UNQg-;s=&7~=05bFt0384T0BmVuFK%UYG%zo2b#7^NE@pCJ zZDn_Fa%(PlZEWnlX>;R9b}0J!y@>Z8;PQv=j>lF{kNq4k>~`I&u2QuXx3(y$rhV;j zOsB}C1Q!T!ut=qu=>LAtk_lu2APInpg%T!arbH6RWW;y!an4|DXT+r&Y9se?0ilPa;X=<|cSlpXs|$Y~;%@3;pzL9mC%bQT*knALv{4 z)(@rEe%in%n8qB1zw+?4e|>TN&+k9ucyIK0XXncl7IiJ+TbU*=j2G$UB-?C6{8;+> z`c8T)f4!Em3{x-VcRk^yGD$r_19~D&WB(>grMDEJcOyNq-3Go~d1+Ld@bKmEX~ z-noxA`}cA7TCPPFqz(6@o>n_qcn^2}^3L-UZzWS1Z~PFJee(!k!-l;SHecBzJPRMh z@=mS>*xfb2xhbmX6~K)juKas{m5G4Sv=oUPV5wJ`pUSptP4FczS{Ex#94xhl_P4&K z6a?wHVy2%nKUm4Q9r4r*;02LbAzvhZcpCuKsGmI%0zKg~_#?hZP_lE143WM2gSUnL?qln;QcBo*P3i5m9xQzAhy#&X?(EPr_EEdzkb zC}5y}zrA`)Qn@+%B-eo?c0be4E!0o1qCowWoc$t08T-q#%hx`A18e-7dh7}WXn3n% z`f&5#@XqhwH3T!Qr7SKIZyiS)_;wpdAn$;bH2E9`7k$4K01E{k{pyRC*9NQc417rN zlmgF%2v0dA(e$SuXpns)M_Yo;ihq_4$NtR(Cw)}X_q z9!bx;iK7QR?@I&XksoJaex4`ZgP-0-S?a~|FPV>I3**9pfI9V(qzM9v_Ej1xw*}6; z^B@5ACWPwN}K^bt6q;ZA^7s5U+jg#Ji)=DP{t{+0*$o{;jLoe@K|p) z0i>W92!iOL253M8TU;7I1Hg?~gN+jk&S+uYCIgMdm_foAK3F^2)@eqcE(x} zt;gGlM-2h{sReuu3l$}u7%+rH2-reGTj1W7(dH)S!9=QcmRZ1^-cZ9etT)vQ_1z-g z5baH+_bW~8fYCbc%@Qq(wAQKhP0gB(6ifQPiTFM@zDF^>g-(f@JW& zq72{CU#ujf`~j5mcs^JYpivU@gP4`EV(sP<@~Pm02ru4dYCNjn_`QvJjH$q^}mgx|`gzkbZ2LPsngU5Gth zY)XXpBFH3xL^HupKk#?GfZ!8h>?jEE5Iq1u>3+TL|GehBZ3l~;hcYs|@^&If>U7@+ zk&6HaUg`F`?z-2~-UeO!RW9+GuU(XUc)4uUXHU&Uy_Coe(Ji-DW4PV@7qoa$0uGMY;zrX;s*VH*4~eEC9nM;MHzVRCA6xt7xv%Z zz4cwKgHja(Q(5?o4$aIcsEQGE;mctD507P2sT3UD{om4N}y zxBT|K%kSNk@V(gZlE-j)7e`@~CFF%he<;HBMl8P=03ev)FmaUK-q8=}?Zl_-*+@8a@I+#0PUeCe0pZ)|R3tZDu`u8%atg?Yx`8+7<9FaRXMG4m=^)xBPA*!#^XbU*e znEpA60x80#*u=LJi!!^2=qO&Ig%)RYw?-fNniED}cxw?Pe4i%(fOy3Npt|Q@dj$>M zULA3i(fbUYFryV%VN+V4LW3EsnjNu56FcPWjr6TbT!x8^(^q$3qh17(ZYjSlzk3~k>R}$LI)=xzeTRPOEqf;oN&M*t_Vn*qvt~S&;Z8Sc18Z0 z)O>3IIA0V{P|$V`Y!lE5wu6Eefaght#8;Kfm zE=HTsyH>5=u%b*C5Fnk@Y?Vl3KU@YGs`KBz|KFG2O`D$z`=%8)m0tr`IIwf>WRPbT z^mL|mvHZs3LG$*T?MS)}Q@KrGq9`I}*9V1JT0lRRqt0uulJ24+2DykQez=P$fDv(B zMBCG%S}n7kS6D6QZ1y?r_VPGnK<&6~#eVin=yFMF*=t%HWv_Z%ekwsw1uEn* z6FUXgkUWKih;H7Qc@Fug+cJ;w5+E8iofPF(X!)LVcjiKAiU>}B13CjfKCn(`FM4#| zF#$O9&Pno)a{9Mo9qS!(z7y9(;cbNQiYo~oJ#&S%o^DK`E<29r3L7@$L56QQv&4Xp zce(b$Qi?rtk56o~jiaSZk_9~C$vEaX#8~)19xm*oI{qmPC7~C>${Q|!+t5HVZ*SD4 zjn34$k$ju8+JB4F%I|Ot3(=^t1kim+U>sf>ulT{Id@T%OOz&bz-Y8VF87X;W=@*|; zhXm$h$rV9Jk9Rbu)`k4F$k?up81%J|nTTw&WiPKzuOj2y9*HhJ(P+L2Sd-tEd1+qV z0%q-z%pXBsO5A#XBBE~hb4K(DWJGt%Om%pHbC_}_nD49^%59FbN&_**PG?H0qof7` zyj9S1MSiPz=Y8T^WdhfTZ$yih-}0+mVilYUEwP4fzsYk2X#rcz$-Gv* zTt-McDJo)=ulxX7B>`vHEnkuslkwd6G6LiTndlF9l2fgD?{^|GaW}#~K5=%-u^U13 zWHFZO!iYB>bA;WzQY3Qhc1jdCjKXI~kns-fa=d(g+<-*QHBQ5yBuc?@K7&-b88lc? zibZMeRKWrROEx`@KJ4GXLGRU`^l)(CWUXR2ULQEmbz+zX(4o^j}zjQ z+)@jtnoNjfY)W7t=XC~ZNMHc8U);l)^@Py=tMJn|QLKy(*oM}!VE6y<$EL``QS$U! zNhL3+6ih!=Na`R5#5fqnJL`8U$qq1o83VP}yYptCwO4y=?+66J{vgs1Q3gBJP zbxgjt?~8I1bb;gS3YEU=?AyE4Zo6FhuEA1oX7Y};@3}Co^M?-@I=Tzk$Ha=>=*u*_ zOWsVSuVT3hWt6GlHHEOjcht&3n`@J-UXn|eFV)denG65HH{sId>et^I z47Lk*4%fcjto!#dT~}+n-L$Nd@*#`!d^26X3#}&DmF>`Rn0e7|L)X!kr1h`x;3X(a zZFoQ0D*3Em&g*Vz1=YxM2Mj*kfgU#a4l(#ger+SvaF7dq%&6D%Eme0txFR!spZ}45 zdR;Nf@Ybu6wS9T*?b1bcoZ09mzHm$#xA7P$+LO<<35A@16MuS+_a{aVvmf5IAAT34 zXJ7n)zWAMH%W*2P4$D=ND5^`jA%~&2*`t42gi{V+S70PGQZP7-1U4pEGu{R) z&}g-w7<>fay@-8Gm=ZTh8jB^>&#?!(_u~{>+wq%vInlk0V}G>*)9>cdTS;uJk#{$# zfV)GCeLJF^?<0D-kJ#xscrJGmNfD7-3G#Dx!L}R9B2L>J|LxrTsiA%Kn*Oy@ktYXB zorA*pj(IBDFDH!#^^TD|6A4KY@qg68k%xun=S1N(Q(^46m_~uzJ4Jm6;ScS;%#CU` zg0)FZ2itjkn>2;(zfl$!?Is`ElQ>F^p9z-;XY&Y-re9;Ry$tEsR{(2GX;z8M=GF^E z<+CNA>XV>&Vo$){J2IkV5PxUomAvqND9ysD8Zu0%IceqgO}j+EV1;Al?33I?Xyu>1 z1K}xd@h@}qA6}BL8Razg64=^PVRC^W-)5>R>aEH(OI4!`W0WuXAUiC_bsy^7c>nodP5Jjvps#`y zR;N3g^D$R0LoT`HRp75IrCCKQK`u-wBiK)s&APxx!%E=p{u^@*ln;75zs2w1Nhg)6ras^Z zD?b4X<&l~zVm&<|-nH-p5Pi*-h&gF-EZFTyYx5`QTJgMTBkz}mC>G&(5h1K zOrukzQKzR=f$`6?&^l3qsEqcEgjO95&r~`^Ds_hP*K+A^M6js;I18@RA&JUp&q#39 zQ}IlvQ>0UONRP6cAn$Kuf0_l?=@3L^wC5zaYG`<-(kW7@Gn8Kebs2)n{xplNlOc%8 zXwOJ&)zR=wrBkF*cMeUAqJqJV*-kClpN1twxJ!(+aOboNI>VYeFxa`fp2*&_yD&7?4ksvf9!rq9XIrz6+o6aubhqL_tNuXH?9>f|W( z=peff@x@;<5sV&jWkugbu_tj=xcetdA#>ztZ;_)1iFzj6sgtd18kkCPt(it<(bh9r z&xAX5!tLRJn?MP!nL=jK)+(+}p zg#fjgPWqse%7D*Iv<+T^Z6@9+2)XMxlbQtHXF-6-{+s&za})(qgulCyYdoQ%4B_E6 zeMAM}Ax1QRl4%x)iTB{AcTtuyc908zTBOFD_kig4!^B@n7-o|NslN^2Pa59438Lkf zvkv&o*TZ;_hyj71&wqI4GQ*@4MHw?;%!JWQggj$faLREr96P}AGMP`gS(tU9mHC{T zNu#A0dB)V>nCoUpc7Ws?5hN2h>ejdnCxEx-+>eE_9Y2e=u9P#_!8a4iX%kAH$Dljf z7?>Q~GU2p9IVPJOqhQPjqeDbg26@Wzu0%WY(KwUJkz!`14(Fhr&q`;IeIKPrxZheL zt*_Vy=2ZR+u-_u!h*|lzx40sv3*JD4x3JXJzrF}zg)e@1xff0L+`Sw6B4ltdl1dw6 zNt8+e+v=GM$y)lFDd;!~I!2Jr3_mk`zgp4E@;%Vd5fXS3-2ObUR2l0jbNWzB{ya$M zD2Y3>_+WUdjP;aRypFVH;u(p_#ryhHJJ&qEqS5QoBtq|}L8>FKy<~{Z#Qh@$L+Wuc9CTWWwf>v&)Mx+en9*xfaYrPapv; zyueRVOlFLLOk!`DFW@+A*fTo}M%Bv$257K_4NSU`A+f<_0o<8$8xY-0R>zaok(UmG zAG>t>;7kPDbI#{*kJnQ@9K}zB7F+^$V#jkQ4B3pe&|-rR^Zo1X!40ew=%|4mVG8cv};^a z#(4&~yA5gGZjtXwn;DDGTsAm*20*Wj@m$!iRbl#4Q2N`5?TFKqxDMghORCLjL-*M- zRJ&FWJ4LH=>_3GAtshQ%nozHd@mv_NWnY4l)Lrr0rz?1!0({ z9FcLdSa%7+e)#Id0sL&)s$H4(64uv2Bu?1x}~fbm7N8T`}wyjJ>+^PZ!9~nY|o) z^`D5qbqwBtocm7%_?0o95j)O4ey4Dp-TX6yl?Y?@^gDy%?ChVJE1muQy#R4``9E{k z`WPjC>fcM3KL4#6^Yl>f7>>O<{ZALl&ziy9di~uH!RWTQYw!-^_J1P4uZ;1W*wKaG z|8ym>V>tHe_&;4JKWhea?D>BpGS@YH2Xg&C5$IROcuoxI%=hn9Als9kCMynf8}LNn zUK!(AF`=9LfhR%=uHoAAjlrymo+Qt?xi&amcYLit%UnB%MgCqyv1LGK#81Emc-4d7SCcuwr-ByZqkC9z{T_M13xvQU23 z4CXp>;AzNQ*YF)Gb>L}0zcR*iVn}EA2Tld@DLOBAK(_DugC_#_${5dz3EkWuJP}fG z4cDIU51t6rD`Pw-26S_oaJn{$Ye@EcnQ*#repXC&fenF^`mWaP8WF$#;JyEF?R~zw z_&e`2KtoM%9!r|z+q1K??-0SM6sr;@5w5%t*dh?gifM$}9$tp`BJfuqwlWq-C>NSy z&fqnmGx+Z+3QGnGKyf3!NG}0gAmm~`1mIggN%4o9M?hH+Fks=Qbrw<&hE62*;$;JT z-_$+T9dDoH8g>;fWiJSPmx>g>@pA4IjBqfZH7zaG$?MD^<01G@l_B2vrY6;Rjxr^d-!E*>N zmI+91dq|LO39kx%#-jj+h4*>o9q_nI9Q!by4>b5!BBlLcV(ge?ssVM@LUt<%4j*Pw zA*z{(rcOl1VS7gJUi5Yc?i*0p+{ov5BL0#P2x<2sA!QKuu^+Ux(404=^O|GfPVBRFYWRIJ$>zm#w&? zh)LPfryvljkaq~_VPShjFUZ?4iltl2CfqMWcuJ>Q3#%u8G!(|jM1CY=60}DB0;&DWs zv4F9Nd@m4ALgeivpV7$0mH0bB@^FL4VG!3%Bwn_|N_T*~io#TY)l+}pV6_7;KJ*jm z#y4hYH7|Kl%-q6gwcW{SSd?5b6Q3_LkEPC;{`#c9 z?#O(ncK&Vo_iK=WuVsMo1&yOYevQQz5w(&UTZ9A;X7WL_0?i7oSSJg>hrhf-uXPrz z(5Y>YMf;V@48XVW3+eIKjF##%j9D1-&_eF{K;wst{s+9L25`HAa zAOZltJ(;m?V_bB+&vqQUw91yJF8|&5Rf3ID^TbzwlWkxG+^xWv*ptvz(xMe`t|o&n$JW!OY^?@YUZ4o zb6k^QUHEoi@>{cBPK9UQb?IwOmH-2$Q!t8eA`Ie-F`FU?7G4zRU*3U1Ts5>3*fQhl zjKlfhxx`BVv_1@&$c+e7f0-c9dkI)@+OL*AZe=p1FesaXnZ0z}mj10@N`6iP`Itn8 znbuE^){i2b_fa|tDT-Yhol#f$Mqds>UG}Vl=mN7ObuLMpFvLvqPnzV9qMs}Hs()c> zU8tIb6=SX;@=Z z3_^!9rAwfGj+$Xi>r-Ccq-XDb(Xu zhN>6>QVZ^!m101C(hEd* z3tLkBj*Da^Y!8!ZOhVjT9%bK+Enu_A{AI5`0rtW-QvvGxXphVnoMZC!=_b}Q2y zc%6wKQSsmh0j^H50m}HW0|SheDA6b7&$K;7+IB-LN{n4UZsjZj-K&jxbRq&+>l%8Q z_+1;Pl}R73XPMWXj%P}p1f@E`{BOVgcsLS%7F_$t0iFCN_O8#hb%SV+O3^dMiI%@O zORfHBcc#wqsq=_TI*~5#>ecd*rBua}#@Hu^f=&g2_3j}Cd)^y4@X0j`mhPlB6VrHd zV8SMsiAGHO^Omr7FmG7_jACF2jFF9f%-CDU(FTxO#MY>eQpJ1+ zK9EFfO13j$p7xb@oh3SprGwa?!X0AewI?o<4w33ijHi2{Jp~zb{FUR#$IvV`+EUg` zJHvAM#EhZm;}M^4rw5ZagIi8B6;J;%dLm}l^C6X4Hg%xFna+BmGdFjRV@iNahuH8|6~LXIp(mQ*<+IIF?GFSzyJ5yC=ZAH zkENEYjjjOo=0-Z*U1Ijh9^sS3du7Zgea7}dr%&r3Jq;qA`bmen9O!1lo@t>~c-aZ< z*z-<8BimJIn#!gFp*GaIitMbBjN$g=(d)rD6VGtOQyKF~pSi~oyZh61rt}dheaZ*- z&yRnqG&XyR2e|hc`Cs6jMe-O%;p2vSR9sWju+WRC#hOTDfM0!glP0%V!na?N(%08_ege`5 zz_7v#$ZZ_m`zU{K-LMwS+W*tfV5Qy5Alk|}@j@wAbc`}#8V+g?p)r%1Ih{J+Uy zE8|uSm%pWKfr!>A0`CR|(lP*!(D86FLt;_lo*-amL-~@i5KHc&I8_TyPz-Iv7ve|e zaTie7C6Ds`oG}}YRF&;=SCJhhhAHNd%TSiU8FFRFWh~cwah=CTzxd(hnfELFmUx#d z8KyqgrUcT9%3H}tby>y^Chwqe&1K_`qT;7Tr(H>NNaAyb${#-RI!K!c>IN9;l% zQS9IPVeU;-pNv5}Kbkai)BLm*b@HV~c1mtE^ zY!hzj?yj_Z>G5(5@U9K;S`ZxuJg=fGY_D4N1sz(=bbynW8kz`r)Ow}^pvy3nad9Iv z6*$?;8VX#8Pk{3jME*^dN;6Qd+X0XdWtiy8JGrELaV6XB_u0>=<6X8zuXmw`BJ)s3 z$_xyV-+ue?>B6CbrkZuIk4(ZRr!obW;HI(r;~?w4jZUROdWYrg&ZTjdE_&DAmD~F%|;!JWr+(|U@EVH5)221 zP@mLtdT`lY5O8qn5&2TQHLT?z$i@KB2*fjWuoSw>Of|LOnQ5l*hxo8wn6IE2E4cF_ zgw@2j?BU7Ca29I+ppJ7Tzk>`Uhs27csyQ0(jtb$c>?VDsb#*q%T1n@-nG7ch9jrpnD*Dw^+E)?`I1?lk%x;W$RRJ*c_Fw$y4 zsE1J&SYIPAzCn_Ei!oHO&+WA^ul@S~+gO#Af;^WB47;riRTyrejp^a|AlNC!I}%ux zl59%L39t_W(?Vbx1jYpQDp%`{jX5r#Wjc;uXRqz{9pzWg>_*fgU{ozg|@3?~Yhs}xSlU;XrMJbFoR2}#k?bV`s(X3*>u#RQ;HCCx;^ql8Uw ztkqE5OcXj7;c8r_0wr#eP#Ia)OcE>%h6_@=XVBD1nV#6Gp^TX%WZsE%IU*x%aC%j} zCYHD4h%ib`j1L;w(MW&lz+q?*h(;ARQ-+a}I=!%1Lz!cOXDhH-_}FveJ(36i zOa?}Zh(5%hvGv#3kjiO^p%tr!WRoJR%kYy3Z>8<7?AD~A>zyA~f(=S_Ur`G|cY?NI>MvFGS}GBx4jA4cj!B8erL7S}Hd#WQ`ru{drKai&Fa}nf z$6E1Hpo4aumBcrUp9LvZ)a627Y7$++9tK>nV;#n`Urp|!ET9q&t86K`);(Zq8Dt60 zsYdRL>Hxr;2$Hy26du(=q$Nds-^?&+7fA0dzpLE8`K+~H%(GB{=-l$8mU`y~ zIsJ*z;k)82szGQKqh``H(hJKTbH2>{dU_Ju#J3`a-)Hf?gB;GiKx}SSg7*~Xu2==Q zS&Z)`tC?_`6HfokJqvoboIQDgKet`lPYdqbE?v`h3=2@pVtsYghcDu(bXuCa|G+_G z9S8k>#-NwkpZip)sWRr1_uO`;{@D@xv`K#g`dm#64Whh zvLdMlEIflm<`75urO#0*ThxGfpxVOg;+a9Q^1j@_nX25z_@^gUD+*RT8Xq;qD1eu5qxi8c51!KzND-uJ1kyfgVi`Lz z+?&G-J<}7v7mWi#%Q(?P^dcgvD?UO<80SUaYTFv`n!@+c%4EN^RM``G3Dzc;9^g4a(PV{_dMI@86;ac`xGypC>A&l?s>S z?g@K@rQQOJkod@$K3D)0=*k)ZdTintq(ci!4yl{)PO;nqg$siJn@6)&r*%JHO_oo6PKBsk`t2Vfr64FNZXYTo> zO9dCnhbk-p=>&}%`L&bM!lSU-QtXF_hC7?`{M6@%u$+?_`K%A(HpzVLq@zD^6g99? zl#={*1az_5LEYlEAFcASFog=OGA--R71pV^f|aR;U0^{`ot_#B8bB7yj!FwFWqN^k+ATvEIe?QzPlEJv0J4d8Z}sIRWz#ExP>m`z## zvnjl;x$j&Awg*6a;{#dgyWK2~(LhxMKzF)&GJ6c|CoD-;7RgvUB42hxxaz!Q>;SxI zvK~jN%&o!P2FkTSwv0->GvMnbaicv*!JDcsdM^8Xx?Tgq?-Xdpqr7fLG zQSez5Dkkb^xyEf!x|ZQN@REA9)wci|J~Bx0bX7pz3&t`Os~E_A7z9+hjxZRB?)KCp zJXQ=}D0HYf_|?+TQCta}uW2#ziwtG#FU?jXzx{}@^WN2C7=@3UC{r~O_g=W?Si7P{ zn>X)0lSz5Pp=rhIjaW+PT-(Hwb|;q7X-bU%Mj@7D06Jl*{w9dXRrwL8y^aD{eAu39 zu4JmNtn~=2K)?y9?hRP}<_$maS=|{M(Xdv_@K{(=Ok;fkF5}8s`w|Q{0@G+uCuk#x z*|zlSC~MK9sPHkf$KX-gjet z!OJ@=z?NvgS>1qL^j3aTh3eLf>BN)vS|-cbr<=2*;sRHCoO@)8uP87B<|GA`MlQF$ z7^b>MN5MhGzQLL~CY;n5M|()V=1QIMqZ6cGe8u`^epdyzssA*|$iI$vOe*&v3V~fH z%y^Aq-n0n##-2r|ZWXr;zkI%2u#Fv}ZOv{yD{Px0XVqE)v|Y+)XdcFd%Ron#io;Ft z`s)!s6){mTZj^ADX`dZm@L)fbSwX}E45G%XJl;=Bnuq{VA(C>?SR2@zV|H_fV-fiy2@(W~nQbsv9;nPVI z#@V7zoqlBT?tMAu@(=eij{Vh2hU}k1(!lrC623{Mg8iCQ{@XAb;^LLPzdp^jI`eqi zmAa|tg1nqA^B}nBm(J!Q`>wdu$B2R6j_(pMoE(cuDX=XMvQ`HiatDFMjC*!-cGeEv z;c%!@Y#C6W!xU34nq4Na2Sw@}{B_1&8DN|=+Ey3L4%b9C&h$QCzw%OlQ^`zv6Jg&2 zfzeOO6;88ICMG<-@Lv4!4?q6n_dove`#=7F-XH$|fBx|g|NMtP{KpHVReb!vF>8z8 zDTVGE@4cX^8pfljnotG-$1gHmSSf{*og7TS1^z0e%C)fc=GTF!CnRM-!_kvcF_M=d z+<75)=s!btToqNZ^AH%;p6sziQbf|LD^WhQ!kW=(pgVC-8a3~daQ<49t)n8)K&C1r zhh7%jEhiNet7EpWMx)g4{inPfMcHHahBB3lLL?j(#00a7WMXA%=!87=dtL`a=nJe8 z-JJdOLq73KDBUfWb+cXG<+CEI?0Lj32r+cx6;;!=(4>;jScqBDq8AtFX;dF%Ge791w9^-oGWY^0Zj$+Ql;HD)qOA*_!fnbPS?kr4FzJ zq}A8VKlcjT}EJxFC&Mo!Y;u!}aq7UG+6e_^Rf)jo~!L%3D~3fqG;v z!F37J;zlDm&KRM`<23wTx~549uZgZ>}!_c5d`qiuiT(&^nT)cCW1b8aw4? zn52|Z^_XIBuw{`j z+B&^!Fjx9V;l~f41iLE$!sA($T#5$TW=R)NbMjiU`sT@=gfo@dzev$!c;EY|eDv_b zHcAp7)Jd9^lIcV~qW0nUbNW`mHpv6ng)vf6A#1{%Ezj5>CW>qOWXE`lsCDSLe(Gu& zZROdO4Avv;t|GgvRdun*cWu5Bl9bTCI|wj(ktLY5S|qAy>65EQ72mZ|VVzun?1JVM zFRJySx01K9vIMadd(9sYICTtezRB&!p>0VJAlc`70^lGz2yv8Jlx6ES>_==V-|HBw5ah{ z^mEKq^?h65t3$i#bzoGIbyz^Nkfl)(*D}D;@vLfbna8nswSZISVRRoCh+7>sL)lO&--oWi0i%k+ z?a_9r9CsA?3Fpc-5KDAT2rTOdT0YNfh=n0Q^a^D%h|v)?fZYti*gMDBo&OD90{aV^bl&&AyI!_C1@vUVm$!FxET&%X^ujQA?6sEw%p3|GOr-qX-O-o%BW~=? z3SdSlN@-*6=$ISr3JfVU1+l8Oh1YF0zT%uq9+N|s@J^CkH2#=HtE?S%$Zfpbg&cRKG zp`KS2nL%!Wyla7yCNN*o*v}m79Zq1>FIJ%A-pj)5T2Vtnp4@Jn*HN%mHnGUfwiA>$CVr|_`n$$z}A2z=O$(f$}q{xPNlks zONrW4w?)6)h#R}bf$bA>`KhA#r;eWf`PJJq?;Jy8C~B!>`oJqzk3g)d6;qclK1+*E zl$d2(HbL0E4Ms!g#6+yQ$*JJ`V_rzLA(ns9QT}z*nkSy;H&6qS?SLI-jMB5y>@f2Q z=r?Mgy^-Y&(o`Y1n8r~Ryp;9Fk?%#r5%PuDwmj~rAL=b_?CdpI9e%iMdY^C!0)R^W zf;Gs@uR|tcxut0LeuQj!*>0l16?PP^6q3MJ2kMORJ~)q{F@#^~xGAt08m0V;_)<i0V&{jZK&Og;6eC<$JCKG#50Jt@UP`IBsEV<+ z*$AZd+1m5xz98^`^g~)c;IP*fHNHzwVxb7@wKu;B7Q z`c}RGLz@l(^u6T-(=RIr*g<2=l~sA$K0UWEDhcz3se<-oXr`EW-p9kSy(z*XaW?m*T^0M7Sp1JI-9#6mZ%|!2?>c^euu#zGA**$XM}dVx;+Sz zT8nf#AlYY>@+bEoskKl?1<7ou9AT#%gzk03Q4%|0_K7>z6$Niq-3?WwG*SHoIU$H! zfS);v;rv9`PREoy5_x?RRpmy7>TYzQJgn2xQ^B;->K$Ecl}7DAcItk~u8T%+P$d+P zDa?Er48O)=yZZ|I6}R9>=q_4)XbL7AS=TZQxzrf9TU4#Du(WTt3ppB4rM{`rITZ3C z#yh~(q0XCk`IGv6N1Y(c!2P5yY7OYM4RY5T)Yqe}3C;nH)NEr%YVuyf>12yvVl^QQ zNTGAVD*L7)WcD^TYl0CtTq!oE3o-gwx9F8gk@Ss5Ta!-pe4GEOP7L5rDOFQ)6QSG$ zv7G!N`$>!al!Zwy&lX-HRH=I$^HW~qpAL0hK%!$pN(Ibz#;nT8_032E^I*c-ItRqa zxv^?z@`L+)UQ<2HqpCM>g@#O(sgB64t%}U5a+`e}v$b33T&Q8kc*Cz&y^eP3YcGDheC$u71D8@z4leO>RmN!Vy?nE^XSrbh&vMcRD=*lOHjc!WhO!c^s5l?{qoj?jx zv^e84=Oj$lscQ}iRJ09bs?znTmZ=O;Cy*)UJtXj|f9r#+VLEEc?I8R`kVHEV0IYR; zS%L5m#}ZcsX>R%#bLsWeNNE!q>RqHCzu74|z9}R-((32SF63$tsx_ru;tRNJ~}Y2mIp^^WbR@;gWEitD9|L>Icp zQ+%%$U0*jGY~u>|G#RE^l^aLW)wl9SCz?SOLzXftvk*%i3q^kjvScfkJ>9X^LjLUM z%nw#?;%Kw?vK14i+T63!sL3HWMXs2eOGAq$@6lfPZ!nFtQ(B=~xk@d>#4jx5pzSU# zD2u|0ZbC!(PMv*j@;EQ6ULv;2BwrpG9+*yR6l>@8D?eDZy#v)AVwbGWAU4^7PKOd< zpLyq0^hudDEjVPay@lxY`3wUlS=Q~Pq|4?kFQZ+NUlM|lpM%}=Q@C8Cc zNMK`zC`0js=D->zLuyGMkYG0cSGoFr6RpffR@x!YHg~mw6>B28$0n;le(YgAQ8+$d zM`(#t|A=TK-E}hDf#F@4+=WWr@U1wS1h+TBy10dMO>^aKrmMZNc5-a_G1c(Cyo&!c zDy{xk>9=hL2wf^8?oFMu&HG#Fvl_5GQa;vw*yO{P^O#{j0&jjInre4VLAVKV$p%Iv5`>0E@~Y#OcC?~+kV3>6F+@uRVf{e z(!;sVS43^9AOUm}?Ix9K6n$%sJ^Vaw=HM4an(aZ9yuu?tkA`l1w@DsMQXbTdKXKtj z2ddNr-*kzUufvTBniG?D%XckW3nY*4;VJ7yWR2@qCWW=i7 z-S1|36m|QZ-$q#tD2R307}O5uS}#*&>?HG3Rnd?BG`qu?ebKOU_-f_Kb49TZqI>Hu zv-W8IV%f(KQS+Abw%A* zZ?C?8h1WQ~XcC)Op`v^~NA;x|!Okh<6eH`6bc4Z=yI=GNi}WEXD5x7GeyjsU-GhG| z4`zKr@D7^XcBd7OJhc(pHN;O8|_4aMs>wQ9+ntW3@+?`EpMfo3xXodeWSNqr+bHCEfFO zB_A-x6HGlpg&had!K4F%{X%)yyKF(|n&08dUkbYVez*e*PAX5{-rMu4smPc6+TGud zpUR7ei31Vd!b~fSGtYSRbw2vPaI+=sm%J!Hz7|1(&sSE^kKREv;DCbA-qUvu-PJ7~ zurGPU>~h?eIkZAA)cf_04-M8?u<=}&1*LYj_^sS*b&>i-p(6O$kt_Zp$>-2KXrlx) zdr5u4E?frLO6u-8jm?_P{?0<>B>rkZbdR#9w;d^F7-LtjzzDdF;>R}hP2F$u2w^pV zeI-(7O1$G{aw_BOd!0X9z(ft@sB2o2-G9c|;?7%FjKl%TtD@?XcMVdZmLgPbWT}UvZk@3!^@B2Myuv+_WazO@Y8)qszQ{{_^g(jJ zX`ecobn%zN@{zFFt8E#p>>mffq&rg~Yb)s_MGN>GNicFO9`jfXc1ic-%X)6N9K}wI zn+^__5P2Z20Bk^$zw?`pq|d94t0;???W56IWme%o35{VkV23}|6^9+it5ZK!l(>?L z4Rbh;AlcF`-DFPWrNT@fACt?XXoo`yRT2Yy^8g_Y8qDA8K#>e?c59k0M(S0R`ped9 za2IxW5Y`w>Z};L`9DVVmoZHmc1eqNd*cq%iii+UP4fG1Yny~c%NUBWAW72T|N5i@9 z22-3DrOIx44ID;Byu1%Q`<^%BFV3YZVttPpn(%?*U zqYDPd!r&-;%v?KBu04uR9k6HGhCPq4N6UbCXHiHa5cE$*T}h@_OTG-bD}$jMyXFh7 zKcLYS3NMBHFepaYA5&;Uy5KWr{H1qsG?|Xn+|LA59W8xw91**t%i*y|1COZ$9~p@D zh<0bnv%(#v?8G3PDv{~r!L5)g(h|~Z@A!wBqBoD+jnvT8=$d^E1vKUZSAxO9^4;d2qql$m> zc*tE73=jobFVHLSe#((nmCg1OY_)dB%?MCZ^a|x}hprMCgoO+fW zI25O$5!Z8pE-QXO9aG)QZ;i9*{n0zIeB%f3d1TPg_pU3GRR&$tR$sj2E$4vyfh}nhQOc#%MGji)Fvd^RmXw6Q#I9RTKeh^p1}o9SF}8? zmbe>-y4Q-Mt}E=9J}z)wMJvEY_+p)|t{S!7D7@MI32b9`-PN!o+b@-&d`!!wv_^;X zF>Ri_$uN;iNxTzy?d*w(fv>O}oPw}s;de4>-?Z?Yi?`WY5DO&5H>gedp(>8Qw~NLu zN3cC3^X*1_u{pX)!B5oAV->TQtK+57xiYp{5|bq!ycE%A5vXq-ql}yt+8%)&Ta`1b zIq_!w1XTfxHdExX`5~+jlSCVmOX;clvYC4-lO8TiTB%D~UzW6aRnkiJ&q`U+qpOm3 zC`wvh)$e8aA6=2OMrhd_*Ri3i6?|d!ITflA82*hF&cP6Q{@Veu+^}& zzmZYay374J^_8PSkvstAcy9avOeP8XXN;+uKyU*H?&6{qHKo7yq*#>T@2Dkfd05rfh0#^U zRhPq$$5&^c0;9fWv<7!_{QU_>PTCS_UK2e4p^aJ3c6CP)(v>JYlEH5UvlU&hdU4;E z_Hu^2-NJvhi~_W(RC_K`^;Nxo(&CXT-eu*pjRG9Go-5d$D>%jO(KD1&2k}YeD)Cpz zrcGGHThe8KV7XQR&wdT8z9PW#PGF1=rD>Cj#H~IkB^=DO*A;gLs9y$uS&x2_Fy@;q{RhGKQg9v%f}YUq>V@6v9&O3 zs~7gO$72gQ^5xM97QJi@8#j=8O2sWZ0kwO8d#I{Ln6d2L0O+dJZh5;(c<*(fT6Hj5 zINo9(WM)!Vr&t+xXxPD#X6Mfp&eB2*cYs;`GV3-awV>+9bK@eZf)`9;un7pp9o$UU zk$0yO^E1tx(N8t3q8aS8@sGWv7bbOej=rVbqv1i)892V;+N0{VD!y~pvH?7YBb%~|n0x&>aP^+EqZLJF9{4#M{Zd6J7=PC-n zNvXYg6sHWIgk@$YU*1IH01o4!ugHwiaq*-gJgS%GwU~V>@eF%5H=#&|hU_*gI!7ov z)pPSz?!LfgadFdt_Pl%ozm?x9Bb9SVJNiRHx)&s8bm1mxpg4D+mGVB$F8-2m3#WA!F56VHwhWg> z*4&LF+ol5GPjU_W3zxDNq*f7Cns3HfYmA)-!6n9H0Bc<8aO@9jJU}$^idR5jqp<;? z1QTJ=!Q|jMb!sN)2OJ7gTpOTSRk&#}vPS1Y(M4rGm7Jh^n{lQ> zp`XKmD?ix=;t_y{sgc4DKOmB5es;d@IO^*hvfW ztDmUq+Ib0W{i8j0gb{G)yrH^r_-Qnf83P4wIQ5wzs50tv;Aw3#H=`q$M{eGl3b8Mi zX-0u4*s=;f04bO&>TErCNsyMyAG0an#hF*jUFYu!2KfdiuQZ)G2pX z99$d(&yqFfV`4(b#Pelr|6T;JkSUo3`Jxu4tE^xqh1#2pqp$&BfZh!!wqq(+`1l;o zqKT2fkTQHGkXc#TNzm`3bZU+c@@89#$CDXN>@U7{@ZfL^d9jg)6Q5NR4or-xUgqj{i!?QwMWw>V`171fmfzwIR z+n|zQ1yj=*qi?-Vh_GlYT*HjQ)rOJ_N1&@;>G0f;SsC;h$cjrOy{qgdk?Du^2nGq= z#$;O=W7=Yc;P}^@N;kM>`O);EvRw^A&+Y)`JLnemJd+`Ya^J zRK!NE#TKO1sh+|#X=_Tj>RVVmZA?~1eHK!JPAZ1ch@#?V&soHa>qKXLP{q;IJ2|}d zCN`cERx2Yu3+XWx(NQ{?cv0QXrb$xQw6N8$z_9B*g`GFCH*aUFE5(3Zx5F znkwclyrvrs3$f$cj`WqCH<$@)`y(b0pd3s#BowHlMXdK_m)|bMw=p77pr~C82Lz5 zj-i;-1YkR}`|(sc)13>t>r~+v3yTXMXeh7aRD9PIE0q^jV=s)+(16N+f*oOKwmk#} za!|gb0n&w+WJ_!wh7je(VvkglO?}-@IsN?*Q3c)iy>wZ8=+F!-tb=BReTTMG>sght zLXZ?N?LgfKa1+r^3Z)-_-D{S0@5P>)>7_1lC@__Xq*=KJC-Aia9bNnW=Fz*3_+0z; zyP68ix{;jf<;1SHVo+%kDMsqpBj68IefNa{HZPW&=pNg6y;g0yRC6v$;jOs-Y311K zPH_cI&X)zg=8+5utf&5U2k?V^0w1rV-+ue?+uwfsLt~kYZxQ^6iL0ERGk0nguqc(O zSS#@QYf5^icksJT`7SyVYlrZ4+)dd6Yq)AJKh1ZvbW6DS9Dw5nh{fY2Bm>Gmb5ZTY zUZn^7vEnh7*cu0AqXjAMPx}ygR3?{_?9+d4`uvd@f;run-)A* zAq+E>#9Yk*!E_zt2~|Fo5?+>C4&J(S5MQk@V}AN16F5E3e#NHB=d=}S!Eqh!6$|g! z_Mo>KtNHXaZQg_#_W{ih3iF`B9!rRFdl+l(GfM}^wRNh{?7mEkA z1XRIjNni;`aZd+Us(XFV>!`BZBWV2{kF~-w>q1RD0aKHjEbppafflwI(8i^ETOoY> zux@?O?QQqIZ}=Zx;&yaW>=xNXg|Kid_aZ}|Gikb|=hWx?M|t`kOzWm=-$CFZkJZ4BdVc!L0*-$JM*MvSW(#0y zPi8NWD~5Lly2_Bl!mi%Gj=GMYKK91VR3|Sv5#u6-EP+}yTF9r2c$D< z|D_vmcOa;g+Hkq&z+GT@hb2X2sV`!C=f2H!73W&P2dVO1`GqUnjpI!BTkYgK%h$4C zZ}EelU@z-{7}fnPK#q*-=mmal@Q%J0sv2DMzEav*is;Y))Ww3K{fhz11u4f<_b!HvFeB0wq+;#@}tVYJ6d zH{aoF?Q>5or~3}-y%QW=VUJPNgUeZiys9XS5=G=27Kiw@{jylCd^FBL(wJgH<8>VR z{zax7aPmni4i_z4)Sp}goNP!%=78gTCxo8+EzM5Abic2$#jWzKakeh8%;DM??_d-K~SkT{9)I!cNg8dOCUxeyimPyT&-cPUwUTVkA2gs|UP-@!WIQF|pXPJ+0?)0@7^bDEsTD(;228_SID zmFjG>-VL$hHnO#(se83vU7=)!DqorE2x%p$OFrxuw|2$Q<6FwZfxQ!_ryB0bl zZls&v*F2-UZHT@vWfb<{fU4cN+gcbqJX3`mK^Em}bWVP!o&)(XEG3K2HCMg#c2(l> zHl*|d5#9o@R$!!q?4wyt>s}y~# zZLX4920mj;`|9P0D$UVF66Znb&V8GEq0uCNwQAwa>8pL1qWcl`)J@SNU~`c(Pb0u^ zvY_d>t&2AqS}wUg11nlczE_rSA5P#-5s21f&L1UHG0)UineV>Xd-ok97vRVC?zKv_I#;fdH**L z`!{m-=Trp2BMZ%)pg}yx^oTwN8z;yW(_iC6XoRtQ+v4w%vYUk~@_TE_I_p*R)xyP6 z%36!QdcCY}qL#YYMKyb@OAK_=qpcP+bA^#fs%Z7Ndg@BrQB2;ahVu~Z5&I{q&(s3Z znN!Lt>Y2}^^ZvCAZ0c3qnJsHSr;=Zd+0(iRs8$KJ2WQAzPFLn>;o>~+atPO9P#ym0 z9t}x9MDeIm140?3Tv`6f1N1$lf3%h;XEl3dHT!@@`B4W~wWzgFN3lB8(Ge@4YkzPZ zTpfmuH1SWl7TyYQ6&*ZRl?o0nq!K|jXXd3GUj0@eIUJ(1f0(^dJ0+-;Kl2jmyKpMW z(MDp zpIq_X)r*(ES|_MuDOJ>`a-U}0h&8!FRh};J7O#fgRH@>+R9IHX$VLe0>iOF>EG>FK z^8aa>+rt0+(+|s+WM{yaKWCs;iiE!VZf7y8W|VGLf@+L9YnO;AAfSi5)Rwx&H0l$( zPhl?bN3|y@@BIk>SKS~7B3&>(cb5mO8u%h8zmDQ@fl-vrNlsy@Qugh!=;jV!rnw$$ zZjPN9B$9VOV9x$rq_Q_Qw`sacc>*w+Gj;i0vb_g1n``%Y+QC7)w{-GhLQP#owIHC< zOduv(6leNH;-=SV7uA@KC?J4>V=o3iruYx|SSsE$q=T$>*JLPOd<9t@;`gn1cmMYB z1e0puywo@w%FNoM@BK*><7$H6xi*(OSk9%o27>LWRPHK#RKwNo>df>fT*_;*ggRIB z8Vc5Pfv?^{UVQm&t?RF?Z9v;jO4lWMqXFe;tubX5}EUG!v5l)uM2#unhjowQ`D%zFB zcJ&DC1HgdBQFT9a5b_iwT&j3FPnI&oo)QhQ_B?dI(C-n@6jhUg_?}$i3Xgcx{tD_5z^pVi!)} z7O|4p*5)=80m|B&Sc)&8f2I!-zNZ2n8YlqpZ37Lr=hI}41g+O1=Cs;A1N5o@?>V!m zV{_UbH{5ffj7~)iEgI=HKClXp4@xdxfmm$ZztJ<_Dj`k9Ssq|-KBPSe3Tyj-2AhC}z-vWDVA%n#%bAzkROac{tT`G$?=jG*0^B)waFU+YDxPL*aR+32wp~Oe z0KFt3%j6{MI!fl9Ii}Xvy))Pcw$Vo=u{n8dz~r^7Y>O8p$7w_5A&%CEc)+nVqVjeI z(TU2Fj-?glpzl>Ls(^Ubj3%lXRWUW|Mmu3MmUdLg%jcpWRY3owHKfXJXB}xk9f{M% zcLDL3JoIIhp$Gq4jL`FC@*N*L8LbhRIa)5WIK~|Gq{P_pqZG@#ylj6+iWD4n8%#w} zWqn!j^jbK4Uqs*%a# zZRMSxpfqW}8L=e##TLC$?0joYrQ^P>?Nr=#6wg~fN&jYDApBl;_ps;j-O}|ER!?mM zsLlt50{gIjp*oTsQ$}tF!=XT-9Awl`X#zg5-~bC&9R)!<0&87J&k*~0;7GN+&JYB2 z_vA^tH#$ld4Tj@afq*IlHIun`C#f~H$(87T;`~l^E#!{sGuTl z1=4z-caV&=>llb1&8()$%kTm&lx;Jk@l9Tpk%Hx$K{jGo6iG5X>Il1TO?@RWc*=U< ztt6eGu{5EP90!g=(okg+pPk3CcuZR6E%W0--~6Jisf%Nzu|cLfvA3IU=+&Kwd)f~U z?P@!RPKA6sxp==yF?H%X+P;SFBL z^Ph`l>{hSrug|@}Pxy?C#qtY@*?f!vsqr7uh@R-uo@8i-d+n3h1lY>H z_|BBg`E-LzmSX0MFdb&M_LL*+IF_i?^|sf`5BVIA*u`|{4HgIe5TskoHuye4KTREN z6Dyfw2v#6e+nHL#<}*?X!;pKugk#zdTki7`jPQ6ZmaNXJvjP)Kci@$kWLIcBq`TH{ z?d)Kd@!s-<*HHk(2)6Y9JW%Cu$FbZv?}IxQRpF}jT(Y$VXdP-jU0mv4%?_o7Inko< z-lNr}w9^pz4tS{iqqYj*v+CF%Qr#~)-RHlc$WB~e&9zDo&S_28|4TknMCC`} z_hvcNc*4wSfBWOmC&GI?iu|SP{qFVts40iu>Qx#`vFT5P;qgb<74Th8yW+t|*iyCx zHg8==t*e$|X=lakx$ZKs=7Kid)mDW0$=t8Gi0DQ0zwQ~ml%YxBI@<;=w!M5wBViHO z@z(!y^TK#P+vQJ}`Ih)|io+(}w>J@}O0m4n0ug)H{3ZId=^)|H<=C8Fw_D8X1ZTx? zgCY)d^OJ8#Q-eVqZ zQeIs1`UH!PY5DeyJETP^VSOn7r~&`8*BpM69H()5|k;KD$-A0_LZSCI&stYrVDFdOX$kO zeMZT))C$X>1##61Zu&hc=N+z+HepL;1(oXo+0zJYYLOHQW7iT)&D1-4ZVb35Oa+g+ zY*^VBIX*A^_T%9|HbXIJe*QU;8JZaTWcz>cIBA1lR!=b&1=Mojw|nS zwQc95)^QAA1kfNY&gmnBwg%<{=ZwL-9UypA@w@X%hGZ{!c{Q;8$l7%A+kr-wWe?`j zfgw%N`7w@Cj%Cji&!T%7$Np*shyxt1%=Fy`7Q;C5<77$;cVK}+>RTxcB*l%$96WL< zhxi~<7`xi=ZdYciBlE1DXDE(&0#%P^+&0E-Cx>+}1(|20?LgYEetPGJ-E^`mnW}6A ztxg+#KUCoZhX+Q}3rG8a#tYx3`+4xGv;l2OL*_e;EYhoej6&T4YCNCvfAq#h$=NFK z+{CG=18iMs63XQux1g>ebMI5Wc^qx3W@Da<)-*BSqCHF>ABv#V^@dRkqgyfZynQ@s z`705x077-;HEbDC?J|Rg|H`wvMZ;rXkL-qa4I{jG$(y{%WmP`GjnqAFdp@Kwz z`XL|JohRqKDDwGQb%AQ^sn;(URhO_TjuC0A3_+92DxPq|FxGEUr}ct}25@J!bYhh% zt+I};GQr5Ng;xrI#GA|y((iq%|FS*O1IaWFjyUr!QysR#V{waR5aDPW1d&)36|R7` zZ~U+XPGg!OZV>jl5&rYPx;T7G1&;s#l*QgFdGS*7p7xF<;=az1J^Iiq zo^J(5c3E1xAWJFQyD zg{lZ7&5+v{3z_NC575K^?9<5)7KWs1U3-*(dcLBmQOOIbzd93uQ_8SXfxvCKcgr z0H~!}AdT!v3#7es*j4Ynokr8`qV1o5_ESv$Jr7q0ZZLDbyV+xnPa@oX?tWNOU`=8h z=%kBSr&1Jxi161Qrd*Z0uZp;=FdvNW$zLASUr_+~!~W`P(}FL6R{Ay7%$1j|4#wvD zLxcEjbn7og@IFc#!nkkX0hA7sCBB5|`c9$N+$0a1hJu+{B>MG>uPDS46ksUSw_DX) z`MezbtQ0A(^J?yX(9Pm~&hy#rho&xvHhcXL54hFl*3UYXxjXn0+oiS7je5;0VToKm zi3j@O5^w!LS1XE+7A0(u>KXx$%R*=c*?=%a9DC2UQ`x za18eS5H5++5L9?jE0HpNg`v(kxD4MJU^Xy9zSIU7Fh^9Y(qzM<=_M9z;dEbRTZbMO z#q`+U=a2op@z~#Af;Afj_pGioH4D0iauErD`-QNp~1&jjs;88+qrhG z+p61kgC8&oRB8TT*{EQ1R7KS-q&-Msk?xSkXVfHBLF@{LvVyixuQG6>x|F7uXGuK3u(K6}Wm7U2L}L?k)}X*Hl44=o{H;Sy|eLOR!_FC0t)q z$kWPRma3YiaVAw&GaBq)IAaEl=S8^!8ud8m4hcNgV0gHWn)bBL>sX}Gb`xRgJ1yW) z(}^+_3;3w-DVeZFmjxfQ(V=?UUPWaCD&_A!zwwvEKB{H z#M8t}?PtgXEK}tcJ7gY44`GSmJMdJo7@ekIhILery#Y?W3Le{@dlbjVraK zZ96e#zgI>Z#zG%+sv7G(`dn=b_crB&`aCn*oDt4}a8ADJo-|h;e5dNF_)J>PbE^*>$h2hK^ItxQTbbtRQegf&kiSvNo4MH<>YP%?YI@Hjzf_x6{|>6z%Kc* zavnBb?@dq-1M@4Hg6XR1{*!-uhYdF|9j0>zSkaIsC!!d~#T|Cdvx$v`F}Um@2Y}Qk zWKwBaa2>ChaGa!$*RwG71Iy0yVfeB`ST5y?!qG|-$n%0laq<8+VGQ0i_86+BK)ssp8+k4BK7WccryLCnin z8Z<0#(<`JyEg|l12hvZqq?-HC+^N(^cpb{Gkp=O>Sr^?B2_l`W#Sqn0YxXy~Rc8pT zF$}vhC{D6(LAEagP4U55fGnFM2fzm2vTwaYl#{i;6nsmB?ZYZ-W6 z#0Mq2!==kdiC?m^3+;^x2qb45$C=zkS)gKvbuKtXLdXQwn3ALi^eicZ;7-LZppWT$ z_A%iy3PEZwXj0+p1|kM=kC^9H&8cq(`IKEF7#f1`G*7Y=53P}eP6LQxb&XG&5IO^G z*U4ND!ZO%2!=UKee`rq^j@`XIV!wySCOJ_S6#1)K;-a#ZB+=5R&O~`cq7HK<>#yXH zt4JhPu}L*N^WI0PQ3a-$u-5D(_aJJrD&?C(OT9N}?tc}SCbdw(#Z&cAWR2 z@iD{^GjZ*=kp=6vO?lVw3h#rAZj@uX9$i@z$(Bng$xQLN+6&8^js9gMC|*U4>y1nh zjHwq$fzdFbEW>lqG9eZph9?YAgD%&?Z*rH~hq7_;RV+dCKQbp|55Rk3Nr%F zGz7qh4&>U{n7#z`B|9u?6BQ*z0`amR6$b1Pj)4qsvHnvC%2fgUl8&b^A(^;(lNlZ8 z{bP*QLi*UP(%vV_deCDXr2e|xP)cV}i3I>CA68@dP;h^gbx#v$^|Y>ufLTA!Q^^3F zH@*v_q;}|`M`DGyL`9vT-b~imG`-7=(H0Od$AGulDB1$?Nbq_UWsPg#^$#vu&4i)# zjthEC23~4C6NcDj7|Pfvd^r)o*~=OVeqDSvDV!rWS(>+y!R9aBPL+J9Vj^#OCzoH0 zOf>s__W1JQA^5s$NlkTy9?FZtq6y8|Ao{Iw9n%v8Ob6a;k!_EUqVuZo*bDFdhmYR( z=nj_gz4FknGk_a;>_@`&J3-Z<_s1kxQe@lmOX;>auYD-Uv7VQZ_&(3`q#Duyyd*6b zj^^*|UPqA!2CpBe`|G8@#X3Z)JS5%ue;pUPM*aAYv83pd)&;7b4jjAq53&w^E%T5f zH#OE4C9cDW=y5i3jS)WXHiE;AvynFxXyk4uG~PH{`4}aB>bD5WJG>h>!qlL36}t!H z8gy8@-dLyx9dl#;Or{rXM$YYI@MEF>Lx`d1i!B#epo4v__;jkAq58D~v4LMdJ2 zYz3bGi!+g}!%0m~UB$5C>Kf=*&1i0-&#@f$Kl>p}awTI5Bx(^++ZYsDrT1=QvAyH8 zrD8VJK5l3Ys`m9raQOF4FfI`O{oPxK5a@FKfYR|g>XuS*2oTuco5-Bm9jEf0aD0c2 zUcr;+Nl*KvKVh>*)nJSeAO%}&>ixz;ZTuHb#JIi_9a|?gCHHC#L8EGVB_)JllX2ig zZsLp%p$~Dd4ABi#fbBeeix<)}q#9hdB*_H$FK_icMc7P*^9mqMl$g%bchTrv zH+d+b`~SoGxXXZpFj8Q#-_K!`2U=oJcP#&6z{YayjimZ9h`L+`JaNEWhMZ3^6#dls zTnaGl0}#a<l5Af2hwHs}8BpSPFl|FEo#`O5bW-bQ?(xWByh)D~lAV@%KWxGTr^fxMR`*GMt=0*utW+eBDsg?7LA zoo7Qw60FjiO^Z2+4nl%jZcLj5=X0YcfVN}lC&a$oyiHL&X-AmG#m!gveTr#Hq6`ZR z`bE)^+DagpfyC|QX$9D&lp88zPajG5(?JyF)FXCUM~vQaY2$y%M;H9|+NUkSW13K4 z;9}mc{PaaWYGx{Cpl@687JYA)!I59L5=)+O9UL5w>kVuu{&;n8&S5I%C{R*Y*?y2j zLm!VOT?eoXH2&Tts?1))yOC9%cNlcBczu<-OO6%0WrI)Wmui`{`zk1pisO4jtp!iZ znV@O#O0RE**8%bZhQl%&=-MwFqLP^5Ch!>mpo@OITFw>J-2< zG6S9loER<_WZ2BGI^b4Dg>O6{vA(I>SKgB5YZQB%Fs!bzUj8Rua`8-pU&*gC2oI$C z&IH#1S~JOYKMe?!qn-z+1vGf_qj0ZkRIi}7f=lU861hE$pA^v%3>EFT;I{;JP4|`} zj6#1&iAp2-g~8-TfECyHV}gt>LFloffa+ucr%3HX{5f0|H{7FB9D^_RGF;WfiSIJ} zB*NR0Lvzu0)V&>OzZOAI=~%uDvc$ia!6RwHRFAzVw-@7@yZA3L2JOYmOFg=GBX9kX zqNxv?)S z-0&*n5(M2>8Q0Bos3hdU0)jq|&9Ldh@-)DCe48M@!k-{}u<1^uhD^G!YSVrbSE)#| zq)R_#c+G4olycE<{FbhJif2DjeSUkSqU86Z^{lF3rs{YzAzPx@1q(Or7{i-9`y74= zqlc!Y;I0ceVE+d!&W`oTZ=?*dVd(J7zsiW3S}fn7aV2=21O~QT_Z#5{S=_V~Kxy4r zM|g}yU&L|a&O7IzcH!e*w4^F#bTdgZN5@VZ8~S!fS+nmP?6Ik=U`B2(D~dZZZqb2) zVWVu-HU)j{P#bZJ!=`-*hNg!U1EN81A*0)LH;t9w&z5Pc3dj|d0oYX8q~a338~9zc zF@0s7p?vyM*9t`@EdA?_y~@x`0ThSw%zBrc(9k=O_xK2xmGxAv*MvTtCF_wsD3nYI%(m)u<^`J*A5a z@NO1Gr&Ld=Ykj&E6s4Yx3^@W?XuQ>_1G zkS{g%9buF2MdMaDul-~jh(~W7`!ZYwk2GPCzLrzu@SAuo698$Og6YN^)g9y=b*W_{ zI|;OVL6)Dr6D2e60o&j@;$#vLGRDGiczdNRkFtAs1k>YJq+nG{|2o=xY^$f}jcSL% zolT_adD`llB|ESZ*Y3AV`SZ9t?i|V&ek6%kaxL&E#6WmTaZ!zx@$(}~{Pq zRs8d6Ne{FZ<2XZr*ecnw3j2r&+b61hp&Wd6ZC=ovPwNZ6=@Ju6Kj(g31`D17&? zdeS=1b5OnYLzx^!)VpfN6GZKWJXd4unxGaehkjks7uEAmbYti09yx&x7p>g2J1Y(2UM)}% zF@~H7roPD%t4hXztrW_+d2Ic6a#6Z%gI*@n7VYEd``xKP(z?Sm(5PmiVjD%A8Jl8k5=&Xbp_ow630(y9xGQR1uH*n;F^;fH>H_siJkSr9A!tqaqG@xQb3VQ)U3+;a!drd5Vn1}y zui*Sws)PcKug2Gou#~SRw{QS(9T4?1g)~%_+Pes82Al@I`^rF#o%B@IInN0GKkU7G zliSFZFZfk>tIsOYM8J9c8ijUtj&ut0zYz-uJB9KSBrQ+wdNLV@>a7H40;|q3ZCPSzljl_MU zHe1B|USR4v!o2RIzK}L8`p_5Crg;r|LDjaZuZyYIojINPW+Hb~RxgPd!>OysF9hmT zIP~$a&uEl`e>5toza8C_(i+ztms;vCvYX1beUS%OP3t?^SvlRcoxQ53ZI|0cWx{7P zCSH&JPUmXU8W$ucN$ zbiBo}ro&g*!&=uMcQPyY zApf=pt;8NV26PS=|CHPHKf~--%&+LMS@KcZDK&7k>LhX@IdnUHu`FT*<(z7V-djpQR8@ayh7wKk)mlM5JIg@x8|Mf^HBziMV@Z zvpS<^W=SdwV7Rzpp8EOpk6ey&A3qn^kJO7q0^}ogA06@uz#a4?ENO zO|n=tQW^hf3wnSjSdPd??nYD(P=5}cvGp5E%1`Tq?B55`UH|-tVQ9a@b-NvLJh%p9 zJ8rp@=xbF_WD98>{>J&BZ3xFH+Sv-v(0k*GepZq`?Wev;OMZOL^Xmb4e z_p9!p3D@JasNg{bh_k>=@s8vfi-X`ggY-Np8LxA?XukQjma1w}qm2dywWEy{L3pdX zBfuA^1iY}0fV_#8`Mro|(m%ZU&CGIZH^~o>{2Y-FUw$y{~hE@-5Xxx{iYhzv- zhhFw4aKKCUpm_&BUV~M(k3+A?$Q#D9XBmJ8vVvr?wXeuA)3SxEx zr02Yi=6BHW#Xr}fMKc7r*b9=hyD8CrO|^=)~7|!9d_+;D86bBg-?@ zMH1-$;x%QK6H_D0$GM@TGH>x9P zw-ep)c+F+Xu#TqpX}IX?<5V?F@pQa4(B*W_hB{|Iu9NnNsSQuo6ifKpsFdRzDR)Yz z(^MzP=^zbtkSK7{?I`)r)(%st(e%eWPX4q`2darEo?%AcpH5aF#dn;nEH0r&sr|94 zJ&3^FUZ|Xpm8gMtVOhT&C)ZsmM&PpA)ZKu1I|l2q+eE`=4A5CNpA zy89GT@+L*m#yPlt<7Flk10^W6vdow%mc>mkGdu#1ruk z^inS-H#x`?IhSmmrqc=G=-`KU(Y??eZQOx~TP8>|`MZ)ZOXPs1SVmcu%&F-l_UBTG z+fS>0IxTE(Iz_29LE{3m)Q2UG`NWFVC=FQAc`_r`xUePXBn0H`%K^^P8z>}j&1 z8@^q?-_0bKJPF}lpu8NL^_JlC*_PU+sJ-e4sm$pBmpOdf_Pndck}G_A-vhp5w1Eln zOppNDE$U+qr)a+gL7r9t7?W&!0Yk59jSmmL)U)#33TE!JV6BA~1vJu)N-K<54!-Jk zs?V?3*{_@Kvn4+-vaWLMHXVyf6w3tTq%9OZ{M<2CmiZd8o;!AGBj~8ovT=0O z#&O|J3hwI01ec$FF1?R`;eMWAFy}GAF%~9o3R{cXDW1VS%EQ>&CyGU6HJRG#>dWYv zQGQ8Rq4(yMv}3`4fwWO;{MHZ>IYpi`DQ+t?Va*|oe8B@rO=PDenT4+ihBWQ-9BWY8h&}0~3rUeL=<=RUCBT?b{ zP|+obeMF?0{SLAvGipP1D+)|2o2=y|By)Zb=&Pw`p2x|p+*W*Uk>;cuqO!pxo3iI; zzAmEq6M4Q90-nARmE0J2I5g##lIekS*1$mI?UpRVZq_s^Zq1i^ez9299hf=yXO*U? zGCk?J86P_NBoWp<|7s5*eF&Dvpsa{X#ie4Sv3X`&ByR^uG z2=bCVD6zOtkeo&C9fNu`L6@^U!j1VxDodfcY`|!~%Yak>O=4~dq0u`*lEm^AN4ol- z@^vxv^6%gsN4ox&op(A?fP3*ADGge-tLaDsM*lxj8n`_b24)8Hsw1Vwbu#}vG#Tb; z4vE3=rqQU-PMiO_fVpZE?q;rbAn{iV*L4&m|5Bijx*#4M#Rfbd^u*`H;a@FG-I4J0 z*9=~F$SpXP!jDJtQ;zc({+Ta56}VM;PAlvMAVlNyl;MNOI&vSek11|yUM!=k?v+K) zHx(nRfoGJI2}&29+w zN8r~NZGb}FSnvaCqmqnd1c+4(p*-YvmH`7&B(cGx=y&@X;1L4QEjFYjnu%{xC^lWC z91<}D1oeXR(Pkh(m@yrjW8HW$755_5AzQvIaG%FL6?W3$ zXoq6kdm7W*o!rQw&J+deSu583V-AmZs5m99vJjDM^G;3}pc%QDH2)e47F4f9Pl+Op zOD+;mW}GY`BUln<8{F+nMpAI(4?Y2_~v)=Q}lrTXP-$M(tMmS0}EWo~(()%oqR#k9allK(c^LJAI z0s};8sA))ZUAjSlE3wwzj*a}y7Q@xp5NcTuO&qygkTHYK(#1E zw}ujgVeD)}_1Re=@S}bjG9YP6JkDJ5H=USZ7F1|Jd4`k(Pk6E629Lhv^C;t)_OWQ) z71=D#UO%Qy-Y8W;6}dtN8qcQg?!va|kvbJo1|pD-g)1Y)<6NG8@@@v#)AUTscc%Jp zuj~Td95V|)K)%>{^_t|tLlLd&BW;^yPbaU{bZ6@2?WE@OrA|ML)iwNi7zS&&at=bu zo?~hjG5uRy-N;~g)kA71tPqH_Lvh0Y*hCtr3uNqA26&TA-qq1<1Xbfc6yFF)bsK3j`x`Ehay($KAqlpdeeFKE zp&v}v*i|;M@>3%Q+I293O~nvm1dnrDxeIblMEI_|<>!%#*o=yv;HwT?1QhdJbYu1>^=Jzz;!A3qujXQ3 z{aD>M2uLADC8dJ-F|V%giu@t_nr!M_Ji3K8-F-ocXaaQH!lzM}wQuFqL-}=f-Rw;7 zj<(B7jTLE-W>@Xr9~m{ z2~~$T9_#k59Z+^m^Y8~-*6A?zei+}ujnn!NdQWi=t46%S2_|;SpAXJ8-lXUdjNi?{ zr)Z0A4m}g#1dcGofst3kTL_1h?N3d^qqb$Lpt1$UZ5Q(A6nP8KSNCO|hN&Iw05ws# z&r`HrRc<837q24k-jYv+?$){o|8E&(*HOSSL)E{xw{x+Z8MaKBdq1e}lVBKA?IEst z1k#k^zH{u_o-AnYs3Gme~0X@9sc6)(ftm<$-wPjU*|3dSbP5w>NJx1=DX@Ak**-yK3~gc7!3)A z#AaX+&h*+paEF4Hy-=8lwNJU5mHP?{rD2}OXiq~eN=$tp5~?^!Qvpe&MU~7`@yGhO zcU842|M==vA=y7)M&&$7W*{H1KhsRU;?)n|egDI&?|yjo!~gk8cYAxOrt%V}@{(8k z5`Ozq#0eb8SGA?RYFyi<6~Fl9{pAaJJfp0f{9^U}cn^I)E}`#-ePktjSK_hK0h%dXR@B{(A(i7B=kZY;y7T?OX55`tYiM2b6c9 z;MXlxP;bp3lnWh&xtu+c>@AO@ZtQ_fbz6w2)+7Y}r+Z>->KFoTAPV@M;G)<&HuFb^3$LA0kDl&7J6DlW0!%Hrl}vR=UlKWyA1 z)pms<)63-cu9AD(FnS3jg8zIs`wsv2y`iP1Bt$&R$(cw1D~3UmI6(jfg1ncfT+Bl0hi@4J$g( z5-zrw!OaUeG|_+QGUatvN<|WbBi-lTh2h`iYq`1a^XxX5Uie~hJ&`A0Vyb; z7x_qA;Vp;%ZhHhmS9q{x!N1xr>Y)4ZONSX-r=s)Rci0V$b3ZG@S-Q+i!XJZna=O1g zVuno{|GL;-T;mk=Hr~2;H!5(OAS)pi3n^*dB}LhMk+adDN@D|Z4GXyOU%aNiIUB}o zIpi{WZ0g82nS9_3MpJp=cFk)h5@nb{Gf=JI_ygZq`lw_qpc0BAObbPorg3Or;|NMV zK~OfWIjUN0(0t};Uh)p;9-S@w_ia`k-!;;vldfD-z$Vy_PdrA;RVt>oqWJ^sdf$DA z^i+TT@CQ|dT~>&=jP-L!<7s{Hn{@^5Ml6f4wrRPqHht|jH)ppTX2;%1RdorC30HYp zCYyN+_K&C3Z0|I%l4=QfVRr}wGV6Eo;A*YFF`LaDu)PGizz|@P*hz8`A0yn4%z72g z8r%~}EDCH#)If8?f_ob+z!ggkfVTqM7+Vl7ayXF6TOti=Y3lyd?h4em96D%H4xb5f>{1*+ep`{acL-f z^F%!$^B$-cd=x$v9@KTOQpvuNj!r_=mVSJKs=hnVQeM?5eG*%nX>*cZ+t0^EYhiT( z4Wt(kg~z&3)co~$J9-Fa1D=lj4jkDnpY=_3usf7G9Um z9#8cq`vqI3+a6_!7?O^=>_4xQG!DklcEK_DS!s%=F)hU5fx+dmvwf%ZwZ0LQH;{MR zBNjTv8}7f|3bS$Rel!eD-bP-zS6N>*5_aZP$|tU$qlCYoCITLlqc@GH+lqtBD{iQX z&#C_*K(W~k5J3*Oqsfr~y#js#B}9_5y0DQP<;Cl>M&cYX4@sW*_aTeIFegvc+pX>1 zd+?^I=0Fw;$=&vMuhrJ~v)M{!oS6l>Hrlaez+$^8QFKuKyyv9dBmY4lQ}AM>IsKxBhi#RaVXH?plm>->fLjNj6(O7^p>Gq+m2e08kYwu$YDg&42dh9nB&k$m=M43A6*<{)8x^~GxUe{T9EqCN<6@}^pQky6z>T#aEy@i+_uEuP<*~c05Q4hGhhY4VNlcm1i&iTaFoOqx2;dl{(Y5(Tp-A*eS`vqjWZn zBuA(X+?;%Pw#SPGyF>Lq;J0leeEf(~vDqXO%P6aodFkaK=-fjss(XXx*_%5408%!hNl!zZ<{XzGx}f-{$nH$Lu&%KZ`O?@7ucoKo74! zOd=LT>CzI?j&F7ZrCwh|ND4?rMYV|qj)e)}R`eaelIARw@T0GCc;Q@I)QmrAC8f!t z&sQ%~aWCwI0yg&%(?Bh&rH~#%xB^za`QWXdTBuzJ{gWz@DMZqr^=>u|%6_3ZMwKFe znXe`n)aXa~+JQ*&j*g?71nMS6*!E2XXa$0Fj(SCdOMBz+hhEr@l78Y+RVB*`)^cALjNwZjYP+90;%{BPsWgEV!KdyFX!BE zPP!>ZIF5AB`U;OE$+Lm<&nLCBfvR78{#R>0JEd`koq*mm(3=aQj!PaLYwr2xO?iIO z>6CRIOqi3b+I}pYmQ;aLb)Het%IK!V>?1_KLxoSp8@W5Q{IPFCYbLW&dx?`YTY;M- zU*dpE%uDpfK%mdNsGO7n4x7~6mr`uzF=GSDw}KiDKs))G%4G9Q)NP z-ktO}^0P%rNln zD_p>oE03&Js#IX3RUznv#}xp~k*4G?ch>Rya#KFJ+-G+X`%GQuI1wl0bxY~KfMN3z zPXQ-j%_bdKu;9kr2$yI3FzZ}iS>$2XmU4-JN%HAl%fhEFoatDhHC{0r4A99<= z9SljdOiFCNJwXZzHeO%<+jmn;0*whVojKNNpX?5YUxTQV1f*iec~l5a8AoUyoswZ* znTKV^hcc~AfNs3oas;&!8iN42z^>O^O5;hQ<=O8m>T(Wl%9r1V^d`sV7w1tatnTb{ za3nx19=}92EY0VUR>Eiw4*;sLMYt z5_n(?1H-CW?B+tnQA(C0kK8}nO?lq8G}jqx45IW+4rK%-|E+zu9Y}KTl=_T92vZ98 zmeioKsYuQ$j&r~w10jb)2sqcT<1Bjjp|S#WG!T_wR3cQ`e4R!Go#82_;ghE(&`DDx zzL|h3QPUH$B(-2FX_Gpn0uConqv~~#>`{H_{ZYdpCfQo8K}rS;x2Mw=&(AwDX@kAK z=j*b{m!>$B9-b`L8IpPL1GA$RVt~vcmkjSBZ2Ge&HE581sFKN3MP$kNe0h}KK`3`s zJHa_wHzL*CybQ|WGE8ZcTqrHF7;yL}b5X!i;@?f7FlH$UfyN=#EV)xwZDF8@cmVLh z59RGIRg#7#rCfoPIM)FJ<=erGYBDh6|DgvK15Eaiget5WAQ=V~<V;0Eo>0z0o3?i6`FU3A7h-;001#Vi0KZ* zK56>LsObl?&X1ykVrmx$qT30yEAQ%f5D|d^L`J{D`MrlNaK}O5a?Tz>90mCd%yDK) z<*|9PLVDP&!wL4Nc1CUJXSz1e3*6*POMx?qy)ExT(^4HV zD$wH&5IDb`kW36eL%-!AhNnL$X6Kq%J?ucXPEX_y6I*9+?k}=9nTztQWXWJ(X5sl1 zR((^n0nvsoIc{;3&|9H2jBp}gDjg`!p+NF7vf@t1V3PsFJ52pT)mm@f~fPTIpkqHmo~9`{&zq4 z5~rKh%6zeqht&aXx!Yj9^XRA^h*bWfY+^o!&B1qcL3?SGt~8x6WszvA(jRTbaV3gn zf`$f>MQNp!siLKEP~7XvsJebEFDGhGRCp}pO5gz5@D~Dbib@1H%VG+Tx$OAw)8;?- zWY6uP=u*k6ypWOz3;h;Rc~`FtEOUwz%i*3>ZjI4htNa$LKK6?gw+IM_@g#@i6;rkf z7Z2!5kTUNBzvnV96WgR|o2L-U3Rickwa<#*hz-?r%otA&G|R>y^bFL#=3IXKWjP^E z;OFor=sihbpY(u`>&vp56Z;O+?o=gNtR__)TgOLR<_GYG(S=8jdsQlh83QJ4&xr#& zE9w?@pH#rO2Rs6igtuSCL_G1nau=c#~J%&nmf;&t&hBkBL6A{fl zmm@^Zd{bkp(}9x(TI-}|Ej94o2t4AgD**AJ1D3H}0(6xxg;)EJiI@3`as0$%f&rFR z-3w|QmUz3|dyQm`awlldBZBsbNw(L0LixU}&x!EJQuRXaSrhfM@_qFeX=`-~xa7S4KZpb#Wtb3{4K; zVdS+owHOSvn(LY2^&`-DnQr<(UF>0vjGx9pWkhQO?IcKW) z(A0Ojqw1&S-n?C|U`}YTTh-T)jX>?vqJ|gr7cSVh5Vl>>YeR!JLnCRqlO5WkLk90J zB!l7p4$03H)e(IZ>+?_zth$3cEq*+HCa|N$g-A)?x=U6{%&OvlcHf}aVaN?MrOo?` zqz`!<-d8C~=LiH_G9-eUhSajF2O*8&9~3RXD}7Vu>ADiHBqPir$9XAVb^M#%c;bOd zas++EVJVnwAm@@So@`RMIavW5)j&qWR6`gc@EsrAQ1jM#W+LYrtxDzu{K|q!xe<5K zec}hPpj3$>s2~ocw4h6UgccUg)KzImhiqZBK6kv~O)Tei{fq9>-i;22^D!u+qOmLk ze>J3Q8NPeV+EN#W_n&QMd@L{ow$44ZS}AJm+fs+SN6z0~p4GU98RQvUWF=t6S4l9s zz6Ke9VoA;qGbs_}SKEpNOXz!o==!PMXpq2>uK_#oHY#FM zyi?vqL9V|+NcFbkZH0s)tRoVB>e{oUAYI2S3%z?>aKmxUDiDl$LjO!;aO!D!Wli&Q z=qj0Sl}03%l+Ktx03OtBGCveu-*vbeYcy3iBHxv&p|TX3)#L*qhmjAcc3EDlQ9w&b zKsz><5ARC?Ev=*}&0VZ8o(M3GzRiV|m|Q%aKFKYKGAoWukDwdH)64>?hdtozskdUC4c@2OGrX1qNTJ@ky*BApxFXK89LYHo(j@^q}Y zI25%y=)2C95GqitM>s*j>Q3UXTHX%M<2OFe_7 zdJL;kC1(g+(qc)jr~MdKVgX9FScmQOKZaGP{rD*=96h644tr%&X-rM4LnOITimQ1C7KH+BI|5zuWP~7Cz9rj5x{T?75N$VJ%Gt4r&_U*|g)*z!!7+G2U z70S$8^~4TLZ>m6Yy}{7jB#+l~!PGIM4$qfWRU|j-O6UW`+Fn{`84fi}^XZz1w3o1w20Na#|g& z>%a*js$0XD13I`gHj%%*Br?ciEr5wa91RqcJ9Kw@VhFWP*U-utf!hNT7+#&K)1aFz zQDXg=Kh_9asQ%q@3$GpI4z2Ui?V9Mc8j4rS?E>y@TDob-dqidbh=S5L5Bam62xd^CnqZh2(|f>_N~5HG7J`HC=%QDW|}@8UDF| z>@&C*skQ-fLexmZyOrxZIs=OQZPoTxxF*v{T?ORzGC=Q}?*%B3xq%2i1yE5zP;q>s z+Civ*>@Y4FIBd)KAH6PryIRn&e9&{`#}#(Q2wr*llvUBA0$FB4=;-EXYEHv?P}SLc zL5p1VsXq9EIw_(@en`9R>Znv0@Qm(KJL;=HnUY6lN^V!Z-abkV_&i^?R=t8FG{}!w z+ykjz?jZA=JJ%dtz@|w_cWA^T%Y#`G~ z0z5AXfPmAY=o+n13Gh14vmUSDH@E}jn6SbH=?zher^XmXg8@W$Uc|7eV-%8k6mtaw z%(Mn;GnV6}Hhj$6YGWTQdk62regU zpiw713M;$Niw6^BpE}?CZWfLFcPgMRKkE93Tr$0Lck#7 z9QvcXamEo6dY}cxVC5pZjmNS3R%|MKnZA{VmMX(D*Y#Z?nYf44d^&9zwvfqU%1#+~_LZZ_mB+e0~mo7Makdh6JsE?bEa3Gy(%U41ixr_%h@t|3p~ zKFV|Sa`?_j7M%bO;rTSWpm9RRDWy;>lA^Se+XFy4F;SB{01NqKy!G)t4S8o@+Ba1s zdtN+NlNg`9p_E@U;c*#j-%eosUTgCkJEmBAsdu}YFXXLK=HTKfCknqtY_vk2l(tTSogA}I30zW(0*B_RX5 z80fkK<%rVRTj6<>(FXW#)7tRp~r$iRZi;;4w_1Y$U8 z%K=&pcx1aMuhuv4*|yH)oto<*HWV*xu1JfkqCPL>`Ubzo_N}BD?Lp`7ZJh|meJS6t zTIC!_x#2C1@ZdJfn8tyBaMY#EBhT-o6~ArZK_g9qDgw=izkMGbl;&ze+xd!yNMwD< zrGr{?b_X%thw$Dnb%OQE3{WEa_9&t1Ix*baQ2*qgzkT;Voi4@tJ4nlq%!+$h=&nFn z(?Xx4qTRfbZW{L+RdVP8Oc_Sh7AqF8aDG#x^Vn8|hxb;Iv!S(K+Z2Dn=rL$&6j1La zz`2tboypJs?6r#xyFcz~eNM-pxpjc(yH?pf8ZqB)jATjH*o;2Lv2vFd;2fbaptW`F z#UnM%t%asKT_caa39B^VGzi9cc8rlCDuWO@@Hje@IVb3~@}E6YU)hwFd#297J@f zvvzb^3N`9$%JQT18|9y{;StFMpWn%$MLcTkx4yI{FGJr<(PJBkhE3h4Cwhk2N!Ofn z)X?y}_C!+`bz4Z}DzKe9=}Z0hQg7JGFR!6`|1=uKkJ5KSN82+&w@vuHPwlErv=<9! zAwPu-i9JtebPK~*zN`EY(vGj;{$fo2(4F!C_n>o&bM;m z2hu6=$s&}s@Yket=$Gj>AgrY_x4@@fW(Qngp5xq}L>IPrz$aS|8XaAYir)Fc%()ujJrYU-P%hHNnY#QJL=2gQQH0MQ<2;z znD#YoQdg}JB|R4+sv2SanLV&ePV^buBXT+!uPC?LoVt&D+1c272P5Qmcob4bv;1LF z3fRXn&|f$0&_1!W0kqc||MjQC)^=t9lY0Y=zk1Vq16_Jj%eBeLLc|1eRiVh93OS3T z?HW0b;A9VAH%ST_$SsOehCJjOXNUmUCPE*hZtu`*fXLC$QFhzjPwPF!;$Cx`l;c*j zd)@xV9mAl?6foNG2h5vv6FNq>Hp@Lqcz-+g5$q6;dhz-KT7Q+0u5lyeou5$`V=~r| z?m<1$?QsN@lWiYi&nv>;splBd^4IX?IahFi!-{gB$k-iD9chCXi}pD6uL&i*o9^S- zH=s2{S!2(;##f>b!^-|CMYVDBeYgb=4Q(O{H;Y?e1B5a-v8V8$4WHS z`LI_CZ6J_(*KpL>aT$qQ(LNsSJq4*hRK={sSftb=bP@WY4@%Oh02x`^p~Kf4dz1d! zZ4sXw$6@~Z{J4*D#4PqgrQg9H{RdgL((ziVC-4jKw!VD?OQA$*hz~t;@)j@_5f_Km zN1BYp0aQkh(ye=uql|uPkkHg%oO+NanT~6We+au5ASAjL54OVd*7^kqCY3MhB6(`8 zV5^lZ_-(y%ll{>`v78NI7h@U>6s((1%^?lG3bzfS`vADW{@7kQU;CB1)~?+M<8)tR z$~^V0#y+g_mMzGAk3G7Zv6-P)HkWKrvRuS2e_>{qQ%mi;=-!D0xC3E#$iLf5KVXa3<-Ef23@te=!?xe->u zvpWcZ2#_IVuY{cPO(A)hi|?Hutw?%1XSFN4M>~C z_5y(!sfI5vQ*kd+2Z;tDJ>;5NONs%*pI7q3v-X)h{$pMM)Icx77RGWrvGmdJ)Mw}L zNM+H0ENjzl1ke+IDNSL~1305<8?%o$YD1yRfxc*<=}92@6!}20$ZmXgl1xG5{#5*u#iBjl*v9AW z#A$;zQBKzIGX*L!8aLIZcVwcgPX6a6!Riz~39=1@ImxpDMnes`6??EKY?S zZ_l|=aBG$8wMl)wmS54;2R~BhigOss zIt$GH^h%Gm^EDrk{LQbRt=Tr5TbQd-QB}M^{jKq;nTorzd7#lmw{)G3{L@P^_&!{- zF(tem6Vb$4H@WP^&WLfb>DA8+>H0HjrxtU>Mf?&L3#Fp zWR^dHuW@H~$u6Hphm~ReY@YdP+F^`WQBjr9x}m)_-tg#_a+MN)?hZlNA(`=imFpY& z`3M$C!}O2E<=C_-19%&W)V-$!HBxp+j~Z1%p+C(>G^rWpkWv5}Bqy<#-Q*<6SG#&CKZvb~5QB80h!yd&*FbbCGGR{a_JC7{C@* z0Y;F@yL_F-8p1!xHh}n#u`(+R4;5m;sK-u7qkk;^9o|cS6<>Q`#-~T8Mpz)`YXZx( z5bOUCc3D&pjcjXcWCY>%E5y$O6o(DHZTdb1UqBUNZB3`-tsyK=pUR`hZ%Gf?liFpy zzVkRExYY8bL#mwjoSlJUY3^hSfl&1NkOSm^lR5}Y6Ll@oD3?k z%8mwa{mCspt~rA_`xdV_jEAc}_u~;{wf*Q{lnqdt&_L0#l~i07!zUS*6Rffd!SBYdqB0mf!3en~tpS@*0gMN#p4hlez&t?xO)#MU>d zlY8y$qnNKNjW8Jt6X9dg0>=vR z7(jd2#v9w7qjUZjP?6p+sahqZoNLsHY|=0m;ZK0(r#^8XzYzOs;K$|AEt<#ZYVD)-3gYa81ovPzl-5k%jCr*qI^$xsjy+`j*8h zOB2*4<-6GJRC7titoV6HNc#(J))j~oVb0a_ZURI5uW!+gT4TfWP8%4Tns-s@pD>}W z->DT3e3~rQg^6m9bptmn`4SmQS|ht3*_vlFz>SBM4(SYGF;D8QxH zLjBXv5M3v?P|(1BLaaT`m1Y=83iEH>VYt^6*##hmxfFs-Azd3g`3QZ+vHf8JqM*sB zfz1AFy@ZkqbYx4V6Sm&KfSR94)!SnjaC{?+nuK8LkQixy_#8SiRS&4jKja>dP-z8e zvFsE_olA~rJ&%TXZ_RLb+%k&b@?OC+)EaqFojtS7w8|;$QX-cj^obXbkcz!*=wmtP z%HG0j+pbH_cDbsa4zR2p5?wEA4@5sFO*2h05f$d>(MdGXrf8Y3$IubBEo^JIW&Pv_ zX}EMEfmypwQKePmNevHM*b{m2%Ad%PJbo#PxoCl=tWGb4Y4qx+98jq&uxLdG`0= zkT=w3A(qn}bGLuW*Tr+9&mGKnOagsKGVmEaBN8oX#$yucN=S1feojOxX~yGnQko{^ zv!m3~n)aCFx=!YwpA((tX+HlvsbJQlauw)4Z5&gr5<@%hyiY|jubeoB znLWMoouZHjvFfK4aUhq$glBliwqP$ygOpe396Q-5FSQbnDr1CB|5IIMyvrY~D9VGv zMgWKROe2t}OlL`#dl1%go>i@a6!jO#5?JQgl@dCmz~nGHLwoq;-8jDk#=!yU4spj> zub{UhW@zBQWE6T1x3k{SQJDvxjPu@ z7@HdHyond;9F^YjV>8CM4Iv`iL=1SUfgnrhUU8p5cn&+0A&M#nO-Dbk;XX*l(JFC8 zybwsYjSa+YoN!)z;^~80FF<9FOu1gPy&ZB_D(&s_Dx8NlR7@L?;bH_N3wKJbz&ZLX zUT~?|qJFU7<$n#y6{A<|LIG3zqvAZ&6`QJxK126f7>p%rQh0{u2x8G$iiVgXIO5>T zQ_mU~qY6!2ZX0_k#EdN$VuLTU$cu{G^^$|bMkn=ZE!bQeUL?3{bc_S|Zn_`J53{4i z+oWrgSb(oONQFv6TWdB!GHX|#e%l5K;pWrmY`IG*yOYNkuj#+UbqV&wTAIvPy%6ic z-hl|cUFnWDzcIJUzJ90ddZIj)4q4MRqV6TPd&*O4MPaWPx~rEjn9RxxnwaFIJ<03| zm%zls&?=`P5M1R~|5$fysM7eX-;Fa(aedGp0UZEdIgEkVN5g83Lk{mrZ=CwqUO3TA z6z^2J@YHBXgBcWjDS@M!^SLE!5L>j`dHno18fP>UY}ZARWb$AnRh-W!ulhU4e_f_m za#%2qI(56=_`G|dJy*BgYqzu>2PXdOhxd4GN4>D__Vc`P_RlgAfAeZi*5Uxicr&>r zE0E6pvv&EkU?d%FHQ;=OGtMwzv5j&9fu#cH{gX%`OhS3!=)GPQ0FhiJd_xhab!n2U zQ!fSENpLWf*4jLQ6%6NW!PU+{Fn3cX-NcY^V5)}Rbl_NmI}diBZ6o(x#1JZ>S00Zl znXl7GBmCF<5DiPU{}4}o5baHZla)VHBg=uUTcsmWK8q(skyyWBV2bRKd$5ZpIQ0Hh zVF&KWbkP7y-QcSXZEQuEL<(6z$~dAs#eJHVJmNg=>v z^F&fD)LtbK2!-@&fW)r}?PDm5GGLdFGuGsc$U730tl)>M06Ac_))41av-Q zc+22p$gflzwNA#zM!UlSC+gI*a`#UDEVvqJkS(q6llQ*UhPB-=eIOLD+b8pri)@ik zcYIC~*4^3v{IAfx{fpFc7YZ*3BcHJmJ!pkf99wR7!*?d=?T(7ifT+I7A8=NT;+*{kSB?w2lwx&3zYazG)!Lc;4a2vT?7+#9bi1EckKniU_e37%w*Mlqdd`U z-~cr()Rh4KvH%`7jct1^14d*Q5*c3n2T)u!q~)vB-&9TGkVzM}(u6qU%d}*}&i2qp zm4>I_DIC=)I-QfR?ws_)Z6EXMfMQ#ziW|96Gr-K@3;d|&usbox-h%W?5u#n$`oy?L zz_@)Ff{#+cE_dyIpTf)1KmY_2UXNR!R2tKVK0f&Fp9IS=Ty^4`vCp-8e!uS13`Y<9 z17QWu>16NES0~OH_iVqB`6h;y);+ub8)=Z!=3e!Zu4ieKc^dg z7!Et}P~YdhA#$7tBLqFGoSb^D9;|dG8Lf3{fXR(``v~a|B{e^hYs?UCv#jGkF7h-b z1Ol_n0at}*r}vbHhV;7xo?9fTfQW%%QcM}HloH*;Ivb=0tdr9|P6<_e5Up#1Oe>

heiN#7}G3-%J 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≪B~Q0-bWtK(>{dn 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≺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

IY;X(x?@{WX*q4 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
L(aq(JCVZju@uLVB+@^- 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�-> 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

2K@?9fY(Bnoedi#lPwnXa*UdY2ocJs{qWfp2qA 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 ND9kXwxl1AczX0nBys`iQ literal 0 HcmV?d00001 diff --git a/src/packages/NUnit.3.13.2/build/NUnit.props b/src/packages/NUnit.3.13.2/build/NUnit.props new file mode 100644 index 0000000..79c80b8 --- /dev/null +++ b/src/packages/NUnit.3.13.2/build/NUnit.props @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/packages/NUnit.3.13.2/icon.png b/src/packages/NUnit.3.13.2/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..ad14c1603eab311ff5326908fa6e839f1299083b GIT binary patch literal 16371 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 literal 0 HcmV?d00001 diff --git a/src/packages/NUnit.3.13.2/lib/net35/nunit.framework.xml b/src/packages/NUnit.3.13.2/lib/net35/nunit.framework.xml new file mode 100644 index 0000000..b76e164 --- /dev/null +++ b/src/packages/NUnit.3.13.2/lib/net35/nunit.framework.xml @@ -0,0 +1,21818 @@ + + + + nunit.framework + + + +

+ The different targets a test action attribute can be applied to + + + + + Default target, which is determined by where the action attribute is attached + + + + + Target a individual test case + + + + + Target a suite of test cases + + + + + DefaultTestAssemblyBuilder loads a single assembly and builds a TestSuite + containing test fixtures present in the assembly. + + + + + The default suite builder used by the test assembly builder. + + + + + Initializes a new instance of the class. + + + + + Build a suite of tests from a provided assembly + + The assembly from which tests are to be built + A dictionary of options to use in building the suite + + A TestSuite containing the tests found in the assembly + + + + + Build a suite of tests given the name or the location of an assembly + + The name or the location of the assembly. + A dictionary of options to use in building the suite + + A TestSuite containing the tests found in the assembly + + + + + FrameworkController provides a facade for use in loading, browsing + and running tests without requiring a reference to the NUnit + framework. All calls are encapsulated in constructors for + this class and its nested classes, which only require the + types of the Common Type System as arguments. + + The controller supports four actions: Load, Explore, Count and Run. + They are intended to be called by a driver, which should allow for + proper sequencing of calls. Load must be called before any of the + other actions. The driver may support other actions, such as + reload on run, by combining these calls. + + + + + Construct a FrameworkController using the default builder and runner. + + The AssemblyName or path to the test assembly + A prefix used for all test ids created under this controller. + A Dictionary of settings to use in loading and running the tests + + + + Construct a FrameworkController using the default builder and runner. + + The test assembly + A prefix used for all test ids created under this controller. + A Dictionary of settings to use in loading and running the tests + + + + Construct a FrameworkController, specifying the types to be used + for the runner and builder. This constructor is provided for + purposes of development. + + The full AssemblyName or the path to the test assembly + A prefix used for all test ids created under this controller. + A Dictionary of settings to use in loading and running the tests + The Type of the test runner + The Type of the test builder + + + + Construct a FrameworkController, specifying the types to be used + for the runner and builder. This constructor is provided for + purposes of development. + + The test assembly + A prefix used for all test ids created under this controller. + A Dictionary of settings to use in loading and running the tests + The Type of the test runner + The Type of the test builder + + + + Gets the ITestAssemblyBuilder used by this controller instance. + + The builder. + + + + Gets the ITestAssemblyRunner used by this controller instance. + + The runner. + + + + Gets the AssemblyName or the path for which this FrameworkController was created + + + + + Gets the Assembly for which this + + + + + Gets a dictionary of settings for the FrameworkController + + + + + Loads the tests in the assembly + + + + + + Returns info about the tests in an assembly + + A string containing the XML representation of the filter to use + The XML result of exploring the tests + + + + Runs the tests in an assembly + + A string containing the XML representation of the filter to use + The XML result of the test run + + + + Runs the tests in an assembly synchronously reporting back the test results through the callback + or through the return value + + The callback that receives the test results + A string containing the XML representation of the filter to use + The XML result of the test run + + + + Runs the tests in an assembly asynchronously reporting back the test results through the callback + + The callback that receives the test results + A string containing the XML representation of the filter to use + + + + Stops the test run + + True to force the stop, false for a cooperative stop + + + + Counts the number of test cases in the loaded TestSuite + + A string containing the XML representation of the filter to use + The number of tests + + + + Inserts the environment and settings elements + + Target node + The updated target node + + + + Inserts environment element + + Target node + The new node + + + + Inserts settings element + + Target node + Settings dictionary + The new node + + + + FrameworkControllerAction is the base class for all actions + performed against a FrameworkController. + + + + + LoadTestsAction loads a test into the FrameworkController + + + + + LoadTestsAction loads the tests in an assembly. + + The controller. + The callback handler. + + + + ExploreTestsAction returns info about the tests in an assembly + + + + + Initializes a new instance of the class. + + The controller for which this action is being performed. + Filter used to control which tests are included (NYI) + The callback handler. + + + + CountTestsAction counts the number of test cases in the loaded TestSuite + held by the FrameworkController. + + + + + Construct a CountsTestAction and perform the count of test cases. + + A FrameworkController holding the TestSuite whose cases are to be counted + A string containing the XML representation of the filter to use + A callback handler used to report results + + + + RunTestsAction runs the loaded TestSuite held by the FrameworkController. + + + + + Construct a RunTestsAction and run all tests in the loaded TestSuite. + + A FrameworkController holding the TestSuite to run + A string containing the XML representation of the filter to use + A callback handler used to report results + + + + RunAsyncAction initiates an asynchronous test run, returning immediately + + + + + Construct a RunAsyncAction and run all tests in the loaded TestSuite. + + A FrameworkController holding the TestSuite to run + A string containing the XML representation of the filter to use + A callback handler used to report results + + + + StopRunAction stops an ongoing run. + + + + + Construct a StopRunAction and stop any ongoing run. If no + run is in process, no error is raised. + + The FrameworkController for which a run is to be stopped. + True the stop should be forced, false for a cooperative stop. + >A callback handler used to report results + A forced stop will cause threads and processes to be killed as needed. + + + + The ITestAssemblyBuilder interface is implemented by a class + that is able to build a suite of tests given an assembly or + an assembly filename. + + + + + Build a suite of tests from a provided assembly + + The assembly from which tests are to be built + A dictionary of options to use in building the suite + A TestSuite containing the tests found in the assembly + + + + Build a suite of tests given the filename of an assembly + + The filename of the assembly from which tests are to be built + A dictionary of options to use in building the suite + A TestSuite containing the tests found in the assembly + + + + The ITestAssemblyRunner interface is implemented by classes + that are able to execute a suite of tests loaded + from an assembly. + + + + + Gets the tree of loaded tests, or null if + no tests have been loaded. + + + + + Gets the tree of test results, if the test + run is completed, otherwise null. + + + + + Indicates whether a test has been loaded + + + + + Indicates whether a test is currently running + + + + + Indicates whether a test run is complete + + + + + Loads the tests found in an Assembly, returning an + indication of whether or not the load succeeded. + + File name of the assembly to load + Dictionary of options to use in loading the test + An ITest representing the loaded tests + + + + Loads the tests found in an Assembly, returning an + indication of whether or not the load succeeded. + + The assembly to load + Dictionary of options to use in loading the test + An ITest representing the loaded tests + + + + Count Test Cases using a filter + + The filter to apply + The number of test cases found + + + + Explore the test cases using a filter + + The filter to apply + Test Assembly with test cases that matches the filter + + + + Run selected tests and return a test result. The test is run synchronously, + and the listener interface is notified as it progresses. + + Interface to receive ITestListener notifications. + A test filter used to select tests to be run + + + + Run selected tests asynchronously, notifying the listener interface as it progresses. + + Interface to receive EventListener notifications. + A test filter used to select tests to be run + + + + Wait for the ongoing run to complete. + + Time to wait in milliseconds + True if the run completed, otherwise false + + + + Signal any test run that is in process to stop. Return without error if no test is running. + + If true, kill any test-running threads + + + + Implementation of ITestAssemblyRunner + + + + + Initializes a new instance of the class. + + The builder. + + + + Gets the default level of parallel execution (worker threads) + + + + + The tree of tests that was loaded by the builder + + + + + The test result, if a run has completed + + + + + Indicates whether a test is loaded + + + + + Indicates whether a test is running + + + + + Indicates whether a test run is complete + + + + + Our settings, specified when loading the assembly + + + + + The top level WorkItem created for the assembly as a whole + + + + + The TestExecutionContext for the top level WorkItem + + + + + Loads the tests found in an Assembly + + File name or path of the assembly to load + Dictionary of option settings for loading the assembly + A Test Assembly containing all loaded tests + + + + Loads the tests found in an Assembly + + The assembly to load + Dictionary of option settings for loading the assembly + A Test Assembly containing all loaded tests + + + + Count Test Cases using a filter + + The filter to apply + The number of test cases found + + + + Explore the test cases using a filter + + The filter to apply + Test Assembly with test cases that matches the filter + + + + Run selected tests and return a test result. The test is run synchronously, + and the listener interface is notified as it progresses. + + Interface to receive EventListener notifications. + A test filter used to select tests to be run + The test results from the run + + + + Run selected tests asynchronously, notifying the listener interface as it progresses. + + Interface to receive EventListener notifications. + A test filter used to select tests to be run + + RunAsync is a template method, calling various abstract and + virtual methods to be overridden by derived classes. + + + + + Wait for the ongoing run to complete. + + Time to wait in milliseconds + True if the run completed, otherwise false + + + + Signal any test run that is in process to stop. Return without error if no test is running. + + If true, kill any tests that are currently running + + + + Initiate the test run. + + + + + Create the initial TestExecutionContext used to run tests + + The ITestListener specified in the RunAsync call + + + + Handle the Completed event for the top level work item + + + + + Executes the action within an + which ensures the is cleaned up + suitably at the end of the test run. This method only has an effect running + the full .NET Framework. + + + + + The Assert class contains a collection of static methods that + implement the most common assertions used in NUnit. + + + The Assert class contains a collection of static methods that + implement the most common assertions used in NUnit. + + + + + Verifies that the first int is greater than the second + int. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first int is greater than the second + int. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + + The evaluated condition + + + + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + + The evaluated condition + + + + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + + The evaluated condition + + + + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + + The evaluated condition + + + + Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert + block. + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert + block. + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert block. + + The evaluated condition + + + + Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert + block. + + The evaluated condition + + + + Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert + block. + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert + block. + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert + block. + + The evaluated condition + + + + Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert + block. + + The evaluated condition + + + + Verifies that the object that is passed in is not equal to . Returns without throwing an + exception when inside a multiple assert block. + + The object that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the object that is passed in is not equal to . Returns without throwing an + exception when inside a multiple assert block. + + The object that is to be tested + + + + Verifies that the object that is passed in is not equal to . Returns without throwing an + exception when inside a multiple assert block. + + The object that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the object that is passed in is not equal to . Returns without throwing an + exception when inside a multiple assert block. + + The object that is to be tested + + + + Verifies that the object that is passed in is equal to . Returns without throwing an + exception when inside a multiple assert block. + + The object that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the object that is passed in is equal to . Returns without throwing an + exception when inside a multiple assert block. + + The object that is to be tested + + + + Verifies that the object that is passed in is equal to . Returns without throwing an + exception when inside a multiple assert block. + + The object that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the object that is passed in is equal to . Returns without throwing an + exception when inside a multiple assert block. + + The object that is to be tested + + + + Verifies that the double that is passed in is an NaN. Returns without throwing an + exception when inside a multiple assert block. + + The value that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the double that is passed in is an NaN value. Returns without throwing an + exception when inside a multiple assert block. + + The value that is to be tested + + + + Verifies that the double that is passed in is an NaN value. Returns without throwing an + exception when inside a multiple assert block. + + The value that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the double that is passed in is an NaN value. Returns without throwing an + exception when inside a multiple assert block. + + The value that is to be tested + + + + Assert that a string is empty. Returns without throwing an exception when inside a multiple assert block. + + The string to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Assert that a string is empty. Returns without throwing an exception when inside a multiple assert block. + + The string to be tested + + + + Assert that an array, list or other collection is empty. Returns without throwing an exception when inside a + multiple assert block. + + An array, list or other collection implementing ICollection + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Assert that an array, list or other collection is empty. Returns without throwing an exception when inside a + multiple assert block. + + An array, list or other collection implementing ICollection + + + + Assert that a string is not empty. Returns without throwing an exception when inside a multiple assert + block. + + The string to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Assert that a string is not empty. Returns without throwing an exception when inside a multiple assert + block. + + The string to be tested + + + + Assert that an array, list or other collection is not empty. Returns without throwing an exception when + inside a multiple assert block. + + An array, list or other collection implementing ICollection + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Assert that an array, list or other collection is not empty. Returns without throwing an exception when + inside a multiple assert block. + + An array, list or other collection implementing ICollection + + + + Asserts that an int is zero. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + + + + Asserts that an int is zero. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned int is zero. Returns without throwing an exception when inside a multiple assert + block. + + The number to be examined + + + + Asserts that an unsigned int is zero. Returns without throwing an exception when inside a multiple assert + block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a Long is zero. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + + + + Asserts that a Long is zero. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned Long is zero. Returns without throwing an exception when inside a multiple assert + block. + + The number to be examined + + + + Asserts that an unsigned Long is zero. Returns without throwing an exception when inside a multiple assert + block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a decimal is zero. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + + + + Asserts that a decimal is zero. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a double is zero. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + + + + Asserts that a double is zero. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a float is zero. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + + + + Asserts that a float is zero. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an int is not zero. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + + + + Asserts that an int is not zero. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned int is not zero. Returns without throwing an exception when inside a multiple + assert block. + + The number to be examined + + + + Asserts that an unsigned int is not zero. Returns without throwing an exception when inside a multiple + assert block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a Long is not zero. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + + + + Asserts that a Long is not zero. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned Long is not zero. Returns without throwing an exception when inside a multiple + assert block. + + The number to be examined + + + + Asserts that an unsigned Long is not zero. Returns without throwing an exception when inside a multiple + assert block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a decimal is zero. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + + + + Asserts that a decimal is zero. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a double is zero. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + + + + Asserts that a double is zero. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a float is zero. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + + + + Asserts that a float is zero. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an int is positive. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + + + + Asserts that an int is positive. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned int is positive. Returns without throwing an exception when inside a multiple + assert block. + + The number to be examined + + + + Asserts that an unsigned int is positive. Returns without throwing an exception when inside a multiple + assert block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a Long is positive. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + + + + Asserts that a Long is positive. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned Long is positive. Returns without throwing an exception when inside a multiple + assert block. + + The number to be examined + + + + Asserts that an unsigned Long is positive. Returns without throwing an exception when inside a multiple + assert block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a decimal is positive. Returns without throwing an exception when inside a multiple assert + block. + + The number to be examined + + + + Asserts that a decimal is positive. Returns without throwing an exception when inside a multiple assert + block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a double is positive. Returns without throwing an exception when inside a multiple assert + block. + + The number to be examined + + + + Asserts that a double is positive. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a float is positive. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + + + + Asserts that a float is positive. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an int is negative. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + + + + Asserts that an int is negative. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned int is negative. Returns without throwing an exception when inside a multiple + assert block. + + The number to be examined + + + + Asserts that an unsigned int is negative. Returns without throwing an exception when inside a multiple + assert block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a Long is negative. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + + + + Asserts that a Long is negative. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned Long is negative. Returns without throwing an exception when inside a multiple + assert block. + + The number to be examined + + + + Asserts that an unsigned Long is negative. Returns without throwing an exception when inside a multiple + assert block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a decimal is negative. Returns without throwing an exception when inside a multiple assert + block. + + The number to be examined + + + + Asserts that a decimal is negative. Returns without throwing an exception when inside a multiple assert + block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a double is negative. Returns without throwing an exception when inside a multiple assert + block. + + The number to be examined + + + + Asserts that a double is negative. Returns without throwing an exception when inside a multiple assert + block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a float is negative. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + + + + Asserts that a float is negative. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + DO NOT USE! Use Assert.AreEqual(...) instead. + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + Throws a with the message and arguments + that are passed in. This allows a test to be cut short, with a result + of success returned to NUnit. + + The message to initialize the with. + Arguments to be used in formatting the message + + + + Throws a with the message and arguments + that are passed in. This allows a test to be cut short, with a result + of success returned to NUnit. + + The message to initialize the with. + + + + Throws a with the message and arguments + that are passed in. This allows a test to be cut short, with a result + of success returned to NUnit. + + + + + Marks the test as failed with the message and arguments that are passed in. Returns without throwing an + exception when inside a multiple assert block. + + The message to initialize the with. + Arguments to be used in formatting the message + + + + Marks the test as failed with the message that is passed in. Returns without throwing an exception when + inside a multiple assert block. + + The message to initialize the with. + + + + Marks the test as failed. Returns without throwing an exception when inside a multiple assert block. + + + + + Issues a warning using the message and arguments provided. + + The message to display. + Arguments to be used in formatting the message + + + + Issues a warning using the message provided. + + The message to display. + + + + Throws an with the message and arguments + that are passed in. This causes the test to be reported as ignored. + + The message to initialize the with. + Arguments to be used in formatting the message + + + + Throws an with the message that is + passed in. This causes the test to be reported as ignored. + + The message to initialize the with. + + + + Throws an . + This causes the test to be reported as ignored. + + + + + Throws an with the message and arguments + that are passed in. This causes the test to be reported as inconclusive. + + The message to initialize the with. + Arguments to be used in formatting the message + + + + Throws an with the message that is + passed in. This causes the test to be reported as inconclusive. + + The message to initialize the with. + + + + Throws an . + This causes the test to be reported as Inconclusive. + + + + + Asserts that an object is contained in a collection. Returns without throwing an exception when inside a + multiple assert block. + + The expected object + The collection to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object is contained in a collection. Returns without throwing an exception when inside a + multiple assert block. + + The expected object + The collection to be examined + + + + Wraps code containing a series of assertions, which should all + be executed, even if they fail. Failed results are saved and + reported at the end of the code block. + + A TestDelegate to be executed in Multiple Assertion mode. + + + + If throws, returns "SomeException was thrown by the + Environment.StackTrace property." See also . + + + + + Verifies that two doubles are equal considering a delta. If the expected value is infinity then the delta + value is ignored. Returns without throwing an exception when inside a multiple assert block. + + The expected value + The actual value + The maximum acceptable difference between the the expected and the actual + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two doubles are equal considering a delta. If the expected value is infinity then the delta + value is ignored. Returns without throwing an exception when inside a multiple assert block. + + The expected value + The actual value + The maximum acceptable difference between the the expected and the actual + + + + Verifies that two doubles are equal considering a delta. If the expected value is infinity then the delta + value is ignored. Returns without throwing an exception when inside a multiple assert block. + + The expected value + The actual value + The maximum acceptable difference between the the expected and the actual + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two doubles are equal considering a delta. If the expected value is infinity then the delta + value is ignored. Returns without throwing an exception when inside a multiple assert block. + + The expected value + The actual value + The maximum acceptable difference between the the expected and the actual + + + + Verifies that two objects are equal. Two objects are considered equal if both are null, or if both have the + same value. NUnit has special semantics for some object types. Returns without throwing an exception when + inside a multiple assert block. + + The value that is expected + The actual value + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two objects are equal. Two objects are considered equal if both are null, or if both have the + same value. NUnit has special semantics for some object types. Returns without throwing an exception when + inside a multiple assert block. + + The value that is expected + The actual value + + + + Verifies that two objects are not equal. Two objects are considered equal if both are null, or if both have + the same value. NUnit has special semantics for some object types. Returns without throwing an exception + when inside a multiple assert block. + + The value that is expected + The actual value + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two objects are not equal. Two objects are considered equal if both are null, or if both have + the same value. NUnit has special semantics for some object types. Returns without throwing an exception + when inside a multiple assert block. + + The value that is expected + The actual value + + + + Asserts that two objects refer to the same object. Returns without throwing an exception when inside a + multiple assert block. + + The expected object + The actual object + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that two objects refer to the same object. Returns without throwing an exception when inside a + multiple assert block. + + The expected object + The actual object + + + + Asserts that two objects do not refer to the same object. Returns without throwing an exception when inside + a multiple assert block. + + The expected object + The actual object + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that two objects do not refer to the same object. Returns without throwing an exception when inside + a multiple assert block. + + The expected object + The actual object + + + + Helper for Assert.AreEqual(double expected, double actual, ...) + allowing code generation to work consistently. + + The expected value + The actual value + The maximum acceptable difference between the + the expected and the actual + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that a delegate throws a particular exception when called. The returned exception may be when inside a multiple assert block. + + A constraint to be satisfied by the exception + A TestSnippet delegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws a particular exception when called. The returned exception may be when inside a multiple assert block. + + A constraint to be satisfied by the exception + A TestSnippet delegate + + + + Verifies that a delegate throws a particular exception when called. The returned exception may be when inside a multiple assert block. + + The exception Type expected + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws a particular exception when called. The returned exception may be when inside a multiple assert block. + + The exception Type expected + A TestDelegate + + + + Verifies that a delegate throws a particular exception when called. The returned exception may be when inside a multiple assert block. + + Type of the expected exception + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws a particular exception when called. The returned exception may be when inside a multiple assert block. + + Type of the expected exception + A TestDelegate + + + + Verifies that a delegate throws an exception when called and returns it. The returned exception may be when inside a multiple assert block. + + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws an exception when called and returns it. The returned exception may be when inside a multiple assert block. + + A TestDelegate + + + + Verifies that a delegate throws an exception of a certain Type or one derived from it when called and + returns it. The returned exception may be when inside a multiple assert block. + + The expected Exception Type + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws an exception of a certain Type or one derived from it when called and + returns it. The returned exception may be when inside a multiple assert block. + + The expected Exception Type + A TestDelegate + + + + Verifies that a delegate throws an exception of a certain Type or one derived from it when called and + returns it. The returned exception may be when inside a multiple assert block. + + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws an exception of a certain Type or one derived from it when called and + returns it. The returned exception may be when inside a multiple assert block. + + A TestDelegate + + + + Verifies that a delegate does not throw an exception + + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate does not throw an exception. + + A TestDelegate + + + + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + + The evaluated condition + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + + The evaluated condition + + + + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + + The evaluated condition + A function to build the message included with the Exception + + + + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + + A lambda that returns a Boolean + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + + A lambda that returns a Boolean + + + + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + + A lambda that returns a Boolean + A function to build the message included with the Exception + + + + Apply a constraint to a delegate. Returns without throwing an exception when inside a multiple assert block. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + + + + Apply a constraint to a delegate. Returns without throwing an exception when inside a multiple assert block. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to a delegate. Returns without throwing an exception when inside a multiple assert block. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Apply a constraint to a delegate. Returns without throwing an exception when inside a multiple assert block. + + A TestDelegate to be executed + A Constraint expression to be applied + + + + Apply a constraint to a delegate. Returns without throwing an exception when inside a multiple assert block. + + A TestDelegate to be executed + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to a delegate. Returns without throwing an exception when inside a multiple assert block. + + A TestDelegate to be executed + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Apply a constraint to an actual value. Returns without throwing an exception when inside a multiple assert + block. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + + + + Apply a constraint to an actual value. Returns without throwing an exception when inside a multiple assert + block. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value. Returns without throwing an exception when inside a multiple assert + block. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Apply a constraint to an actual value. Returns without throwing an exception when inside a multiple assert + block. Used as a synonym for That in rare cases where a private setter causes a Visual Basic compilation + error. + + The actual value to test + A Constraint expression to be applied + + + + Apply a constraint to an actual value. Returns without throwing an exception when inside a multiple assert + block. Used as a synonym for That in rare cases where a private setter causes a Visual Basic compilation + error. + + + This method is provided for use by VB developers needing to test the value of properties with private + setters. + + The actual value to test + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that an object may be assigned a value of a given Type. Returns without throwing an exception when + inside a multiple assert block. + + The expected Type. + The object under examination + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object may be assigned a value of a given Type. Returns without throwing an exception when + inside a multiple assert block. + + The expected Type. + The object under examination + + + + Asserts that an object may be assigned a value of a given Type. Returns without throwing an exception when + inside a multiple assert block. + + The expected Type. + The object under examination + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object may be assigned a value of a given Type. Returns without throwing an exception when + inside a multiple assert block. + + The expected Type. + The object under examination + + + + Asserts that an object may not be assigned a value of a given Type. Returns without throwing an exception + when inside a multiple assert block. + + The expected Type. + The object under examination + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object may not be assigned a value of a given Type. Returns without throwing an exception + when inside a multiple assert block. + + The expected Type. + The object under examination + + + + Asserts that an object may not be assigned a value of a given Type. Returns without throwing an exception + when inside a multiple assert block. + + The expected Type. + The object under examination + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object may not be assigned a value of a given Type. Returns without throwing an exception + when inside a multiple assert block. + + The expected Type. + The object under examination + + + + Asserts that an object is an instance of a given type. Returns without throwing an exception when inside a + multiple assert block. + + The expected Type + The object being examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object is an instance of a given type. Returns without throwing an exception when inside a + multiple assert block. + + The expected Type + The object being examined + + + + Asserts that an object is an instance of a given type. Returns without throwing an exception when inside a + multiple assert block. + + The expected Type + The object being examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object is an instance of a given type. Returns without throwing an exception when inside a + multiple assert block. + + The expected Type + The object being examined + + + + Asserts that an object is not an instance of a given type. Returns without throwing an exception when inside + a multiple assert block. + + The expected Type + The object being examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object is not an instance of a given type. Returns without throwing an exception when inside + a multiple assert block. + + The expected Type + The object being examined + + + + Asserts that an object is not an instance of a given type. Returns without throwing an exception when inside + a multiple assert block. + + The expected Type + The object being examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object is not an instance of a given type. Returns without throwing an exception when inside + a multiple assert block. + + The expected Type + The object being examined + + + + Delegate used by tests that execute code and + capture any thrown exception. + + + + + AssertionHelper is an optional base class for user tests, + allowing the use of shorter names in making asserts. + + + + + Asserts that a condition is true. If the condition is false the method throws + an . Works Identically to + . + + The evaluated condition + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . Works Identically to . + + The evaluated condition + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + A Constraint expression to be applied + An ActualValueDelegate returning the value to be tested + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + + A TestDelegate to be executed + A Constraint expression to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + A Constraint expression to be applied + The actual value to test + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + A Constraint expression to be applied + The actual value to test + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Returns a ListMapper based on a collection. + + The original collection + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if at least one of them succeeds. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them fail. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding only if a specified number of them succeed. + + + + + Returns a new PropertyConstraintExpression, which will either + test for the existence of the named property on the object + being tested or apply any following constraint to that property. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Length property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Count property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Message property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the InnerException property of the object being tested. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a constraint that tests for null + + + + + Returns a constraint that tests for True + + + + + Returns a constraint that tests for False + + + + + Returns a constraint that tests for a positive value + + + + + Returns a constraint that tests for a negative value + + + + + Returns a constraint that tests for equality with zero + + + + + Returns a constraint that tests for NaN + + + + + Returns a constraint that tests for empty + + + + + Returns a constraint that tests whether a collection + contains all unique items. + + + + + Returns a constraint that tests whether an object graph is serializable in binary format. + + + + + Returns a constraint that tests whether an object graph is serializable in XML format. + + + + + Returns a constraint that tests two items for equality + + + + + Returns a constraint that tests that two references are the same object + + + + + Returns a constraint that tests whether the + actual value is greater than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a collection containing the same elements as the + collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a subset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a superset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether a collection is ordered + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + To search for a substring instead of a collection element, use the + overload. + + + + + + + Returns a new ContainsConstraint. This constraint + will, in turn, make use of the appropriate second-level + constraint, depending on the type of the actual argument. + + + To search for a collection element instead of a substring, use the + overload. + + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that fails if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that fails if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that fails if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that fails if the actual + value matches the pattern supplied as an argument. + + + + + Returns a constraint that tests whether the path provided + is the same as an expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is a subpath of the expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is the same path or under an expected path after canonicalization. + + + + + Returns a constraint that tests whether the actual value falls + within a specified range. + + + + + Provides static methods to express the assumptions + that must be met for a test to give a meaningful + result. If an assumption is not met, the test + should produce an inconclusive result. + + + + + DO NOT USE! + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + The left object. + The right object. + Not applicable + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + The left object. + The right object. + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Asserts that a condition is true. If the condition is false, the method throws + an . + + The evaluated condition + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false, the + method throws an . + + The evaluated condition + + + + Asserts that a condition is true. If the condition is false, the method throws + an . + + The evaluated condition + A function to build the message included with the Exception + + + + Asserts that a condition is true. If the condition is false, the method throws + an . + + A lambda that returns a Boolean + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false, the method throws + an . + + A lambda that returns a Boolean + + + + Asserts that a condition is true. If the condition is false, the method throws + an . + + A lambda that returns a Boolean + A function to build the message included with the Exception + + + + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + + A TestDelegate to be executed + A ThrowsConstraint used in the test + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Marks a test as needing to be run in a particular threading apartment state. This will cause it + to run in a separate thread if necessary. + + + + + Construct an ApartmentAttribute + + The apartment state that this test must be run under. You must pass in a valid apartment state. + + + + Provides the author of a test or test fixture. + + + + + Initializes a new instance of the class. + + The name of the author. + + + + Initializes a new instance of the class. + + The name of the author. + The email address of the author. + + + + Applies a category to a test + + + + + The name of the category + + + + + Construct attribute for a given category based on + a name. The name may not contain the characters ',', + '+', '-' or '!'. However, this is not checked in the + constructor since it would cause an error to arise at + as the test was loaded without giving a clear indication + of where the problem is located. The error is handled + in NUnitFramework.cs by marking the test as not + runnable. + + The name of the category + + + + Protected constructor uses the Type name as the name + of the category. + + + + + The name of the category + + + + + Modifies a test by adding a category to it. + + The test to modify + + + + Marks a test to use a combinatorial join of any argument data provided. + Since this is the default, the attribute is optional. + + + + + Default constructor + + + + + Marks a test as using a particular CombiningStrategy to join any supplied parameter data. + Since this is the default, the attribute is optional. + + + + + Construct a CombiningStrategyAttribute incorporating an + ICombiningStrategy and an IParameterDataProvider. + + Combining strategy to be used in combining data + An IParameterDataProvider to supply data + + + + Construct a CombiningStrategyAttribute incorporating an object + that implements ICombiningStrategy and an IParameterDataProvider. + This constructor is provided for CLS compliance. + + Combining strategy to be used in combining data + An IParameterDataProvider to supply data + + + + Builds any number of tests from the specified method and context. + + The MethodInfo for which tests are to be constructed. + The suite to which the tests will be added. + + + + Modify the test by adding the name of the combining strategy + to the properties. + + The test to modify + + + + Marks an assembly, test fixture or test method as applying to a specific Culture. + + + + + Constructor with no cultures specified, for use + with named property syntax. + + + + + Constructor taking one or more cultures + + Comma-delimited list of cultures + + + + Causes a test to be skipped if this CultureAttribute is not satisfied. + + The test to modify + + + + Tests to determine if the current culture is supported + based on the properties of this attribute. + + True, if the current culture is supported + + + + Test to determine if the a particular culture or comma- + delimited set of cultures is in use. + + Name of the culture or comma-separated list of culture ids + True if the culture is in use on the system + + + + Test to determine if one of a collection of cultures + is being used currently. + + + + + + + Abstract base class for all data-providing attributes defined by NUnit. + Used to select all data sources for a method, class or parameter. + + + + + Default constructor + + + + + Marks a field for use as a datapoint when executing a theory within + the same fixture that requires an argument of the field's Type. + + + + + Marks a field, property or method as providing a set of datapoints for use + in executing any theories within the same fixture that require an argument of + the provided Type. The data source may provide an array of the required Type + or an . Synonymous with . + + + + + Marks a field, property or method as providing a set of datapoints for use + in executing any theories within the same fixture that require an argument + of the provided type. The data source may provide an array of the required + Type or an . Synonymous with . + + + + + Sets the tolerance used by default when checking the equality of floating point values + within the test assembly, fixture or method. + + + + + Construct specifying an amount + + + + + + Apply changes to the TestExecutionContext + + The TestExecutionContext + + + + Provides the descriptive text relating to the assembly, test fixture or test method. + + + + + Construct a description Attribute + + The text of the description + + + + Marks an assembly, test fixture or test method such that it will only run if explicitly + executed from the GUI, command line or included within a test filter. + The test will not be run simply because an enclosing suite is run. + + + + + Default constructor + + + + + Constructor with a reason + + The reason test is marked explicit + + + + Modifies a test by marking it as explicit. + + The test to modify + + + + Specify the life cycle of a Fixture + + + + + Construct a FixtureLifeCycleAttribute with a specified . + + + + + Defines the life cycle for this test fixture or assembly. + + + + + Overridden to set a TestFixture's . + + + + + Marks an assembly, test fixture or test method as being ignored. Ignored tests result in a warning message when the tests are run. + + + + + Constructs the attribute giving a reason for ignoring the test + + The reason for ignoring the test + + + + The date in the future to stop ignoring the test as a string in UTC time. + For example for a date and time, "2014-12-25 08:10:00Z" or for just a date, + "2014-12-25". If just a date is given, the Ignore will expire at midnight UTC. + + + Once the ignore until date has passed, the test will be marked + as runnable. Tests with an ignore until date will have an IgnoreUntilDate + property set which will appear in the test results. + + The string does not contain a valid string representation of a date and time. + + + + Modifies a test by marking it as Ignored. + + The test to modify + + + + Abstract base for attributes that are used to include tests in + the test run based on environmental settings. + + + + + Constructor with no included items specified, for use + with named property syntax. + + + + + Constructor taking one or more included items + + Comma-delimited list of included items + + + + Name of the item that is needed in order for + a test to run. Multiple items may be given, + separated by a comma. + + + + + Name of the item to be excluded. Multiple items + may be given, separated by a comma. + + + + + The reason for including or excluding the test + + + + + Sets the number of worker threads that may be allocated by the framework + for running tests. + + + + + Construct a LevelOfParallelismAttribute. + + The number of worker threads to be created by the framework. + + + + Specifies the life cycle for a test fixture. + + + + + A single instance is created and shared for all test cases. + + + + + A new instance is created for each test case. + + + + + Specifies the maximum time (in milliseconds) for a test case to succeed. + + + + + Construct a MaxTimeAttribute, given a time in milliseconds. + + The maximum elapsed time in milliseconds + + + + Marks tests that should NOT be run in parallel. + + + + + Construct a NonParallelizableAttribute. + + + + + Used by third-party frameworks, or other software, that reference + the NUnit framework but do not contain any tests. Applying the + attribute indicates that the assembly is not a test assembly and + may prevent errors if certain runners attempt to load the assembly. + Note that recognition of the attribute depends on each individual runner. + + + + + Abstract base class for all custom attributes defined by NUnit. + + + + + Default constructor + + + + + Identifies a method that is called once to perform setup before any child tests are run. + + + + + Identifies a method to be called once after all the child tests have run. + The method is guaranteed to be called, even if an exception is thrown. + + + + + Defines the order that the test will run in + + + + + Defines the order that the test will run in + + + + + Defines the order that the test will run in + + + + + + Modifies a test as defined for the specific attribute. + + The test to modify + + + + Marks a test as using a pairwise join of any supplied argument data. Arguments will be + combined in such a way that all possible pairs of arguments are used. + + + + + Default constructor + + + + + Marks a test assembly, fixture or method that may be run in parallel. + + + + + Construct a ParallelizableAttribute using default ParallelScope.Self. + + + + + Construct a ParallelizableAttribute with a specified scope. + + The ParallelScope associated with this attribute. + + + + Defines the degree to which this test and its descendants may be run in parallel + + + + + Overridden to check for invalid combinations of settings + + + + + + Modify the context to be used for child tests + + The current TestExecutionContext + + + + Specifies the degree to which a test, and its descendants, + may be run in parallel. + + + + + No ParallelScope was specified on the test + + + + + The test may be run in parallel with others at the same level. + Valid on classes and methods but has no effect on assemblies. + + + + + Test may not be run in parallel with any others. Valid on + classes and methods but not assemblies. + + + + + Mask used to extract the flags that apply to the item on which a + ParallelizableAttribute has been placed, as opposed to descendants. + + + + + Descendants of the test may be run in parallel with one another. + Valid on assemblies and classes but not on non-parameterized methods. + + + + + Descendants of the test down to the level of TestFixtures may be + run in parallel with one another. Valid on assemblies and classes + but not on methods. + + + + + Mask used to extract all the flags that impact descendants of a + test and place them in the TestExecutionContext. + + + + + The test and its descendants may be run in parallel with others at + the same level. Valid on classes and parameterized methods. + For assemblies it is recommended to use + instead, as has no effect on assemblies. + + + + + Marks an assembly, test fixture or test method as applying to a specific platform. + + + + + Constructor with no platforms specified, for use + with named property syntax. + + + + + Constructor taking one or more platforms + + Comma-delimited list of platforms + + + + Causes a test to be skipped if this PlatformAttribute is not satisfied. + + The test to modify + + + + Attaches information to a test assembly, fixture or method as a name/value pair. + + + + + Construct a PropertyAttribute with a name and string value + + The name of the property + The property value + + + + Construct a PropertyAttribute with a name and int value + + The name of the property + The property value + + + + Construct a PropertyAttribute with a name and double value + + The name of the property + The property value + + + + Constructor for derived classes that set the + property dictionary directly. + + + + + Constructor for use by derived classes that use the + name of the type as the property name. Derived classes + must ensure that the Type of the property value is + a standard type supported by the BCL. Any custom + types will cause a serialization Exception when + in the client. + + + + + Gets the property dictionary for this attribute + + + + + Modifies a test by adding properties to it. + + The test to modify + + + + Supplies a set of random values to a single parameter of a parameterized test. + + + + + If true, no value will be repeated. + + + + + Construct a random set of values appropriate for the Type of the + parameter on which the attribute appears, specifying only the count. + + + + + + Generates values within a specified range. + + + + + Generates values within a specified range. + + + + + Generates values within a specified range. + + + + + Generates values within a specified range. + + + + + Generates values within a specified range. + + + + + Generates values within a specified range. + + + + + Generates values within a specified range. + + + + + Generates values within a specified range. + + + + + Generates values within a specified range. + + + + + Generates values within a specified range. + + + + + Retrieves a list of arguments which can be passed to the specified parameter. + + The parameter of a parameterized test. + + + + Supplies a range of values to an individual parameter of a parameterized test. + + + + + Constructs a range of values using the default step of 1. + + + + + Constructs a range of values with the specified step size. + + + + + Constructs a range of values using the default step of 1. + + + + + Constructs a range of values with the specified step size. + + + + + Constructs a range of values using a default step of 1. + + + + + Constructs a range of values with the specified step size. + + + + + Constructs a range of values using the default step of 1. + + + + + Constructs a range of values with the specified step size. + + + + + Constructs a range of values with the specified step size. + + + + + Constructs a range of values with the specified step size. + + + + + Retrieves a list of arguments which can be passed to the specified parameter. + + The parameter of a parameterized test. + + + Returns a string that represents the current object. + + + + Specifies that a test should be run multiple times. + + + + + Construct a RepeatAttribute + + The number of times to run the test + + + + Wrap a command and return the result. + + The command to be wrapped + The wrapped command + + + + The test command for the RepeatAttribute + + + + + Initializes a new instance of the class. + + The inner command. + The number of repetitions + + + + Runs the test, saving a TestResult in the supplied TestExecutionContext. + + The context in which the test should run. + A TestResult + + + + Marks a test that must run on a separate thread. + + + + + Construct a RequiresThreadAttribute + + + + + Construct a RequiresThreadAttribute, specifying the apartment + + + + + Specifies that a test method should be rerun on failure up to the specified + maximum number of times. + + + + + Construct a + + The maximum number of times the test should be run if it fails + + + + Wrap a command and return the result. + + The command to be wrapped + The wrapped command + + + + The test command for the + + + + + Initializes a new instance of the class. + + The inner command. + The maximum number of repetitions + + + + Runs the test, saving a TestResult in the supplied TestExecutionContext. + + The context in which the test should run. + A TestResult + + + + Marks a test to use a sequential join of any provided argument data. + Arguments will be combined into test cases, taking the next value of + each argument until all are used. + + + + + Default constructor + + + + + Sets the current Culture on an assembly, test fixture or test method for + the duration of a test. The culture remains set until the test or fixture + completes and is then reset to its original value. + + + + + + Construct given the name of a culture + + + + + + Sets the current UI Culture on an assembly, test fixture or test method + for the duration of a test. The UI culture remains set until the test or + fixture completes and is then reset to its original value. + + + + + + Construct given the name of a culture + + + + + + Identifies a method to be called immediately before each test is run. + + + + + Identifies a class as containing or + methods for all the test fixtures + under a given namespace. + + + + + Builds a from the specified type. + + The type info of the fixture to be used. + + + + Marks a test fixture as requiring all child tests to be run on the + same thread as the OneTimeSetUp and OneTimeTearDown. A flag in the + is set forcing all child tests + to be run sequentially on the current thread. + Any setting is ignored. + + + + + Apply changes to the TestExecutionContext + + The TestExecutionContext + + + + Identifies a method to be called immediately after each test is run. + The method is guaranteed to be called, even if an exception is thrown. + + + + + Abstract attribute providing actions to execute before and after tests. + + + + + Executed before each test is run + + The test that is going to be run. + + + + Executed after each test is run + + The test that has just been run. + + + + Provides the target for the action attribute + + + + + Marks a test assembly as needing a special assembly resolution hook that will + explicitly search the test assembly's directory for dependent assemblies. + This works around a conflict between mixed-mode assembly initialization and + tests running in their own AppDomain in some cases. + + + + + Marks the method as callable from the NUnit test runner. + + + + [TestFixture] + public class Fixture + { + [Test] + public void MethodToTest() + {} + + [Test(Description = "more detailed description")] + public void TestDescriptionMethod() + {} + } + + + + + + Descriptive text for this test + + + + + The author of this test + + + + + The type that this test is testing + + + + + Gets or sets the expected result. Not valid if the test + method has parameters. + + The result. + + + + Modifies a test by adding a description, if not already set. + + The test to modify + + + + Builds a single test from the specified method and context. + + The method for which a test is to be constructed. + The suite to which the test will be added. + + + + Marks a method as a parameterized test suite and provides arguments for each test case. + + + + + Construct a TestCaseAttribute with a list of arguments. + This constructor is not CLS-Compliant + + + + + + Construct a TestCaseAttribute with a single argument + + + + + + Construct a TestCaseAttribute with a two arguments + + + + + + + Construct a TestCaseAttribute with a three arguments + + + + + + + + Gets or sets the name of the test. + + The name of the test. + + + + Gets or sets the RunState of this test case. + + + + + Gets the list of arguments to a test case + + + + + Gets the properties of the test case + + + + + Gets or sets the expected result. + + The result. + + + + Returns true if the expected result has been set + + + + + Gets or sets the description. + + The description. + + + + The author of this test + + + + + The type that this test is testing + + + + + Gets or sets the reason for ignoring the test + + + + + Gets or sets a value indicating whether this is explicit. + + + if explicit; otherwise, . + + + + + Gets or sets the reason for not running the test. + + The reason. + + + + Gets or sets the ignore reason. When set to a non-null + non-empty value, the test is marked as ignored. + + The ignore reason. + + + + Comma-delimited list of platforms to run the test for + + + + + Comma-delimited list of platforms to not run the test for + + + + + Gets and sets the category for this test case. + May be a comma-separated list of categories. + + + + + Gets and sets the ignore until date for this test case. + + + + + Performs several special conversions allowed by NUnit in order to + permit arguments with types that cannot be used in the constructor + of an Attribute such as TestCaseAttribute or to simplify their use. + + The arguments to be converted + The ParameterInfo array for the method + + + + Builds a single test from the specified method and context. + + The MethodInfo for which tests are to be constructed. + The suite to which the tests will be added. + + + + Indicates the source to be used to provide test fixture instances for a test class. + + + + + Construct with the name of the method, property or field that will provide data + + The name of a static method, property or field that will provide data. + + + + Construct with a Type and name + + The Type that will provide data + The name of a static method, property or field that will provide data. + A set of parameters passed to the method, works only if the Source Name is a method. + If the source name is a field or property has no effect. + + + + Construct with a Type and name + + The Type that will provide data + The name of a static method, property or field that will provide data. + + + + Construct with a name + + The name of a static method, property or field that will provide data. + A set of parameters passed to the method, works only if the Source Name is a method. + If the source name is a field or property has no effect. + + + + Construct with a Type + + The type that will provide data + + + + A set of parameters passed to the method, works only if the Source Name is a method. + If the source name is a field or property has no effect. + + + + + The name of a the method, property or field to be used as a source + + + + + A Type to be used as a source + + + + + Gets or sets the category associated with every fixture created from + this attribute. May be a single category or a comma-separated list. + + + + + Builds any number of tests from the specified method and context. + + The IMethod for which tests are to be constructed. + The suite to which the tests will be added. + + + + Marks the class as a TestFixture. + + + + + Default constructor + + + + + Construct with a object[] representing a set of arguments. + The arguments may later be separated into type arguments and constructor arguments. + + + + + + Gets or sets the name of the test. + + The name of the test. + + + + Gets or sets the RunState of this test fixture. + + + + + The arguments originally provided to the attribute + + + + + Properties pertaining to this fixture + + + + + Get or set the type arguments. If not set + explicitly, any leading arguments that are + Types are taken as type arguments. + + + + + Descriptive text for this fixture + + + + + The author of this fixture + + + + + The type that this fixture is testing + + + + + Gets or sets the ignore reason. May set RunState as a side effect. + + The ignore reason. + + + + Gets or sets the reason for not running the fixture. + + The reason. + + + + Gets or sets the ignore reason. When set to a non-null + non-empty value, the test is marked as ignored. + + The ignore reason. + + + + Gets or sets a value indicating whether this is explicit. + + + if explicit; otherwise, . + + + + + Gets and sets the category for this fixture. + May be a comma-separated list of categories. + + + + + Builds a single test fixture from the specified type. + + + + + Builds a single test fixture from the specified type. + + The type info of the fixture to be used. + Filter used to select methods as tests. + + + + Identifies the source used to provide test fixture instances for a test class. + + + + + Error message string is public so the tests can use it + + + + + Construct with the name of the method, property or field that will provide data + + The name of a static method, property or field that will provide data. + + + + Construct with a Type and name + + The Type that will provide data + The name of a static method, property or field that will provide data. + + + + Construct with a Type + + The type that will provide data + + + + The name of a the method, property or field to be used as a source + + + + + A Type to be used as a source + + + + + Gets or sets the category associated with every fixture created from + this attribute. May be a single category or a comma-separated list. + + + + + Builds any number of test fixtures from the specified type. + + The TypeInfo for which fixtures are to be constructed. + + + + Builds any number of test fixtures from the specified type. + + The TypeInfo for which fixtures are to be constructed. + PreFilter used to select methods as tests. + + + + Returns a set of ITestFixtureData items for use as arguments + to a parameterized test fixture. + + The type for which data is needed. + + + + + Indicates the method or class the assembly, test fixture or test method is testing. + + + + + Initializes a new instance of the class. + + The type that is being tested. + + + + Initializes a new instance of the class. + + The type that is being tested. + + + + Adding this attribute to a method within a + class makes the method callable from the NUnit test runner. There is a property + called Description which is optional which you can provide a more detailed test + description. This class cannot be inherited. + + + + [TestFixture] + public class Fixture + { + [Test] + public void MethodToTest() + {} + + [Test(Description = "more detailed description")] + public void TestDescriptionMethod() + {} + } + + + + + + Construct the attribute, specifying a combining strategy and source of parameter data. + + + + + Applies a timeout in milliseconds to a test. + When applied to a method, the test is cancelled if the timeout is exceeded. + When applied to a class or assembly, the default timeout is set for all contained test methods. + + + + + Construct a TimeoutAttribute given a time in milliseconds + + The timeout value in milliseconds + + + + Provides literal arguments for an individual parameter of a test. + + + + + The collection of data to be returned. Must + be set by any derived attribute classes. + We use an object[] so that the individual + elements may have their type changed in GetData + if necessary + + + + + Constructs for use with an Enum parameter. Will pass every enum + value in to the test. + + + + + Construct with one argument + + + + + + Construct with two arguments + + + + + + + Construct with three arguments + + + + + + + + Construct with an array of arguments + + + + + + Retrieves a list of arguments which can be passed to the specified parameter. + + The parameter of a parameterized test. + + + + To generate data for Values attribute, in case no data is provided. + + + + + To Check if type is nullable enum. + + + + + Indicates the source used to provide data for one parameter of a test method. + + + + + Construct with the name of the factory - for use with languages + that don't support params arrays. + + The name of a static method, property or field that will provide data. + + + + Construct with a Type and name - for use with languages + that don't support params arrays. + + The Type that will provide data + The name of a static method, property or field that will provide data. + + + + The name of a the method, property or field to be used as a source + + + + + A Type to be used as a source + + + + + Retrieves a list of arguments which can be passed to the specified parameter. + + The parameter of a parameterized test. + + + + A set of Assert methods operating on one or more collections + + + + + DO NOT USE! Use CollectionAssert.AreEqual(...) instead. + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + Asserts that all items contained in collection are of the type specified by expectedType. + + IEnumerable containing objects to be considered + System.Type that all objects in collection must be instances of + + + + Asserts that all items contained in collection are of the type specified by expectedType. + + IEnumerable containing objects to be considered + System.Type that all objects in collection must be instances of + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that all items contained in collection are not equal to null. + + IEnumerable containing objects to be considered + + + + Asserts that all items contained in collection are not equal to null. + + IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Ensures that every object contained in collection exists within the collection + once and only once. + + IEnumerable of objects to be considered + + + + Ensures that every object contained in collection exists within the collection + once and only once. + + IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are equivalent, containing the same objects but the match may be in any order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are equivalent, containing the same objects but the match may be in any order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are not exactly equal. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are not exactly equal. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + + + + Asserts that expected and actual are not exactly equal. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are not exactly equal. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are not equivalent. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are not equivalent. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that collection contains actual as an item. + + IEnumerable of objects to be considered + Object to be found within collection + + + + Asserts that collection contains actual as an item. + + IEnumerable of objects to be considered + Object to be found within collection + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that collection does not contain actual as an item. + + IEnumerable of objects to be considered + Object that cannot exist within collection + + + + Asserts that collection does not contain actual as an item. + + IEnumerable of objects to be considered + Object that cannot exist within collection + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the superset does not contain the subset + + The IEnumerable subset to be considered + The IEnumerable superset to be considered + + + + Asserts that the superset does not contain the subset + + The IEnumerable subset to be considered + The IEnumerable superset to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the superset contains the subset. + + The IEnumerable subset to be considered + The IEnumerable superset to be considered + + + + Asserts that the superset contains the subset. + + The IEnumerable subset to be considered + The IEnumerable superset to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the subset does not contain the superset + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + + + + Asserts that the subset does not contain the superset + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the subset contains the superset. + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + + + + Asserts that the subset contains the superset. + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array, list or other collection is empty + + An array, list or other collection implementing IEnumerable + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array,list or other collection is empty + + An array, list or other collection implementing IEnumerable + + + + Assert that an array, list or other collection is empty + + An array, list or other collection implementing IEnumerable + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array,list or other collection is empty + + An array, list or other collection implementing IEnumerable + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + A custom comparer to perform the comparisons + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + A custom comparer to perform the comparisons + + + + AllItemsConstraint applies another constraint to each + item in a collection, succeeding if they all succeed. + + + + + Construct an AllItemsConstraint on top of an existing constraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the item constraint to each item in the collection, + failing if any item fails. + + + + + + + AndConstraint succeeds only if both members succeed. + + + + + Create an AndConstraint from two other constraints + + The first constraint + The second constraint + + + + Gets text describing a constraint + + + + + Apply both member constraints to an actual value, succeeding + succeeding only if both of them succeed. + + The actual value + True if the constraints both succeeded + + + + Write the actual value for a failing constraint test to a + MessageWriter. The default implementation simply writes + the raw value of actual, leaving it to the writer to + perform any formatting. + + The writer on which the actual value is displayed + + + + is used to determine whether the value is equal to any of the expected values. + + + + + Construct a + + Collection of expected values + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether item is present in expected collection + + Actual item type + Actual item + + + + Flag the constraint to ignore case and return self. + + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + + + + Flag the constraint to use the supplied Comparison object. + + The Comparison object to use. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IEqualityComparer object to use. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + + + + Flag the constraint to use the supplied boolean-returning delegate. + + The supplied boolean-returning delegate to use. + + + + AssignableFromConstraint is used to test that an object + can be assigned from a given Type. + + + + + Construct an AssignableFromConstraint for the type provided + + + + + + Apply the constraint to an actual value, returning true if it succeeds + + The actual argument + True if the constraint succeeds, otherwise false. + + + + AssignableToConstraint is used to test that an object + can be assigned to a given Type. + + + + + Construct an AssignableToConstraint for the type provided + + + + + + Apply the constraint to an actual value, returning true if it succeeds + + The actual argument + True if the constraint succeeds, otherwise false. + + + + AttributeConstraint tests that a specified attribute is present + on a Type or other provider and that the value of the attribute + satisfies some other constraint. + + + + + Constructs an AttributeConstraint for a specified attribute + Type and base constraint. + + + + + + + Determines whether the Type or other provider has the + expected attribute and if its value matches the + additional constraint specified. + + + + + Returns a string representation of the constraint. + + + + + AttributeExistsConstraint tests for the presence of a + specified attribute on a Type. + + + + + Constructs an AttributeExistsConstraint for a specific attribute Type + + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Tests whether the object provides the expected attribute. + + A Type, MethodInfo, or other ICustomAttributeProvider + True if the expected attribute is present, otherwise false + + + + BinaryConstraint is the abstract base of all constraints + that combine two other constraints in some fashion. + + + + + The first constraint being combined + + + + + The second constraint being combined + + + + + Construct a BinaryConstraint from two other constraints + + The first constraint + The second constraint + + + + BinarySerializableConstraint tests whether + an object is serializable in binary format. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Returns the string representation + + + + + CollectionConstraint is the abstract base class for + constraints that operate on collections. + + + + + Construct an empty CollectionConstraint + + + + + Construct a CollectionConstraint + + + + + + Determines whether the specified enumerable is empty. + + The enumerable. + + if the specified enumerable is empty; otherwise, . + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Protected method to be implemented by derived classes + + + + + + + CollectionContainsConstraint is used to test whether a collection + contains an expected object as a member. + + + + + Construct a CollectionContainsConstraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Gets the expected object + + + + + Test whether the expected item is contained in the collection + + + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + + CollectionEquivalentConstraint is used to determine whether two + collections are equivalent. + + + + The result of the from the collections + under comparison. + + + Construct a CollectionEquivalentConstraint + Expected collection. + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether two collections are equivalent + + + + + + + Test whether the collection is equivalent to the expected. + + + Actual collection type. + + + Actual collection to compare. + + + A indicating whether or not + the two collections are equivalent. + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + Provides a for the . + + + Result of a of the collections to compare for equivalence. + + + Construct a using a . + Source . + Result of the collection comparison. + Actual collection to compare. + Whether or not the succeeded. + + + Write any additional lines (following Expected: and But was:) for a failing constraint. + The to write the failure message to. + + + + CollectionItemsEqualConstraint is the abstract base class for all + collection constraints that apply some notion of item equality + as a part of their operation. + + + + + The NUnitEqualityComparer in use for this constraint + + + + + Construct an empty CollectionConstraint + + + + + Construct a CollectionConstraint + + + + + + Get a flag indicating whether the user requested us to ignore case. + + + + + Get a flag indicating whether any external comparers are in use. + + + + + Flag the constraint to ignore case and return self. + + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + + + + Flag the constraint to use the supplied Comparison object. + + The Comparison object to use. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + + + + Flag the constraint to use the supplied boolean-returning delegate. + + The supplied boolean-returning delegate to use. + + + + Compares two collection members for equality + + + + + Return a new CollectionTally for use in making tests + + The collection to be included in the tally + + + + CollectionOrderedConstraint is used to test whether a collection is ordered. + + + + + Construct a CollectionOrderedConstraint + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + If used performs a default ascending comparison + + + + + If used performs a reverse comparison + + + + + Modifies the constraint to use an and returns self. + + + + + Modifies the constraint to use an and returns self. + + + + + Modifies the constraint to use a and returns self. + + + + + Modifies the constraint to test ordering by the value of + a specified property and returns self. + + + + + Then signals a break between two ordering steps + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Test whether the collection is ordered + + + + + Returns the string representation of the constraint. + + + + + + An OrderingStep represents one stage of the sort + + + + + Constructor for success result. + + The Constraint to which this result applies. + The actual value to which the Constraint was applied. + + + + Constructor for failure result. + + The Constraint to which this result applies. + The actual value to which the Constraint was applied. + Index at which collection order breaks. + Value at which collection order breaks. + + + + CollectionSubsetConstraint is used to determine whether + one collection is a subset of another + + + + + Construct a CollectionSubsetConstraint + + The collection that the actual value is expected to be a subset of + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the actual collection is a subset of + the expected collection provided. + + + + + + + Test whether the constraint is satisfied by a given value. + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + + CollectionSupersetConstraint is used to determine whether + one collection is a superset of another + + + + + Construct a CollectionSupersetConstraint + + The collection that the actual value is expected to be a superset of + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the actual collection is a superset of + the expected collection provided. + + + + + + + Test whether the constraint is satisfied by a given value. + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + counts (tallies) the number of occurrences + of each object in one or more enumerations. + + + The result of a . + + + Items that were not in the expected collection. + + + Items that were not accounted for in the expected collection. + + + Initializes a new instance of the class with the given fields. + + + The result of the comparison between the two collections. + + + Construct a CollectionTally object from a comparer and a collection. + The comparer to use for equality. + The expected collection to compare against. + + + Try to remove an object from the tally. + The object to remove. + + + Try to remove a set of objects from the tally. + The objects to remove. + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Flag indicating whether or not this is the top level comparison. + + + + + A list of tracked comparisons + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two types related by . + + + + + Interface for comparing two s. + + + + + Method for comparing two objects with a tolerance. + + The first object to compare. + The second object to compare. + The tolerance to use when comparing the objects. + The evaluation state of the comparison. + + if the objects cannot be compared using the method. + Otherwise the result of the comparison is returned. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s or s. + + + + + Comparator for two Tuples. + + + + + Base class for comparators for tuples (both regular Tuples and ValueTuples). + + + + + Comparator for two ValueTuples. + + + + + ComparisonAdapter class centralizes all comparisons of + values in NUnit, adapting to the use of any provided + , + or . + + + + + Gets the default ComparisonAdapter, which wraps an + NUnitComparer object. + + + + + Returns a ComparisonAdapter that wraps an + + + + + Returns a ComparisonAdapter that wraps an + + + + + Returns a ComparisonAdapter that wraps a + + + + + Compares two objects + + + + + Construct a default ComparisonAdapter + + + + + Construct a ComparisonAdapter for an + + + + + Compares two objects + + + + + + + + ComparerAdapter extends and + allows use of an or + to actually perform the comparison. + + + + + Construct a ComparisonAdapter for an + + + + + Compare a Type T to an object + + + + + Construct a ComparisonAdapter for a + + + + + Compare a Type T to an object + + + + + Abstract base class for constraints that compare values to + determine if one is greater than, equal to or less than + the other. + + + + + The value against which a comparison is to be made + + + + + Tolerance used in making the comparison + + + + + ComparisonAdapter to be used in making the comparison + + + + + Initializes a new instance of the class. + + The value against which to make a comparison. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + A ConstraintResult + + + + Protected function overridden by derived class to actually perform the comparison + + + + + Modifies the constraint to use an and returns self + + The comparer used for comparison tests + A constraint modified to use the given comparer + + + + Modifies the constraint to use an and returns self + + The comparer used for comparison tests + A constraint modified to use the given comparer + + + + Modifies the constraint to use a and returns self + + The comparer used for comparison tests + A constraint modified to use the given comparer + + + + Set the tolerance for use in this comparison + + + + + Switches the .Within() modifier to interpret its tolerance as + a percentage that the actual values is allowed to deviate from + the expected value. + + Self + + + + Provides standard description of what the constraint tests + based on comparison text. + + Describes the comparison being tested, throws + if null + Is thrown when null passed to a method + + + + Delegate used to delay evaluation of the actual value + to be used in evaluating a constraint + + + + + The Constraint class is the base of all built-in constraints + within NUnit. It provides the operator overloads used to combine + constraints. + + + + + Construct a constraint with optional arguments + + Arguments to be saved + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Arguments provided to this Constraint, for use in + formatting the description. + + + + + The ConstraintBuilder holding this constraint + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + Applies the constraint to an ActualValueDelegate that returns + the value to be tested. The default implementation simply evaluates + the delegate but derived classes may override it to provide for + delayed processing. + + An ActualValueDelegate + A ConstraintResult + + + + Test whether the constraint is satisfied by a given reference. + The default implementation simply dereferences the value but + derived classes may override it to provide for delayed processing. + + A reference to the value to be tested + A ConstraintResult + + + + Retrieves the value to be tested from an ActualValueDelegate. + The default implementation simply evaluates the delegate but derived + classes may override it to provide for delayed processing. + + An ActualValueDelegate + Delegate evaluation result + + + + Default override of ToString returns the constraint DisplayName + followed by any arguments within angle brackets. + + + + + + Returns the string representation of this constraint + + + + + This operator creates a constraint that is satisfied only if both + argument constraints are satisfied. + + + + + This operator creates a constraint that is satisfied if either + of the argument constraints is satisfied. + + + + + This operator creates a constraint that is satisfied if the + argument constraint is not satisfied. + + + + + Returns a ConstraintExpression by appending And + to the current constraint. + + + + + Returns a ConstraintExpression by appending And + to the current constraint. + + + + + Returns a ConstraintExpression by appending Or + to the current constraint. + + + + + Returns a DelayedConstraint.WithRawDelayInterval with the specified delay time. + + The delay, which defaults to milliseconds. + + + + + Returns a DelayedConstraint with the specified delay time + and polling interval. + + The delay in milliseconds. + The interval at which to test the constraint. + + + + + Resolves any pending operators and returns the resolved constraint. + + + + + ConstraintBuilder maintains the stacks that are used in + processing a ConstraintExpression. An OperatorStack + is used to hold operators that are waiting for their + operands to be reorganized. a ConstraintStack holds + input constraints as well as the results of each + operator applied. + + + + + OperatorStack is a type-safe stack for holding ConstraintOperators + + + + + Initializes a new instance of the class. + + The ConstraintBuilder using this stack. + + + + Gets a value indicating whether this is empty. + + if empty; otherwise, . + + + + Gets the topmost operator without modifying the stack. + + + + + Pushes the specified operator onto the stack. + + The operator to put onto the stack. + + + + Pops the topmost operator from the stack. + + The topmost operator on the stack + + + + ConstraintStack is a type-safe stack for holding Constraints + + + + + Initializes a new instance of the class. + + The ConstraintBuilder using this stack. + + + + Gets a value indicating whether this is empty. + + if empty; otherwise, . + + + + Pushes the specified constraint. As a side effect, + the constraint's Builder field is set to the + ConstraintBuilder owning this stack. + + The constraint to put onto the stack + + + + Pops this topmost constraint from the stack. + As a side effect, the constraint's Builder + field is set to null. + + The topmost constraint on the stack + + + + Initializes a new instance of the class. + + + + + Appends the specified operator to the expression by first + reducing the operator stack and then pushing the new + operator on the stack. + + The operator to push. + + + + Appends the specified constraint to the expression by pushing + it on the constraint stack. + + The constraint to push. + + + + Sets the top operator right context. + + The right context. + + + + Reduces the operator stack until the topmost item + precedence is greater than or equal to the target precedence. + + The target precedence. + + + + Resolves this instance, returning a Constraint. If the Builder + is not currently in a resolvable state, an exception is thrown. + + The resolved constraint + + + + Gets a value indicating whether this instance is resolvable. + + + if this instance is resolvable; otherwise, . + + + + + ConstraintExpression represents a compound constraint in the + process of being constructed from a series of syntactic elements. + + Individual elements are appended to the expression as they are + reorganized. When a constraint is appended, it is returned as the + value of the operation so that modifiers may be applied. However, + any partially built expression is attached to the constraint for + later resolution. When an operator is appended, the partial + expression is returned. If it's a self-resolving operator, then + a ResolvableConstraintExpression is returned. + + + + + The ConstraintBuilder holding the elements recognized so far + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the + class passing in a ConstraintBuilder, which may be pre-populated. + + The builder. + + + + Returns a string representation of the expression as it + currently stands. This should only be used for testing, + since it has the side-effect of resolving the expression. + + + + + + Appends an operator to the expression and returns the + resulting expression itself. + + + + + Appends a self-resolving operator to the expression and + returns a new ResolvableConstraintExpression. + + + + + Appends a constraint to the expression and returns that + constraint, which is associated with the current state + of the expression being built. Note that the constraint + is not reduced at this time. For example, if there + is a NotOperator on the stack we don't reduce and + return a NotConstraint. The original constraint must + be returned because it may support modifiers that + are yet to be applied. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if at least one of them succeeds. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them fail. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding only if a specified number of them succeed. + + + + + Returns a , which will + apply the following constraint to a collection of length one, succeeding + only if exactly one of them succeeds. + + + + + Returns a new PropertyConstraintExpression, which will either + test for the existence of the named property on the object + being tested or apply any following constraint to that property. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Length property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Count property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Message property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the InnerException property of the object being tested. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + With is currently a NOP - reserved for future use. + + + + + Returns the constraint provided as an argument - used to allow custom + custom constraints to easily participate in the syntax. + + + + + Returns the constraint provided as an argument - used to allow custom + custom constraints to easily participate in the syntax. + + + + + Returns a constraint that tests for null + + + + + Returns a constraint that tests for True + + + + + Returns a constraint that tests for False + + + + + Returns a constraint that tests for a positive value + + + + + Returns a constraint that tests for a negative value + + + + + Returns a constraint that tests if item is equal to zero + + + + + Returns a constraint that tests for NaN + + + + + Returns a constraint that tests for empty + + + + + Returns a constraint that tests whether a collection + contains all unique items. + + + + + Returns a constraint that tests whether an object graph is serializable in binary format. + + + + + Returns a constraint that tests whether an object graph is serializable in XML format. + + + + + Returns a constraint that tests two items for equality + + + + + Returns a constraint that tests that two references are the same object + + + + + Returns a constraint that tests whether the + actual value is greater than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a collection containing the same elements as the + collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a subset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a superset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether a collection is ordered + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + To search for a substring instead of a collection element, use the + overload. + + + + + + + Returns a new ContainsConstraint. This constraint + will, in turn, make use of the appropriate second-level + constraint, depending on the type of the actual argument. + + + To search for a collection element instead of a substring, use the + overload. + + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + + + Returns a new ContainsConstraint. This constraint + will, in turn, make use of the appropriate second-level + constraint, depending on the type of the actual argument. + This overload is only used if the item sought is a string, + since any other type implies that we are looking for a + collection member. + + + + + Returns a new DictionaryContainsKeyConstraint checking for the + presence of a particular key in the Dictionary key collection. + + The key to be matched in the Dictionary key collection + + + + Returns a new DictionaryContainsValueConstraint checking for the + presence of a particular value in the Dictionary value collection. + + The value to be matched in the Dictionary value collection + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that tests whether the path provided + is the same as an expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is the a subpath of the expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is the same path or under an expected path after canonicalization. + + + + + Returns a constraint that tests whether the actual value falls + inclusively within a specified range. + + Inclusive beginning of the range. + Inclusive end of the range. + + + + Returns a constraint that succeeds if the value + is a file or directory and it exists. + + + + + Returns a constraint that tests if an item is equal to any of parameters + + Expected values + + + + Returns a new IndexerConstraintExpression, which will + apply any following constraint to that indexer value. + + Index accessor values. + + + + ConstraintStatus represents the status of a ConstraintResult + returned by a Constraint being applied to an actual value. + + + + + The status has not yet been set + + + + + The constraint succeeded + + + + + The constraint failed + + + + + An error occurred in applying the constraint (reserved for future use) + + + + + Contains the result of matching a against an actual value. + + + + + Constructs a for a particular . + + The Constraint to which this result applies. + The actual value to which the Constraint was applied. + + + + Constructs a for a particular . + + The Constraint to which this result applies. + The actual value to which the Constraint was applied. + The status of the new ConstraintResult. + + + + Constructs a for a particular . + + The Constraint to which this result applies. + The actual value to which the Constraint was applied. + If true, applies a status of Success to the result, otherwise Failure. + + + + The actual value that was passed to the method. + + + + + Gets and sets the ResultStatus for this result. + + + + + True if actual value meets the Constraint criteria otherwise false. + + + + + Display friendly name of the constraint. + + + + + Description of the constraint may be affected by the state the constraint had + when was performed against the actual value. + + + + + Write the failure message to the MessageWriter provided + as an argument. The default implementation simply passes + the result and the actual value to the writer, which + then displays the constraint description and the value. + + Constraints that need to provide additional details, + such as where the error occurred, can override this. + + The MessageWriter on which to display the message + + + + Write some additional failure message. + + The MessageWriter on which to display the message + + + + Write the actual value for a failing constraint test to a + MessageWriter. The default implementation simply writes + the raw value of actual, leaving it to the writer to + perform any formatting. + + The writer on which the actual value is displayed + + + + ContainsConstraint tests a whether a string contains a substring + or a collection contains an object. It postpones the decision of + which test to use until the type of the actual argument is known. + This allows testing whether a string is contained in a collection + or as a substring of another string using the same syntax. + + + + + Initializes a new instance of the class. + + The expected value contained within the string/collection. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Flag the constraint to ignore case and return self. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + The DateTimes class contains common operations on Date and Time values. + + + + + Applies a delay to the match so that a match can be evaluated in the future. + + + + + Allows only changing the time dimension of delay interval and setting a polling interval of a DelayedConstraint + + + + + Creates a new DelayedConstraint.WithRawDelayInterval + + Parent DelayedConstraint on which delay interval dimension is required to be set + + + + Changes delay interval dimension to minutes + + + + + Changes delay interval dimension to seconds + + + + + Changes delay interval dimension to milliseconds + + + + + Set polling interval, in milliseconds + + A time interval, in milliseconds + + + + + Allows only setting the polling interval of a DelayedConstraint + + + + + Creates a new DelayedConstraint.WithDimensionedDelayInterval + + Parent DelayedConstraint on which polling interval is required to be set + + + + Set polling interval, in milliseconds + + A time interval, in milliseconds + + + + + Allows only changing the time dimension of the polling interval of a DelayedConstraint + + + + + Creates a new DelayedConstraint.WithRawPollingInterval + + Parent DelayedConstraint on which polling dimension is required to be set + + + + Changes polling interval dimension to minutes + + + + + Changes polling interval dimension to seconds + + + + + Changes polling interval dimension to milliseconds + + + + + Delay value store as an Interval object + + + + + Polling value stored as an Interval object + + + + + Creates a new DelayedConstraint + + The inner constraint to decorate + The time interval after which the match is performed + If the value of is less than 0 + + + + Creates a new DelayedConstraint + + The inner constraint to decorate + The time interval after which the match is performed, in milliseconds + The time interval used for polling, in milliseconds + If the value of is less than 0 + + + + Gets text describing a constraint + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for if the base constraint fails, false if it succeeds + + + + Test whether the constraint is satisfied by a delegate + + The delegate whose value is to be tested + A ConstraintResult + + + + Test whether the constraint is satisfied by a given reference. + Overridden to wait for the specified delay period before + calling the base constraint with the dereferenced value. + + A reference to the value to be tested + True for success, false for failure + + + + Returns the string representation of the constraint. + + + + + Adjusts a Timestamp by a given TimeSpan + + + + + + + + Returns the difference between two Timestamps as a TimeSpan + + + + + + + + DictionaryContainsKeyConstraint is used to test whether a dictionary + contains an expected object as a key. + + + + + Construct a DictionaryContainsKeyConstraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Gets the expected object + + + + + Returns a new DictionaryContainsKeyValuePairConstraint checking for the + presence of a particular key-value-pair in the dictionary. + + + + + Flag the constraint to ignore case and return self. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + + + + Test whether the expected key is contained in the dictionary + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + + + + Flag the constraint to use the supplied Comparison object. + + The Comparison object to use. + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + + + + Flag the constraint to use the supplied boolean-returning delegate. + + The supplied boolean-returning delegate to use. + + + + DictionaryContainsKeyValuePairConstraint is used to test whether a dictionary + contains an expected object as a key-value-pair. + + + + + Construct a DictionaryContainsKeyValuePairConstraint + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + + + + Test whether the expected key is contained in the dictionary + + + + + DictionaryContainsValueConstraint is used to test whether a dictionary + contains an expected object as a value. + + + + + Construct a DictionaryContainsValueConstraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Gets the expected object + + + + + Test whether the expected value is contained in the dictionary + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + + Provides a for the constraints + that are applied to each item in the collection + + + + + Constructs a for a particular + Only used for Failure + + The Constraint to which this result applies + The actual value to which the Constraint was applied + Actual item that does not match expected condition + Non matching item index + + + + Write constraint description, actual items, and non-matching item + + The MessageWriter on which to display the message + + + + EmptyCollectionConstraint tests whether a collection is empty. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Check that the collection is empty + + + + + + + EmptyConstraint tests a whether a string or collection is empty, + postponing the decision about which test is applied until the + type of the actual argument is known. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + EmptyDirectoryConstraint is used to test that a directory is empty + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + EmptyGuidConstraint tests whether a Guid is empty. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + EmptyStringConstraint tests whether a string is empty. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + EndsWithConstraint can test whether a string ends + with an expected substring. + + + + + Initializes a new instance of the class. + + The expected string + + + + Test whether the constraint is matched by the actual value. + This is a template method, which calls the IsMatch method + of the derived class. + + + + + + + EqualConstraint is able to compare an actual value with the + expected value provided in its constructor. Two objects are + considered equal if both are null, or if both have the same + value. NUnit has special semantics for some object types. + + + + + NUnitEqualityComparer used to test equality. + + + + + Initializes a new instance of the class. + + The expected value. + + + + Gets the tolerance for this comparison. + + + The tolerance. + + + + + Gets a value indicating whether to compare case insensitive. + + + if comparing case insensitive; otherwise, . + + + + + Gets a value indicating whether or not to clip strings. + + + if set to clip strings otherwise, . + + + + + Gets the failure points. + + + The failure points. + + + + + Flag the constraint to ignore case and return self. + + + + + Flag the constraint to suppress string clipping + and return self. + + + + + Flag the constraint to compare arrays as collections + and return self. + + + + + Flag the constraint to use a tolerance when determining equality. + + Tolerance value to be used + Self. + + + + Flags the constraint to include + property in comparison of two values. + + + Using this modifier does not allow to use the + constraint modifier. + + + + + Switches the .Within() modifier to interpret its tolerance as + a distance in representable values (see remarks). + + Self. + + Ulp stands for "unit in the last place" and describes the minimum + amount a given value can change. For any integers, an ulp is 1 whole + digit. For floating point values, the accuracy of which is better + for smaller numbers and worse for larger numbers, an ulp depends + on the size of the number. Using ulps for comparison of floating + point results instead of fixed tolerances is safer because it will + automatically compensate for the added inaccuracy of larger numbers. + + + + + Switches the .Within() modifier to interpret its tolerance as + a percentage that the actual values is allowed to deviate from + the expected value. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in days. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in hours. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in minutes. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in seconds. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in milliseconds. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in clock ticks. + + Self + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied boolean-returning delegate. + + The boolean-returning delegate to use. + Self. + + + + Flag the constraint to use the supplied Comparison object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + The EqualConstraintResult class is tailored for formatting + and displaying the result of an EqualConstraint. + + + + + Construct an EqualConstraintResult + + + + + Write a failure message. Overridden to provide custom + failure messages for EqualConstraint. + + The MessageWriter to write to + + + + Display the failure information for two collections that did not match. + + The MessageWriter on which to display + The expected collection. + The actual collection + The depth of this failure in a set of nested collections + + + + Displays a single line showing the types and sizes of the expected + and actual collections or arrays. If both are identical, the value is + only shown once. + + The MessageWriter on which to display + The expected collection or array + The actual collection or array + The indentation level for the message line + + + + Displays a single line showing the point in the expected and actual + arrays at which the comparison failed. If the arrays have different + structures or dimensions, both values are shown. + + The MessageWriter on which to display + The expected array + The actual array + Index of the failure point in the underlying collections + The indentation level for the message line + + + + Display the failure information for two IEnumerables that did not match. + + The MessageWriter on which to display + The expected enumeration. + The actual enumeration + The depth of this failure in a set of nested collections + + + + EqualityAdapter class handles all equality comparisons + that use an , + or a . + + + + + Compares two objects, returning true if they are equal + + + + + Returns true if the two objects can be compared by this adapter. + The base adapter cannot handle IEnumerables except for strings. + + + + + Returns an that wraps an . + + + + + that wraps an . + + + + + Returns an that wraps an . + + + + + Returns an EqualityAdapter that uses a predicate function for items comparison. + + + + + + + + + Returns true if the two objects can be compared by this adapter. + The base adapter cannot handle IEnumerables except for strings. + + + + + Compares two objects, returning true if they are equal + + + + + Returns true if the two objects can be compared by this adapter. + Generic adapter requires objects of the specified type. + + + + + Returns an that wraps an . + + + + + Returns an that wraps an . + + + + + that wraps an . + + + + + Returns an that wraps a . + + + + + ExactCountConstraint applies another constraint to each + item in a collection, succeeding only if a specified + number of items succeed. + + + + + Construct a standalone ExactCountConstraint + + + + + + Construct an ExactCountConstraint on top of an existing constraint + + + + + + + Apply the item constraint to each item in the collection, + succeeding only if the expected number of items pass. + + The value to be tested + A ConstraintResult + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Contain the result of matching a against an actual value. + + + + + The count of matched items of the + + + + + A list with maximum count (+1) of items of the + + + + + Constructs a for a . + + The Constraint to which this result applies. + The actual value to which the Constraint was applied. + If true, applies a status of Success to the result, otherwise Failure. + Count of matched items of the + A list with maximum count (+1) of items of the + + + + Write the actual value for a failing constraint test to a MessageWriter. + + The writer on which the actual value is displayed + + + + ExactTypeConstraint is used to test that an object + is of the exact type provided in the constructor + + + + + Construct an ExactTypeConstraint for a given Type + + The expected Type. + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the constraint to an actual value, returning true if it succeeds + + The actual argument + True if the constraint succeeds, otherwise false. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + ExceptionTypeConstraint is a special version of ExactTypeConstraint + used to provided detailed info about the exception thrown in + an error message. + + + + + Constructs an ExceptionTypeConstraint + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + FalseConstraint tests that the actual value is false + + + + + Initializes a new instance of the class. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + FileExistsConstraint is used to determine if a file exists + + + + + Initializes a new instance of the class. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + FileOrDirectoryExistsConstraint is used to determine if a file or directory exists + + + + + If true, the constraint will only check if files exist, not directories + + + + + If true, the constraint will only check if directories exist, not files + + + + + Initializes a new instance of the class that + will check files and directories. + + + + + Initializes a new instance of the class that + will only check files if ignoreDirectories is true. + + if set to [ignore directories]. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + Helper routines for working with floating point numbers + + + The floating point comparison code is based on this excellent article: + https://randomascii.wordpress.com/2012/02/25/comparing-floating-point-numbers-2012-edition/ + + + "ULP" means Unit in the Last Place and in the context of this library refers to + the distance between two adjacent floating point numbers. IEEE floating point + numbers can only represent a finite subset of natural numbers, with greater + accuracy for smaller numbers and lower accuracy for very large numbers. + + + If a comparison is allowed "2 ulps" of deviation, that means the values are + allowed to deviate by up to 2 adjacent floating point values, which might be + as low as 0.0000001 for small numbers or as high as 10.0 for large numbers. + + + + + Union of a floating point variable and an integer + + + The union's value as a floating point variable + + + The union's value as an integer + + + The union's value as an unsigned integer + + + Union of a double precision floating point variable and a long + + + The union's value as a double precision floating point variable + + + The union's value as a long + + + The union's value as an unsigned long + + + Compares two floating point values for equality + First floating point value to be compared + Second floating point value t be compared + + Maximum number of representable floating point values that are allowed to + be between the left and the right floating point values + + True if both numbers are equal or close to being equal + + + Floating point values can only represent a finite subset of natural numbers. + For example, the values 2.00000000 and 2.00000024 can be stored in a float, + but nothing between them. + + + This comparison will count how many possible floating point values are between + the left and the right number. If the number of possible values between both + numbers is less than or equal to maxUlps, then the numbers are considered as + being equal. + + + Implementation partially follows the code outlined here: + http://www.anttirt.net/2007/08/19/proper-floating-point-comparisons/ + + + + + Compares two double precision floating point values for equality + First double precision floating point value to be compared + Second double precision floating point value t be compared + + Maximum number of representable double precision floating point values that are + allowed to be between the left and the right double precision floating point values + + True if both numbers are equal or close to being equal + + + Double precision floating point values can only represent a limited series of + natural numbers. For example, the values 2.0000000000000000 and 2.0000000000000004 + can be stored in a double, but nothing between them. + + + This comparison will count how many possible double precision floating point + values are between the left and the right number. If the number of possible + values between both numbers is less than or equal to maxUlps, then the numbers + are considered as being equal. + + + Implementation partially follows the code outlined here: + http://www.anttirt.net/2007/08/19/proper-floating-point-comparisons/ + + + + + + Tests whether a value is greater than the value supplied to its constructor + + + + + Initializes a new instance of the class. + + The expected value. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Perform the comparison + + + + + Tests whether a value is greater than or equal to the value supplied to its constructor + + + + + Initializes a new instance of the class. + + The expected value. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Perform the comparison + + + + + Interface for all constraints + + + + + The display name of this Constraint for use by ToString(). + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Arguments provided to this Constraint, for use in + formatting the description. + + + + + The ConstraintBuilder holding this constraint + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + Applies the constraint to an ActualValueDelegate that returns + the value to be tested. The default implementation simply evaluates + the delegate but derived classes may override it to provide for + delayed processing. + + An ActualValueDelegate + A ConstraintResult + + + + Test whether the constraint is satisfied by a given reference. + The default implementation simply dereferences the value but + derived classes may override it to provide for delayed processing. + + A reference to the value to be tested + A ConstraintResult + + + + IndexerConstraint extracts a named property and uses + its value as the actual value for a chained constraint. + + + + + Initializes a new instance of the class. + + The argument list for the indexer. + The constraint to apply to the indexer. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + + + + Returns the string representation of the constraint. + + + + + InstanceOfTypeConstraint is used to test that an object + is of the same type provided or derived from it. + + + + + Construct an InstanceOfTypeConstraint for the type provided + + The expected Type + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the constraint to an actual value, returning true if it succeeds + + The actual argument + True if the constraint succeeds, otherwise false. + + + + Keeps track of an interval time which can be represented in + Minutes, Seconds or Milliseconds + + + + + Constructs a interval given an value in milliseconds + + + + + Gets Interval value represented as a TimeSpan object + + + + + Returns the interval with the current value as a number of minutes. + + + + + Returns the interval with the current value as a number of seconds. + + + + + Returns the interval with the current value as a number of milliseconds. + + + + + Is true for intervals created with a non-zero value + + + + + Returns a string that represents the current object. + + + A string that represents the current object. + + + + + IntervalUnit provides the semantics to the value stored in Interval class. + + + + + Unit representing an Interval in minutes + + + + + Unit representing an Interval in seconds + + + + + Unit representing an Interval in milliseconds + + + + + The IResolveConstraint interface is implemented by all + complete and resolvable constraints and expressions. + + + + + Return the top-level constraint for this expression + + + + + + An extension of ResolvableConstraintExpression that adds a no-op Items property for readability. + + + + + Create a new instance of ItemsConstraintExpression + + + + + Create a new instance of ResolvableConstraintExpression, + passing in a pre-populated ConstraintBuilder. + + + + + + No-op property for readability. + + + + + Tests whether a value is less than the value supplied to its constructor + + + + + Initializes a new instance of the class. + + The expected value. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Perform the comparison + + + + + Tests whether a value is less than or equal to the value supplied to its constructor + + + + + Initializes a new instance of the class. + + The expected value. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Perform the comparison + + + + + MessageWriter is the abstract base for classes that write + constraint descriptions and messages in some form. The + class has separate methods for writing various components + of a message, allowing implementations to tailor the + presentation as needed. + + + + + Construct a MessageWriter given a culture + + + + + Abstract method to get the max line length + + + + + Method to write single line message with optional args, usually + written to precede the general failure message. + + The message to be written + Any arguments used in formatting the message + + + + Method to write single line message with optional args, usually + written to precede the general failure message, at a given + indentation level. + + The indentation level of the message + The message to be written + Any arguments used in formatting the message + + + + Display Expected and Actual lines for a constraint. This + is called by MessageWriter's default implementation of + WriteMessageTo and provides the generic two-line display. + + The failing constraint result + + + + Display Expected and Actual lines for given values. This + method may be called by constraints that need more control over + the display of actual and expected values than is provided + by the default implementation. + + The expected value + The actual value causing the failure + + + + Display Expected and Actual lines for given values, including + a tolerance value on the Expected line. + + The expected value + The actual value causing the failure + The tolerance within which the test was made + + + + Display the expected and actual string values on separate lines. + If the mismatch parameter is >=0, an additional line is displayed + line containing a caret that points to the mismatch point. + + The expected string value + The actual string value + The point at which the strings don't match or -1 + If true, case is ignored in locating the point where the strings differ + If true, the strings should be clipped to fit the line + + + + Writes the text for an actual value. + + The actual value. + + + + Writes the text for a generalized value. + + The value. + + + + Writes the text for a collection value, + starting at a particular point, to a max length + + The collection containing elements to write. + The starting point of the elements to write + The maximum number of elements to write + + + + Custom value formatter function + + The value + + + + + Custom value formatter factory function + + The next formatter function + ValueFormatter + If the given formatter is unable to handle a certain format, it must call the next formatter in the chain + + + + Static methods used in creating messages + + + + + Default amount of items used by method. + + + + + Static string used when strings are clipped + + + + + Formatting strings used for expected and actual values + + + + + Current head of chain of value formatters. Public for testing. + + + + + Add a formatter to the chain of responsibility. + + + + + + Formats text to represent a generalized value. + + The value + The formatted text + + + + Formats text for a collection value, + starting at a particular point, to a max length + + The collection containing elements to write. + The starting point of the elements to write + The maximum number of elements to write + + + + Returns the representation of a type as used in NUnitLite. + This is the same as Type.ToString() except for arrays, + which are displayed with their declared sizes. + + + + + + + Converts any control characters in a string + to their escaped representation. + + The string to be converted + The converted string + + + + Converts any null characters in a string + to their escaped representation. + + The string to be converted + The converted string + + + + Return the a string representation for a set of indices into an array + + Array of indices for which a string is needed + + + + Get an array of indices representing the point in a collection or + array corresponding to a single int index into the collection. + + The collection to which the indices apply + Index in the collection + Array of indices + + + + Clip a string to a given length, starting at a particular offset, returning the clipped + string with ellipses representing the removed parts + + The string to be clipped + The maximum permitted length of the result string + The point at which to start clipping + The clipped string + + + + Clip the expected and actual strings in a coordinated fashion, + so that they may be displayed together. + + + + + + + + + Shows the position two strings start to differ. Comparison + starts at the start index. + + The expected string + The actual string + The index in the strings at which comparison should start + Boolean indicating whether case should be ignored + -1 if no mismatch found, or the index where mismatch found + + + + NaNConstraint tests that the actual value is a double or float NaN + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test that the actual value is an NaN + + + + + + + NoItemConstraint applies another constraint to each + item in a collection, failing if any of them succeeds. + + + + + Construct a SomeItemsConstraint on top of an existing constraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the item constraint to each item in the collection, + failing if any item fails. + + + + + + + NotConstraint negates the effect of some other constraint + + + + + Initializes a new instance of the class. + + The base constraint to be negated. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for if the base constraint fails, false if it succeeds + + + + NullConstraint tests that the actual value is null + + + + + Initializes a new instance of the class. + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + The Numerics class contains common operations on numeric values. + + + + + Checks the type of the object, returning true if + the object is a numeric type. + + The object to check + true if the object is a numeric type + + + + Checks the type of the object, returning true if + the object is a floating point numeric type. + + The object to check + true if the object is a floating point numeric type + + + + Checks the type of the object, returning true if + the object is a fixed point numeric type. + + The object to check + true if the object is a fixed point numeric type + + + + Test two numeric values for equality, performing the usual numeric + conversions and using a provided or default tolerance. If the tolerance + provided is Empty, this method may set it to a default tolerance. + + The expected value + The actual value + A reference to the tolerance in effect + True if the values are equal + + + + Compare two numeric values, performing the usual numeric conversions. + + The expected value + The actual value + The relationship of the values to each other + + + + Calculates the difference between 2 values in absolute/percent mode. + + The expected value + The actual value + Tolerance mode to specify difference representation + The difference between the values + + + + NUnitComparer encapsulates NUnit's default behavior + in comparing two objects. + + + + + Returns the default NUnitComparer. + + + + + Compares two objects + + + + + + + + NUnitEqualityComparer encapsulates NUnit's handling of + equality tests between objects. + + + + + If true, all string comparisons will ignore case + + + + + If true, arrays will be treated as collections, allowing + those of different dimensions to be compared + + + + + Comparison objects used in comparisons for some constraints. + + + + + List of points at which a failure occurred. + + + + + List of comparers used to compare pairs of objects. + + + + + Initializes a new instance of the class. + + + + + Returns the default NUnitEqualityComparer + + + + + Gets and sets a flag indicating whether case should + be ignored in determining equality. + + + + + Gets and sets a flag indicating that arrays should be + compared as collections, without regard to their shape. + + + + + Gets the list of external comparers to be used to + test for equality. They are applied to members of + collections, in place of NUnit's own logic. + + + + + Gets the list of failure points for the last Match performed. + The list consists of objects to be interpreted by the caller. + This generally means that the caller may only make use of + objects it has placed on the list at a particular depth. + + + + + Flags the comparer to include + property in comparison of two values. + + + Using this modifier does not allow to use the + modifier. + + + + + Compares two objects for equality within a tolerance. + + + + + Compares two objects for equality within a tolerance. + + + + + FailurePoint class represents one point of failure + in an equality test. + + + + + The location of the failure + + + + + The expected value + + + + + The actual value + + + + + Indicates whether the expected value is valid + + + + + Indicates whether the actual value is valid + + + + + Represents a constraint that succeeds if all the + members of a collection match a base constraint. + + + + + Returns a constraint that will apply the argument + to the members of a collection, succeeding if + they all succeed. + + + + + Operator that requires both its arguments to succeed + + + + + Construct an AndOperator + + + + + Apply the operator to produce an AndConstraint + + + + + Operator that tests for the presence of a particular attribute + on a type and optionally applies further tests to the attribute. + + + + + Construct an AttributeOperator for a particular Type + + The Type of attribute tested + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + Abstract base class for all binary operators + + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + + Gets the left precedence of the operator + + + + + Gets the right precedence of the operator + + + + + Abstract method that produces a constraint by applying + the operator to its left and right constraint arguments. + + + + + Abstract base for operators that indicate how to + apply a constraint to items in a collection. + + + + + Constructs a CollectionOperator + + + + + The ConstraintOperator class is used internally by a + ConstraintBuilder to represent an operator that + modifies or combines constraints. + + Constraint operators use left and right precedence + values to determine whether the top operator on the + stack should be reduced before pushing a new operator. + + + + + The precedence value used when the operator + is about to be pushed to the stack. + + + + + The precedence value used when the operator + is on the top of the stack. + + + + + The syntax element preceding this operator + + + + + The syntax element following this operator + + + + + The precedence value used when the operator + is about to be pushed to the stack. + + + + + The precedence value used when the operator + is on the top of the stack. + + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + + Represents a constraint that succeeds if the specified + count of members of a collection match a base constraint. + + + + + Construct an ExactCountOperator for a specified count + + The expected count + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + + Operator used to test for the presence of a Indexer + on an object and optionally apply further tests to the + value of that indexer. + + + + + Constructs a IndexerOperator for a particular set of indexer + parameters + + + + + Returns a IndexerConstraint applied to its argument. + + + + + Represents a constraint that succeeds if none of the + members of a collection match a base constraint. + + + + + Returns a constraint that will apply the argument + to the members of a collection, succeeding if + none of them succeed. + + + + + Negates the test of the constraint it wraps. + + + + + Constructs a new NotOperator + + + + + Returns a NotConstraint applied to its argument. + + + + + Operator that requires at least one of its arguments to succeed + + + + + Construct an OrOperator + + + + + Apply the operator to produce an OrConstraint + + + + + PrefixOperator takes a single constraint and modifies + its action in some way. + + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + + Returns the constraint created by applying this + prefix to another constraint. + + + + + + + Operator used to test for the presence of a named Property + on an object and optionally apply further tests to the + value of that property. + + + + + Gets the name of the property to which the operator applies + + + + + Constructs a PropOperator for a particular named property + + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + + Abstract base class for operators that are able to reduce to a + constraint whether or not another syntactic element follows. + + + + + Represents a constraint that succeeds if any of the + members of a collection match a base constraint. + + + + + Returns a constraint that will apply the argument + to the members of a collection, succeeding if + any of them succeed. + + + + + Operator that tests that an exception is thrown and + optionally applies further tests to the exception. + + + + + Construct a ThrowsOperator + + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + Represents a constraint that simply wraps the + constraint provided as an argument, without any + further functionality, but which modifies the + order of evaluation because of its precedence. + + + + + Constructor for the WithOperator + + + + + Returns a constraint that wraps its argument + + + + + OrConstraint succeeds if either member succeeds + + + + + Create an OrConstraint from two other constraints + + The first constraint + The second constraint + + + + Gets text describing a constraint + + + + + Apply the member constraints to an actual value, succeeding + succeeding as soon as one of them succeeds. + + The actual value + True if either constraint succeeded + + + + PathConstraint serves as the abstract base of constraints + that operate on paths and provides several helper methods. + + + + + Construct a PathConstraint for a give expected path + + The expected path + + + + Modifies the current instance to be case-sensitive + and returns it. + + + + + Returns the string representation of this constraint + + + + + Canonicalize the provided path + + + The path in standardized form + + + + Test whether one path in canonical form is a subpath of another path + + The first path - supposed to be the parent path + The second path - supposed to be the child path + + + + + Predicate constraint wraps a Predicate in a constraint, + returning success if the predicate is true. + + + + + Construct a PredicateConstraint from a predicate + + + + + Gets text describing a constraint + + + + + Determines whether the predicate succeeds when applied + to the actual value. + + + + + Abstract base class used for prefixes + + + + + The base constraint + + + + + Prefix used in forming the constraint description + + + + + Construct given a base constraint + + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Formats a prefix constraint's description. + + + + + PropertyConstraint extracts a named property and uses + its value as the actual value for a chained constraint. + + + + + Initializes a new instance of the class. + + The name. + The constraint to apply to the property. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + + + + Returns the string representation of the constraint. + + + + + Contains the result of matching a against an actual value. + + + + + Constructs a for a particular . + + The Constraint to which this result applies. + The base result with actual value to which the Constraint was applied. + + + + Write the additional failure message for a failing constraint to a + MessageWriter. + + The writer on which the actual value is displayed + + + + PropertyExistsConstraint tests that a named property + exists on the object provided through Match. + + Originally, PropertyConstraint provided this feature + in addition to making optional tests on the value + of the property. The two constraints are now separate. + + + + + Initializes a new instance of the class. + + The name of the property. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the property exists for a given object + + The object to be tested + True for success, false for failure + + + + Returns the string representation of the constraint. + + + + + + RangeConstraint tests whether two values are within a + specified range. + + + + + Initializes a new instance of the class. + + Inclusive beginning of the range. + Inclusive end of the range. + + + + Gets text describing a constraint + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Modifies the constraint to use an and returns self. + + + + + Modifies the constraint to use an and returns self. + + + + + Modifies the constraint to use a and returns self. + + + + + RegexConstraint can test whether a string matches + the pattern provided. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Initializes a new instance of the class. + + The pattern. + + + + Initializes a new instance of the class. + + The Regex pattern object. + + + + Modify the constraint to ignore case in matching. + + + + + Applies the regex constraint to an actual value, returning a ConstraintResult. + + The string to be tested. + True for success, false for failure. + + + + ResolvableConstraintExpression is used to represent a compound + constraint being constructed at a point where the last operator + may either terminate the expression or may have additional + qualifying constraints added to it. + + It is used, for example, for a Property element or for + an Exception element, either of which may be optionally + followed by constraints that apply to the property or + exception. + + + + + Create a new instance of ResolvableConstraintExpression + + + + + Create a new instance of ResolvableConstraintExpression, + passing in a pre-populated ConstraintBuilder. + + + + + Appends an And Operator to the expression + + + + + Appends an Or operator to the expression. + + + + + Resolve the current expression to a Constraint + + + + + ReusableConstraint wraps a constraint expression after + resolving it so that it can be reused consistently. + + + + + Construct a ReusableConstraint from a constraint expression + + The expression to be resolved and reused + + + + Converts a constraint to a ReusableConstraint + + The constraint to be converted + A ReusableConstraint + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Return the top-level constraint for this expression + + + + + + SameAsConstraint tests whether an object is identical to + the object passed to its constructor + + + + + Initializes a new instance of the class. + + The expected object. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Summary description for SamePathConstraint. + + + + + Initializes a new instance of the class. + + The expected path + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + SamePathOrUnderConstraint tests that one path is under another + + + + + Initializes a new instance of the class. + + The expected path + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + SomeItemsConstraint applies another constraint to each + item in a collection, succeeding if any of them succeeds. + + + + + Construct a SomeItemsConstraint on top of an existing constraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the item constraint to each item in the collection, + succeeding if any item succeeds. + + + + + + + Flag the constraint to use the supplied object. + + The type of the elements in the collection. + The type of the member. + The comparison function to use. + Self. + + + + Flag the constraint to use the supplied object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied object. + + The IComparer object to use. + Self. + + + + StartsWithConstraint can test whether a string starts + with an expected substring. + + + + + Initializes a new instance of the class. + + The expected string + + + + Test whether the constraint is matched by the actual value. + This is a template method, which calls the IsMatch method + of the derived class. + + + + + + + StringConstraint is the abstract base for constraints + that operate on strings. It supports the IgnoreCase + modifier for string operations. + + + + + The expected value + + + + + Indicates whether tests should be case-insensitive + + + + + Description of this constraint + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Constructs a StringConstraint without an expected value + + + + + Constructs a StringConstraint given an expected value + + The expected value + + + + Modify the constraint to ignore case in matching. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Test whether the constraint is satisfied by a given string + + The string to be tested + True for success, false for failure + + + + SubPathConstraint tests that the actual path is under the expected path + + + + + Initializes a new instance of the class. + + The expected path + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + SubstringConstraint can test whether a string contains + the expected substring. + + + + + Initializes a new instance of the class. + + The expected. + + + + Modify the constraint to ignore case in matching. + This will call Using(StringComparison.CurrentCultureIgnoreCase). + + Thrown when a comparison type different + than was already set. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Modify the constraint to the specified comparison. + + Thrown when a comparison type different + than was already set. + + + + ThrowsConstraint is used to test the exception thrown by + a delegate by applying a constraint to it. + + + + + Initializes a new instance of the class, + using a constraint to be applied to the exception. + + A constraint to apply to the caught exception. + + + + Get the actual exception thrown - used by Assert.Throws. + + + + + Gets text describing a constraint + + + + + Executes the code of the delegate and captures any exception. + If a non-null base constraint was provided, it applies that + constraint to the exception. + + A delegate representing the code to be tested + True if an exception is thrown and the constraint succeeds, otherwise false + + + + Converts an ActualValueDelegate to a TestDelegate + before calling the primary overload. + + + + + + + Write the actual value for a failing constraint test to a + MessageWriter. This override only handles the special message + used when an exception is expected but none is thrown. + + The writer on which the actual value is displayed + + + + ThrowsExceptionConstraint tests that an exception has + been thrown, without any further tests. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Executes the code and returns success if an exception is thrown. + + A delegate representing the code to be tested + True if an exception is thrown, otherwise false + + + + Applies the constraint to an ActualValueDelegate that returns + the value to be tested. The default implementation simply evaluates + the delegate but derived classes may override it to provide for + delayed processing. + + + + + ThrowsNothingConstraint tests that a delegate does not + throw an exception. + + + + + Gets text describing a constraint + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True if no exception is thrown, otherwise false + + + + Applies the constraint to an ActualValueDelegate that returns + the value to be tested. The default implementation simply evaluates + the delegate but derived classes may override it to provide for + delayed processing. + + An ActualValueDelegate + A ConstraintResult + + + + The Tolerance class generalizes the notion of a tolerance + within which an equality test succeeds. Normally, it is + used with numeric types, but it can be used with any + type that supports taking a difference between two + objects and comparing that difference to a value. + + + + + Returns a default Tolerance object, equivalent to an exact match. + + + + + Returns an empty Tolerance object, equivalent to an exact match. + + + + + Constructs a linear tolerance of a specified amount + + + + + Constructs a tolerance given an amount and + + + + + Returns a new tolerance, using the current amount as a percentage. + + + + + Returns a new tolerance, using the current amount in Ulps + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of days. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of hours. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of minutes. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of seconds. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of milliseconds. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of clock ticks. + + + + + Gets the for the current Tolerance + + + + + Gets the magnitude of the current Tolerance instance. + + + + + Returns true if the current tolerance has not been set or is using the . + + + + + Apply the tolerance to an expected value and return + a Tolerance.Range that represents the acceptable values. + + + + + Tests that the current Tolerance is linear with a + numeric value, throwing an exception if it is not. + + + + + Tolerance.Range represents the range of values that match + a specific tolerance, when applied to a specific value. + + + + + The lower bound of the range + + + + + The upper bound of the range + + + + + Constructs a range + + + + + Modes in which the tolerance value for a comparison can be interpreted. + + + + + The tolerance was created with a value, without specifying + how the value would be used. This is used to prevent setting + the mode more than once and is generally changed to Linear + upon execution of the test. + + + + + The tolerance is used as a numeric range within which + two compared values are considered to be equal. + + + + + Interprets the tolerance as the percentage by which + the two compared values my deviate from each other. + + + + + Compares two values based in their distance in + representable numbers. + + + + + TrueConstraint tests that the actual value is true + + + + + Initializes a new instance of the class. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + TypeConstraint is the abstract base for constraints + that take a Type as their expected value. + + + + + The expected Type used by the constraint + + + + + The type of the actual argument to which the constraint was applied + + + + + Construct a TypeConstraint for a given Type + + The expected type for the constraint + Prefix used in forming the constraint description + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + Apply the constraint to an actual value, returning true if it succeeds + + The actual argument + True if the constraint succeeds, otherwise false. + + + + UniqueItemsConstraint tests whether all the items in a + collection are unique. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Check that all items are unique. + + + + + + + + + + XmlSerializableConstraint tests whether + an object is serializable in XML format. + + + + + Gets text describing a constraint + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Returns the string representation of this constraint + + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + + + Returns a new DictionaryContainsKeyConstraint checking for the + presence of a particular key in the dictionary. + + + + + Returns a new DictionaryContainsValueConstraint checking for the + presence of a particular value in the dictionary. + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Asserts on Directories + + + + + DO NOT USE! Use DirectoryAssert.AreEqual(...) instead. + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + Verifies that two directories are equal. Two directories are considered + equal if both are null, or if both point to the same directory. + If they are not equal an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + The message to display if the directories are not equal + Arguments to be used in formatting the message + + + + Verifies that two directories are equal. Two directories are considered + equal if both are null, or if both point to the same directory. + If they are not equal an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + + + + Asserts that two directories are not equal. If they are equal + an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that two directories are not equal. If they are equal + an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + + + + Asserts that the directory exists. If it does not exist + an is thrown. + + A directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that the directory exists. If it does not exist + an is thrown. + + A directory containing the actual value + + + + Asserts that the directory exists. If it does not exist + an is thrown. + + The path to a directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that the directory exists. If it does not exist + an is thrown. + + The path to a directory containing the actual value + + + + Asserts that the directory does not exist. If it does exist + an is thrown. + + A directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that the directory does not exist. If it does exist + an is thrown. + + A directory containing the actual value + + + + Asserts that the directory does not exist. If it does exist + an is thrown. + + The path to a directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that the directory does not exist. If it does exist + an is thrown. + + The path to a directory containing the actual value + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a constraint that succeeds if the value + is a file or directory and it exists. + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + + + Returns a new . This constraint + will, in turn, make use of the appropriate second-level + constraint, depending on the type of the actual argument. + This overload is only used if the item sought is a string, + since any other type implies that we are looking for a + collection member. + + + + + Returns a new DictionaryContainsKeyConstraint checking for the + presence of a particular key in the Dictionary key collection. + + The key to be matched in the Dictionary key collection + + + + Returns a new DictionaryContainsValueConstraint checking for the + presence of a particular value in the Dictionary value collection. + + The value to be matched in the Dictionary value collection + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + If throws, returns "SomeException was thrown by the Exception.StackTrace + property." See also . + + + + + If throws, returns "SomeException was thrown by the Exception.Message + property." + + + + + If throws, returns "SomeException was thrown by the Exception.Data property." + + + + + Thrown when an assertion failed. + + + + The error message that explains + the reason for the exception + + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + Serialization Constructor + + + + + Gets the ResultState provided by this exception + + + + + Thrown when an assertion failed. + + + + + + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + Serialization Constructor + + + + + Gets the ResultState provided by this exception + + + + + Thrown when a test executes inconclusively. + + + + The error message that explains + the reason for the exception + + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + Serialization Constructor + + + + + Gets the ResultState provided by this exception + + + + + Thrown when an assertion failed. + + + + + Construct based on the TestResult so far. This is the constructor + used normally, when exiting the multiple assert block with failures. + Not used internally but provided to facilitate debugging. + + + The current result, up to this point. The result is not used + internally by NUnit but is provided to facilitate debugging. + + + + + Serialization Constructor + + + + + Gets the provided by this exception. + + + + + Gets the of this test at the point the exception was thrown, + + + + + Abstract base for Exceptions that terminate a test and provide a ResultState. + + + + The error message that explains + the reason for the exception + + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + Serialization Constructor + + + + + Gets the ResultState provided by this exception + + + + + Thrown when an assertion failed. + + + + + + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + Serialization Constructor + + + + + Gets the ResultState provided by this exception + + + + + Contains extension methods that do not require a special using directive. + + + + + Asserts on Files + + + + + DO NOT USE! Use FileAssert.AreEqual(...) instead. + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + Verifies that two Streams are equal. Two Streams are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The expected Stream + The actual Stream + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Verifies that two Streams are equal. Two Streams are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The expected Stream + The actual Stream + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + A file containing the value that is expected + A file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + A file containing the value that is expected + A file containing the actual value + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + + + + Asserts that two Streams are not equal. If they are equal + an is thrown. + + The expected Stream + The actual Stream + The message to be displayed when the two Stream are the same. + Arguments to be used in formatting the message + + + + Asserts that two Streams are not equal. If they are equal + an is thrown. + + The expected Stream + The actual Stream + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + A file containing the value that is expected + A file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + A file containing the value that is expected + A file containing the actual value + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + + + + Asserts that the file exists. If it does not exist + an is thrown. + + A file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that the file exists. If it does not exist + an is thrown. + + A file containing the actual value + + + + Asserts that the file exists. If it does not exist + an is thrown. + + The path to a file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that the file exists. If it does not exist + an is thrown. + + The path to a file containing the actual value + + + + Asserts that the file does not exist. If it does exist + an is thrown. + + A file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that the file does not exist. If it does exist + an is thrown. + + A file containing the actual value + + + + Asserts that the file does not exist. If it does exist + an is thrown. + + The path to a file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that the file does not exist. If it does exist + an is thrown. + + The path to a file containing the actual value + + + + Class used to guard against unexpected argument values + or operations by throwing an appropriate exception. + + + + + Throws an exception if an argument is null + + The value to be tested + The name of the argument + + + + Throws an exception if a string argument is null or empty + + The value to be tested + The name of the argument + + + + Throws an ArgumentOutOfRangeException if the specified condition is not met. + + The condition that must be met + The exception message to be used + The name of the argument + + + + Throws an ArgumentException if the specified condition is not met. + + The condition that must be met + The exception message to be used + The name of the argument + + + + Throws an InvalidOperationException if the specified condition is not met. + + The condition that must be met + The exception message to be used + + + + Throws an if the specified delegate is async void. + + + + + Throws an if the specified delegate is async void. + + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if at least one of them succeeds. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them fail. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding only if a specified number of them succeed. + + + + + Returns a which will apply + the following constraint to only one member of the collection, + and fail if none or more than one match occurs. + + + + + Returns a new PropertyConstraintExpression, which will either + test for the existence of the named property on the object + being tested or apply any following constraint to that property. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Length property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Count property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Message property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the InnerException property of the object being tested. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + + + Returns a new IndexerConstraintExpression, which will + apply any following constraint to that indexer value. + + Index accessor values. + + + + The AssertionResult class represents the result of a single assertion. + + + + + Construct an AssertionResult + + + + The pass/fail status of the assertion + + + The message produced by the assertion, or null + + + The stack trace associated with the assertion, or null + + + Determines whether the specified object is equal to the current object. + The object to compare with the current object. + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + + + Serves as the default hash function. + + + + ToString Override + + + + + AssertionStatus enumeration represents the possible outcomes of an assertion. + The order of definition is significant, higher level values override lower + ones in determining the overall result of a test. + + + + + An assumption failed + + + + + The assertion succeeded + + + + + A warning message was issued + + + + + The assertion failed + + + + + An unexpected exception was thrown + + + + + The IApplyToContext interface is implemented by attributes + that want to make changes to the execution context before + a test is run. + + + + + Apply changes to the execution context + + The execution context + + + + The IApplyToTest interface is implemented by self-applying + attributes that modify the state of a test in some way. + + + + + Modifies a test as defined for the specific attribute. + + The test to modify + + + + CombiningStrategy is the abstract base for classes that + know how to combine values provided for individual test + parameters to create a set of test cases. + + + + + Gets the test cases generated by the CombiningStrategy. + + The test cases. + + + + ICommandWrapper is implemented by attributes and other + objects able to wrap a TestCommand with another command. + + + Attributes or other objects should implement one of the + derived interfaces, rather than this one, since they + indicate in which part of the command chain the wrapper + should be applied. + + + + + Wrap a command and return the result. + + The command to be wrapped + The wrapped command + + + + Objects implementing this interface are used to wrap + the TestMethodCommand itself. They apply after SetUp + has been run and before TearDown. + + + + + Objects implementing this interface are used to wrap + the entire test, including SetUp and TearDown. + + + + + Objects implementing this interface are used to wrap + tests that can repeat. The implementing command is run once, + invoking the chained commands any number of times. + + + + + Any ITest that implements this interface is at a level that the implementing + class should be disposed at the end of the test run + + + + + The IFixtureBuilder interface is exposed by a class that knows how to + build test fixtures from a specified type. In general, it is exposed + by an attribute, but it may be implemented in a helper class used by the + attribute in some cases. + + + + + Builds any number of test fixtures from the specified type. + + The type info of the fixture to be used. + + + + The IFixtureBuilder2 interface extends IFixtureBuilder by allowing + use of a PreFilter, which is used to select methods as test cases. + + + + + Builds any number of test fixtures from the specified type. + + The type info of the fixture to be used. + PreFilter to be used to select methods. + + + + IImplyFixture is an empty marker interface used by attributes like + TestAttribute that cause the class where they are used to be treated + as a TestFixture even without a TestFixtureAttribute. + + Marker interfaces are not usually considered a good practice, but + we use it here to avoid cluttering the attribute hierarchy with + classes that don't contain any extra implementation. + + + + + The IMethodInfo class is used to encapsulate information + about a method in a platform-independent manner. + + + + + Gets the Type from which this method was reflected. + + + + + Gets the MethodInfo for this method. + + + + + Gets the name of the method. + + + + + Gets a value indicating whether the method is abstract. + + + + + Gets a value indicating whether the method is public. + + + + + Gets a value indicating whether the method is static. + + + + + Gets a value indicating whether the method contains unassigned generic type parameters. + + + + + Gets a value indicating whether the method is a generic method. + + + + + Gets a value indicating whether the MethodInfo represents the definition of a generic method. + + + + + Gets the return Type of the method. + + + + + Gets the parameters of the method. + + + + + + Returns the Type arguments of a generic method or the Type parameters of a generic method definition. + + + + + Replaces the type parameters of the method with the array of types provided and returns a new IMethodInfo. + + The type arguments to be used + A new IMethodInfo with the type arguments replaced + + + + Invokes the method, converting any TargetInvocationException to an NUnitException. + + The object on which to invoke the method + The argument list for the method + The return value from the invoked method + + + + Provides data for a single test parameter. + + + + + Determines whether any data is available for a parameter. + + The parameter of a parameterized test. + + + + Retrieves a list of arguments which can be passed to the specified parameter. + + The parameter of a parameterized test. + + + + Provides data for a single test parameter. + + + + + Retrieves a list of arguments which can be passed to the specified parameter. + + The parameter of a parameterized test. + + + + The IParameterInfo interface is an abstraction of a .NET parameter. + + + + + Gets a value indicating whether the parameter is optional + + + + + Gets an IMethodInfo representing the method for which this is a parameter + + + + + Gets the underlying .NET ParameterInfo + + + + + Gets the Type of the parameter + + + + + Implemented by filters for use in deciding which + Types and Methods should be used to generate tests. + + + + + Use the filter on a Type, returning true if the type matches the filter + and should therefore be included in the discovery process. + + + + + Use the filter on a Type, returning true if the type matches the filter + and should therefore be included in the discovery process. + + + + + A PropertyBag represents a collection of name/value pairs + that allows duplicate entries with the same key. Methods + are provided for adding a new pair as well as for setting + a key to a single value. All keys are strings but values + may be of any type. Null values are not permitted, since + a null entry represents the absence of the key. + + The entries in a PropertyBag are of two kinds: those that + take a single value and those that take multiple values. + However, the PropertyBag has no knowledge of which entries + fall into each category and the distinction is entirely + up to the code using the PropertyBag. + + When working with multi-valued properties, client code + should use the Add method to add name/value pairs and + indexing to retrieve a list of all values for a given + key. For example: + + bag.Add("Tag", "one"); + bag.Add("Tag", "two"); + Assert.That(bag["Tag"], + Is.EqualTo(new string[] { "one", "two" })); + + When working with single-valued properties, client code + should use the Set method to set the value and Get to + retrieve the value. The GetSetting methods may also be + used to retrieve the value in a type-safe manner while + also providing default. For example: + + bag.Set("Priority", "low"); + bag.Set("Priority", "high"); // replaces value + Assert.That(bag.Get("Priority"), + Is.EqualTo("high")); + Assert.That(bag.GetSetting("Priority", "low"), + Is.EqualTo("high")); + + + + + Adds a key/value pair to the property bag + + The key + The value + + + + Sets the value for a key, removing any other + values that are already in the property set. + + + + + + + Gets a single value for a key, using the first + one if multiple values are present and returning + null if the value is not found. + + + + + Gets a flag indicating whether the specified key has + any entries in the property set. + + The key to be checked + True if their are values present, otherwise false + + + + Gets or sets the list of values for a particular key + + The key for which the values are to be retrieved or set + + + + Gets a collection containing all the keys in the property set + + + + + The IReflectionInfo interface is implemented by NUnit wrapper objects that perform reflection. + + + + + Returns an array of custom attributes of the specified type applied to this object + + + + + Returns a value indicating whether an attribute of the specified type is defined on this object. + + + + + The ISimpleTestBuilder interface is exposed by a class that knows how to + build a single tests from a specified method. In general, + it is exposed by an attribute, but it may be implemented in a helper class + used by the attribute in some cases. + + + + + Builds a single test from the specified method and context. + + The method to be used as a test + The TestSuite to which the method will be added + + + + The ISuiteBuilder interface is exposed by a class that knows how to + build a single test suite from a specified type. + + + + + Examine the type and determine if it is suitable for + this builder to use in building a TestSuite. + + Note that returning false will cause the type to be ignored + in loading the tests. If it is desired to load the suite + but label it as non-runnable, ignored, etc., then this + method must return true. + + The type of the fixture to be used + + + + Builds a single test suite from the specified type. + + The type of the fixture to be used + + + + Builds a single test suite from the specified type, subject + to a filter that decides which methods are included. + + The type of the fixture to be used + A PreFilter for selecting methods. + + + + Common interface supported by all representations + of a test. Only includes informational fields. + The Run method is specifically excluded to allow + for data-only representations of a test. + + + + + Gets the id of the test + + + + + Gets the name of the test + + + + + Gets the type of the test + + + + + Gets the fully qualified name of the test + + + + + Gets the name of the class containing this test. Returns + null if the test is not associated with a class. + + + + + Gets the name of the method implementing this test. + Returns null if the test is not implemented as a method. + + + + + Gets the Type of the test fixture, if applicable, or + null if no fixture type is associated with this test. + + + + + Gets the method which declares the test, or + if no method is associated with this test. + + + + + Gets the RunState of the test, indicating whether it can be run. + + + + + Count of the test cases ( 1 if this is a test case ) + + + + + Gets the properties of the test + + + + + Gets the parent test, if any. + + The parent test or null if none exists. + + + + Returns true if this is a test suite + + + + + Gets a bool indicating whether the current test + has any descendant tests. + + + + + Gets this test's child tests + + A list of child tests + + + + Gets a fixture object for running this test. + + + + + The arguments to use in creating the test or empty array if none are required. + + + + + The ITestBuilder interface is exposed by a class that knows how to + build tests from a specified method. In general, it is exposed + by an attribute which has additional information available to provide + the necessary test parameters to distinguish the test cases built. + + + + + Builds any number of tests from the specified method and context. + + The method to be used as a test + The TestSuite to which the method will be added + + + + The ITestCaseBuilder interface is exposed by a class that knows how to + build a test from a specified method, possibly containing child test cases. + + + + + Examine the method and determine if it is suitable for + this builder to use in building a TestCase to be + included in the suite being populated. + + Note that returning false will cause the method to be ignored + in loading the tests. If it is desired to load the method + but label it as non-runnable, ignored, etc., then this + method must return true. + + The test method to examine + The suite being populated + + + + Builds a single test from the specified method and context, + possibly containing child test cases. + + The method to be used as a test case + The test suite being populated, or null + + + + The ITestCaseData interface is implemented by a class + that is able to return complete test cases for use by + a parameterized test method. + + + + + Gets the expected result of the test case + + + + + Returns true if an expected result has been set + + + + + The ITestData interface is implemented by a class that + represents a single instance of a parameterized test. + + + + + Gets the name to be used for the test + + + + + Gets the RunState for this test case. + + + + + Gets the argument list to be provided to the test + + + + + Gets the property dictionary for the test case + + + + + Interface to be implemented by filters applied to tests. + The filter applies when running the test, after it has been + loaded, since this is the only time an ITest exists. + + + + + Determine if a particular test passes the filter criteria. Pass + may examine the parents and/or descendants of a test, depending + on the semantics of the particular filter + + The test to which the filter is applied + True if the test passes the filter, otherwise false + + + + Determine if a test matches the filter explicitly. That is, it must + be a direct match of the test itself or one of its children. + + The test to which the filter is applied + True if the test matches the filter explicitly, otherwise false + + + + The ITestCaseData interface is implemented by a class + that is able to return the data required to create an + instance of a parameterized test fixture. + + + + + Get the TypeArgs if separately set + + + + + The ITestListener interface is used internally to receive + notifications of significant events while a test is being + run. The events are propagated to clients by means of an + AsyncCallback. NUnit extensions may also monitor these events. + + + + + Called when a test has just started + + The test that is starting + + + + Called when a test has finished + + The result of the test + + + + Called when a test produces output for immediate display + + A TestOutput object containing the text to display + + + + Called when a test produces a message to be sent to listeners + + A object containing the text to send + + + + The ITestResult interface represents the result of a test. + + + + + Gets the ResultState of the test result, which + indicates the success or failure of the test. + + + + + Gets the name of the test result + + + + + Gets the full name of the test result + + + + + Gets the elapsed time for running the test in seconds + + + + + Gets or sets the time the test started running. + + + + + Gets or sets the time the test finished running. + + + + + Gets the message associated with a test + failure or with not running the test + + + + + Gets any stack trace associated with an + error or failure. + + + + Gets the total number of tests executed + when running the test and all its children. + + + + + Gets the number of asserts executed + when running the test and all its children. + + + + + Gets the number of test cases that failed + when running the test and all its children. + + + + + Gets the number of test cases that had warnings + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + Indicates whether this result has any child results. + Accessing HasChildren should not force creation of the + Children collection in classes implementing this interface. + + + + + Gets the collection of child results. + + + + + Gets the Test to which this result applies. + + + + + Gets any text output written to this result. + + + + + Gets a list of AssertionResults associated with the test + + + + + Gets the collection of files attached to the test + + + + + The ITypeInfo interface is an abstraction of a .NET Type + + + + + Gets the underlying Type on which this ITypeInfo is based + + + + + Gets the base type of this type as an ITypeInfo + + + + + Returns true if the Type wrapped is equal to the argument + + + + + Gets the name of the Type + + + + + Gets the full name of the Type + + + + + Gets the assembly in which the type is declared + + + + + Gets the namespace of the Type + + + + + Gets a value indicating whether the type is abstract. + + + + + Gets a value indicating whether the Type is a generic Type + + + + + Gets a value indicating whether the Type has generic parameters that have not been replaced by specific Types. + + + + + Gets a value indicating whether the Type is a generic Type definition + + + + + Gets a value indicating whether the type is sealed. + + + + + Gets a value indicating whether this type is a static class. + + + + + Get the display name for this typeInfo. + + + + + Get the display name for an object of this type, constructed with specific arguments + + + + + Returns a Type representing a generic type definition from which this Type can be constructed. + + + + + Returns a new ITypeInfo representing an instance of this generic Type using the supplied Type arguments + + + + + Returns a value indicating whether this type has a method with a specified public attribute + + + + + Returns an array of IMethodInfos for methods of this Type + that match the specified flags. + + + + + Gets the public constructor taking the specified argument Types + + + + + Returns a value indicating whether this Type has a public constructor taking the specified argument Types. + + + + + Construct an object of this Type, using the specified arguments. + + + + + Returns all methods declared by this type that have the specified attribute, optionally + including base classes. Methods from a base class are always returned before methods from a class that + inherits from it. + + Specifies whether to search the fixture type inheritance chain. + + + + An object implementing IXmlNodeBuilder is able to build + an XML representation of itself and any children. + + + + + Returns a TNode representing the current object. + + If true, children are included where applicable + A TNode representing the result + + + + Returns a TNode representing the current object after + adding it as a child of the supplied parent node. + + The parent node. + If true, children are included, where applicable + + + + + The ResultState class represents the outcome of running a test. + It contains two pieces of information. The Status of the test + is an enum indicating whether the test passed, failed, was + skipped or was inconclusive. The Label provides a more + detailed breakdown for use by client runners. + + + + + Initializes a new instance of the class. + + The TestStatus. + + + + Initializes a new instance of the class. + + The TestStatus. + The label. + + + + Initializes a new instance of the class. + + The TestStatus. + The stage at which the result was produced + + + + Initializes a new instance of the class. + + The TestStatus. + The label. + The stage at which the result was produced + + + + The result is inconclusive + + + + + The test has been skipped. + + + + + The test has been ignored. + + + + + The test was skipped because it is explicit + + + + + The test succeeded + + + + + The test issued a warning + + + + + The test failed + + + + + The test encountered an unexpected exception + + + + + The test was cancelled by the user + + + + + The test was not runnable. + + + + + A suite failed because one or more child tests failed or had errors + + + + + A suite failed because one or more child tests had warnings + + + + + A suite is marked ignored because one or more child tests were ignored + + + + + A suite failed in its OneTimeSetUp + + + + + A suite had an unexpected exception in its OneTimeSetUp + + + + + A suite had an unexpected exception in its OneTimeDown + + + + + Gets the TestStatus for the test. + + The status. + + + + Gets the label under which this test result is + categorized, or if none. + + + + + Gets the stage of test execution in which + the failure or other result took place. + + + + + Get a new ResultState, which is the same as the current + one but with the FailureSite set to the specified value. + + The FailureSite to use + A new ResultState + + + + Test whether this ResultState has the same Status and Label + as another one. In other words, the whether two are equal + ignoring the Site. + + + + + + Determines whether the specified object is equal to the current object. + The object to compare with the current object. + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + + + Serves as the default hash function. + + + + Overload == operator for ResultStates + + + + + Overload != operator for ResultStates + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + The FailureSite enum indicates the stage of a test + in which an error or failure occurred. + + + + + Failure in the test itself + + + + + Failure in the SetUp method + + + + + Failure in the TearDown method + + + + + Failure of a parent test + + + + + Failure of a child test + + + + + The RunState enum indicates whether a test can be executed. + + + + + The test is not runnable. + + + + + The test is runnable. + + + + + The test can only be run explicitly + + + + + The test has been skipped. This value may + appear on a Test when certain attributes + are used to skip the test. + + + + + The test has been ignored. May appear on + a Test, when the IgnoreAttribute is used. + + + + + The TestAttachment class represents a file attached to a TestResult, + with an optional description. + + + + + Absolute file path to attachment file + + + + + User specified description of attachment. May be null. + + + + + Creates a TestAttachment class to represent a file attached to a test result. + + Absolute file path to attachment file + User specified description of attachment. May be null. + + + + The class holds a message sent by a test to all listeners + + + + + Construct with text, destination type and + the name of the test that produced the message. + + Destination of the message + Text to be sent + ID of the test that produced the message + + + + Converts object to string + + + + + The message to send to listeners + + + + + The Destination of the message. + + + + + The ID of the test that sent the message + + + + + Returns the XML representation of the object. + + + + + The TestOutput class holds a unit of output from + a test to a specific output stream + + + + + Construct with text, output destination type and + the name of the test that produced the output. + + Text to be output + Name of the stream or channel to which the text should be written + Id of the test that produced the output + FullName of test that produced the output + + + + Return string representation of the object for debugging + + + + + + Get the text + + + + + Get the output type + + + + + Get the name of the test that created the output + + + + + Get the id of the test that created the output + + + + + Convert the TestOutput object to an XML string + + + + + The TestStatus enum indicates the result of running a test + + + + + The test was inconclusive + + + + + The test has skipped + + + + + The test succeeded + + + + + There was a warning + + + + + The test failed + + + + + TNode represents a single node in the XML representation + of a Test or TestResult. It replaces System.Xml.XmlNode and + System.Xml.Linq.XElement, providing a minimal set of methods + for operating on the XML in a platform-independent manner. + + + + + Constructs a new instance of TNode + + The name of the node + + + + Constructs a new instance of TNode with a value + + The name of the node + The text content of the node + + + + Constructs a new instance of TNode with a value + + The name of the node + The text content of the node + Flag indicating whether to use CDATA when writing the text + + + + Gets the name of the node + + + + + Gets the value of the node + + + + + Gets a flag indicating whether the value should be output using CDATA. + + + + + Gets the dictionary of attributes + + + + + Gets a list of child nodes + + + + + Gets the first ChildNode + + + + + Gets the XML representation of this node. + + + + + Create a TNode from its XML text representation + + The XML text to be parsed + A TNode + + + + Adds a new element as a child of the current node and returns it. + + The element name. + The newly created child element + + + + Adds a new element with a value as a child of the current node and returns it. + + The element name + The text content of the new element + The newly created child element + + + + Adds a new element with a value as a child of the current node and returns it. + The value will be output using a CDATA section. + + The element name + The text content of the new element + The newly created child element + + + + Adds an attribute with a specified name and value to the XmlNode. + + The name of the attribute. + The value of the attribute. + + + + Finds a single descendant of this node matching an XPath + specification. The format of the specification is + limited to what is needed by NUnit and its tests. + + + + + + + Finds all descendants of this node matching an XPath + specification. The format of the specification is + limited to what is needed by NUnit and its tests. + + + + + Writes the XML representation of the node to an XmlWriter + + + + + + Class used to represent a list of XmlResults + + + + + Class used to represent the attributes of a node + + + + + Gets or sets the value associated with the specified key. + Overridden to return null if attribute is not found. + + The key. + Value of the attribute or null + + + + A production implementation that delegates directly to .NET's . + + + + + Returns whether a debugger is currently attached to the process + + + + + A layer of abstraction around to facilitate testing. + + + + + Whether a debugger is currently attached to the process. + + + + + AssemblyHelper provides static methods for working + with assemblies. + + + + + Gets the path from which an assembly was loaded. + For builds where this is not possible, returns + the name of the assembly. + + The assembly. + The path. + + + + Gets the path to the directory from which an assembly was loaded. + + The assembly. + The path. + + + + Gets the AssemblyName of an assembly. + + The assembly + An AssemblyName + + + + Loads an assembly given a string, which may be the + path to the assembly or the AssemblyName + + + + + Gets the assembly path from code base. + + Public for testing purposes + The code base. + + + + + Adapts various styles of asynchronous waiting to a common API. + + + + + CombinatorialStrategy creates test cases by using all possible + combinations of the parameter data. + + + + + Gets the test cases generated by the CombiningStrategy. + + The test cases. + + + + Provides data from fields marked with the DatapointAttribute or the + DatapointsAttribute. + + + + + Determines whether any data is available for a parameter. + + The parameter of a parameterized test + + + + Retrieves data for use with the supplied parameter. + + The parameter of a parameterized test + + + + Built-in SuiteBuilder for all types of test classes. + + + + + Examine the type and determine if it is suitable for + this builder to use in building a TestSuite. + + Note that returning false will cause the type to be ignored + in loading the tests. If it is desired to load the suite + but label it as non-runnable, ignored, etc., then this + method must return true. + + The fixture type to check + + + + Builds a single test suite from the specified type. + + The fixture type to build + + + + Builds a single test suite from the specified type, subject + to a filter that decides which methods are included. + + The fixture type to build + A PreFilter for selecting methods. + + + + We look for attributes implementing IFixtureBuilder at one level + of inheritance at a time. Attributes on base classes are not used + unless there are no fixture builder attributes at all on the derived + class. This is by design. + + The type being examined for attributes + + + + Class to build ether a parameterized or a normal NUnitTestMethod. + There are four cases that the builder must deal with: + 1. The method needs no params and none are provided + 2. The method needs params and they are provided + 3. The method needs no params but they are provided in error + 4. The method needs params but they are not provided + This could have been done using two different builders, but it + turned out to be simpler to have just one. The BuildFrom method + takes a different branch depending on whether any parameters are + provided, but all four cases are dealt with in lower-level methods + + + + + Determines if the method can be used to build an NUnit test + test method of some kind. The method must normally be marked + with an identifying attribute for this to be true. + + Note that this method does not check that the signature + of the method for validity. If we did that here, any + test methods with invalid signatures would be passed + over in silence in the test run. Since we want such + methods to be reported, the check for validity is made + in BuildFrom rather than here. + + An IMethodInfo for the method being used as a test method + + + + Builds a single test from the specified method and context, + possibly containing child test cases. + + The method for which a test is to be built + + + + Determines if the method can be used to build an NUnit test + test method of some kind. The method must normally be marked + with an identifying attribute for this to be true. + + Note that this method does not check that the signature + of the method for validity. If we did that here, any + test methods with invalid signatures would be passed + over in silence in the test run. Since we want such + methods to be reported, the check for validity is made + in BuildFrom rather than here. + + An IMethodInfo for the method being used as a test method + The test suite being built, to which the new test would be added + + + + Builds a single test from the specified method and context, + possibly containing child test cases. + + The method for which a test is to be built + The test fixture being populated, or null + + + + Builds a ParameterizedMethodSuite containing individual test cases. + + The method for which a test is to be built. + The list of test cases to include. + + + + Build a simple, non-parameterized TestMethod for this method. + + The MethodInfo for which a test is to be built + The test suite for which the method is being built + + + + Class that can build a tree of automatic namespace + suites from a group of fixtures. + + + + + NamespaceDictionary of all test suites we have created to represent + namespaces. Used to locate namespace parent suites for fixtures. + + + + + Point in the tree where items in the global namespace are added + + + + + Initializes a new instance of the class. + + The root suite. + + + + Gets the root entry in the tree created by the NamespaceTreeBuilder. + + The root suite. + + + + Adds the specified fixtures to the tree. + + The fixtures to be added. + + + + Adds the specified fixture to the tree. + + The fixture to be added. + + + + NUnitTestCaseBuilder is a utility class used by attributes + that build test cases. + + + + + Constructs an + + + + + Builds a single NUnitTestMethod, either as a child of the fixture + or as one of a set of test cases under a ParameterizedTestMethodSuite. + + The MethodInfo from which to construct the TestMethod + The suite or fixture to which the new test will be added + The ParameterSet to be used, or null + + + + Checks to see if we have valid combinations of attributes. + + The TestMethod to be checked. If it + is found to be non-runnable, it will be modified. + True if the method signature is valid, false if not + + + + Helper method that checks the signature of a TestMethod and + any supplied parameters to determine if the test is valid. + + Currently, NUnitTestMethods are required to be public, + non-abstract methods, either static or instance, + returning void. They may take arguments but the values must + be provided or the TestMethod is not considered runnable. + + Methods not meeting these criteria will be marked as + non-runnable and the method will return false in that case. + + The TestMethod to be checked. If it + is found to be non-runnable, it will be modified. + Parameters to be used for this test, or null + True if the method signature is valid, false if not + + The return value is no longer used internally, but is retained + for testing purposes. + + + + + NUnitTestFixtureBuilder is able to build a fixture given + a class marked with a TestFixtureAttribute or an unmarked + class containing test methods. In the first case, it is + called by the attribute and in the second directly by + NUnitSuiteBuilder. + + + + + Build a TestFixture from type provided. A non-null TestSuite + must always be returned, since the method is generally called + because the user has marked the target class as a fixture. + If something prevents the fixture from being used, it should + be returned nonetheless, labeled as non-runnable. + + An ITypeInfo for the fixture to be used. + Filter used to select methods as tests. + A TestSuite object or one derived from TestSuite. + + + + Overload of BuildFrom called by tests that have arguments. + Builds a fixture using the provided type and information + in the ITestFixtureData object. + + The TypeInfo for which to construct a fixture. + Filter used to select methods as tests. + An object implementing ITestFixtureData or null. + + + + + Method to add test cases to the newly constructed fixture. + + + + + Method to create a test case from a MethodInfo and add + it to the fixture being built. It first checks to see if + any global TestCaseBuilder addin wants to build the + test case. If not, it uses the internal builder + collection maintained by this fixture builder. + + The default implementation has no test case builders. + Derived classes should add builders to the collection + in their constructor. + + The method for which a test is to be created + The test suite being built. + A newly constructed Test + + + + PairwiseStrategy creates test cases by combining the parameter + data so that all possible pairs of data items are used. + + + + The number of test cases that cover all possible pairs of test function + parameters values is significantly less than the number of test cases + that cover all possible combination of test function parameters values. + And because different studies show that most of software failures are + caused by combination of no more than two parameters, pairwise testing + can be an effective ways to test the system when it's impossible to test + all combinations of parameters. + + + The PairwiseStrategy code is based on "jenny" tool by Bob Jenkins: + https://burtleburtle.net/bob/math/jenny.html + + + + + + FleaRand is a pseudo-random number generator developed by Bob Jenkins: + https://burtleburtle.net/bob/rand/talksmall.html#flea + + + + + Initializes a new instance of the FleaRand class. + + The seed. + + + + FeatureInfo represents coverage of a single value of test function + parameter, represented as a pair of indices, Dimension and Feature. In + terms of unit testing, Dimension is the index of the test parameter and + Feature is the index of the supplied value in that parameter's list of + sources. + + + + + Initializes a new instance of FeatureInfo class. + + Index of a dimension. + Index of a feature. + + + + A FeatureTuple represents a combination of features, one per test + parameter, which should be covered by a test case. In the + PairwiseStrategy, we are only trying to cover pairs of features, so the + tuples actually may contain only single feature or pair of features, but + the algorithm itself works with triplets, quadruples and so on. + + + + + Initializes a new instance of FeatureTuple class for a single feature. + + Single feature. + + + + Initializes a new instance of FeatureTuple class for a pair of features. + + First feature. + Second feature. + + + + TestCase represents a single test case covering a list of features. + + + + + Initializes a new instance of TestCaseInfo class. + + A number of features in the test case. + + + + PairwiseTestCaseGenerator class implements an algorithm which generates + a set of test cases which covers all pairs of possible values of test + function. + + + + The algorithm starts with creating a set of all feature tuples which we + will try to cover (see method). This set + includes every single feature and all possible pairs of features. We + store feature tuples in the 3-D collection (where axes are "dimension", + "feature", and "all combinations which includes this feature"), and for + every two feature (e.g. "A" and "B") we generate both ("A", "B") and + ("B", "A") pairs. This data structure extremely reduces the amount of + time needed to calculate coverage for a single test case (this + calculation is the most time-consuming part of the algorithm). + + + Then the algorithm picks one tuple from the uncovered tuple, creates a + test case that covers this tuple, and then removes this tuple and all + other tuples covered by this test case from the collection of uncovered + tuples. + + + Picking a tuple to cover + + + There are no any special rules defined for picking tuples to cover. We + just pick them one by one, in the order they were generated. + + + Test generation + + + Test generation starts from creating a completely random test case which + covers, nevertheless, previously selected tuple. Then the algorithm + tries to maximize number of tuples which this test covers. + + + Test generation and maximization process repeats seven times for every + selected tuple and then the algorithm picks the best test case ("seven" + is a magic number which provides good results in acceptable time). + + Maximizing test coverage + + To maximize tests coverage, the algorithm walks through the list of mutable + dimensions (mutable dimension is a dimension that are not included in + the previously selected tuple). Then for every dimension, the algorithm + walks through the list of features and checks if this feature provides + better coverage than randomly selected feature, and if yes keeps this + feature. + + + This process repeats while it shows progress. If the last iteration + doesn't improve coverage, the process ends. + + + In addition, for better results, before start every iteration, the + algorithm "scrambles" dimensions - so for every iteration dimension + probes in a different order. + + + + + + Creates a set of test cases for specified dimensions. + + + An array which contains information about dimensions. Each element of + this array represents a number of features in the specific dimension. + + + A set of test cases. + + + + + Gets the test cases generated by this strategy instance. + + A set of test cases. + + + + The ParameterDataProvider class implements IParameterDataProvider + and hosts one or more individual providers. + + + + + Construct with a collection of individual providers + + + + + Determines whether any data is available for a parameter. + + The parameter of a parameterized test + + + + Retrieves data for use with the supplied parameter. + + The parameter of a parameterized test + + + + ParameterDataSourceProvider supplies individual argument values for + single parameters using attributes implementing IParameterDataSource. + + + + + Determines whether any data is available for a parameter. + + The parameter of a parameterized test + + + + Retrieves data for use with the supplied parameter. + + The parameter of a parameterized test + + + + SequentialStrategy creates test cases by using all of the + parameter data sources in parallel, substituting + when any of them run out of data. + + + + + Gets the test cases generated by the CombiningStrategy. + + The test cases. + + + + TestActionAfterCommand handles the AfterTest method of a single + TestActionItem, provided the items BeforeTest has been run. + + + + + Initializes a new instance of the class. + + The inner command. + The TestActionItem to run before the inner command. + + + + AfterCommand is a DelegatingTestCommand that performs some + specific action after the inner command is run. + + + + + Construct an AfterCommand + + + + + Execute the command + + + + + Set this to perform action after the inner command. + + + + + ContextSettingsCommand applies specified changes to the + TestExecutionContext prior to running a test. No special + action is needed after the test runs, since the prior + context will be restored automatically. + + + + + TestActionCommand handles a single ITestAction applied + to a test. It runs the BeforeTest method, then runs the + test and finally runs the AfterTest method. + + + + + Initializes a new instance of the class. + + The inner command. + + + + Runs the test, saving a TestResult in the supplied TestExecutionContext. + + The context in which the test should run. + A TestResult + + + + Perform the before test action + + + + + Perform the after test action + + + + + TestActionBeforeCommand handles the BeforeTest method of a single + TestActionItem, relying on the item to remember it has been run. + + + + + Initializes a new instance of the class. + + The inner command. + The TestActionItem to run before the inner command. + + + + BeforeTestCommand is a DelegatingTestCommand that performs some + specific action before the inner command is run. + + + + + Construct a BeforeCommand + + + + + Execute the command + + + + + Action to perform before the inner command. + + + + + ConstructFixtureCommand constructs the user test object if necessary. + + + + + Constructs a OneTimeSetUpCommand for a suite + + The inner command to which the command applies + + + + DelegatingTestCommand wraps an inner TestCommand. + Derived classes may do what they like before or + after running the inner command. + + + + TODO: Documentation needed for field + + + + Initializes a new instance of the class. + + The inner command. + + + + OneTimeTearDownCommand performs any teardown actions + specified for a suite and calls Dispose on the user + test object, if any. + + + + + Construct a OneTimeTearDownCommand + + The command wrapped by this command + + + + EmptyTestCommand is a TestCommand that does nothing. It simply + returns the current result from the context when executed. We + use it to avoid testing for null when executing a chain of + DelegatingTestCommands. + + + + + Construct a NullCommand for a test + + + + + Execute the command + + + + + ConstructFixtureCommand constructs the user test object if necessary. + + + + + Handles the construction and disposement of a fixture per test case + + The inner command to which the command applies + + + + adjusts the result of a successful test + to a failure if the elapsed time has exceeded the specified maximum + time allowed. + + + + + Initializes a new instance of the class. + + The inner command. + The max time allowed in milliseconds + + + + OneTimeSetUpCommand runs any one-time setup methods for a suite, + constructing the user test object if necessary. + + + + + Constructs a OneTimeSetUpCommand for a suite + + The inner command to which the command applies + A SetUpTearDownList for use by the command + + + + OneTimeTearDownCommand performs any teardown actions + specified for a suite and calls Dispose on the user + test object, if any. + + + + + Construct a OneTimeTearDownCommand + + The command wrapped by this command + A SetUpTearDownList for use by the command + + + + SetUpTearDownCommand runs SetUp methods for a suite, + runs the test and then runs TearDown methods. + + + + + Initializes a new instance of the class. + + The inner command. + List of setup/teardown items + + + + SetUpTearDownItem holds the setup and teardown methods + for a single level of the inheritance hierarchy. + + + + + Construct a SetUpTearDownNode + + A list of setup methods for this level + A list teardown methods for this level + A method validator to validate each method before calling. + + + + Returns true if this level has any methods at all. + This flag is used to discard levels that do nothing. + + + + + Run SetUp on this level. + + The execution context to use for running. + + + + Run TearDown for this level. + + + + + + TODO: Documentation needed for class + + + + + Initializes a new instance of the class. + + The test being skipped. + + + + Overridden to simply set the CurrentResult to the + appropriate Skipped state. + + The execution context for the test + A TestResult + + + + TestActionCommand handles a single ITestAction applied + to a test. It runs the BeforeTest method, then runs the + test and finally runs the AfterTest method. + + + + + Initializes a new instance of the class. + + The inner command. + The TestAction with which to wrap the inner command. + + + + TestActionItem wraps a single execution of an ITestAction. + Its primary purpose is to track whether the BeforeTest + method has been called and suppress calling the + AfterTest method if it has not. This is necessary when + ITestActions are used before and after a CompositeWorkItem, + since the OneTimeSetUpCommand and OneTimeTearDownCommand + are separate command chains. By sharing a TestActionItem + between the setup and teardown chains, the two calls can + be coordinated. + + + + + Construct a TestActionItem + + The ITestAction to be included + + + + Get flag indicating if the BeforeTest entry was already called. + + + + + Run the BeforeTest method of the action and remember that it has been run. + + The test to which the action applies + + + + Run the AfterTest action, but only if the BeforeTest + action was actually run. + + The test to which the action applies + + + + TestCommand is the abstract base class for all test commands + in the framework. A TestCommand represents a single stage in + the execution of a test, e.g.: SetUp/TearDown, checking for + Timeout, verifying the returned result from a method, etc. + + TestCommands may decorate other test commands so that the + execution of a lower-level command is nested within that + of a higher level command. All nested commands are executed + synchronously, as a single unit. Scheduling test execution + on separate threads is handled at a higher level, using the + task dispatcher. + + + + + Construct a TestCommand for a test. + + The test to be executed + + + + Gets the test associated with this command. + + + + + Runs the test in a specified context, returning a TestResult. + + The TestExecutionContext to be used for running the test. + A TestResult + + + + TestMethodCommand is the lowest level concrete command + used to run actual test cases. + + + + + Initializes a new instance of the class. + + The test. + + + + Runs the test, saving a TestResult in the execution context, as + well as returning it. If the test has an expected result, it + is asserts on that value. Since failed tests and errors throw + an exception, this command must be wrapped in an outer command, + will handle that exception and records the failure. This role + is usually played by the SetUpTearDown command. + + The execution context + + + + TheoryResultCommand adjusts the result of a Theory so that + it fails if all the results were inconclusive. + + + + + Constructs a TheoryResultCommand + + The command to be wrapped by this one + + + + creates a timer in order to cancel + a test if it exceeds a specified time and adjusts + the test result if it did time out. + + + + + Initializes a new instance of the class. + + The inner command + Timeout value + + + + Initializes a new instance of the class. + + The inner command + Timeout value + An instance + + + + Provides methods to support consistent checking in constraints. + + + + + Requires that the provided object is actually of the type required. + + The object to verify. + Name of the parameter as passed into the checking method. + + If and can be null, returns null rather than throwing when is null. + If cannot be null, this parameter is ignored. + The type to require. + + + + CultureDetector is a helper class used by NUnit to determine + whether a test should be run based on the current culture. + + + + + Default constructor uses the current culture. + + + + + Construct a CultureDetector for a particular culture for testing. + + The culture to be used + + + + Test to determine if one of a collection of cultures + is being used currently. + + + + + + + Tests to determine if the current culture is supported + based on a culture attribute. + + The attribute to examine + + + + + Test to determine if the a particular culture or comma- + delimited set of cultures is in use. + + Name of the culture or comma-separated list of culture ids + True if the culture is in use on the system + + + + Return the last failure reason. Results are not + defined if called before IsSupported( Attribute ) + is called. + + + + + Useful when wrapping awaiters whose GetResult method does not block until complete. + Contains a default mechanism to implement + via and . + + + + + ExceptionHelper provides static methods for working with exceptions + + + + + Rethrows an exception, preserving its stack trace + + The exception to rethrow + + + + Builds up a message, using the Message field of the specified exception + as well as any InnerExceptions. Optionally excludes exception names, + creating a more readable message. + + The exception. + Flag indicating whether exception names should be excluded. + A combined message string. + + + + Builds up a message, using the Message field of the specified exception + as well as any InnerExceptions. + + The exception. + A combined stack trace. + + + + Executes a parameterless synchronous or async delegate and returns the exception it throws, if any. + + + + + A CompositeWorkItem represents a test suite and + encapsulates the execution of the suite as well + as all its child tests. + + + + + List of Child WorkItems + + + + + Indicates whether this work item should use a separate dispatcher. + + + + + Construct a CompositeWorkItem for executing a test suite + using a filter to select child tests. + + The TestSuite to be executed + A filter used to select child tests + + + + Method that actually performs the work. Overridden + in CompositeWorkItem to do one-time setup, run all child + items and then dispatch the one-time teardown work item. + + + + + + + + + + Cancel (abort or stop) a CompositeWorkItem and all of its children + + true if the CompositeWorkItem and all of its children should be aborted, false if it should allow all currently running tests to complete + + + + OneTimeTearDownWorkItem represents the cleanup + and one-time teardown phase of a CompositeWorkItem + + + + + Construct a OneTimeTearDownWOrkItem wrapping a CompositeWorkItem + + The CompositeWorkItem being wrapped + + + + The WorkItem name, overridden to indicate this is the teardown. + + + + + The ExecutionStrategy for use in running this work item + + + + + + + + + + PerformWork is not used in CompositeWorkItem + + + + + WorkItemCancelled is called directly by the parallel dispatcher + when a test suite is left hanging after a forced StopRun. We + simulate WorkItemComplete() but without the ripple effect to + higher level suites, since we are controlling it all directly. + + + + + A simplified implementation of .NET 4 CountdownEvent + for use in earlier versions of .NET. Only the methods + used by NUnit are implemented. + + + + + Construct a CountdownEvent + + The initial count + + + + Gets the initial count established for the CountdownEvent + + + + + Gets the current count remaining for the CountdownEvent + + + + + Decrement the count by one + + + + + Decrement the count by the specified amount + + + + + Block the thread until the count reaches zero + + + + + EventListenerTextWriter sends text output to the currently active + ITestEventListener in the form of a TestOutput object. If no event + listener is active in the context, or if there is no context, + the output is forwarded to the supplied default writer. + + + + + Construct an EventListenerTextWriter + + The name of the stream to use for events + The default writer to use if no listener is available + + + + Get the Encoding for this TextWriter + + + + + Write formatted string + + + + + Write formatted string + + + + + Write formatted string + + + + + Write an object + + + + + Write a string + + + + + Write a decimal + + + + + Write a double + + + + + Write formatted string + + + + + Write a ulong + + + + + Write a long + + + + + Write a uint + + + + + Write an int + + + + + Write a char + + + + + Write a boolean + + + + + Write chars + + + + + Write chars + + + + + Write a float + + + + + Write a string with newline + + + + + Write an object with newline + + + + + Write formatted string with newline + + + + + Write formatted string with newline + + + + + Write formatted string with newline + + + + + Write a decimal with newline + + + + + Write a formatted string with newline + + + + + Write a double with newline + + + + + Write a uint with newline + + + + + Write a ulong with newline + + + + + Write a long with newline + + + + + Write an int with newline + + + + + Write a bool with newline + + + + + Write chars with newline + + + + + Write chars with newline + + + + + Write a char with newline + + + + + Write a float with newline + + + + + Write newline + + + + + The EventPumpState enum represents the state of an + EventPump. + + + + + The pump is stopped + + + + + The pump is pumping events with no stop requested + + + + + The pump is pumping events but a stop has been requested + + + + + EventPump pulls events out of an EventQueue and sends + them to a listener. It is used to send events back to + the client without using the CallContext of the test + runner thread. + + + + + The downstream listener to which we send events + + + + + The queue that holds our events + + + + + Thread to do the pumping + + + + + The current state of the event pump + + + + + Constructor + + The EventListener to receive events + The event queue to pull events from + + + + Gets or sets the current state of the pump + + + + + Gets or sets the name of this EventPump + (used only internally and for testing). + + + + + Dispose stops the pump + Disposes the used WaitHandle, too. + + + + + Start the pump + + + + + Tell the pump to stop after emptying the queue. + + + + + Our thread proc for removing items from the event + queue and sending them on. Note that this would + need to do more locking if any other thread were + removing events from the queue. + + + + + NUnit.Core.Event is the abstract base for all stored events. + An Event is the stored representation of a call to the + ITestListener interface and is used to record such calls + or to queue them for forwarding on another thread or at + a later time. + + + + + The Send method is implemented by derived classes to send the event to the specified listener. + + The listener. + + + + TestStartedEvent holds information needed to call the TestStarted method. + + + + + Initializes a new instance of the class. + + The test. + + + + Calls TestStarted on the specified listener. + + The listener. + + + + TestFinishedEvent holds information needed to call the TestFinished method. + + + + + Initializes a new instance of the class. + + The result. + + + + Calls TestFinished on the specified listener. + + The listener. + + + + TestOutputEvent holds information needed to call the TestOutput method. + + + + + Initializes a new instance of the class. + + The output object. + + + + Calls TestOutput on the specified listener. + + The listener. + + + + TestMessageEvent holds information needed to call the SendMessage method. + + + + + Initializes a new instance of the class. + + The test message object. + + + + Calls on the specified listener. + + The listener. + + + + Holds object for sending to all listeners + + + + + Implements a queue of work items each of which + is queued as a WaitCallback. + + + + + Gets the count of items in the queue. + + + + + Enqueues the specified event + + The event to enqueue. + + + + Removes the first element from the queue and returns it (or ). + + + If and the queue is empty, the calling thread is blocked until + either an element is enqueued, or is called. + + + + + If the queue not empty + the first element. + + + otherwise, if == + or has been called + . + + + + + + + Stop processing of the queue + + + + + Validates method to execute. + + + + + Determines whether a method is allowed to execute and throws an exception otherwise. + + The method to validate. + + + + An IWorkItemDispatcher handles execution of work items. + + + + + The level of parallelism supported. Zero if not supported. + + + + + Start execution, performing any initialization. Sets + the top level work item and dispatches it. + + + + + Dispatch a single work item for execution. The first + work item dispatched is saved as the top-level + work item and used when stopping the run. + + The item to dispatch + + + + Cancel the ongoing run completely. + If no run is in process, the call has no effect. + + true if the IWorkItemDispatcher should abort all currently running WorkItems, false if it should allow all currently running WorkItems to complete + + + + MainThreadWorkItemDispatcher handles execution of WorkItems by + directly executing them on the main thread. This is different + from the SimpleWorkItemDispatcher where the work item is dispatched + onto its own thread. + + + + + The level of parallelism supported + + + + + Start execution, dispatching the top level + work into the main thread. + + + + + Dispatch a single work item for execution by + executing it directly. + + The item to dispatch + + + + This method is not supported for + this dispatcher. Using it will throw a + NotSupportedException. + + Not used + If used, it will always throw this. + + + + Enumeration representing the strategy to follow in executing a work item. + The value is only relevant when running under the parallel dispatcher. + + + + + Run directly on same thread + + + + + Enqueue for parallel execution + + + + + Enqueue for non-parallel execution + + + + + ParallelWorkItemDispatcher handles execution of work items by + queuing them for worker threads to process. + + + + + Event raised whenever a shift is starting. + + + + + Event raised whenever a shift has ended. + + + + + Construct a ParallelWorkItemDispatcher + + Number of workers to use + + + + Number of parallel worker threads + + + + + Enumerates all the shifts supported by the dispatcher + + + + + Enumerates all the Queues supported by the dispatcher + + + + + Start execution, setting the top level work, + enqueuing it and starting a shift to execute it. + + + + + Dispatch a single work item for execution. The first + work item dispatched is saved as the top-level + work item and used when stopping the run. + + The item to dispatch + + + + Cancel the ongoing run completely. + If no run is in process, the call has no effect. + + + + + Save the state of the queues and create a new isolated set + + + + + Try to remove isolated queues and restore old ones + + + + + QueuingEventListener uses an EventQueue to store any + events received on its EventListener interface. + + + + + The EventQueue created and filled by this listener + + + + + Construct a QueuingEventListener + + + + + A test has started + + The test that is starting + + + + A test case finished + + Result of the test case + + + + Called when a test produces output for immediate display + + A TestOutput object containing the text to display + + + + Called when a test produces a message to be sent to listeners + + A object containing the text to send + + + + A SimpleWorkItem represents a single test case and is + marked as completed immediately upon execution. This + class is also used for skipped or ignored test suites. + + + + + Construct a simple work item for a test. + + The test to be executed + The filter used to select this test + + + + Construct a simple work item for a test. + + The test to be executed + The filter used to select this test + An instance + + + + Method that performs actually performs the work. + + + + + Creates a test command for use in running this test. + + A TestCommand + + + + SimpleWorkItemDispatcher handles execution of WorkItems by + directly executing them. It is provided so that a dispatcher + is always available in the context, thereby simplifying the + code needed to run child tests. + + + + + The level of parallelism supported + + + + + Start execution, creating the execution thread, + setting the top level work and dispatching it. + + + + + Dispatch a single work item for execution by + executing it directly. + + The item to dispatch + + + + Cancel (abort or stop) the ongoing run. + If no run is in process, the call has no effect. + + true if the run should be aborted, false if it should allow its currently running test to complete + + + + Checks whether the method to execute is static. + + + + + Construct a StaticMethodValidator. + + The error message to output in case the validation fails. + + + + Determines whether a method to execute is static and throws an InvalidOperationException otherwise. + + The method to validate. + + + + A TestWorker pulls work items from a queue + and executes them. + + + + + Event handler for TestWorker events + + The TestWorker sending the event + The WorkItem that caused the event + + + + Event signaled immediately before executing a WorkItem + + + + + Event signaled immediately after executing a WorkItem + + + + + Construct a new TestWorker. + + The queue from which to pull work items + The name of this worker + + + + The WorkItemQueue from which this worker pulls WorkItems + + + + + The name of this worker - also used for the thread + + + + + Indicates whether the worker thread is running + + + + + Our ThreadProc, which pulls and runs tests in a loop + + + + + Create thread and start processing work items. + + + + + Stop the thread, either immediately or after finishing the current WorkItem + + true if the thread should be aborted, false if it should allow the currently running test to complete + + + + The TextCapture class intercepts console output and writes it + to the current execution context, if one is present on the thread. + If no execution context is found, the output is written to a + default destination, normally the original destination of the + intercepted output. + + + + + Construct a TextCapture object + + The default destination for non-intercepted output + + + + Gets the Encoding in use by this TextWriter + + + + + Writes a single character + + The char to write + + + + Writes a string + + The string to write + + + + Writes a string followed by a line terminator + + The string to write + + + + A WorkItem may be an individual test case, a fixture or + a higher level grouping of tests. All WorkItems inherit + from the abstract WorkItem class, which uses the template + pattern to allow derived classes to perform work in + whatever way is needed. + + A WorkItem is created with a particular TestExecutionContext + and is responsible for re-establishing that context in the + current thread before it begins or resumes execution. + + + + + Construct a WorkItem for a particular test. + + The test that the WorkItem will run + Filter used to include or exclude child items + + + + Construct a work Item that wraps another work Item. + Wrapper items are used to represent independently + dispatched tasks, which form part of the execution + of a single test, such as OneTimeTearDown. + + The WorkItem being wrapped + + + + Initialize the TestExecutionContext. This must be done + before executing the WorkItem. + + + Originally, the context was provided in the constructor + but delaying initialization of the context until the item + is about to be dispatched allows changes in the parent + context during OneTimeSetUp to be reflected in the child. + + The TestExecutionContext to use + + + + Event triggered when the item is complete + + + + + Gets the current state of the WorkItem + + + + + The test being executed by the work item + + + + + The name of the work item - defaults to the Test name. + + + + + Filter used to include or exclude child tests + + + + + The execution context + + + + + The worker executing this item. + + + + + The ParallelExecutionStrategy to use for this work item + + + + + Indicates whether this work item should use a separate dispatcher. + + + + + The test result + + + + + Gets the ParallelScope associated with the test, if any, + otherwise returning ParallelScope.Default; + + + + + Execute the current work item, including any + child work items. + + + + + Wait until the execution of this item is complete + + + + + Marks the WorkItem as NotRunnable. + + Reason for test being NotRunnable. + + + + Cancel (abort or stop) a WorkItem + + true if the WorkItem should be aborted, false if it should run to completion + + + + Standard Dispose + + + + + Method that performs actually performs the work. It should + set the State to WorkItemState.Complete when done. + + + + + Method called by the derived class when all work is complete + + + + + Builds the set up tear down list. + + Unsorted array of setup MethodInfos. + Unsorted array of teardown MethodInfos. + Method validator used before each method execution. + A list of SetUpTearDownItems + + + + Changes the result of the test, logging the old and new states + + The new ResultState + The new message + + + + Recursively walks up the test hierarchy to see if the + has been set on any of the parent tests. + + + + + WorkItemBuilder class knows how to build a tree of work items from a tree of tests + + + + + Creates a work item. + + The test for which this WorkItem is being created. + The filter to be used in selecting any child Tests. + True if child work items should be created and added. + + + + + Creates a work item. + + The test for which this WorkItem is being created. + The filter to be used in selecting any child Tests. + An instance. + True if child work items should be created and added. + if work item needs to be created unconditionally, if will be returned for tests that don't match the filter. + + + + + Compares two objects and returns a value indicating whether one is less than, equal to, or greater than the other. + + + A signed integer that indicates the relative values of and , as shown in the following table.Value Meaning Less than zero is less than .Zero equals .Greater than zero is greater than . + + The first object to compare.The second object to compare. + + + + WorkItemQueueState indicates the current state of a WorkItemQueue + + + + + The queue is paused + + + + + The queue is running + + + + + The queue is stopped + + + + + A WorkItemQueue holds work items that are ready to + be run, either initially or after some dependency + has been satisfied. + + + + + Initializes a new instance of the class. + + The name of the queue. + Flag indicating whether this is a parallel queue + ApartmentState to use for items on this queue + + + + Gets the name of the work item queue. + + + + + Gets a flag indicating whether this queue is used for parallel execution + + + + + Gets the target ApartmentState for work items on this queue + + + + + Gets the total number of items processed so far + + + + + Gets the current state of the queue + + + + + Get a bool indicating whether the queue is empty. + + + + + Enqueue a WorkItem to be processed + + The WorkItem to process + + + + Enqueue a WorkItem to be processed - internal for testing + + The WorkItem to process + The priority at which to process the item + + + + Dequeue a WorkItem for processing + + A WorkItem or null if the queue has stopped + + + + Start or restart processing of items from the queue + + + + + Signal the queue to stop + + + + + Pause the queue for restarting later + + + + + Save the current inner queue and create new ones for use by + a non-parallel fixture with parallel children. + + + + + Restore the inner queue that was previously saved + + + + + The current state of a work item + + + + + Ready to run or continue + + + + + Work Item is executing + + + + + Complete + + + + + Handler for ShiftChange events. + + The shift that is starting or ending. + + + + The dispatcher needs to do different things at different, + non-overlapped times. For example, non-parallel tests may + not be run at the same time as parallel tests. We model + this using the metaphor of a working shift. The WorkShift + class associates one or more WorkItemQueues with one or + more TestWorkers. + + Work in the queues is processed until all queues are empty + and all workers are idle. Both tests are needed because a + worker that is busy may end up adding more work to one of + the queues. At that point, the shift is over and another + shift may begin. This cycle continues until all the tests + have been run. + + + + + Construct a WorkShift + + + + + Event that fires when the shift has ended + + + + + The Name of this shift + + + + + Gets a flag indicating whether the shift is currently active + + + + + Gets a bool indicating whether this shift has any work to do + + + + + Gets a list of the queues associated with this shift. + + Internal for testing - immutable once initialized + + + + Gets the list of workers associated with this shift. + + Internal for testing - immutable once initialized + + + + Add a WorkItemQueue to the shift, starting it if the + shift is currently active. + + + + + Assign a worker to the shift. + + + + + + Start or restart processing for the shift + + + + + End the shift, pausing all queues and raising + the EndOfShift event. + + + + + Shut down the shift. + + + + + Cancel (abort or stop) the shift without completing all work + + true if the WorkShift should be aborted, false if it should allow its currently running tests to complete + + + + TextMessageWriter writes constraint descriptions and messages + in displayable form as a text stream. It tailors the display + of individual message components to form the standard message + format of NUnit assertion failure messages. + + + + + Prefix used for the expected value line of a message + + + + + Prefix used for the actual value line of a message + + + + + Prefix used for the actual difference between actual and expected values if compared with a tolerance + + + + + Length of a message prefix + + + + + Construct a TextMessageWriter + + + + + Construct a TextMessageWriter, specifying a user message + and optional formatting arguments. + + + + + + + Gets or sets the maximum line length for this writer + + + + + Method to write single line message with optional args, usually + written to precede the general failure message, at a given + indentation level. + + The indentation level of the message + The message to be written + Any arguments used in formatting the message + + + + Display Expected and Actual lines for a constraint. This + is called by MessageWriter's default implementation of + WriteMessageTo and provides the generic two-line display. + + The result of the constraint that failed + + + + Gets the unique type name between expected and actual. + + The expected value + The actual value causing the failure + Output of the unique type name for expected + Output of the unique type name for actual + + + + Display Expected and Actual lines for given values. This + method may be called by constraints that need more control over + the display of actual and expected values than is provided + by the default implementation. + + The expected value + The actual value causing the failure + + + + Display Expected and Actual lines for given values, including + a tolerance value on the expected line. + + The expected value + The actual value causing the failure + The tolerance within which the test was made + + + + Display the expected and actual string values on separate lines. + If the mismatch parameter is >=0, an additional line is displayed + line containing a caret that points to the mismatch point. + + The expected string value + The actual string value + The point at which the strings don't match or -1 + If true, case is ignored in string comparisons + If true, clip the strings to fit the max line length + + + + Writes the text for an actual value. + + The actual value. + + + + Writes the text for a generalized value. + + The value. + + + + Writes the text for a collection value, + starting at a particular point, to a max length + + The collection containing elements to write. + The starting point of the elements to write + The maximum number of elements to write + + + + Write the generic 'Expected' line for a constraint + + The constraint that failed + + + + Write the generic 'Expected' line for a given value + and tolerance. + + The expected value + The tolerance within which the test was made + + + + Write the generic 'Actual' line for a constraint + + The ConstraintResult for which the actual value is to be written + + + + Write the generic 'Actual' line for a given value + + The actual value causing a failure + + + + Extensions to . + + + + + Adds the skip reason to tests that are ignored until a specific date. + + The test properties to add the skip reason to + The date that the test is being ignored until + The reason the test is being ignored until that date + + + + Combines multiple filters so that a test must pass all + of them in order to pass this filter. + + + + + Constructs an empty AndFilter + + + + + Constructs an AndFilter from an array of filters + + + + + + Checks whether the AndFilter is matched by a test + + The test to be matched + If set to we are carrying a negation through + True if all the component filters pass, otherwise false + + + + Checks whether the AndFilter is matched by a test + + The test to be matched + True if all the component filters match, otherwise false + + + + Checks whether the AndFilter is explicit matched by a test. + + The test to be matched + True if all the component filters explicit match, otherwise false + + + + Gets the element name + + Element name + + + + CategoryFilter is able to select or exclude tests + based on their categories. + + + + + Construct a CategoryFilter using a single category name + + A category name + + + + Check whether the filter matches a test + + The test to be matched + + + + + Gets the element name + + Element name + + + + ClassName filter selects tests based on the class FullName + + + + + Construct a FullNameFilter for a single name + + The name the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + A base class for multi-part filters + + + + + Constructs an empty CompositeFilter + + + + + Constructs a CompositeFilter from an array of filters + + + + + + Return a list of the composing filters. + + + + + Checks whether the CompositeFilter is matched by a test. + + The test to be matched + If set to we are carrying a negation through + + + + Checks whether the CompositeFilter is matched by a test. + + The test to be matched + + + + Checks whether the CompositeFilter is explicit matched by a test. + + The test to be matched + + + + Adds an XML node + + Parent node + True if recursive + The added XML node + + + + Gets the element name + + Element name + + + + FullName filter selects tests based on their FullName + + + + + Construct a FullNameFilter for a single name + + The name the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + IdFilter selects tests based on their id + + + + + Construct an IdFilter for a single value + + The id the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + FullName filter selects tests based on their FullName + + + + + Construct a MethodNameFilter for a single name + + The name the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + ClassName filter selects tests based on the class FullName + + + + + Construct a NamespaceFilter for a single namespace + + The namespace the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + NotFilter negates the operation of another filter + + + + + Construct a not filter on another filter + + The filter to be negated + + + + Gets the base filter + + + + + Determine if a particular test passes the filter criteria. + + The test to which the filter is applied + If set to we are carrying a negation through + True if the test passes the filter, otherwise false + + + + Check whether the filter matches a test + + The test to be matched + True if it matches, otherwise false + + + + Determine if a test matches the filter explicitly. That is, it must + be a direct match of the test itself or one of its children. + + The test to which the filter is applied + True if the test matches the filter explicitly, otherwise false + + + + Adds an XML node + + Parent node + True if recursive + The added XML node + + + + Combines multiple filters so that a test must pass one + of them in order to pass this filter. + + + + + Constructs an empty OrFilter + + + + + Constructs an OrFilter from an array of filters + + + + + + Checks whether the OrFilter is matched by a test + + The test to be matched + If set to we are carrying a negation through + True if any of the component filters pass, otherwise false + + + + Checks whether the OrFilter is matched by a test + + The test to be matched + True if any of the component filters match, otherwise false + + + + Checks whether the OrFilter is explicit matched by a test + + The test to be matched + True if any of the component filters explicit match, otherwise false + + + + Gets the element name + + Element name + + + + PropertyFilter is able to select or exclude tests + based on their properties. + + + + + Construct a PropertyFilter using a property name and expected value + + A property name + The expected value of the property + + + + Check whether the filter matches a test + + The test to be matched + + + + + Adds an XML node + + Parent node + True if recursive + The added XML node + + + + Gets the element name + + Element name + + + + TestName filter selects tests based on their Name + + + + + Construct a TestNameFilter for a single name + + The name the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + ValueMatchFilter selects tests based on some value, which + is expected to be contained in the test. + + + + + Returns the value matched by the filter - used for testing + + + + + Indicates whether the value is a regular expression + + + + + Construct a ValueMatchFilter for a single value. + + The value to be included. + + + + Match the input provided by the derived class + + The value to be matched + True for a match, false otherwise. + + + + Adds an XML node + + Parent node + True if recursive + The added XML node + + + + Gets the element name + + Element name + + + + GenericMethodHelper is able to deduce the Type arguments for + a generic method from the actual arguments provided. + + + + + A special value, which is used to indicate that BestCommonType() method + was unable to find a common type for the specified arguments. + + + + + Construct a GenericMethodHelper for a method + + MethodInfo for the method to examine + + + + Return the type arguments for the method, deducing them + from the arguments actually provided. + + The arguments to the method + If successful, an array of type arguments. + + + + A minimalistic implementation of an immutable stack. Add members as needed. + + + + + Represents an empty stack. may be used instead. + + + + + Returns a new immutable stack which begins with the specified value and continues with the values in the + current stack. + + The beginning value of the new stack. + + + + InvalidTestFixtureException is thrown when an appropriate test + fixture constructor using the provided arguments cannot be found. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner. + + + + Serialization Constructor + + + + + InvalidPlatformException is thrown when the platform name supplied + to a test is not recognized. + + + + + Instantiates a new instance of the class. + + + + + Instantiates a new instance of the class + + The message. + + + + Instantiates a new instance of the class + + The message. + The inner. + + + + Serialization constructor for the class + + + + + InvalidTestFixtureException is thrown when an appropriate test + fixture constructor using the provided arguments cannot be found. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner. + + + + Serialization Constructor + + + + + Interface for logging within the engine + + + + + Logs the specified message at the error level. + + The message. + + + + Logs the specified message at the error level. + + The message. + The arguments. + + + + Logs the specified message at the warning level. + + The message. + + + + Logs the specified message at the warning level. + + The message. + The arguments. + + + + Logs the specified message at the info level. + + The message. + + + + Logs the specified message at the info level. + + The message. + The arguments. + + + + Logs the specified message at the debug level. + + The message. + + + + Logs the specified message at the debug level. + + The message. + The arguments. + + + + InternalTrace provides facilities for tracing the execution + of the NUnit framework. Tests and classes under test may make use + of Console writes, System.Diagnostics.Trace or various loggers and + NUnit itself traps and processes each of them. For that reason, a + separate internal trace is needed. + + Note: + InternalTrace uses a global lock to allow multiple threads to write + trace messages. This can easily make it a bottleneck so it must be + used sparingly. Keep the trace Level as low as possible and only + insert InternalTrace writes where they are needed. + TODO: add some buffering and a separate writer thread as an option. + TODO: figure out a way to turn on trace in specific classes only. + + + + + Gets a flag indicating whether the InternalTrace is initialized + + + + + Initialize the internal trace facility using the name of the log + to be written to and the trace level. + + The log name + The trace level + + + + Initialize the internal trace using a provided TextWriter and level + + A TextWriter + The InternalTraceLevel + + + + Get a named Logger + + + + + + Get a logger named for a particular Type. + + + + + InternalTraceLevel is an enumeration controlling the + level of detailed presented in the internal log. + + + + + Use the default settings as specified by the user. + + + + + Do not display any trace messages + + + + + Display Error messages only + + + + + Display Warning level and higher messages + + + + + Display informational and higher messages + + + + + Display debug messages and higher - i.e. all messages + + + + + Display debug messages and higher - i.e. all messages + + + + + A trace listener that writes to a separate file per domain + and process using it. + + + + + Construct an InternalTraceWriter that writes to a file. + + Path to the file to use + + + + Construct an InternalTraceWriter that writes to a + TextWriter provided by the caller. + + + + + + Returns the character encoding in which the output is written. + + The character encoding in which the output is written. + + + + Writes a character to the text string or stream. + + The character to write to the text stream. + + + + Writes a string to the text string or stream. + + The string to write. + + + + Writes a string followed by a line terminator to the text string or stream. + + The string to write. If is null, only the line terminator is written. + + + + Releases the unmanaged resources used by the and optionally releases the managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Clears all buffers for the current writer and causes any buffered data to be written to the underlying device. + + + + + Provides internal logging to the NUnit framework + + + + + Initializes a new instance of the class. + + The name. + The log level. + The writer where logs are sent. + + + + Logs the message at error level. + + The message. + + + + Logs the message at error level. + + The message. + The message arguments. + + + + Logs the message at warm level. + + The message. + + + + Logs the message at warning level. + + The message. + The message arguments. + + + + Logs the message at info level. + + The message. + + + + Logs the message at info level. + + The message. + The message arguments. + + + + Logs the message at debug level. + + The message. + + + + Logs the message at debug level. + + The message. + The message arguments. + + + + The MethodWrapper class wraps a MethodInfo so that it may + be used in a platform-independent manner. + + + + + Construct a MethodWrapper for a Type and a MethodInfo. + + + + + Construct a MethodInfo for a given Type and method name. + + + + + Gets the Type from which this method was reflected. + + + + + Gets the MethodInfo for this method. + + + + + Gets the name of the method. + + + + + Gets a value indicating whether the method is abstract. + + + + + Gets a value indicating whether the method is public. + + + + + Gets a value indicating whether the method is static. + + + + + Gets a value indicating whether the method contains unassigned generic type parameters. + + + + + Gets a value indicating whether the method is a generic method. + + + + + Gets a value indicating whether the MethodInfo represents the definition of a generic method. + + + + + Gets the return Type of the method. + + + + + Gets the parameters of the method. + + + + + + Returns the Type arguments of a generic method or the Type parameters of a generic method definition. + + + + + Replaces the type parameters of the method with the array of types provided and returns a new IMethodInfo. + + The type arguments to be used + A new IMethodInfo with the type arguments replaced + + + + Returns an array of custom attributes of the specified type applied to this method + + + + + Gets a value indicating whether one or more attributes of the specified type are defined on the method. + + + + + Invokes the method, converting any TargetInvocationException to an NUnitException. + + The object on which to invoke the method + The argument list for the method + The return value from the invoked method + + + + Override ToString() so that error messages in NUnit's own tests make sense + + + + + This class ensures the is correctly cleared + or restored around framework actions. This is important if running multiple assemblies within the same + process, to ensure no leakage from one assembly to the next. See https://github.com/nunit/nunit-console/issues/325 + + + + + Thrown when an assertion failed. Here to preserve the inner + exception and hence its stack trace. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The error message that explains + the reason for the exception + + + + Initializes a new instance of the class. + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + Serialization Constructor + + + + + Enables the syntax. + + + + + Wraps an action so that it is executed when the returned object is disposed. + This disposal is thread-safe and the action will be executed at most once. + + + + + OSPlatform represents a particular operating system platform + + + + + Platform ID for Unix as defined by .NET + + + + + Platform ID for Unix as defined by Mono + + + + + Platform ID for XBox as defined by .NET and Mono + + + + + Platform ID for MacOSX as defined by .NET and Mono + + + + + Get the OSPlatform under which we are currently running + + + + + Gets the actual OS Version, not the incorrect value that might be + returned for Win 8.1 and Win 10 + + + If an application is not manifested as Windows 8.1 or Windows 10, + the version returned from Environment.OSVersion will not be 6.3 and 10.0 + respectively, but will be 6.2 and 6.3. The correct value can be found in + the registry. + + The original version + The correct OS version + + + + Product Type Enumeration used for Windows + + + + + Product type is unknown or unspecified + + + + + Product type is Workstation + + + + + Product type is Domain Controller + + + + + Product type is Server + + + + + Construct from a platform ID and version + + + + + Construct from a platform ID, version and product type + + + + + Get the platform ID of this instance + + + + + Implemented to use in place of Environment.OSVersion.ToString() + + A representation of the platform ID and version in an approximation of the format used by Environment.OSVersion.ToString() + + + + Get the Version of this instance + + + + + Get the Product Type of this instance + + + + + Return true if this is a windows platform + + + + + Return true if this is a Unix or Linux platform + + + + + Return true if the platform is Win32S + + + + + Return true if the platform is Win32Windows + + + + + Return true if the platform is Win32NT + + + + + Return true if the platform is Windows CE + + + + + Return true if the platform is Xbox + + + + + Return true if the platform is MacOSX + + + + + Return true if the platform is Windows 95 + + + + + Return true if the platform is Windows 98 + + + + + Return true if the platform is Windows ME + + + + + Return true if the platform is NT 3 + + + + + Return true if the platform is NT 4 + + + + + Return true if the platform is NT 5 + + + + + Return true if the platform is Windows 2000 + + + + + Return true if the platform is Windows XP + + + + + Return true if the platform is Windows 2003 Server + + + + + Return true if the platform is NT 6 + + + + + Return true if the platform is NT 6.0 + + + + + Return true if the platform is NT 6.1 + + + + + Return true if the platform is NT 6.2 + + + + + Return true if the platform is NT 6.3 + + + + + Return true if the platform is Vista + + + + + Return true if the platform is Windows 2008 Server (original or R2) + + + + + Return true if the platform is Windows 2008 Server (original) + + + + + Return true if the platform is Windows 2008 Server R2 + + + + + Return true if the platform is Windows 2012 Server (original or R2) + + + + + Return true if the platform is Windows 2012 Server (original) + + + + + Return true if the platform is Windows 2012 Server R2 + + + + + Return true if the platform is Windows 7 + + + + + Return true if the platform is Windows 8 + + + + + Return true if the platform is Windows 8.1 + + + + + Return true if the platform is Windows 10 + + + + + Return true if the platform is Windows Server. This is named Windows + Server 10 to distinguish it from previous versions of Windows Server. + + + + + + Examines an attribute argument and tries to simulate what that value would have been if the literal syntax + which might have defined the value in C# had instead been used as an argument to a given method parameter in a direct call. + + + For example, since you can’t apply attributes using arguments, we allow the C# syntax + 10 ( value) or 0.1 ( value) to be specified. + NUnit then converts it to match the method’s parameters, just as if you were actually + using the syntax TestMethod(10) or TestMethod(0.1). + + + For another example, you might have written the syntax 10 and picked up the attribute + constructor overload; however, the test method for which this value is intended only has a + signature. Again, NUnit simulates what would have happened if the inferred C# syntax was transplanted + and you were actually using the syntax TestMethod(10). + + + + + + Converts an array of objects to the , if it is supported. + + + + + Converts a single value to the , if it is supported. + + + + + Performs several special conversions allowed by NUnit in order to + permit arguments with types that cannot be used in the constructor + of an Attribute such as TestCaseAttribute or to simplify their use. + + The value to be converted + The target in which the should be converted + If conversion was successfully applied, the converted into + + if was converted and should be used; + is no conversion was applied and should be ignored + + + + + The ParameterWrapper class wraps a ParameterInfo so that it may + be used in a platform-independent manner. + + + + + Construct a ParameterWrapper for a given method and parameter + + + + + + + Gets a value indicating whether the parameter is optional + + + + + Gets an IMethodInfo representing the method for which this is a parameter. + + + + + Gets the underlying ParameterInfo + + + + + Gets the Type of the parameter + + + + + Returns an array of custom attributes of the specified type applied to this method + + + + + Gets a value indicating whether one or more attributes of the specified type are defined on the parameter. + + + + + PlatformHelper class is used by the PlatformAttribute class to + determine whether a platform is supported. + + + + + Comma-delimited list of all supported OS platform constants + + + + + Comma-delimited list of all supported Runtime platform constants + + + + + Default constructor uses the operating system and + common language runtime of the system. + + + + + Construct a PlatformHelper for a particular operating + system and common language runtime. Used in testing. + + RuntimeFramework to be used + OperatingSystem to be used + + + + Test to determine if one of a collection of platforms + is being used currently. + + + + + + + Tests to determine if the current platform is supported + based on a platform attribute. + + The attribute to examine + + + + + Tests to determine if the current platform is supported + based on a platform attribute. + + The attribute to examine + + + + + Test to determine if a particular platform or comma-delimited set of platforms is in use. + + Name of the platform or comma-separated list of platform ids + True if the platform is in use on the system + + + + Return the last failure reason. Results are not + defined if called before IsSupported( Attribute ) + is called. + + + + + Implements a simplified filter for use in deciding which + Types and Methods should be used to generate tests. It is constructed with a + list of strings, each of which may end up being interpreted in various ways. + + + + + Return a new PreFilter, without elements, which is considered + empty and always matches. + + + + + Return true if the filter is empty, in which case it + always succeeds. Technically, this is just a filter and + you can add elements but it's best to use Empty when + you need an empty filter and new when you plan to add. + + + + + Add a new filter element to the filter + + + + + + Use the filter on a Type, returning true if the type matches the filter + and should therefore be included in the discovery process. + + + + + Use the filter on a Type, returning true if the type matches the filter + and should therefore be included in the discovery process. + + + + + A PropertyBag represents a collection of name value pairs + that allows duplicate entries with the same key. Methods + are provided for adding a new pair as well as for setting + a key to a single value. All keys are strings but values + may be of any type. Null values are not permitted, since + a null entry represents the absence of the key. + + + + + Adds a key/value pair to the property set + + The key + The value + + + + Sets the value for a key, removing any other + values that are already in the property set. + + + + + + + Gets a single value for a key, using the first + one if multiple values are present and returning + null if the value is not found. + + + + + + + Gets a flag indicating whether the specified key has + any entries in the property set. + + The key to be checked + + True if their are values present, otherwise false + + + + + Gets a collection containing all the keys in the property set + + + + + + Gets or sets the list of values for a particular key + + + + + Returns an XmlNode representing the current PropertyBag. + + Not used + An XmlNode representing the PropertyBag + + + + Returns an XmlNode representing the PropertyBag after + adding it as a child of the supplied parent node. + + The parent node. + Not used + + + + + The PropertyNames class provides static constants for the + standard property ids that NUnit uses on tests. + + + + + The FriendlyName of the AppDomain in which the assembly is running + + + + + The selected strategy for joining parameter data into test cases + + + + + The process ID of the executing assembly + + + + + The stack trace from any data provider that threw + an exception. + + + + + The reason a test was not run + + + + + The author of the tests + + + + + The ApartmentState required for running the test + + + + + The categories applying to a test + + + + + The Description of a test + + + + + The number of threads to be used in running tests + + + + + The maximum time in ms, above which the test is considered to have failed + + + + + The ParallelScope associated with a test + + + + + The number of times the test should be repeated + + + + + Indicates that the test should be run on a separate thread + + + + + The culture to be set for a test + + + + + The UI culture to be set for a test + + + + + The type that is under test + + + + + The timeout value for the test + + + + + The test will be ignored until the given date + + + + + The optional Order the test will run in + + + + + Randomizer returns a set of random values in a repeatable + way, to allow re-running of tests if necessary. It extends + the .NET Random class, providing random values for a much + wider range of types. + + The class is used internally by the framework to generate + test case data and is also exposed for use by users through + the TestContext.Random property. + + + For consistency with the underlying Random Type, methods + returning a single value use the prefix "Next..." Those + without an argument return a non-negative value up to + the full positive range of the Type. Overloads are provided + for specifying a maximum or a range. Methods that return + arrays or strings use the prefix "Get..." to avoid + confusion with the single-value methods. + + + + + Initial seed used to create randomizers for this run + + + + + Get a Randomizer for a particular member, returning + one that has already been created if it exists. + This ensures that the same values are generated + each time the tests are reloaded. + + + + + Get a randomizer for a particular parameter, returning + one that has already been created if it exists. + This ensures that the same values are generated + each time the tests are reloaded. + + + + + Create a new Randomizer using the next seed + available to ensure that each randomizer gives + a unique sequence of values. + + + + + + Default constructor + + + + + Construct based on seed value + + + + + + Returns a random unsigned int. + + + + + Returns a random unsigned int less than the specified maximum. + + + + + Returns a random unsigned int within a specified range. + + + + + Returns a non-negative random short. + + + + + Returns a non-negative random short less than the specified maximum. + + + + + Returns a non-negative random short within a specified range. + + + + + Returns a random unsigned short. + + + + + Returns a random unsigned short less than the specified maximum. + + + + + Returns a random unsigned short within a specified range. + + + + + Returns a random long. + + + + + Returns a random long less than the specified maximum. + + + + + Returns a non-negative random long within a specified range. + + + + + Returns a random ulong. + + + + + Returns a random ulong less than the specified maximum. + + + + + Returns a non-negative random long within a specified range. + + + + + Returns a random Byte + + + + + Returns a random Byte less than the specified maximum. + + + + + Returns a random Byte within a specified range + + + + + Returns a random SByte + + + + + Returns a random sbyte less than the specified maximum. + + + + + Returns a random sbyte within a specified range + + + + + Returns a random bool + + + + + Returns a random bool based on the probability a true result + + + + + Returns a random double between 0.0 and the specified maximum. + + + + + Returns a random double within a specified range. + + + + + Returns a random float. + + + + + Returns a random float between 0.0 and the specified maximum. + + + + + Returns a random float within a specified range. + + + + + Returns a random enum value of the specified Type as an object. + + + + + Returns a random enum value of the specified Type. + + + + + Default characters for random functions. + + Default characters are the English alphabet (uppercase & lowercase), Arabic numerals, and underscore + + + + Generate a random string based on the characters from the input string. + + desired length of output string. + string representing the set of characters from which to construct the resulting string + A random string of arbitrary length + + + + Generate a random string based on the characters from the input string. + + desired length of output string. + A random string of arbitrary length + Uses DefaultStringChars as the input character set + + + + Generate a random string based on the characters from the input string. + + A random string of the default length + Uses DefaultStringChars as the input character set + + + + Returns a random decimal. + + + + + Returns a random decimal between positive zero and the specified maximum. + + + + + Returns a random decimal within a specified range, which is not + permitted to exceed decimal.MaxVal in the current implementation. + + + A limitation of this implementation is that the range from min + to max must not exceed decimal.MaxVal. + + + + + Generates a valid version 4 . + + + + + Helper methods for inspecting a type by reflection. + + Many of these methods take ICustomAttributeProvider as an + argument to avoid duplication, even though certain attributes can + only appear on specific types of members, like MethodInfo or Type. + + In the case where a type is being examined for the presence of + an attribute, interface or named member, the Reflect methods + operate with the full name of the member being sought. This + removes the necessity of the caller having a reference to the + assembly that defines the item being sought and allows the + NUnit core to inspect assemblies that reference an older + version of the NUnit framework. + + + + + Examine a fixture type and return true if it has a method with + a particular attribute. + + The type to examine + The attribute Type to look for + True if found, otherwise false + + + + Invoke the default constructor on a Type + + The Type to be constructed + An instance of the Type + + + + Invoke a constructor on a Type with arguments + + The Type to be constructed + Arguments to the constructor + An instance of the Type + + + + Returns an array of types from an array of objects. + Differs from by returning + for null elements rather than throwing . + + + + + Gets the constructors to which the specified argument types can be coerced. + + + + + Determines if the given types can be coerced to match the given parameters. + + + + + Determines whether the current type can be implicitly converted to the specified type. + + + + + Invoke a parameterless method returning void on an object. + + A MethodInfo for the method to be invoked + The object on which to invoke the method + + + + Invoke a method, converting any TargetInvocationException to an NUnitException. + + A MethodInfo for the method to be invoked + The object on which to invoke the method + The argument list for the method + The return value from the invoked method + + + + + Selects the ultimate shadowing property just like dynamic would, + rather than throwing + for properties that shadow properties of a different property type + which is what does. + + + If you request both public and nonpublic properties, every public property is preferred + over every nonpublic property. It would violate the principle of least surprise for a + derived class’s implementation detail to be chosen over the public API for a type. + + + See . + See . + See . + + + + Same as GetMethod(, | + , , , + ) except that it also chooses only non-generic methods. + Useful for avoiding the you can have with GetMethod. + + + + + Returns the get accessor for the indexer. + + Type to reflect on for the indexer. + List of indexer types that matches the indexer type order. + The Get accessor + + + + Represents the result of running a single test case. + + + + + Construct a TestCaseResult based on a TestMethod + + A TestMethod to which the result applies. + + + + Gets the number of test cases that failed + when running the test and all its children. + + + + + Gets the number of test cases that executed + when running the test and all its children. + + + + + Gets the number of test cases that had warnings + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + Indicates whether this result has any child results. + + + + + Gets the collection of child results. + + + + + The TestResult class represents the result of a test. + + + + + Error message for when child tests have errors + + + + + Error message for when child tests have warnings + + + + + Error message for when child tests are ignored + + + + + Error message for when user has cancelled the test run + + + + + The minimum duration for tests + + + + + Aggregate assertion count + + + + + ReaderWriterLock + + + + + Construct a test result given a Test + + The test to be used + + + + Gets the test with which this result is associated. + + + + + Gets the ResultState of the test result, which + indicates the success or failure of the test. + + + + + Gets the name of the test result + + + + + Gets the full name of the test result + + + + + Gets or sets the elapsed time for running the test in seconds + + + + + Gets or sets the time the test started running. + + + + + Gets or sets the time the test finished running. + + + + + Adds a test attachment to the test result + + The TestAttachment object to attach + + + + Gets the collection of files attached to the test + + + + + Gets the message associated with a test + failure or with not running the test + + + + + Gets any stack trace associated with an + error or failure. + + + + + Gets or sets the count of asserts executed + when running the test. + + + + + Gets the number of test cases executed + when running the test and all its children. + + + + + Gets the number of test cases that failed + when running the test and all its children. + + + + + Gets the number of test cases that had warnings + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + Indicates whether this result has any child results. + + + + + Gets the collection of child results. + + + + + Gets a TextWriter, which will write output to be included in the result. + + + + + Gets any text output written to this result. + + + + + Gets a list of assertion results associated with the test. + + + + + Returns the XML representation of the result. + + If true, descendant results are included + An XmlNode representing the result + + + + Adds the XML representation of the result as a child of the + supplied parent node.. + + The parent node. + If true, descendant results are included + + + + + Gets a count of pending failures (from Multiple Assert) + + + + + Gets the worst assertion status (highest enum) in all the assertion results + + + + + Set the result of the test + + The ResultState to use in the result + + + + Set the result of the test + + The ResultState to use in the result + A message associated with the result state + + + + Set the result of the test + + The ResultState to use in the result + A message associated with the result state + Stack trace giving the location of the command + + + + Set the test result based on the type of exception thrown + + The exception that was thrown + + + + Set the test result based on the type of exception thrown + + The exception that was thrown + The FailureSite to use in the result + + + + RecordTearDownException appends the message and stack trace + from an exception arising during teardown of the test + to any previously recorded information, so that any + earlier failure information is not lost. Note that + calling Assert.Ignore, Assert.Inconclusive, etc. during + teardown is treated as an error. If the current result + represents a suite, it may show a teardown error even + though all contained tests passed. + + The Exception to be recorded + + + + Update overall test result, including legacy Message, based + on AssertionResults that have been saved to this point. + + + + + Record an assertion result + + + + + Record an assertion result + + + + + Record an assertion result + + + + + Creates a failure message incorporating failures + from a Multiple Assert block for use by runners + that don't know about AssertionResults. + + Message as a string + + + + Adds a failure element to a node and returns it. + + The target node. + The new failure element. + + + + Adds an attachments element to a node and returns it. + + The target node. + The new attachments element. + + + + Represents the result of running a test suite + + + + + Construct a TestSuiteResult base on a TestSuite + + The TestSuite to which the result applies + + + + Gets the number of test cases that executed + when running the test and all its children. + + + + + Gets the number of test cases that failed + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + Indicates whether this result has any child results. + + + + + Gets the collection of child results. + + + + + Adds a child result to this result, setting this result's + ResultState to Failure if the child result failed. + + The result to be added + + + + RuntimeFramework represents a particular version + of a common language runtime implementation. + + + + + DefaultVersion is an empty Version, used to indicate that + NUnit should select the CLR version to use for the test. + + + + + Construct from a runtime type and version. If the version has + two parts, it is taken as a framework version. If it has three + or more, it is taken as a CLR version. In either case, the other + version is deduced based on the runtime type and provided version. + + The runtime type of the framework + The version of the framework + + + + Static method to return a RuntimeFramework object + for the framework that is currently in use. + + + + + The type of this runtime framework + + + + + The framework version for this runtime framework + + + + + The CLR version for this runtime framework + + + + + Return true if any CLR version may be used in + matching this RuntimeFramework object. + + + + + Returns the Display name for this framework + + + + + Parses a string representing a RuntimeFramework. + The string may be just a RuntimeType name or just + a Version or a hyphenated RuntimeType-Version or + a Version prefixed by 'versionString'. + + + + + + + Overridden to return the short name of the framework + + + + + + Returns true if the current framework matches the + one supplied as an argument. Two frameworks match + if their runtime types are the same or either one + is RuntimeType.Any and all specified version components + are equal. Negative (i.e. unspecified) version + components are ignored. + + The RuntimeFramework to be matched. + True on match, otherwise false + + + + Enumeration identifying a common language + runtime implementation. + + + + Any supported runtime framework + + + Microsoft .NET Framework + + + Microsoft .NET Framework + + + Microsoft Shared Source CLI + + + Mono + + + MonoTouch + + + Microsoft .NET Core, including .NET 5+ + + + + Holds thread state which is captured and restored in order to sandbox user code. + + + + + Thread principal. + This will be null on platforms that don't support . + + + + + Captures a snapshot of the tracked state of the current thread to be restored later. + + + + + Restores the tracked state of the current thread to the previously captured state. + + + + + Returns a copy with the specified culture. + + + + + Returns a copy with the specified UI culture. + + + + + Returns a copy with the specified principal. + + + + + May be called from any thread. + + + + + May be called from any thread. + + + + + May be called from any thread. + + + + + May be called from any thread, but may only be called once. + + + + + StackFilter class is used to remove internal NUnit + entries from a stack trace so that the resulting + trace provides better information about the test. + + + + + Single instance of our default filter + + + + + Construct a stack filter instance + + Regex pattern used to delete lines from the top of the stack + Regex pattern used to delete lines from the bottom of the stack + + + + Construct a stack filter instance + + Regex pattern used to delete lines from the top of the stack + + + + Construct a stack filter instance + + + + + Filters a raw stack trace and returns the result. + + The original stack trace + A filtered stack trace + + + + Provides methods to support legacy string comparison methods. + + + + + Compares two strings for equality, ignoring case if requested. + + The first string. + The second string.. + if set to , the case of the letters in the strings is ignored. + Zero if the strings are equivalent, a negative number if strA is sorted first, a positive number if + strB is sorted first + + + + Compares two strings for equality, ignoring case if requested. + + The first string. + The second string.. + if set to , the case of the letters in the strings is ignored. + True if the strings are equivalent, false if not. + + + + The TestCaseParameters class encapsulates method arguments and + other selected parameters needed for constructing + a parameterized test case. + + + + + The expected result to be returned + + + + + Default Constructor creates an empty parameter set + + + + + Construct a non-runnable ParameterSet, specifying + the provider exception that made it invalid. + + + + + Construct a parameter set with a list of arguments + + + + + + Construct a ParameterSet from an object implementing ITestCaseData + + + + + + The expected result of the test, which + must match the method return type. + + + + + Gets a value indicating whether an expected result was specified. + + + + + TestCaseTimeoutException is thrown when a test running directly + on a TestWorker thread is cancelled due to timeout. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner. + + + + Serialization Constructor + + + + + Helper class used to save and restore certain static or + singleton settings in the environment that affect tests + or which might be changed by the user tests. + + + + + Link to a prior saved context + + + + + Indicates that a stop has been requested + + + + + The event listener currently receiving notifications + + + + + The number of assertions for the current test + + + + + The current test result + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + An existing instance of TestExecutionContext. + + + + Gets and sets the current context. + + + + + Gets or sets the current test + + + + + The time the current test started execution + + + + + The time the current test started in Ticks + + + + + Gets the elapsed time for running the test in seconds + + + + + Gets or sets the current test result + + + + + Gets a TextWriter that will send output to the current test result. + + + + + The current test object - that is the user fixture + object on which tests are being executed. + + + + + Get or set indicator that run should stop on the first error + + + + + Gets an enum indicating whether a stop has been requested. + + + + + The current test event listener + + + + + The current WorkItemDispatcher. Made public for + use by nunitlite.tests + + + + + The ParallelScope to be used by tests running in this context. + For builds with out the parallel feature, it has no effect. + + + + + Default tolerance value used for floating point equality + when no other tolerance is specified. + + + + + The worker that spawned the context. + For builds without the parallel feature, it is null. + + + + + Gets the RandomGenerator specific to this Test + + + + + Gets the assert count. + + The assert count. + + + + The current nesting level of multiple assert blocks + + + + + Gets or sets the test case timeout value + + + + + Gets a list of ITestActions set by upstream tests + + + + + Saves or restores the CurrentCulture + + + + + Saves or restores the CurrentUICulture + + + + + Gets or sets the current for the Thread. + + + + + The current head of the ValueFormatter chain, copied from MsgUtils.ValueFormatter + + + + + If true, all tests must run on the same thread. No new thread may be spawned. + + + + + The number of times the current test has been scheduled for execution. + Currently only being executed in a test using the + + + + + Record any changes in the environment made by + the test code in the execution context so it + will be passed on to lower level tests. + + + + + Set up the execution environment to match a context. + Note that we may be running on the same thread where the + context was initially created or on a different thread. + + + + + Increments the assert count by one. + + + + + Increments the assert count by a specified amount. + + + + + Adds a new ValueFormatterFactory to the chain of formatters + + The new factory + + + + Sends a message from test to listeners. This message is not kind of test output and doesn't go to test result. + + A name recognized by the intended listeners. + A message to be sent + + + + Obtain lifetime service object + + + + + + An IsolatedContext is used when running code + that may effect the current result in ways that + should not impact the final result of the test. + A new TestExecutionContext is created with an + initially clear result, which is discarded on + exiting the context. + + + using (new TestExecutionContext.IsolatedContext()) + { + // Code that should not impact the result + } + + + + + Save the original current TestExecutionContext and + make a new isolated context current. + + + + + Restore the original TestExecutionContext. + + + + + An AdhocTestExecutionContext is created whenever a context is needed + but not available in CurrentContext. This happens when tests are run + on an ad-hoc basis or Asserts are used outside of tests. + + + + + Construct an AdhocTestExecutionContext, which is used + whenever the current TestExecutionContext is found to be null. + + + + + Enumeration indicating whether the tests are + running normally or being cancelled. + + + + + Running normally with no stop requested + + + + + A graceful stop has been requested + + + + + A forced stop has been requested + + + + + Interface to be implemented by filters applied to tests. + The filter applies when running the test, after it has been + loaded, since this is the only time an ITest exists. + + + + + Unique Empty filter. + + + + + Indicates whether this is the EmptyFilter + + + + + Indicates whether this is a top-level filter, + not contained in any other filter. + + + + + Determine if a particular test passes the filter criteria. The default + implementation checks the test itself, its parents and any descendants. + + Derived classes may override this method or any of the Match methods + to change the behavior of the filter. + + The test to which the filter is applied + True if the test passes the filter, otherwise false + + + + Determine if a particular test passes the filter criteria. The default + implementation checks the test itself, its parents and any descendants. + + Derived classes may override this method or any of the Match methods + to change the behavior of the filter. + + The test to which the filter is applied + If set to we are carrying a negation through + True if the test passes the filter, otherwise false + + + + Determine if a test matches the filter explicitly. That is, it must + be a direct match of the test itself or one of its children. + + The test to which the filter is applied + True if the test matches the filter explicitly, otherwise false + + + + Determine whether the test itself matches the filter criteria, without + examining either parents or descendants. This is overridden by each + different type of filter to perform the necessary tests. + + The test to which the filter is applied + True if the filter matches the any parent of the test + + + + Determine whether any ancestor of the test matches the filter criteria + + The test to which the filter is applied + True if the filter matches the an ancestor of the test + + + + Determine whether any descendant of the test matches the filter criteria. + + The test to be matched + True if at least one descendant matches the filter criteria + + + + Create a TestFilter instance from an XML representation. + + + + + Create a TestFilter from its TNode representation + + + + + Nested class provides an empty filter - one that always + returns true when called. It never matches explicitly. + + + + + Adds an XML node + + True if recursive + The added XML node + + + + Adds an XML node + + Parent node + True if recursive + The added XML node + + + + The TestCaseParameters class encapsulates method arguments and + other selected parameters needed for constructing + a parameterized test case. + + + + + Default Constructor creates an empty parameter set + + + + + Construct a non-runnable ParameterSet, specifying + the provider exception that made it invalid. + + + + + Construct a parameter set with a list of arguments + + + + + + Construct a ParameterSet from an object implementing ITestCaseData + + + + + + Type arguments used to create a generic fixture instance + + + + + TestListener provides an implementation of ITestListener that + does nothing. It is used only through its NULL property. + + + + + Called when a test has just started + + The test that is starting + + + + Called when a test case has finished + + The result of the test + + + + Called when a test produces output for immediate display + + A TestOutput object containing the text to display + + + + Called when a test produces a message to be sent to listeners + + A object containing the message to send + + + + Construct a new TestListener - private so it may not be used. + + + + + Get a listener that does nothing + + + + + TestNameGenerator is able to create test names according to + a coded pattern. + + + + + Default pattern used to generate names + + + + + Construct a TestNameGenerator + + + + + Construct a TestNameGenerator + + The pattern used by this generator. + + + + Get the display name for a TestMethod and its arguments + + A TestMethod + The display name + + + + Get the display name for a TestMethod and its arguments + + A TestMethod + Arguments to be used + The display name + + + + TestParameters is the abstract base class for all classes + that know how to provide data for constructing a test. + + + + + Default Constructor creates an empty parameter set + + + + + Construct a parameter set with a list of arguments + + + + + + Construct a non-runnable ParameterSet, specifying + the provider exception that made it invalid. + + + + + Construct a ParameterSet from an object implementing ITestData + + + + + + The RunState for this set of parameters. + + + + + The arguments to be used in running the test, + which must match the method signature. + + + + + A name to be used for this test case in lieu + of the standard generated name containing + the argument list. + + + + + Gets the property dictionary for this test + + + + + Applies ParameterSet values to the test itself. + + A test. + + + + The original arguments provided by the user, + used for display purposes. + + + + + The list of display names to use as the parameters in the test name. + + + + + TestProgressReporter translates ITestListener events into + the async callbacks that are used to inform the client + software about the progress of a test run. + + + + + Initializes a new instance of the class. + + The callback handler to be used for reporting progress. + + + + Called when a test has just started + + The test that is starting + + + + Called when a test has finished. Sends a result summary to the callback. + to + + The result of the test + + + + Called when a test produces output for immediate display + + A TestOutput object containing the text to display + + + + Called when a test produces a message to be sent to listeners + + A object containing the text to send + + + + Returns the parent test item for the target test item if it exists + + + parent test item + + + + Makes a string safe for use as an attribute, replacing + characters that can't be used with their + corresponding XML representations. + + The string to be used + A new string with the values replaced + + + + ParameterizedFixtureSuite serves as a container for the set of test + fixtures created from a given Type using various parameters. + + + + + Initializes a new instance of the class. + + The ITypeInfo for the type that represents the suite. + + + + Creates a copy of the given suite with only the descendants that pass the specified filter. + + The to copy. + Determines which descendants are copied. + + + + Gets a string representing the type of test + + + + + Creates a filtered copy of the test suite. + + Determines which descendants are copied. + + + + ParameterizedMethodSuite holds a collection of individual + TestMethods with their arguments applied. + + + + + Initializes a new instance of the class. + + + + + Creates a copy of the given suite with only the descendants that pass the specified filter. + + The to copy. + Determines which descendants are copied. + + + + Gets a MethodInfo for the method implementing this test. + + + + + Gets a string representing the type of test + + + + + Creates a filtered copy of the test suite. + + Determines which descendants are copied. + + + + SetUpFixture extends TestSuite and supports + Setup and TearDown methods. + + + + + Initializes a new instance of the class. + + + + + Creates a copy of the given suite with only the descendants that pass the specified filter. + + The to copy. + Determines which descendants are copied. + + + + Gets the TypeInfo of the fixture used in running this test. + + + + + Creates a filtered copy of the test suite. + + Determines which descendants are copied. + + + + The Test abstract class represents a test within the framework. + + + + + Static value to seed ids. It's started at 1000 so any + uninitialized ids will stand out. + + + + + Used to cache the declaring type for this MethodInfo + + + + + Method property backing field + + + + + Constructs a test given its name + + The name of the test + + + + Constructs a test given the path through the + test hierarchy to its parent and a name. + + The parent tests full name + The name of the test + + + + Constructs a test for a specific type. + + + + + Constructs a test for a specific method. + + + + + Gets or sets the id of the test + + + + + + Gets or sets the name of the test + + + + + Gets or sets the fully qualified name of the test + + + + + + Gets the name of the class where this test was declared. + Returns null if the test is not associated with a class. + + + + + Gets the name of the method implementing this test. + Returns null if the test is not implemented as a method. + + + + + The arguments to use in creating the test or empty array if none required. + + + + + Gets the TypeInfo of the fixture used in running this test + or null if no fixture type is associated with it. + + + + + Gets a MethodInfo for the method implementing this test. + Returns null if the test is not implemented as a method. + + + + + Whether or not the test should be run + + + + + Gets the name used for the top-level element in the + XML representation of this test + + + + + Gets a string representing the type of test. Used as an attribute + value in the XML representation of a test and has no other + function in the framework. + + + + + Gets a count of test cases represented by + or contained under this test. + + + + + Gets the properties for this test + + + + + Returns true if this is a TestSuite + + + + + Gets a bool indicating whether the current test + has any descendant tests. + + + + + Gets the parent as a Test object. + Used by the core to set the parent. + + + + + Gets this test's child tests + + A list of child tests + + + + Gets or sets a fixture object for running this test. + + + + + Static prefix used for ids in this AppDomain. + Set by FrameworkController. + + + + + Gets or Sets the Int value representing the seed for the RandomGenerator + + + + + + The SetUp methods. + + + + + The teardown methods + + + + + Creates a TestResult for this test. + + A TestResult suitable for this type of test. + + + + Modify a newly constructed test by applying any of NUnit's common + attributes, based on a supplied , which is + usually the reflection element from which the test was constructed, + but may not be in some instances. The attributes retrieved are + saved for use in subsequent operations. + + + + + Mark the test as Invalid (not runnable) specifying a reason + + The reason the test is not runnable + + + + Get custom attributes applied to a test + + + + + Add standard attributes and members to a test node. + + + + + + + Returns the XML representation of the test + + If true, include child tests recursively + + + + + Returns an XmlNode representing the current result after + adding it as a child of the supplied parent node. + + The parent node. + If true, descendant results are included + + + + Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. + An object to compare with this instance. + + + Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. + An object to compare with this instance. + + + + TestAssembly is a TestSuite that represents the execution + of tests in a managed assembly. + + + + + Initializes a new instance of the class + specifying the Assembly and the suite name. + + The assembly this test represents. + + This becomes the full name of the suite and the filename part is used as the suite name. + + + + + Initializes a new instance of the class + specifying the suite name for an assembly that could not be loaded. + + + This becomes the full name of the suite and the filename part is used as the suite name. + + + + + Creates a copy of the given assembly with only the descendants that pass the specified filter. + + The to copy. + Determines which descendants are copied. + + + + Gets the Assembly represented by this instance. + + + + + Gets the name used for the top-level element in the + XML representation of this test + + + + + Get custom attributes specified on the assembly + + + + + Creates a filtered copy of the test suite. + + Determines which descendants are copied. + + + + TestFixture is a surrogate for a user test fixture class, + containing one or more tests. + + + + + The life cycle specified for the current test fixture. + + + + + Initializes a new instance of the class. + + Type of the fixture. + Arguments used to instantiate the test fixture, or null if none used + + + + Creates a copy of the given suite with only the descendants that pass the specified filter. + + The to copy. + Determines which descendants are copied. + + + + Gets the TypeInfo of the fixture used in running this test. + + + + + Creates a filtered copy of the test suite. + + Determines which descendants are copied. + + + + The TestMethod class represents a Test implemented as a method. + + + + + The ParameterSet used to create this test method + + + + + Initializes a new instance of the class. + + The method to be used as a test. + + + + Initializes a new instance of the class. + + The method to be used as a test. + The suite or fixture to which the new test will be added + + + + Gets a MethodInfo for the method implementing this test. + + + + + The arguments to use in executing the test method, or empty array if none are provided. + + + + + Overridden to return a TestCaseResult. + + A TestResult for this test. + + + + Gets a bool indicating whether the current test + has any descendant tests. + + + + + Returns a TNode representing the current result after + adding it as a child of the supplied parent node. + + The parent node. + If true, descendant results are included + + + + + Gets this test's child tests + + A list of child tests + + + + Gets the name used for the top-level element in the + XML representation of this test + + + + + Returns the name of the method + + + + + TestSuite represents a composite test, which contains other tests. + + + + + Our collection of child tests + + + + + Initializes a new instance of the class. + + The name of the suite. + + + + Initializes a new instance of the class. + + Name of the parent suite. + The name of the suite. + + + + Initializes a new instance of the class. + + Type of the fixture. + Arguments used to instantiate the test fixture, or null if none used. + + + + Initializes a new instance of the class. + + Type of the fixture. + + + + Creates a copy of the given suite with only the descendants that pass the specified filter. + + The to copy. + Determines which descendants are copied. + + + + Sorts tests under this suite. + + + + + Adds a test to the suite. + + The test. + + + + Creates a filtered copy of the test suite. + + Determines which descendants are copied. + + + + Gets this test's child tests + + The list of child tests + + + + Gets a count of test cases represented by + or contained under this test. + + + + + + The arguments to use in creating the fixture, or empty array if none are provided. + + + + + Set to true to suppress sorting this suite's contents + + + + + OneTimeSetUp methods for this suite + + + + + OneTimeTearDown methods for this suite + + + + + Overridden to return a TestSuiteResult. + + A TestResult for this test. + + + + Gets a bool indicating whether the current test + has any descendant tests. + + + + + Gets the name used for the top-level element in the + XML representation of this test + + + + + Returns an XmlNode representing the current result after + adding it as a child of the supplied parent node. + + The parent node. + If true, descendant results are included + + + + + Check that setup and teardown methods marked by certain attributes + meet NUnit's requirements and mark the tests not runnable otherwise. + + + + + ThreadUtility provides a set of static methods convenient + for working with threads. + + + + + Pre-Task compatibility + + + + + Abort a thread, helping to dislodging it if it is blocked in native code + + The thread to abort + The native thread id (if known), otherwise 0. + If provided, allows the thread to be killed if it's in a message pump native blocking wait. + This must have previously been captured by calling from the running thread itself. + + + + Do our best to kill a thread + + The thread to kill + The native thread id (if known), otherwise 0. + If provided, allows the thread to be killed if it's in a message pump native blocking wait. + This must have previously been captured by calling from the running thread itself. + + + + Do our best to kill a thread, passing state info + + The thread to kill + Info for the ThreadAbortException handler + The native thread id (if known), otherwise 0. + If provided, allows the thread to be killed if it's in a message pump native blocking wait. + This must have previously been captured by calling from the running thread itself. + + + + Schedule a thread pool thread to check on the aborting thread in case it's in a message pump native blocking wait + + + + + Captures the current thread's native id. If provided to later, allows the thread to be killed if it's in a message pump native blocking wait. + + + + + Sends a message to the thread to dislodge it from native code and allow a return to managed code, where a ThreadAbortException can be generated. + The message is meaningless (WM_CLOSE without a window handle) but it will end any blocking message wait. + + + + Gets or if the current platform does not support it. + + + Sets if current platform supports it. + Value to set. If the current platform does not support then the only allowed value is . + + + + TypeHelper provides static methods that operate on Types. + + + + + Gets the display name for a Type as used by NUnit. + + The Type for which a display name is needed. + The display name for the Type + + + + Gets the display name for a Type as used by NUnit. + + The Type for which a display name is needed. + The arglist provided. + The display name for the Type + + + + Returns the best fit for a common type to be used in + matching actual arguments to a methods Type parameters. + + + + + Determines whether the specified type is numeric. + + The type to be examined. + + if the specified type is numeric; otherwise, . + + + + + Convert an argument list to the required parameter types. + Currently, only widening numeric conversions are performed. + + An array of args to be converted + A ParameterInfo[] whose types will be used as targets + + + + Determines whether this instance can deduce type args for a generic type from the supplied arguments. + + The type to be examined. + The arglist. + The type args to be used. + + if this the provided args give sufficient information to determine the type args to be used; otherwise, . + + + + + Return the interfaces implemented by a Type. + + The Type to be examined. + An array of Types for the interfaces. + + + + Return whether or not the given type is a ValueTuple. + + Type. + Whether or not the given type is a ValueTuple. + + + + Return whether or not the given type is a Tuple. + + Type. + Whether or not the given type is a Tuple. + + + + Determines whether the cast to the given type would succeed. + If is and + can be , the cast succeeds just like the C# language feature. + + The object to cast. + + + + Casts to a value of the given type if possible. + If is and + can be , the cast succeeds just like the C# language feature. + + The object to cast. + The value of the object, if the cast succeeded. + + + + Used for resolving the type difference between objects. + + + + + Gets the shortened type name difference between and . + + The expected object. + The actual object. + Output of the unique type name for the expected object. + Output of the unique type name for actual object. + + + + Gets the shortened type name difference between and . + + The expected object . + The actual object . + Output of the unique type name for the expected object. + Output of the unique type name for actual object. + + + + Obtain the shortened generic template parameters of the given and , + if they are generic. + + The expected . + The actual . + Shortened generic parameters of the expected . + Shortened generic parameters of the actual . + + + + Obtain a shortened name of the given . + + + + + Shorten the given names by only including the relevant differing namespaces/types, if they differ. + + The expected . + The actual . + The shortened expected name. + The shortened actual name. + + + + Returns whether or not the is generic. + + + + + Returns the fully qualified generic name of a given . + + + + + Reconstruct a generic type name using the provided generic type name, and a + of the template parameters. + + The name of the generic type, including the number of template parameters expected. + A of names of the template parameters of the provided generic type. + + + + Obtain the shortened generic names of the given expected and actual s. + + The expected . + The actual . + The shortened expected generic name. + The shortened actual generic name. + + + + The TypeWrapper class wraps a Type so it may be used in + a platform-independent manner. + + + + + Construct a TypeWrapper for a specified Type. + + + + + Gets the underlying Type on which this TypeWrapper is based. + + + + + Gets the base type of this type as an ITypeInfo + + + + + Gets the Name of the Type + + + + + Gets the FullName of the Type + + + + + Gets the assembly in which the type is declared + + + + + Gets the namespace of the Type + + + + + Gets a value indicating whether the type is abstract. + + + + + Gets a value indicating whether the Type is a generic Type + + + + + Returns true if the Type wrapped is T + + + + + Gets a value indicating whether the Type has generic parameters that have not been replaced by specific Types. + + + + + Gets a value indicating whether the Type is a generic Type definition + + + + + Gets a value indicating whether the type is sealed. + + + + + Gets a value indicating whether this type represents a static class. + + + + + Get the display name for this type + + + + + Get the display name for an object of this type, constructed with the specified args. + + + + + Returns a new ITypeInfo representing an instance of this generic Type using the supplied Type arguments + + + + + Returns a Type representing a generic type definition from which this Type can be constructed. + + + + + Returns an array of custom attributes of the specified type applied to this type + + + + + Returns a value indicating whether the type has an attribute of the specified type. + + + + + + + + Returns a flag indicating whether this type has a method with an attribute of the specified type. + + + + + + + Returns an array of IMethodInfos for methods of this Type + that match the specified flags. + + + + + Gets the public constructor taking the specified argument Types + + + + + Returns a value indicating whether this Type has a public constructor taking the specified argument Types. + + + + + Construct an object of this Type, using the specified arguments. + + + + + Override ToString() so that error messages in NUnit's own tests make sense + + + + + Returns all methods declared by this type that have the specified attribute, optionally + including base classes. Methods from a base class are always returned before methods from a class that + inherits from it. + + Specifies whether to search the fixture type inheritance chain. + + + + Encapsulates the ability to increment a value by an amount which may be of a different type. + + + + + Creates a from the specified value if the current instance is able to + use it to increment the on values which it operates. If the creation fails, + is thrown. + + + + + + Creates a from the specified value if the current instance is able to + use it to increment values on which it operates. A return value indicates + whether the creation succeeded. + + + + + Provides a convenient shorthand when is + and the default value of represents zero. + + + + + Initializes a new instance of the class. + + The amount by which to increment each time this step is applied. + + Must increment the given value and return the result. + If the result is outside the range representable by , + must throw . If the result does not change due to lack + of precision representable by , must throw . + + + + + Increments the given value and returns the result. + If the result is outside the range representable by , + throws . If the result does not change due to lack + of precision representable by , throws . + + + + + + + Encapsulates the ability to increment a value by an amount + which may be of a different type. + + + + + Increments the given value and returns the result. + If the result is outside the range representable by , + throws . If the result does not change due to lack + of precision representable by , throws . + + + + + + + Creates a from the specified value if the current instance is able to + use it to increment values of type . If the creation fails, + is thrown. + + + + + + Creates a from the specified value if the current instance is able to + use it to increment values of type . A return value indicates + whether the creation succeeded. + + + + + The IgnoredTestCaseData class represents a ignored TestCaseData. It adds + the ability to set a date until which the test will be ignored. + + + + + The previous RunState + + + + + Set the date that the test is being ignored until + + The date that the test is being ignored until + A modified TestCaseData. + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + + + + + Returns a constraint that tests for null + + + + + Returns a constraint that tests for True + + + + + Returns a constraint that tests for False + + + + + Returns a constraint that tests for a positive value + + + + + Returns a constraint that tests for a negative value + + + + + Returns a constraint that tests for equality with zero + + + + + Returns a constraint that tests for NaN + + + + + Returns a constraint that tests for empty + + + + + Returns a constraint that tests whether a collection + contains all unique items. + + + + + Returns a constraint that tests whether an object graph is serializable in binary format. + + + + + Returns a constraint that tests whether an object graph is serializable in XML format. + + + + + Returns a constraint that tests two items for equality + + + + + Returns a constraint that tests that two references are the same object + + + + + Returns a constraint that tests whether the + actual value is greater than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable to the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable to the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a collection containing the same elements as the + collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a subset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a superset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether a collection is ordered + + + + + Returns a constraint that tests whether the path provided + is the same as an expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is a subpath of the expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is the same path or under an expected path after canonicalization. + + + + + Returns a constraint that tests whether the actual value falls + inclusively within a specified range. + + Inclusive beginning of the range. + Inclusive end of the range. + + + + + Returns a constraint that tests if an item is equal to any of parameters + + Expected values + + + + When implemented by an attribute, this interface implemented to provide actions to execute before and after tests. + + + + + Executed before each test is run + + The test that is going to be run. + + + + Executed after each test is run + + The test that has just been run. + + + + Provides the target for the action attribute + + The target for the action attribute + + + + The Iz class is a synonym for Is intended for use in VB, + which regards Is as a keyword. + + + + + The List class is a helper class with properties and methods + that supply a number of constraints used with lists and collections. + + + + + List.Map returns a ListMapper, which can be used to map + the original collection to another collection. + + + + + + + ListMapper is used to transform a collection used as an actual argument + producing another collection to be used in the assertion. + + + + + Construct a ListMapper based on a collection + + The collection to be transformed + + + + Produces a collection containing all the values of a property + + The collection of property values + + + + + Basic Asserts on strings. + + + + + DO NOT USE! Use StringAssert.AreEqualIgnoringCase(...) or Assert.AreEqual(...) instead. + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + Asserts that a string is found within another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string is found within another string. + + The expected string + The string to be examined + + + + Asserts that a string is not found within another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string is found within another string. + + The expected string + The string to be examined + + + + Asserts that a string starts with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string starts with another string. + + The expected string + The string to be examined + + + + Asserts that a string does not start with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string does not start with another string. + + The expected string + The string to be examined + + + + Asserts that a string ends with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string ends with another string. + + The expected string + The string to be examined + + + + Asserts that a string does not end with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string does not end with another string. + + The expected string + The string to be examined + + + + Asserts that two strings are equal, without regard to case. + + The expected string + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that two strings are equal, without regard to case. + + The expected string + The actual string + + + + Asserts that two strings are not equal, without regard to case. + + The expected string + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that two strings are not equal, without regard to case. + + The expected string + The actual string + + + + Asserts that a string matches an expected regular expression pattern. + + The regex pattern to be matched + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string matches an expected regular expression pattern. + + The regex pattern to be matched + The actual string + + + + Asserts that a string does not match an expected regular expression pattern. + + The regex pattern to be used + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string does not match an expected regular expression pattern. + + The regex pattern to be used + The actual string + + + + The TestCaseData class represents a set of arguments + and other parameter info to be used for a parameterized + test case. It is derived from TestCaseParameters and adds a + fluent syntax for use in initializing the test case. + + + + + Initializes a new instance of the class. + + The arguments. + + + + Initializes a new instance of the class. + + The argument. + + + + Initializes a new instance of the class. + + The first argument. + The second argument. + + + + Initializes a new instance of the class. + + The first argument. + The second argument. + The third argument. + + + + Sets the expected result for the test + + The expected result + A modified TestCaseData + + + + Sets the name of the test case + + The modified TestCaseData instance + + + + Sets the list of display names to use as the parameters in the test name. + + + + + Sets the description for the test case + being constructed. + + The description. + The modified TestCaseData instance. + + + + Applies a category to the test + + + + + + + Applies a named property to the test + + + + + + + + Applies a named property to the test + + + + + + + + Applies a named property to the test + + + + + + + + Marks the test case as explicit. + + + + + Marks the test case as explicit, specifying the reason. + + + + + Ignores this TestCase, specifying the reason. + + The reason. + + + + + Provide the context information of the current test. + This is an adapter for the internal ExecutionContext + class, hiding the internals from the user test. + + + + + Construct a TestContext for an ExecutionContext + + The ExecutionContext to adapt + + + + Get the current test context. This is created + as needed. The user may save the context for + use within a test, but it should not be used + outside the test for which it is created. + + + + + Gets a TextWriter that will send output to the current test result. + + + + + Gets a TextWriter that will send output directly to Console.Error + + + + + Gets a TextWriter for use in displaying immediate progress messages + + + + + TestParameters object holds parameters for the test run, if any are specified + + + + + Static DefaultWorkDirectory is now used as the source + of the public instance property WorkDirectory. This is + a bit odd but necessary to avoid breaking user tests. + + + + + Get a representation of the current test. + + + + + Gets a Representation of the TestResult for the current test. + + + + + Gets the unique name of the Worker that is executing this test. + + + + + Gets the directory containing the current test assembly. + + + + + Gets the directory to be used for outputting files created + by this test run. + + + + + Gets the random generator. + + + The random generator. + + + + + Gets the number of assertions executed + up to this point in the test. + + + + + Get the number of times the current Test has been repeated + when using the or . + + + + Write the string representation of a boolean value to the current result + + + Write a char to the current result + + + Write a char array to the current result + + + Write the string representation of a double to the current result + + + Write the string representation of an Int32 value to the current result + + + Write the string representation of an Int64 value to the current result + + + Write the string representation of a decimal value to the current result + + + Write the string representation of an object to the current result + + + Write the string representation of a Single value to the current result + + + Write a string to the current result + + + Write the string representation of a UInt32 value to the current result + + + Write the string representation of a UInt64 value to the current result + + + Write a formatted string to the current result + + + Write a formatted string to the current result + + + Write a formatted string to the current result + + + Write a formatted string to the current result + + + Write a line terminator to the current result + + + Write the string representation of a boolean value to the current result followed by a line terminator + + + Write a char to the current result followed by a line terminator + + + Write a char array to the current result followed by a line terminator + + + Write the string representation of a double to the current result followed by a line terminator + + + Write the string representation of an Int32 value to the current result followed by a line terminator + + + Write the string representation of an Int64 value to the current result followed by a line terminator + + + Write the string representation of a decimal value to the current result followed by a line terminator + + + Write the string representation of an object to the current result followed by a line terminator + + + Write the string representation of a Single value to the current result followed by a line terminator + + + Write a string to the current result followed by a line terminator + + + Write the string representation of a UInt32 value to the current result followed by a line terminator + + + Write the string representation of a UInt64 value to the current result followed by a line terminator + + + Write a formatted string to the current result followed by a line terminator + + + Write a formatted string to the current result followed by a line terminator + + + Write a formatted string to the current result followed by a line terminator + + + Write a formatted string to the current result followed by a line terminator + + + + This method adds the a new ValueFormatterFactory to the + chain of responsibility used for formatting values in messages. + The scope of the change is the current TestContext. + + The factory delegate + + + + Attach a file to the current test result + + Relative or absolute file path to attachment + Optional description of attachment + + + + This method provides a simplified way to add a ValueFormatter + delegate to the chain of responsibility, creating the factory + delegate internally. It is useful when the Type of the object + is the only criterion for selection of the formatter, since + it can be used without getting involved with a compound function. + + The type supported by this formatter + The ValueFormatter delegate + + + + TestAdapter adapts a Test for consumption by + the user test code. + + + + + Construct a TestAdapter for a Test + + The Test to be adapted + + + + Gets the unique Id of a test + + + + + The name of the test, which may or may not be + the same as the method name. + + + + + The name of the method representing the test. + + + + + The FullName of the test + + + + + The ClassName of the test + + + + + A shallow copy of the properties of the test. + + + + + The arguments to use in creating the test or empty array if none are required. + + + + + ResultAdapter adapts a TestResult for consumption by + the user test code. + + + + + Construct a ResultAdapter for a TestResult + + The TestResult to be adapted + + + + Gets a ResultState representing the outcome of the test + up to this point in its execution. + + + + + Gets a list of the assertion results generated + up to this point in the test. + + + + + Gets the message associated with a test + failure or with not running the test + + + + + Gets any stack trace associated with an + error or failure. + + + + + Gets the number of test cases that failed + when running the test and all its children. + + + + + Gets the number of test cases that had warnings + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + adapts an + for consumption by the user. + + + + + Construct a from a source + . + + + + + Get the first property with the given , if it can be found, otherwise + returns null. + + + + + Indicates whether is found in this + . + + + + + Returns a collection of properties + with the given . + + + + + Returns the count of elements with the given . + + + + + Returns a collection of the property keys. + + + + + The TestFixtureData class represents a set of arguments + and other parameter info to be used for a parameterized + fixture. It is derived from TestFixtureParameters and adds a + fluent syntax for use in initializing the fixture. + + + + + Initializes a new instance of the class. + + The arguments. + + + + Initializes a new instance of the class. + + The argument. + + + + Initializes a new instance of the class. + + The first argument. + The second argument. + + + + Initializes a new instance of the class. + + The first argument. + The second argument. + The third argument. + + + + Sets the name of the test fixture + + The modified TestFixtureData instance + + + + Sets the list of display names to use as the parameters in the test name. + + + + + Marks the test fixture as explicit. + + + + + Marks the test fixture as explicit, specifying the reason. + + + + + Ignores this TestFixture, specifying the reason. + + The reason. + + + + + TestParameters class holds any named parameters supplied to the test run + + + + + Gets the number of test parameters + + + + + Gets a collection of the test parameter names + + + + + Gets a flag indicating whether a parameter with the specified name exists. + + Name of the parameter + True if it exists, otherwise false + + + + Indexer provides access to the internal dictionary + + Name of the parameter + Value of the parameter or null if not present + + + + Get method is a simple alternative to the indexer + + Name of the parameter + Value of the parameter or null if not present + + + + Get the value of a parameter or a default string + + Name of the parameter + Default value of the parameter + Value of the parameter or default value if not present + + + + Get the value of a parameter or return a default + + The return Type + Name of the parameter + Default value of the parameter + Value of the parameter or default value if not present + + + + Adds a parameter to the list + + Name of the parameter + Value of the parameter + + + + Helper class with properties and methods that supply + constraints that operate on exceptions. + + + + + Creates a constraint specifying an expected exception + + + + + Creates a constraint specifying an exception with a given InnerException + + + + + Creates a constraint specifying an expected TargetInvocationException + + + + + Creates a constraint specifying an expected ArgumentException + + + + + Creates a constraint specifying an expected ArgumentNullException + + + + + Creates a constraint specifying an expected InvalidOperationException + + + + + Creates a constraint specifying that no exception is thrown + + + + + Creates a constraint specifying the exact type of exception expected + + + + + Creates a constraint specifying the exact type of exception expected + + + + + Creates a constraint specifying the type of exception expected + + + + + Creates a constraint specifying the type of exception expected + + + + + Provides static methods to express conditions + that must be met for the test to succeed. If + any test fails, a warning is issued. + + + + + DO NOT USE! + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + The left object. + The right object. + Not applicable + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + The left object. + The right object. + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Asserts that a condition is true. If the condition is false, a warning is issued. + + The evaluated condition + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false, a warning is issued. + + The evaluated condition + + + + Asserts that a condition is true. If the condition is false, a warning is issued. + + The evaluated condition + A function to build the message included with the Exception + + + + Asserts that a condition is true. If the condition is false, a warning is issued. + + A lambda that returns a Boolean + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false, a warning is issued. + + A lambda that returns a Boolean + + + + Asserts that a condition is true. If the condition is false, a warning is issued. + + A lambda that returns a Boolean + A function to build the message included with the Exception + + + + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + + A TestDelegate to be executed + A Constraint expression to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Apply a constraint to an actual value, succeeding if the constraint + fails and issuing a warning on success. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + fails and issuing a warning on success. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + fails and issuing a warning on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Asserts that a condition is true. If the condition is false, a warning is issued. + + The evaluated condition + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false, a warning is issued. + + The evaluated condition + + + + Asserts that a condition is true. If the condition is false, a warning is issued. + + The evaluated condition + A function to build the message included with the Exception + + + + Asserts that a condition is false. If the condition is true a warning is issued. + + A lambda that returns a Boolean + The message to display if the condition is true + Arguments to be used in formatting the message + + + + Asserts that a condition is false. If the condition is true a warning is issued. + + A lambda that returns a Boolean + + + + Asserts that a condition is false. If the condition is true a warning is issued. + + A lambda that returns a Boolean + A function to build the message included with the Exception + + + + Apply a constraint to an actual value, succeeding if the constraint + fails and issuing a warning if it succeeds. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + fails and issuing a warning if it succeeds. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + A function to build the message included with the Exception + + + + FrameworkPackageSettings is a static class containing constant values that + are used as keys in setting up a TestPackage. These values are used in + the framework, and set in the runner. Setting values may be a string, int or bool. + + + + + Flag (bool) indicating whether tests are being debugged. + + + + + Flag (bool) indicating whether to pause execution of tests to allow + the user to attach a debugger. + + + + + The InternalTraceLevel for this run. Values are: "Default", + "Off", "Error", "Warning", "Info", "Debug", "Verbose". + Default is "Off". "Debug" and "Verbose" are synonyms. + + + + + Full path of the directory to be used for work and result files. + This path is provided to tests by the framework TestContext. + + + + + Integer value in milliseconds for the default timeout value + for test cases. If not specified, there is no timeout except + as specified by attributes on the tests themselves. + + + + + A string representing the default thread culture to be used for + running tests. String should be a valid BCP-47 culture name. If + culture is unset, tests run on the machine's default culture. + + + + + A string representing the default thread UI culture to be used for + running tests. String should be a valid BCP-47 culture name. If + culture is unset, tests run on the machine's default culture. + + + + + A TextWriter to which the internal trace will be sent. + + + + + A list of tests to be loaded. + + + + + The number of test threads to run for the assembly. If set to + 1, a single queue is used. If set to 0, tests are executed + directly, without queuing. + + + + + The random seed to be used for this assembly. If specified + as the value reported from a prior run, the framework should + generate identical random values for tests as were used for + that run, provided that no change has been made to the test + assembly. Default is a random value itself. + + + + + If true, execution stops after the first error or failure. + + + + + If true, use of the event queue is suppressed and test events are synchronous. + + + + + The default naming pattern used in generating test names + + + + + Parameters to be passed on to the tests, serialized to a single string which needs parsing. Obsoleted by ; kept for backward compatibility. + + + + + Parameters to be passed on to the tests, already parsed into an IDictionary<string, string>. Replaces . + + + + + If true, the tests will run on the same thread as the NUnit runner itself + + + + + Provides a platform-independent methods for getting attributes + for use by AttributeConstraint and AttributeExistsConstraint. + + + + + Gets the custom attributes from the given object. + + The actual. + Type of the attribute. + if set to [inherit]. + A list of the given attribute on the given object. + + + + A MarshalByRefObject that lives forever + + + + + Obtains a lifetime service object to control the lifetime policy for this instance. + + + + + Provides NUnit specific extensions to aid in Reflection + across multiple frameworks + + + This version of the class supplies GetTypeInfo() on platforms + that don't support it. + + + + + GetTypeInfo gives access to most of the Type information we take for granted + on .NET Core and Windows Runtime. Rather than #ifdef different code for different + platforms, it is easiest to just code all platforms as if they worked this way, + thus the simple passthrough. + + + + + + + See . + + + + + Extensions for Assembly that are not available in pre-4.5 .NET releases + + + + + An easy way to get a single custom attribute from an assembly + + The attribute Type + The assembly + An attribute of Type T + + + + Extensions for MethodInfo that are not available in pre-4.5 .NET releases + + + + + See . + + + + + See . + + + + + Represents a thread-safe first-in, first-out collection of objects. + + Specifies the type of elements in the queue. + + All public and protected members of are thread-safe and may be used + concurrently from multiple threads. + + + + + Initializes a new instance of the class. + + + + + Initializes the contents of the queue from an existing collection. + + A collection from which to copy elements. + + + + Initializes a new instance of the + class that contains elements copied from the specified collection + + The collection whose elements are copied to the new . + The argument is + null. + + + + Get the data array to be serialized + + + + + Construct the queue from a previously serialized one. + + + + + Copies the elements of the to an , starting at a particular + index. + + The one-dimensional Array that is the + destination of the elements copied from the + . The Array must have zero-based indexing. + The zero-based index in at which copying + begins. + is a null reference (Nothing in + Visual Basic). + is less than + zero. + + is multidimensional. -or- + does not have zero-based indexing. -or- + is equal to or greater than the length of the + -or- The number of elements in the source is + greater than the available space from to the end of the destination + . -or- The type of the source cannot be cast automatically to the type of the + destination . + + + + + Gets a value indicating whether access to the is + synchronized with the SyncRoot. + + true if access to the is synchronized + with the SyncRoot; otherwise, false. For , this property always + returns false. + + + + Gets an object that can be used to synchronize access to the . This property is not supported. + + The SyncRoot property is not supported. + + + + Returns an enumerator that iterates through a collection. + + An that can be used to iterate through the collection. + + + + Attempts to add an object to the . + + The object to add to the . The value can be a null + reference (Nothing in Visual Basic) for reference types. + + true if the object was added successfully; otherwise, false. + For , this operation will always add the object to the + end of the + and return true. + + + + Attempts to remove and return an object from the . + + + When this method returns, if the operation was successful, contains the + object removed. If no object was available to be removed, the value is unspecified. + + true if an element was removed and returned successfully; otherwise, false. + For , this operation will attempt to remove the object + from the beginning of the . + + + + + Gets a value that indicates whether the is empty. + + true if the is empty; otherwise, false. + + For determining whether the collection contains any items, use of this property is recommended + rather than retrieving the number of items from the property and comparing it + to 0. However, as this collection is intended to be accessed concurrently, it may be the case + that another thread will modify the collection after returns, thus invalidating + the result. + + + + + Copies the elements stored in the to a new array. + + A new array containing a snapshot of elements copied from the . + + + + Copies the elements to a new . + + A new containing a snapshot of + elements copied from the . + + + + Store the position of the current head and tail positions. + + return the head segment + return the tail segment + return the head offset, value range [0, SEGMENT_SIZE] + return the tail offset, value range [-1, SEGMENT_SIZE-1] + + + + Gets the number of elements contained in the . + + The number of elements contained in the . + + For determining whether the collection contains any items, use of the + property is recommended rather than retrieving the number of items from the + property and comparing it to 0. + + + + + Copies the elements to an existing one-dimensional Array, starting at the specified array index. + + The one-dimensional Array that is the + destination of the elements copied from the + . The Array must have zero-based + indexing. + The zero-based index in at which copying + begins. + is a null reference (Nothing in + Visual Basic). + is less than + zero. + is equal to or greater than the + length of the + -or- The number of elements in the source is greater than the + available space from to the end of the destination . + + + + + Returns an enumerator that iterates through the . + + An enumerator for the contents of the . + + The enumeration represents a moment-in-time snapshot of the contents + of the queue. It does not reflect any updates to the collection after + GetEnumerator was called. The enumerator is safe to use + concurrently with reads from and writes to the queue. + + + + + Helper method of GetEnumerator to separate out yield return statement, and prevent lazy evaluation. + + + + + Adds an object to the end of the . + + The object to add to the end of the . The value can be a null reference + (Nothing in Visual Basic) for reference types. + + + + + Attempts to remove and return the object at the beginning of the . + + + When this method returns, if the operation was successful, contains the + object removed. If no object was available to be removed, the value is unspecified. + + true if an element was removed and returned from the beginning of the + successfully; otherwise, false. + + + + Attempts to return an object from the beginning of the + without removing it. + + When this method returns, contains an object from + the beginning of the or an + unspecified value if the operation failed. + true if and object was returned successfully; otherwise, false. + + + + private class for ConcurrentQueue. + a queue is a linked list of small arrays, each node is called a segment. + A segment contains an array, a pointer to the next segment, and m_low, m_high indices recording + the first and last valid elements of the array. + + + + + Create and initialize a segment with the specified index. + + + + + return the next segment + + + + + return true if the current segment is empty (doesn't have any element available to dequeue, + false otherwise + + + + + Add an element to the tail of the current segment + exclusively called by ConcurrentQueue.InitializedFromCollection. + InitializeFromCollection is responsible to guarantee that there is no index overflow + and no contention. + + + + + + Create a new segment and append to the current one + Does not update the m_tail pointer + exclusively called by ConcurrentQueue.InitializedFromCollection + InitializeFromCollection is responsible to guarantee that there is no index overflow, + and there is no contention + + the reference to the new Segment + + + + Create a new segment and append to the current one + Update the m_tail pointer + This method is called when there is no contention + + + + + Try to append an element at the end of this segment. + + the element to append + true if the element is appended, false if the current segment is full + if appending the specified element succeeds, and after which the segment is full, + then grow the segment + + + + try to remove an element from the head of current segment + + The result. + return false only if the current segment is empty + + + + try to peek the current segment + + holds the return value of the element at the head position, + value set to default(T) if there is no such an element + true if there are elements in the current segment, false otherwise + + + + Adds part or all of the current segment into a List. + + the list to which to add + the start position + the end position + + + + return the position of the head of the current segment + Value range [0, SEGMENT_SIZE], if it's SEGMENT_SIZE, it means this segment is exhausted and thus empty + + + + + return the logical position of the tail of the current segment + Value range [-1, SEGMENT_SIZE-1]. When it's -1, it means this is a new segment and has no element yet + + + + + A wrapper struct for volatile bool. Please note that a copy of the struct itself will not be volatile, e.g. + volatileBool1 = volatileBool2. + + + + + Defines methods to manipulate thread-safe collections intended for producer/consumer usage. + + Specifies the type of elements in the collection. + + All implementations of this interface must enable all members of this interface + to be used concurrently from multiple threads. + + + + + Copies the elements of the to + an + , starting at a specified index. + + The one-dimensional that is the destination of + the elements copied from the . + The array must have zero-based indexing. + The zero-based index in at which copying + begins. + is a null reference (Nothing in + Visual Basic). + is less than + zero. + is equal to or greater than the + length of the + -or- The number of elements in the source is greater than the + available space from to the end of the destination . + + + + + Attempts to add an object to the . + + The object to add to the . + true if the object was added successfully; otherwise, false. + The was invalid for this collection. + + + + Attempts to remove and return an object from the . + + + When this method returns, if the object was removed and returned successfully, contains the removed object. If no object was available to be removed, the value is + unspecified. + + true if an object was removed and returned successfully; otherwise, false. + + + + Copies the elements contained in the to a new array. + + A new array containing the elements copied from the . + + + + A debugger view of the IProducerConsumerCollection that makes it simple to browse the + collection's contents at a point in time. + + The type of elements stored within. + + + + Constructs a new debugger view object for the provided collection object. + + A collection to browse in the debugger. + + + + Returns a snapshot of the underlying collection's elements. + + + + Specifies that null is allowed as an input even if the corresponding type disallows it. + + + Specifies that null is disallowed as an input even if the corresponding type allows it. + + + Specifies that an output may be null even if the corresponding type disallows it. + + + Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns. + + + Specifies that when a method returns , the parameter may be null even if the corresponding type disallows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter may be null. + + + + Gets the return value condition. + + + Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + + Gets the return value condition. + + + Specifies that the output will be non-null if the named parameter is non-null. + + + Initializes the attribute with the associated parameter name. + + The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null. + + + + Gets the associated parameter name. + + + Applied to a method that will never return under any circumstance. + + + Specifies that the method will not return if the associated Boolean parameter is passed the specified value. + + + Initializes the attribute with the specified parameter value. + + The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to + the associated parameter matches this value. + + + + Gets the condition parameter value. + + + + + + + + + + + + + + + + + + + + + + + + Compatibility polyfill based on . + + + + + Provides support for spin-based waiting. + + + + encapsulates common spinning logic. On single-processor machines, yields are + always used instead of busy waits, and on computers with Intel� processors employing Hyper-Threading� + technology, it helps to prevent hardware thread starvation. SpinWait encapsulates a good mixture of + spinning and true yielding. + + + is a value type, which means that low-level code can utilize SpinWait without + fear of unnecessary allocation overheads. SpinWait is not generally useful for ordinary applications. + In most cases, you should use the synchronization classes provided by the .NET Framework, such as + . For most purposes where spin waiting is required, however, + the type should be preferred over the method. + + + While SpinWait is designed to be used in concurrent applications, it is not designed to be + used from multiple threads concurrently. SpinWait's members are not thread-safe. If multiple + threads must spin, each should use its own instance of SpinWait. + + + + + + Gets the number of times has been called on this instance. + + + + + Gets whether the next call to will yield the processor, triggering a + forced context switch. + + Whether the next call to will yield the processor, triggering a + forced context switch. + + On a single-CPU machine, always yields the processor. On machines with + multiple CPUs, may yield after an unspecified number of calls. + + + + + Performs a single spin. + + + This is typically called in a loop, and may change in behavior based on the number of times a + has been called thus far on this instance. + + + + + Resets the spin counter. + + + This makes and behave as though no calls + to had been issued on this instance. If a instance + is reused many times, it may be useful to reset it to avoid yielding too soon. + + + + + Spins until the specified condition is satisfied. + + A delegate to be executed over and over until it returns true. + The argument is null. + + + + Spins until the specified condition is satisfied or until the specified timeout is expired. + + A delegate to be executed over and over until it returns true. + + A that represents the number of milliseconds to wait, + or a TimeSpan that represents -1 milliseconds to wait indefinitely. + True if the condition is satisfied within the timeout; otherwise, false + The argument is null. + is a negative number + other than -1 milliseconds, which represents an infinite time-out -or- timeout is greater than + . + + + + Spins until the specified condition is satisfied or until the specified timeout is expired. + + A delegate to be executed over and over until it returns true. + The number of milliseconds to wait, or (-1) to wait indefinitely. + True if the condition is satisfied within the timeout; otherwise, false + The argument is null. + is a + negative number other than -1, which represents an infinite time-out. + + + + A helper class to get the number of processors, it updates the numbers of processors every sampling interval. + + + + + Gets the number of available processors + + + + + Gets whether the current machine has only a single processor. + + + + + A helper class to capture a start time using Environment.TickCount as a time in milliseconds, also updates a given timeout bu subtracting the current time from + the start time + + + + + Returns the Environment.TickCount as a start time in milliseconds as a uint, TickCount tools over from positive to negative every ~ 25 days + then ~25 days to back to positive again, uint is sued to ignore the sign and double the range to 50 days + + + + + + Helper function to measure and update the elapsed time + + The first time (in milliseconds) observed when the wait started + The original wait timeout in milliseconds + The new wait time in milliseconds, -1 if the time expired + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/packages/NUnit.3.13.2/lib/net40/nunit.framework.xml b/src/packages/NUnit.3.13.2/lib/net40/nunit.framework.xml new file mode 100644 index 0000000..3e95c8f --- /dev/null +++ b/src/packages/NUnit.3.13.2/lib/net40/nunit.framework.xml @@ -0,0 +1,21286 @@ + + + + nunit.framework + + + + + The different targets a test action attribute can be applied to + + + + + Default target, which is determined by where the action attribute is attached + + + + + Target a individual test case + + + + + Target a suite of test cases + + + + + DefaultTestAssemblyBuilder loads a single assembly and builds a TestSuite + containing test fixtures present in the assembly. + + + + + The default suite builder used by the test assembly builder. + + + + + Initializes a new instance of the class. + + + + + Build a suite of tests from a provided assembly + + The assembly from which tests are to be built + A dictionary of options to use in building the suite + + A TestSuite containing the tests found in the assembly + + + + + Build a suite of tests given the name or the location of an assembly + + The name or the location of the assembly. + A dictionary of options to use in building the suite + + A TestSuite containing the tests found in the assembly + + + + + FrameworkController provides a facade for use in loading, browsing + and running tests without requiring a reference to the NUnit + framework. All calls are encapsulated in constructors for + this class and its nested classes, which only require the + types of the Common Type System as arguments. + + The controller supports four actions: Load, Explore, Count and Run. + They are intended to be called by a driver, which should allow for + proper sequencing of calls. Load must be called before any of the + other actions. The driver may support other actions, such as + reload on run, by combining these calls. + + + + + Construct a FrameworkController using the default builder and runner. + + The AssemblyName or path to the test assembly + A prefix used for all test ids created under this controller. + A Dictionary of settings to use in loading and running the tests + + + + Construct a FrameworkController using the default builder and runner. + + The test assembly + A prefix used for all test ids created under this controller. + A Dictionary of settings to use in loading and running the tests + + + + Construct a FrameworkController, specifying the types to be used + for the runner and builder. This constructor is provided for + purposes of development. + + The full AssemblyName or the path to the test assembly + A prefix used for all test ids created under this controller. + A Dictionary of settings to use in loading and running the tests + The Type of the test runner + The Type of the test builder + + + + Construct a FrameworkController, specifying the types to be used + for the runner and builder. This constructor is provided for + purposes of development. + + The test assembly + A prefix used for all test ids created under this controller. + A Dictionary of settings to use in loading and running the tests + The Type of the test runner + The Type of the test builder + + + + Gets the ITestAssemblyBuilder used by this controller instance. + + The builder. + + + + Gets the ITestAssemblyRunner used by this controller instance. + + The runner. + + + + Gets the AssemblyName or the path for which this FrameworkController was created + + + + + Gets the Assembly for which this + + + + + Gets a dictionary of settings for the FrameworkController + + + + + Loads the tests in the assembly + + + + + + Returns info about the tests in an assembly + + A string containing the XML representation of the filter to use + The XML result of exploring the tests + + + + Runs the tests in an assembly + + A string containing the XML representation of the filter to use + The XML result of the test run + + + + Runs the tests in an assembly synchronously reporting back the test results through the callback + or through the return value + + The callback that receives the test results + A string containing the XML representation of the filter to use + The XML result of the test run + + + + Runs the tests in an assembly asynchronously reporting back the test results through the callback + + The callback that receives the test results + A string containing the XML representation of the filter to use + + + + Stops the test run + + True to force the stop, false for a cooperative stop + + + + Counts the number of test cases in the loaded TestSuite + + A string containing the XML representation of the filter to use + The number of tests + + + + Inserts the environment and settings elements + + Target node + The updated target node + + + + Inserts environment element + + Target node + The new node + + + + Inserts settings element + + Target node + Settings dictionary + The new node + + + + FrameworkControllerAction is the base class for all actions + performed against a FrameworkController. + + + + + LoadTestsAction loads a test into the FrameworkController + + + + + LoadTestsAction loads the tests in an assembly. + + The controller. + The callback handler. + + + + ExploreTestsAction returns info about the tests in an assembly + + + + + Initializes a new instance of the class. + + The controller for which this action is being performed. + Filter used to control which tests are included (NYI) + The callback handler. + + + + CountTestsAction counts the number of test cases in the loaded TestSuite + held by the FrameworkController. + + + + + Construct a CountsTestAction and perform the count of test cases. + + A FrameworkController holding the TestSuite whose cases are to be counted + A string containing the XML representation of the filter to use + A callback handler used to report results + + + + RunTestsAction runs the loaded TestSuite held by the FrameworkController. + + + + + Construct a RunTestsAction and run all tests in the loaded TestSuite. + + A FrameworkController holding the TestSuite to run + A string containing the XML representation of the filter to use + A callback handler used to report results + + + + RunAsyncAction initiates an asynchronous test run, returning immediately + + + + + Construct a RunAsyncAction and run all tests in the loaded TestSuite. + + A FrameworkController holding the TestSuite to run + A string containing the XML representation of the filter to use + A callback handler used to report results + + + + StopRunAction stops an ongoing run. + + + + + Construct a StopRunAction and stop any ongoing run. If no + run is in process, no error is raised. + + The FrameworkController for which a run is to be stopped. + True the stop should be forced, false for a cooperative stop. + >A callback handler used to report results + A forced stop will cause threads and processes to be killed as needed. + + + + The ITestAssemblyBuilder interface is implemented by a class + that is able to build a suite of tests given an assembly or + an assembly filename. + + + + + Build a suite of tests from a provided assembly + + The assembly from which tests are to be built + A dictionary of options to use in building the suite + A TestSuite containing the tests found in the assembly + + + + Build a suite of tests given the filename of an assembly + + The filename of the assembly from which tests are to be built + A dictionary of options to use in building the suite + A TestSuite containing the tests found in the assembly + + + + The ITestAssemblyRunner interface is implemented by classes + that are able to execute a suite of tests loaded + from an assembly. + + + + + Gets the tree of loaded tests, or null if + no tests have been loaded. + + + + + Gets the tree of test results, if the test + run is completed, otherwise null. + + + + + Indicates whether a test has been loaded + + + + + Indicates whether a test is currently running + + + + + Indicates whether a test run is complete + + + + + Loads the tests found in an Assembly, returning an + indication of whether or not the load succeeded. + + File name of the assembly to load + Dictionary of options to use in loading the test + An ITest representing the loaded tests + + + + Loads the tests found in an Assembly, returning an + indication of whether or not the load succeeded. + + The assembly to load + Dictionary of options to use in loading the test + An ITest representing the loaded tests + + + + Count Test Cases using a filter + + The filter to apply + The number of test cases found + + + + Explore the test cases using a filter + + The filter to apply + Test Assembly with test cases that matches the filter + + + + Run selected tests and return a test result. The test is run synchronously, + and the listener interface is notified as it progresses. + + Interface to receive ITestListener notifications. + A test filter used to select tests to be run + + + + Run selected tests asynchronously, notifying the listener interface as it progresses. + + Interface to receive EventListener notifications. + A test filter used to select tests to be run + + + + Wait for the ongoing run to complete. + + Time to wait in milliseconds + True if the run completed, otherwise false + + + + Signal any test run that is in process to stop. Return without error if no test is running. + + If true, kill any test-running threads + + + + Implementation of ITestAssemblyRunner + + + + + Initializes a new instance of the class. + + The builder. + + + + Gets the default level of parallel execution (worker threads) + + + + + The tree of tests that was loaded by the builder + + + + + The test result, if a run has completed + + + + + Indicates whether a test is loaded + + + + + Indicates whether a test is running + + + + + Indicates whether a test run is complete + + + + + Our settings, specified when loading the assembly + + + + + The top level WorkItem created for the assembly as a whole + + + + + The TestExecutionContext for the top level WorkItem + + + + + Loads the tests found in an Assembly + + File name or path of the assembly to load + Dictionary of option settings for loading the assembly + A Test Assembly containing all loaded tests + + + + Loads the tests found in an Assembly + + The assembly to load + Dictionary of option settings for loading the assembly + A Test Assembly containing all loaded tests + + + + Count Test Cases using a filter + + The filter to apply + The number of test cases found + + + + Explore the test cases using a filter + + The filter to apply + Test Assembly with test cases that matches the filter + + + + Run selected tests and return a test result. The test is run synchronously, + and the listener interface is notified as it progresses. + + Interface to receive EventListener notifications. + A test filter used to select tests to be run + The test results from the run + + + + Run selected tests asynchronously, notifying the listener interface as it progresses. + + Interface to receive EventListener notifications. + A test filter used to select tests to be run + + RunAsync is a template method, calling various abstract and + virtual methods to be overridden by derived classes. + + + + + Wait for the ongoing run to complete. + + Time to wait in milliseconds + True if the run completed, otherwise false + + + + Signal any test run that is in process to stop. Return without error if no test is running. + + If true, kill any tests that are currently running + + + + Initiate the test run. + + + + + Create the initial TestExecutionContext used to run tests + + The ITestListener specified in the RunAsync call + + + + Handle the Completed event for the top level work item + + + + + Executes the action within an + which ensures the is cleaned up + suitably at the end of the test run. This method only has an effect running + the full .NET Framework. + + + + + The Assert class contains a collection of static methods that + implement the most common assertions used in NUnit. + + + The Assert class contains a collection of static methods that + implement the most common assertions used in NUnit. + + + + + Verifies that the first int is greater than the second + int. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first int is greater than the second + int. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + + The evaluated condition + + + + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + + The evaluated condition + + + + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + + The evaluated condition + + + + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + + The evaluated condition + + + + Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert + block. + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert + block. + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert block. + + The evaluated condition + + + + Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert + block. + + The evaluated condition + + + + Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert + block. + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert + block. + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert + block. + + The evaluated condition + + + + Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert + block. + + The evaluated condition + + + + Verifies that the object that is passed in is not equal to . Returns without throwing an + exception when inside a multiple assert block. + + The object that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the object that is passed in is not equal to . Returns without throwing an + exception when inside a multiple assert block. + + The object that is to be tested + + + + Verifies that the object that is passed in is not equal to . Returns without throwing an + exception when inside a multiple assert block. + + The object that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the object that is passed in is not equal to . Returns without throwing an + exception when inside a multiple assert block. + + The object that is to be tested + + + + Verifies that the object that is passed in is equal to . Returns without throwing an + exception when inside a multiple assert block. + + The object that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the object that is passed in is equal to . Returns without throwing an + exception when inside a multiple assert block. + + The object that is to be tested + + + + Verifies that the object that is passed in is equal to . Returns without throwing an + exception when inside a multiple assert block. + + The object that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the object that is passed in is equal to . Returns without throwing an + exception when inside a multiple assert block. + + The object that is to be tested + + + + Verifies that the double that is passed in is an NaN. Returns without throwing an + exception when inside a multiple assert block. + + The value that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the double that is passed in is an NaN value. Returns without throwing an + exception when inside a multiple assert block. + + The value that is to be tested + + + + Verifies that the double that is passed in is an NaN value. Returns without throwing an + exception when inside a multiple assert block. + + The value that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the double that is passed in is an NaN value. Returns without throwing an + exception when inside a multiple assert block. + + The value that is to be tested + + + + Assert that a string is empty. Returns without throwing an exception when inside a multiple assert block. + + The string to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Assert that a string is empty. Returns without throwing an exception when inside a multiple assert block. + + The string to be tested + + + + Assert that an array, list or other collection is empty. Returns without throwing an exception when inside a + multiple assert block. + + An array, list or other collection implementing ICollection + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Assert that an array, list or other collection is empty. Returns without throwing an exception when inside a + multiple assert block. + + An array, list or other collection implementing ICollection + + + + Assert that a string is not empty. Returns without throwing an exception when inside a multiple assert + block. + + The string to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Assert that a string is not empty. Returns without throwing an exception when inside a multiple assert + block. + + The string to be tested + + + + Assert that an array, list or other collection is not empty. Returns without throwing an exception when + inside a multiple assert block. + + An array, list or other collection implementing ICollection + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Assert that an array, list or other collection is not empty. Returns without throwing an exception when + inside a multiple assert block. + + An array, list or other collection implementing ICollection + + + + Asserts that an int is zero. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + + + + Asserts that an int is zero. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned int is zero. Returns without throwing an exception when inside a multiple assert + block. + + The number to be examined + + + + Asserts that an unsigned int is zero. Returns without throwing an exception when inside a multiple assert + block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a Long is zero. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + + + + Asserts that a Long is zero. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned Long is zero. Returns without throwing an exception when inside a multiple assert + block. + + The number to be examined + + + + Asserts that an unsigned Long is zero. Returns without throwing an exception when inside a multiple assert + block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a decimal is zero. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + + + + Asserts that a decimal is zero. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a double is zero. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + + + + Asserts that a double is zero. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a float is zero. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + + + + Asserts that a float is zero. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an int is not zero. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + + + + Asserts that an int is not zero. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned int is not zero. Returns without throwing an exception when inside a multiple + assert block. + + The number to be examined + + + + Asserts that an unsigned int is not zero. Returns without throwing an exception when inside a multiple + assert block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a Long is not zero. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + + + + Asserts that a Long is not zero. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned Long is not zero. Returns without throwing an exception when inside a multiple + assert block. + + The number to be examined + + + + Asserts that an unsigned Long is not zero. Returns without throwing an exception when inside a multiple + assert block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a decimal is zero. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + + + + Asserts that a decimal is zero. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a double is zero. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + + + + Asserts that a double is zero. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a float is zero. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + + + + Asserts that a float is zero. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an int is positive. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + + + + Asserts that an int is positive. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned int is positive. Returns without throwing an exception when inside a multiple + assert block. + + The number to be examined + + + + Asserts that an unsigned int is positive. Returns without throwing an exception when inside a multiple + assert block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a Long is positive. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + + + + Asserts that a Long is positive. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned Long is positive. Returns without throwing an exception when inside a multiple + assert block. + + The number to be examined + + + + Asserts that an unsigned Long is positive. Returns without throwing an exception when inside a multiple + assert block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a decimal is positive. Returns without throwing an exception when inside a multiple assert + block. + + The number to be examined + + + + Asserts that a decimal is positive. Returns without throwing an exception when inside a multiple assert + block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a double is positive. Returns without throwing an exception when inside a multiple assert + block. + + The number to be examined + + + + Asserts that a double is positive. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a float is positive. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + + + + Asserts that a float is positive. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an int is negative. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + + + + Asserts that an int is negative. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned int is negative. Returns without throwing an exception when inside a multiple + assert block. + + The number to be examined + + + + Asserts that an unsigned int is negative. Returns without throwing an exception when inside a multiple + assert block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a Long is negative. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + + + + Asserts that a Long is negative. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned Long is negative. Returns without throwing an exception when inside a multiple + assert block. + + The number to be examined + + + + Asserts that an unsigned Long is negative. Returns without throwing an exception when inside a multiple + assert block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a decimal is negative. Returns without throwing an exception when inside a multiple assert + block. + + The number to be examined + + + + Asserts that a decimal is negative. Returns without throwing an exception when inside a multiple assert + block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a double is negative. Returns without throwing an exception when inside a multiple assert + block. + + The number to be examined + + + + Asserts that a double is negative. Returns without throwing an exception when inside a multiple assert + block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a float is negative. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + + + + Asserts that a float is negative. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + DO NOT USE! Use Assert.AreEqual(...) instead. + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + Throws a with the message and arguments + that are passed in. This allows a test to be cut short, with a result + of success returned to NUnit. + + The message to initialize the with. + Arguments to be used in formatting the message + + + + Throws a with the message and arguments + that are passed in. This allows a test to be cut short, with a result + of success returned to NUnit. + + The message to initialize the with. + + + + Throws a with the message and arguments + that are passed in. This allows a test to be cut short, with a result + of success returned to NUnit. + + + + + Marks the test as failed with the message and arguments that are passed in. Returns without throwing an + exception when inside a multiple assert block. + + The message to initialize the with. + Arguments to be used in formatting the message + + + + Marks the test as failed with the message that is passed in. Returns without throwing an exception when + inside a multiple assert block. + + The message to initialize the with. + + + + Marks the test as failed. Returns without throwing an exception when inside a multiple assert block. + + + + + Issues a warning using the message and arguments provided. + + The message to display. + Arguments to be used in formatting the message + + + + Issues a warning using the message provided. + + The message to display. + + + + Throws an with the message and arguments + that are passed in. This causes the test to be reported as ignored. + + The message to initialize the with. + Arguments to be used in formatting the message + + + + Throws an with the message that is + passed in. This causes the test to be reported as ignored. + + The message to initialize the with. + + + + Throws an . + This causes the test to be reported as ignored. + + + + + Throws an with the message and arguments + that are passed in. This causes the test to be reported as inconclusive. + + The message to initialize the with. + Arguments to be used in formatting the message + + + + Throws an with the message that is + passed in. This causes the test to be reported as inconclusive. + + The message to initialize the with. + + + + Throws an . + This causes the test to be reported as Inconclusive. + + + + + Asserts that an object is contained in a collection. Returns without throwing an exception when inside a + multiple assert block. + + The expected object + The collection to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object is contained in a collection. Returns without throwing an exception when inside a + multiple assert block. + + The expected object + The collection to be examined + + + + Wraps code containing a series of assertions, which should all + be executed, even if they fail. Failed results are saved and + reported at the end of the code block. + + A TestDelegate to be executed in Multiple Assertion mode. + + + + Wraps code containing a series of assertions, which should all + be executed, even if they fail. Failed results are saved and + reported at the end of the code block. + + A TestDelegate to be executed in Multiple Assertion mode. + + + + If throws, returns "SomeException was thrown by the + Environment.StackTrace property." See also . + + + + + Verifies that two doubles are equal considering a delta. If the expected value is infinity then the delta + value is ignored. Returns without throwing an exception when inside a multiple assert block. + + The expected value + The actual value + The maximum acceptable difference between the the expected and the actual + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two doubles are equal considering a delta. If the expected value is infinity then the delta + value is ignored. Returns without throwing an exception when inside a multiple assert block. + + The expected value + The actual value + The maximum acceptable difference between the the expected and the actual + + + + Verifies that two doubles are equal considering a delta. If the expected value is infinity then the delta + value is ignored. Returns without throwing an exception when inside a multiple assert block. + + The expected value + The actual value + The maximum acceptable difference between the the expected and the actual + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two doubles are equal considering a delta. If the expected value is infinity then the delta + value is ignored. Returns without throwing an exception when inside a multiple assert block. + + The expected value + The actual value + The maximum acceptable difference between the the expected and the actual + + + + Verifies that two objects are equal. Two objects are considered equal if both are null, or if both have the + same value. NUnit has special semantics for some object types. Returns without throwing an exception when + inside a multiple assert block. + + The value that is expected + The actual value + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two objects are equal. Two objects are considered equal if both are null, or if both have the + same value. NUnit has special semantics for some object types. Returns without throwing an exception when + inside a multiple assert block. + + The value that is expected + The actual value + + + + Verifies that two objects are not equal. Two objects are considered equal if both are null, or if both have + the same value. NUnit has special semantics for some object types. Returns without throwing an exception + when inside a multiple assert block. + + The value that is expected + The actual value + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two objects are not equal. Two objects are considered equal if both are null, or if both have + the same value. NUnit has special semantics for some object types. Returns without throwing an exception + when inside a multiple assert block. + + The value that is expected + The actual value + + + + Asserts that two objects refer to the same object. Returns without throwing an exception when inside a + multiple assert block. + + The expected object + The actual object + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that two objects refer to the same object. Returns without throwing an exception when inside a + multiple assert block. + + The expected object + The actual object + + + + Asserts that two objects do not refer to the same object. Returns without throwing an exception when inside + a multiple assert block. + + The expected object + The actual object + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that two objects do not refer to the same object. Returns without throwing an exception when inside + a multiple assert block. + + The expected object + The actual object + + + + Helper for Assert.AreEqual(double expected, double actual, ...) + allowing code generation to work consistently. + + The expected value + The actual value + The maximum acceptable difference between the + the expected and the actual + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that an async delegate throws a particular exception when called. The returned exception may be + when inside a multiple assert block. + + A constraint to be satisfied by the exception + A TestSnippet delegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that an async delegate throws a particular exception when called. The returned exception may be + when inside a multiple assert block. + + A constraint to be satisfied by the exception + A TestSnippet delegate + + + + Verifies that an async delegate throws a particular exception when called. The returned exception may be + when inside a multiple assert block. + + The exception Type expected + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that an async delegate throws a particular exception when called. The returned exception may be + when inside a multiple assert block. + + The exception Type expected + A TestDelegate + + + + Verifies that an async delegate throws a particular exception when called. The returned exception may be + when inside a multiple assert block. + + Type of the expected exception + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that an async delegate throws a particular exception when called. The returned exception may be + when inside a multiple assert block. + + Type of the expected exception + A TestDelegate + + + + Verifies that an async delegate throws an exception when called and returns it. The returned exception may + be when inside a multiple assert block. + + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that an async delegate throws an exception when called and returns it. The returned exception may + be when inside a multiple assert block. + + 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 returned exception may be when inside a multiple assert block. + + The expected Exception Type + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that an async delegate throws an exception of a certain Type or one derived from it when called and + returns it. The returned exception may be when inside a multiple assert block. + + 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. The returned exception may be when inside a multiple assert block. + + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that an async delegate throws an exception of a certain Type or one derived from it when called and + returns it. The returned exception may be when inside a multiple assert block. + + 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. The returned exception may be when inside a multiple assert block. + + A constraint to be satisfied by the exception + A TestSnippet delegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws a particular exception when called. The returned exception may be when inside a multiple assert block. + + A constraint to be satisfied by the exception + A TestSnippet delegate + + + + Verifies that a delegate throws a particular exception when called. The returned exception may be when inside a multiple assert block. + + The exception Type expected + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws a particular exception when called. The returned exception may be when inside a multiple assert block. + + The exception Type expected + A TestDelegate + + + + Verifies that a delegate throws a particular exception when called. The returned exception may be when inside a multiple assert block. + + Type of the expected exception + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws a particular exception when called. The returned exception may be when inside a multiple assert block. + + Type of the expected exception + A TestDelegate + + + + Verifies that a delegate throws an exception when called and returns it. The returned exception may be when inside a multiple assert block. + + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws an exception when called and returns it. The returned exception may be when inside a multiple assert block. + + A TestDelegate + + + + Verifies that a delegate throws an exception of a certain Type or one derived from it when called and + returns it. The returned exception may be when inside a multiple assert block. + + The expected Exception Type + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws an exception of a certain Type or one derived from it when called and + returns it. The returned exception may be when inside a multiple assert block. + + The expected Exception Type + A TestDelegate + + + + Verifies that a delegate throws an exception of a certain Type or one derived from it when called and + returns it. The returned exception may be when inside a multiple assert block. + + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws an exception of a certain Type or one derived from it when called and + returns it. The returned exception may be when inside a multiple assert block. + + A TestDelegate + + + + Verifies that a delegate does not throw an exception + + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate does not throw an exception. + + A TestDelegate + + + + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + + The evaluated condition + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + + The evaluated condition + + + + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + + The evaluated condition + A function to build the message included with the Exception + + + + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + + A lambda that returns a Boolean + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + + A lambda that returns a Boolean + + + + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + + A lambda that returns a Boolean + A function to build the message included with the Exception + + + + Apply a constraint to a delegate. Returns without throwing an exception when inside a multiple assert block. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + + + + Apply a constraint to a delegate. Returns without throwing an exception when inside a multiple assert block. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to a delegate. Returns without throwing an exception when inside a multiple assert block. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Apply a constraint to a delegate. Returns without throwing an exception when inside a multiple assert block. + + A TestDelegate to be executed + A Constraint expression to be applied + + + + Apply a constraint to a delegate. Returns without throwing an exception when inside a multiple assert block. + + A TestDelegate to be executed + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to a delegate. Returns without throwing an exception when inside a multiple assert block. + + A TestDelegate to be executed + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Apply a constraint to an actual value. Returns without throwing an exception when inside a multiple assert + block. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + + + + Apply a constraint to an actual value. Returns without throwing an exception when inside a multiple assert + block. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value. Returns without throwing an exception when inside a multiple assert + block. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Apply a constraint to an actual value. Returns without throwing an exception when inside a multiple assert + block. Used as a synonym for That in rare cases where a private setter causes a Visual Basic compilation + error. + + The actual value to test + A Constraint expression to be applied + + + + Apply a constraint to an actual value. Returns without throwing an exception when inside a multiple assert + block. Used as a synonym for That in rare cases where a private setter causes a Visual Basic compilation + error. + + + This method is provided for use by VB developers needing to test the value of properties with private + setters. + + The actual value to test + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that an object may be assigned a value of a given Type. Returns without throwing an exception when + inside a multiple assert block. + + The expected Type. + The object under examination + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object may be assigned a value of a given Type. Returns without throwing an exception when + inside a multiple assert block. + + The expected Type. + The object under examination + + + + Asserts that an object may be assigned a value of a given Type. Returns without throwing an exception when + inside a multiple assert block. + + The expected Type. + The object under examination + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object may be assigned a value of a given Type. Returns without throwing an exception when + inside a multiple assert block. + + The expected Type. + The object under examination + + + + Asserts that an object may not be assigned a value of a given Type. Returns without throwing an exception + when inside a multiple assert block. + + The expected Type. + The object under examination + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object may not be assigned a value of a given Type. Returns without throwing an exception + when inside a multiple assert block. + + The expected Type. + The object under examination + + + + Asserts that an object may not be assigned a value of a given Type. Returns without throwing an exception + when inside a multiple assert block. + + The expected Type. + The object under examination + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object may not be assigned a value of a given Type. Returns without throwing an exception + when inside a multiple assert block. + + The expected Type. + The object under examination + + + + Asserts that an object is an instance of a given type. Returns without throwing an exception when inside a + multiple assert block. + + The expected Type + The object being examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object is an instance of a given type. Returns without throwing an exception when inside a + multiple assert block. + + The expected Type + The object being examined + + + + Asserts that an object is an instance of a given type. Returns without throwing an exception when inside a + multiple assert block. + + The expected Type + The object being examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object is an instance of a given type. Returns without throwing an exception when inside a + multiple assert block. + + The expected Type + The object being examined + + + + Asserts that an object is not an instance of a given type. Returns without throwing an exception when inside + a multiple assert block. + + The expected Type + The object being examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object is not an instance of a given type. Returns without throwing an exception when inside + a multiple assert block. + + The expected Type + The object being examined + + + + Asserts that an object is not an instance of a given type. Returns without throwing an exception when inside + a multiple assert block. + + The expected Type + The object being examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object is not an instance of a given type. Returns without throwing an exception when inside + a multiple assert block. + + The expected Type + The object being examined + + + + Delegate used by tests that execute code and + capture any thrown exception. + + + + + 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 Constraint expression to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + A Constraint expression to be applied + The actual value to test + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + A Constraint expression to be applied + The actual value to test + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Returns a ListMapper based on a collection. + + The original collection + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if at least one of them succeeds. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them fail. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding only if a specified number of them succeed. + + + + + Returns a new PropertyConstraintExpression, which will either + test for the existence of the named property on the object + being tested or apply any following constraint to that property. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Length property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Count property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Message property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the InnerException property of the object being tested. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a constraint that tests for null + + + + + Returns a constraint that tests for True + + + + + Returns a constraint that tests for False + + + + + Returns a constraint that tests for a positive value + + + + + Returns a constraint that tests for a negative value + + + + + Returns a constraint that tests for equality with zero + + + + + Returns a constraint that tests for NaN + + + + + Returns a constraint that tests for empty + + + + + Returns a constraint that tests whether a collection + contains all unique items. + + + + + Returns a constraint that tests whether an object graph is serializable in binary format. + + + + + Returns a constraint that tests whether an object graph is serializable in XML format. + + + + + Returns a constraint that tests two items for equality + + + + + Returns a constraint that tests that two references are the same object + + + + + Returns a constraint that tests whether the + actual value is greater than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a collection containing the same elements as the + collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a subset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a superset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether a collection is ordered + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + To search for a substring instead of a collection element, use the + overload. + + + + + + + Returns a new ContainsConstraint. This constraint + will, in turn, make use of the appropriate second-level + constraint, depending on the type of the actual argument. + + + To search for a collection element instead of a substring, use the + overload. + + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that fails if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that fails if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that fails if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that fails if the actual + value matches the pattern supplied as an argument. + + + + + Returns a constraint that tests whether the path provided + is the same as an expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is a subpath of the expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is the same path or under an expected path after canonicalization. + + + + + Returns a constraint that tests whether the actual value falls + within a specified range. + + + + + Provides static methods to express the assumptions + that must be met for a test to give a meaningful + result. If an assumption is not met, the test + should produce an inconclusive result. + + + + + DO NOT USE! + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + The left object. + The right object. + Not applicable + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + The left object. + The right object. + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Asserts that a condition is true. If the condition is false, the method throws + an . + + The evaluated condition + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false, the + method throws an . + + The evaluated condition + + + + Asserts that a condition is true. If the condition is false, the method throws + an . + + The evaluated condition + A function to build the message included with the Exception + + + + Asserts that a condition is true. If the condition is false, the method throws + an . + + A lambda that returns a Boolean + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false, the method throws + an . + + A lambda that returns a Boolean + + + + Asserts that a condition is true. If the condition is false, the method throws + an . + + A lambda that returns a Boolean + A function to build the message included with the Exception + + + + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + + A TestDelegate to be executed + A ThrowsConstraint used in the test + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Marks a test as needing to be run in a particular threading apartment state. This will cause it + to run in a separate thread if necessary. + + + + + Construct an ApartmentAttribute + + The apartment state that this test must be run under. You must pass in a valid apartment state. + + + + Provides the author of a test or test fixture. + + + + + Initializes a new instance of the class. + + The name of the author. + + + + Initializes a new instance of the class. + + The name of the author. + The email address of the author. + + + + Applies a category to a test + + + + + The name of the category + + + + + Construct attribute for a given category based on + a name. The name may not contain the characters ',', + '+', '-' or '!'. However, this is not checked in the + constructor since it would cause an error to arise at + as the test was loaded without giving a clear indication + of where the problem is located. The error is handled + in NUnitFramework.cs by marking the test as not + runnable. + + The name of the category + + + + Protected constructor uses the Type name as the name + of the category. + + + + + The name of the category + + + + + Modifies a test by adding a category to it. + + The test to modify + + + + Marks a test to use a combinatorial join of any argument data provided. + Since this is the default, the attribute is optional. + + + + + Default constructor + + + + + Marks a test as using a particular CombiningStrategy to join any supplied parameter data. + Since this is the default, the attribute is optional. + + + + + Construct a CombiningStrategyAttribute incorporating an + ICombiningStrategy and an IParameterDataProvider. + + Combining strategy to be used in combining data + An IParameterDataProvider to supply data + + + + Construct a CombiningStrategyAttribute incorporating an object + that implements ICombiningStrategy and an IParameterDataProvider. + This constructor is provided for CLS compliance. + + Combining strategy to be used in combining data + An IParameterDataProvider to supply data + + + + Builds any number of tests from the specified method and context. + + The MethodInfo for which tests are to be constructed. + The suite to which the tests will be added. + + + + Modify the test by adding the name of the combining strategy + to the properties. + + The test to modify + + + + Marks an assembly, test fixture or test method as applying to a specific Culture. + + + + + Constructor with no cultures specified, for use + with named property syntax. + + + + + Constructor taking one or more cultures + + Comma-delimited list of cultures + + + + Causes a test to be skipped if this CultureAttribute is not satisfied. + + The test to modify + + + + Tests to determine if the current culture is supported + based on the properties of this attribute. + + True, if the current culture is supported + + + + Test to determine if the a particular culture or comma- + delimited set of cultures is in use. + + Name of the culture or comma-separated list of culture ids + True if the culture is in use on the system + + + + Test to determine if one of a collection of cultures + is being used currently. + + + + + + + Abstract base class for all data-providing attributes defined by NUnit. + Used to select all data sources for a method, class or parameter. + + + + + Default constructor + + + + + Marks a field for use as a datapoint when executing a theory within + the same fixture that requires an argument of the field's Type. + + + + + Marks a field, property or method as providing a set of datapoints for use + in executing any theories within the same fixture that require an argument of + the provided Type. The data source may provide an array of the required Type + or an . Synonymous with . + + + + + Marks a field, property or method as providing a set of datapoints for use + in executing any theories within the same fixture that require an argument + of the provided type. The data source may provide an array of the required + Type or an . Synonymous with . + + + + + Sets the tolerance used by default when checking the equality of floating point values + within the test assembly, fixture or method. + + + + + Construct specifying an amount + + + + + + Apply changes to the TestExecutionContext + + The TestExecutionContext + + + + Provides the descriptive text relating to the assembly, test fixture or test method. + + + + + Construct a description Attribute + + The text of the description + + + + Marks an assembly, test fixture or test method such that it will only run if explicitly + executed from the GUI, command line or included within a test filter. + The test will not be run simply because an enclosing suite is run. + + + + + Default constructor + + + + + Constructor with a reason + + The reason test is marked explicit + + + + Modifies a test by marking it as explicit. + + The test to modify + + + + Specify the life cycle of a Fixture + + + + + Construct a FixtureLifeCycleAttribute with a specified . + + + + + Defines the life cycle for this test fixture or assembly. + + + + + Overridden to set a TestFixture's . + + + + + Marks an assembly, test fixture or test method as being ignored. Ignored tests result in a warning message when the tests are run. + + + + + Constructs the attribute giving a reason for ignoring the test + + The reason for ignoring the test + + + + The date in the future to stop ignoring the test as a string in UTC time. + For example for a date and time, "2014-12-25 08:10:00Z" or for just a date, + "2014-12-25". If just a date is given, the Ignore will expire at midnight UTC. + + + Once the ignore until date has passed, the test will be marked + as runnable. Tests with an ignore until date will have an IgnoreUntilDate + property set which will appear in the test results. + + The string does not contain a valid string representation of a date and time. + + + + Modifies a test by marking it as Ignored. + + The test to modify + + + + Abstract base for attributes that are used to include tests in + the test run based on environmental settings. + + + + + Constructor with no included items specified, for use + with named property syntax. + + + + + Constructor taking one or more included items + + Comma-delimited list of included items + + + + Name of the item that is needed in order for + a test to run. Multiple items may be given, + separated by a comma. + + + + + Name of the item to be excluded. Multiple items + may be given, separated by a comma. + + + + + The reason for including or excluding the test + + + + + Sets the number of worker threads that may be allocated by the framework + for running tests. + + + + + Construct a LevelOfParallelismAttribute. + + The number of worker threads to be created by the framework. + + + + Specifies the life cycle for a test fixture. + + + + + A single instance is created and shared for all test cases. + + + + + A new instance is created for each test case. + + + + + Specifies the maximum time (in milliseconds) for a test case to succeed. + + + + + Construct a MaxTimeAttribute, given a time in milliseconds. + + The maximum elapsed time in milliseconds + + + + Marks tests that should NOT be run in parallel. + + + + + Construct a NonParallelizableAttribute. + + + + + Used by third-party frameworks, or other software, that reference + the NUnit framework but do not contain any tests. Applying the + attribute indicates that the assembly is not a test assembly and + may prevent errors if certain runners attempt to load the assembly. + Note that recognition of the attribute depends on each individual runner. + + + + + Abstract base class for all custom attributes defined by NUnit. + + + + + Default constructor + + + + + Identifies a method that is called once to perform setup before any child tests are run. + + + + + Identifies a method to be called once after all the child tests have run. + The method is guaranteed to be called, even if an exception is thrown. + + + + + Defines the order that the test will run in + + + + + Defines the order that the test will run in + + + + + Defines the order that the test will run in + + + + + + Modifies a test as defined for the specific attribute. + + The test to modify + + + + Marks a test as using a pairwise join of any supplied argument data. Arguments will be + combined in such a way that all possible pairs of arguments are used. + + + + + Default constructor + + + + + Marks a test assembly, fixture or method that may be run in parallel. + + + + + Construct a ParallelizableAttribute using default ParallelScope.Self. + + + + + Construct a ParallelizableAttribute with a specified scope. + + The ParallelScope associated with this attribute. + + + + Defines the degree to which this test and its descendants may be run in parallel + + + + + Overridden to check for invalid combinations of settings + + + + + + Modify the context to be used for child tests + + The current TestExecutionContext + + + + Specifies the degree to which a test, and its descendants, + may be run in parallel. + + + + + No ParallelScope was specified on the test + + + + + The test may be run in parallel with others at the same level. + Valid on classes and methods but has no effect on assemblies. + + + + + Test may not be run in parallel with any others. Valid on + classes and methods but not assemblies. + + + + + Mask used to extract the flags that apply to the item on which a + ParallelizableAttribute has been placed, as opposed to descendants. + + + + + Descendants of the test may be run in parallel with one another. + Valid on assemblies and classes but not on non-parameterized methods. + + + + + Descendants of the test down to the level of TestFixtures may be + run in parallel with one another. Valid on assemblies and classes + but not on methods. + + + + + Mask used to extract all the flags that impact descendants of a + test and place them in the TestExecutionContext. + + + + + The test and its descendants may be run in parallel with others at + the same level. Valid on classes and parameterized methods. + For assemblies it is recommended to use + instead, as has no effect on assemblies. + + + + + Marks an assembly, test fixture or test method as applying to a specific platform. + + + + + Constructor with no platforms specified, for use + with named property syntax. + + + + + Constructor taking one or more platforms + + Comma-delimited list of platforms + + + + Causes a test to be skipped if this PlatformAttribute is not satisfied. + + The test to modify + + + + Attaches information to a test assembly, fixture or method as a name/value pair. + + + + + Construct a PropertyAttribute with a name and string value + + The name of the property + The property value + + + + Construct a PropertyAttribute with a name and int value + + The name of the property + The property value + + + + Construct a PropertyAttribute with a name and double value + + The name of the property + The property value + + + + Constructor for derived classes that set the + property dictionary directly. + + + + + Constructor for use by derived classes that use the + name of the type as the property name. Derived classes + must ensure that the Type of the property value is + a standard type supported by the BCL. Any custom + types will cause a serialization Exception when + in the client. + + + + + Gets the property dictionary for this attribute + + + + + Modifies a test by adding properties to it. + + The test to modify + + + + Supplies a set of random values to a single parameter of a parameterized test. + + + + + If true, no value will be repeated. + + + + + Construct a random set of values appropriate for the Type of the + parameter on which the attribute appears, specifying only the count. + + + + + + Generates values within a specified range. + + + + + Generates values within a specified range. + + + + + Generates values within a specified range. + + + + + Generates values within a specified range. + + + + + Generates values within a specified range. + + + + + Generates values within a specified range. + + + + + Generates values within a specified range. + + + + + Generates values within a specified range. + + + + + Generates values within a specified range. + + + + + Generates values within a specified range. + + + + + Retrieves a list of arguments which can be passed to the specified parameter. + + The parameter of a parameterized test. + + + + Supplies a range of values to an individual parameter of a parameterized test. + + + + + Constructs a range of values using the default step of 1. + + + + + Constructs a range of values with the specified step size. + + + + + Constructs a range of values using the default step of 1. + + + + + Constructs a range of values with the specified step size. + + + + + Constructs a range of values using a default step of 1. + + + + + Constructs a range of values with the specified step size. + + + + + Constructs a range of values using the default step of 1. + + + + + Constructs a range of values with the specified step size. + + + + + Constructs a range of values with the specified step size. + + + + + Constructs a range of values with the specified step size. + + + + + Retrieves a list of arguments which can be passed to the specified parameter. + + The parameter of a parameterized test. + + + Returns a string that represents the current object. + + + + Specifies that a test should be run multiple times. + + + + + Construct a RepeatAttribute + + The number of times to run the test + + + + Wrap a command and return the result. + + The command to be wrapped + The wrapped command + + + + The test command for the RepeatAttribute + + + + + Initializes a new instance of the class. + + The inner command. + The number of repetitions + + + + Runs the test, saving a TestResult in the supplied TestExecutionContext. + + The context in which the test should run. + A TestResult + + + + Marks a test that must run on a separate thread. + + + + + Construct a RequiresThreadAttribute + + + + + Construct a RequiresThreadAttribute, specifying the apartment + + + + + Specifies that a test method should be rerun on failure up to the specified + maximum number of times. + + + + + Construct a + + The maximum number of times the test should be run if it fails + + + + Wrap a command and return the result. + + The command to be wrapped + The wrapped command + + + + The test command for the + + + + + Initializes a new instance of the class. + + The inner command. + The maximum number of repetitions + + + + Runs the test, saving a TestResult in the supplied TestExecutionContext. + + The context in which the test should run. + A TestResult + + + + Marks a test to use a sequential join of any provided argument data. + Arguments will be combined into test cases, taking the next value of + each argument until all are used. + + + + + Default constructor + + + + + Sets the current Culture on an assembly, test fixture or test method for + the duration of a test. The culture remains set until the test or fixture + completes and is then reset to its original value. + + + + + + Construct given the name of a culture + + + + + + Sets the current UI Culture on an assembly, test fixture or test method + for the duration of a test. The UI culture remains set until the test or + fixture completes and is then reset to its original value. + + + + + + Construct given the name of a culture + + + + + + Identifies a method to be called immediately before each test is run. + + + + + Identifies a class as containing or + methods for all the test fixtures + under a given namespace. + + + + + Builds a from the specified type. + + The type info of the fixture to be used. + + + + Marks a test fixture as requiring all child tests to be run on the + same thread as the OneTimeSetUp and OneTimeTearDown. A flag in the + is set forcing all child tests + to be run sequentially on the current thread. + Any setting is ignored. + + + + + Apply changes to the TestExecutionContext + + The TestExecutionContext + + + + Identifies a method to be called immediately after each test is run. + The method is guaranteed to be called, even if an exception is thrown. + + + + + Abstract attribute providing actions to execute before and after tests. + + + + + Executed before each test is run + + The test that is going to be run. + + + + Executed after each test is run + + The test that has just been run. + + + + Provides the target for the action attribute + + + + + Marks a test assembly as needing a special assembly resolution hook that will + explicitly search the test assembly's directory for dependent assemblies. + This works around a conflict between mixed-mode assembly initialization and + tests running in their own AppDomain in some cases. + + + + + Marks the method as callable from the NUnit test runner. + + + + [TestFixture] + public class Fixture + { + [Test] + public void MethodToTest() + {} + + [Test(Description = "more detailed description")] + public void TestDescriptionMethod() + {} + } + + + + + + Descriptive text for this test + + + + + The author of this test + + + + + The type that this test is testing + + + + + Gets or sets the expected result. Not valid if the test + method has parameters. + + The result. + + + + Modifies a test by adding a description, if not already set. + + The test to modify + + + + Builds a single test from the specified method and context. + + The method for which a test is to be constructed. + The suite to which the test will be added. + + + + Marks a method as a parameterized test suite and provides arguments for each test case. + + + + + Construct a TestCaseAttribute with a list of arguments. + This constructor is not CLS-Compliant + + + + + + Construct a TestCaseAttribute with a single argument + + + + + + Construct a TestCaseAttribute with a two arguments + + + + + + + Construct a TestCaseAttribute with a three arguments + + + + + + + + Gets or sets the name of the test. + + The name of the test. + + + + Gets or sets the RunState of this test case. + + + + + Gets the list of arguments to a test case + + + + + Gets the properties of the test case + + + + + Gets or sets the expected result. + + The result. + + + + Returns true if the expected result has been set + + + + + Gets or sets the description. + + The description. + + + + The author of this test + + + + + The type that this test is testing + + + + + Gets or sets the reason for ignoring the test + + + + + Gets or sets a value indicating whether this is explicit. + + + if explicit; otherwise, . + + + + + Gets or sets the reason for not running the test. + + The reason. + + + + Gets or sets the ignore reason. When set to a non-null + non-empty value, the test is marked as ignored. + + The ignore reason. + + + + Comma-delimited list of platforms to run the test for + + + + + Comma-delimited list of platforms to not run the test for + + + + + Gets and sets the category for this test case. + May be a comma-separated list of categories. + + + + + Gets and sets the ignore until date for this test case. + + + + + Performs several special conversions allowed by NUnit in order to + permit arguments with types that cannot be used in the constructor + of an Attribute such as TestCaseAttribute or to simplify their use. + + The arguments to be converted + The ParameterInfo array for the method + + + + Builds a single test from the specified method and context. + + The MethodInfo for which tests are to be constructed. + The suite to which the tests will be added. + + + + Indicates the source to be used to provide test fixture instances for a test class. + + + + + Construct with the name of the method, property or field that will provide data + + The name of a static method, property or field that will provide data. + + + + Construct with a Type and name + + The Type that will provide data + The name of a static method, property or field that will provide data. + A set of parameters passed to the method, works only if the Source Name is a method. + If the source name is a field or property has no effect. + + + + Construct with a Type and name + + The Type that will provide data + The name of a static method, property or field that will provide data. + + + + Construct with a name + + The name of a static method, property or field that will provide data. + A set of parameters passed to the method, works only if the Source Name is a method. + If the source name is a field or property has no effect. + + + + Construct with a Type + + The type that will provide data + + + + A set of parameters passed to the method, works only if the Source Name is a method. + If the source name is a field or property has no effect. + + + + + The name of a the method, property or field to be used as a source + + + + + A Type to be used as a source + + + + + Gets or sets the category associated with every fixture created from + this attribute. May be a single category or a comma-separated list. + + + + + Builds any number of tests from the specified method and context. + + The IMethod for which tests are to be constructed. + The suite to which the tests will be added. + + + + Marks the class as a TestFixture. + + + + + Default constructor + + + + + Construct with a object[] representing a set of arguments. + The arguments may later be separated into type arguments and constructor arguments. + + + + + + Gets or sets the name of the test. + + The name of the test. + + + + Gets or sets the RunState of this test fixture. + + + + + The arguments originally provided to the attribute + + + + + Properties pertaining to this fixture + + + + + Get or set the type arguments. If not set + explicitly, any leading arguments that are + Types are taken as type arguments. + + + + + Descriptive text for this fixture + + + + + The author of this fixture + + + + + The type that this fixture is testing + + + + + Gets or sets the ignore reason. May set RunState as a side effect. + + The ignore reason. + + + + Gets or sets the reason for not running the fixture. + + The reason. + + + + Gets or sets the ignore reason. When set to a non-null + non-empty value, the test is marked as ignored. + + The ignore reason. + + + + Gets or sets a value indicating whether this is explicit. + + + if explicit; otherwise, . + + + + + Gets and sets the category for this fixture. + May be a comma-separated list of categories. + + + + + Builds a single test fixture from the specified type. + + + + + Builds a single test fixture from the specified type. + + The type info of the fixture to be used. + Filter used to select methods as tests. + + + + Identifies the source used to provide test fixture instances for a test class. + + + + + Error message string is public so the tests can use it + + + + + Construct with the name of the method, property or field that will provide data + + The name of a static method, property or field that will provide data. + + + + Construct with a Type and name + + The Type that will provide data + The name of a static method, property or field that will provide data. + + + + Construct with a Type + + The type that will provide data + + + + The name of a the method, property or field to be used as a source + + + + + A Type to be used as a source + + + + + Gets or sets the category associated with every fixture created from + this attribute. May be a single category or a comma-separated list. + + + + + Builds any number of test fixtures from the specified type. + + The TypeInfo for which fixtures are to be constructed. + + + + Builds any number of test fixtures from the specified type. + + The TypeInfo for which fixtures are to be constructed. + PreFilter used to select methods as tests. + + + + Returns a set of ITestFixtureData items for use as arguments + to a parameterized test fixture. + + The type for which data is needed. + + + + + Indicates the method or class the assembly, test fixture or test method is testing. + + + + + Initializes a new instance of the class. + + The type that is being tested. + + + + Initializes a new instance of the class. + + The type that is being tested. + + + + Adding this attribute to a method within a + class makes the method callable from the NUnit test runner. There is a property + called Description which is optional which you can provide a more detailed test + description. This class cannot be inherited. + + + + [TestFixture] + public class Fixture + { + [Test] + public void MethodToTest() + {} + + [Test(Description = "more detailed description")] + public void TestDescriptionMethod() + {} + } + + + + + + Construct the attribute, specifying a combining strategy and source of parameter data. + + + + + Applies a timeout in milliseconds to a test. + When applied to a method, the test is cancelled if the timeout is exceeded. + When applied to a class or assembly, the default timeout is set for all contained test methods. + + + + + Construct a TimeoutAttribute given a time in milliseconds + + The timeout value in milliseconds + + + + Provides literal arguments for an individual parameter of a test. + + + + + The collection of data to be returned. Must + be set by any derived attribute classes. + We use an object[] so that the individual + elements may have their type changed in GetData + if necessary + + + + + Constructs for use with an Enum parameter. Will pass every enum + value in to the test. + + + + + Construct with one argument + + + + + + Construct with two arguments + + + + + + + Construct with three arguments + + + + + + + + Construct with an array of arguments + + + + + + Retrieves a list of arguments which can be passed to the specified parameter. + + The parameter of a parameterized test. + + + + To generate data for Values attribute, in case no data is provided. + + + + + To Check if type is nullable enum. + + + + + Indicates the source used to provide data for one parameter of a test method. + + + + + Construct with the name of the factory - for use with languages + that don't support params arrays. + + The name of a static method, property or field that will provide data. + + + + Construct with a Type and name - for use with languages + that don't support params arrays. + + The Type that will provide data + The name of a static method, property or field that will provide data. + + + + The name of a the method, property or field to be used as a source + + + + + A Type to be used as a source + + + + + Retrieves a list of arguments which can be passed to the specified parameter. + + The parameter of a parameterized test. + + + + A set of Assert methods operating on one or more collections + + + + + DO NOT USE! Use CollectionAssert.AreEqual(...) instead. + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + Asserts that all items contained in collection are of the type specified by expectedType. + + IEnumerable containing objects to be considered + System.Type that all objects in collection must be instances of + + + + Asserts that all items contained in collection are of the type specified by expectedType. + + IEnumerable containing objects to be considered + System.Type that all objects in collection must be instances of + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that all items contained in collection are not equal to null. + + IEnumerable containing objects to be considered + + + + Asserts that all items contained in collection are not equal to null. + + IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Ensures that every object contained in collection exists within the collection + once and only once. + + IEnumerable of objects to be considered + + + + Ensures that every object contained in collection exists within the collection + once and only once. + + IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are equivalent, containing the same objects but the match may be in any order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are equivalent, containing the same objects but the match may be in any order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are not exactly equal. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are not exactly equal. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + + + + Asserts that expected and actual are not exactly equal. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are not exactly equal. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are not equivalent. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are not equivalent. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that collection contains actual as an item. + + IEnumerable of objects to be considered + Object to be found within collection + + + + Asserts that collection contains actual as an item. + + IEnumerable of objects to be considered + Object to be found within collection + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that collection does not contain actual as an item. + + IEnumerable of objects to be considered + Object that cannot exist within collection + + + + Asserts that collection does not contain actual as an item. + + IEnumerable of objects to be considered + Object that cannot exist within collection + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the superset does not contain the subset + + The IEnumerable subset to be considered + The IEnumerable superset to be considered + + + + Asserts that the superset does not contain the subset + + The IEnumerable subset to be considered + The IEnumerable superset to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the superset contains the subset. + + The IEnumerable subset to be considered + The IEnumerable superset to be considered + + + + Asserts that the superset contains the subset. + + The IEnumerable subset to be considered + The IEnumerable superset to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the subset does not contain the superset + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + + + + Asserts that the subset does not contain the superset + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the subset contains the superset. + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + + + + Asserts that the subset contains the superset. + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array, list or other collection is empty + + An array, list or other collection implementing IEnumerable + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array,list or other collection is empty + + An array, list or other collection implementing IEnumerable + + + + Assert that an array, list or other collection is empty + + An array, list or other collection implementing IEnumerable + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array,list or other collection is empty + + An array, list or other collection implementing IEnumerable + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + A custom comparer to perform the comparisons + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + A custom comparer to perform the comparisons + + + + AllItemsConstraint applies another constraint to each + item in a collection, succeeding if they all succeed. + + + + + Construct an AllItemsConstraint on top of an existing constraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the item constraint to each item in the collection, + failing if any item fails. + + + + + + + AndConstraint succeeds only if both members succeed. + + + + + Create an AndConstraint from two other constraints + + The first constraint + The second constraint + + + + Gets text describing a constraint + + + + + Apply both member constraints to an actual value, succeeding + succeeding only if both of them succeed. + + The actual value + True if the constraints both succeeded + + + + Write the actual value for a failing constraint test to a + MessageWriter. The default implementation simply writes + the raw value of actual, leaving it to the writer to + perform any formatting. + + The writer on which the actual value is displayed + + + + is used to determine whether the value is equal to any of the expected values. + + + + + Construct a + + Collection of expected values + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether item is present in expected collection + + Actual item type + Actual item + + + + Flag the constraint to ignore case and return self. + + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + + + + Flag the constraint to use the supplied Comparison object. + + The Comparison object to use. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IEqualityComparer object to use. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + + + + Flag the constraint to use the supplied boolean-returning delegate. + + The supplied boolean-returning delegate to use. + + + + AssignableFromConstraint is used to test that an object + can be assigned from a given Type. + + + + + Construct an AssignableFromConstraint for the type provided + + + + + + Apply the constraint to an actual value, returning true if it succeeds + + The actual argument + True if the constraint succeeds, otherwise false. + + + + AssignableToConstraint is used to test that an object + can be assigned to a given Type. + + + + + Construct an AssignableToConstraint for the type provided + + + + + + Apply the constraint to an actual value, returning true if it succeeds + + The actual argument + True if the constraint succeeds, otherwise false. + + + + AttributeConstraint tests that a specified attribute is present + on a Type or other provider and that the value of the attribute + satisfies some other constraint. + + + + + Constructs an AttributeConstraint for a specified attribute + Type and base constraint. + + + + + + + Determines whether the Type or other provider has the + expected attribute and if its value matches the + additional constraint specified. + + + + + Returns a string representation of the constraint. + + + + + AttributeExistsConstraint tests for the presence of a + specified attribute on a Type. + + + + + Constructs an AttributeExistsConstraint for a specific attribute Type + + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Tests whether the object provides the expected attribute. + + A Type, MethodInfo, or other ICustomAttributeProvider + True if the expected attribute is present, otherwise false + + + + BinaryConstraint is the abstract base of all constraints + that combine two other constraints in some fashion. + + + + + The first constraint being combined + + + + + The second constraint being combined + + + + + Construct a BinaryConstraint from two other constraints + + The first constraint + The second constraint + + + + BinarySerializableConstraint tests whether + an object is serializable in binary format. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Returns the string representation + + + + + CollectionConstraint is the abstract base class for + constraints that operate on collections. + + + + + Construct an empty CollectionConstraint + + + + + Construct a CollectionConstraint + + + + + + Determines whether the specified enumerable is empty. + + The enumerable. + + if the specified enumerable is empty; otherwise, . + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Protected method to be implemented by derived classes + + + + + + + CollectionContainsConstraint is used to test whether a collection + contains an expected object as a member. + + + + + Construct a CollectionContainsConstraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Gets the expected object + + + + + Test whether the expected item is contained in the collection + + + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + + CollectionEquivalentConstraint is used to determine whether two + collections are equivalent. + + + + The result of the from the collections + under comparison. + + + Construct a CollectionEquivalentConstraint + Expected collection. + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether two collections are equivalent + + + + + + + Test whether the collection is equivalent to the expected. + + + Actual collection type. + + + Actual collection to compare. + + + A indicating whether or not + the two collections are equivalent. + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + Provides a for the . + + + Result of a of the collections to compare for equivalence. + + + Construct a using a . + Source . + Result of the collection comparison. + Actual collection to compare. + Whether or not the succeeded. + + + Write any additional lines (following Expected: and But was:) for a failing constraint. + The to write the failure message to. + + + + CollectionItemsEqualConstraint is the abstract base class for all + collection constraints that apply some notion of item equality + as a part of their operation. + + + + + The NUnitEqualityComparer in use for this constraint + + + + + Construct an empty CollectionConstraint + + + + + Construct a CollectionConstraint + + + + + + Get a flag indicating whether the user requested us to ignore case. + + + + + Get a flag indicating whether any external comparers are in use. + + + + + Flag the constraint to ignore case and return self. + + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + + + + Flag the constraint to use the supplied Comparison object. + + The Comparison object to use. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + + + + Flag the constraint to use the supplied boolean-returning delegate. + + The supplied boolean-returning delegate to use. + + + + Compares two collection members for equality + + + + + Return a new CollectionTally for use in making tests + + The collection to be included in the tally + + + + CollectionOrderedConstraint is used to test whether a collection is ordered. + + + + + Construct a CollectionOrderedConstraint + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + If used performs a default ascending comparison + + + + + If used performs a reverse comparison + + + + + Modifies the constraint to use an and returns self. + + + + + Modifies the constraint to use an and returns self. + + + + + Modifies the constraint to use a and returns self. + + + + + Modifies the constraint to test ordering by the value of + a specified property and returns self. + + + + + Then signals a break between two ordering steps + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Test whether the collection is ordered + + + + + Returns the string representation of the constraint. + + + + + + An OrderingStep represents one stage of the sort + + + + + Constructor for success result. + + The Constraint to which this result applies. + The actual value to which the Constraint was applied. + + + + Constructor for failure result. + + The Constraint to which this result applies. + The actual value to which the Constraint was applied. + Index at which collection order breaks. + Value at which collection order breaks. + + + + CollectionSubsetConstraint is used to determine whether + one collection is a subset of another + + + + + Construct a CollectionSubsetConstraint + + The collection that the actual value is expected to be a subset of + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the actual collection is a subset of + the expected collection provided. + + + + + + + Test whether the constraint is satisfied by a given value. + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + + CollectionSupersetConstraint is used to determine whether + one collection is a superset of another + + + + + Construct a CollectionSupersetConstraint + + The collection that the actual value is expected to be a superset of + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the actual collection is a superset of + the expected collection provided. + + + + + + + Test whether the constraint is satisfied by a given value. + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + counts (tallies) the number of occurrences + of each object in one or more enumerations. + + + The result of a . + + + Items that were not in the expected collection. + + + Items that were not accounted for in the expected collection. + + + Initializes a new instance of the class with the given fields. + + + The result of the comparison between the two collections. + + + Construct a CollectionTally object from a comparer and a collection. + The comparer to use for equality. + The expected collection to compare against. + + + Try to remove an object from the tally. + The object to remove. + + + Try to remove a set of objects from the tally. + The objects to remove. + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Flag indicating whether or not this is the top level comparison. + + + + + A list of tracked comparisons + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two types related by . + + + + + Interface for comparing two s. + + + + + Method for comparing two objects with a tolerance. + + The first object to compare. + The second object to compare. + The tolerance to use when comparing the objects. + The evaluation state of the comparison. + + if the objects cannot be compared using the method. + Otherwise the result of the comparison is returned. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two types related by . + + + + + Comparator for two s or s. + + + + + Comparator for two Tuples. + + + + + Base class for comparators for tuples (both regular Tuples and ValueTuples). + + + + + Comparator for two ValueTuples. + + + + + ComparisonAdapter class centralizes all comparisons of + values in NUnit, adapting to the use of any provided + , + or . + + + + + Gets the default ComparisonAdapter, which wraps an + NUnitComparer object. + + + + + Returns a ComparisonAdapter that wraps an + + + + + Returns a ComparisonAdapter that wraps an + + + + + Returns a ComparisonAdapter that wraps a + + + + + Compares two objects + + + + + Construct a default ComparisonAdapter + + + + + Construct a ComparisonAdapter for an + + + + + Compares two objects + + + + + + + + ComparerAdapter extends and + allows use of an or + to actually perform the comparison. + + + + + Construct a ComparisonAdapter for an + + + + + Compare a Type T to an object + + + + + Construct a ComparisonAdapter for a + + + + + Compare a Type T to an object + + + + + Abstract base class for constraints that compare values to + determine if one is greater than, equal to or less than + the other. + + + + + The value against which a comparison is to be made + + + + + Tolerance used in making the comparison + + + + + ComparisonAdapter to be used in making the comparison + + + + + Initializes a new instance of the class. + + The value against which to make a comparison. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + A ConstraintResult + + + + Protected function overridden by derived class to actually perform the comparison + + + + + Modifies the constraint to use an and returns self + + The comparer used for comparison tests + A constraint modified to use the given comparer + + + + Modifies the constraint to use an and returns self + + The comparer used for comparison tests + A constraint modified to use the given comparer + + + + Modifies the constraint to use a and returns self + + The comparer used for comparison tests + A constraint modified to use the given comparer + + + + Set the tolerance for use in this comparison + + + + + Switches the .Within() modifier to interpret its tolerance as + a percentage that the actual values is allowed to deviate from + the expected value. + + Self + + + + Provides standard description of what the constraint tests + based on comparison text. + + Describes the comparison being tested, throws + if null + Is thrown when null passed to a method + + + + Delegate used to delay evaluation of the actual value + to be used in evaluating a constraint + + + + + The Constraint class is the base of all built-in constraints + within NUnit. It provides the operator overloads used to combine + constraints. + + + + + Construct a constraint with optional arguments + + Arguments to be saved + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Arguments provided to this Constraint, for use in + formatting the description. + + + + + The ConstraintBuilder holding this constraint + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + Applies the constraint to an ActualValueDelegate that returns + the value to be tested. The default implementation simply evaluates + the delegate but derived classes may override it to provide for + delayed processing. + + An ActualValueDelegate + A ConstraintResult + + + + Test whether the constraint is satisfied by a given reference. + The default implementation simply dereferences the value but + derived classes may override it to provide for delayed processing. + + A reference to the value to be tested + A ConstraintResult + + + + Retrieves the value to be tested from an ActualValueDelegate. + The default implementation simply evaluates the delegate but derived + classes may override it to provide for delayed processing. + + An ActualValueDelegate + Delegate evaluation result + + + + Default override of ToString returns the constraint DisplayName + followed by any arguments within angle brackets. + + + + + + Returns the string representation of this constraint + + + + + This operator creates a constraint that is satisfied only if both + argument constraints are satisfied. + + + + + This operator creates a constraint that is satisfied if either + of the argument constraints is satisfied. + + + + + This operator creates a constraint that is satisfied if the + argument constraint is not satisfied. + + + + + Returns a ConstraintExpression by appending And + to the current constraint. + + + + + Returns a ConstraintExpression by appending And + to the current constraint. + + + + + Returns a ConstraintExpression by appending Or + to the current constraint. + + + + + Returns a DelayedConstraint.WithRawDelayInterval with the specified delay time. + + The delay, which defaults to milliseconds. + + + + + Returns a DelayedConstraint with the specified delay time + and polling interval. + + The delay in milliseconds. + The interval at which to test the constraint. + + + + + Resolves any pending operators and returns the resolved constraint. + + + + + ConstraintBuilder maintains the stacks that are used in + processing a ConstraintExpression. An OperatorStack + is used to hold operators that are waiting for their + operands to be reorganized. a ConstraintStack holds + input constraints as well as the results of each + operator applied. + + + + + OperatorStack is a type-safe stack for holding ConstraintOperators + + + + + Initializes a new instance of the class. + + The ConstraintBuilder using this stack. + + + + Gets a value indicating whether this is empty. + + if empty; otherwise, . + + + + Gets the topmost operator without modifying the stack. + + + + + Pushes the specified operator onto the stack. + + The operator to put onto the stack. + + + + Pops the topmost operator from the stack. + + The topmost operator on the stack + + + + ConstraintStack is a type-safe stack for holding Constraints + + + + + Initializes a new instance of the class. + + The ConstraintBuilder using this stack. + + + + Gets a value indicating whether this is empty. + + if empty; otherwise, . + + + + Pushes the specified constraint. As a side effect, + the constraint's Builder field is set to the + ConstraintBuilder owning this stack. + + The constraint to put onto the stack + + + + Pops this topmost constraint from the stack. + As a side effect, the constraint's Builder + field is set to null. + + The topmost constraint on the stack + + + + Initializes a new instance of the class. + + + + + Appends the specified operator to the expression by first + reducing the operator stack and then pushing the new + operator on the stack. + + The operator to push. + + + + Appends the specified constraint to the expression by pushing + it on the constraint stack. + + The constraint to push. + + + + Sets the top operator right context. + + The right context. + + + + Reduces the operator stack until the topmost item + precedence is greater than or equal to the target precedence. + + The target precedence. + + + + Resolves this instance, returning a Constraint. If the Builder + is not currently in a resolvable state, an exception is thrown. + + The resolved constraint + + + + Gets a value indicating whether this instance is resolvable. + + + if this instance is resolvable; otherwise, . + + + + + ConstraintExpression represents a compound constraint in the + process of being constructed from a series of syntactic elements. + + Individual elements are appended to the expression as they are + reorganized. When a constraint is appended, it is returned as the + value of the operation so that modifiers may be applied. However, + any partially built expression is attached to the constraint for + later resolution. When an operator is appended, the partial + expression is returned. If it's a self-resolving operator, then + a ResolvableConstraintExpression is returned. + + + + + The ConstraintBuilder holding the elements recognized so far + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the + class passing in a ConstraintBuilder, which may be pre-populated. + + The builder. + + + + Returns a string representation of the expression as it + currently stands. This should only be used for testing, + since it has the side-effect of resolving the expression. + + + + + + Appends an operator to the expression and returns the + resulting expression itself. + + + + + Appends a self-resolving operator to the expression and + returns a new ResolvableConstraintExpression. + + + + + Appends a constraint to the expression and returns that + constraint, which is associated with the current state + of the expression being built. Note that the constraint + is not reduced at this time. For example, if there + is a NotOperator on the stack we don't reduce and + return a NotConstraint. The original constraint must + be returned because it may support modifiers that + are yet to be applied. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if at least one of them succeeds. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them fail. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding only if a specified number of them succeed. + + + + + Returns a , which will + apply the following constraint to a collection of length one, succeeding + only if exactly one of them succeeds. + + + + + Returns a new PropertyConstraintExpression, which will either + test for the existence of the named property on the object + being tested or apply any following constraint to that property. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Length property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Count property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Message property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the InnerException property of the object being tested. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + With is currently a NOP - reserved for future use. + + + + + Returns the constraint provided as an argument - used to allow custom + custom constraints to easily participate in the syntax. + + + + + Returns the constraint provided as an argument - used to allow custom + custom constraints to easily participate in the syntax. + + + + + Returns a constraint that tests for null + + + + + Returns a constraint that tests for True + + + + + Returns a constraint that tests for False + + + + + Returns a constraint that tests for a positive value + + + + + Returns a constraint that tests for a negative value + + + + + Returns a constraint that tests if item is equal to zero + + + + + Returns a constraint that tests for NaN + + + + + Returns a constraint that tests for empty + + + + + Returns a constraint that tests whether a collection + contains all unique items. + + + + + Returns a constraint that tests whether an object graph is serializable in binary format. + + + + + Returns a constraint that tests whether an object graph is serializable in XML format. + + + + + Returns a constraint that tests two items for equality + + + + + Returns a constraint that tests that two references are the same object + + + + + Returns a constraint that tests whether the + actual value is greater than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a collection containing the same elements as the + collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a subset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a superset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether a collection is ordered + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + To search for a substring instead of a collection element, use the + overload. + + + + + + + Returns a new ContainsConstraint. This constraint + will, in turn, make use of the appropriate second-level + constraint, depending on the type of the actual argument. + + + To search for a collection element instead of a substring, use the + overload. + + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + + + Returns a new ContainsConstraint. This constraint + will, in turn, make use of the appropriate second-level + constraint, depending on the type of the actual argument. + This overload is only used if the item sought is a string, + since any other type implies that we are looking for a + collection member. + + + + + Returns a new DictionaryContainsKeyConstraint checking for the + presence of a particular key in the Dictionary key collection. + + The key to be matched in the Dictionary key collection + + + + Returns a new DictionaryContainsValueConstraint checking for the + presence of a particular value in the Dictionary value collection. + + The value to be matched in the Dictionary value collection + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that tests whether the path provided + is the same as an expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is the a subpath of the expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is the same path or under an expected path after canonicalization. + + + + + Returns a constraint that tests whether the actual value falls + inclusively within a specified range. + + Inclusive beginning of the range. + Inclusive end of the range. + + + + Returns a constraint that succeeds if the value + is a file or directory and it exists. + + + + + Returns a constraint that tests if an item is equal to any of parameters + + Expected values + + + + Returns a new IndexerConstraintExpression, which will + apply any following constraint to that indexer value. + + Index accessor values. + + + + ConstraintStatus represents the status of a ConstraintResult + returned by a Constraint being applied to an actual value. + + + + + The status has not yet been set + + + + + The constraint succeeded + + + + + The constraint failed + + + + + An error occurred in applying the constraint (reserved for future use) + + + + + Contains the result of matching a against an actual value. + + + + + Constructs a for a particular . + + The Constraint to which this result applies. + The actual value to which the Constraint was applied. + + + + Constructs a for a particular . + + The Constraint to which this result applies. + The actual value to which the Constraint was applied. + The status of the new ConstraintResult. + + + + Constructs a for a particular . + + The Constraint to which this result applies. + The actual value to which the Constraint was applied. + If true, applies a status of Success to the result, otherwise Failure. + + + + The actual value that was passed to the method. + + + + + Gets and sets the ResultStatus for this result. + + + + + True if actual value meets the Constraint criteria otherwise false. + + + + + Display friendly name of the constraint. + + + + + Description of the constraint may be affected by the state the constraint had + when was performed against the actual value. + + + + + Write the failure message to the MessageWriter provided + as an argument. The default implementation simply passes + the result and the actual value to the writer, which + then displays the constraint description and the value. + + Constraints that need to provide additional details, + such as where the error occurred, can override this. + + The MessageWriter on which to display the message + + + + Write some additional failure message. + + The MessageWriter on which to display the message + + + + Write the actual value for a failing constraint test to a + MessageWriter. The default implementation simply writes + the raw value of actual, leaving it to the writer to + perform any formatting. + + The writer on which the actual value is displayed + + + + ContainsConstraint tests a whether a string contains a substring + or a collection contains an object. It postpones the decision of + which test to use until the type of the actual argument is known. + This allows testing whether a string is contained in a collection + or as a substring of another string using the same syntax. + + + + + Initializes a new instance of the class. + + The expected value contained within the string/collection. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Flag the constraint to ignore case and return self. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + The DateTimes class contains common operations on Date and Time values. + + + + + Applies a delay to the match so that a match can be evaluated in the future. + + + + + Allows only changing the time dimension of delay interval and setting a polling interval of a DelayedConstraint + + + + + Creates a new DelayedConstraint.WithRawDelayInterval + + Parent DelayedConstraint on which delay interval dimension is required to be set + + + + Changes delay interval dimension to minutes + + + + + Changes delay interval dimension to seconds + + + + + Changes delay interval dimension to milliseconds + + + + + Set polling interval, in milliseconds + + A time interval, in milliseconds + + + + + Allows only setting the polling interval of a DelayedConstraint + + + + + Creates a new DelayedConstraint.WithDimensionedDelayInterval + + Parent DelayedConstraint on which polling interval is required to be set + + + + Set polling interval, in milliseconds + + A time interval, in milliseconds + + + + + Allows only changing the time dimension of the polling interval of a DelayedConstraint + + + + + Creates a new DelayedConstraint.WithRawPollingInterval + + Parent DelayedConstraint on which polling dimension is required to be set + + + + Changes polling interval dimension to minutes + + + + + Changes polling interval dimension to seconds + + + + + Changes polling interval dimension to milliseconds + + + + + Delay value store as an Interval object + + + + + Polling value stored as an Interval object + + + + + Creates a new DelayedConstraint + + The inner constraint to decorate + The time interval after which the match is performed + If the value of is less than 0 + + + + Creates a new DelayedConstraint + + The inner constraint to decorate + The time interval after which the match is performed, in milliseconds + The time interval used for polling, in milliseconds + If the value of is less than 0 + + + + Gets text describing a constraint + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for if the base constraint fails, false if it succeeds + + + + Test whether the constraint is satisfied by a delegate + + The delegate whose value is to be tested + A ConstraintResult + + + + Test whether the constraint is satisfied by a given reference. + Overridden to wait for the specified delay period before + calling the base constraint with the dereferenced value. + + A reference to the value to be tested + True for success, false for failure + + + + Returns the string representation of the constraint. + + + + + Adjusts a Timestamp by a given TimeSpan + + + + + + + + Returns the difference between two Timestamps as a TimeSpan + + + + + + + + DictionaryContainsKeyConstraint is used to test whether a dictionary + contains an expected object as a key. + + + + + Construct a DictionaryContainsKeyConstraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Gets the expected object + + + + + Returns a new DictionaryContainsKeyValuePairConstraint checking for the + presence of a particular key-value-pair in the dictionary. + + + + + Flag the constraint to ignore case and return self. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + + + + Test whether the expected key is contained in the dictionary + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + + + + Flag the constraint to use the supplied Comparison object. + + The Comparison object to use. + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + + + + Flag the constraint to use the supplied boolean-returning delegate. + + The supplied boolean-returning delegate to use. + + + + DictionaryContainsKeyValuePairConstraint is used to test whether a dictionary + contains an expected object as a key-value-pair. + + + + + Construct a DictionaryContainsKeyValuePairConstraint + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + + + + Test whether the expected key is contained in the dictionary + + + + + DictionaryContainsValueConstraint is used to test whether a dictionary + contains an expected object as a value. + + + + + Construct a DictionaryContainsValueConstraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Gets the expected object + + + + + Test whether the expected value is contained in the dictionary + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + + Provides a for the constraints + that are applied to each item in the collection + + + + + Constructs a for a particular + Only used for Failure + + The Constraint to which this result applies + The actual value to which the Constraint was applied + Actual item that does not match expected condition + Non matching item index + + + + Write constraint description, actual items, and non-matching item + + The MessageWriter on which to display the message + + + + EmptyCollectionConstraint tests whether a collection is empty. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Check that the collection is empty + + + + + + + EmptyConstraint tests a whether a string or collection is empty, + postponing the decision about which test is applied until the + type of the actual argument is known. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + EmptyDirectoryConstraint is used to test that a directory is empty + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + EmptyGuidConstraint tests whether a Guid is empty. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + EmptyStringConstraint tests whether a string is empty. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + EndsWithConstraint can test whether a string ends + with an expected substring. + + + + + Initializes a new instance of the class. + + The expected string + + + + Test whether the constraint is matched by the actual value. + This is a template method, which calls the IsMatch method + of the derived class. + + + + + + + EqualConstraint is able to compare an actual value with the + expected value provided in its constructor. Two objects are + considered equal if both are null, or if both have the same + value. NUnit has special semantics for some object types. + + + + + NUnitEqualityComparer used to test equality. + + + + + Initializes a new instance of the class. + + The expected value. + + + + Gets the tolerance for this comparison. + + + The tolerance. + + + + + Gets a value indicating whether to compare case insensitive. + + + if comparing case insensitive; otherwise, . + + + + + Gets a value indicating whether or not to clip strings. + + + if set to clip strings otherwise, . + + + + + Gets the failure points. + + + The failure points. + + + + + Flag the constraint to ignore case and return self. + + + + + Flag the constraint to suppress string clipping + and return self. + + + + + Flag the constraint to compare arrays as collections + and return self. + + + + + Flag the constraint to use a tolerance when determining equality. + + Tolerance value to be used + Self. + + + + Flags the constraint to include + property in comparison of two values. + + + Using this modifier does not allow to use the + constraint modifier. + + + + + Switches the .Within() modifier to interpret its tolerance as + a distance in representable values (see remarks). + + Self. + + Ulp stands for "unit in the last place" and describes the minimum + amount a given value can change. For any integers, an ulp is 1 whole + digit. For floating point values, the accuracy of which is better + for smaller numbers and worse for larger numbers, an ulp depends + on the size of the number. Using ulps for comparison of floating + point results instead of fixed tolerances is safer because it will + automatically compensate for the added inaccuracy of larger numbers. + + + + + Switches the .Within() modifier to interpret its tolerance as + a percentage that the actual values is allowed to deviate from + the expected value. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in days. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in hours. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in minutes. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in seconds. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in milliseconds. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in clock ticks. + + Self + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied boolean-returning delegate. + + The boolean-returning delegate to use. + Self. + + + + Flag the constraint to use the supplied Comparison object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + The EqualConstraintResult class is tailored for formatting + and displaying the result of an EqualConstraint. + + + + + Construct an EqualConstraintResult + + + + + Write a failure message. Overridden to provide custom + failure messages for EqualConstraint. + + The MessageWriter to write to + + + + Display the failure information for two collections that did not match. + + The MessageWriter on which to display + The expected collection. + The actual collection + The depth of this failure in a set of nested collections + + + + Displays a single line showing the types and sizes of the expected + and actual collections or arrays. If both are identical, the value is + only shown once. + + The MessageWriter on which to display + The expected collection or array + The actual collection or array + The indentation level for the message line + + + + Displays a single line showing the point in the expected and actual + arrays at which the comparison failed. If the arrays have different + structures or dimensions, both values are shown. + + The MessageWriter on which to display + The expected array + The actual array + Index of the failure point in the underlying collections + The indentation level for the message line + + + + Display the failure information for two IEnumerables that did not match. + + The MessageWriter on which to display + The expected enumeration. + The actual enumeration + The depth of this failure in a set of nested collections + + + + EqualityAdapter class handles all equality comparisons + that use an , + or a . + + + + + Compares two objects, returning true if they are equal + + + + + Returns true if the two objects can be compared by this adapter. + The base adapter cannot handle IEnumerables except for strings. + + + + + Returns an that wraps an . + + + + + that wraps an . + + + + + Returns an that wraps an . + + + + + Returns an EqualityAdapter that uses a predicate function for items comparison. + + + + + + + + + Returns true if the two objects can be compared by this adapter. + The base adapter cannot handle IEnumerables except for strings. + + + + + Compares two objects, returning true if they are equal + + + + + Returns true if the two objects can be compared by this adapter. + Generic adapter requires objects of the specified type. + + + + + Returns an that wraps an . + + + + + Returns an that wraps an . + + + + + that wraps an . + + + + + Returns an that wraps a . + + + + + ExactCountConstraint applies another constraint to each + item in a collection, succeeding only if a specified + number of items succeed. + + + + + Construct a standalone ExactCountConstraint + + + + + + Construct an ExactCountConstraint on top of an existing constraint + + + + + + + Apply the item constraint to each item in the collection, + succeeding only if the expected number of items pass. + + The value to be tested + A ConstraintResult + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Contain the result of matching a against an actual value. + + + + + The count of matched items of the + + + + + A list with maximum count (+1) of items of the + + + + + Constructs a for a . + + The Constraint to which this result applies. + The actual value to which the Constraint was applied. + If true, applies a status of Success to the result, otherwise Failure. + Count of matched items of the + A list with maximum count (+1) of items of the + + + + Write the actual value for a failing constraint test to a MessageWriter. + + The writer on which the actual value is displayed + + + + ExactTypeConstraint is used to test that an object + is of the exact type provided in the constructor + + + + + Construct an ExactTypeConstraint for a given Type + + The expected Type. + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the constraint to an actual value, returning true if it succeeds + + The actual argument + True if the constraint succeeds, otherwise false. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + ExceptionTypeConstraint is a special version of ExactTypeConstraint + used to provided detailed info about the exception thrown in + an error message. + + + + + Constructs an ExceptionTypeConstraint + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + FalseConstraint tests that the actual value is false + + + + + Initializes a new instance of the class. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + FileExistsConstraint is used to determine if a file exists + + + + + Initializes a new instance of the class. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + FileOrDirectoryExistsConstraint is used to determine if a file or directory exists + + + + + If true, the constraint will only check if files exist, not directories + + + + + If true, the constraint will only check if directories exist, not files + + + + + Initializes a new instance of the class that + will check files and directories. + + + + + Initializes a new instance of the class that + will only check files if ignoreDirectories is true. + + if set to [ignore directories]. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + Helper routines for working with floating point numbers + + + The floating point comparison code is based on this excellent article: + https://randomascii.wordpress.com/2012/02/25/comparing-floating-point-numbers-2012-edition/ + + + "ULP" means Unit in the Last Place and in the context of this library refers to + the distance between two adjacent floating point numbers. IEEE floating point + numbers can only represent a finite subset of natural numbers, with greater + accuracy for smaller numbers and lower accuracy for very large numbers. + + + If a comparison is allowed "2 ulps" of deviation, that means the values are + allowed to deviate by up to 2 adjacent floating point values, which might be + as low as 0.0000001 for small numbers or as high as 10.0 for large numbers. + + + + + Union of a floating point variable and an integer + + + The union's value as a floating point variable + + + The union's value as an integer + + + The union's value as an unsigned integer + + + Union of a double precision floating point variable and a long + + + The union's value as a double precision floating point variable + + + The union's value as a long + + + The union's value as an unsigned long + + + Compares two floating point values for equality + First floating point value to be compared + Second floating point value t be compared + + Maximum number of representable floating point values that are allowed to + be between the left and the right floating point values + + True if both numbers are equal or close to being equal + + + Floating point values can only represent a finite subset of natural numbers. + For example, the values 2.00000000 and 2.00000024 can be stored in a float, + but nothing between them. + + + This comparison will count how many possible floating point values are between + the left and the right number. If the number of possible values between both + numbers is less than or equal to maxUlps, then the numbers are considered as + being equal. + + + Implementation partially follows the code outlined here: + http://www.anttirt.net/2007/08/19/proper-floating-point-comparisons/ + + + + + Compares two double precision floating point values for equality + First double precision floating point value to be compared + Second double precision floating point value t be compared + + Maximum number of representable double precision floating point values that are + allowed to be between the left and the right double precision floating point values + + True if both numbers are equal or close to being equal + + + Double precision floating point values can only represent a limited series of + natural numbers. For example, the values 2.0000000000000000 and 2.0000000000000004 + can be stored in a double, but nothing between them. + + + This comparison will count how many possible double precision floating point + values are between the left and the right number. If the number of possible + values between both numbers is less than or equal to maxUlps, then the numbers + are considered as being equal. + + + Implementation partially follows the code outlined here: + http://www.anttirt.net/2007/08/19/proper-floating-point-comparisons/ + + + + + + Tests whether a value is greater than the value supplied to its constructor + + + + + Initializes a new instance of the class. + + The expected value. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Perform the comparison + + + + + Tests whether a value is greater than or equal to the value supplied to its constructor + + + + + Initializes a new instance of the class. + + The expected value. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Perform the comparison + + + + + Interface for all constraints + + + + + The display name of this Constraint for use by ToString(). + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Arguments provided to this Constraint, for use in + formatting the description. + + + + + The ConstraintBuilder holding this constraint + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + Applies the constraint to an ActualValueDelegate that returns + the value to be tested. The default implementation simply evaluates + the delegate but derived classes may override it to provide for + delayed processing. + + An ActualValueDelegate + A ConstraintResult + + + + Test whether the constraint is satisfied by a given reference. + The default implementation simply dereferences the value but + derived classes may override it to provide for delayed processing. + + A reference to the value to be tested + A ConstraintResult + + + + IndexerConstraint extracts a named property and uses + its value as the actual value for a chained constraint. + + + + + Initializes a new instance of the class. + + The argument list for the indexer. + The constraint to apply to the indexer. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + + + + Returns the string representation of the constraint. + + + + + InstanceOfTypeConstraint is used to test that an object + is of the same type provided or derived from it. + + + + + Construct an InstanceOfTypeConstraint for the type provided + + The expected Type + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the constraint to an actual value, returning true if it succeeds + + The actual argument + True if the constraint succeeds, otherwise false. + + + + Keeps track of an interval time which can be represented in + Minutes, Seconds or Milliseconds + + + + + Constructs a interval given an value in milliseconds + + + + + Gets Interval value represented as a TimeSpan object + + + + + Returns the interval with the current value as a number of minutes. + + + + + Returns the interval with the current value as a number of seconds. + + + + + Returns the interval with the current value as a number of milliseconds. + + + + + Is true for intervals created with a non-zero value + + + + + Returns a string that represents the current object. + + + A string that represents the current object. + + + + + IntervalUnit provides the semantics to the value stored in Interval class. + + + + + Unit representing an Interval in minutes + + + + + Unit representing an Interval in seconds + + + + + Unit representing an Interval in milliseconds + + + + + The IResolveConstraint interface is implemented by all + complete and resolvable constraints and expressions. + + + + + Return the top-level constraint for this expression + + + + + + An extension of ResolvableConstraintExpression that adds a no-op Items property for readability. + + + + + Create a new instance of ItemsConstraintExpression + + + + + Create a new instance of ResolvableConstraintExpression, + passing in a pre-populated ConstraintBuilder. + + + + + + No-op property for readability. + + + + + Tests whether a value is less than the value supplied to its constructor + + + + + Initializes a new instance of the class. + + The expected value. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Perform the comparison + + + + + Tests whether a value is less than or equal to the value supplied to its constructor + + + + + Initializes a new instance of the class. + + The expected value. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Perform the comparison + + + + + MessageWriter is the abstract base for classes that write + constraint descriptions and messages in some form. The + class has separate methods for writing various components + of a message, allowing implementations to tailor the + presentation as needed. + + + + + Construct a MessageWriter given a culture + + + + + Abstract method to get the max line length + + + + + Method to write single line message with optional args, usually + written to precede the general failure message. + + The message to be written + Any arguments used in formatting the message + + + + Method to write single line message with optional args, usually + written to precede the general failure message, at a given + indentation level. + + The indentation level of the message + The message to be written + Any arguments used in formatting the message + + + + Display Expected and Actual lines for a constraint. This + is called by MessageWriter's default implementation of + WriteMessageTo and provides the generic two-line display. + + The failing constraint result + + + + Display Expected and Actual lines for given values. This + method may be called by constraints that need more control over + the display of actual and expected values than is provided + by the default implementation. + + The expected value + The actual value causing the failure + + + + Display Expected and Actual lines for given values, including + a tolerance value on the Expected line. + + The expected value + The actual value causing the failure + The tolerance within which the test was made + + + + Display the expected and actual string values on separate lines. + If the mismatch parameter is >=0, an additional line is displayed + line containing a caret that points to the mismatch point. + + The expected string value + The actual string value + The point at which the strings don't match or -1 + If true, case is ignored in locating the point where the strings differ + If true, the strings should be clipped to fit the line + + + + Writes the text for an actual value. + + The actual value. + + + + Writes the text for a generalized value. + + The value. + + + + Writes the text for a collection value, + starting at a particular point, to a max length + + The collection containing elements to write. + The starting point of the elements to write + The maximum number of elements to write + + + + Custom value formatter function + + The value + + + + + Custom value formatter factory function + + The next formatter function + ValueFormatter + If the given formatter is unable to handle a certain format, it must call the next formatter in the chain + + + + Static methods used in creating messages + + + + + Default amount of items used by method. + + + + + Static string used when strings are clipped + + + + + Formatting strings used for expected and actual values + + + + + Current head of chain of value formatters. Public for testing. + + + + + Add a formatter to the chain of responsibility. + + + + + + Formats text to represent a generalized value. + + The value + The formatted text + + + + Formats text for a collection value, + starting at a particular point, to a max length + + The collection containing elements to write. + The starting point of the elements to write + The maximum number of elements to write + + + + Returns the representation of a type as used in NUnitLite. + This is the same as Type.ToString() except for arrays, + which are displayed with their declared sizes. + + + + + + + Converts any control characters in a string + to their escaped representation. + + The string to be converted + The converted string + + + + Converts any null characters in a string + to their escaped representation. + + The string to be converted + The converted string + + + + Return the a string representation for a set of indices into an array + + Array of indices for which a string is needed + + + + Get an array of indices representing the point in a collection or + array corresponding to a single int index into the collection. + + The collection to which the indices apply + Index in the collection + Array of indices + + + + Clip a string to a given length, starting at a particular offset, returning the clipped + string with ellipses representing the removed parts + + The string to be clipped + The maximum permitted length of the result string + The point at which to start clipping + The clipped string + + + + Clip the expected and actual strings in a coordinated fashion, + so that they may be displayed together. + + + + + + + + + Shows the position two strings start to differ. Comparison + starts at the start index. + + The expected string + The actual string + The index in the strings at which comparison should start + Boolean indicating whether case should be ignored + -1 if no mismatch found, or the index where mismatch found + + + + NaNConstraint tests that the actual value is a double or float NaN + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test that the actual value is an NaN + + + + + + + NoItemConstraint applies another constraint to each + item in a collection, failing if any of them succeeds. + + + + + Construct a SomeItemsConstraint on top of an existing constraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the item constraint to each item in the collection, + failing if any item fails. + + + + + + + NotConstraint negates the effect of some other constraint + + + + + Initializes a new instance of the class. + + The base constraint to be negated. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for if the base constraint fails, false if it succeeds + + + + NullConstraint tests that the actual value is null + + + + + Initializes a new instance of the class. + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + The Numerics class contains common operations on numeric values. + + + + + Checks the type of the object, returning true if + the object is a numeric type. + + The object to check + true if the object is a numeric type + + + + Checks the type of the object, returning true if + the object is a floating point numeric type. + + The object to check + true if the object is a floating point numeric type + + + + Checks the type of the object, returning true if + the object is a fixed point numeric type. + + The object to check + true if the object is a fixed point numeric type + + + + Test two numeric values for equality, performing the usual numeric + conversions and using a provided or default tolerance. If the tolerance + provided is Empty, this method may set it to a default tolerance. + + The expected value + The actual value + A reference to the tolerance in effect + True if the values are equal + + + + Compare two numeric values, performing the usual numeric conversions. + + The expected value + The actual value + The relationship of the values to each other + + + + Calculates the difference between 2 values in absolute/percent mode. + + The expected value + The actual value + Tolerance mode to specify difference representation + The difference between the values + + + + NUnitComparer encapsulates NUnit's default behavior + in comparing two objects. + + + + + Returns the default NUnitComparer. + + + + + Compares two objects + + + + + + + + NUnitEqualityComparer encapsulates NUnit's handling of + equality tests between objects. + + + + + If true, all string comparisons will ignore case + + + + + If true, arrays will be treated as collections, allowing + those of different dimensions to be compared + + + + + Comparison objects used in comparisons for some constraints. + + + + + List of points at which a failure occurred. + + + + + List of comparers used to compare pairs of objects. + + + + + Initializes a new instance of the class. + + + + + Returns the default NUnitEqualityComparer + + + + + Gets and sets a flag indicating whether case should + be ignored in determining equality. + + + + + Gets and sets a flag indicating that arrays should be + compared as collections, without regard to their shape. + + + + + Gets the list of external comparers to be used to + test for equality. They are applied to members of + collections, in place of NUnit's own logic. + + + + + Gets the list of failure points for the last Match performed. + The list consists of objects to be interpreted by the caller. + This generally means that the caller may only make use of + objects it has placed on the list at a particular depth. + + + + + Flags the comparer to include + property in comparison of two values. + + + Using this modifier does not allow to use the + modifier. + + + + + Compares two objects for equality within a tolerance. + + + + + Compares two objects for equality within a tolerance. + + + + + FailurePoint class represents one point of failure + in an equality test. + + + + + The location of the failure + + + + + The expected value + + + + + The actual value + + + + + Indicates whether the expected value is valid + + + + + Indicates whether the actual value is valid + + + + + Represents a constraint that succeeds if all the + members of a collection match a base constraint. + + + + + Returns a constraint that will apply the argument + to the members of a collection, succeeding if + they all succeed. + + + + + Operator that requires both its arguments to succeed + + + + + Construct an AndOperator + + + + + Apply the operator to produce an AndConstraint + + + + + Operator that tests for the presence of a particular attribute + on a type and optionally applies further tests to the attribute. + + + + + Construct an AttributeOperator for a particular Type + + The Type of attribute tested + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + Abstract base class for all binary operators + + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + + Gets the left precedence of the operator + + + + + Gets the right precedence of the operator + + + + + Abstract method that produces a constraint by applying + the operator to its left and right constraint arguments. + + + + + Abstract base for operators that indicate how to + apply a constraint to items in a collection. + + + + + Constructs a CollectionOperator + + + + + The ConstraintOperator class is used internally by a + ConstraintBuilder to represent an operator that + modifies or combines constraints. + + Constraint operators use left and right precedence + values to determine whether the top operator on the + stack should be reduced before pushing a new operator. + + + + + The precedence value used when the operator + is about to be pushed to the stack. + + + + + The precedence value used when the operator + is on the top of the stack. + + + + + The syntax element preceding this operator + + + + + The syntax element following this operator + + + + + The precedence value used when the operator + is about to be pushed to the stack. + + + + + The precedence value used when the operator + is on the top of the stack. + + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + + Represents a constraint that succeeds if the specified + count of members of a collection match a base constraint. + + + + + Construct an ExactCountOperator for a specified count + + The expected count + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + + Operator used to test for the presence of a Indexer + on an object and optionally apply further tests to the + value of that indexer. + + + + + Constructs a IndexerOperator for a particular set of indexer + parameters + + + + + Returns a IndexerConstraint applied to its argument. + + + + + Represents a constraint that succeeds if none of the + members of a collection match a base constraint. + + + + + Returns a constraint that will apply the argument + to the members of a collection, succeeding if + none of them succeed. + + + + + Negates the test of the constraint it wraps. + + + + + Constructs a new NotOperator + + + + + Returns a NotConstraint applied to its argument. + + + + + Operator that requires at least one of its arguments to succeed + + + + + Construct an OrOperator + + + + + Apply the operator to produce an OrConstraint + + + + + PrefixOperator takes a single constraint and modifies + its action in some way. + + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + + Returns the constraint created by applying this + prefix to another constraint. + + + + + + + Operator used to test for the presence of a named Property + on an object and optionally apply further tests to the + value of that property. + + + + + Gets the name of the property to which the operator applies + + + + + Constructs a PropOperator for a particular named property + + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + + Abstract base class for operators that are able to reduce to a + constraint whether or not another syntactic element follows. + + + + + Represents a constraint that succeeds if any of the + members of a collection match a base constraint. + + + + + Returns a constraint that will apply the argument + to the members of a collection, succeeding if + any of them succeed. + + + + + Operator that tests that an exception is thrown and + optionally applies further tests to the exception. + + + + + Construct a ThrowsOperator + + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + Represents a constraint that simply wraps the + constraint provided as an argument, without any + further functionality, but which modifies the + order of evaluation because of its precedence. + + + + + Constructor for the WithOperator + + + + + Returns a constraint that wraps its argument + + + + + OrConstraint succeeds if either member succeeds + + + + + Create an OrConstraint from two other constraints + + The first constraint + The second constraint + + + + Gets text describing a constraint + + + + + Apply the member constraints to an actual value, succeeding + succeeding as soon as one of them succeeds. + + The actual value + True if either constraint succeeded + + + + PathConstraint serves as the abstract base of constraints + that operate on paths and provides several helper methods. + + + + + Construct a PathConstraint for a give expected path + + The expected path + + + + Modifies the current instance to be case-sensitive + and returns it. + + + + + Returns the string representation of this constraint + + + + + Canonicalize the provided path + + + The path in standardized form + + + + Test whether one path in canonical form is a subpath of another path + + The first path - supposed to be the parent path + The second path - supposed to be the child path + + + + + Predicate constraint wraps a Predicate in a constraint, + returning success if the predicate is true. + + + + + Construct a PredicateConstraint from a predicate + + + + + Gets text describing a constraint + + + + + Determines whether the predicate succeeds when applied + to the actual value. + + + + + Abstract base class used for prefixes + + + + + The base constraint + + + + + Prefix used in forming the constraint description + + + + + Construct given a base constraint + + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Formats a prefix constraint's description. + + + + + PropertyConstraint extracts a named property and uses + its value as the actual value for a chained constraint. + + + + + Initializes a new instance of the class. + + The name. + The constraint to apply to the property. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + + + + Returns the string representation of the constraint. + + + + + Contains the result of matching a against an actual value. + + + + + Constructs a for a particular . + + The Constraint to which this result applies. + The base result with actual value to which the Constraint was applied. + + + + Write the additional failure message for a failing constraint to a + MessageWriter. + + The writer on which the actual value is displayed + + + + PropertyExistsConstraint tests that a named property + exists on the object provided through Match. + + Originally, PropertyConstraint provided this feature + in addition to making optional tests on the value + of the property. The two constraints are now separate. + + + + + Initializes a new instance of the class. + + The name of the property. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the property exists for a given object + + The object to be tested + True for success, false for failure + + + + Returns the string representation of the constraint. + + + + + + RangeConstraint tests whether two values are within a + specified range. + + + + + Initializes a new instance of the class. + + Inclusive beginning of the range. + Inclusive end of the range. + + + + Gets text describing a constraint + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Modifies the constraint to use an and returns self. + + + + + Modifies the constraint to use an and returns self. + + + + + Modifies the constraint to use a and returns self. + + + + + RegexConstraint can test whether a string matches + the pattern provided. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Initializes a new instance of the class. + + The pattern. + + + + Initializes a new instance of the class. + + The Regex pattern object. + + + + Modify the constraint to ignore case in matching. + + + + + Applies the regex constraint to an actual value, returning a ConstraintResult. + + The string to be tested. + True for success, false for failure. + + + + ResolvableConstraintExpression is used to represent a compound + constraint being constructed at a point where the last operator + may either terminate the expression or may have additional + qualifying constraints added to it. + + It is used, for example, for a Property element or for + an Exception element, either of which may be optionally + followed by constraints that apply to the property or + exception. + + + + + Create a new instance of ResolvableConstraintExpression + + + + + Create a new instance of ResolvableConstraintExpression, + passing in a pre-populated ConstraintBuilder. + + + + + Appends an And Operator to the expression + + + + + Appends an Or operator to the expression. + + + + + Resolve the current expression to a Constraint + + + + + ReusableConstraint wraps a constraint expression after + resolving it so that it can be reused consistently. + + + + + Construct a ReusableConstraint from a constraint expression + + The expression to be resolved and reused + + + + Converts a constraint to a ReusableConstraint + + The constraint to be converted + A ReusableConstraint + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Return the top-level constraint for this expression + + + + + + SameAsConstraint tests whether an object is identical to + the object passed to its constructor + + + + + Initializes a new instance of the class. + + The expected object. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Summary description for SamePathConstraint. + + + + + Initializes a new instance of the class. + + The expected path + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + SamePathOrUnderConstraint tests that one path is under another + + + + + Initializes a new instance of the class. + + The expected path + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + SomeItemsConstraint applies another constraint to each + item in a collection, succeeding if any of them succeeds. + + + + + Construct a SomeItemsConstraint on top of an existing constraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the item constraint to each item in the collection, + succeeding if any item succeeds. + + + + + + + Flag the constraint to use the supplied object. + + The type of the elements in the collection. + The type of the member. + The comparison function to use. + Self. + + + + Flag the constraint to use the supplied object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied object. + + The IComparer object to use. + Self. + + + + StartsWithConstraint can test whether a string starts + with an expected substring. + + + + + Initializes a new instance of the class. + + The expected string + + + + Test whether the constraint is matched by the actual value. + This is a template method, which calls the IsMatch method + of the derived class. + + + + + + + StringConstraint is the abstract base for constraints + that operate on strings. It supports the IgnoreCase + modifier for string operations. + + + + + The expected value + + + + + Indicates whether tests should be case-insensitive + + + + + Description of this constraint + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Constructs a StringConstraint without an expected value + + + + + Constructs a StringConstraint given an expected value + + The expected value + + + + Modify the constraint to ignore case in matching. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Test whether the constraint is satisfied by a given string + + The string to be tested + True for success, false for failure + + + + SubPathConstraint tests that the actual path is under the expected path + + + + + Initializes a new instance of the class. + + The expected path + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + SubstringConstraint can test whether a string contains + the expected substring. + + + + + Initializes a new instance of the class. + + The expected. + + + + Modify the constraint to ignore case in matching. + This will call Using(StringComparison.CurrentCultureIgnoreCase). + + Thrown when a comparison type different + than was already set. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Modify the constraint to the specified comparison. + + Thrown when a comparison type different + than was already set. + + + + ThrowsConstraint is used to test the exception thrown by + a delegate by applying a constraint to it. + + + + + Initializes a new instance of the class, + using a constraint to be applied to the exception. + + A constraint to apply to the caught exception. + + + + Get the actual exception thrown - used by Assert.Throws. + + + + + Gets text describing a constraint + + + + + Executes the code of the delegate and captures any exception. + If a non-null base constraint was provided, it applies that + constraint to the exception. + + A delegate representing the code to be tested + True if an exception is thrown and the constraint succeeds, otherwise false + + + + Converts an ActualValueDelegate to a TestDelegate + before calling the primary overload. + + + + + + + Write the actual value for a failing constraint test to a + MessageWriter. This override only handles the special message + used when an exception is expected but none is thrown. + + The writer on which the actual value is displayed + + + + ThrowsExceptionConstraint tests that an exception has + been thrown, without any further tests. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Executes the code and returns success if an exception is thrown. + + A delegate representing the code to be tested + True if an exception is thrown, otherwise false + + + + Applies the constraint to an ActualValueDelegate that returns + the value to be tested. The default implementation simply evaluates + the delegate but derived classes may override it to provide for + delayed processing. + + + + + ThrowsNothingConstraint tests that a delegate does not + throw an exception. + + + + + Gets text describing a constraint + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True if no exception is thrown, otherwise false + + + + Applies the constraint to an ActualValueDelegate that returns + the value to be tested. The default implementation simply evaluates + the delegate but derived classes may override it to provide for + delayed processing. + + An ActualValueDelegate + A ConstraintResult + + + + The Tolerance class generalizes the notion of a tolerance + within which an equality test succeeds. Normally, it is + used with numeric types, but it can be used with any + type that supports taking a difference between two + objects and comparing that difference to a value. + + + + + Returns a default Tolerance object, equivalent to an exact match. + + + + + Returns an empty Tolerance object, equivalent to an exact match. + + + + + Constructs a linear tolerance of a specified amount + + + + + Constructs a tolerance given an amount and + + + + + Returns a new tolerance, using the current amount as a percentage. + + + + + Returns a new tolerance, using the current amount in Ulps + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of days. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of hours. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of minutes. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of seconds. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of milliseconds. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of clock ticks. + + + + + Gets the for the current Tolerance + + + + + Gets the magnitude of the current Tolerance instance. + + + + + Returns true if the current tolerance has not been set or is using the . + + + + + Apply the tolerance to an expected value and return + a Tolerance.Range that represents the acceptable values. + + + + + Tests that the current Tolerance is linear with a + numeric value, throwing an exception if it is not. + + + + + Tolerance.Range represents the range of values that match + a specific tolerance, when applied to a specific value. + + + + + The lower bound of the range + + + + + The upper bound of the range + + + + + Constructs a range + + + + + Modes in which the tolerance value for a comparison can be interpreted. + + + + + The tolerance was created with a value, without specifying + how the value would be used. This is used to prevent setting + the mode more than once and is generally changed to Linear + upon execution of the test. + + + + + The tolerance is used as a numeric range within which + two compared values are considered to be equal. + + + + + Interprets the tolerance as the percentage by which + the two compared values my deviate from each other. + + + + + Compares two values based in their distance in + representable numbers. + + + + + TrueConstraint tests that the actual value is true + + + + + Initializes a new instance of the class. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + TypeConstraint is the abstract base for constraints + that take a Type as their expected value. + + + + + The expected Type used by the constraint + + + + + The type of the actual argument to which the constraint was applied + + + + + Construct a TypeConstraint for a given Type + + The expected type for the constraint + Prefix used in forming the constraint description + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + Apply the constraint to an actual value, returning true if it succeeds + + The actual argument + True if the constraint succeeds, otherwise false. + + + + UniqueItemsConstraint tests whether all the items in a + collection are unique. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Check that all items are unique. + + + + + + + + + + XmlSerializableConstraint tests whether + an object is serializable in XML format. + + + + + Gets text describing a constraint + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Returns the string representation of this constraint + + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + + + Returns a new DictionaryContainsKeyConstraint checking for the + presence of a particular key in the dictionary. + + + + + Returns a new DictionaryContainsValueConstraint checking for the + presence of a particular value in the dictionary. + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Asserts on Directories + + + + + DO NOT USE! Use DirectoryAssert.AreEqual(...) instead. + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + Verifies that two directories are equal. Two directories are considered + equal if both are null, or if both point to the same directory. + If they are not equal an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + The message to display if the directories are not equal + Arguments to be used in formatting the message + + + + Verifies that two directories are equal. Two directories are considered + equal if both are null, or if both point to the same directory. + If they are not equal an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + + + + Asserts that two directories are not equal. If they are equal + an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that two directories are not equal. If they are equal + an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + + + + Asserts that the directory exists. If it does not exist + an is thrown. + + A directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that the directory exists. If it does not exist + an is thrown. + + A directory containing the actual value + + + + Asserts that the directory exists. If it does not exist + an is thrown. + + The path to a directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that the directory exists. If it does not exist + an is thrown. + + The path to a directory containing the actual value + + + + Asserts that the directory does not exist. If it does exist + an is thrown. + + A directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that the directory does not exist. If it does exist + an is thrown. + + A directory containing the actual value + + + + Asserts that the directory does not exist. If it does exist + an is thrown. + + The path to a directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that the directory does not exist. If it does exist + an is thrown. + + The path to a directory containing the actual value + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a constraint that succeeds if the value + is a file or directory and it exists. + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + + + Returns a new . This constraint + will, in turn, make use of the appropriate second-level + constraint, depending on the type of the actual argument. + This overload is only used if the item sought is a string, + since any other type implies that we are looking for a + collection member. + + + + + Returns a new DictionaryContainsKeyConstraint checking for the + presence of a particular key in the Dictionary key collection. + + The key to be matched in the Dictionary key collection + + + + Returns a new DictionaryContainsValueConstraint checking for the + presence of a particular value in the Dictionary value collection. + + The value to be matched in the Dictionary value collection + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + If throws, returns "SomeException was thrown by the Exception.StackTrace + property." See also . + + + + + If throws, returns "SomeException was thrown by the Exception.Message + property." + + + + + If throws, returns "SomeException was thrown by the Exception.Data property." + + + + + Thrown when an assertion failed. + + + + The error message that explains + the reason for the exception + + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + Serialization Constructor + + + + + Gets the ResultState provided by this exception + + + + + Thrown when an assertion failed. + + + + + + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + Serialization Constructor + + + + + Gets the ResultState provided by this exception + + + + + Thrown when a test executes inconclusively. + + + + The error message that explains + the reason for the exception + + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + Serialization Constructor + + + + + Gets the ResultState provided by this exception + + + + + Thrown when an assertion failed. + + + + + Construct based on the TestResult so far. This is the constructor + used normally, when exiting the multiple assert block with failures. + Not used internally but provided to facilitate debugging. + + + The current result, up to this point. The result is not used + internally by NUnit but is provided to facilitate debugging. + + + + + Serialization Constructor + + + + + Gets the provided by this exception. + + + + + Gets the of this test at the point the exception was thrown, + + + + + Abstract base for Exceptions that terminate a test and provide a ResultState. + + + + The error message that explains + the reason for the exception + + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + Serialization Constructor + + + + + Gets the ResultState provided by this exception + + + + + Thrown when an assertion failed. + + + + + + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + Serialization Constructor + + + + + Gets the ResultState provided by this exception + + + + + Contains extension methods that do not require a special using directive. + + + + + Asserts on Files + + + + + DO NOT USE! Use FileAssert.AreEqual(...) instead. + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + Verifies that two Streams are equal. Two Streams are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The expected Stream + The actual Stream + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Verifies that two Streams are equal. Two Streams are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The expected Stream + The actual Stream + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + A file containing the value that is expected + A file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + A file containing the value that is expected + A file containing the actual value + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + + + + Asserts that two Streams are not equal. If they are equal + an is thrown. + + The expected Stream + The actual Stream + The message to be displayed when the two Stream are the same. + Arguments to be used in formatting the message + + + + Asserts that two Streams are not equal. If they are equal + an is thrown. + + The expected Stream + The actual Stream + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + A file containing the value that is expected + A file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + A file containing the value that is expected + A file containing the actual value + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + + + + Asserts that the file exists. If it does not exist + an is thrown. + + A file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that the file exists. If it does not exist + an is thrown. + + A file containing the actual value + + + + Asserts that the file exists. If it does not exist + an is thrown. + + The path to a file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that the file exists. If it does not exist + an is thrown. + + The path to a file containing the actual value + + + + Asserts that the file does not exist. If it does exist + an is thrown. + + A file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that the file does not exist. If it does exist + an is thrown. + + A file containing the actual value + + + + Asserts that the file does not exist. If it does exist + an is thrown. + + The path to a file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that the file does not exist. If it does exist + an is thrown. + + The path to a file containing the actual value + + + + Class used to guard against unexpected argument values + or operations by throwing an appropriate exception. + + + + + Throws an exception if an argument is null + + The value to be tested + The name of the argument + + + + Throws an exception if a string argument is null or empty + + The value to be tested + The name of the argument + + + + Throws an ArgumentOutOfRangeException if the specified condition is not met. + + The condition that must be met + The exception message to be used + The name of the argument + + + + Throws an ArgumentException if the specified condition is not met. + + The condition that must be met + The exception message to be used + The name of the argument + + + + Throws an InvalidOperationException if the specified condition is not met. + + The condition that must be met + The exception message to be used + + + + Throws an if the specified delegate is async void. + + + + + Throws an if the specified delegate is async void. + + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if at least one of them succeeds. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them fail. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding only if a specified number of them succeed. + + + + + Returns a which will apply + the following constraint to only one member of the collection, + and fail if none or more than one match occurs. + + + + + Returns a new PropertyConstraintExpression, which will either + test for the existence of the named property on the object + being tested or apply any following constraint to that property. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Length property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Count property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Message property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the InnerException property of the object being tested. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + + + Returns a new IndexerConstraintExpression, which will + apply any following constraint to that indexer value. + + Index accessor values. + + + + The AssertionResult class represents the result of a single assertion. + + + + + Construct an AssertionResult + + + + The pass/fail status of the assertion + + + The message produced by the assertion, or null + + + The stack trace associated with the assertion, or null + + + Determines whether the specified object is equal to the current object. + The object to compare with the current object. + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + + + Serves as the default hash function. + + + + ToString Override + + + + + AssertionStatus enumeration represents the possible outcomes of an assertion. + The order of definition is significant, higher level values override lower + ones in determining the overall result of a test. + + + + + An assumption failed + + + + + The assertion succeeded + + + + + A warning message was issued + + + + + The assertion failed + + + + + An unexpected exception was thrown + + + + + The IApplyToContext interface is implemented by attributes + that want to make changes to the execution context before + a test is run. + + + + + Apply changes to the execution context + + The execution context + + + + The IApplyToTest interface is implemented by self-applying + attributes that modify the state of a test in some way. + + + + + Modifies a test as defined for the specific attribute. + + The test to modify + + + + CombiningStrategy is the abstract base for classes that + know how to combine values provided for individual test + parameters to create a set of test cases. + + + + + Gets the test cases generated by the CombiningStrategy. + + The test cases. + + + + ICommandWrapper is implemented by attributes and other + objects able to wrap a TestCommand with another command. + + + Attributes or other objects should implement one of the + derived interfaces, rather than this one, since they + indicate in which part of the command chain the wrapper + should be applied. + + + + + Wrap a command and return the result. + + The command to be wrapped + The wrapped command + + + + Objects implementing this interface are used to wrap + the TestMethodCommand itself. They apply after SetUp + has been run and before TearDown. + + + + + Objects implementing this interface are used to wrap + the entire test, including SetUp and TearDown. + + + + + Objects implementing this interface are used to wrap + tests that can repeat. The implementing command is run once, + invoking the chained commands any number of times. + + + + + Any ITest that implements this interface is at a level that the implementing + class should be disposed at the end of the test run + + + + + The IFixtureBuilder interface is exposed by a class that knows how to + build test fixtures from a specified type. In general, it is exposed + by an attribute, but it may be implemented in a helper class used by the + attribute in some cases. + + + + + Builds any number of test fixtures from the specified type. + + The type info of the fixture to be used. + + + + The IFixtureBuilder2 interface extends IFixtureBuilder by allowing + use of a PreFilter, which is used to select methods as test cases. + + + + + Builds any number of test fixtures from the specified type. + + The type info of the fixture to be used. + PreFilter to be used to select methods. + + + + IImplyFixture is an empty marker interface used by attributes like + TestAttribute that cause the class where they are used to be treated + as a TestFixture even without a TestFixtureAttribute. + + Marker interfaces are not usually considered a good practice, but + we use it here to avoid cluttering the attribute hierarchy with + classes that don't contain any extra implementation. + + + + + The IMethodInfo class is used to encapsulate information + about a method in a platform-independent manner. + + + + + Gets the Type from which this method was reflected. + + + + + Gets the MethodInfo for this method. + + + + + Gets the name of the method. + + + + + Gets a value indicating whether the method is abstract. + + + + + Gets a value indicating whether the method is public. + + + + + Gets a value indicating whether the method is static. + + + + + Gets a value indicating whether the method contains unassigned generic type parameters. + + + + + Gets a value indicating whether the method is a generic method. + + + + + Gets a value indicating whether the MethodInfo represents the definition of a generic method. + + + + + Gets the return Type of the method. + + + + + Gets the parameters of the method. + + + + + + Returns the Type arguments of a generic method or the Type parameters of a generic method definition. + + + + + Replaces the type parameters of the method with the array of types provided and returns a new IMethodInfo. + + The type arguments to be used + A new IMethodInfo with the type arguments replaced + + + + Invokes the method, converting any TargetInvocationException to an NUnitException. + + The object on which to invoke the method + The argument list for the method + The return value from the invoked method + + + + Provides data for a single test parameter. + + + + + Determines whether any data is available for a parameter. + + The parameter of a parameterized test. + + + + Retrieves a list of arguments which can be passed to the specified parameter. + + The parameter of a parameterized test. + + + + Provides data for a single test parameter. + + + + + Retrieves a list of arguments which can be passed to the specified parameter. + + The parameter of a parameterized test. + + + + The IParameterInfo interface is an abstraction of a .NET parameter. + + + + + Gets a value indicating whether the parameter is optional + + + + + Gets an IMethodInfo representing the method for which this is a parameter + + + + + Gets the underlying .NET ParameterInfo + + + + + Gets the Type of the parameter + + + + + Implemented by filters for use in deciding which + Types and Methods should be used to generate tests. + + + + + Use the filter on a Type, returning true if the type matches the filter + and should therefore be included in the discovery process. + + + + + Use the filter on a Type, returning true if the type matches the filter + and should therefore be included in the discovery process. + + + + + A PropertyBag represents a collection of name/value pairs + that allows duplicate entries with the same key. Methods + are provided for adding a new pair as well as for setting + a key to a single value. All keys are strings but values + may be of any type. Null values are not permitted, since + a null entry represents the absence of the key. + + The entries in a PropertyBag are of two kinds: those that + take a single value and those that take multiple values. + However, the PropertyBag has no knowledge of which entries + fall into each category and the distinction is entirely + up to the code using the PropertyBag. + + When working with multi-valued properties, client code + should use the Add method to add name/value pairs and + indexing to retrieve a list of all values for a given + key. For example: + + bag.Add("Tag", "one"); + bag.Add("Tag", "two"); + Assert.That(bag["Tag"], + Is.EqualTo(new string[] { "one", "two" })); + + When working with single-valued properties, client code + should use the Set method to set the value and Get to + retrieve the value. The GetSetting methods may also be + used to retrieve the value in a type-safe manner while + also providing default. For example: + + bag.Set("Priority", "low"); + bag.Set("Priority", "high"); // replaces value + Assert.That(bag.Get("Priority"), + Is.EqualTo("high")); + Assert.That(bag.GetSetting("Priority", "low"), + Is.EqualTo("high")); + + + + + Adds a key/value pair to the property bag + + The key + The value + + + + Sets the value for a key, removing any other + values that are already in the property set. + + + + + + + Gets a single value for a key, using the first + one if multiple values are present and returning + null if the value is not found. + + + + + Gets a flag indicating whether the specified key has + any entries in the property set. + + The key to be checked + True if their are values present, otherwise false + + + + Gets or sets the list of values for a particular key + + The key for which the values are to be retrieved or set + + + + Gets a collection containing all the keys in the property set + + + + + The IReflectionInfo interface is implemented by NUnit wrapper objects that perform reflection. + + + + + Returns an array of custom attributes of the specified type applied to this object + + + + + Returns a value indicating whether an attribute of the specified type is defined on this object. + + + + + The ISimpleTestBuilder interface is exposed by a class that knows how to + build a single tests from a specified method. In general, + it is exposed by an attribute, but it may be implemented in a helper class + used by the attribute in some cases. + + + + + Builds a single test from the specified method and context. + + The method to be used as a test + The TestSuite to which the method will be added + + + + The ISuiteBuilder interface is exposed by a class that knows how to + build a single test suite from a specified type. + + + + + Examine the type and determine if it is suitable for + this builder to use in building a TestSuite. + + Note that returning false will cause the type to be ignored + in loading the tests. If it is desired to load the suite + but label it as non-runnable, ignored, etc., then this + method must return true. + + The type of the fixture to be used + + + + Builds a single test suite from the specified type. + + The type of the fixture to be used + + + + Builds a single test suite from the specified type, subject + to a filter that decides which methods are included. + + The type of the fixture to be used + A PreFilter for selecting methods. + + + + Common interface supported by all representations + of a test. Only includes informational fields. + The Run method is specifically excluded to allow + for data-only representations of a test. + + + + + Gets the id of the test + + + + + Gets the name of the test + + + + + Gets the type of the test + + + + + Gets the fully qualified name of the test + + + + + Gets the name of the class containing this test. Returns + null if the test is not associated with a class. + + + + + Gets the name of the method implementing this test. + Returns null if the test is not implemented as a method. + + + + + Gets the Type of the test fixture, if applicable, or + null if no fixture type is associated with this test. + + + + + Gets the method which declares the test, or + if no method is associated with this test. + + + + + Gets the RunState of the test, indicating whether it can be run. + + + + + Count of the test cases ( 1 if this is a test case ) + + + + + Gets the properties of the test + + + + + Gets the parent test, if any. + + The parent test or null if none exists. + + + + Returns true if this is a test suite + + + + + Gets a bool indicating whether the current test + has any descendant tests. + + + + + Gets this test's child tests + + A list of child tests + + + + Gets a fixture object for running this test. + + + + + The arguments to use in creating the test or empty array if none are required. + + + + + The ITestBuilder interface is exposed by a class that knows how to + build tests from a specified method. In general, it is exposed + by an attribute which has additional information available to provide + the necessary test parameters to distinguish the test cases built. + + + + + Builds any number of tests from the specified method and context. + + The method to be used as a test + The TestSuite to which the method will be added + + + + The ITestCaseBuilder interface is exposed by a class that knows how to + build a test from a specified method, possibly containing child test cases. + + + + + Examine the method and determine if it is suitable for + this builder to use in building a TestCase to be + included in the suite being populated. + + Note that returning false will cause the method to be ignored + in loading the tests. If it is desired to load the method + but label it as non-runnable, ignored, etc., then this + method must return true. + + The test method to examine + The suite being populated + + + + Builds a single test from the specified method and context, + possibly containing child test cases. + + The method to be used as a test case + The test suite being populated, or null + + + + The ITestCaseData interface is implemented by a class + that is able to return complete test cases for use by + a parameterized test method. + + + + + Gets the expected result of the test case + + + + + Returns true if an expected result has been set + + + + + The ITestData interface is implemented by a class that + represents a single instance of a parameterized test. + + + + + Gets the name to be used for the test + + + + + Gets the RunState for this test case. + + + + + Gets the argument list to be provided to the test + + + + + Gets the property dictionary for the test case + + + + + Interface to be implemented by filters applied to tests. + The filter applies when running the test, after it has been + loaded, since this is the only time an ITest exists. + + + + + Determine if a particular test passes the filter criteria. Pass + may examine the parents and/or descendants of a test, depending + on the semantics of the particular filter + + The test to which the filter is applied + True if the test passes the filter, otherwise false + + + + Determine if a test matches the filter explicitly. That is, it must + be a direct match of the test itself or one of its children. + + The test to which the filter is applied + True if the test matches the filter explicitly, otherwise false + + + + The ITestCaseData interface is implemented by a class + that is able to return the data required to create an + instance of a parameterized test fixture. + + + + + Get the TypeArgs if separately set + + + + + The ITestListener interface is used internally to receive + notifications of significant events while a test is being + run. The events are propagated to clients by means of an + AsyncCallback. NUnit extensions may also monitor these events. + + + + + Called when a test has just started + + The test that is starting + + + + Called when a test has finished + + The result of the test + + + + Called when a test produces output for immediate display + + A TestOutput object containing the text to display + + + + Called when a test produces a message to be sent to listeners + + A object containing the text to send + + + + The ITestResult interface represents the result of a test. + + + + + Gets the ResultState of the test result, which + indicates the success or failure of the test. + + + + + Gets the name of the test result + + + + + Gets the full name of the test result + + + + + Gets the elapsed time for running the test in seconds + + + + + Gets or sets the time the test started running. + + + + + Gets or sets the time the test finished running. + + + + + Gets the message associated with a test + failure or with not running the test + + + + + Gets any stack trace associated with an + error or failure. + + + + Gets the total number of tests executed + when running the test and all its children. + + + + + Gets the number of asserts executed + when running the test and all its children. + + + + + Gets the number of test cases that failed + when running the test and all its children. + + + + + Gets the number of test cases that had warnings + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + Indicates whether this result has any child results. + Accessing HasChildren should not force creation of the + Children collection in classes implementing this interface. + + + + + Gets the collection of child results. + + + + + Gets the Test to which this result applies. + + + + + Gets any text output written to this result. + + + + + Gets a list of AssertionResults associated with the test + + + + + Gets the collection of files attached to the test + + + + + The ITypeInfo interface is an abstraction of a .NET Type + + + + + Gets the underlying Type on which this ITypeInfo is based + + + + + Gets the base type of this type as an ITypeInfo + + + + + Returns true if the Type wrapped is equal to the argument + + + + + Gets the name of the Type + + + + + Gets the full name of the Type + + + + + Gets the assembly in which the type is declared + + + + + Gets the namespace of the Type + + + + + Gets a value indicating whether the type is abstract. + + + + + Gets a value indicating whether the Type is a generic Type + + + + + Gets a value indicating whether the Type has generic parameters that have not been replaced by specific Types. + + + + + Gets a value indicating whether the Type is a generic Type definition + + + + + Gets a value indicating whether the type is sealed. + + + + + Gets a value indicating whether this type is a static class. + + + + + Get the display name for this typeInfo. + + + + + Get the display name for an object of this type, constructed with specific arguments + + + + + Returns a Type representing a generic type definition from which this Type can be constructed. + + + + + Returns a new ITypeInfo representing an instance of this generic Type using the supplied Type arguments + + + + + Returns a value indicating whether this type has a method with a specified public attribute + + + + + Returns an array of IMethodInfos for methods of this Type + that match the specified flags. + + + + + Gets the public constructor taking the specified argument Types + + + + + Returns a value indicating whether this Type has a public constructor taking the specified argument Types. + + + + + Construct an object of this Type, using the specified arguments. + + + + + Returns all methods declared by this type that have the specified attribute, optionally + including base classes. Methods from a base class are always returned before methods from a class that + inherits from it. + + Specifies whether to search the fixture type inheritance chain. + + + + An object implementing IXmlNodeBuilder is able to build + an XML representation of itself and any children. + + + + + Returns a TNode representing the current object. + + If true, children are included where applicable + A TNode representing the result + + + + Returns a TNode representing the current object after + adding it as a child of the supplied parent node. + + The parent node. + If true, children are included, where applicable + + + + + The ResultState class represents the outcome of running a test. + It contains two pieces of information. The Status of the test + is an enum indicating whether the test passed, failed, was + skipped or was inconclusive. The Label provides a more + detailed breakdown for use by client runners. + + + + + Initializes a new instance of the class. + + The TestStatus. + + + + Initializes a new instance of the class. + + The TestStatus. + The label. + + + + Initializes a new instance of the class. + + The TestStatus. + The stage at which the result was produced + + + + Initializes a new instance of the class. + + The TestStatus. + The label. + The stage at which the result was produced + + + + The result is inconclusive + + + + + The test has been skipped. + + + + + The test has been ignored. + + + + + The test was skipped because it is explicit + + + + + The test succeeded + + + + + The test issued a warning + + + + + The test failed + + + + + The test encountered an unexpected exception + + + + + The test was cancelled by the user + + + + + The test was not runnable. + + + + + A suite failed because one or more child tests failed or had errors + + + + + A suite failed because one or more child tests had warnings + + + + + A suite is marked ignored because one or more child tests were ignored + + + + + A suite failed in its OneTimeSetUp + + + + + A suite had an unexpected exception in its OneTimeSetUp + + + + + A suite had an unexpected exception in its OneTimeDown + + + + + Gets the TestStatus for the test. + + The status. + + + + Gets the label under which this test result is + categorized, or if none. + + + + + Gets the stage of test execution in which + the failure or other result took place. + + + + + Get a new ResultState, which is the same as the current + one but with the FailureSite set to the specified value. + + The FailureSite to use + A new ResultState + + + + Test whether this ResultState has the same Status and Label + as another one. In other words, the whether two are equal + ignoring the Site. + + + + + + Determines whether the specified object is equal to the current object. + The object to compare with the current object. + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + + + Serves as the default hash function. + + + + Overload == operator for ResultStates + + + + + Overload != operator for ResultStates + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + The FailureSite enum indicates the stage of a test + in which an error or failure occurred. + + + + + Failure in the test itself + + + + + Failure in the SetUp method + + + + + Failure in the TearDown method + + + + + Failure of a parent test + + + + + Failure of a child test + + + + + The RunState enum indicates whether a test can be executed. + + + + + The test is not runnable. + + + + + The test is runnable. + + + + + The test can only be run explicitly + + + + + The test has been skipped. This value may + appear on a Test when certain attributes + are used to skip the test. + + + + + The test has been ignored. May appear on + a Test, when the IgnoreAttribute is used. + + + + + The TestAttachment class represents a file attached to a TestResult, + with an optional description. + + + + + Absolute file path to attachment file + + + + + User specified description of attachment. May be null. + + + + + Creates a TestAttachment class to represent a file attached to a test result. + + Absolute file path to attachment file + User specified description of attachment. May be null. + + + + The class holds a message sent by a test to all listeners + + + + + Construct with text, destination type and + the name of the test that produced the message. + + Destination of the message + Text to be sent + ID of the test that produced the message + + + + Converts object to string + + + + + The message to send to listeners + + + + + The Destination of the message. + + + + + The ID of the test that sent the message + + + + + Returns the XML representation of the object. + + + + + The TestOutput class holds a unit of output from + a test to a specific output stream + + + + + Construct with text, output destination type and + the name of the test that produced the output. + + Text to be output + Name of the stream or channel to which the text should be written + Id of the test that produced the output + FullName of test that produced the output + + + + Return string representation of the object for debugging + + + + + + Get the text + + + + + Get the output type + + + + + Get the name of the test that created the output + + + + + Get the id of the test that created the output + + + + + Convert the TestOutput object to an XML string + + + + + The TestStatus enum indicates the result of running a test + + + + + The test was inconclusive + + + + + The test has skipped + + + + + The test succeeded + + + + + There was a warning + + + + + The test failed + + + + + TNode represents a single node in the XML representation + of a Test or TestResult. It replaces System.Xml.XmlNode and + System.Xml.Linq.XElement, providing a minimal set of methods + for operating on the XML in a platform-independent manner. + + + + + Constructs a new instance of TNode + + The name of the node + + + + Constructs a new instance of TNode with a value + + The name of the node + The text content of the node + + + + Constructs a new instance of TNode with a value + + The name of the node + The text content of the node + Flag indicating whether to use CDATA when writing the text + + + + Gets the name of the node + + + + + Gets the value of the node + + + + + Gets a flag indicating whether the value should be output using CDATA. + + + + + Gets the dictionary of attributes + + + + + Gets a list of child nodes + + + + + Gets the first ChildNode + + + + + Gets the XML representation of this node. + + + + + Create a TNode from its XML text representation + + The XML text to be parsed + A TNode + + + + Adds a new element as a child of the current node and returns it. + + The element name. + The newly created child element + + + + Adds a new element with a value as a child of the current node and returns it. + + The element name + The text content of the new element + The newly created child element + + + + Adds a new element with a value as a child of the current node and returns it. + The value will be output using a CDATA section. + + The element name + The text content of the new element + The newly created child element + + + + Adds an attribute with a specified name and value to the XmlNode. + + The name of the attribute. + The value of the attribute. + + + + Finds a single descendant of this node matching an XPath + specification. The format of the specification is + limited to what is needed by NUnit and its tests. + + + + + + + Finds all descendants of this node matching an XPath + specification. The format of the specification is + limited to what is needed by NUnit and its tests. + + + + + Writes the XML representation of the node to an XmlWriter + + + + + + Class used to represent a list of XmlResults + + + + + Class used to represent the attributes of a node + + + + + Gets or sets the value associated with the specified key. + Overridden to return null if attribute is not found. + + The key. + Value of the attribute or null + + + + A production implementation that delegates directly to .NET's . + + + + + Returns whether a debugger is currently attached to the process + + + + + A layer of abstraction around to facilitate testing. + + + + + Whether a debugger is currently attached to the process. + + + + + AssemblyHelper provides static methods for working + with assemblies. + + + + + Gets the path from which an assembly was loaded. + For builds where this is not possible, returns + the name of the assembly. + + The assembly. + The path. + + + + Gets the path to the directory from which an assembly was loaded. + + The assembly. + The path. + + + + Gets the AssemblyName of an assembly. + + The assembly + An AssemblyName + + + + Loads an assembly given a string, which may be the + path to the assembly or the AssemblyName + + + + + Gets the assembly path from code base. + + Public for testing purposes + The code base. + + + + + Adapts various styles of asynchronous waiting to a common API. + + + + + CombinatorialStrategy creates test cases by using all possible + combinations of the parameter data. + + + + + Gets the test cases generated by the CombiningStrategy. + + The test cases. + + + + Provides data from fields marked with the DatapointAttribute or the + DatapointsAttribute. + + + + + Determines whether any data is available for a parameter. + + The parameter of a parameterized test + + + + Retrieves data for use with the supplied parameter. + + The parameter of a parameterized test + + + + Built-in SuiteBuilder for all types of test classes. + + + + + Examine the type and determine if it is suitable for + this builder to use in building a TestSuite. + + Note that returning false will cause the type to be ignored + in loading the tests. If it is desired to load the suite + but label it as non-runnable, ignored, etc., then this + method must return true. + + The fixture type to check + + + + Builds a single test suite from the specified type. + + The fixture type to build + + + + Builds a single test suite from the specified type, subject + to a filter that decides which methods are included. + + The fixture type to build + A PreFilter for selecting methods. + + + + We look for attributes implementing IFixtureBuilder at one level + of inheritance at a time. Attributes on base classes are not used + unless there are no fixture builder attributes at all on the derived + class. This is by design. + + The type being examined for attributes + + + + Class to build ether a parameterized or a normal NUnitTestMethod. + There are four cases that the builder must deal with: + 1. The method needs no params and none are provided + 2. The method needs params and they are provided + 3. The method needs no params but they are provided in error + 4. The method needs params but they are not provided + This could have been done using two different builders, but it + turned out to be simpler to have just one. The BuildFrom method + takes a different branch depending on whether any parameters are + provided, but all four cases are dealt with in lower-level methods + + + + + Determines if the method can be used to build an NUnit test + test method of some kind. The method must normally be marked + with an identifying attribute for this to be true. + + Note that this method does not check that the signature + of the method for validity. If we did that here, any + test methods with invalid signatures would be passed + over in silence in the test run. Since we want such + methods to be reported, the check for validity is made + in BuildFrom rather than here. + + An IMethodInfo for the method being used as a test method + + + + Builds a single test from the specified method and context, + possibly containing child test cases. + + The method for which a test is to be built + + + + Determines if the method can be used to build an NUnit test + test method of some kind. The method must normally be marked + with an identifying attribute for this to be true. + + Note that this method does not check that the signature + of the method for validity. If we did that here, any + test methods with invalid signatures would be passed + over in silence in the test run. Since we want such + methods to be reported, the check for validity is made + in BuildFrom rather than here. + + An IMethodInfo for the method being used as a test method + The test suite being built, to which the new test would be added + + + + Builds a single test from the specified method and context, + possibly containing child test cases. + + The method for which a test is to be built + The test fixture being populated, or null + + + + Builds a ParameterizedMethodSuite containing individual test cases. + + The method for which a test is to be built. + The list of test cases to include. + + + + Build a simple, non-parameterized TestMethod for this method. + + The MethodInfo for which a test is to be built + The test suite for which the method is being built + + + + Class that can build a tree of automatic namespace + suites from a group of fixtures. + + + + + NamespaceDictionary of all test suites we have created to represent + namespaces. Used to locate namespace parent suites for fixtures. + + + + + Point in the tree where items in the global namespace are added + + + + + Initializes a new instance of the class. + + The root suite. + + + + Gets the root entry in the tree created by the NamespaceTreeBuilder. + + The root suite. + + + + Adds the specified fixtures to the tree. + + The fixtures to be added. + + + + Adds the specified fixture to the tree. + + The fixture to be added. + + + + NUnitTestCaseBuilder is a utility class used by attributes + that build test cases. + + + + + Constructs an + + + + + Builds a single NUnitTestMethod, either as a child of the fixture + or as one of a set of test cases under a ParameterizedTestMethodSuite. + + The MethodInfo from which to construct the TestMethod + The suite or fixture to which the new test will be added + The ParameterSet to be used, or null + + + + Checks to see if we have valid combinations of attributes. + + The TestMethod to be checked. If it + is found to be non-runnable, it will be modified. + True if the method signature is valid, false if not + + + + Helper method that checks the signature of a TestMethod and + any supplied parameters to determine if the test is valid. + + Currently, NUnitTestMethods are required to be public, + non-abstract methods, either static or instance, + returning void. They may take arguments but the values must + be provided or the TestMethod is not considered runnable. + + Methods not meeting these criteria will be marked as + non-runnable and the method will return false in that case. + + The TestMethod to be checked. If it + is found to be non-runnable, it will be modified. + Parameters to be used for this test, or null + True if the method signature is valid, false if not + + The return value is no longer used internally, but is retained + for testing purposes. + + + + + NUnitTestFixtureBuilder is able to build a fixture given + a class marked with a TestFixtureAttribute or an unmarked + class containing test methods. In the first case, it is + called by the attribute and in the second directly by + NUnitSuiteBuilder. + + + + + Build a TestFixture from type provided. A non-null TestSuite + must always be returned, since the method is generally called + because the user has marked the target class as a fixture. + If something prevents the fixture from being used, it should + be returned nonetheless, labeled as non-runnable. + + An ITypeInfo for the fixture to be used. + Filter used to select methods as tests. + A TestSuite object or one derived from TestSuite. + + + + Overload of BuildFrom called by tests that have arguments. + Builds a fixture using the provided type and information + in the ITestFixtureData object. + + The TypeInfo for which to construct a fixture. + Filter used to select methods as tests. + An object implementing ITestFixtureData or null. + + + + + Method to add test cases to the newly constructed fixture. + + + + + Method to create a test case from a MethodInfo and add + it to the fixture being built. It first checks to see if + any global TestCaseBuilder addin wants to build the + test case. If not, it uses the internal builder + collection maintained by this fixture builder. + + The default implementation has no test case builders. + Derived classes should add builders to the collection + in their constructor. + + The method for which a test is to be created + The test suite being built. + A newly constructed Test + + + + PairwiseStrategy creates test cases by combining the parameter + data so that all possible pairs of data items are used. + + + + The number of test cases that cover all possible pairs of test function + parameters values is significantly less than the number of test cases + that cover all possible combination of test function parameters values. + And because different studies show that most of software failures are + caused by combination of no more than two parameters, pairwise testing + can be an effective ways to test the system when it's impossible to test + all combinations of parameters. + + + The PairwiseStrategy code is based on "jenny" tool by Bob Jenkins: + https://burtleburtle.net/bob/math/jenny.html + + + + + + FleaRand is a pseudo-random number generator developed by Bob Jenkins: + https://burtleburtle.net/bob/rand/talksmall.html#flea + + + + + Initializes a new instance of the FleaRand class. + + The seed. + + + + FeatureInfo represents coverage of a single value of test function + parameter, represented as a pair of indices, Dimension and Feature. In + terms of unit testing, Dimension is the index of the test parameter and + Feature is the index of the supplied value in that parameter's list of + sources. + + + + + Initializes a new instance of FeatureInfo class. + + Index of a dimension. + Index of a feature. + + + + A FeatureTuple represents a combination of features, one per test + parameter, which should be covered by a test case. In the + PairwiseStrategy, we are only trying to cover pairs of features, so the + tuples actually may contain only single feature or pair of features, but + the algorithm itself works with triplets, quadruples and so on. + + + + + Initializes a new instance of FeatureTuple class for a single feature. + + Single feature. + + + + Initializes a new instance of FeatureTuple class for a pair of features. + + First feature. + Second feature. + + + + TestCase represents a single test case covering a list of features. + + + + + Initializes a new instance of TestCaseInfo class. + + A number of features in the test case. + + + + PairwiseTestCaseGenerator class implements an algorithm which generates + a set of test cases which covers all pairs of possible values of test + function. + + + + The algorithm starts with creating a set of all feature tuples which we + will try to cover (see method). This set + includes every single feature and all possible pairs of features. We + store feature tuples in the 3-D collection (where axes are "dimension", + "feature", and "all combinations which includes this feature"), and for + every two feature (e.g. "A" and "B") we generate both ("A", "B") and + ("B", "A") pairs. This data structure extremely reduces the amount of + time needed to calculate coverage for a single test case (this + calculation is the most time-consuming part of the algorithm). + + + Then the algorithm picks one tuple from the uncovered tuple, creates a + test case that covers this tuple, and then removes this tuple and all + other tuples covered by this test case from the collection of uncovered + tuples. + + + Picking a tuple to cover + + + There are no any special rules defined for picking tuples to cover. We + just pick them one by one, in the order they were generated. + + + Test generation + + + Test generation starts from creating a completely random test case which + covers, nevertheless, previously selected tuple. Then the algorithm + tries to maximize number of tuples which this test covers. + + + Test generation and maximization process repeats seven times for every + selected tuple and then the algorithm picks the best test case ("seven" + is a magic number which provides good results in acceptable time). + + Maximizing test coverage + + To maximize tests coverage, the algorithm walks through the list of mutable + dimensions (mutable dimension is a dimension that are not included in + the previously selected tuple). Then for every dimension, the algorithm + walks through the list of features and checks if this feature provides + better coverage than randomly selected feature, and if yes keeps this + feature. + + + This process repeats while it shows progress. If the last iteration + doesn't improve coverage, the process ends. + + + In addition, for better results, before start every iteration, the + algorithm "scrambles" dimensions - so for every iteration dimension + probes in a different order. + + + + + + Creates a set of test cases for specified dimensions. + + + An array which contains information about dimensions. Each element of + this array represents a number of features in the specific dimension. + + + A set of test cases. + + + + + Gets the test cases generated by this strategy instance. + + A set of test cases. + + + + The ParameterDataProvider class implements IParameterDataProvider + and hosts one or more individual providers. + + + + + Construct with a collection of individual providers + + + + + Determines whether any data is available for a parameter. + + The parameter of a parameterized test + + + + Retrieves data for use with the supplied parameter. + + The parameter of a parameterized test + + + + ParameterDataSourceProvider supplies individual argument values for + single parameters using attributes implementing IParameterDataSource. + + + + + Determines whether any data is available for a parameter. + + The parameter of a parameterized test + + + + Retrieves data for use with the supplied parameter. + + The parameter of a parameterized test + + + + SequentialStrategy creates test cases by using all of the + parameter data sources in parallel, substituting + when any of them run out of data. + + + + + Gets the test cases generated by the CombiningStrategy. + + The test cases. + + + + TestActionAfterCommand handles the AfterTest method of a single + TestActionItem, provided the items BeforeTest has been run. + + + + + Initializes a new instance of the class. + + The inner command. + The TestActionItem to run before the inner command. + + + + AfterCommand is a DelegatingTestCommand that performs some + specific action after the inner command is run. + + + + + Construct an AfterCommand + + + + + Execute the command + + + + + Set this to perform action after the inner command. + + + + + ContextSettingsCommand applies specified changes to the + TestExecutionContext prior to running a test. No special + action is needed after the test runs, since the prior + context will be restored automatically. + + + + + TestActionCommand handles a single ITestAction applied + to a test. It runs the BeforeTest method, then runs the + test and finally runs the AfterTest method. + + + + + Initializes a new instance of the class. + + The inner command. + + + + Runs the test, saving a TestResult in the supplied TestExecutionContext. + + The context in which the test should run. + A TestResult + + + + Perform the before test action + + + + + Perform the after test action + + + + + TestActionBeforeCommand handles the BeforeTest method of a single + TestActionItem, relying on the item to remember it has been run. + + + + + Initializes a new instance of the class. + + The inner command. + The TestActionItem to run before the inner command. + + + + BeforeTestCommand is a DelegatingTestCommand that performs some + specific action before the inner command is run. + + + + + Construct a BeforeCommand + + + + + Execute the command + + + + + Action to perform before the inner command. + + + + + ConstructFixtureCommand constructs the user test object if necessary. + + + + + Constructs a OneTimeSetUpCommand for a suite + + The inner command to which the command applies + + + + DelegatingTestCommand wraps an inner TestCommand. + Derived classes may do what they like before or + after running the inner command. + + + + TODO: Documentation needed for field + + + + Initializes a new instance of the class. + + The inner command. + + + + OneTimeTearDownCommand performs any teardown actions + specified for a suite and calls Dispose on the user + test object, if any. + + + + + Construct a OneTimeTearDownCommand + + The command wrapped by this command + + + + EmptyTestCommand is a TestCommand that does nothing. It simply + returns the current result from the context when executed. We + use it to avoid testing for null when executing a chain of + DelegatingTestCommands. + + + + + Construct a NullCommand for a test + + + + + Execute the command + + + + + ConstructFixtureCommand constructs the user test object if necessary. + + + + + Handles the construction and disposement of a fixture per test case + + The inner command to which the command applies + + + + adjusts the result of a successful test + to a failure if the elapsed time has exceeded the specified maximum + time allowed. + + + + + Initializes a new instance of the class. + + The inner command. + The max time allowed in milliseconds + + + + OneTimeSetUpCommand runs any one-time setup methods for a suite, + constructing the user test object if necessary. + + + + + Constructs a OneTimeSetUpCommand for a suite + + The inner command to which the command applies + A SetUpTearDownList for use by the command + + + + OneTimeTearDownCommand performs any teardown actions + specified for a suite and calls Dispose on the user + test object, if any. + + + + + Construct a OneTimeTearDownCommand + + The command wrapped by this command + A SetUpTearDownList for use by the command + + + + SetUpTearDownCommand runs SetUp methods for a suite, + runs the test and then runs TearDown methods. + + + + + Initializes a new instance of the class. + + The inner command. + List of setup/teardown items + + + + SetUpTearDownItem holds the setup and teardown methods + for a single level of the inheritance hierarchy. + + + + + Construct a SetUpTearDownNode + + A list of setup methods for this level + A list teardown methods for this level + A method validator to validate each method before calling. + + + + Returns true if this level has any methods at all. + This flag is used to discard levels that do nothing. + + + + + Run SetUp on this level. + + The execution context to use for running. + + + + Run TearDown for this level. + + + + + + TODO: Documentation needed for class + + + + + Initializes a new instance of the class. + + The test being skipped. + + + + Overridden to simply set the CurrentResult to the + appropriate Skipped state. + + The execution context for the test + A TestResult + + + + TestActionCommand handles a single ITestAction applied + to a test. It runs the BeforeTest method, then runs the + test and finally runs the AfterTest method. + + + + + Initializes a new instance of the class. + + The inner command. + The TestAction with which to wrap the inner command. + + + + TestActionItem wraps a single execution of an ITestAction. + Its primary purpose is to track whether the BeforeTest + method has been called and suppress calling the + AfterTest method if it has not. This is necessary when + ITestActions are used before and after a CompositeWorkItem, + since the OneTimeSetUpCommand and OneTimeTearDownCommand + are separate command chains. By sharing a TestActionItem + between the setup and teardown chains, the two calls can + be coordinated. + + + + + Construct a TestActionItem + + The ITestAction to be included + + + + Get flag indicating if the BeforeTest entry was already called. + + + + + Run the BeforeTest method of the action and remember that it has been run. + + The test to which the action applies + + + + Run the AfterTest action, but only if the BeforeTest + action was actually run. + + The test to which the action applies + + + + TestCommand is the abstract base class for all test commands + in the framework. A TestCommand represents a single stage in + the execution of a test, e.g.: SetUp/TearDown, checking for + Timeout, verifying the returned result from a method, etc. + + TestCommands may decorate other test commands so that the + execution of a lower-level command is nested within that + of a higher level command. All nested commands are executed + synchronously, as a single unit. Scheduling test execution + on separate threads is handled at a higher level, using the + task dispatcher. + + + + + Construct a TestCommand for a test. + + The test to be executed + + + + Gets the test associated with this command. + + + + + Runs the test in a specified context, returning a TestResult. + + The TestExecutionContext to be used for running the test. + A TestResult + + + + TestMethodCommand is the lowest level concrete command + used to run actual test cases. + + + + + Initializes a new instance of the class. + + The test. + + + + Runs the test, saving a TestResult in the execution context, as + well as returning it. If the test has an expected result, it + is asserts on that value. Since failed tests and errors throw + an exception, this command must be wrapped in an outer command, + will handle that exception and records the failure. This role + is usually played by the SetUpTearDown command. + + The execution context + + + + TheoryResultCommand adjusts the result of a Theory so that + it fails if all the results were inconclusive. + + + + + Constructs a TheoryResultCommand + + The command to be wrapped by this one + + + + creates a timer in order to cancel + a test if it exceeds a specified time and adjusts + the test result if it did time out. + + + + + Initializes a new instance of the class. + + The inner command + Timeout value + + + + Initializes a new instance of the class. + + The inner command + Timeout value + An instance + + + + Provides methods to support consistent checking in constraints. + + + + + Requires that the provided object is actually of the type required. + + The object to verify. + Name of the parameter as passed into the checking method. + + If and can be null, returns null rather than throwing when is null. + If cannot be null, this parameter is ignored. + The type to require. + + + + CultureDetector is a helper class used by NUnit to determine + whether a test should be run based on the current culture. + + + + + Default constructor uses the current culture. + + + + + Construct a CultureDetector for a particular culture for testing. + + The culture to be used + + + + Test to determine if one of a collection of cultures + is being used currently. + + + + + + + Tests to determine if the current culture is supported + based on a culture attribute. + + The attribute to examine + + + + + Test to determine if the a particular culture or comma- + delimited set of cultures is in use. + + Name of the culture or comma-separated list of culture ids + True if the culture is in use on the system + + + + Return the last failure reason. Results are not + defined if called before IsSupported( Attribute ) + is called. + + + + + Useful when wrapping awaiters whose GetResult method does not block until complete. + Contains a default mechanism to implement + via and . + + + + + ExceptionHelper provides static methods for working with exceptions + + + + + Rethrows an exception, preserving its stack trace + + The exception to rethrow + + + + Builds up a message, using the Message field of the specified exception + as well as any InnerExceptions. Optionally excludes exception names, + creating a more readable message. + + The exception. + Flag indicating whether exception names should be excluded. + A combined message string. + + + + Builds up a message, using the Message field of the specified exception + as well as any InnerExceptions. + + The exception. + A combined stack trace. + + + + Executes a parameterless synchronous or async delegate and returns the exception it throws, if any. + + + + + A CompositeWorkItem represents a test suite and + encapsulates the execution of the suite as well + as all its child tests. + + + + + List of Child WorkItems + + + + + Indicates whether this work item should use a separate dispatcher. + + + + + Construct a CompositeWorkItem for executing a test suite + using a filter to select child tests. + + The TestSuite to be executed + A filter used to select child tests + + + + Method that actually performs the work. Overridden + in CompositeWorkItem to do one-time setup, run all child + items and then dispatch the one-time teardown work item. + + + + + + + + + + Cancel (abort or stop) a CompositeWorkItem and all of its children + + true if the CompositeWorkItem and all of its children should be aborted, false if it should allow all currently running tests to complete + + + + OneTimeTearDownWorkItem represents the cleanup + and one-time teardown phase of a CompositeWorkItem + + + + + Construct a OneTimeTearDownWOrkItem wrapping a CompositeWorkItem + + The CompositeWorkItem being wrapped + + + + The WorkItem name, overridden to indicate this is the teardown. + + + + + The ExecutionStrategy for use in running this work item + + + + + + + + + + PerformWork is not used in CompositeWorkItem + + + + + WorkItemCancelled is called directly by the parallel dispatcher + when a test suite is left hanging after a forced StopRun. We + simulate WorkItemComplete() but without the ripple effect to + higher level suites, since we are controlling it all directly. + + + + + EventListenerTextWriter sends text output to the currently active + ITestEventListener in the form of a TestOutput object. If no event + listener is active in the context, or if there is no context, + the output is forwarded to the supplied default writer. + + + + + Construct an EventListenerTextWriter + + The name of the stream to use for events + The default writer to use if no listener is available + + + + Get the Encoding for this TextWriter + + + + + Write formatted string + + + + + Write formatted string + + + + + Write formatted string + + + + + Write an object + + + + + Write a string + + + + + Write a decimal + + + + + Write a double + + + + + Write formatted string + + + + + Write a ulong + + + + + Write a long + + + + + Write a uint + + + + + Write an int + + + + + Write a char + + + + + Write a boolean + + + + + Write chars + + + + + Write chars + + + + + Write a float + + + + + Write a string with newline + + + + + Write an object with newline + + + + + Write formatted string with newline + + + + + Write formatted string with newline + + + + + Write formatted string with newline + + + + + Write a decimal with newline + + + + + Write a formatted string with newline + + + + + Write a double with newline + + + + + Write a uint with newline + + + + + Write a ulong with newline + + + + + Write a long with newline + + + + + Write an int with newline + + + + + Write a bool with newline + + + + + Write chars with newline + + + + + Write chars with newline + + + + + Write a char with newline + + + + + Write a float with newline + + + + + Write newline + + + + + The EventPumpState enum represents the state of an + EventPump. + + + + + The pump is stopped + + + + + The pump is pumping events with no stop requested + + + + + The pump is pumping events but a stop has been requested + + + + + EventPump pulls events out of an EventQueue and sends + them to a listener. It is used to send events back to + the client without using the CallContext of the test + runner thread. + + + + + The downstream listener to which we send events + + + + + The queue that holds our events + + + + + Thread to do the pumping + + + + + The current state of the event pump + + + + + Constructor + + The EventListener to receive events + The event queue to pull events from + + + + Gets or sets the current state of the pump + + + + + Gets or sets the name of this EventPump + (used only internally and for testing). + + + + + Dispose stops the pump + Disposes the used WaitHandle, too. + + + + + Start the pump + + + + + Tell the pump to stop after emptying the queue. + + + + + Our thread proc for removing items from the event + queue and sending them on. Note that this would + need to do more locking if any other thread were + removing events from the queue. + + + + + NUnit.Core.Event is the abstract base for all stored events. + An Event is the stored representation of a call to the + ITestListener interface and is used to record such calls + or to queue them for forwarding on another thread or at + a later time. + + + + + The Send method is implemented by derived classes to send the event to the specified listener. + + The listener. + + + + TestStartedEvent holds information needed to call the TestStarted method. + + + + + Initializes a new instance of the class. + + The test. + + + + Calls TestStarted on the specified listener. + + The listener. + + + + TestFinishedEvent holds information needed to call the TestFinished method. + + + + + Initializes a new instance of the class. + + The result. + + + + Calls TestFinished on the specified listener. + + The listener. + + + + TestOutputEvent holds information needed to call the TestOutput method. + + + + + Initializes a new instance of the class. + + The output object. + + + + Calls TestOutput on the specified listener. + + The listener. + + + + TestMessageEvent holds information needed to call the SendMessage method. + + + + + Initializes a new instance of the class. + + The test message object. + + + + Calls on the specified listener. + + The listener. + + + + Holds object for sending to all listeners + + + + + Implements a queue of work items each of which + is queued as a WaitCallback. + + + + + Gets the count of items in the queue. + + + + + Enqueues the specified event + + The event to enqueue. + + + + Removes the first element from the queue and returns it (or ). + + + If and the queue is empty, the calling thread is blocked until + either an element is enqueued, or is called. + + + + + If the queue not empty + the first element. + + + otherwise, if == + or has been called + . + + + + + + + Stop processing of the queue + + + + + Validates method to execute. + + + + + Determines whether a method is allowed to execute and throws an exception otherwise. + + The method to validate. + + + + An IWorkItemDispatcher handles execution of work items. + + + + + The level of parallelism supported. Zero if not supported. + + + + + Start execution, performing any initialization. Sets + the top level work item and dispatches it. + + + + + Dispatch a single work item for execution. The first + work item dispatched is saved as the top-level + work item and used when stopping the run. + + The item to dispatch + + + + Cancel the ongoing run completely. + If no run is in process, the call has no effect. + + true if the IWorkItemDispatcher should abort all currently running WorkItems, false if it should allow all currently running WorkItems to complete + + + + MainThreadWorkItemDispatcher handles execution of WorkItems by + directly executing them on the main thread. This is different + from the SimpleWorkItemDispatcher where the work item is dispatched + onto its own thread. + + + + + The level of parallelism supported + + + + + Start execution, dispatching the top level + work into the main thread. + + + + + Dispatch a single work item for execution by + executing it directly. + + The item to dispatch + + + + This method is not supported for + this dispatcher. Using it will throw a + NotSupportedException. + + Not used + If used, it will always throw this. + + + + Enumeration representing the strategy to follow in executing a work item. + The value is only relevant when running under the parallel dispatcher. + + + + + Run directly on same thread + + + + + Enqueue for parallel execution + + + + + Enqueue for non-parallel execution + + + + + ParallelWorkItemDispatcher handles execution of work items by + queuing them for worker threads to process. + + + + + Event raised whenever a shift is starting. + + + + + Event raised whenever a shift has ended. + + + + + Construct a ParallelWorkItemDispatcher + + Number of workers to use + + + + Number of parallel worker threads + + + + + Enumerates all the shifts supported by the dispatcher + + + + + Enumerates all the Queues supported by the dispatcher + + + + + Start execution, setting the top level work, + enqueuing it and starting a shift to execute it. + + + + + Dispatch a single work item for execution. The first + work item dispatched is saved as the top-level + work item and used when stopping the run. + + The item to dispatch + + + + Cancel the ongoing run completely. + If no run is in process, the call has no effect. + + + + + Save the state of the queues and create a new isolated set + + + + + Try to remove isolated queues and restore old ones + + + + + QueuingEventListener uses an EventQueue to store any + events received on its EventListener interface. + + + + + The EventQueue created and filled by this listener + + + + + Construct a QueuingEventListener + + + + + A test has started + + The test that is starting + + + + A test case finished + + Result of the test case + + + + Called when a test produces output for immediate display + + A TestOutput object containing the text to display + + + + Called when a test produces a message to be sent to listeners + + A object containing the text to send + + + + A SimpleWorkItem represents a single test case and is + marked as completed immediately upon execution. This + class is also used for skipped or ignored test suites. + + + + + Construct a simple work item for a test. + + The test to be executed + The filter used to select this test + + + + Construct a simple work item for a test. + + The test to be executed + The filter used to select this test + An instance + + + + Method that performs actually performs the work. + + + + + Creates a test command for use in running this test. + + A TestCommand + + + + SimpleWorkItemDispatcher handles execution of WorkItems by + directly executing them. It is provided so that a dispatcher + is always available in the context, thereby simplifying the + code needed to run child tests. + + + + + The level of parallelism supported + + + + + Start execution, creating the execution thread, + setting the top level work and dispatching it. + + + + + Dispatch a single work item for execution by + executing it directly. + + The item to dispatch + + + + Cancel (abort or stop) the ongoing run. + If no run is in process, the call has no effect. + + true if the run should be aborted, false if it should allow its currently running test to complete + + + + Checks whether the method to execute is static. + + + + + Construct a StaticMethodValidator. + + The error message to output in case the validation fails. + + + + Determines whether a method to execute is static and throws an InvalidOperationException otherwise. + + The method to validate. + + + + A TestWorker pulls work items from a queue + and executes them. + + + + + Event handler for TestWorker events + + The TestWorker sending the event + The WorkItem that caused the event + + + + Event signaled immediately before executing a WorkItem + + + + + Event signaled immediately after executing a WorkItem + + + + + Construct a new TestWorker. + + The queue from which to pull work items + The name of this worker + + + + The WorkItemQueue from which this worker pulls WorkItems + + + + + The name of this worker - also used for the thread + + + + + Indicates whether the worker thread is running + + + + + Our ThreadProc, which pulls and runs tests in a loop + + + + + Create thread and start processing work items. + + + + + Stop the thread, either immediately or after finishing the current WorkItem + + true if the thread should be aborted, false if it should allow the currently running test to complete + + + + The TextCapture class intercepts console output and writes it + to the current execution context, if one is present on the thread. + If no execution context is found, the output is written to a + default destination, normally the original destination of the + intercepted output. + + + + + Construct a TextCapture object + + The default destination for non-intercepted output + + + + Gets the Encoding in use by this TextWriter + + + + + Writes a single character + + The char to write + + + + Writes a string + + The string to write + + + + Writes a string followed by a line terminator + + The string to write + + + + A WorkItem may be an individual test case, a fixture or + a higher level grouping of tests. All WorkItems inherit + from the abstract WorkItem class, which uses the template + pattern to allow derived classes to perform work in + whatever way is needed. + + A WorkItem is created with a particular TestExecutionContext + and is responsible for re-establishing that context in the + current thread before it begins or resumes execution. + + + + + Construct a WorkItem for a particular test. + + The test that the WorkItem will run + Filter used to include or exclude child items + + + + Construct a work Item that wraps another work Item. + Wrapper items are used to represent independently + dispatched tasks, which form part of the execution + of a single test, such as OneTimeTearDown. + + The WorkItem being wrapped + + + + Initialize the TestExecutionContext. This must be done + before executing the WorkItem. + + + Originally, the context was provided in the constructor + but delaying initialization of the context until the item + is about to be dispatched allows changes in the parent + context during OneTimeSetUp to be reflected in the child. + + The TestExecutionContext to use + + + + Event triggered when the item is complete + + + + + Gets the current state of the WorkItem + + + + + The test being executed by the work item + + + + + The name of the work item - defaults to the Test name. + + + + + Filter used to include or exclude child tests + + + + + The execution context + + + + + The worker executing this item. + + + + + The ParallelExecutionStrategy to use for this work item + + + + + Indicates whether this work item should use a separate dispatcher. + + + + + The test result + + + + + Gets the ParallelScope associated with the test, if any, + otherwise returning ParallelScope.Default; + + + + + Execute the current work item, including any + child work items. + + + + + Wait until the execution of this item is complete + + + + + Marks the WorkItem as NotRunnable. + + Reason for test being NotRunnable. + + + + Cancel (abort or stop) a WorkItem + + true if the WorkItem should be aborted, false if it should run to completion + + + + Standard Dispose + + + + + Method that performs actually performs the work. It should + set the State to WorkItemState.Complete when done. + + + + + Method called by the derived class when all work is complete + + + + + Builds the set up tear down list. + + Unsorted array of setup MethodInfos. + Unsorted array of teardown MethodInfos. + Method validator used before each method execution. + A list of SetUpTearDownItems + + + + Changes the result of the test, logging the old and new states + + The new ResultState + The new message + + + + Recursively walks up the test hierarchy to see if the + has been set on any of the parent tests. + + + + + WorkItemBuilder class knows how to build a tree of work items from a tree of tests + + + + + Creates a work item. + + The test for which this WorkItem is being created. + The filter to be used in selecting any child Tests. + True if child work items should be created and added. + + + + + Creates a work item. + + The test for which this WorkItem is being created. + The filter to be used in selecting any child Tests. + An instance. + True if child work items should be created and added. + if work item needs to be created unconditionally, if will be returned for tests that don't match the filter. + + + + + Compares two objects and returns a value indicating whether one is less than, equal to, or greater than the other. + + + A signed integer that indicates the relative values of and , as shown in the following table.Value Meaning Less than zero is less than .Zero equals .Greater than zero is greater than . + + The first object to compare.The second object to compare. + + + + WorkItemQueueState indicates the current state of a WorkItemQueue + + + + + The queue is paused + + + + + The queue is running + + + + + The queue is stopped + + + + + A WorkItemQueue holds work items that are ready to + be run, either initially or after some dependency + has been satisfied. + + + + + Initializes a new instance of the class. + + The name of the queue. + Flag indicating whether this is a parallel queue + ApartmentState to use for items on this queue + + + + Gets the name of the work item queue. + + + + + Gets a flag indicating whether this queue is used for parallel execution + + + + + Gets the target ApartmentState for work items on this queue + + + + + Gets the total number of items processed so far + + + + + Gets the current state of the queue + + + + + Get a bool indicating whether the queue is empty. + + + + + Enqueue a WorkItem to be processed + + The WorkItem to process + + + + Enqueue a WorkItem to be processed - internal for testing + + The WorkItem to process + The priority at which to process the item + + + + Dequeue a WorkItem for processing + + A WorkItem or null if the queue has stopped + + + + Start or restart processing of items from the queue + + + + + Signal the queue to stop + + + + + Pause the queue for restarting later + + + + + Save the current inner queue and create new ones for use by + a non-parallel fixture with parallel children. + + + + + Restore the inner queue that was previously saved + + + + + The current state of a work item + + + + + Ready to run or continue + + + + + Work Item is executing + + + + + Complete + + + + + Handler for ShiftChange events. + + The shift that is starting or ending. + + + + The dispatcher needs to do different things at different, + non-overlapped times. For example, non-parallel tests may + not be run at the same time as parallel tests. We model + this using the metaphor of a working shift. The WorkShift + class associates one or more WorkItemQueues with one or + more TestWorkers. + + Work in the queues is processed until all queues are empty + and all workers are idle. Both tests are needed because a + worker that is busy may end up adding more work to one of + the queues. At that point, the shift is over and another + shift may begin. This cycle continues until all the tests + have been run. + + + + + Construct a WorkShift + + + + + Event that fires when the shift has ended + + + + + The Name of this shift + + + + + Gets a flag indicating whether the shift is currently active + + + + + Gets a bool indicating whether this shift has any work to do + + + + + Gets a list of the queues associated with this shift. + + Internal for testing - immutable once initialized + + + + Gets the list of workers associated with this shift. + + Internal for testing - immutable once initialized + + + + Add a WorkItemQueue to the shift, starting it if the + shift is currently active. + + + + + Assign a worker to the shift. + + + + + + Start or restart processing for the shift + + + + + End the shift, pausing all queues and raising + the EndOfShift event. + + + + + Shut down the shift. + + + + + Cancel (abort or stop) the shift without completing all work + + true if the WorkShift should be aborted, false if it should allow its currently running tests to complete + + + + TextMessageWriter writes constraint descriptions and messages + in displayable form as a text stream. It tailors the display + of individual message components to form the standard message + format of NUnit assertion failure messages. + + + + + Prefix used for the expected value line of a message + + + + + Prefix used for the actual value line of a message + + + + + Prefix used for the actual difference between actual and expected values if compared with a tolerance + + + + + Length of a message prefix + + + + + Construct a TextMessageWriter + + + + + Construct a TextMessageWriter, specifying a user message + and optional formatting arguments. + + + + + + + Gets or sets the maximum line length for this writer + + + + + Method to write single line message with optional args, usually + written to precede the general failure message, at a given + indentation level. + + The indentation level of the message + The message to be written + Any arguments used in formatting the message + + + + Display Expected and Actual lines for a constraint. This + is called by MessageWriter's default implementation of + WriteMessageTo and provides the generic two-line display. + + The result of the constraint that failed + + + + Gets the unique type name between expected and actual. + + The expected value + The actual value causing the failure + Output of the unique type name for expected + Output of the unique type name for actual + + + + Display Expected and Actual lines for given values. This + method may be called by constraints that need more control over + the display of actual and expected values than is provided + by the default implementation. + + The expected value + The actual value causing the failure + + + + Display Expected and Actual lines for given values, including + a tolerance value on the expected line. + + The expected value + The actual value causing the failure + The tolerance within which the test was made + + + + Display the expected and actual string values on separate lines. + If the mismatch parameter is >=0, an additional line is displayed + line containing a caret that points to the mismatch point. + + The expected string value + The actual string value + The point at which the strings don't match or -1 + If true, case is ignored in string comparisons + If true, clip the strings to fit the max line length + + + + Writes the text for an actual value. + + The actual value. + + + + Writes the text for a generalized value. + + The value. + + + + Writes the text for a collection value, + starting at a particular point, to a max length + + The collection containing elements to write. + The starting point of the elements to write + The maximum number of elements to write + + + + Write the generic 'Expected' line for a constraint + + The constraint that failed + + + + Write the generic 'Expected' line for a given value + and tolerance. + + The expected value + The tolerance within which the test was made + + + + Write the generic 'Actual' line for a constraint + + The ConstraintResult for which the actual value is to be written + + + + Write the generic 'Actual' line for a given value + + The actual value causing a failure + + + + Extensions to . + + + + + Adds the skip reason to tests that are ignored until a specific date. + + The test properties to add the skip reason to + The date that the test is being ignored until + The reason the test is being ignored until that date + + + + Combines multiple filters so that a test must pass all + of them in order to pass this filter. + + + + + Constructs an empty AndFilter + + + + + Constructs an AndFilter from an array of filters + + + + + + Checks whether the AndFilter is matched by a test + + The test to be matched + If set to we are carrying a negation through + True if all the component filters pass, otherwise false + + + + Checks whether the AndFilter is matched by a test + + The test to be matched + True if all the component filters match, otherwise false + + + + Checks whether the AndFilter is explicit matched by a test. + + The test to be matched + True if all the component filters explicit match, otherwise false + + + + Gets the element name + + Element name + + + + CategoryFilter is able to select or exclude tests + based on their categories. + + + + + Construct a CategoryFilter using a single category name + + A category name + + + + Check whether the filter matches a test + + The test to be matched + + + + + Gets the element name + + Element name + + + + ClassName filter selects tests based on the class FullName + + + + + Construct a FullNameFilter for a single name + + The name the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + A base class for multi-part filters + + + + + Constructs an empty CompositeFilter + + + + + Constructs a CompositeFilter from an array of filters + + + + + + Return a list of the composing filters. + + + + + Checks whether the CompositeFilter is matched by a test. + + The test to be matched + If set to we are carrying a negation through + + + + Checks whether the CompositeFilter is matched by a test. + + The test to be matched + + + + Checks whether the CompositeFilter is explicit matched by a test. + + The test to be matched + + + + Adds an XML node + + Parent node + True if recursive + The added XML node + + + + Gets the element name + + Element name + + + + FullName filter selects tests based on their FullName + + + + + Construct a FullNameFilter for a single name + + The name the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + IdFilter selects tests based on their id + + + + + Construct an IdFilter for a single value + + The id the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + FullName filter selects tests based on their FullName + + + + + Construct a MethodNameFilter for a single name + + The name the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + ClassName filter selects tests based on the class FullName + + + + + Construct a NamespaceFilter for a single namespace + + The namespace the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + NotFilter negates the operation of another filter + + + + + Construct a not filter on another filter + + The filter to be negated + + + + Gets the base filter + + + + + Determine if a particular test passes the filter criteria. + + The test to which the filter is applied + If set to we are carrying a negation through + True if the test passes the filter, otherwise false + + + + Check whether the filter matches a test + + The test to be matched + True if it matches, otherwise false + + + + Determine if a test matches the filter explicitly. That is, it must + be a direct match of the test itself or one of its children. + + The test to which the filter is applied + True if the test matches the filter explicitly, otherwise false + + + + Adds an XML node + + Parent node + True if recursive + The added XML node + + + + Combines multiple filters so that a test must pass one + of them in order to pass this filter. + + + + + Constructs an empty OrFilter + + + + + Constructs an OrFilter from an array of filters + + + + + + Checks whether the OrFilter is matched by a test + + The test to be matched + If set to we are carrying a negation through + True if any of the component filters pass, otherwise false + + + + Checks whether the OrFilter is matched by a test + + The test to be matched + True if any of the component filters match, otherwise false + + + + Checks whether the OrFilter is explicit matched by a test + + The test to be matched + True if any of the component filters explicit match, otherwise false + + + + Gets the element name + + Element name + + + + PropertyFilter is able to select or exclude tests + based on their properties. + + + + + Construct a PropertyFilter using a property name and expected value + + A property name + The expected value of the property + + + + Check whether the filter matches a test + + The test to be matched + + + + + Adds an XML node + + Parent node + True if recursive + The added XML node + + + + Gets the element name + + Element name + + + + TestName filter selects tests based on their Name + + + + + Construct a TestNameFilter for a single name + + The name the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + ValueMatchFilter selects tests based on some value, which + is expected to be contained in the test. + + + + + Returns the value matched by the filter - used for testing + + + + + Indicates whether the value is a regular expression + + + + + Construct a ValueMatchFilter for a single value. + + The value to be included. + + + + Match the input provided by the derived class + + The value to be matched + True for a match, false otherwise. + + + + Adds an XML node + + Parent node + True if recursive + The added XML node + + + + Gets the element name + + Element name + + + + GenericMethodHelper is able to deduce the Type arguments for + a generic method from the actual arguments provided. + + + + + A special value, which is used to indicate that BestCommonType() method + was unable to find a common type for the specified arguments. + + + + + Construct a GenericMethodHelper for a method + + MethodInfo for the method to examine + + + + Return the type arguments for the method, deducing them + from the arguments actually provided. + + The arguments to the method + If successful, an array of type arguments. + + + + A minimalistic implementation of an immutable stack. Add members as needed. + + + + + Represents an empty stack. may be used instead. + + + + + Returns a new immutable stack which begins with the specified value and continues with the values in the + current stack. + + The beginning value of the new stack. + + + + InvalidTestFixtureException is thrown when an appropriate test + fixture constructor using the provided arguments cannot be found. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner. + + + + Serialization Constructor + + + + + InvalidPlatformException is thrown when the platform name supplied + to a test is not recognized. + + + + + Instantiates a new instance of the class. + + + + + Instantiates a new instance of the class + + The message. + + + + Instantiates a new instance of the class + + The message. + The inner. + + + + Serialization constructor for the class + + + + + InvalidTestFixtureException is thrown when an appropriate test + fixture constructor using the provided arguments cannot be found. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner. + + + + Serialization Constructor + + + + + Interface for logging within the engine + + + + + Logs the specified message at the error level. + + The message. + + + + Logs the specified message at the error level. + + The message. + The arguments. + + + + Logs the specified message at the warning level. + + The message. + + + + Logs the specified message at the warning level. + + The message. + The arguments. + + + + Logs the specified message at the info level. + + The message. + + + + Logs the specified message at the info level. + + The message. + The arguments. + + + + Logs the specified message at the debug level. + + The message. + + + + Logs the specified message at the debug level. + + The message. + The arguments. + + + + InternalTrace provides facilities for tracing the execution + of the NUnit framework. Tests and classes under test may make use + of Console writes, System.Diagnostics.Trace or various loggers and + NUnit itself traps and processes each of them. For that reason, a + separate internal trace is needed. + + Note: + InternalTrace uses a global lock to allow multiple threads to write + trace messages. This can easily make it a bottleneck so it must be + used sparingly. Keep the trace Level as low as possible and only + insert InternalTrace writes where they are needed. + TODO: add some buffering and a separate writer thread as an option. + TODO: figure out a way to turn on trace in specific classes only. + + + + + Gets a flag indicating whether the InternalTrace is initialized + + + + + Initialize the internal trace facility using the name of the log + to be written to and the trace level. + + The log name + The trace level + + + + Initialize the internal trace using a provided TextWriter and level + + A TextWriter + The InternalTraceLevel + + + + Get a named Logger + + + + + + Get a logger named for a particular Type. + + + + + InternalTraceLevel is an enumeration controlling the + level of detailed presented in the internal log. + + + + + Use the default settings as specified by the user. + + + + + Do not display any trace messages + + + + + Display Error messages only + + + + + Display Warning level and higher messages + + + + + Display informational and higher messages + + + + + Display debug messages and higher - i.e. all messages + + + + + Display debug messages and higher - i.e. all messages + + + + + A trace listener that writes to a separate file per domain + and process using it. + + + + + Construct an InternalTraceWriter that writes to a file. + + Path to the file to use + + + + Construct an InternalTraceWriter that writes to a + TextWriter provided by the caller. + + + + + + Returns the character encoding in which the output is written. + + The character encoding in which the output is written. + + + + Writes a character to the text string or stream. + + The character to write to the text stream. + + + + Writes a string to the text string or stream. + + The string to write. + + + + Writes a string followed by a line terminator to the text string or stream. + + The string to write. If is null, only the line terminator is written. + + + + Releases the unmanaged resources used by the and optionally releases the managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Clears all buffers for the current writer and causes any buffered data to be written to the underlying device. + + + + + Provides internal logging to the NUnit framework + + + + + Initializes a new instance of the class. + + The name. + The log level. + The writer where logs are sent. + + + + Logs the message at error level. + + The message. + + + + Logs the message at error level. + + The message. + The message arguments. + + + + Logs the message at warm level. + + The message. + + + + Logs the message at warning level. + + The message. + The message arguments. + + + + Logs the message at info level. + + The message. + + + + Logs the message at info level. + + The message. + The message arguments. + + + + Logs the message at debug level. + + The message. + + + + Logs the message at debug level. + + The message. + The message arguments. + + + + The MethodWrapper class wraps a MethodInfo so that it may + be used in a platform-independent manner. + + + + + Construct a MethodWrapper for a Type and a MethodInfo. + + + + + Construct a MethodInfo for a given Type and method name. + + + + + Gets the Type from which this method was reflected. + + + + + Gets the MethodInfo for this method. + + + + + Gets the name of the method. + + + + + Gets a value indicating whether the method is abstract. + + + + + Gets a value indicating whether the method is public. + + + + + Gets a value indicating whether the method is static. + + + + + Gets a value indicating whether the method contains unassigned generic type parameters. + + + + + Gets a value indicating whether the method is a generic method. + + + + + Gets a value indicating whether the MethodInfo represents the definition of a generic method. + + + + + Gets the return Type of the method. + + + + + Gets the parameters of the method. + + + + + + Returns the Type arguments of a generic method or the Type parameters of a generic method definition. + + + + + Replaces the type parameters of the method with the array of types provided and returns a new IMethodInfo. + + The type arguments to be used + A new IMethodInfo with the type arguments replaced + + + + Returns an array of custom attributes of the specified type applied to this method + + + + + Gets a value indicating whether one or more attributes of the specified type are defined on the method. + + + + + Invokes the method, converting any TargetInvocationException to an NUnitException. + + The object on which to invoke the method + The argument list for the method + The return value from the invoked method + + + + Override ToString() so that error messages in NUnit's own tests make sense + + + + + This class ensures the is correctly cleared + or restored around framework actions. This is important if running multiple assemblies within the same + process, to ensure no leakage from one assembly to the next. See https://github.com/nunit/nunit-console/issues/325 + + + + + Thrown when an assertion failed. Here to preserve the inner + exception and hence its stack trace. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The error message that explains + the reason for the exception + + + + Initializes a new instance of the class. + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + Serialization Constructor + + + + + Enables the syntax. + + + + + Wraps an action so that it is executed when the returned object is disposed. + This disposal is thread-safe and the action will be executed at most once. + + + + + OSPlatform represents a particular operating system platform + + + + + Platform ID for Unix as defined by .NET + + + + + Platform ID for Unix as defined by Mono + + + + + Platform ID for XBox as defined by .NET and Mono + + + + + Platform ID for MacOSX as defined by .NET and Mono + + + + + Get the OSPlatform under which we are currently running + + + + + Gets the actual OS Version, not the incorrect value that might be + returned for Win 8.1 and Win 10 + + + If an application is not manifested as Windows 8.1 or Windows 10, + the version returned from Environment.OSVersion will not be 6.3 and 10.0 + respectively, but will be 6.2 and 6.3. The correct value can be found in + the registry. + + The original version + The correct OS version + + + + Product Type Enumeration used for Windows + + + + + Product type is unknown or unspecified + + + + + Product type is Workstation + + + + + Product type is Domain Controller + + + + + Product type is Server + + + + + Construct from a platform ID and version + + + + + Construct from a platform ID, version and product type + + + + + Get the platform ID of this instance + + + + + Implemented to use in place of Environment.OSVersion.ToString() + + A representation of the platform ID and version in an approximation of the format used by Environment.OSVersion.ToString() + + + + Get the Version of this instance + + + + + Get the Product Type of this instance + + + + + Return true if this is a windows platform + + + + + Return true if this is a Unix or Linux platform + + + + + Return true if the platform is Win32S + + + + + Return true if the platform is Win32Windows + + + + + Return true if the platform is Win32NT + + + + + Return true if the platform is Windows CE + + + + + Return true if the platform is Xbox + + + + + Return true if the platform is MacOSX + + + + + Return true if the platform is Windows 95 + + + + + Return true if the platform is Windows 98 + + + + + Return true if the platform is Windows ME + + + + + Return true if the platform is NT 3 + + + + + Return true if the platform is NT 4 + + + + + Return true if the platform is NT 5 + + + + + Return true if the platform is Windows 2000 + + + + + Return true if the platform is Windows XP + + + + + Return true if the platform is Windows 2003 Server + + + + + Return true if the platform is NT 6 + + + + + Return true if the platform is NT 6.0 + + + + + Return true if the platform is NT 6.1 + + + + + Return true if the platform is NT 6.2 + + + + + Return true if the platform is NT 6.3 + + + + + Return true if the platform is Vista + + + + + Return true if the platform is Windows 2008 Server (original or R2) + + + + + Return true if the platform is Windows 2008 Server (original) + + + + + Return true if the platform is Windows 2008 Server R2 + + + + + Return true if the platform is Windows 2012 Server (original or R2) + + + + + Return true if the platform is Windows 2012 Server (original) + + + + + Return true if the platform is Windows 2012 Server R2 + + + + + Return true if the platform is Windows 7 + + + + + Return true if the platform is Windows 8 + + + + + Return true if the platform is Windows 8.1 + + + + + Return true if the platform is Windows 10 + + + + + Return true if the platform is Windows Server. This is named Windows + Server 10 to distinguish it from previous versions of Windows Server. + + + + + + Examines an attribute argument and tries to simulate what that value would have been if the literal syntax + which might have defined the value in C# had instead been used as an argument to a given method parameter in a direct call. + + + For example, since you can’t apply attributes using arguments, we allow the C# syntax + 10 ( value) or 0.1 ( value) to be specified. + NUnit then converts it to match the method’s parameters, just as if you were actually + using the syntax TestMethod(10) or TestMethod(0.1). + + + For another example, you might have written the syntax 10 and picked up the attribute + constructor overload; however, the test method for which this value is intended only has a + signature. Again, NUnit simulates what would have happened if the inferred C# syntax was transplanted + and you were actually using the syntax TestMethod(10). + + + + + + Converts an array of objects to the , if it is supported. + + + + + Converts a single value to the , if it is supported. + + + + + Performs several special conversions allowed by NUnit in order to + permit arguments with types that cannot be used in the constructor + of an Attribute such as TestCaseAttribute or to simplify their use. + + The value to be converted + The target in which the should be converted + If conversion was successfully applied, the converted into + + if was converted and should be used; + is no conversion was applied and should be ignored + + + + + The ParameterWrapper class wraps a ParameterInfo so that it may + be used in a platform-independent manner. + + + + + Construct a ParameterWrapper for a given method and parameter + + + + + + + Gets a value indicating whether the parameter is optional + + + + + Gets an IMethodInfo representing the method for which this is a parameter. + + + + + Gets the underlying ParameterInfo + + + + + Gets the Type of the parameter + + + + + Returns an array of custom attributes of the specified type applied to this method + + + + + Gets a value indicating whether one or more attributes of the specified type are defined on the parameter. + + + + + PlatformHelper class is used by the PlatformAttribute class to + determine whether a platform is supported. + + + + + Comma-delimited list of all supported OS platform constants + + + + + Comma-delimited list of all supported Runtime platform constants + + + + + Default constructor uses the operating system and + common language runtime of the system. + + + + + Construct a PlatformHelper for a particular operating + system and common language runtime. Used in testing. + + RuntimeFramework to be used + OperatingSystem to be used + + + + Test to determine if one of a collection of platforms + is being used currently. + + + + + + + Tests to determine if the current platform is supported + based on a platform attribute. + + The attribute to examine + + + + + Tests to determine if the current platform is supported + based on a platform attribute. + + The attribute to examine + + + + + Test to determine if a particular platform or comma-delimited set of platforms is in use. + + Name of the platform or comma-separated list of platform ids + True if the platform is in use on the system + + + + Return the last failure reason. Results are not + defined if called before IsSupported( Attribute ) + is called. + + + + + Implements a simplified filter for use in deciding which + Types and Methods should be used to generate tests. It is constructed with a + list of strings, each of which may end up being interpreted in various ways. + + + + + Return a new PreFilter, without elements, which is considered + empty and always matches. + + + + + Return true if the filter is empty, in which case it + always succeeds. Technically, this is just a filter and + you can add elements but it's best to use Empty when + you need an empty filter and new when you plan to add. + + + + + Add a new filter element to the filter + + + + + + Use the filter on a Type, returning true if the type matches the filter + and should therefore be included in the discovery process. + + + + + Use the filter on a Type, returning true if the type matches the filter + and should therefore be included in the discovery process. + + + + + A PropertyBag represents a collection of name value pairs + that allows duplicate entries with the same key. Methods + are provided for adding a new pair as well as for setting + a key to a single value. All keys are strings but values + may be of any type. Null values are not permitted, since + a null entry represents the absence of the key. + + + + + Adds a key/value pair to the property set + + The key + The value + + + + Sets the value for a key, removing any other + values that are already in the property set. + + + + + + + Gets a single value for a key, using the first + one if multiple values are present and returning + null if the value is not found. + + + + + + + Gets a flag indicating whether the specified key has + any entries in the property set. + + The key to be checked + + True if their are values present, otherwise false + + + + + Gets a collection containing all the keys in the property set + + + + + + Gets or sets the list of values for a particular key + + + + + Returns an XmlNode representing the current PropertyBag. + + Not used + An XmlNode representing the PropertyBag + + + + Returns an XmlNode representing the PropertyBag after + adding it as a child of the supplied parent node. + + The parent node. + Not used + + + + + The PropertyNames class provides static constants for the + standard property ids that NUnit uses on tests. + + + + + The FriendlyName of the AppDomain in which the assembly is running + + + + + The selected strategy for joining parameter data into test cases + + + + + The process ID of the executing assembly + + + + + The stack trace from any data provider that threw + an exception. + + + + + The reason a test was not run + + + + + The author of the tests + + + + + The ApartmentState required for running the test + + + + + The categories applying to a test + + + + + The Description of a test + + + + + The number of threads to be used in running tests + + + + + The maximum time in ms, above which the test is considered to have failed + + + + + The ParallelScope associated with a test + + + + + The number of times the test should be repeated + + + + + Indicates that the test should be run on a separate thread + + + + + The culture to be set for a test + + + + + The UI culture to be set for a test + + + + + The type that is under test + + + + + The timeout value for the test + + + + + The test will be ignored until the given date + + + + + The optional Order the test will run in + + + + + Randomizer returns a set of random values in a repeatable + way, to allow re-running of tests if necessary. It extends + the .NET Random class, providing random values for a much + wider range of types. + + The class is used internally by the framework to generate + test case data and is also exposed for use by users through + the TestContext.Random property. + + + For consistency with the underlying Random Type, methods + returning a single value use the prefix "Next..." Those + without an argument return a non-negative value up to + the full positive range of the Type. Overloads are provided + for specifying a maximum or a range. Methods that return + arrays or strings use the prefix "Get..." to avoid + confusion with the single-value methods. + + + + + Initial seed used to create randomizers for this run + + + + + Get a Randomizer for a particular member, returning + one that has already been created if it exists. + This ensures that the same values are generated + each time the tests are reloaded. + + + + + Get a randomizer for a particular parameter, returning + one that has already been created if it exists. + This ensures that the same values are generated + each time the tests are reloaded. + + + + + Create a new Randomizer using the next seed + available to ensure that each randomizer gives + a unique sequence of values. + + + + + + Default constructor + + + + + Construct based on seed value + + + + + + Returns a random unsigned int. + + + + + Returns a random unsigned int less than the specified maximum. + + + + + Returns a random unsigned int within a specified range. + + + + + Returns a non-negative random short. + + + + + Returns a non-negative random short less than the specified maximum. + + + + + Returns a non-negative random short within a specified range. + + + + + Returns a random unsigned short. + + + + + Returns a random unsigned short less than the specified maximum. + + + + + Returns a random unsigned short within a specified range. + + + + + Returns a random long. + + + + + Returns a random long less than the specified maximum. + + + + + Returns a non-negative random long within a specified range. + + + + + Returns a random ulong. + + + + + Returns a random ulong less than the specified maximum. + + + + + Returns a non-negative random long within a specified range. + + + + + Returns a random Byte + + + + + Returns a random Byte less than the specified maximum. + + + + + Returns a random Byte within a specified range + + + + + Returns a random SByte + + + + + Returns a random sbyte less than the specified maximum. + + + + + Returns a random sbyte within a specified range + + + + + Returns a random bool + + + + + Returns a random bool based on the probability a true result + + + + + Returns a random double between 0.0 and the specified maximum. + + + + + Returns a random double within a specified range. + + + + + Returns a random float. + + + + + Returns a random float between 0.0 and the specified maximum. + + + + + Returns a random float within a specified range. + + + + + Returns a random enum value of the specified Type as an object. + + + + + Returns a random enum value of the specified Type. + + + + + Default characters for random functions. + + Default characters are the English alphabet (uppercase & lowercase), Arabic numerals, and underscore + + + + Generate a random string based on the characters from the input string. + + desired length of output string. + string representing the set of characters from which to construct the resulting string + A random string of arbitrary length + + + + Generate a random string based on the characters from the input string. + + desired length of output string. + A random string of arbitrary length + Uses DefaultStringChars as the input character set + + + + Generate a random string based on the characters from the input string. + + A random string of the default length + Uses DefaultStringChars as the input character set + + + + Returns a random decimal. + + + + + Returns a random decimal between positive zero and the specified maximum. + + + + + Returns a random decimal within a specified range, which is not + permitted to exceed decimal.MaxVal in the current implementation. + + + A limitation of this implementation is that the range from min + to max must not exceed decimal.MaxVal. + + + + + Generates a valid version 4 . + + + + + Helper methods for inspecting a type by reflection. + + Many of these methods take ICustomAttributeProvider as an + argument to avoid duplication, even though certain attributes can + only appear on specific types of members, like MethodInfo or Type. + + In the case where a type is being examined for the presence of + an attribute, interface or named member, the Reflect methods + operate with the full name of the member being sought. This + removes the necessity of the caller having a reference to the + assembly that defines the item being sought and allows the + NUnit core to inspect assemblies that reference an older + version of the NUnit framework. + + + + + Examine a fixture type and return true if it has a method with + a particular attribute. + + The type to examine + The attribute Type to look for + True if found, otherwise false + + + + Invoke the default constructor on a Type + + The Type to be constructed + An instance of the Type + + + + Invoke a constructor on a Type with arguments + + The Type to be constructed + Arguments to the constructor + An instance of the Type + + + + Returns an array of types from an array of objects. + Differs from by returning + for null elements rather than throwing . + + + + + Gets the constructors to which the specified argument types can be coerced. + + + + + Determines if the given types can be coerced to match the given parameters. + + + + + Determines whether the current type can be implicitly converted to the specified type. + + + + + Invoke a parameterless method returning void on an object. + + A MethodInfo for the method to be invoked + The object on which to invoke the method + + + + Invoke a method, converting any TargetInvocationException to an NUnitException. + + A MethodInfo for the method to be invoked + The object on which to invoke the method + The argument list for the method + The return value from the invoked method + + + + + Selects the ultimate shadowing property just like dynamic would, + rather than throwing + for properties that shadow properties of a different property type + which is what does. + + + If you request both public and nonpublic properties, every public property is preferred + over every nonpublic property. It would violate the principle of least surprise for a + derived class’s implementation detail to be chosen over the public API for a type. + + + See . + See . + See . + + + + Same as GetMethod(, | + , , , + ) except that it also chooses only non-generic methods. + Useful for avoiding the you can have with GetMethod. + + + + + Returns the get accessor for the indexer. + + Type to reflect on for the indexer. + List of indexer types that matches the indexer type order. + The Get accessor + + + + Represents the result of running a single test case. + + + + + Construct a TestCaseResult based on a TestMethod + + A TestMethod to which the result applies. + + + + Gets the number of test cases that failed + when running the test and all its children. + + + + + Gets the number of test cases that executed + when running the test and all its children. + + + + + Gets the number of test cases that had warnings + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + Indicates whether this result has any child results. + + + + + Gets the collection of child results. + + + + + The TestResult class represents the result of a test. + + + + + Error message for when child tests have errors + + + + + Error message for when child tests have warnings + + + + + Error message for when child tests are ignored + + + + + Error message for when user has cancelled the test run + + + + + The minimum duration for tests + + + + + Aggregate assertion count + + + + + ReaderWriterLock + + + + + Construct a test result given a Test + + The test to be used + + + + Gets the test with which this result is associated. + + + + + Gets the ResultState of the test result, which + indicates the success or failure of the test. + + + + + Gets the name of the test result + + + + + Gets the full name of the test result + + + + + Gets or sets the elapsed time for running the test in seconds + + + + + Gets or sets the time the test started running. + + + + + Gets or sets the time the test finished running. + + + + + Adds a test attachment to the test result + + The TestAttachment object to attach + + + + Gets the collection of files attached to the test + + + + + Gets the message associated with a test + failure or with not running the test + + + + + Gets any stack trace associated with an + error or failure. + + + + + Gets or sets the count of asserts executed + when running the test. + + + + + Gets the number of test cases executed + when running the test and all its children. + + + + + Gets the number of test cases that failed + when running the test and all its children. + + + + + Gets the number of test cases that had warnings + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + Indicates whether this result has any child results. + + + + + Gets the collection of child results. + + + + + Gets a TextWriter, which will write output to be included in the result. + + + + + Gets any text output written to this result. + + + + + Gets a list of assertion results associated with the test. + + + + + Returns the XML representation of the result. + + If true, descendant results are included + An XmlNode representing the result + + + + Adds the XML representation of the result as a child of the + supplied parent node.. + + The parent node. + If true, descendant results are included + + + + + Gets a count of pending failures (from Multiple Assert) + + + + + Gets the worst assertion status (highest enum) in all the assertion results + + + + + Set the result of the test + + The ResultState to use in the result + + + + Set the result of the test + + The ResultState to use in the result + A message associated with the result state + + + + Set the result of the test + + The ResultState to use in the result + A message associated with the result state + Stack trace giving the location of the command + + + + Set the test result based on the type of exception thrown + + The exception that was thrown + + + + Set the test result based on the type of exception thrown + + The exception that was thrown + The FailureSite to use in the result + + + + RecordTearDownException appends the message and stack trace + from an exception arising during teardown of the test + to any previously recorded information, so that any + earlier failure information is not lost. Note that + calling Assert.Ignore, Assert.Inconclusive, etc. during + teardown is treated as an error. If the current result + represents a suite, it may show a teardown error even + though all contained tests passed. + + The Exception to be recorded + + + + Update overall test result, including legacy Message, based + on AssertionResults that have been saved to this point. + + + + + Record an assertion result + + + + + Record an assertion result + + + + + Record an assertion result + + + + + Creates a failure message incorporating failures + from a Multiple Assert block for use by runners + that don't know about AssertionResults. + + Message as a string + + + + Adds a failure element to a node and returns it. + + The target node. + The new failure element. + + + + Adds an attachments element to a node and returns it. + + The target node. + The new attachments element. + + + + Represents the result of running a test suite + + + + + Construct a TestSuiteResult base on a TestSuite + + The TestSuite to which the result applies + + + + Gets the number of test cases that executed + when running the test and all its children. + + + + + Gets the number of test cases that failed + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + Indicates whether this result has any child results. + + + + + Gets the collection of child results. + + + + + Adds a child result to this result, setting this result's + ResultState to Failure if the child result failed. + + The result to be added + + + + RuntimeFramework represents a particular version + of a common language runtime implementation. + + + + + DefaultVersion is an empty Version, used to indicate that + NUnit should select the CLR version to use for the test. + + + + + Construct from a runtime type and version. If the version has + two parts, it is taken as a framework version. If it has three + or more, it is taken as a CLR version. In either case, the other + version is deduced based on the runtime type and provided version. + + The runtime type of the framework + The version of the framework + + + + Static method to return a RuntimeFramework object + for the framework that is currently in use. + + + + + The type of this runtime framework + + + + + The framework version for this runtime framework + + + + + The CLR version for this runtime framework + + + + + Return true if any CLR version may be used in + matching this RuntimeFramework object. + + + + + Returns the Display name for this framework + + + + + Parses a string representing a RuntimeFramework. + The string may be just a RuntimeType name or just + a Version or a hyphenated RuntimeType-Version or + a Version prefixed by 'versionString'. + + + + + + + Overridden to return the short name of the framework + + + + + + Returns true if the current framework matches the + one supplied as an argument. Two frameworks match + if their runtime types are the same or either one + is RuntimeType.Any and all specified version components + are equal. Negative (i.e. unspecified) version + components are ignored. + + The RuntimeFramework to be matched. + True on match, otherwise false + + + + Enumeration identifying a common language + runtime implementation. + + + + Any supported runtime framework + + + Microsoft .NET Framework + + + Microsoft .NET Framework + + + Microsoft Shared Source CLI + + + Mono + + + MonoTouch + + + Microsoft .NET Core, including .NET 5+ + + + + Holds thread state which is captured and restored in order to sandbox user code. + + + + + Thread principal. + This will be null on platforms that don't support . + + + + + Captures a snapshot of the tracked state of the current thread to be restored later. + + + + + Restores the tracked state of the current thread to the previously captured state. + + + + + Returns a copy with the specified culture. + + + + + Returns a copy with the specified UI culture. + + + + + Returns a copy with the specified principal. + + + + + May be called from any thread. + + + + + May be called from any thread. + + + + + May be called from any thread. + + + + + May be called from any thread, but may only be called once. + + + + + StackFilter class is used to remove internal NUnit + entries from a stack trace so that the resulting + trace provides better information about the test. + + + + + Single instance of our default filter + + + + + Construct a stack filter instance + + Regex pattern used to delete lines from the top of the stack + Regex pattern used to delete lines from the bottom of the stack + + + + Construct a stack filter instance + + Regex pattern used to delete lines from the top of the stack + + + + Construct a stack filter instance + + + + + Filters a raw stack trace and returns the result. + + The original stack trace + A filtered stack trace + + + + Provides methods to support legacy string comparison methods. + + + + + Compares two strings for equality, ignoring case if requested. + + The first string. + The second string.. + if set to , the case of the letters in the strings is ignored. + Zero if the strings are equivalent, a negative number if strA is sorted first, a positive number if + strB is sorted first + + + + Compares two strings for equality, ignoring case if requested. + + The first string. + The second string.. + if set to , the case of the letters in the strings is ignored. + True if the strings are equivalent, false if not. + + + + The TestCaseParameters class encapsulates method arguments and + other selected parameters needed for constructing + a parameterized test case. + + + + + The expected result to be returned + + + + + Default Constructor creates an empty parameter set + + + + + Construct a non-runnable ParameterSet, specifying + the provider exception that made it invalid. + + + + + Construct a parameter set with a list of arguments + + + + + + Construct a ParameterSet from an object implementing ITestCaseData + + + + + + The expected result of the test, which + must match the method return type. + + + + + Gets a value indicating whether an expected result was specified. + + + + + TestCaseTimeoutException is thrown when a test running directly + on a TestWorker thread is cancelled due to timeout. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner. + + + + Serialization Constructor + + + + + Helper class used to save and restore certain static or + singleton settings in the environment that affect tests + or which might be changed by the user tests. + + + + + Link to a prior saved context + + + + + Indicates that a stop has been requested + + + + + The event listener currently receiving notifications + + + + + The number of assertions for the current test + + + + + The current test result + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + An existing instance of TestExecutionContext. + + + + Gets and sets the current context. + + + + + Gets or sets the current test + + + + + The time the current test started execution + + + + + The time the current test started in Ticks + + + + + Gets the elapsed time for running the test in seconds + + + + + Gets or sets the current test result + + + + + Gets a TextWriter that will send output to the current test result. + + + + + The current test object - that is the user fixture + object on which tests are being executed. + + + + + Get or set indicator that run should stop on the first error + + + + + Gets an enum indicating whether a stop has been requested. + + + + + The current test event listener + + + + + The current WorkItemDispatcher. Made public for + use by nunitlite.tests + + + + + The ParallelScope to be used by tests running in this context. + For builds with out the parallel feature, it has no effect. + + + + + Default tolerance value used for floating point equality + when no other tolerance is specified. + + + + + The worker that spawned the context. + For builds without the parallel feature, it is null. + + + + + Gets the RandomGenerator specific to this Test + + + + + Gets the assert count. + + The assert count. + + + + The current nesting level of multiple assert blocks + + + + + Gets or sets the test case timeout value + + + + + Gets a list of ITestActions set by upstream tests + + + + + Saves or restores the CurrentCulture + + + + + Saves or restores the CurrentUICulture + + + + + Gets or sets the current for the Thread. + + + + + The current head of the ValueFormatter chain, copied from MsgUtils.ValueFormatter + + + + + If true, all tests must run on the same thread. No new thread may be spawned. + + + + + The number of times the current test has been scheduled for execution. + Currently only being executed in a test using the + + + + + Record any changes in the environment made by + the test code in the execution context so it + will be passed on to lower level tests. + + + + + Set up the execution environment to match a context. + Note that we may be running on the same thread where the + context was initially created or on a different thread. + + + + + Increments the assert count by one. + + + + + Increments the assert count by a specified amount. + + + + + Adds a new ValueFormatterFactory to the chain of formatters + + The new factory + + + + Sends a message from test to listeners. This message is not kind of test output and doesn't go to test result. + + A name recognized by the intended listeners. + A message to be sent + + + + Obtain lifetime service object + + + + + + An IsolatedContext is used when running code + that may effect the current result in ways that + should not impact the final result of the test. + A new TestExecutionContext is created with an + initially clear result, which is discarded on + exiting the context. + + + using (new TestExecutionContext.IsolatedContext()) + { + // Code that should not impact the result + } + + + + + Save the original current TestExecutionContext and + make a new isolated context current. + + + + + Restore the original TestExecutionContext. + + + + + An AdhocTestExecutionContext is created whenever a context is needed + but not available in CurrentContext. This happens when tests are run + on an ad-hoc basis or Asserts are used outside of tests. + + + + + Construct an AdhocTestExecutionContext, which is used + whenever the current TestExecutionContext is found to be null. + + + + + Enumeration indicating whether the tests are + running normally or being cancelled. + + + + + Running normally with no stop requested + + + + + A graceful stop has been requested + + + + + A forced stop has been requested + + + + + Interface to be implemented by filters applied to tests. + The filter applies when running the test, after it has been + loaded, since this is the only time an ITest exists. + + + + + Unique Empty filter. + + + + + Indicates whether this is the EmptyFilter + + + + + Indicates whether this is a top-level filter, + not contained in any other filter. + + + + + Determine if a particular test passes the filter criteria. The default + implementation checks the test itself, its parents and any descendants. + + Derived classes may override this method or any of the Match methods + to change the behavior of the filter. + + The test to which the filter is applied + True if the test passes the filter, otherwise false + + + + Determine if a particular test passes the filter criteria. The default + implementation checks the test itself, its parents and any descendants. + + Derived classes may override this method or any of the Match methods + to change the behavior of the filter. + + The test to which the filter is applied + If set to we are carrying a negation through + True if the test passes the filter, otherwise false + + + + Determine if a test matches the filter explicitly. That is, it must + be a direct match of the test itself or one of its children. + + The test to which the filter is applied + True if the test matches the filter explicitly, otherwise false + + + + Determine whether the test itself matches the filter criteria, without + examining either parents or descendants. This is overridden by each + different type of filter to perform the necessary tests. + + The test to which the filter is applied + True if the filter matches the any parent of the test + + + + Determine whether any ancestor of the test matches the filter criteria + + The test to which the filter is applied + True if the filter matches the an ancestor of the test + + + + Determine whether any descendant of the test matches the filter criteria. + + The test to be matched + True if at least one descendant matches the filter criteria + + + + Create a TestFilter instance from an XML representation. + + + + + Create a TestFilter from its TNode representation + + + + + Nested class provides an empty filter - one that always + returns true when called. It never matches explicitly. + + + + + Adds an XML node + + True if recursive + The added XML node + + + + Adds an XML node + + Parent node + True if recursive + The added XML node + + + + The TestCaseParameters class encapsulates method arguments and + other selected parameters needed for constructing + a parameterized test case. + + + + + Default Constructor creates an empty parameter set + + + + + Construct a non-runnable ParameterSet, specifying + the provider exception that made it invalid. + + + + + Construct a parameter set with a list of arguments + + + + + + Construct a ParameterSet from an object implementing ITestCaseData + + + + + + Type arguments used to create a generic fixture instance + + + + + TestListener provides an implementation of ITestListener that + does nothing. It is used only through its NULL property. + + + + + Called when a test has just started + + The test that is starting + + + + Called when a test case has finished + + The result of the test + + + + Called when a test produces output for immediate display + + A TestOutput object containing the text to display + + + + Called when a test produces a message to be sent to listeners + + A object containing the message to send + + + + Construct a new TestListener - private so it may not be used. + + + + + Get a listener that does nothing + + + + + TestNameGenerator is able to create test names according to + a coded pattern. + + + + + Default pattern used to generate names + + + + + Construct a TestNameGenerator + + + + + Construct a TestNameGenerator + + The pattern used by this generator. + + + + Get the display name for a TestMethod and its arguments + + A TestMethod + The display name + + + + Get the display name for a TestMethod and its arguments + + A TestMethod + Arguments to be used + The display name + + + + TestParameters is the abstract base class for all classes + that know how to provide data for constructing a test. + + + + + Default Constructor creates an empty parameter set + + + + + Construct a parameter set with a list of arguments + + + + + + Construct a non-runnable ParameterSet, specifying + the provider exception that made it invalid. + + + + + Construct a ParameterSet from an object implementing ITestData + + + + + + The RunState for this set of parameters. + + + + + The arguments to be used in running the test, + which must match the method signature. + + + + + A name to be used for this test case in lieu + of the standard generated name containing + the argument list. + + + + + Gets the property dictionary for this test + + + + + Applies ParameterSet values to the test itself. + + A test. + + + + The original arguments provided by the user, + used for display purposes. + + + + + The list of display names to use as the parameters in the test name. + + + + + TestProgressReporter translates ITestListener events into + the async callbacks that are used to inform the client + software about the progress of a test run. + + + + + Initializes a new instance of the class. + + The callback handler to be used for reporting progress. + + + + Called when a test has just started + + The test that is starting + + + + Called when a test has finished. Sends a result summary to the callback. + to + + The result of the test + + + + Called when a test produces output for immediate display + + A TestOutput object containing the text to display + + + + Called when a test produces a message to be sent to listeners + + A object containing the text to send + + + + Returns the parent test item for the target test item if it exists + + + parent test item + + + + Makes a string safe for use as an attribute, replacing + characters that can't be used with their + corresponding XML representations. + + The string to be used + A new string with the values replaced + + + + ParameterizedFixtureSuite serves as a container for the set of test + fixtures created from a given Type using various parameters. + + + + + Initializes a new instance of the class. + + The ITypeInfo for the type that represents the suite. + + + + Creates a copy of the given suite with only the descendants that pass the specified filter. + + The to copy. + Determines which descendants are copied. + + + + Gets a string representing the type of test + + + + + Creates a filtered copy of the test suite. + + Determines which descendants are copied. + + + + ParameterizedMethodSuite holds a collection of individual + TestMethods with their arguments applied. + + + + + Initializes a new instance of the class. + + + + + Creates a copy of the given suite with only the descendants that pass the specified filter. + + The to copy. + Determines which descendants are copied. + + + + Gets a MethodInfo for the method implementing this test. + + + + + Gets a string representing the type of test + + + + + Creates a filtered copy of the test suite. + + Determines which descendants are copied. + + + + SetUpFixture extends TestSuite and supports + Setup and TearDown methods. + + + + + Initializes a new instance of the class. + + + + + Creates a copy of the given suite with only the descendants that pass the specified filter. + + The to copy. + Determines which descendants are copied. + + + + Gets the TypeInfo of the fixture used in running this test. + + + + + Creates a filtered copy of the test suite. + + Determines which descendants are copied. + + + + The Test abstract class represents a test within the framework. + + + + + Static value to seed ids. It's started at 1000 so any + uninitialized ids will stand out. + + + + + Used to cache the declaring type for this MethodInfo + + + + + Method property backing field + + + + + Constructs a test given its name + + The name of the test + + + + Constructs a test given the path through the + test hierarchy to its parent and a name. + + The parent tests full name + The name of the test + + + + Constructs a test for a specific type. + + + + + Constructs a test for a specific method. + + + + + Gets or sets the id of the test + + + + + + Gets or sets the name of the test + + + + + Gets or sets the fully qualified name of the test + + + + + + Gets the name of the class where this test was declared. + Returns null if the test is not associated with a class. + + + + + Gets the name of the method implementing this test. + Returns null if the test is not implemented as a method. + + + + + The arguments to use in creating the test or empty array if none required. + + + + + Gets the TypeInfo of the fixture used in running this test + or null if no fixture type is associated with it. + + + + + Gets a MethodInfo for the method implementing this test. + Returns null if the test is not implemented as a method. + + + + + Whether or not the test should be run + + + + + Gets the name used for the top-level element in the + XML representation of this test + + + + + Gets a string representing the type of test. Used as an attribute + value in the XML representation of a test and has no other + function in the framework. + + + + + Gets a count of test cases represented by + or contained under this test. + + + + + Gets the properties for this test + + + + + Returns true if this is a TestSuite + + + + + Gets a bool indicating whether the current test + has any descendant tests. + + + + + Gets the parent as a Test object. + Used by the core to set the parent. + + + + + Gets this test's child tests + + A list of child tests + + + + Gets or sets a fixture object for running this test. + + + + + Static prefix used for ids in this AppDomain. + Set by FrameworkController. + + + + + Gets or Sets the Int value representing the seed for the RandomGenerator + + + + + + The SetUp methods. + + + + + The teardown methods + + + + + Creates a TestResult for this test. + + A TestResult suitable for this type of test. + + + + Modify a newly constructed test by applying any of NUnit's common + attributes, based on a supplied , which is + usually the reflection element from which the test was constructed, + but may not be in some instances. The attributes retrieved are + saved for use in subsequent operations. + + + + + Mark the test as Invalid (not runnable) specifying a reason + + The reason the test is not runnable + + + + Get custom attributes applied to a test + + + + + Add standard attributes and members to a test node. + + + + + + + Returns the XML representation of the test + + If true, include child tests recursively + + + + + Returns an XmlNode representing the current result after + adding it as a child of the supplied parent node. + + The parent node. + If true, descendant results are included + + + + Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. + An object to compare with this instance. + + + Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. + An object to compare with this instance. + + + + TestAssembly is a TestSuite that represents the execution + of tests in a managed assembly. + + + + + Initializes a new instance of the class + specifying the Assembly and the suite name. + + The assembly this test represents. + + This becomes the full name of the suite and the filename part is used as the suite name. + + + + + Initializes a new instance of the class + specifying the suite name for an assembly that could not be loaded. + + + This becomes the full name of the suite and the filename part is used as the suite name. + + + + + Creates a copy of the given assembly with only the descendants that pass the specified filter. + + The to copy. + Determines which descendants are copied. + + + + Gets the Assembly represented by this instance. + + + + + Gets the name used for the top-level element in the + XML representation of this test + + + + + Get custom attributes specified on the assembly + + + + + Creates a filtered copy of the test suite. + + Determines which descendants are copied. + + + + TestFixture is a surrogate for a user test fixture class, + containing one or more tests. + + + + + The life cycle specified for the current test fixture. + + + + + Initializes a new instance of the class. + + Type of the fixture. + Arguments used to instantiate the test fixture, or null if none used + + + + Creates a copy of the given suite with only the descendants that pass the specified filter. + + The to copy. + Determines which descendants are copied. + + + + Gets the TypeInfo of the fixture used in running this test. + + + + + Creates a filtered copy of the test suite. + + Determines which descendants are copied. + + + + The TestMethod class represents a Test implemented as a method. + + + + + The ParameterSet used to create this test method + + + + + Initializes a new instance of the class. + + The method to be used as a test. + + + + Initializes a new instance of the class. + + The method to be used as a test. + The suite or fixture to which the new test will be added + + + + Gets a MethodInfo for the method implementing this test. + + + + + The arguments to use in executing the test method, or empty array if none are provided. + + + + + Overridden to return a TestCaseResult. + + A TestResult for this test. + + + + Gets a bool indicating whether the current test + has any descendant tests. + + + + + Returns a TNode representing the current result after + adding it as a child of the supplied parent node. + + The parent node. + If true, descendant results are included + + + + + Gets this test's child tests + + A list of child tests + + + + Gets the name used for the top-level element in the + XML representation of this test + + + + + Returns the name of the method + + + + + TestSuite represents a composite test, which contains other tests. + + + + + Our collection of child tests + + + + + Initializes a new instance of the class. + + The name of the suite. + + + + Initializes a new instance of the class. + + Name of the parent suite. + The name of the suite. + + + + Initializes a new instance of the class. + + Type of the fixture. + Arguments used to instantiate the test fixture, or null if none used. + + + + Initializes a new instance of the class. + + Type of the fixture. + + + + Creates a copy of the given suite with only the descendants that pass the specified filter. + + The to copy. + Determines which descendants are copied. + + + + Sorts tests under this suite. + + + + + Adds a test to the suite. + + The test. + + + + Creates a filtered copy of the test suite. + + Determines which descendants are copied. + + + + Gets this test's child tests + + The list of child tests + + + + Gets a count of test cases represented by + or contained under this test. + + + + + + The arguments to use in creating the fixture, or empty array if none are provided. + + + + + Set to true to suppress sorting this suite's contents + + + + + OneTimeSetUp methods for this suite + + + + + OneTimeTearDown methods for this suite + + + + + Overridden to return a TestSuiteResult. + + A TestResult for this test. + + + + Gets a bool indicating whether the current test + has any descendant tests. + + + + + Gets the name used for the top-level element in the + XML representation of this test + + + + + Returns an XmlNode representing the current result after + adding it as a child of the supplied parent node. + + The parent node. + If true, descendant results are included + + + + + Check that setup and teardown methods marked by certain attributes + meet NUnit's requirements and mark the tests not runnable otherwise. + + + + + ThreadUtility provides a set of static methods convenient + for working with threads. + + + + + Pre-Task compatibility + + + + + Abort a thread, helping to dislodging it if it is blocked in native code + + The thread to abort + The native thread id (if known), otherwise 0. + If provided, allows the thread to be killed if it's in a message pump native blocking wait. + This must have previously been captured by calling from the running thread itself. + + + + Do our best to kill a thread + + The thread to kill + The native thread id (if known), otherwise 0. + If provided, allows the thread to be killed if it's in a message pump native blocking wait. + This must have previously been captured by calling from the running thread itself. + + + + Do our best to kill a thread, passing state info + + The thread to kill + Info for the ThreadAbortException handler + The native thread id (if known), otherwise 0. + If provided, allows the thread to be killed if it's in a message pump native blocking wait. + This must have previously been captured by calling from the running thread itself. + + + + Schedule a thread pool thread to check on the aborting thread in case it's in a message pump native blocking wait + + + + + Captures the current thread's native id. If provided to later, allows the thread to be killed if it's in a message pump native blocking wait. + + + + + Sends a message to the thread to dislodge it from native code and allow a return to managed code, where a ThreadAbortException can be generated. + The message is meaningless (WM_CLOSE without a window handle) but it will end any blocking message wait. + + + + Gets or if the current platform does not support it. + + + Sets if current platform supports it. + Value to set. If the current platform does not support then the only allowed value is . + + + + TypeHelper provides static methods that operate on Types. + + + + + Gets the display name for a Type as used by NUnit. + + The Type for which a display name is needed. + The display name for the Type + + + + Gets the display name for a Type as used by NUnit. + + The Type for which a display name is needed. + The arglist provided. + The display name for the Type + + + + Returns the best fit for a common type to be used in + matching actual arguments to a methods Type parameters. + + + + + Determines whether the specified type is numeric. + + The type to be examined. + + if the specified type is numeric; otherwise, . + + + + + Convert an argument list to the required parameter types. + Currently, only widening numeric conversions are performed. + + An array of args to be converted + A ParameterInfo[] whose types will be used as targets + + + + Determines whether this instance can deduce type args for a generic type from the supplied arguments. + + The type to be examined. + The arglist. + The type args to be used. + + if this the provided args give sufficient information to determine the type args to be used; otherwise, . + + + + + Return the interfaces implemented by a Type. + + The Type to be examined. + An array of Types for the interfaces. + + + + Return whether or not the given type is a ValueTuple. + + Type. + Whether or not the given type is a ValueTuple. + + + + Return whether or not the given type is a Tuple. + + Type. + Whether or not the given type is a Tuple. + + + + Determines whether the cast to the given type would succeed. + If is and + can be , the cast succeeds just like the C# language feature. + + The object to cast. + + + + Casts to a value of the given type if possible. + If is and + can be , the cast succeeds just like the C# language feature. + + The object to cast. + The value of the object, if the cast succeeded. + + + + Used for resolving the type difference between objects. + + + + + Gets the shortened type name difference between and . + + The expected object. + The actual object. + Output of the unique type name for the expected object. + Output of the unique type name for actual object. + + + + Gets the shortened type name difference between and . + + The expected object . + The actual object . + Output of the unique type name for the expected object. + Output of the unique type name for actual object. + + + + Obtain the shortened generic template parameters of the given and , + if they are generic. + + The expected . + The actual . + Shortened generic parameters of the expected . + Shortened generic parameters of the actual . + + + + Obtain a shortened name of the given . + + + + + Shorten the given names by only including the relevant differing namespaces/types, if they differ. + + The expected . + The actual . + The shortened expected name. + The shortened actual name. + + + + Returns whether or not the is generic. + + + + + Returns the fully qualified generic name of a given . + + + + + Reconstruct a generic type name using the provided generic type name, and a + of the template parameters. + + The name of the generic type, including the number of template parameters expected. + A of names of the template parameters of the provided generic type. + + + + Obtain the shortened generic names of the given expected and actual s. + + The expected . + The actual . + The shortened expected generic name. + The shortened actual generic name. + + + + The TypeWrapper class wraps a Type so it may be used in + a platform-independent manner. + + + + + Construct a TypeWrapper for a specified Type. + + + + + Gets the underlying Type on which this TypeWrapper is based. + + + + + Gets the base type of this type as an ITypeInfo + + + + + Gets the Name of the Type + + + + + Gets the FullName of the Type + + + + + Gets the assembly in which the type is declared + + + + + Gets the namespace of the Type + + + + + Gets a value indicating whether the type is abstract. + + + + + Gets a value indicating whether the Type is a generic Type + + + + + Returns true if the Type wrapped is T + + + + + Gets a value indicating whether the Type has generic parameters that have not been replaced by specific Types. + + + + + Gets a value indicating whether the Type is a generic Type definition + + + + + Gets a value indicating whether the type is sealed. + + + + + Gets a value indicating whether this type represents a static class. + + + + + Get the display name for this type + + + + + Get the display name for an object of this type, constructed with the specified args. + + + + + Returns a new ITypeInfo representing an instance of this generic Type using the supplied Type arguments + + + + + Returns a Type representing a generic type definition from which this Type can be constructed. + + + + + Returns an array of custom attributes of the specified type applied to this type + + + + + Returns a value indicating whether the type has an attribute of the specified type. + + + + + + + + Returns a flag indicating whether this type has a method with an attribute of the specified type. + + + + + + + Returns an array of IMethodInfos for methods of this Type + that match the specified flags. + + + + + Gets the public constructor taking the specified argument Types + + + + + Returns a value indicating whether this Type has a public constructor taking the specified argument Types. + + + + + Construct an object of this Type, using the specified arguments. + + + + + Override ToString() so that error messages in NUnit's own tests make sense + + + + + Returns all methods declared by this type that have the specified attribute, optionally + including base classes. Methods from a base class are always returned before methods from a class that + inherits from it. + + Specifies whether to search the fixture type inheritance chain. + + + + Encapsulates the ability to increment a value by an amount which may be of a different type. + + + + + Creates a from the specified value if the current instance is able to + use it to increment the on values which it operates. If the creation fails, + is thrown. + + + + + + Creates a from the specified value if the current instance is able to + use it to increment values on which it operates. A return value indicates + whether the creation succeeded. + + + + + Provides a convenient shorthand when is + and the default value of represents zero. + + + + + Initializes a new instance of the class. + + The amount by which to increment each time this step is applied. + + Must increment the given value and return the result. + If the result is outside the range representable by , + must throw . If the result does not change due to lack + of precision representable by , must throw . + + + + + Increments the given value and returns the result. + If the result is outside the range representable by , + throws . If the result does not change due to lack + of precision representable by , throws . + + + + + + + Encapsulates the ability to increment a value by an amount + which may be of a different type. + + + + + Increments the given value and returns the result. + If the result is outside the range representable by , + throws . If the result does not change due to lack + of precision representable by , throws . + + + + + + + Creates a from the specified value if the current instance is able to + use it to increment values of type . If the creation fails, + is thrown. + + + + + + Creates a from the specified value if the current instance is able to + use it to increment values of type . A return value indicates + whether the creation succeeded. + + + + + The IgnoredTestCaseData class represents a ignored TestCaseData. It adds + the ability to set a date until which the test will be ignored. + + + + + The previous RunState + + + + + Set the date that the test is being ignored until + + The date that the test is being ignored until + A modified TestCaseData. + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + + + + + Returns a constraint that tests for null + + + + + Returns a constraint that tests for True + + + + + Returns a constraint that tests for False + + + + + Returns a constraint that tests for a positive value + + + + + Returns a constraint that tests for a negative value + + + + + Returns a constraint that tests for equality with zero + + + + + Returns a constraint that tests for NaN + + + + + Returns a constraint that tests for empty + + + + + Returns a constraint that tests whether a collection + contains all unique items. + + + + + Returns a constraint that tests whether an object graph is serializable in binary format. + + + + + Returns a constraint that tests whether an object graph is serializable in XML format. + + + + + Returns a constraint that tests two items for equality + + + + + Returns a constraint that tests that two references are the same object + + + + + Returns a constraint that tests whether the + actual value is greater than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable to the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable to the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a collection containing the same elements as the + collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a subset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a superset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether a collection is ordered + + + + + Returns a constraint that tests whether the path provided + is the same as an expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is a subpath of the expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is the same path or under an expected path after canonicalization. + + + + + Returns a constraint that tests whether the actual value falls + inclusively within a specified range. + + Inclusive beginning of the range. + Inclusive end of the range. + + + + + Returns a constraint that tests if an item is equal to any of parameters + + Expected values + + + + When implemented by an attribute, this interface implemented to provide actions to execute before and after tests. + + + + + Executed before each test is run + + The test that is going to be run. + + + + Executed after each test is run + + The test that has just been run. + + + + Provides the target for the action attribute + + The target for the action attribute + + + + The Iz class is a synonym for Is intended for use in VB, + which regards Is as a keyword. + + + + + The List class is a helper class with properties and methods + that supply a number of constraints used with lists and collections. + + + + + List.Map returns a ListMapper, which can be used to map + the original collection to another collection. + + + + + + + ListMapper is used to transform a collection used as an actual argument + producing another collection to be used in the assertion. + + + + + Construct a ListMapper based on a collection + + The collection to be transformed + + + + Produces a collection containing all the values of a property + + The collection of property values + + + + + Basic Asserts on strings. + + + + + DO NOT USE! Use StringAssert.AreEqualIgnoringCase(...) or Assert.AreEqual(...) instead. + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + Asserts that a string is found within another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string is found within another string. + + The expected string + The string to be examined + + + + Asserts that a string is not found within another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string is found within another string. + + The expected string + The string to be examined + + + + Asserts that a string starts with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string starts with another string. + + The expected string + The string to be examined + + + + Asserts that a string does not start with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string does not start with another string. + + The expected string + The string to be examined + + + + Asserts that a string ends with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string ends with another string. + + The expected string + The string to be examined + + + + Asserts that a string does not end with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string does not end with another string. + + The expected string + The string to be examined + + + + Asserts that two strings are equal, without regard to case. + + The expected string + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that two strings are equal, without regard to case. + + The expected string + The actual string + + + + Asserts that two strings are not equal, without regard to case. + + The expected string + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that two strings are not equal, without regard to case. + + The expected string + The actual string + + + + Asserts that a string matches an expected regular expression pattern. + + The regex pattern to be matched + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string matches an expected regular expression pattern. + + The regex pattern to be matched + The actual string + + + + Asserts that a string does not match an expected regular expression pattern. + + The regex pattern to be used + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string does not match an expected regular expression pattern. + + The regex pattern to be used + The actual string + + + + The TestCaseData class represents a set of arguments + and other parameter info to be used for a parameterized + test case. It is derived from TestCaseParameters and adds a + fluent syntax for use in initializing the test case. + + + + + Initializes a new instance of the class. + + The arguments. + + + + Initializes a new instance of the class. + + The argument. + + + + Initializes a new instance of the class. + + The first argument. + The second argument. + + + + Initializes a new instance of the class. + + The first argument. + The second argument. + The third argument. + + + + Sets the expected result for the test + + The expected result + A modified TestCaseData + + + + Sets the name of the test case + + The modified TestCaseData instance + + + + Sets the list of display names to use as the parameters in the test name. + + + + + Sets the description for the test case + being constructed. + + The description. + The modified TestCaseData instance. + + + + Applies a category to the test + + + + + + + Applies a named property to the test + + + + + + + + Applies a named property to the test + + + + + + + + Applies a named property to the test + + + + + + + + Marks the test case as explicit. + + + + + Marks the test case as explicit, specifying the reason. + + + + + Ignores this TestCase, specifying the reason. + + The reason. + + + + + Provide the context information of the current test. + This is an adapter for the internal ExecutionContext + class, hiding the internals from the user test. + + + + + Construct a TestContext for an ExecutionContext + + The ExecutionContext to adapt + + + + Get the current test context. This is created + as needed. The user may save the context for + use within a test, but it should not be used + outside the test for which it is created. + + + + + Gets a TextWriter that will send output to the current test result. + + + + + Gets a TextWriter that will send output directly to Console.Error + + + + + Gets a TextWriter for use in displaying immediate progress messages + + + + + TestParameters object holds parameters for the test run, if any are specified + + + + + Static DefaultWorkDirectory is now used as the source + of the public instance property WorkDirectory. This is + a bit odd but necessary to avoid breaking user tests. + + + + + Get a representation of the current test. + + + + + Gets a Representation of the TestResult for the current test. + + + + + Gets the unique name of the Worker that is executing this test. + + + + + Gets the directory containing the current test assembly. + + + + + Gets the directory to be used for outputting files created + by this test run. + + + + + Gets the random generator. + + + The random generator. + + + + + Gets the number of assertions executed + up to this point in the test. + + + + + Get the number of times the current Test has been repeated + when using the or . + + + + Write the string representation of a boolean value to the current result + + + Write a char to the current result + + + Write a char array to the current result + + + Write the string representation of a double to the current result + + + Write the string representation of an Int32 value to the current result + + + Write the string representation of an Int64 value to the current result + + + Write the string representation of a decimal value to the current result + + + Write the string representation of an object to the current result + + + Write the string representation of a Single value to the current result + + + Write a string to the current result + + + Write the string representation of a UInt32 value to the current result + + + Write the string representation of a UInt64 value to the current result + + + Write a formatted string to the current result + + + Write a formatted string to the current result + + + Write a formatted string to the current result + + + Write a formatted string to the current result + + + Write a line terminator to the current result + + + Write the string representation of a boolean value to the current result followed by a line terminator + + + Write a char to the current result followed by a line terminator + + + Write a char array to the current result followed by a line terminator + + + Write the string representation of a double to the current result followed by a line terminator + + + Write the string representation of an Int32 value to the current result followed by a line terminator + + + Write the string representation of an Int64 value to the current result followed by a line terminator + + + Write the string representation of a decimal value to the current result followed by a line terminator + + + Write the string representation of an object to the current result followed by a line terminator + + + Write the string representation of a Single value to the current result followed by a line terminator + + + Write a string to the current result followed by a line terminator + + + Write the string representation of a UInt32 value to the current result followed by a line terminator + + + Write the string representation of a UInt64 value to the current result followed by a line terminator + + + Write a formatted string to the current result followed by a line terminator + + + Write a formatted string to the current result followed by a line terminator + + + Write a formatted string to the current result followed by a line terminator + + + Write a formatted string to the current result followed by a line terminator + + + + This method adds the a new ValueFormatterFactory to the + chain of responsibility used for formatting values in messages. + The scope of the change is the current TestContext. + + The factory delegate + + + + Attach a file to the current test result + + Relative or absolute file path to attachment + Optional description of attachment + + + + This method provides a simplified way to add a ValueFormatter + delegate to the chain of responsibility, creating the factory + delegate internally. It is useful when the Type of the object + is the only criterion for selection of the formatter, since + it can be used without getting involved with a compound function. + + The type supported by this formatter + The ValueFormatter delegate + + + + TestAdapter adapts a Test for consumption by + the user test code. + + + + + Construct a TestAdapter for a Test + + The Test to be adapted + + + + Gets the unique Id of a test + + + + + The name of the test, which may or may not be + the same as the method name. + + + + + The name of the method representing the test. + + + + + The FullName of the test + + + + + The ClassName of the test + + + + + A shallow copy of the properties of the test. + + + + + The arguments to use in creating the test or empty array if none are required. + + + + + ResultAdapter adapts a TestResult for consumption by + the user test code. + + + + + Construct a ResultAdapter for a TestResult + + The TestResult to be adapted + + + + Gets a ResultState representing the outcome of the test + up to this point in its execution. + + + + + Gets a list of the assertion results generated + up to this point in the test. + + + + + Gets the message associated with a test + failure or with not running the test + + + + + Gets any stack trace associated with an + error or failure. + + + + + Gets the number of test cases that failed + when running the test and all its children. + + + + + Gets the number of test cases that had warnings + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + adapts an + for consumption by the user. + + + + + Construct a from a source + . + + + + + Get the first property with the given , if it can be found, otherwise + returns null. + + + + + Indicates whether is found in this + . + + + + + Returns a collection of properties + with the given . + + + + + Returns the count of elements with the given . + + + + + Returns a collection of the property keys. + + + + + The TestFixtureData class represents a set of arguments + and other parameter info to be used for a parameterized + fixture. It is derived from TestFixtureParameters and adds a + fluent syntax for use in initializing the fixture. + + + + + Initializes a new instance of the class. + + The arguments. + + + + Initializes a new instance of the class. + + The argument. + + + + Initializes a new instance of the class. + + The first argument. + The second argument. + + + + Initializes a new instance of the class. + + The first argument. + The second argument. + The third argument. + + + + Sets the name of the test fixture + + The modified TestFixtureData instance + + + + Sets the list of display names to use as the parameters in the test name. + + + + + Marks the test fixture as explicit. + + + + + Marks the test fixture as explicit, specifying the reason. + + + + + Ignores this TestFixture, specifying the reason. + + The reason. + + + + + TestParameters class holds any named parameters supplied to the test run + + + + + Gets the number of test parameters + + + + + Gets a collection of the test parameter names + + + + + Gets a flag indicating whether a parameter with the specified name exists. + + Name of the parameter + True if it exists, otherwise false + + + + Indexer provides access to the internal dictionary + + Name of the parameter + Value of the parameter or null if not present + + + + Get method is a simple alternative to the indexer + + Name of the parameter + Value of the parameter or null if not present + + + + Get the value of a parameter or a default string + + Name of the parameter + Default value of the parameter + Value of the parameter or default value if not present + + + + Get the value of a parameter or return a default + + The return Type + Name of the parameter + Default value of the parameter + Value of the parameter or default value if not present + + + + Adds a parameter to the list + + Name of the parameter + Value of the parameter + + + + Helper class with properties and methods that supply + constraints that operate on exceptions. + + + + + Creates a constraint specifying an expected exception + + + + + Creates a constraint specifying an exception with a given InnerException + + + + + Creates a constraint specifying an expected TargetInvocationException + + + + + Creates a constraint specifying an expected ArgumentException + + + + + Creates a constraint specifying an expected ArgumentNullException + + + + + Creates a constraint specifying an expected InvalidOperationException + + + + + Creates a constraint specifying that no exception is thrown + + + + + Creates a constraint specifying the exact type of exception expected + + + + + Creates a constraint specifying the exact type of exception expected + + + + + Creates a constraint specifying the type of exception expected + + + + + Creates a constraint specifying the type of exception expected + + + + + Provides static methods to express conditions + that must be met for the test to succeed. If + any test fails, a warning is issued. + + + + + DO NOT USE! + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + The left object. + The right object. + Not applicable + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + The left object. + The right object. + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Asserts that a condition is true. If the condition is false, a warning is issued. + + The evaluated condition + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false, a warning is issued. + + The evaluated condition + + + + Asserts that a condition is true. If the condition is false, a warning is issued. + + The evaluated condition + A function to build the message included with the Exception + + + + Asserts that a condition is true. If the condition is false, a warning is issued. + + A lambda that returns a Boolean + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false, a warning is issued. + + A lambda that returns a Boolean + + + + Asserts that a condition is true. If the condition is false, a warning is issued. + + A lambda that returns a Boolean + A function to build the message included with the Exception + + + + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + + A TestDelegate to be executed + A Constraint expression to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Apply a constraint to an actual value, succeeding if the constraint + fails and issuing a warning on success. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + fails and issuing a warning on success. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + fails and issuing a warning on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Asserts that a condition is true. If the condition is false, a warning is issued. + + The evaluated condition + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false, a warning is issued. + + The evaluated condition + + + + Asserts that a condition is true. If the condition is false, a warning is issued. + + The evaluated condition + A function to build the message included with the Exception + + + + Asserts that a condition is false. If the condition is true a warning is issued. + + A lambda that returns a Boolean + The message to display if the condition is true + Arguments to be used in formatting the message + + + + Asserts that a condition is false. If the condition is true a warning is issued. + + A lambda that returns a Boolean + + + + Asserts that a condition is false. If the condition is true a warning is issued. + + A lambda that returns a Boolean + A function to build the message included with the Exception + + + + Apply a constraint to an actual value, succeeding if the constraint + fails and issuing a warning if it succeeds. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + fails and issuing a warning if it succeeds. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + A function to build the message included with the Exception + + + + FrameworkPackageSettings is a static class containing constant values that + are used as keys in setting up a TestPackage. These values are used in + the framework, and set in the runner. Setting values may be a string, int or bool. + + + + + Flag (bool) indicating whether tests are being debugged. + + + + + Flag (bool) indicating whether to pause execution of tests to allow + the user to attach a debugger. + + + + + The InternalTraceLevel for this run. Values are: "Default", + "Off", "Error", "Warning", "Info", "Debug", "Verbose". + Default is "Off". "Debug" and "Verbose" are synonyms. + + + + + Full path of the directory to be used for work and result files. + This path is provided to tests by the framework TestContext. + + + + + Integer value in milliseconds for the default timeout value + for test cases. If not specified, there is no timeout except + as specified by attributes on the tests themselves. + + + + + A string representing the default thread culture to be used for + running tests. String should be a valid BCP-47 culture name. If + culture is unset, tests run on the machine's default culture. + + + + + A string representing the default thread UI culture to be used for + running tests. String should be a valid BCP-47 culture name. If + culture is unset, tests run on the machine's default culture. + + + + + A TextWriter to which the internal trace will be sent. + + + + + A list of tests to be loaded. + + + + + The number of test threads to run for the assembly. If set to + 1, a single queue is used. If set to 0, tests are executed + directly, without queuing. + + + + + The random seed to be used for this assembly. If specified + as the value reported from a prior run, the framework should + generate identical random values for tests as were used for + that run, provided that no change has been made to the test + assembly. Default is a random value itself. + + + + + If true, execution stops after the first error or failure. + + + + + If true, use of the event queue is suppressed and test events are synchronous. + + + + + The default naming pattern used in generating test names + + + + + Parameters to be passed on to the tests, serialized to a single string which needs parsing. Obsoleted by ; kept for backward compatibility. + + + + + Parameters to be passed on to the tests, already parsed into an IDictionary<string, string>. Replaces . + + + + + If true, the tests will run on the same thread as the NUnit runner itself + + + + + Provides a platform-independent methods for getting attributes + for use by AttributeConstraint and AttributeExistsConstraint. + + + + + Gets the custom attributes from the given object. + + The actual. + Type of the attribute. + if set to [inherit]. + A list of the given attribute on the given object. + + + + A MarshalByRefObject that lives forever + + + + + Obtains a lifetime service object to control the lifetime policy for this instance. + + + + + Provides NUnit specific extensions to aid in Reflection + across multiple frameworks + + + This version of the class supplies GetTypeInfo() on platforms + that don't support it. + + + + + GetTypeInfo gives access to most of the Type information we take for granted + on .NET Core and Windows Runtime. Rather than #ifdef different code for different + platforms, it is easiest to just code all platforms as if they worked this way, + thus the simple passthrough. + + + + + + + See . + + + + + Extensions for Assembly that are not available in pre-4.5 .NET releases + + + + + An easy way to get a single custom attribute from an assembly + + The attribute Type + The assembly + An attribute of Type T + + + + Extensions for MethodInfo that are not available in pre-4.5 .NET releases + + + + + See . + + + + + See . + + + + Specifies that null is allowed as an input even if the corresponding type disallows it. + + + Specifies that null is disallowed as an input even if the corresponding type allows it. + + + Specifies that an output may be null even if the corresponding type disallows it. + + + Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns. + + + Specifies that when a method returns , the parameter may be null even if the corresponding type disallows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter may be null. + + + + Gets the return value condition. + + + Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + + Gets the return value condition. + + + Specifies that the output will be non-null if the named parameter is non-null. + + + Initializes the attribute with the associated parameter name. + + The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null. + + + + Gets the associated parameter name. + + + Applied to a method that will never return under any circumstance. + + + Specifies that the method will not return if the associated Boolean parameter is passed the specified value. + + + Initializes the attribute with the specified parameter value. + + The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to + the associated parameter matches this value. + + + + Gets the condition parameter value. + + + diff --git a/src/packages/NUnit.3.13.2/lib/net45/nunit.framework.xml b/src/packages/NUnit.3.13.2/lib/net45/nunit.framework.xml new file mode 100644 index 0000000..4e1a48b --- /dev/null +++ b/src/packages/NUnit.3.13.2/lib/net45/nunit.framework.xml @@ -0,0 +1,21233 @@ + + + + nunit.framework + + + + + The different targets a test action attribute can be applied to + + + + + Default target, which is determined by where the action attribute is attached + + + + + Target a individual test case + + + + + Target a suite of test cases + + + + + DefaultTestAssemblyBuilder loads a single assembly and builds a TestSuite + containing test fixtures present in the assembly. + + + + + The default suite builder used by the test assembly builder. + + + + + Initializes a new instance of the class. + + + + + Build a suite of tests from a provided assembly + + The assembly from which tests are to be built + A dictionary of options to use in building the suite + + A TestSuite containing the tests found in the assembly + + + + + Build a suite of tests given the name or the location of an assembly + + The name or the location of the assembly. + A dictionary of options to use in building the suite + + A TestSuite containing the tests found in the assembly + + + + + FrameworkController provides a facade for use in loading, browsing + and running tests without requiring a reference to the NUnit + framework. All calls are encapsulated in constructors for + this class and its nested classes, which only require the + types of the Common Type System as arguments. + + The controller supports four actions: Load, Explore, Count and Run. + They are intended to be called by a driver, which should allow for + proper sequencing of calls. Load must be called before any of the + other actions. The driver may support other actions, such as + reload on run, by combining these calls. + + + + + Construct a FrameworkController using the default builder and runner. + + The AssemblyName or path to the test assembly + A prefix used for all test ids created under this controller. + A Dictionary of settings to use in loading and running the tests + + + + Construct a FrameworkController using the default builder and runner. + + The test assembly + A prefix used for all test ids created under this controller. + A Dictionary of settings to use in loading and running the tests + + + + Construct a FrameworkController, specifying the types to be used + for the runner and builder. This constructor is provided for + purposes of development. + + The full AssemblyName or the path to the test assembly + A prefix used for all test ids created under this controller. + A Dictionary of settings to use in loading and running the tests + The Type of the test runner + The Type of the test builder + + + + Construct a FrameworkController, specifying the types to be used + for the runner and builder. This constructor is provided for + purposes of development. + + The test assembly + A prefix used for all test ids created under this controller. + A Dictionary of settings to use in loading and running the tests + The Type of the test runner + The Type of the test builder + + + + Gets the ITestAssemblyBuilder used by this controller instance. + + The builder. + + + + Gets the ITestAssemblyRunner used by this controller instance. + + The runner. + + + + Gets the AssemblyName or the path for which this FrameworkController was created + + + + + Gets the Assembly for which this + + + + + Gets a dictionary of settings for the FrameworkController + + + + + Loads the tests in the assembly + + + + + + Returns info about the tests in an assembly + + A string containing the XML representation of the filter to use + The XML result of exploring the tests + + + + Runs the tests in an assembly + + A string containing the XML representation of the filter to use + The XML result of the test run + + + + Runs the tests in an assembly synchronously reporting back the test results through the callback + or through the return value + + The callback that receives the test results + A string containing the XML representation of the filter to use + The XML result of the test run + + + + Runs the tests in an assembly asynchronously reporting back the test results through the callback + + The callback that receives the test results + A string containing the XML representation of the filter to use + + + + Stops the test run + + True to force the stop, false for a cooperative stop + + + + Counts the number of test cases in the loaded TestSuite + + A string containing the XML representation of the filter to use + The number of tests + + + + Inserts the environment and settings elements + + Target node + The updated target node + + + + Inserts environment element + + Target node + The new node + + + + Inserts settings element + + Target node + Settings dictionary + The new node + + + + FrameworkControllerAction is the base class for all actions + performed against a FrameworkController. + + + + + LoadTestsAction loads a test into the FrameworkController + + + + + LoadTestsAction loads the tests in an assembly. + + The controller. + The callback handler. + + + + ExploreTestsAction returns info about the tests in an assembly + + + + + Initializes a new instance of the class. + + The controller for which this action is being performed. + Filter used to control which tests are included (NYI) + The callback handler. + + + + CountTestsAction counts the number of test cases in the loaded TestSuite + held by the FrameworkController. + + + + + Construct a CountsTestAction and perform the count of test cases. + + A FrameworkController holding the TestSuite whose cases are to be counted + A string containing the XML representation of the filter to use + A callback handler used to report results + + + + RunTestsAction runs the loaded TestSuite held by the FrameworkController. + + + + + Construct a RunTestsAction and run all tests in the loaded TestSuite. + + A FrameworkController holding the TestSuite to run + A string containing the XML representation of the filter to use + A callback handler used to report results + + + + RunAsyncAction initiates an asynchronous test run, returning immediately + + + + + Construct a RunAsyncAction and run all tests in the loaded TestSuite. + + A FrameworkController holding the TestSuite to run + A string containing the XML representation of the filter to use + A callback handler used to report results + + + + StopRunAction stops an ongoing run. + + + + + Construct a StopRunAction and stop any ongoing run. If no + run is in process, no error is raised. + + The FrameworkController for which a run is to be stopped. + True the stop should be forced, false for a cooperative stop. + >A callback handler used to report results + A forced stop will cause threads and processes to be killed as needed. + + + + The ITestAssemblyBuilder interface is implemented by a class + that is able to build a suite of tests given an assembly or + an assembly filename. + + + + + Build a suite of tests from a provided assembly + + The assembly from which tests are to be built + A dictionary of options to use in building the suite + A TestSuite containing the tests found in the assembly + + + + Build a suite of tests given the filename of an assembly + + The filename of the assembly from which tests are to be built + A dictionary of options to use in building the suite + A TestSuite containing the tests found in the assembly + + + + The ITestAssemblyRunner interface is implemented by classes + that are able to execute a suite of tests loaded + from an assembly. + + + + + Gets the tree of loaded tests, or null if + no tests have been loaded. + + + + + Gets the tree of test results, if the test + run is completed, otherwise null. + + + + + Indicates whether a test has been loaded + + + + + Indicates whether a test is currently running + + + + + Indicates whether a test run is complete + + + + + Loads the tests found in an Assembly, returning an + indication of whether or not the load succeeded. + + File name of the assembly to load + Dictionary of options to use in loading the test + An ITest representing the loaded tests + + + + Loads the tests found in an Assembly, returning an + indication of whether or not the load succeeded. + + The assembly to load + Dictionary of options to use in loading the test + An ITest representing the loaded tests + + + + Count Test Cases using a filter + + The filter to apply + The number of test cases found + + + + Explore the test cases using a filter + + The filter to apply + Test Assembly with test cases that matches the filter + + + + Run selected tests and return a test result. The test is run synchronously, + and the listener interface is notified as it progresses. + + Interface to receive ITestListener notifications. + A test filter used to select tests to be run + + + + Run selected tests asynchronously, notifying the listener interface as it progresses. + + Interface to receive EventListener notifications. + A test filter used to select tests to be run + + + + Wait for the ongoing run to complete. + + Time to wait in milliseconds + True if the run completed, otherwise false + + + + Signal any test run that is in process to stop. Return without error if no test is running. + + If true, kill any test-running threads + + + + Implementation of ITestAssemblyRunner + + + + + Initializes a new instance of the class. + + The builder. + + + + Gets the default level of parallel execution (worker threads) + + + + + The tree of tests that was loaded by the builder + + + + + The test result, if a run has completed + + + + + Indicates whether a test is loaded + + + + + Indicates whether a test is running + + + + + Indicates whether a test run is complete + + + + + Our settings, specified when loading the assembly + + + + + The top level WorkItem created for the assembly as a whole + + + + + The TestExecutionContext for the top level WorkItem + + + + + Loads the tests found in an Assembly + + File name or path of the assembly to load + Dictionary of option settings for loading the assembly + A Test Assembly containing all loaded tests + + + + Loads the tests found in an Assembly + + The assembly to load + Dictionary of option settings for loading the assembly + A Test Assembly containing all loaded tests + + + + Count Test Cases using a filter + + The filter to apply + The number of test cases found + + + + Explore the test cases using a filter + + The filter to apply + Test Assembly with test cases that matches the filter + + + + Run selected tests and return a test result. The test is run synchronously, + and the listener interface is notified as it progresses. + + Interface to receive EventListener notifications. + A test filter used to select tests to be run + The test results from the run + + + + Run selected tests asynchronously, notifying the listener interface as it progresses. + + Interface to receive EventListener notifications. + A test filter used to select tests to be run + + RunAsync is a template method, calling various abstract and + virtual methods to be overridden by derived classes. + + + + + Wait for the ongoing run to complete. + + Time to wait in milliseconds + True if the run completed, otherwise false + + + + Signal any test run that is in process to stop. Return without error if no test is running. + + If true, kill any tests that are currently running + + + + Initiate the test run. + + + + + Create the initial TestExecutionContext used to run tests + + The ITestListener specified in the RunAsync call + + + + Handle the Completed event for the top level work item + + + + + Executes the action within an + which ensures the is cleaned up + suitably at the end of the test run. This method only has an effect running + the full .NET Framework. + + + + + The Assert class contains a collection of static methods that + implement the most common assertions used in NUnit. + + + The Assert class contains a collection of static methods that + implement the most common assertions used in NUnit. + + + + + Verifies that the first int is greater than the second + int. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first int is greater than the second + int. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + + The evaluated condition + + + + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + + The evaluated condition + + + + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + + The evaluated condition + + + + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + + The evaluated condition + + + + Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert + block. + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert + block. + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert block. + + The evaluated condition + + + + Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert + block. + + The evaluated condition + + + + Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert + block. + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert + block. + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert + block. + + The evaluated condition + + + + Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert + block. + + The evaluated condition + + + + Verifies that the object that is passed in is not equal to . Returns without throwing an + exception when inside a multiple assert block. + + The object that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the object that is passed in is not equal to . Returns without throwing an + exception when inside a multiple assert block. + + The object that is to be tested + + + + Verifies that the object that is passed in is not equal to . Returns without throwing an + exception when inside a multiple assert block. + + The object that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the object that is passed in is not equal to . Returns without throwing an + exception when inside a multiple assert block. + + The object that is to be tested + + + + Verifies that the object that is passed in is equal to . Returns without throwing an + exception when inside a multiple assert block. + + The object that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the object that is passed in is equal to . Returns without throwing an + exception when inside a multiple assert block. + + The object that is to be tested + + + + Verifies that the object that is passed in is equal to . Returns without throwing an + exception when inside a multiple assert block. + + The object that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the object that is passed in is equal to . Returns without throwing an + exception when inside a multiple assert block. + + The object that is to be tested + + + + Verifies that the double that is passed in is an NaN. Returns without throwing an + exception when inside a multiple assert block. + + The value that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the double that is passed in is an NaN value. Returns without throwing an + exception when inside a multiple assert block. + + The value that is to be tested + + + + Verifies that the double that is passed in is an NaN value. Returns without throwing an + exception when inside a multiple assert block. + + The value that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the double that is passed in is an NaN value. Returns without throwing an + exception when inside a multiple assert block. + + The value that is to be tested + + + + Assert that a string is empty. Returns without throwing an exception when inside a multiple assert block. + + The string to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Assert that a string is empty. Returns without throwing an exception when inside a multiple assert block. + + The string to be tested + + + + Assert that an array, list or other collection is empty. Returns without throwing an exception when inside a + multiple assert block. + + An array, list or other collection implementing ICollection + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Assert that an array, list or other collection is empty. Returns without throwing an exception when inside a + multiple assert block. + + An array, list or other collection implementing ICollection + + + + Assert that a string is not empty. Returns without throwing an exception when inside a multiple assert + block. + + The string to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Assert that a string is not empty. Returns without throwing an exception when inside a multiple assert + block. + + The string to be tested + + + + Assert that an array, list or other collection is not empty. Returns without throwing an exception when + inside a multiple assert block. + + An array, list or other collection implementing ICollection + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Assert that an array, list or other collection is not empty. Returns without throwing an exception when + inside a multiple assert block. + + An array, list or other collection implementing ICollection + + + + Asserts that an int is zero. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + + + + Asserts that an int is zero. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned int is zero. Returns without throwing an exception when inside a multiple assert + block. + + The number to be examined + + + + Asserts that an unsigned int is zero. Returns without throwing an exception when inside a multiple assert + block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a Long is zero. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + + + + Asserts that a Long is zero. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned Long is zero. Returns without throwing an exception when inside a multiple assert + block. + + The number to be examined + + + + Asserts that an unsigned Long is zero. Returns without throwing an exception when inside a multiple assert + block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a decimal is zero. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + + + + Asserts that a decimal is zero. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a double is zero. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + + + + Asserts that a double is zero. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a float is zero. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + + + + Asserts that a float is zero. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an int is not zero. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + + + + Asserts that an int is not zero. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned int is not zero. Returns without throwing an exception when inside a multiple + assert block. + + The number to be examined + + + + Asserts that an unsigned int is not zero. Returns without throwing an exception when inside a multiple + assert block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a Long is not zero. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + + + + Asserts that a Long is not zero. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned Long is not zero. Returns without throwing an exception when inside a multiple + assert block. + + The number to be examined + + + + Asserts that an unsigned Long is not zero. Returns without throwing an exception when inside a multiple + assert block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a decimal is zero. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + + + + Asserts that a decimal is zero. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a double is zero. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + + + + Asserts that a double is zero. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a float is zero. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + + + + Asserts that a float is zero. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an int is positive. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + + + + Asserts that an int is positive. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned int is positive. Returns without throwing an exception when inside a multiple + assert block. + + The number to be examined + + + + Asserts that an unsigned int is positive. Returns without throwing an exception when inside a multiple + assert block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a Long is positive. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + + + + Asserts that a Long is positive. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned Long is positive. Returns without throwing an exception when inside a multiple + assert block. + + The number to be examined + + + + Asserts that an unsigned Long is positive. Returns without throwing an exception when inside a multiple + assert block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a decimal is positive. Returns without throwing an exception when inside a multiple assert + block. + + The number to be examined + + + + Asserts that a decimal is positive. Returns without throwing an exception when inside a multiple assert + block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a double is positive. Returns without throwing an exception when inside a multiple assert + block. + + The number to be examined + + + + Asserts that a double is positive. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a float is positive. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + + + + Asserts that a float is positive. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an int is negative. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + + + + Asserts that an int is negative. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned int is negative. Returns without throwing an exception when inside a multiple + assert block. + + The number to be examined + + + + Asserts that an unsigned int is negative. Returns without throwing an exception when inside a multiple + assert block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a Long is negative. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + + + + Asserts that a Long is negative. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned Long is negative. Returns without throwing an exception when inside a multiple + assert block. + + The number to be examined + + + + Asserts that an unsigned Long is negative. Returns without throwing an exception when inside a multiple + assert block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a decimal is negative. Returns without throwing an exception when inside a multiple assert + block. + + The number to be examined + + + + Asserts that a decimal is negative. Returns without throwing an exception when inside a multiple assert + block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a double is negative. Returns without throwing an exception when inside a multiple assert + block. + + The number to be examined + + + + Asserts that a double is negative. Returns without throwing an exception when inside a multiple assert + block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a float is negative. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + + + + Asserts that a float is negative. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + DO NOT USE! Use Assert.AreEqual(...) instead. + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + Throws a with the message and arguments + that are passed in. This allows a test to be cut short, with a result + of success returned to NUnit. + + The message to initialize the with. + Arguments to be used in formatting the message + + + + Throws a with the message and arguments + that are passed in. This allows a test to be cut short, with a result + of success returned to NUnit. + + The message to initialize the with. + + + + Throws a with the message and arguments + that are passed in. This allows a test to be cut short, with a result + of success returned to NUnit. + + + + + Marks the test as failed with the message and arguments that are passed in. Returns without throwing an + exception when inside a multiple assert block. + + The message to initialize the with. + Arguments to be used in formatting the message + + + + Marks the test as failed with the message that is passed in. Returns without throwing an exception when + inside a multiple assert block. + + The message to initialize the with. + + + + Marks the test as failed. Returns without throwing an exception when inside a multiple assert block. + + + + + Issues a warning using the message and arguments provided. + + The message to display. + Arguments to be used in formatting the message + + + + Issues a warning using the message provided. + + The message to display. + + + + Throws an with the message and arguments + that are passed in. This causes the test to be reported as ignored. + + The message to initialize the with. + Arguments to be used in formatting the message + + + + Throws an with the message that is + passed in. This causes the test to be reported as ignored. + + The message to initialize the with. + + + + Throws an . + This causes the test to be reported as ignored. + + + + + Throws an with the message and arguments + that are passed in. This causes the test to be reported as inconclusive. + + The message to initialize the with. + Arguments to be used in formatting the message + + + + Throws an with the message that is + passed in. This causes the test to be reported as inconclusive. + + The message to initialize the with. + + + + Throws an . + This causes the test to be reported as Inconclusive. + + + + + Asserts that an object is contained in a collection. Returns without throwing an exception when inside a + multiple assert block. + + The expected object + The collection to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object is contained in a collection. Returns without throwing an exception when inside a + multiple assert block. + + The expected object + The collection to be examined + + + + Wraps code containing a series of assertions, which should all + be executed, even if they fail. Failed results are saved and + reported at the end of the code block. + + A TestDelegate to be executed in Multiple Assertion mode. + + + + Wraps code containing a series of assertions, which should all + be executed, even if they fail. Failed results are saved and + reported at the end of the code block. + + A TestDelegate to be executed in Multiple Assertion mode. + + + + If throws, returns "SomeException was thrown by the + Environment.StackTrace property." See also . + + + + + Verifies that two doubles are equal considering a delta. If the expected value is infinity then the delta + value is ignored. Returns without throwing an exception when inside a multiple assert block. + + The expected value + The actual value + The maximum acceptable difference between the the expected and the actual + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two doubles are equal considering a delta. If the expected value is infinity then the delta + value is ignored. Returns without throwing an exception when inside a multiple assert block. + + The expected value + The actual value + The maximum acceptable difference between the the expected and the actual + + + + Verifies that two doubles are equal considering a delta. If the expected value is infinity then the delta + value is ignored. Returns without throwing an exception when inside a multiple assert block. + + The expected value + The actual value + The maximum acceptable difference between the the expected and the actual + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two doubles are equal considering a delta. If the expected value is infinity then the delta + value is ignored. Returns without throwing an exception when inside a multiple assert block. + + The expected value + The actual value + The maximum acceptable difference between the the expected and the actual + + + + Verifies that two objects are equal. Two objects are considered equal if both are null, or if both have the + same value. NUnit has special semantics for some object types. Returns without throwing an exception when + inside a multiple assert block. + + The value that is expected + The actual value + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two objects are equal. Two objects are considered equal if both are null, or if both have the + same value. NUnit has special semantics for some object types. Returns without throwing an exception when + inside a multiple assert block. + + The value that is expected + The actual value + + + + Verifies that two objects are not equal. Two objects are considered equal if both are null, or if both have + the same value. NUnit has special semantics for some object types. Returns without throwing an exception + when inside a multiple assert block. + + The value that is expected + The actual value + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two objects are not equal. Two objects are considered equal if both are null, or if both have + the same value. NUnit has special semantics for some object types. Returns without throwing an exception + when inside a multiple assert block. + + The value that is expected + The actual value + + + + Asserts that two objects refer to the same object. Returns without throwing an exception when inside a + multiple assert block. + + The expected object + The actual object + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that two objects refer to the same object. Returns without throwing an exception when inside a + multiple assert block. + + The expected object + The actual object + + + + Asserts that two objects do not refer to the same object. Returns without throwing an exception when inside + a multiple assert block. + + The expected object + The actual object + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that two objects do not refer to the same object. Returns without throwing an exception when inside + a multiple assert block. + + The expected object + The actual object + + + + Helper for Assert.AreEqual(double expected, double actual, ...) + allowing code generation to work consistently. + + The expected value + The actual value + The maximum acceptable difference between the + the expected and the actual + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that an async delegate throws a particular exception when called. The returned exception may be + when inside a multiple assert block. + + A constraint to be satisfied by the exception + A TestSnippet delegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that an async delegate throws a particular exception when called. The returned exception may be + when inside a multiple assert block. + + A constraint to be satisfied by the exception + A TestSnippet delegate + + + + Verifies that an async delegate throws a particular exception when called. The returned exception may be + when inside a multiple assert block. + + The exception Type expected + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that an async delegate throws a particular exception when called. The returned exception may be + when inside a multiple assert block. + + The exception Type expected + A TestDelegate + + + + Verifies that an async delegate throws a particular exception when called. The returned exception may be + when inside a multiple assert block. + + Type of the expected exception + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that an async delegate throws a particular exception when called. The returned exception may be + when inside a multiple assert block. + + Type of the expected exception + A TestDelegate + + + + Verifies that an async delegate throws an exception when called and returns it. The returned exception may + be when inside a multiple assert block. + + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that an async delegate throws an exception when called and returns it. The returned exception may + be when inside a multiple assert block. + + 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 returned exception may be when inside a multiple assert block. + + The expected Exception Type + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that an async delegate throws an exception of a certain Type or one derived from it when called and + returns it. The returned exception may be when inside a multiple assert block. + + 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. The returned exception may be when inside a multiple assert block. + + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that an async delegate throws an exception of a certain Type or one derived from it when called and + returns it. The returned exception may be when inside a multiple assert block. + + 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. The returned exception may be when inside a multiple assert block. + + A constraint to be satisfied by the exception + A TestSnippet delegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws a particular exception when called. The returned exception may be when inside a multiple assert block. + + A constraint to be satisfied by the exception + A TestSnippet delegate + + + + Verifies that a delegate throws a particular exception when called. The returned exception may be when inside a multiple assert block. + + The exception Type expected + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws a particular exception when called. The returned exception may be when inside a multiple assert block. + + The exception Type expected + A TestDelegate + + + + Verifies that a delegate throws a particular exception when called. The returned exception may be when inside a multiple assert block. + + Type of the expected exception + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws a particular exception when called. The returned exception may be when inside a multiple assert block. + + Type of the expected exception + A TestDelegate + + + + Verifies that a delegate throws an exception when called and returns it. The returned exception may be when inside a multiple assert block. + + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws an exception when called and returns it. The returned exception may be when inside a multiple assert block. + + A TestDelegate + + + + Verifies that a delegate throws an exception of a certain Type or one derived from it when called and + returns it. The returned exception may be when inside a multiple assert block. + + The expected Exception Type + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws an exception of a certain Type or one derived from it when called and + returns it. The returned exception may be when inside a multiple assert block. + + The expected Exception Type + A TestDelegate + + + + Verifies that a delegate throws an exception of a certain Type or one derived from it when called and + returns it. The returned exception may be when inside a multiple assert block. + + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws an exception of a certain Type or one derived from it when called and + returns it. The returned exception may be when inside a multiple assert block. + + A TestDelegate + + + + Verifies that a delegate does not throw an exception + + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate does not throw an exception. + + A TestDelegate + + + + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + + The evaluated condition + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + + The evaluated condition + + + + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + + The evaluated condition + A function to build the message included with the Exception + + + + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + + A lambda that returns a Boolean + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + + A lambda that returns a Boolean + + + + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + + A lambda that returns a Boolean + A function to build the message included with the Exception + + + + Apply a constraint to a delegate. Returns without throwing an exception when inside a multiple assert block. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + + + + Apply a constraint to a delegate. Returns without throwing an exception when inside a multiple assert block. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to a delegate. Returns without throwing an exception when inside a multiple assert block. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Apply a constraint to a delegate. Returns without throwing an exception when inside a multiple assert block. + + A TestDelegate to be executed + A Constraint expression to be applied + + + + Apply a constraint to a delegate. Returns without throwing an exception when inside a multiple assert block. + + A TestDelegate to be executed + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to a delegate. Returns without throwing an exception when inside a multiple assert block. + + A TestDelegate to be executed + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Apply a constraint to an actual value. Returns without throwing an exception when inside a multiple assert + block. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + + + + Apply a constraint to an actual value. Returns without throwing an exception when inside a multiple assert + block. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value. Returns without throwing an exception when inside a multiple assert + block. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Apply a constraint to an actual value. Returns without throwing an exception when inside a multiple assert + block. Used as a synonym for That in rare cases where a private setter causes a Visual Basic compilation + error. + + The actual value to test + A Constraint expression to be applied + + + + Apply a constraint to an actual value. Returns without throwing an exception when inside a multiple assert + block. Used as a synonym for That in rare cases where a private setter causes a Visual Basic compilation + error. + + + This method is provided for use by VB developers needing to test the value of properties with private + setters. + + The actual value to test + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that an object may be assigned a value of a given Type. Returns without throwing an exception when + inside a multiple assert block. + + The expected Type. + The object under examination + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object may be assigned a value of a given Type. Returns without throwing an exception when + inside a multiple assert block. + + The expected Type. + The object under examination + + + + Asserts that an object may be assigned a value of a given Type. Returns without throwing an exception when + inside a multiple assert block. + + The expected Type. + The object under examination + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object may be assigned a value of a given Type. Returns without throwing an exception when + inside a multiple assert block. + + The expected Type. + The object under examination + + + + Asserts that an object may not be assigned a value of a given Type. Returns without throwing an exception + when inside a multiple assert block. + + The expected Type. + The object under examination + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object may not be assigned a value of a given Type. Returns without throwing an exception + when inside a multiple assert block. + + The expected Type. + The object under examination + + + + Asserts that an object may not be assigned a value of a given Type. Returns without throwing an exception + when inside a multiple assert block. + + The expected Type. + The object under examination + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object may not be assigned a value of a given Type. Returns without throwing an exception + when inside a multiple assert block. + + The expected Type. + The object under examination + + + + Asserts that an object is an instance of a given type. Returns without throwing an exception when inside a + multiple assert block. + + The expected Type + The object being examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object is an instance of a given type. Returns without throwing an exception when inside a + multiple assert block. + + The expected Type + The object being examined + + + + Asserts that an object is an instance of a given type. Returns without throwing an exception when inside a + multiple assert block. + + The expected Type + The object being examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object is an instance of a given type. Returns without throwing an exception when inside a + multiple assert block. + + The expected Type + The object being examined + + + + Asserts that an object is not an instance of a given type. Returns without throwing an exception when inside + a multiple assert block. + + The expected Type + The object being examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object is not an instance of a given type. Returns without throwing an exception when inside + a multiple assert block. + + The expected Type + The object being examined + + + + Asserts that an object is not an instance of a given type. Returns without throwing an exception when inside + a multiple assert block. + + The expected Type + The object being examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object is not an instance of a given type. Returns without throwing an exception when inside + a multiple assert block. + + The expected Type + The object being examined + + + + Delegate used by tests that execute code and + capture any thrown exception. + + + + + 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 Constraint expression to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + A Constraint expression to be applied + The actual value to test + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + A Constraint expression to be applied + The actual value to test + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Returns a ListMapper based on a collection. + + The original collection + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if at least one of them succeeds. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them fail. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding only if a specified number of them succeed. + + + + + Returns a new PropertyConstraintExpression, which will either + test for the existence of the named property on the object + being tested or apply any following constraint to that property. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Length property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Count property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Message property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the InnerException property of the object being tested. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a constraint that tests for null + + + + + Returns a constraint that tests for True + + + + + Returns a constraint that tests for False + + + + + Returns a constraint that tests for a positive value + + + + + Returns a constraint that tests for a negative value + + + + + Returns a constraint that tests for equality with zero + + + + + Returns a constraint that tests for NaN + + + + + Returns a constraint that tests for empty + + + + + Returns a constraint that tests whether a collection + contains all unique items. + + + + + Returns a constraint that tests whether an object graph is serializable in binary format. + + + + + Returns a constraint that tests whether an object graph is serializable in XML format. + + + + + Returns a constraint that tests two items for equality + + + + + Returns a constraint that tests that two references are the same object + + + + + Returns a constraint that tests whether the + actual value is greater than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a collection containing the same elements as the + collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a subset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a superset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether a collection is ordered + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + To search for a substring instead of a collection element, use the + overload. + + + + + + + Returns a new ContainsConstraint. This constraint + will, in turn, make use of the appropriate second-level + constraint, depending on the type of the actual argument. + + + To search for a collection element instead of a substring, use the + overload. + + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that fails if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that fails if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that fails if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that fails if the actual + value matches the pattern supplied as an argument. + + + + + Returns a constraint that tests whether the path provided + is the same as an expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is a subpath of the expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is the same path or under an expected path after canonicalization. + + + + + Returns a constraint that tests whether the actual value falls + within a specified range. + + + + + Provides static methods to express the assumptions + that must be met for a test to give a meaningful + result. If an assumption is not met, the test + should produce an inconclusive result. + + + + + DO NOT USE! + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + The left object. + The right object. + Not applicable + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + The left object. + The right object. + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Asserts that a condition is true. If the condition is false, the method throws + an . + + The evaluated condition + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false, the + method throws an . + + The evaluated condition + + + + Asserts that a condition is true. If the condition is false, the method throws + an . + + The evaluated condition + A function to build the message included with the Exception + + + + Asserts that a condition is true. If the condition is false, the method throws + an . + + A lambda that returns a Boolean + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false, the method throws + an . + + A lambda that returns a Boolean + + + + Asserts that a condition is true. If the condition is false, the method throws + an . + + A lambda that returns a Boolean + A function to build the message included with the Exception + + + + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + + A TestDelegate to be executed + A ThrowsConstraint used in the test + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Marks a test as needing to be run in a particular threading apartment state. This will cause it + to run in a separate thread if necessary. + + + + + Construct an ApartmentAttribute + + The apartment state that this test must be run under. You must pass in a valid apartment state. + + + + Provides the author of a test or test fixture. + + + + + Initializes a new instance of the class. + + The name of the author. + + + + Initializes a new instance of the class. + + The name of the author. + The email address of the author. + + + + Applies a category to a test + + + + + The name of the category + + + + + Construct attribute for a given category based on + a name. The name may not contain the characters ',', + '+', '-' or '!'. However, this is not checked in the + constructor since it would cause an error to arise at + as the test was loaded without giving a clear indication + of where the problem is located. The error is handled + in NUnitFramework.cs by marking the test as not + runnable. + + The name of the category + + + + Protected constructor uses the Type name as the name + of the category. + + + + + The name of the category + + + + + Modifies a test by adding a category to it. + + The test to modify + + + + Marks a test to use a combinatorial join of any argument data provided. + Since this is the default, the attribute is optional. + + + + + Default constructor + + + + + Marks a test as using a particular CombiningStrategy to join any supplied parameter data. + Since this is the default, the attribute is optional. + + + + + Construct a CombiningStrategyAttribute incorporating an + ICombiningStrategy and an IParameterDataProvider. + + Combining strategy to be used in combining data + An IParameterDataProvider to supply data + + + + Construct a CombiningStrategyAttribute incorporating an object + that implements ICombiningStrategy and an IParameterDataProvider. + This constructor is provided for CLS compliance. + + Combining strategy to be used in combining data + An IParameterDataProvider to supply data + + + + Builds any number of tests from the specified method and context. + + The MethodInfo for which tests are to be constructed. + The suite to which the tests will be added. + + + + Modify the test by adding the name of the combining strategy + to the properties. + + The test to modify + + + + Marks an assembly, test fixture or test method as applying to a specific Culture. + + + + + Constructor with no cultures specified, for use + with named property syntax. + + + + + Constructor taking one or more cultures + + Comma-delimited list of cultures + + + + Causes a test to be skipped if this CultureAttribute is not satisfied. + + The test to modify + + + + Tests to determine if the current culture is supported + based on the properties of this attribute. + + True, if the current culture is supported + + + + Test to determine if the a particular culture or comma- + delimited set of cultures is in use. + + Name of the culture or comma-separated list of culture ids + True if the culture is in use on the system + + + + Test to determine if one of a collection of cultures + is being used currently. + + + + + + + Abstract base class for all data-providing attributes defined by NUnit. + Used to select all data sources for a method, class or parameter. + + + + + Default constructor + + + + + Marks a field for use as a datapoint when executing a theory within + the same fixture that requires an argument of the field's Type. + + + + + Marks a field, property or method as providing a set of datapoints for use + in executing any theories within the same fixture that require an argument of + the provided Type. The data source may provide an array of the required Type + or an . Synonymous with . + + + + + Marks a field, property or method as providing a set of datapoints for use + in executing any theories within the same fixture that require an argument + of the provided type. The data source may provide an array of the required + Type or an . Synonymous with . + + + + + Sets the tolerance used by default when checking the equality of floating point values + within the test assembly, fixture or method. + + + + + Construct specifying an amount + + + + + + Apply changes to the TestExecutionContext + + The TestExecutionContext + + + + Provides the descriptive text relating to the assembly, test fixture or test method. + + + + + Construct a description Attribute + + The text of the description + + + + Marks an assembly, test fixture or test method such that it will only run if explicitly + executed from the GUI, command line or included within a test filter. + The test will not be run simply because an enclosing suite is run. + + + + + Default constructor + + + + + Constructor with a reason + + The reason test is marked explicit + + + + Modifies a test by marking it as explicit. + + The test to modify + + + + Specify the life cycle of a Fixture + + + + + Construct a FixtureLifeCycleAttribute with a specified . + + + + + Defines the life cycle for this test fixture or assembly. + + + + + Overridden to set a TestFixture's . + + + + + Marks an assembly, test fixture or test method as being ignored. Ignored tests result in a warning message when the tests are run. + + + + + Constructs the attribute giving a reason for ignoring the test + + The reason for ignoring the test + + + + The date in the future to stop ignoring the test as a string in UTC time. + For example for a date and time, "2014-12-25 08:10:00Z" or for just a date, + "2014-12-25". If just a date is given, the Ignore will expire at midnight UTC. + + + Once the ignore until date has passed, the test will be marked + as runnable. Tests with an ignore until date will have an IgnoreUntilDate + property set which will appear in the test results. + + The string does not contain a valid string representation of a date and time. + + + + Modifies a test by marking it as Ignored. + + The test to modify + + + + Abstract base for attributes that are used to include tests in + the test run based on environmental settings. + + + + + Constructor with no included items specified, for use + with named property syntax. + + + + + Constructor taking one or more included items + + Comma-delimited list of included items + + + + Name of the item that is needed in order for + a test to run. Multiple items may be given, + separated by a comma. + + + + + Name of the item to be excluded. Multiple items + may be given, separated by a comma. + + + + + The reason for including or excluding the test + + + + + Sets the number of worker threads that may be allocated by the framework + for running tests. + + + + + Construct a LevelOfParallelismAttribute. + + The number of worker threads to be created by the framework. + + + + Specifies the life cycle for a test fixture. + + + + + A single instance is created and shared for all test cases. + + + + + A new instance is created for each test case. + + + + + Specifies the maximum time (in milliseconds) for a test case to succeed. + + + + + Construct a MaxTimeAttribute, given a time in milliseconds. + + The maximum elapsed time in milliseconds + + + + Marks tests that should NOT be run in parallel. + + + + + Construct a NonParallelizableAttribute. + + + + + Used by third-party frameworks, or other software, that reference + the NUnit framework but do not contain any tests. Applying the + attribute indicates that the assembly is not a test assembly and + may prevent errors if certain runners attempt to load the assembly. + Note that recognition of the attribute depends on each individual runner. + + + + + Abstract base class for all custom attributes defined by NUnit. + + + + + Default constructor + + + + + Identifies a method that is called once to perform setup before any child tests are run. + + + + + Identifies a method to be called once after all the child tests have run. + The method is guaranteed to be called, even if an exception is thrown. + + + + + Defines the order that the test will run in + + + + + Defines the order that the test will run in + + + + + Defines the order that the test will run in + + + + + + Modifies a test as defined for the specific attribute. + + The test to modify + + + + Marks a test as using a pairwise join of any supplied argument data. Arguments will be + combined in such a way that all possible pairs of arguments are used. + + + + + Default constructor + + + + + Marks a test assembly, fixture or method that may be run in parallel. + + + + + Construct a ParallelizableAttribute using default ParallelScope.Self. + + + + + Construct a ParallelizableAttribute with a specified scope. + + The ParallelScope associated with this attribute. + + + + Defines the degree to which this test and its descendants may be run in parallel + + + + + Overridden to check for invalid combinations of settings + + + + + + Modify the context to be used for child tests + + The current TestExecutionContext + + + + Specifies the degree to which a test, and its descendants, + may be run in parallel. + + + + + No ParallelScope was specified on the test + + + + + The test may be run in parallel with others at the same level. + Valid on classes and methods but has no effect on assemblies. + + + + + Test may not be run in parallel with any others. Valid on + classes and methods but not assemblies. + + + + + Mask used to extract the flags that apply to the item on which a + ParallelizableAttribute has been placed, as opposed to descendants. + + + + + Descendants of the test may be run in parallel with one another. + Valid on assemblies and classes but not on non-parameterized methods. + + + + + Descendants of the test down to the level of TestFixtures may be + run in parallel with one another. Valid on assemblies and classes + but not on methods. + + + + + Mask used to extract all the flags that impact descendants of a + test and place them in the TestExecutionContext. + + + + + The test and its descendants may be run in parallel with others at + the same level. Valid on classes and parameterized methods. + For assemblies it is recommended to use + instead, as has no effect on assemblies. + + + + + Marks an assembly, test fixture or test method as applying to a specific platform. + + + + + Constructor with no platforms specified, for use + with named property syntax. + + + + + Constructor taking one or more platforms + + Comma-delimited list of platforms + + + + Causes a test to be skipped if this PlatformAttribute is not satisfied. + + The test to modify + + + + Attaches information to a test assembly, fixture or method as a name/value pair. + + + + + Construct a PropertyAttribute with a name and string value + + The name of the property + The property value + + + + Construct a PropertyAttribute with a name and int value + + The name of the property + The property value + + + + Construct a PropertyAttribute with a name and double value + + The name of the property + The property value + + + + Constructor for derived classes that set the + property dictionary directly. + + + + + Constructor for use by derived classes that use the + name of the type as the property name. Derived classes + must ensure that the Type of the property value is + a standard type supported by the BCL. Any custom + types will cause a serialization Exception when + in the client. + + + + + Gets the property dictionary for this attribute + + + + + Modifies a test by adding properties to it. + + The test to modify + + + + Supplies a set of random values to a single parameter of a parameterized test. + + + + + If true, no value will be repeated. + + + + + Construct a random set of values appropriate for the Type of the + parameter on which the attribute appears, specifying only the count. + + + + + + Generates values within a specified range. + + + + + Generates values within a specified range. + + + + + Generates values within a specified range. + + + + + Generates values within a specified range. + + + + + Generates values within a specified range. + + + + + Generates values within a specified range. + + + + + Generates values within a specified range. + + + + + Generates values within a specified range. + + + + + Generates values within a specified range. + + + + + Generates values within a specified range. + + + + + Retrieves a list of arguments which can be passed to the specified parameter. + + The parameter of a parameterized test. + + + + Supplies a range of values to an individual parameter of a parameterized test. + + + + + Constructs a range of values using the default step of 1. + + + + + Constructs a range of values with the specified step size. + + + + + Constructs a range of values using the default step of 1. + + + + + Constructs a range of values with the specified step size. + + + + + Constructs a range of values using a default step of 1. + + + + + Constructs a range of values with the specified step size. + + + + + Constructs a range of values using the default step of 1. + + + + + Constructs a range of values with the specified step size. + + + + + Constructs a range of values with the specified step size. + + + + + Constructs a range of values with the specified step size. + + + + + Retrieves a list of arguments which can be passed to the specified parameter. + + The parameter of a parameterized test. + + + Returns a string that represents the current object. + + + + Specifies that a test should be run multiple times. + + + + + Construct a RepeatAttribute + + The number of times to run the test + + + + Wrap a command and return the result. + + The command to be wrapped + The wrapped command + + + + The test command for the RepeatAttribute + + + + + Initializes a new instance of the class. + + The inner command. + The number of repetitions + + + + Runs the test, saving a TestResult in the supplied TestExecutionContext. + + The context in which the test should run. + A TestResult + + + + Marks a test that must run on a separate thread. + + + + + Construct a RequiresThreadAttribute + + + + + Construct a RequiresThreadAttribute, specifying the apartment + + + + + Specifies that a test method should be rerun on failure up to the specified + maximum number of times. + + + + + Construct a + + The maximum number of times the test should be run if it fails + + + + Wrap a command and return the result. + + The command to be wrapped + The wrapped command + + + + The test command for the + + + + + Initializes a new instance of the class. + + The inner command. + The maximum number of repetitions + + + + Runs the test, saving a TestResult in the supplied TestExecutionContext. + + The context in which the test should run. + A TestResult + + + + Marks a test to use a sequential join of any provided argument data. + Arguments will be combined into test cases, taking the next value of + each argument until all are used. + + + + + Default constructor + + + + + Sets the current Culture on an assembly, test fixture or test method for + the duration of a test. The culture remains set until the test or fixture + completes and is then reset to its original value. + + + + + + Construct given the name of a culture + + + + + + Sets the current UI Culture on an assembly, test fixture or test method + for the duration of a test. The UI culture remains set until the test or + fixture completes and is then reset to its original value. + + + + + + Construct given the name of a culture + + + + + + Identifies a method to be called immediately before each test is run. + + + + + Identifies a class as containing or + methods for all the test fixtures + under a given namespace. + + + + + Builds a from the specified type. + + The type info of the fixture to be used. + + + + Marks a test fixture as requiring all child tests to be run on the + same thread as the OneTimeSetUp and OneTimeTearDown. A flag in the + is set forcing all child tests + to be run sequentially on the current thread. + Any setting is ignored. + + + + + Apply changes to the TestExecutionContext + + The TestExecutionContext + + + + Identifies a method to be called immediately after each test is run. + The method is guaranteed to be called, even if an exception is thrown. + + + + + Abstract attribute providing actions to execute before and after tests. + + + + + Executed before each test is run + + The test that is going to be run. + + + + Executed after each test is run + + The test that has just been run. + + + + Provides the target for the action attribute + + + + + Marks a test assembly as needing a special assembly resolution hook that will + explicitly search the test assembly's directory for dependent assemblies. + This works around a conflict between mixed-mode assembly initialization and + tests running in their own AppDomain in some cases. + + + + + Marks the method as callable from the NUnit test runner. + + + + [TestFixture] + public class Fixture + { + [Test] + public void MethodToTest() + {} + + [Test(Description = "more detailed description")] + public void TestDescriptionMethod() + {} + } + + + + + + Descriptive text for this test + + + + + The author of this test + + + + + The type that this test is testing + + + + + Gets or sets the expected result. Not valid if the test + method has parameters. + + The result. + + + + Modifies a test by adding a description, if not already set. + + The test to modify + + + + Builds a single test from the specified method and context. + + The method for which a test is to be constructed. + The suite to which the test will be added. + + + + Marks a method as a parameterized test suite and provides arguments for each test case. + + + + + Construct a TestCaseAttribute with a list of arguments. + This constructor is not CLS-Compliant + + + + + + Construct a TestCaseAttribute with a single argument + + + + + + Construct a TestCaseAttribute with a two arguments + + + + + + + Construct a TestCaseAttribute with a three arguments + + + + + + + + Gets or sets the name of the test. + + The name of the test. + + + + Gets or sets the RunState of this test case. + + + + + Gets the list of arguments to a test case + + + + + Gets the properties of the test case + + + + + Gets or sets the expected result. + + The result. + + + + Returns true if the expected result has been set + + + + + Gets or sets the description. + + The description. + + + + The author of this test + + + + + The type that this test is testing + + + + + Gets or sets the reason for ignoring the test + + + + + Gets or sets a value indicating whether this is explicit. + + + if explicit; otherwise, . + + + + + Gets or sets the reason for not running the test. + + The reason. + + + + Gets or sets the ignore reason. When set to a non-null + non-empty value, the test is marked as ignored. + + The ignore reason. + + + + Comma-delimited list of platforms to run the test for + + + + + Comma-delimited list of platforms to not run the test for + + + + + Gets and sets the category for this test case. + May be a comma-separated list of categories. + + + + + Gets and sets the ignore until date for this test case. + + + + + Performs several special conversions allowed by NUnit in order to + permit arguments with types that cannot be used in the constructor + of an Attribute such as TestCaseAttribute or to simplify their use. + + The arguments to be converted + The ParameterInfo array for the method + + + + Builds a single test from the specified method and context. + + The MethodInfo for which tests are to be constructed. + The suite to which the tests will be added. + + + + Indicates the source to be used to provide test fixture instances for a test class. + + + + + Construct with the name of the method, property or field that will provide data + + The name of a static method, property or field that will provide data. + + + + Construct with a Type and name + + The Type that will provide data + The name of a static method, property or field that will provide data. + A set of parameters passed to the method, works only if the Source Name is a method. + If the source name is a field or property has no effect. + + + + Construct with a Type and name + + The Type that will provide data + The name of a static method, property or field that will provide data. + + + + Construct with a name + + The name of a static method, property or field that will provide data. + A set of parameters passed to the method, works only if the Source Name is a method. + If the source name is a field or property has no effect. + + + + Construct with a Type + + The type that will provide data + + + + A set of parameters passed to the method, works only if the Source Name is a method. + If the source name is a field or property has no effect. + + + + + The name of a the method, property or field to be used as a source + + + + + A Type to be used as a source + + + + + Gets or sets the category associated with every fixture created from + this attribute. May be a single category or a comma-separated list. + + + + + Builds any number of tests from the specified method and context. + + The IMethod for which tests are to be constructed. + The suite to which the tests will be added. + + + + Marks the class as a TestFixture. + + + + + Default constructor + + + + + Construct with a object[] representing a set of arguments. + The arguments may later be separated into type arguments and constructor arguments. + + + + + + Gets or sets the name of the test. + + The name of the test. + + + + Gets or sets the RunState of this test fixture. + + + + + The arguments originally provided to the attribute + + + + + Properties pertaining to this fixture + + + + + Get or set the type arguments. If not set + explicitly, any leading arguments that are + Types are taken as type arguments. + + + + + Descriptive text for this fixture + + + + + The author of this fixture + + + + + The type that this fixture is testing + + + + + Gets or sets the ignore reason. May set RunState as a side effect. + + The ignore reason. + + + + Gets or sets the reason for not running the fixture. + + The reason. + + + + Gets or sets the ignore reason. When set to a non-null + non-empty value, the test is marked as ignored. + + The ignore reason. + + + + Gets or sets a value indicating whether this is explicit. + + + if explicit; otherwise, . + + + + + Gets and sets the category for this fixture. + May be a comma-separated list of categories. + + + + + Builds a single test fixture from the specified type. + + + + + Builds a single test fixture from the specified type. + + The type info of the fixture to be used. + Filter used to select methods as tests. + + + + Identifies the source used to provide test fixture instances for a test class. + + + + + Error message string is public so the tests can use it + + + + + Construct with the name of the method, property or field that will provide data + + The name of a static method, property or field that will provide data. + + + + Construct with a Type and name + + The Type that will provide data + The name of a static method, property or field that will provide data. + + + + Construct with a Type + + The type that will provide data + + + + The name of a the method, property or field to be used as a source + + + + + A Type to be used as a source + + + + + Gets or sets the category associated with every fixture created from + this attribute. May be a single category or a comma-separated list. + + + + + Builds any number of test fixtures from the specified type. + + The TypeInfo for which fixtures are to be constructed. + + + + Builds any number of test fixtures from the specified type. + + The TypeInfo for which fixtures are to be constructed. + PreFilter used to select methods as tests. + + + + Returns a set of ITestFixtureData items for use as arguments + to a parameterized test fixture. + + The type for which data is needed. + + + + + Indicates the method or class the assembly, test fixture or test method is testing. + + + + + Initializes a new instance of the class. + + The type that is being tested. + + + + Initializes a new instance of the class. + + The type that is being tested. + + + + Adding this attribute to a method within a + class makes the method callable from the NUnit test runner. There is a property + called Description which is optional which you can provide a more detailed test + description. This class cannot be inherited. + + + + [TestFixture] + public class Fixture + { + [Test] + public void MethodToTest() + {} + + [Test(Description = "more detailed description")] + public void TestDescriptionMethod() + {} + } + + + + + + Construct the attribute, specifying a combining strategy and source of parameter data. + + + + + Applies a timeout in milliseconds to a test. + When applied to a method, the test is cancelled if the timeout is exceeded. + When applied to a class or assembly, the default timeout is set for all contained test methods. + + + + + Construct a TimeoutAttribute given a time in milliseconds + + The timeout value in milliseconds + + + + Provides literal arguments for an individual parameter of a test. + + + + + The collection of data to be returned. Must + be set by any derived attribute classes. + We use an object[] so that the individual + elements may have their type changed in GetData + if necessary + + + + + Constructs for use with an Enum parameter. Will pass every enum + value in to the test. + + + + + Construct with one argument + + + + + + Construct with two arguments + + + + + + + Construct with three arguments + + + + + + + + Construct with an array of arguments + + + + + + Retrieves a list of arguments which can be passed to the specified parameter. + + The parameter of a parameterized test. + + + + To generate data for Values attribute, in case no data is provided. + + + + + To Check if type is nullable enum. + + + + + Indicates the source used to provide data for one parameter of a test method. + + + + + Construct with the name of the factory - for use with languages + that don't support params arrays. + + The name of a static method, property or field that will provide data. + + + + Construct with a Type and name - for use with languages + that don't support params arrays. + + The Type that will provide data + The name of a static method, property or field that will provide data. + + + + The name of a the method, property or field to be used as a source + + + + + A Type to be used as a source + + + + + Retrieves a list of arguments which can be passed to the specified parameter. + + The parameter of a parameterized test. + + + + A set of Assert methods operating on one or more collections + + + + + DO NOT USE! Use CollectionAssert.AreEqual(...) instead. + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + Asserts that all items contained in collection are of the type specified by expectedType. + + IEnumerable containing objects to be considered + System.Type that all objects in collection must be instances of + + + + Asserts that all items contained in collection are of the type specified by expectedType. + + IEnumerable containing objects to be considered + System.Type that all objects in collection must be instances of + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that all items contained in collection are not equal to null. + + IEnumerable containing objects to be considered + + + + Asserts that all items contained in collection are not equal to null. + + IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Ensures that every object contained in collection exists within the collection + once and only once. + + IEnumerable of objects to be considered + + + + Ensures that every object contained in collection exists within the collection + once and only once. + + IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are equivalent, containing the same objects but the match may be in any order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are equivalent, containing the same objects but the match may be in any order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are not exactly equal. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are not exactly equal. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + + + + Asserts that expected and actual are not exactly equal. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are not exactly equal. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are not equivalent. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are not equivalent. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that collection contains actual as an item. + + IEnumerable of objects to be considered + Object to be found within collection + + + + Asserts that collection contains actual as an item. + + IEnumerable of objects to be considered + Object to be found within collection + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that collection does not contain actual as an item. + + IEnumerable of objects to be considered + Object that cannot exist within collection + + + + Asserts that collection does not contain actual as an item. + + IEnumerable of objects to be considered + Object that cannot exist within collection + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the superset does not contain the subset + + The IEnumerable subset to be considered + The IEnumerable superset to be considered + + + + Asserts that the superset does not contain the subset + + The IEnumerable subset to be considered + The IEnumerable superset to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the superset contains the subset. + + The IEnumerable subset to be considered + The IEnumerable superset to be considered + + + + Asserts that the superset contains the subset. + + The IEnumerable subset to be considered + The IEnumerable superset to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the subset does not contain the superset + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + + + + Asserts that the subset does not contain the superset + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the subset contains the superset. + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + + + + Asserts that the subset contains the superset. + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array, list or other collection is empty + + An array, list or other collection implementing IEnumerable + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array,list or other collection is empty + + An array, list or other collection implementing IEnumerable + + + + Assert that an array, list or other collection is empty + + An array, list or other collection implementing IEnumerable + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array,list or other collection is empty + + An array, list or other collection implementing IEnumerable + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + A custom comparer to perform the comparisons + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + A custom comparer to perform the comparisons + + + + AllItemsConstraint applies another constraint to each + item in a collection, succeeding if they all succeed. + + + + + Construct an AllItemsConstraint on top of an existing constraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the item constraint to each item in the collection, + failing if any item fails. + + + + + + + AndConstraint succeeds only if both members succeed. + + + + + Create an AndConstraint from two other constraints + + The first constraint + The second constraint + + + + Gets text describing a constraint + + + + + Apply both member constraints to an actual value, succeeding + succeeding only if both of them succeed. + + The actual value + True if the constraints both succeeded + + + + Write the actual value for a failing constraint test to a + MessageWriter. The default implementation simply writes + the raw value of actual, leaving it to the writer to + perform any formatting. + + The writer on which the actual value is displayed + + + + is used to determine whether the value is equal to any of the expected values. + + + + + Construct a + + Collection of expected values + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether item is present in expected collection + + Actual item type + Actual item + + + + Flag the constraint to ignore case and return self. + + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + + + + Flag the constraint to use the supplied Comparison object. + + The Comparison object to use. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IEqualityComparer object to use. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + + + + Flag the constraint to use the supplied boolean-returning delegate. + + The supplied boolean-returning delegate to use. + + + + AssignableFromConstraint is used to test that an object + can be assigned from a given Type. + + + + + Construct an AssignableFromConstraint for the type provided + + + + + + Apply the constraint to an actual value, returning true if it succeeds + + The actual argument + True if the constraint succeeds, otherwise false. + + + + AssignableToConstraint is used to test that an object + can be assigned to a given Type. + + + + + Construct an AssignableToConstraint for the type provided + + + + + + Apply the constraint to an actual value, returning true if it succeeds + + The actual argument + True if the constraint succeeds, otherwise false. + + + + AttributeConstraint tests that a specified attribute is present + on a Type or other provider and that the value of the attribute + satisfies some other constraint. + + + + + Constructs an AttributeConstraint for a specified attribute + Type and base constraint. + + + + + + + Determines whether the Type or other provider has the + expected attribute and if its value matches the + additional constraint specified. + + + + + Returns a string representation of the constraint. + + + + + AttributeExistsConstraint tests for the presence of a + specified attribute on a Type. + + + + + Constructs an AttributeExistsConstraint for a specific attribute Type + + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Tests whether the object provides the expected attribute. + + A Type, MethodInfo, or other ICustomAttributeProvider + True if the expected attribute is present, otherwise false + + + + BinaryConstraint is the abstract base of all constraints + that combine two other constraints in some fashion. + + + + + The first constraint being combined + + + + + The second constraint being combined + + + + + Construct a BinaryConstraint from two other constraints + + The first constraint + The second constraint + + + + BinarySerializableConstraint tests whether + an object is serializable in binary format. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Returns the string representation + + + + + CollectionConstraint is the abstract base class for + constraints that operate on collections. + + + + + Construct an empty CollectionConstraint + + + + + Construct a CollectionConstraint + + + + + + Determines whether the specified enumerable is empty. + + The enumerable. + + if the specified enumerable is empty; otherwise, . + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Protected method to be implemented by derived classes + + + + + + + CollectionContainsConstraint is used to test whether a collection + contains an expected object as a member. + + + + + Construct a CollectionContainsConstraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Gets the expected object + + + + + Test whether the expected item is contained in the collection + + + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + + CollectionEquivalentConstraint is used to determine whether two + collections are equivalent. + + + + The result of the from the collections + under comparison. + + + Construct a CollectionEquivalentConstraint + Expected collection. + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether two collections are equivalent + + + + + + + Test whether the collection is equivalent to the expected. + + + Actual collection type. + + + Actual collection to compare. + + + A indicating whether or not + the two collections are equivalent. + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + Provides a for the . + + + Result of a of the collections to compare for equivalence. + + + Construct a using a . + Source . + Result of the collection comparison. + Actual collection to compare. + Whether or not the succeeded. + + + Write any additional lines (following Expected: and But was:) for a failing constraint. + The to write the failure message to. + + + + CollectionItemsEqualConstraint is the abstract base class for all + collection constraints that apply some notion of item equality + as a part of their operation. + + + + + The NUnitEqualityComparer in use for this constraint + + + + + Construct an empty CollectionConstraint + + + + + Construct a CollectionConstraint + + + + + + Get a flag indicating whether the user requested us to ignore case. + + + + + Get a flag indicating whether any external comparers are in use. + + + + + Flag the constraint to ignore case and return self. + + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + + + + Flag the constraint to use the supplied Comparison object. + + The Comparison object to use. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + + + + Flag the constraint to use the supplied boolean-returning delegate. + + The supplied boolean-returning delegate to use. + + + + Compares two collection members for equality + + + + + Return a new CollectionTally for use in making tests + + The collection to be included in the tally + + + + CollectionOrderedConstraint is used to test whether a collection is ordered. + + + + + Construct a CollectionOrderedConstraint + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + If used performs a default ascending comparison + + + + + If used performs a reverse comparison + + + + + Modifies the constraint to use an and returns self. + + + + + Modifies the constraint to use an and returns self. + + + + + Modifies the constraint to use a and returns self. + + + + + Modifies the constraint to test ordering by the value of + a specified property and returns self. + + + + + Then signals a break between two ordering steps + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Test whether the collection is ordered + + + + + Returns the string representation of the constraint. + + + + + + An OrderingStep represents one stage of the sort + + + + + Constructor for success result. + + The Constraint to which this result applies. + The actual value to which the Constraint was applied. + + + + Constructor for failure result. + + The Constraint to which this result applies. + The actual value to which the Constraint was applied. + Index at which collection order breaks. + Value at which collection order breaks. + + + + CollectionSubsetConstraint is used to determine whether + one collection is a subset of another + + + + + Construct a CollectionSubsetConstraint + + The collection that the actual value is expected to be a subset of + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the actual collection is a subset of + the expected collection provided. + + + + + + + Test whether the constraint is satisfied by a given value. + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + + CollectionSupersetConstraint is used to determine whether + one collection is a superset of another + + + + + Construct a CollectionSupersetConstraint + + The collection that the actual value is expected to be a superset of + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the actual collection is a superset of + the expected collection provided. + + + + + + + Test whether the constraint is satisfied by a given value. + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + counts (tallies) the number of occurrences + of each object in one or more enumerations. + + + The result of a . + + + Items that were not in the expected collection. + + + Items that were not accounted for in the expected collection. + + + Initializes a new instance of the class with the given fields. + + + The result of the comparison between the two collections. + + + Construct a CollectionTally object from a comparer and a collection. + The comparer to use for equality. + The expected collection to compare against. + + + Try to remove an object from the tally. + The object to remove. + + + Try to remove a set of objects from the tally. + The objects to remove. + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Flag indicating whether or not this is the top level comparison. + + + + + A list of tracked comparisons + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two types related by . + + + + + Interface for comparing two s. + + + + + Method for comparing two objects with a tolerance. + + The first object to compare. + The second object to compare. + The tolerance to use when comparing the objects. + The evaluation state of the comparison. + + if the objects cannot be compared using the method. + Otherwise the result of the comparison is returned. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two types related by . + + + + + Comparator for two s or s. + + + + + Comparator for two Tuples. + + + + + Base class for comparators for tuples (both regular Tuples and ValueTuples). + + + + + Comparator for two ValueTuples. + + + + + ComparisonAdapter class centralizes all comparisons of + values in NUnit, adapting to the use of any provided + , + or . + + + + + Gets the default ComparisonAdapter, which wraps an + NUnitComparer object. + + + + + Returns a ComparisonAdapter that wraps an + + + + + Returns a ComparisonAdapter that wraps an + + + + + Returns a ComparisonAdapter that wraps a + + + + + Compares two objects + + + + + Construct a default ComparisonAdapter + + + + + Construct a ComparisonAdapter for an + + + + + Compares two objects + + + + + + + + ComparerAdapter extends and + allows use of an or + to actually perform the comparison. + + + + + Construct a ComparisonAdapter for an + + + + + Compare a Type T to an object + + + + + Construct a ComparisonAdapter for a + + + + + Compare a Type T to an object + + + + + Abstract base class for constraints that compare values to + determine if one is greater than, equal to or less than + the other. + + + + + The value against which a comparison is to be made + + + + + Tolerance used in making the comparison + + + + + ComparisonAdapter to be used in making the comparison + + + + + Initializes a new instance of the class. + + The value against which to make a comparison. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + A ConstraintResult + + + + Protected function overridden by derived class to actually perform the comparison + + + + + Modifies the constraint to use an and returns self + + The comparer used for comparison tests + A constraint modified to use the given comparer + + + + Modifies the constraint to use an and returns self + + The comparer used for comparison tests + A constraint modified to use the given comparer + + + + Modifies the constraint to use a and returns self + + The comparer used for comparison tests + A constraint modified to use the given comparer + + + + Set the tolerance for use in this comparison + + + + + Switches the .Within() modifier to interpret its tolerance as + a percentage that the actual values is allowed to deviate from + the expected value. + + Self + + + + Provides standard description of what the constraint tests + based on comparison text. + + Describes the comparison being tested, throws + if null + Is thrown when null passed to a method + + + + Delegate used to delay evaluation of the actual value + to be used in evaluating a constraint + + + + + The Constraint class is the base of all built-in constraints + within NUnit. It provides the operator overloads used to combine + constraints. + + + + + Construct a constraint with optional arguments + + Arguments to be saved + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Arguments provided to this Constraint, for use in + formatting the description. + + + + + The ConstraintBuilder holding this constraint + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + Applies the constraint to an ActualValueDelegate that returns + the value to be tested. The default implementation simply evaluates + the delegate but derived classes may override it to provide for + delayed processing. + + An ActualValueDelegate + A ConstraintResult + + + + Test whether the constraint is satisfied by a given reference. + The default implementation simply dereferences the value but + derived classes may override it to provide for delayed processing. + + A reference to the value to be tested + A ConstraintResult + + + + Retrieves the value to be tested from an ActualValueDelegate. + The default implementation simply evaluates the delegate but derived + classes may override it to provide for delayed processing. + + An ActualValueDelegate + Delegate evaluation result + + + + Default override of ToString returns the constraint DisplayName + followed by any arguments within angle brackets. + + + + + + Returns the string representation of this constraint + + + + + This operator creates a constraint that is satisfied only if both + argument constraints are satisfied. + + + + + This operator creates a constraint that is satisfied if either + of the argument constraints is satisfied. + + + + + This operator creates a constraint that is satisfied if the + argument constraint is not satisfied. + + + + + Returns a ConstraintExpression by appending And + to the current constraint. + + + + + Returns a ConstraintExpression by appending And + to the current constraint. + + + + + Returns a ConstraintExpression by appending Or + to the current constraint. + + + + + Returns a DelayedConstraint.WithRawDelayInterval with the specified delay time. + + The delay, which defaults to milliseconds. + + + + + Returns a DelayedConstraint with the specified delay time + and polling interval. + + The delay in milliseconds. + The interval at which to test the constraint. + + + + + Resolves any pending operators and returns the resolved constraint. + + + + + ConstraintBuilder maintains the stacks that are used in + processing a ConstraintExpression. An OperatorStack + is used to hold operators that are waiting for their + operands to be reorganized. a ConstraintStack holds + input constraints as well as the results of each + operator applied. + + + + + OperatorStack is a type-safe stack for holding ConstraintOperators + + + + + Initializes a new instance of the class. + + The ConstraintBuilder using this stack. + + + + Gets a value indicating whether this is empty. + + if empty; otherwise, . + + + + Gets the topmost operator without modifying the stack. + + + + + Pushes the specified operator onto the stack. + + The operator to put onto the stack. + + + + Pops the topmost operator from the stack. + + The topmost operator on the stack + + + + ConstraintStack is a type-safe stack for holding Constraints + + + + + Initializes a new instance of the class. + + The ConstraintBuilder using this stack. + + + + Gets a value indicating whether this is empty. + + if empty; otherwise, . + + + + Pushes the specified constraint. As a side effect, + the constraint's Builder field is set to the + ConstraintBuilder owning this stack. + + The constraint to put onto the stack + + + + Pops this topmost constraint from the stack. + As a side effect, the constraint's Builder + field is set to null. + + The topmost constraint on the stack + + + + Initializes a new instance of the class. + + + + + Appends the specified operator to the expression by first + reducing the operator stack and then pushing the new + operator on the stack. + + The operator to push. + + + + Appends the specified constraint to the expression by pushing + it on the constraint stack. + + The constraint to push. + + + + Sets the top operator right context. + + The right context. + + + + Reduces the operator stack until the topmost item + precedence is greater than or equal to the target precedence. + + The target precedence. + + + + Resolves this instance, returning a Constraint. If the Builder + is not currently in a resolvable state, an exception is thrown. + + The resolved constraint + + + + Gets a value indicating whether this instance is resolvable. + + + if this instance is resolvable; otherwise, . + + + + + ConstraintExpression represents a compound constraint in the + process of being constructed from a series of syntactic elements. + + Individual elements are appended to the expression as they are + reorganized. When a constraint is appended, it is returned as the + value of the operation so that modifiers may be applied. However, + any partially built expression is attached to the constraint for + later resolution. When an operator is appended, the partial + expression is returned. If it's a self-resolving operator, then + a ResolvableConstraintExpression is returned. + + + + + The ConstraintBuilder holding the elements recognized so far + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the + class passing in a ConstraintBuilder, which may be pre-populated. + + The builder. + + + + Returns a string representation of the expression as it + currently stands. This should only be used for testing, + since it has the side-effect of resolving the expression. + + + + + + Appends an operator to the expression and returns the + resulting expression itself. + + + + + Appends a self-resolving operator to the expression and + returns a new ResolvableConstraintExpression. + + + + + Appends a constraint to the expression and returns that + constraint, which is associated with the current state + of the expression being built. Note that the constraint + is not reduced at this time. For example, if there + is a NotOperator on the stack we don't reduce and + return a NotConstraint. The original constraint must + be returned because it may support modifiers that + are yet to be applied. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if at least one of them succeeds. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them fail. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding only if a specified number of them succeed. + + + + + Returns a , which will + apply the following constraint to a collection of length one, succeeding + only if exactly one of them succeeds. + + + + + Returns a new PropertyConstraintExpression, which will either + test for the existence of the named property on the object + being tested or apply any following constraint to that property. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Length property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Count property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Message property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the InnerException property of the object being tested. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + With is currently a NOP - reserved for future use. + + + + + Returns the constraint provided as an argument - used to allow custom + custom constraints to easily participate in the syntax. + + + + + Returns the constraint provided as an argument - used to allow custom + custom constraints to easily participate in the syntax. + + + + + Returns a constraint that tests for null + + + + + Returns a constraint that tests for True + + + + + Returns a constraint that tests for False + + + + + Returns a constraint that tests for a positive value + + + + + Returns a constraint that tests for a negative value + + + + + Returns a constraint that tests if item is equal to zero + + + + + Returns a constraint that tests for NaN + + + + + Returns a constraint that tests for empty + + + + + Returns a constraint that tests whether a collection + contains all unique items. + + + + + Returns a constraint that tests whether an object graph is serializable in binary format. + + + + + Returns a constraint that tests whether an object graph is serializable in XML format. + + + + + Returns a constraint that tests two items for equality + + + + + Returns a constraint that tests that two references are the same object + + + + + Returns a constraint that tests whether the + actual value is greater than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a collection containing the same elements as the + collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a subset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a superset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether a collection is ordered + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + To search for a substring instead of a collection element, use the + overload. + + + + + + + Returns a new ContainsConstraint. This constraint + will, in turn, make use of the appropriate second-level + constraint, depending on the type of the actual argument. + + + To search for a collection element instead of a substring, use the + overload. + + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + + + Returns a new ContainsConstraint. This constraint + will, in turn, make use of the appropriate second-level + constraint, depending on the type of the actual argument. + This overload is only used if the item sought is a string, + since any other type implies that we are looking for a + collection member. + + + + + Returns a new DictionaryContainsKeyConstraint checking for the + presence of a particular key in the Dictionary key collection. + + The key to be matched in the Dictionary key collection + + + + Returns a new DictionaryContainsValueConstraint checking for the + presence of a particular value in the Dictionary value collection. + + The value to be matched in the Dictionary value collection + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that tests whether the path provided + is the same as an expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is the a subpath of the expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is the same path or under an expected path after canonicalization. + + + + + Returns a constraint that tests whether the actual value falls + inclusively within a specified range. + + Inclusive beginning of the range. + Inclusive end of the range. + + + + Returns a constraint that succeeds if the value + is a file or directory and it exists. + + + + + Returns a constraint that tests if an item is equal to any of parameters + + Expected values + + + + Returns a new IndexerConstraintExpression, which will + apply any following constraint to that indexer value. + + Index accessor values. + + + + ConstraintStatus represents the status of a ConstraintResult + returned by a Constraint being applied to an actual value. + + + + + The status has not yet been set + + + + + The constraint succeeded + + + + + The constraint failed + + + + + An error occurred in applying the constraint (reserved for future use) + + + + + Contains the result of matching a against an actual value. + + + + + Constructs a for a particular . + + The Constraint to which this result applies. + The actual value to which the Constraint was applied. + + + + Constructs a for a particular . + + The Constraint to which this result applies. + The actual value to which the Constraint was applied. + The status of the new ConstraintResult. + + + + Constructs a for a particular . + + The Constraint to which this result applies. + The actual value to which the Constraint was applied. + If true, applies a status of Success to the result, otherwise Failure. + + + + The actual value that was passed to the method. + + + + + Gets and sets the ResultStatus for this result. + + + + + True if actual value meets the Constraint criteria otherwise false. + + + + + Display friendly name of the constraint. + + + + + Description of the constraint may be affected by the state the constraint had + when was performed against the actual value. + + + + + Write the failure message to the MessageWriter provided + as an argument. The default implementation simply passes + the result and the actual value to the writer, which + then displays the constraint description and the value. + + Constraints that need to provide additional details, + such as where the error occurred, can override this. + + The MessageWriter on which to display the message + + + + Write some additional failure message. + + The MessageWriter on which to display the message + + + + Write the actual value for a failing constraint test to a + MessageWriter. The default implementation simply writes + the raw value of actual, leaving it to the writer to + perform any formatting. + + The writer on which the actual value is displayed + + + + ContainsConstraint tests a whether a string contains a substring + or a collection contains an object. It postpones the decision of + which test to use until the type of the actual argument is known. + This allows testing whether a string is contained in a collection + or as a substring of another string using the same syntax. + + + + + Initializes a new instance of the class. + + The expected value contained within the string/collection. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Flag the constraint to ignore case and return self. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + The DateTimes class contains common operations on Date and Time values. + + + + + Applies a delay to the match so that a match can be evaluated in the future. + + + + + Allows only changing the time dimension of delay interval and setting a polling interval of a DelayedConstraint + + + + + Creates a new DelayedConstraint.WithRawDelayInterval + + Parent DelayedConstraint on which delay interval dimension is required to be set + + + + Changes delay interval dimension to minutes + + + + + Changes delay interval dimension to seconds + + + + + Changes delay interval dimension to milliseconds + + + + + Set polling interval, in milliseconds + + A time interval, in milliseconds + + + + + Allows only setting the polling interval of a DelayedConstraint + + + + + Creates a new DelayedConstraint.WithDimensionedDelayInterval + + Parent DelayedConstraint on which polling interval is required to be set + + + + Set polling interval, in milliseconds + + A time interval, in milliseconds + + + + + Allows only changing the time dimension of the polling interval of a DelayedConstraint + + + + + Creates a new DelayedConstraint.WithRawPollingInterval + + Parent DelayedConstraint on which polling dimension is required to be set + + + + Changes polling interval dimension to minutes + + + + + Changes polling interval dimension to seconds + + + + + Changes polling interval dimension to milliseconds + + + + + Delay value store as an Interval object + + + + + Polling value stored as an Interval object + + + + + Creates a new DelayedConstraint + + The inner constraint to decorate + The time interval after which the match is performed + If the value of is less than 0 + + + + Creates a new DelayedConstraint + + The inner constraint to decorate + The time interval after which the match is performed, in milliseconds + The time interval used for polling, in milliseconds + If the value of is less than 0 + + + + Gets text describing a constraint + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for if the base constraint fails, false if it succeeds + + + + Test whether the constraint is satisfied by a delegate + + The delegate whose value is to be tested + A ConstraintResult + + + + Test whether the constraint is satisfied by a given reference. + Overridden to wait for the specified delay period before + calling the base constraint with the dereferenced value. + + A reference to the value to be tested + True for success, false for failure + + + + Returns the string representation of the constraint. + + + + + Adjusts a Timestamp by a given TimeSpan + + + + + + + + Returns the difference between two Timestamps as a TimeSpan + + + + + + + + DictionaryContainsKeyConstraint is used to test whether a dictionary + contains an expected object as a key. + + + + + Construct a DictionaryContainsKeyConstraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Gets the expected object + + + + + Returns a new DictionaryContainsKeyValuePairConstraint checking for the + presence of a particular key-value-pair in the dictionary. + + + + + Flag the constraint to ignore case and return self. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + + + + Test whether the expected key is contained in the dictionary + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + + + + Flag the constraint to use the supplied Comparison object. + + The Comparison object to use. + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + + + + Flag the constraint to use the supplied boolean-returning delegate. + + The supplied boolean-returning delegate to use. + + + + DictionaryContainsKeyValuePairConstraint is used to test whether a dictionary + contains an expected object as a key-value-pair. + + + + + Construct a DictionaryContainsKeyValuePairConstraint + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + + + + Test whether the expected key is contained in the dictionary + + + + + DictionaryContainsValueConstraint is used to test whether a dictionary + contains an expected object as a value. + + + + + Construct a DictionaryContainsValueConstraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Gets the expected object + + + + + Test whether the expected value is contained in the dictionary + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + + Provides a for the constraints + that are applied to each item in the collection + + + + + Constructs a for a particular + Only used for Failure + + The Constraint to which this result applies + The actual value to which the Constraint was applied + Actual item that does not match expected condition + Non matching item index + + + + Write constraint description, actual items, and non-matching item + + The MessageWriter on which to display the message + + + + EmptyCollectionConstraint tests whether a collection is empty. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Check that the collection is empty + + + + + + + EmptyConstraint tests a whether a string or collection is empty, + postponing the decision about which test is applied until the + type of the actual argument is known. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + EmptyDirectoryConstraint is used to test that a directory is empty + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + EmptyGuidConstraint tests whether a Guid is empty. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + EmptyStringConstraint tests whether a string is empty. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + EndsWithConstraint can test whether a string ends + with an expected substring. + + + + + Initializes a new instance of the class. + + The expected string + + + + Test whether the constraint is matched by the actual value. + This is a template method, which calls the IsMatch method + of the derived class. + + + + + + + EqualConstraint is able to compare an actual value with the + expected value provided in its constructor. Two objects are + considered equal if both are null, or if both have the same + value. NUnit has special semantics for some object types. + + + + + NUnitEqualityComparer used to test equality. + + + + + Initializes a new instance of the class. + + The expected value. + + + + Gets the tolerance for this comparison. + + + The tolerance. + + + + + Gets a value indicating whether to compare case insensitive. + + + if comparing case insensitive; otherwise, . + + + + + Gets a value indicating whether or not to clip strings. + + + if set to clip strings otherwise, . + + + + + Gets the failure points. + + + The failure points. + + + + + Flag the constraint to ignore case and return self. + + + + + Flag the constraint to suppress string clipping + and return self. + + + + + Flag the constraint to compare arrays as collections + and return self. + + + + + Flag the constraint to use a tolerance when determining equality. + + Tolerance value to be used + Self. + + + + Flags the constraint to include + property in comparison of two values. + + + Using this modifier does not allow to use the + constraint modifier. + + + + + Switches the .Within() modifier to interpret its tolerance as + a distance in representable values (see remarks). + + Self. + + Ulp stands for "unit in the last place" and describes the minimum + amount a given value can change. For any integers, an ulp is 1 whole + digit. For floating point values, the accuracy of which is better + for smaller numbers and worse for larger numbers, an ulp depends + on the size of the number. Using ulps for comparison of floating + point results instead of fixed tolerances is safer because it will + automatically compensate for the added inaccuracy of larger numbers. + + + + + Switches the .Within() modifier to interpret its tolerance as + a percentage that the actual values is allowed to deviate from + the expected value. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in days. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in hours. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in minutes. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in seconds. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in milliseconds. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in clock ticks. + + Self + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied boolean-returning delegate. + + The boolean-returning delegate to use. + Self. + + + + Flag the constraint to use the supplied Comparison object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + The EqualConstraintResult class is tailored for formatting + and displaying the result of an EqualConstraint. + + + + + Construct an EqualConstraintResult + + + + + Write a failure message. Overridden to provide custom + failure messages for EqualConstraint. + + The MessageWriter to write to + + + + Display the failure information for two collections that did not match. + + The MessageWriter on which to display + The expected collection. + The actual collection + The depth of this failure in a set of nested collections + + + + Displays a single line showing the types and sizes of the expected + and actual collections or arrays. If both are identical, the value is + only shown once. + + The MessageWriter on which to display + The expected collection or array + The actual collection or array + The indentation level for the message line + + + + Displays a single line showing the point in the expected and actual + arrays at which the comparison failed. If the arrays have different + structures or dimensions, both values are shown. + + The MessageWriter on which to display + The expected array + The actual array + Index of the failure point in the underlying collections + The indentation level for the message line + + + + Display the failure information for two IEnumerables that did not match. + + The MessageWriter on which to display + The expected enumeration. + The actual enumeration + The depth of this failure in a set of nested collections + + + + EqualityAdapter class handles all equality comparisons + that use an , + or a . + + + + + Compares two objects, returning true if they are equal + + + + + Returns true if the two objects can be compared by this adapter. + The base adapter cannot handle IEnumerables except for strings. + + + + + Returns an that wraps an . + + + + + that wraps an . + + + + + Returns an that wraps an . + + + + + Returns an EqualityAdapter that uses a predicate function for items comparison. + + + + + + + + + Returns true if the two objects can be compared by this adapter. + The base adapter cannot handle IEnumerables except for strings. + + + + + Compares two objects, returning true if they are equal + + + + + Returns true if the two objects can be compared by this adapter. + Generic adapter requires objects of the specified type. + + + + + Returns an that wraps an . + + + + + Returns an that wraps an . + + + + + that wraps an . + + + + + Returns an that wraps a . + + + + + ExactCountConstraint applies another constraint to each + item in a collection, succeeding only if a specified + number of items succeed. + + + + + Construct a standalone ExactCountConstraint + + + + + + Construct an ExactCountConstraint on top of an existing constraint + + + + + + + Apply the item constraint to each item in the collection, + succeeding only if the expected number of items pass. + + The value to be tested + A ConstraintResult + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Contain the result of matching a against an actual value. + + + + + The count of matched items of the + + + + + A list with maximum count (+1) of items of the + + + + + Constructs a for a . + + The Constraint to which this result applies. + The actual value to which the Constraint was applied. + If true, applies a status of Success to the result, otherwise Failure. + Count of matched items of the + A list with maximum count (+1) of items of the + + + + Write the actual value for a failing constraint test to a MessageWriter. + + The writer on which the actual value is displayed + + + + ExactTypeConstraint is used to test that an object + is of the exact type provided in the constructor + + + + + Construct an ExactTypeConstraint for a given Type + + The expected Type. + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the constraint to an actual value, returning true if it succeeds + + The actual argument + True if the constraint succeeds, otherwise false. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + ExceptionTypeConstraint is a special version of ExactTypeConstraint + used to provided detailed info about the exception thrown in + an error message. + + + + + Constructs an ExceptionTypeConstraint + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + FalseConstraint tests that the actual value is false + + + + + Initializes a new instance of the class. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + FileExistsConstraint is used to determine if a file exists + + + + + Initializes a new instance of the class. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + FileOrDirectoryExistsConstraint is used to determine if a file or directory exists + + + + + If true, the constraint will only check if files exist, not directories + + + + + If true, the constraint will only check if directories exist, not files + + + + + Initializes a new instance of the class that + will check files and directories. + + + + + Initializes a new instance of the class that + will only check files if ignoreDirectories is true. + + if set to [ignore directories]. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + Helper routines for working with floating point numbers + + + The floating point comparison code is based on this excellent article: + https://randomascii.wordpress.com/2012/02/25/comparing-floating-point-numbers-2012-edition/ + + + "ULP" means Unit in the Last Place and in the context of this library refers to + the distance between two adjacent floating point numbers. IEEE floating point + numbers can only represent a finite subset of natural numbers, with greater + accuracy for smaller numbers and lower accuracy for very large numbers. + + + If a comparison is allowed "2 ulps" of deviation, that means the values are + allowed to deviate by up to 2 adjacent floating point values, which might be + as low as 0.0000001 for small numbers or as high as 10.0 for large numbers. + + + + + Union of a floating point variable and an integer + + + The union's value as a floating point variable + + + The union's value as an integer + + + The union's value as an unsigned integer + + + Union of a double precision floating point variable and a long + + + The union's value as a double precision floating point variable + + + The union's value as a long + + + The union's value as an unsigned long + + + Compares two floating point values for equality + First floating point value to be compared + Second floating point value t be compared + + Maximum number of representable floating point values that are allowed to + be between the left and the right floating point values + + True if both numbers are equal or close to being equal + + + Floating point values can only represent a finite subset of natural numbers. + For example, the values 2.00000000 and 2.00000024 can be stored in a float, + but nothing between them. + + + This comparison will count how many possible floating point values are between + the left and the right number. If the number of possible values between both + numbers is less than or equal to maxUlps, then the numbers are considered as + being equal. + + + Implementation partially follows the code outlined here: + http://www.anttirt.net/2007/08/19/proper-floating-point-comparisons/ + + + + + Compares two double precision floating point values for equality + First double precision floating point value to be compared + Second double precision floating point value t be compared + + Maximum number of representable double precision floating point values that are + allowed to be between the left and the right double precision floating point values + + True if both numbers are equal or close to being equal + + + Double precision floating point values can only represent a limited series of + natural numbers. For example, the values 2.0000000000000000 and 2.0000000000000004 + can be stored in a double, but nothing between them. + + + This comparison will count how many possible double precision floating point + values are between the left and the right number. If the number of possible + values between both numbers is less than or equal to maxUlps, then the numbers + are considered as being equal. + + + Implementation partially follows the code outlined here: + http://www.anttirt.net/2007/08/19/proper-floating-point-comparisons/ + + + + + + Tests whether a value is greater than the value supplied to its constructor + + + + + Initializes a new instance of the class. + + The expected value. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Perform the comparison + + + + + Tests whether a value is greater than or equal to the value supplied to its constructor + + + + + Initializes a new instance of the class. + + The expected value. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Perform the comparison + + + + + Interface for all constraints + + + + + The display name of this Constraint for use by ToString(). + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Arguments provided to this Constraint, for use in + formatting the description. + + + + + The ConstraintBuilder holding this constraint + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + Applies the constraint to an ActualValueDelegate that returns + the value to be tested. The default implementation simply evaluates + the delegate but derived classes may override it to provide for + delayed processing. + + An ActualValueDelegate + A ConstraintResult + + + + Test whether the constraint is satisfied by a given reference. + The default implementation simply dereferences the value but + derived classes may override it to provide for delayed processing. + + A reference to the value to be tested + A ConstraintResult + + + + IndexerConstraint extracts a named property and uses + its value as the actual value for a chained constraint. + + + + + Initializes a new instance of the class. + + The argument list for the indexer. + The constraint to apply to the indexer. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + + + + Returns the string representation of the constraint. + + + + + InstanceOfTypeConstraint is used to test that an object + is of the same type provided or derived from it. + + + + + Construct an InstanceOfTypeConstraint for the type provided + + The expected Type + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the constraint to an actual value, returning true if it succeeds + + The actual argument + True if the constraint succeeds, otherwise false. + + + + Keeps track of an interval time which can be represented in + Minutes, Seconds or Milliseconds + + + + + Constructs a interval given an value in milliseconds + + + + + Gets Interval value represented as a TimeSpan object + + + + + Returns the interval with the current value as a number of minutes. + + + + + Returns the interval with the current value as a number of seconds. + + + + + Returns the interval with the current value as a number of milliseconds. + + + + + Is true for intervals created with a non-zero value + + + + + Returns a string that represents the current object. + + + A string that represents the current object. + + + + + IntervalUnit provides the semantics to the value stored in Interval class. + + + + + Unit representing an Interval in minutes + + + + + Unit representing an Interval in seconds + + + + + Unit representing an Interval in milliseconds + + + + + The IResolveConstraint interface is implemented by all + complete and resolvable constraints and expressions. + + + + + Return the top-level constraint for this expression + + + + + + An extension of ResolvableConstraintExpression that adds a no-op Items property for readability. + + + + + Create a new instance of ItemsConstraintExpression + + + + + Create a new instance of ResolvableConstraintExpression, + passing in a pre-populated ConstraintBuilder. + + + + + + No-op property for readability. + + + + + Tests whether a value is less than the value supplied to its constructor + + + + + Initializes a new instance of the class. + + The expected value. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Perform the comparison + + + + + Tests whether a value is less than or equal to the value supplied to its constructor + + + + + Initializes a new instance of the class. + + The expected value. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Perform the comparison + + + + + MessageWriter is the abstract base for classes that write + constraint descriptions and messages in some form. The + class has separate methods for writing various components + of a message, allowing implementations to tailor the + presentation as needed. + + + + + Construct a MessageWriter given a culture + + + + + Abstract method to get the max line length + + + + + Method to write single line message with optional args, usually + written to precede the general failure message. + + The message to be written + Any arguments used in formatting the message + + + + Method to write single line message with optional args, usually + written to precede the general failure message, at a given + indentation level. + + The indentation level of the message + The message to be written + Any arguments used in formatting the message + + + + Display Expected and Actual lines for a constraint. This + is called by MessageWriter's default implementation of + WriteMessageTo and provides the generic two-line display. + + The failing constraint result + + + + Display Expected and Actual lines for given values. This + method may be called by constraints that need more control over + the display of actual and expected values than is provided + by the default implementation. + + The expected value + The actual value causing the failure + + + + Display Expected and Actual lines for given values, including + a tolerance value on the Expected line. + + The expected value + The actual value causing the failure + The tolerance within which the test was made + + + + Display the expected and actual string values on separate lines. + If the mismatch parameter is >=0, an additional line is displayed + line containing a caret that points to the mismatch point. + + The expected string value + The actual string value + The point at which the strings don't match or -1 + If true, case is ignored in locating the point where the strings differ + If true, the strings should be clipped to fit the line + + + + Writes the text for an actual value. + + The actual value. + + + + Writes the text for a generalized value. + + The value. + + + + Writes the text for a collection value, + starting at a particular point, to a max length + + The collection containing elements to write. + The starting point of the elements to write + The maximum number of elements to write + + + + Custom value formatter function + + The value + + + + + Custom value formatter factory function + + The next formatter function + ValueFormatter + If the given formatter is unable to handle a certain format, it must call the next formatter in the chain + + + + Static methods used in creating messages + + + + + Default amount of items used by method. + + + + + Static string used when strings are clipped + + + + + Formatting strings used for expected and actual values + + + + + Current head of chain of value formatters. Public for testing. + + + + + Add a formatter to the chain of responsibility. + + + + + + Formats text to represent a generalized value. + + The value + The formatted text + + + + Formats text for a collection value, + starting at a particular point, to a max length + + The collection containing elements to write. + The starting point of the elements to write + The maximum number of elements to write + + + + Returns the representation of a type as used in NUnitLite. + This is the same as Type.ToString() except for arrays, + which are displayed with their declared sizes. + + + + + + + Converts any control characters in a string + to their escaped representation. + + The string to be converted + The converted string + + + + Converts any null characters in a string + to their escaped representation. + + The string to be converted + The converted string + + + + Return the a string representation for a set of indices into an array + + Array of indices for which a string is needed + + + + Get an array of indices representing the point in a collection or + array corresponding to a single int index into the collection. + + The collection to which the indices apply + Index in the collection + Array of indices + + + + Clip a string to a given length, starting at a particular offset, returning the clipped + string with ellipses representing the removed parts + + The string to be clipped + The maximum permitted length of the result string + The point at which to start clipping + The clipped string + + + + Clip the expected and actual strings in a coordinated fashion, + so that they may be displayed together. + + + + + + + + + Shows the position two strings start to differ. Comparison + starts at the start index. + + The expected string + The actual string + The index in the strings at which comparison should start + Boolean indicating whether case should be ignored + -1 if no mismatch found, or the index where mismatch found + + + + NaNConstraint tests that the actual value is a double or float NaN + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test that the actual value is an NaN + + + + + + + NoItemConstraint applies another constraint to each + item in a collection, failing if any of them succeeds. + + + + + Construct a SomeItemsConstraint on top of an existing constraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the item constraint to each item in the collection, + failing if any item fails. + + + + + + + NotConstraint negates the effect of some other constraint + + + + + Initializes a new instance of the class. + + The base constraint to be negated. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for if the base constraint fails, false if it succeeds + + + + NullConstraint tests that the actual value is null + + + + + Initializes a new instance of the class. + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + The Numerics class contains common operations on numeric values. + + + + + Checks the type of the object, returning true if + the object is a numeric type. + + The object to check + true if the object is a numeric type + + + + Checks the type of the object, returning true if + the object is a floating point numeric type. + + The object to check + true if the object is a floating point numeric type + + + + Checks the type of the object, returning true if + the object is a fixed point numeric type. + + The object to check + true if the object is a fixed point numeric type + + + + Test two numeric values for equality, performing the usual numeric + conversions and using a provided or default tolerance. If the tolerance + provided is Empty, this method may set it to a default tolerance. + + The expected value + The actual value + A reference to the tolerance in effect + True if the values are equal + + + + Compare two numeric values, performing the usual numeric conversions. + + The expected value + The actual value + The relationship of the values to each other + + + + Calculates the difference between 2 values in absolute/percent mode. + + The expected value + The actual value + Tolerance mode to specify difference representation + The difference between the values + + + + NUnitComparer encapsulates NUnit's default behavior + in comparing two objects. + + + + + Returns the default NUnitComparer. + + + + + Compares two objects + + + + + + + + NUnitEqualityComparer encapsulates NUnit's handling of + equality tests between objects. + + + + + If true, all string comparisons will ignore case + + + + + If true, arrays will be treated as collections, allowing + those of different dimensions to be compared + + + + + Comparison objects used in comparisons for some constraints. + + + + + List of points at which a failure occurred. + + + + + List of comparers used to compare pairs of objects. + + + + + Initializes a new instance of the class. + + + + + Returns the default NUnitEqualityComparer + + + + + Gets and sets a flag indicating whether case should + be ignored in determining equality. + + + + + Gets and sets a flag indicating that arrays should be + compared as collections, without regard to their shape. + + + + + Gets the list of external comparers to be used to + test for equality. They are applied to members of + collections, in place of NUnit's own logic. + + + + + Gets the list of failure points for the last Match performed. + The list consists of objects to be interpreted by the caller. + This generally means that the caller may only make use of + objects it has placed on the list at a particular depth. + + + + + Flags the comparer to include + property in comparison of two values. + + + Using this modifier does not allow to use the + modifier. + + + + + Compares two objects for equality within a tolerance. + + + + + Compares two objects for equality within a tolerance. + + + + + FailurePoint class represents one point of failure + in an equality test. + + + + + The location of the failure + + + + + The expected value + + + + + The actual value + + + + + Indicates whether the expected value is valid + + + + + Indicates whether the actual value is valid + + + + + Represents a constraint that succeeds if all the + members of a collection match a base constraint. + + + + + Returns a constraint that will apply the argument + to the members of a collection, succeeding if + they all succeed. + + + + + Operator that requires both its arguments to succeed + + + + + Construct an AndOperator + + + + + Apply the operator to produce an AndConstraint + + + + + Operator that tests for the presence of a particular attribute + on a type and optionally applies further tests to the attribute. + + + + + Construct an AttributeOperator for a particular Type + + The Type of attribute tested + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + Abstract base class for all binary operators + + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + + Gets the left precedence of the operator + + + + + Gets the right precedence of the operator + + + + + Abstract method that produces a constraint by applying + the operator to its left and right constraint arguments. + + + + + Abstract base for operators that indicate how to + apply a constraint to items in a collection. + + + + + Constructs a CollectionOperator + + + + + The ConstraintOperator class is used internally by a + ConstraintBuilder to represent an operator that + modifies or combines constraints. + + Constraint operators use left and right precedence + values to determine whether the top operator on the + stack should be reduced before pushing a new operator. + + + + + The precedence value used when the operator + is about to be pushed to the stack. + + + + + The precedence value used when the operator + is on the top of the stack. + + + + + The syntax element preceding this operator + + + + + The syntax element following this operator + + + + + The precedence value used when the operator + is about to be pushed to the stack. + + + + + The precedence value used when the operator + is on the top of the stack. + + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + + Represents a constraint that succeeds if the specified + count of members of a collection match a base constraint. + + + + + Construct an ExactCountOperator for a specified count + + The expected count + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + + Operator used to test for the presence of a Indexer + on an object and optionally apply further tests to the + value of that indexer. + + + + + Constructs a IndexerOperator for a particular set of indexer + parameters + + + + + Returns a IndexerConstraint applied to its argument. + + + + + Represents a constraint that succeeds if none of the + members of a collection match a base constraint. + + + + + Returns a constraint that will apply the argument + to the members of a collection, succeeding if + none of them succeed. + + + + + Negates the test of the constraint it wraps. + + + + + Constructs a new NotOperator + + + + + Returns a NotConstraint applied to its argument. + + + + + Operator that requires at least one of its arguments to succeed + + + + + Construct an OrOperator + + + + + Apply the operator to produce an OrConstraint + + + + + PrefixOperator takes a single constraint and modifies + its action in some way. + + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + + Returns the constraint created by applying this + prefix to another constraint. + + + + + + + Operator used to test for the presence of a named Property + on an object and optionally apply further tests to the + value of that property. + + + + + Gets the name of the property to which the operator applies + + + + + Constructs a PropOperator for a particular named property + + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + + Abstract base class for operators that are able to reduce to a + constraint whether or not another syntactic element follows. + + + + + Represents a constraint that succeeds if any of the + members of a collection match a base constraint. + + + + + Returns a constraint that will apply the argument + to the members of a collection, succeeding if + any of them succeed. + + + + + Operator that tests that an exception is thrown and + optionally applies further tests to the exception. + + + + + Construct a ThrowsOperator + + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + Represents a constraint that simply wraps the + constraint provided as an argument, without any + further functionality, but which modifies the + order of evaluation because of its precedence. + + + + + Constructor for the WithOperator + + + + + Returns a constraint that wraps its argument + + + + + OrConstraint succeeds if either member succeeds + + + + + Create an OrConstraint from two other constraints + + The first constraint + The second constraint + + + + Gets text describing a constraint + + + + + Apply the member constraints to an actual value, succeeding + succeeding as soon as one of them succeeds. + + The actual value + True if either constraint succeeded + + + + PathConstraint serves as the abstract base of constraints + that operate on paths and provides several helper methods. + + + + + Construct a PathConstraint for a give expected path + + The expected path + + + + Modifies the current instance to be case-sensitive + and returns it. + + + + + Returns the string representation of this constraint + + + + + Canonicalize the provided path + + + The path in standardized form + + + + Test whether one path in canonical form is a subpath of another path + + The first path - supposed to be the parent path + The second path - supposed to be the child path + + + + + Predicate constraint wraps a Predicate in a constraint, + returning success if the predicate is true. + + + + + Construct a PredicateConstraint from a predicate + + + + + Gets text describing a constraint + + + + + Determines whether the predicate succeeds when applied + to the actual value. + + + + + Abstract base class used for prefixes + + + + + The base constraint + + + + + Prefix used in forming the constraint description + + + + + Construct given a base constraint + + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Formats a prefix constraint's description. + + + + + PropertyConstraint extracts a named property and uses + its value as the actual value for a chained constraint. + + + + + Initializes a new instance of the class. + + The name. + The constraint to apply to the property. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + + + + Returns the string representation of the constraint. + + + + + Contains the result of matching a against an actual value. + + + + + Constructs a for a particular . + + The Constraint to which this result applies. + The base result with actual value to which the Constraint was applied. + + + + Write the additional failure message for a failing constraint to a + MessageWriter. + + The writer on which the actual value is displayed + + + + PropertyExistsConstraint tests that a named property + exists on the object provided through Match. + + Originally, PropertyConstraint provided this feature + in addition to making optional tests on the value + of the property. The two constraints are now separate. + + + + + Initializes a new instance of the class. + + The name of the property. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the property exists for a given object + + The object to be tested + True for success, false for failure + + + + Returns the string representation of the constraint. + + + + + + RangeConstraint tests whether two values are within a + specified range. + + + + + Initializes a new instance of the class. + + Inclusive beginning of the range. + Inclusive end of the range. + + + + Gets text describing a constraint + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Modifies the constraint to use an and returns self. + + + + + Modifies the constraint to use an and returns self. + + + + + Modifies the constraint to use a and returns self. + + + + + RegexConstraint can test whether a string matches + the pattern provided. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Initializes a new instance of the class. + + The pattern. + + + + Initializes a new instance of the class. + + The Regex pattern object. + + + + Modify the constraint to ignore case in matching. + + + + + Applies the regex constraint to an actual value, returning a ConstraintResult. + + The string to be tested. + True for success, false for failure. + + + + ResolvableConstraintExpression is used to represent a compound + constraint being constructed at a point where the last operator + may either terminate the expression or may have additional + qualifying constraints added to it. + + It is used, for example, for a Property element or for + an Exception element, either of which may be optionally + followed by constraints that apply to the property or + exception. + + + + + Create a new instance of ResolvableConstraintExpression + + + + + Create a new instance of ResolvableConstraintExpression, + passing in a pre-populated ConstraintBuilder. + + + + + Appends an And Operator to the expression + + + + + Appends an Or operator to the expression. + + + + + Resolve the current expression to a Constraint + + + + + ReusableConstraint wraps a constraint expression after + resolving it so that it can be reused consistently. + + + + + Construct a ReusableConstraint from a constraint expression + + The expression to be resolved and reused + + + + Converts a constraint to a ReusableConstraint + + The constraint to be converted + A ReusableConstraint + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Return the top-level constraint for this expression + + + + + + SameAsConstraint tests whether an object is identical to + the object passed to its constructor + + + + + Initializes a new instance of the class. + + The expected object. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Summary description for SamePathConstraint. + + + + + Initializes a new instance of the class. + + The expected path + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + SamePathOrUnderConstraint tests that one path is under another + + + + + Initializes a new instance of the class. + + The expected path + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + SomeItemsConstraint applies another constraint to each + item in a collection, succeeding if any of them succeeds. + + + + + Construct a SomeItemsConstraint on top of an existing constraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the item constraint to each item in the collection, + succeeding if any item succeeds. + + + + + + + Flag the constraint to use the supplied object. + + The type of the elements in the collection. + The type of the member. + The comparison function to use. + Self. + + + + Flag the constraint to use the supplied object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied object. + + The IComparer object to use. + Self. + + + + StartsWithConstraint can test whether a string starts + with an expected substring. + + + + + Initializes a new instance of the class. + + The expected string + + + + Test whether the constraint is matched by the actual value. + This is a template method, which calls the IsMatch method + of the derived class. + + + + + + + StringConstraint is the abstract base for constraints + that operate on strings. It supports the IgnoreCase + modifier for string operations. + + + + + The expected value + + + + + Indicates whether tests should be case-insensitive + + + + + Description of this constraint + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Constructs a StringConstraint without an expected value + + + + + Constructs a StringConstraint given an expected value + + The expected value + + + + Modify the constraint to ignore case in matching. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Test whether the constraint is satisfied by a given string + + The string to be tested + True for success, false for failure + + + + SubPathConstraint tests that the actual path is under the expected path + + + + + Initializes a new instance of the class. + + The expected path + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + SubstringConstraint can test whether a string contains + the expected substring. + + + + + Initializes a new instance of the class. + + The expected. + + + + Modify the constraint to ignore case in matching. + This will call Using(StringComparison.CurrentCultureIgnoreCase). + + Thrown when a comparison type different + than was already set. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Modify the constraint to the specified comparison. + + Thrown when a comparison type different + than was already set. + + + + ThrowsConstraint is used to test the exception thrown by + a delegate by applying a constraint to it. + + + + + Initializes a new instance of the class, + using a constraint to be applied to the exception. + + A constraint to apply to the caught exception. + + + + Get the actual exception thrown - used by Assert.Throws. + + + + + Gets text describing a constraint + + + + + Executes the code of the delegate and captures any exception. + If a non-null base constraint was provided, it applies that + constraint to the exception. + + A delegate representing the code to be tested + True if an exception is thrown and the constraint succeeds, otherwise false + + + + Converts an ActualValueDelegate to a TestDelegate + before calling the primary overload. + + + + + + + Write the actual value for a failing constraint test to a + MessageWriter. This override only handles the special message + used when an exception is expected but none is thrown. + + The writer on which the actual value is displayed + + + + ThrowsExceptionConstraint tests that an exception has + been thrown, without any further tests. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Executes the code and returns success if an exception is thrown. + + A delegate representing the code to be tested + True if an exception is thrown, otherwise false + + + + Applies the constraint to an ActualValueDelegate that returns + the value to be tested. The default implementation simply evaluates + the delegate but derived classes may override it to provide for + delayed processing. + + + + + ThrowsNothingConstraint tests that a delegate does not + throw an exception. + + + + + Gets text describing a constraint + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True if no exception is thrown, otherwise false + + + + Applies the constraint to an ActualValueDelegate that returns + the value to be tested. The default implementation simply evaluates + the delegate but derived classes may override it to provide for + delayed processing. + + An ActualValueDelegate + A ConstraintResult + + + + The Tolerance class generalizes the notion of a tolerance + within which an equality test succeeds. Normally, it is + used with numeric types, but it can be used with any + type that supports taking a difference between two + objects and comparing that difference to a value. + + + + + Returns a default Tolerance object, equivalent to an exact match. + + + + + Returns an empty Tolerance object, equivalent to an exact match. + + + + + Constructs a linear tolerance of a specified amount + + + + + Constructs a tolerance given an amount and + + + + + Returns a new tolerance, using the current amount as a percentage. + + + + + Returns a new tolerance, using the current amount in Ulps + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of days. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of hours. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of minutes. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of seconds. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of milliseconds. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of clock ticks. + + + + + Gets the for the current Tolerance + + + + + Gets the magnitude of the current Tolerance instance. + + + + + Returns true if the current tolerance has not been set or is using the . + + + + + Apply the tolerance to an expected value and return + a Tolerance.Range that represents the acceptable values. + + + + + Tests that the current Tolerance is linear with a + numeric value, throwing an exception if it is not. + + + + + Tolerance.Range represents the range of values that match + a specific tolerance, when applied to a specific value. + + + + + The lower bound of the range + + + + + The upper bound of the range + + + + + Constructs a range + + + + + Modes in which the tolerance value for a comparison can be interpreted. + + + + + The tolerance was created with a value, without specifying + how the value would be used. This is used to prevent setting + the mode more than once and is generally changed to Linear + upon execution of the test. + + + + + The tolerance is used as a numeric range within which + two compared values are considered to be equal. + + + + + Interprets the tolerance as the percentage by which + the two compared values my deviate from each other. + + + + + Compares two values based in their distance in + representable numbers. + + + + + TrueConstraint tests that the actual value is true + + + + + Initializes a new instance of the class. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + TypeConstraint is the abstract base for constraints + that take a Type as their expected value. + + + + + The expected Type used by the constraint + + + + + The type of the actual argument to which the constraint was applied + + + + + Construct a TypeConstraint for a given Type + + The expected type for the constraint + Prefix used in forming the constraint description + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + Apply the constraint to an actual value, returning true if it succeeds + + The actual argument + True if the constraint succeeds, otherwise false. + + + + UniqueItemsConstraint tests whether all the items in a + collection are unique. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Check that all items are unique. + + + + + + + + + + XmlSerializableConstraint tests whether + an object is serializable in XML format. + + + + + Gets text describing a constraint + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Returns the string representation of this constraint + + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + + + Returns a new DictionaryContainsKeyConstraint checking for the + presence of a particular key in the dictionary. + + + + + Returns a new DictionaryContainsValueConstraint checking for the + presence of a particular value in the dictionary. + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Asserts on Directories + + + + + DO NOT USE! Use DirectoryAssert.AreEqual(...) instead. + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + Verifies that two directories are equal. Two directories are considered + equal if both are null, or if both point to the same directory. + If they are not equal an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + The message to display if the directories are not equal + Arguments to be used in formatting the message + + + + Verifies that two directories are equal. Two directories are considered + equal if both are null, or if both point to the same directory. + If they are not equal an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + + + + Asserts that two directories are not equal. If they are equal + an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that two directories are not equal. If they are equal + an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + + + + Asserts that the directory exists. If it does not exist + an is thrown. + + A directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that the directory exists. If it does not exist + an is thrown. + + A directory containing the actual value + + + + Asserts that the directory exists. If it does not exist + an is thrown. + + The path to a directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that the directory exists. If it does not exist + an is thrown. + + The path to a directory containing the actual value + + + + Asserts that the directory does not exist. If it does exist + an is thrown. + + A directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that the directory does not exist. If it does exist + an is thrown. + + A directory containing the actual value + + + + Asserts that the directory does not exist. If it does exist + an is thrown. + + The path to a directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that the directory does not exist. If it does exist + an is thrown. + + The path to a directory containing the actual value + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a constraint that succeeds if the value + is a file or directory and it exists. + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + + + Returns a new . This constraint + will, in turn, make use of the appropriate second-level + constraint, depending on the type of the actual argument. + This overload is only used if the item sought is a string, + since any other type implies that we are looking for a + collection member. + + + + + Returns a new DictionaryContainsKeyConstraint checking for the + presence of a particular key in the Dictionary key collection. + + The key to be matched in the Dictionary key collection + + + + Returns a new DictionaryContainsValueConstraint checking for the + presence of a particular value in the Dictionary value collection. + + The value to be matched in the Dictionary value collection + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + If throws, returns "SomeException was thrown by the Exception.StackTrace + property." See also . + + + + + If throws, returns "SomeException was thrown by the Exception.Message + property." + + + + + If throws, returns "SomeException was thrown by the Exception.Data property." + + + + + Thrown when an assertion failed. + + + + The error message that explains + the reason for the exception + + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + Serialization Constructor + + + + + Gets the ResultState provided by this exception + + + + + Thrown when an assertion failed. + + + + + + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + Serialization Constructor + + + + + Gets the ResultState provided by this exception + + + + + Thrown when a test executes inconclusively. + + + + The error message that explains + the reason for the exception + + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + Serialization Constructor + + + + + Gets the ResultState provided by this exception + + + + + Thrown when an assertion failed. + + + + + Construct based on the TestResult so far. This is the constructor + used normally, when exiting the multiple assert block with failures. + Not used internally but provided to facilitate debugging. + + + The current result, up to this point. The result is not used + internally by NUnit but is provided to facilitate debugging. + + + + + Serialization Constructor + + + + + Gets the provided by this exception. + + + + + Gets the of this test at the point the exception was thrown, + + + + + Abstract base for Exceptions that terminate a test and provide a ResultState. + + + + The error message that explains + the reason for the exception + + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + Serialization Constructor + + + + + Gets the ResultState provided by this exception + + + + + Thrown when an assertion failed. + + + + + + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + Serialization Constructor + + + + + Gets the ResultState provided by this exception + + + + + Contains extension methods that do not require a special using directive. + + + + + Asserts on Files + + + + + DO NOT USE! Use FileAssert.AreEqual(...) instead. + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + Verifies that two Streams are equal. Two Streams are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The expected Stream + The actual Stream + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Verifies that two Streams are equal. Two Streams are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The expected Stream + The actual Stream + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + A file containing the value that is expected + A file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + A file containing the value that is expected + A file containing the actual value + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + + + + Asserts that two Streams are not equal. If they are equal + an is thrown. + + The expected Stream + The actual Stream + The message to be displayed when the two Stream are the same. + Arguments to be used in formatting the message + + + + Asserts that two Streams are not equal. If they are equal + an is thrown. + + The expected Stream + The actual Stream + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + A file containing the value that is expected + A file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + A file containing the value that is expected + A file containing the actual value + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + + + + Asserts that the file exists. If it does not exist + an is thrown. + + A file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that the file exists. If it does not exist + an is thrown. + + A file containing the actual value + + + + Asserts that the file exists. If it does not exist + an is thrown. + + The path to a file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that the file exists. If it does not exist + an is thrown. + + The path to a file containing the actual value + + + + Asserts that the file does not exist. If it does exist + an is thrown. + + A file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that the file does not exist. If it does exist + an is thrown. + + A file containing the actual value + + + + Asserts that the file does not exist. If it does exist + an is thrown. + + The path to a file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that the file does not exist. If it does exist + an is thrown. + + The path to a file containing the actual value + + + + Class used to guard against unexpected argument values + or operations by throwing an appropriate exception. + + + + + Throws an exception if an argument is null + + The value to be tested + The name of the argument + + + + Throws an exception if a string argument is null or empty + + The value to be tested + The name of the argument + + + + Throws an ArgumentOutOfRangeException if the specified condition is not met. + + The condition that must be met + The exception message to be used + The name of the argument + + + + Throws an ArgumentException if the specified condition is not met. + + The condition that must be met + The exception message to be used + The name of the argument + + + + Throws an InvalidOperationException if the specified condition is not met. + + The condition that must be met + The exception message to be used + + + + Throws an if the specified delegate is async void. + + + + + Throws an if the specified delegate is async void. + + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if at least one of them succeeds. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them fail. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding only if a specified number of them succeed. + + + + + Returns a which will apply + the following constraint to only one member of the collection, + and fail if none or more than one match occurs. + + + + + Returns a new PropertyConstraintExpression, which will either + test for the existence of the named property on the object + being tested or apply any following constraint to that property. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Length property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Count property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Message property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the InnerException property of the object being tested. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + + + Returns a new IndexerConstraintExpression, which will + apply any following constraint to that indexer value. + + Index accessor values. + + + + The AssertionResult class represents the result of a single assertion. + + + + + Construct an AssertionResult + + + + The pass/fail status of the assertion + + + The message produced by the assertion, or null + + + The stack trace associated with the assertion, or null + + + Determines whether the specified object is equal to the current object. + The object to compare with the current object. + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + + + Serves as the default hash function. + + + + ToString Override + + + + + AssertionStatus enumeration represents the possible outcomes of an assertion. + The order of definition is significant, higher level values override lower + ones in determining the overall result of a test. + + + + + An assumption failed + + + + + The assertion succeeded + + + + + A warning message was issued + + + + + The assertion failed + + + + + An unexpected exception was thrown + + + + + The IApplyToContext interface is implemented by attributes + that want to make changes to the execution context before + a test is run. + + + + + Apply changes to the execution context + + The execution context + + + + The IApplyToTest interface is implemented by self-applying + attributes that modify the state of a test in some way. + + + + + Modifies a test as defined for the specific attribute. + + The test to modify + + + + CombiningStrategy is the abstract base for classes that + know how to combine values provided for individual test + parameters to create a set of test cases. + + + + + Gets the test cases generated by the CombiningStrategy. + + The test cases. + + + + ICommandWrapper is implemented by attributes and other + objects able to wrap a TestCommand with another command. + + + Attributes or other objects should implement one of the + derived interfaces, rather than this one, since they + indicate in which part of the command chain the wrapper + should be applied. + + + + + Wrap a command and return the result. + + The command to be wrapped + The wrapped command + + + + Objects implementing this interface are used to wrap + the TestMethodCommand itself. They apply after SetUp + has been run and before TearDown. + + + + + Objects implementing this interface are used to wrap + the entire test, including SetUp and TearDown. + + + + + Objects implementing this interface are used to wrap + tests that can repeat. The implementing command is run once, + invoking the chained commands any number of times. + + + + + Any ITest that implements this interface is at a level that the implementing + class should be disposed at the end of the test run + + + + + The IFixtureBuilder interface is exposed by a class that knows how to + build test fixtures from a specified type. In general, it is exposed + by an attribute, but it may be implemented in a helper class used by the + attribute in some cases. + + + + + Builds any number of test fixtures from the specified type. + + The type info of the fixture to be used. + + + + The IFixtureBuilder2 interface extends IFixtureBuilder by allowing + use of a PreFilter, which is used to select methods as test cases. + + + + + Builds any number of test fixtures from the specified type. + + The type info of the fixture to be used. + PreFilter to be used to select methods. + + + + IImplyFixture is an empty marker interface used by attributes like + TestAttribute that cause the class where they are used to be treated + as a TestFixture even without a TestFixtureAttribute. + + Marker interfaces are not usually considered a good practice, but + we use it here to avoid cluttering the attribute hierarchy with + classes that don't contain any extra implementation. + + + + + The IMethodInfo class is used to encapsulate information + about a method in a platform-independent manner. + + + + + Gets the Type from which this method was reflected. + + + + + Gets the MethodInfo for this method. + + + + + Gets the name of the method. + + + + + Gets a value indicating whether the method is abstract. + + + + + Gets a value indicating whether the method is public. + + + + + Gets a value indicating whether the method is static. + + + + + Gets a value indicating whether the method contains unassigned generic type parameters. + + + + + Gets a value indicating whether the method is a generic method. + + + + + Gets a value indicating whether the MethodInfo represents the definition of a generic method. + + + + + Gets the return Type of the method. + + + + + Gets the parameters of the method. + + + + + + Returns the Type arguments of a generic method or the Type parameters of a generic method definition. + + + + + Replaces the type parameters of the method with the array of types provided and returns a new IMethodInfo. + + The type arguments to be used + A new IMethodInfo with the type arguments replaced + + + + Invokes the method, converting any TargetInvocationException to an NUnitException. + + The object on which to invoke the method + The argument list for the method + The return value from the invoked method + + + + Provides data for a single test parameter. + + + + + Determines whether any data is available for a parameter. + + The parameter of a parameterized test. + + + + Retrieves a list of arguments which can be passed to the specified parameter. + + The parameter of a parameterized test. + + + + Provides data for a single test parameter. + + + + + Retrieves a list of arguments which can be passed to the specified parameter. + + The parameter of a parameterized test. + + + + The IParameterInfo interface is an abstraction of a .NET parameter. + + + + + Gets a value indicating whether the parameter is optional + + + + + Gets an IMethodInfo representing the method for which this is a parameter + + + + + Gets the underlying .NET ParameterInfo + + + + + Gets the Type of the parameter + + + + + Implemented by filters for use in deciding which + Types and Methods should be used to generate tests. + + + + + Use the filter on a Type, returning true if the type matches the filter + and should therefore be included in the discovery process. + + + + + Use the filter on a Type, returning true if the type matches the filter + and should therefore be included in the discovery process. + + + + + A PropertyBag represents a collection of name/value pairs + that allows duplicate entries with the same key. Methods + are provided for adding a new pair as well as for setting + a key to a single value. All keys are strings but values + may be of any type. Null values are not permitted, since + a null entry represents the absence of the key. + + The entries in a PropertyBag are of two kinds: those that + take a single value and those that take multiple values. + However, the PropertyBag has no knowledge of which entries + fall into each category and the distinction is entirely + up to the code using the PropertyBag. + + When working with multi-valued properties, client code + should use the Add method to add name/value pairs and + indexing to retrieve a list of all values for a given + key. For example: + + bag.Add("Tag", "one"); + bag.Add("Tag", "two"); + Assert.That(bag["Tag"], + Is.EqualTo(new string[] { "one", "two" })); + + When working with single-valued properties, client code + should use the Set method to set the value and Get to + retrieve the value. The GetSetting methods may also be + used to retrieve the value in a type-safe manner while + also providing default. For example: + + bag.Set("Priority", "low"); + bag.Set("Priority", "high"); // replaces value + Assert.That(bag.Get("Priority"), + Is.EqualTo("high")); + Assert.That(bag.GetSetting("Priority", "low"), + Is.EqualTo("high")); + + + + + Adds a key/value pair to the property bag + + The key + The value + + + + Sets the value for a key, removing any other + values that are already in the property set. + + + + + + + Gets a single value for a key, using the first + one if multiple values are present and returning + null if the value is not found. + + + + + Gets a flag indicating whether the specified key has + any entries in the property set. + + The key to be checked + True if their are values present, otherwise false + + + + Gets or sets the list of values for a particular key + + The key for which the values are to be retrieved or set + + + + Gets a collection containing all the keys in the property set + + + + + The IReflectionInfo interface is implemented by NUnit wrapper objects that perform reflection. + + + + + Returns an array of custom attributes of the specified type applied to this object + + + + + Returns a value indicating whether an attribute of the specified type is defined on this object. + + + + + The ISimpleTestBuilder interface is exposed by a class that knows how to + build a single tests from a specified method. In general, + it is exposed by an attribute, but it may be implemented in a helper class + used by the attribute in some cases. + + + + + Builds a single test from the specified method and context. + + The method to be used as a test + The TestSuite to which the method will be added + + + + The ISuiteBuilder interface is exposed by a class that knows how to + build a single test suite from a specified type. + + + + + Examine the type and determine if it is suitable for + this builder to use in building a TestSuite. + + Note that returning false will cause the type to be ignored + in loading the tests. If it is desired to load the suite + but label it as non-runnable, ignored, etc., then this + method must return true. + + The type of the fixture to be used + + + + Builds a single test suite from the specified type. + + The type of the fixture to be used + + + + Builds a single test suite from the specified type, subject + to a filter that decides which methods are included. + + The type of the fixture to be used + A PreFilter for selecting methods. + + + + Common interface supported by all representations + of a test. Only includes informational fields. + The Run method is specifically excluded to allow + for data-only representations of a test. + + + + + Gets the id of the test + + + + + Gets the name of the test + + + + + Gets the type of the test + + + + + Gets the fully qualified name of the test + + + + + Gets the name of the class containing this test. Returns + null if the test is not associated with a class. + + + + + Gets the name of the method implementing this test. + Returns null if the test is not implemented as a method. + + + + + Gets the Type of the test fixture, if applicable, or + null if no fixture type is associated with this test. + + + + + Gets the method which declares the test, or + if no method is associated with this test. + + + + + Gets the RunState of the test, indicating whether it can be run. + + + + + Count of the test cases ( 1 if this is a test case ) + + + + + Gets the properties of the test + + + + + Gets the parent test, if any. + + The parent test or null if none exists. + + + + Returns true if this is a test suite + + + + + Gets a bool indicating whether the current test + has any descendant tests. + + + + + Gets this test's child tests + + A list of child tests + + + + Gets a fixture object for running this test. + + + + + The arguments to use in creating the test or empty array if none are required. + + + + + The ITestBuilder interface is exposed by a class that knows how to + build tests from a specified method. In general, it is exposed + by an attribute which has additional information available to provide + the necessary test parameters to distinguish the test cases built. + + + + + Builds any number of tests from the specified method and context. + + The method to be used as a test + The TestSuite to which the method will be added + + + + The ITestCaseBuilder interface is exposed by a class that knows how to + build a test from a specified method, possibly containing child test cases. + + + + + Examine the method and determine if it is suitable for + this builder to use in building a TestCase to be + included in the suite being populated. + + Note that returning false will cause the method to be ignored + in loading the tests. If it is desired to load the method + but label it as non-runnable, ignored, etc., then this + method must return true. + + The test method to examine + The suite being populated + + + + Builds a single test from the specified method and context, + possibly containing child test cases. + + The method to be used as a test case + The test suite being populated, or null + + + + The ITestCaseData interface is implemented by a class + that is able to return complete test cases for use by + a parameterized test method. + + + + + Gets the expected result of the test case + + + + + Returns true if an expected result has been set + + + + + The ITestData interface is implemented by a class that + represents a single instance of a parameterized test. + + + + + Gets the name to be used for the test + + + + + Gets the RunState for this test case. + + + + + Gets the argument list to be provided to the test + + + + + Gets the property dictionary for the test case + + + + + Interface to be implemented by filters applied to tests. + The filter applies when running the test, after it has been + loaded, since this is the only time an ITest exists. + + + + + Determine if a particular test passes the filter criteria. Pass + may examine the parents and/or descendants of a test, depending + on the semantics of the particular filter + + The test to which the filter is applied + True if the test passes the filter, otherwise false + + + + Determine if a test matches the filter explicitly. That is, it must + be a direct match of the test itself or one of its children. + + The test to which the filter is applied + True if the test matches the filter explicitly, otherwise false + + + + The ITestCaseData interface is implemented by a class + that is able to return the data required to create an + instance of a parameterized test fixture. + + + + + Get the TypeArgs if separately set + + + + + The ITestListener interface is used internally to receive + notifications of significant events while a test is being + run. The events are propagated to clients by means of an + AsyncCallback. NUnit extensions may also monitor these events. + + + + + Called when a test has just started + + The test that is starting + + + + Called when a test has finished + + The result of the test + + + + Called when a test produces output for immediate display + + A TestOutput object containing the text to display + + + + Called when a test produces a message to be sent to listeners + + A object containing the text to send + + + + The ITestResult interface represents the result of a test. + + + + + Gets the ResultState of the test result, which + indicates the success or failure of the test. + + + + + Gets the name of the test result + + + + + Gets the full name of the test result + + + + + Gets the elapsed time for running the test in seconds + + + + + Gets or sets the time the test started running. + + + + + Gets or sets the time the test finished running. + + + + + Gets the message associated with a test + failure or with not running the test + + + + + Gets any stack trace associated with an + error or failure. + + + + Gets the total number of tests executed + when running the test and all its children. + + + + + Gets the number of asserts executed + when running the test and all its children. + + + + + Gets the number of test cases that failed + when running the test and all its children. + + + + + Gets the number of test cases that had warnings + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + Indicates whether this result has any child results. + Accessing HasChildren should not force creation of the + Children collection in classes implementing this interface. + + + + + Gets the collection of child results. + + + + + Gets the Test to which this result applies. + + + + + Gets any text output written to this result. + + + + + Gets a list of AssertionResults associated with the test + + + + + Gets the collection of files attached to the test + + + + + The ITypeInfo interface is an abstraction of a .NET Type + + + + + Gets the underlying Type on which this ITypeInfo is based + + + + + Gets the base type of this type as an ITypeInfo + + + + + Returns true if the Type wrapped is equal to the argument + + + + + Gets the name of the Type + + + + + Gets the full name of the Type + + + + + Gets the assembly in which the type is declared + + + + + Gets the namespace of the Type + + + + + Gets a value indicating whether the type is abstract. + + + + + Gets a value indicating whether the Type is a generic Type + + + + + Gets a value indicating whether the Type has generic parameters that have not been replaced by specific Types. + + + + + Gets a value indicating whether the Type is a generic Type definition + + + + + Gets a value indicating whether the type is sealed. + + + + + Gets a value indicating whether this type is a static class. + + + + + Get the display name for this typeInfo. + + + + + Get the display name for an object of this type, constructed with specific arguments + + + + + Returns a Type representing a generic type definition from which this Type can be constructed. + + + + + Returns a new ITypeInfo representing an instance of this generic Type using the supplied Type arguments + + + + + Returns a value indicating whether this type has a method with a specified public attribute + + + + + Returns an array of IMethodInfos for methods of this Type + that match the specified flags. + + + + + Gets the public constructor taking the specified argument Types + + + + + Returns a value indicating whether this Type has a public constructor taking the specified argument Types. + + + + + Construct an object of this Type, using the specified arguments. + + + + + Returns all methods declared by this type that have the specified attribute, optionally + including base classes. Methods from a base class are always returned before methods from a class that + inherits from it. + + Specifies whether to search the fixture type inheritance chain. + + + + An object implementing IXmlNodeBuilder is able to build + an XML representation of itself and any children. + + + + + Returns a TNode representing the current object. + + If true, children are included where applicable + A TNode representing the result + + + + Returns a TNode representing the current object after + adding it as a child of the supplied parent node. + + The parent node. + If true, children are included, where applicable + + + + + The ResultState class represents the outcome of running a test. + It contains two pieces of information. The Status of the test + is an enum indicating whether the test passed, failed, was + skipped or was inconclusive. The Label provides a more + detailed breakdown for use by client runners. + + + + + Initializes a new instance of the class. + + The TestStatus. + + + + Initializes a new instance of the class. + + The TestStatus. + The label. + + + + Initializes a new instance of the class. + + The TestStatus. + The stage at which the result was produced + + + + Initializes a new instance of the class. + + The TestStatus. + The label. + The stage at which the result was produced + + + + The result is inconclusive + + + + + The test has been skipped. + + + + + The test has been ignored. + + + + + The test was skipped because it is explicit + + + + + The test succeeded + + + + + The test issued a warning + + + + + The test failed + + + + + The test encountered an unexpected exception + + + + + The test was cancelled by the user + + + + + The test was not runnable. + + + + + A suite failed because one or more child tests failed or had errors + + + + + A suite failed because one or more child tests had warnings + + + + + A suite is marked ignored because one or more child tests were ignored + + + + + A suite failed in its OneTimeSetUp + + + + + A suite had an unexpected exception in its OneTimeSetUp + + + + + A suite had an unexpected exception in its OneTimeDown + + + + + Gets the TestStatus for the test. + + The status. + + + + Gets the label under which this test result is + categorized, or if none. + + + + + Gets the stage of test execution in which + the failure or other result took place. + + + + + Get a new ResultState, which is the same as the current + one but with the FailureSite set to the specified value. + + The FailureSite to use + A new ResultState + + + + Test whether this ResultState has the same Status and Label + as another one. In other words, the whether two are equal + ignoring the Site. + + + + + + Determines whether the specified object is equal to the current object. + The object to compare with the current object. + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + + + Serves as the default hash function. + + + + Overload == operator for ResultStates + + + + + Overload != operator for ResultStates + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + The FailureSite enum indicates the stage of a test + in which an error or failure occurred. + + + + + Failure in the test itself + + + + + Failure in the SetUp method + + + + + Failure in the TearDown method + + + + + Failure of a parent test + + + + + Failure of a child test + + + + + The RunState enum indicates whether a test can be executed. + + + + + The test is not runnable. + + + + + The test is runnable. + + + + + The test can only be run explicitly + + + + + The test has been skipped. This value may + appear on a Test when certain attributes + are used to skip the test. + + + + + The test has been ignored. May appear on + a Test, when the IgnoreAttribute is used. + + + + + The TestAttachment class represents a file attached to a TestResult, + with an optional description. + + + + + Absolute file path to attachment file + + + + + User specified description of attachment. May be null. + + + + + Creates a TestAttachment class to represent a file attached to a test result. + + Absolute file path to attachment file + User specified description of attachment. May be null. + + + + The class holds a message sent by a test to all listeners + + + + + Construct with text, destination type and + the name of the test that produced the message. + + Destination of the message + Text to be sent + ID of the test that produced the message + + + + Converts object to string + + + + + The message to send to listeners + + + + + The Destination of the message. + + + + + The ID of the test that sent the message + + + + + Returns the XML representation of the object. + + + + + The TestOutput class holds a unit of output from + a test to a specific output stream + + + + + Construct with text, output destination type and + the name of the test that produced the output. + + Text to be output + Name of the stream or channel to which the text should be written + Id of the test that produced the output + FullName of test that produced the output + + + + Return string representation of the object for debugging + + + + + + Get the text + + + + + Get the output type + + + + + Get the name of the test that created the output + + + + + Get the id of the test that created the output + + + + + Convert the TestOutput object to an XML string + + + + + The TestStatus enum indicates the result of running a test + + + + + The test was inconclusive + + + + + The test has skipped + + + + + The test succeeded + + + + + There was a warning + + + + + The test failed + + + + + TNode represents a single node in the XML representation + of a Test or TestResult. It replaces System.Xml.XmlNode and + System.Xml.Linq.XElement, providing a minimal set of methods + for operating on the XML in a platform-independent manner. + + + + + Constructs a new instance of TNode + + The name of the node + + + + Constructs a new instance of TNode with a value + + The name of the node + The text content of the node + + + + Constructs a new instance of TNode with a value + + The name of the node + The text content of the node + Flag indicating whether to use CDATA when writing the text + + + + Gets the name of the node + + + + + Gets the value of the node + + + + + Gets a flag indicating whether the value should be output using CDATA. + + + + + Gets the dictionary of attributes + + + + + Gets a list of child nodes + + + + + Gets the first ChildNode + + + + + Gets the XML representation of this node. + + + + + Create a TNode from its XML text representation + + The XML text to be parsed + A TNode + + + + Adds a new element as a child of the current node and returns it. + + The element name. + The newly created child element + + + + Adds a new element with a value as a child of the current node and returns it. + + The element name + The text content of the new element + The newly created child element + + + + Adds a new element with a value as a child of the current node and returns it. + The value will be output using a CDATA section. + + The element name + The text content of the new element + The newly created child element + + + + Adds an attribute with a specified name and value to the XmlNode. + + The name of the attribute. + The value of the attribute. + + + + Finds a single descendant of this node matching an XPath + specification. The format of the specification is + limited to what is needed by NUnit and its tests. + + + + + + + Finds all descendants of this node matching an XPath + specification. The format of the specification is + limited to what is needed by NUnit and its tests. + + + + + Writes the XML representation of the node to an XmlWriter + + + + + + Class used to represent a list of XmlResults + + + + + Class used to represent the attributes of a node + + + + + Gets or sets the value associated with the specified key. + Overridden to return null if attribute is not found. + + The key. + Value of the attribute or null + + + + A production implementation that delegates directly to .NET's . + + + + + Returns whether a debugger is currently attached to the process + + + + + A layer of abstraction around to facilitate testing. + + + + + Whether a debugger is currently attached to the process. + + + + + AssemblyHelper provides static methods for working + with assemblies. + + + + + Gets the path from which an assembly was loaded. + For builds where this is not possible, returns + the name of the assembly. + + The assembly. + The path. + + + + Gets the path to the directory from which an assembly was loaded. + + The assembly. + The path. + + + + Gets the AssemblyName of an assembly. + + The assembly + An AssemblyName + + + + Loads an assembly given a string, which may be the + path to the assembly or the AssemblyName + + + + + Gets the assembly path from code base. + + Public for testing purposes + The code base. + + + + + Adapts various styles of asynchronous waiting to a common API. + + + + + CombinatorialStrategy creates test cases by using all possible + combinations of the parameter data. + + + + + Gets the test cases generated by the CombiningStrategy. + + The test cases. + + + + Provides data from fields marked with the DatapointAttribute or the + DatapointsAttribute. + + + + + Determines whether any data is available for a parameter. + + The parameter of a parameterized test + + + + Retrieves data for use with the supplied parameter. + + The parameter of a parameterized test + + + + Built-in SuiteBuilder for all types of test classes. + + + + + Examine the type and determine if it is suitable for + this builder to use in building a TestSuite. + + Note that returning false will cause the type to be ignored + in loading the tests. If it is desired to load the suite + but label it as non-runnable, ignored, etc., then this + method must return true. + + The fixture type to check + + + + Builds a single test suite from the specified type. + + The fixture type to build + + + + Builds a single test suite from the specified type, subject + to a filter that decides which methods are included. + + The fixture type to build + A PreFilter for selecting methods. + + + + We look for attributes implementing IFixtureBuilder at one level + of inheritance at a time. Attributes on base classes are not used + unless there are no fixture builder attributes at all on the derived + class. This is by design. + + The type being examined for attributes + + + + Class to build ether a parameterized or a normal NUnitTestMethod. + There are four cases that the builder must deal with: + 1. The method needs no params and none are provided + 2. The method needs params and they are provided + 3. The method needs no params but they are provided in error + 4. The method needs params but they are not provided + This could have been done using two different builders, but it + turned out to be simpler to have just one. The BuildFrom method + takes a different branch depending on whether any parameters are + provided, but all four cases are dealt with in lower-level methods + + + + + Determines if the method can be used to build an NUnit test + test method of some kind. The method must normally be marked + with an identifying attribute for this to be true. + + Note that this method does not check that the signature + of the method for validity. If we did that here, any + test methods with invalid signatures would be passed + over in silence in the test run. Since we want such + methods to be reported, the check for validity is made + in BuildFrom rather than here. + + An IMethodInfo for the method being used as a test method + + + + Builds a single test from the specified method and context, + possibly containing child test cases. + + The method for which a test is to be built + + + + Determines if the method can be used to build an NUnit test + test method of some kind. The method must normally be marked + with an identifying attribute for this to be true. + + Note that this method does not check that the signature + of the method for validity. If we did that here, any + test methods with invalid signatures would be passed + over in silence in the test run. Since we want such + methods to be reported, the check for validity is made + in BuildFrom rather than here. + + An IMethodInfo for the method being used as a test method + The test suite being built, to which the new test would be added + + + + Builds a single test from the specified method and context, + possibly containing child test cases. + + The method for which a test is to be built + The test fixture being populated, or null + + + + Builds a ParameterizedMethodSuite containing individual test cases. + + The method for which a test is to be built. + The list of test cases to include. + + + + Build a simple, non-parameterized TestMethod for this method. + + The MethodInfo for which a test is to be built + The test suite for which the method is being built + + + + Class that can build a tree of automatic namespace + suites from a group of fixtures. + + + + + NamespaceDictionary of all test suites we have created to represent + namespaces. Used to locate namespace parent suites for fixtures. + + + + + Point in the tree where items in the global namespace are added + + + + + Initializes a new instance of the class. + + The root suite. + + + + Gets the root entry in the tree created by the NamespaceTreeBuilder. + + The root suite. + + + + Adds the specified fixtures to the tree. + + The fixtures to be added. + + + + Adds the specified fixture to the tree. + + The fixture to be added. + + + + NUnitTestCaseBuilder is a utility class used by attributes + that build test cases. + + + + + Constructs an + + + + + Builds a single NUnitTestMethod, either as a child of the fixture + or as one of a set of test cases under a ParameterizedTestMethodSuite. + + The MethodInfo from which to construct the TestMethod + The suite or fixture to which the new test will be added + The ParameterSet to be used, or null + + + + Checks to see if we have valid combinations of attributes. + + The TestMethod to be checked. If it + is found to be non-runnable, it will be modified. + True if the method signature is valid, false if not + + + + Helper method that checks the signature of a TestMethod and + any supplied parameters to determine if the test is valid. + + Currently, NUnitTestMethods are required to be public, + non-abstract methods, either static or instance, + returning void. They may take arguments but the values must + be provided or the TestMethod is not considered runnable. + + Methods not meeting these criteria will be marked as + non-runnable and the method will return false in that case. + + The TestMethod to be checked. If it + is found to be non-runnable, it will be modified. + Parameters to be used for this test, or null + True if the method signature is valid, false if not + + The return value is no longer used internally, but is retained + for testing purposes. + + + + + NUnitTestFixtureBuilder is able to build a fixture given + a class marked with a TestFixtureAttribute or an unmarked + class containing test methods. In the first case, it is + called by the attribute and in the second directly by + NUnitSuiteBuilder. + + + + + Build a TestFixture from type provided. A non-null TestSuite + must always be returned, since the method is generally called + because the user has marked the target class as a fixture. + If something prevents the fixture from being used, it should + be returned nonetheless, labeled as non-runnable. + + An ITypeInfo for the fixture to be used. + Filter used to select methods as tests. + A TestSuite object or one derived from TestSuite. + + + + Overload of BuildFrom called by tests that have arguments. + Builds a fixture using the provided type and information + in the ITestFixtureData object. + + The TypeInfo for which to construct a fixture. + Filter used to select methods as tests. + An object implementing ITestFixtureData or null. + + + + + Method to add test cases to the newly constructed fixture. + + + + + Method to create a test case from a MethodInfo and add + it to the fixture being built. It first checks to see if + any global TestCaseBuilder addin wants to build the + test case. If not, it uses the internal builder + collection maintained by this fixture builder. + + The default implementation has no test case builders. + Derived classes should add builders to the collection + in their constructor. + + The method for which a test is to be created + The test suite being built. + A newly constructed Test + + + + PairwiseStrategy creates test cases by combining the parameter + data so that all possible pairs of data items are used. + + + + The number of test cases that cover all possible pairs of test function + parameters values is significantly less than the number of test cases + that cover all possible combination of test function parameters values. + And because different studies show that most of software failures are + caused by combination of no more than two parameters, pairwise testing + can be an effective ways to test the system when it's impossible to test + all combinations of parameters. + + + The PairwiseStrategy code is based on "jenny" tool by Bob Jenkins: + https://burtleburtle.net/bob/math/jenny.html + + + + + + FleaRand is a pseudo-random number generator developed by Bob Jenkins: + https://burtleburtle.net/bob/rand/talksmall.html#flea + + + + + Initializes a new instance of the FleaRand class. + + The seed. + + + + FeatureInfo represents coverage of a single value of test function + parameter, represented as a pair of indices, Dimension and Feature. In + terms of unit testing, Dimension is the index of the test parameter and + Feature is the index of the supplied value in that parameter's list of + sources. + + + + + Initializes a new instance of FeatureInfo class. + + Index of a dimension. + Index of a feature. + + + + A FeatureTuple represents a combination of features, one per test + parameter, which should be covered by a test case. In the + PairwiseStrategy, we are only trying to cover pairs of features, so the + tuples actually may contain only single feature or pair of features, but + the algorithm itself works with triplets, quadruples and so on. + + + + + Initializes a new instance of FeatureTuple class for a single feature. + + Single feature. + + + + Initializes a new instance of FeatureTuple class for a pair of features. + + First feature. + Second feature. + + + + TestCase represents a single test case covering a list of features. + + + + + Initializes a new instance of TestCaseInfo class. + + A number of features in the test case. + + + + PairwiseTestCaseGenerator class implements an algorithm which generates + a set of test cases which covers all pairs of possible values of test + function. + + + + The algorithm starts with creating a set of all feature tuples which we + will try to cover (see method). This set + includes every single feature and all possible pairs of features. We + store feature tuples in the 3-D collection (where axes are "dimension", + "feature", and "all combinations which includes this feature"), and for + every two feature (e.g. "A" and "B") we generate both ("A", "B") and + ("B", "A") pairs. This data structure extremely reduces the amount of + time needed to calculate coverage for a single test case (this + calculation is the most time-consuming part of the algorithm). + + + Then the algorithm picks one tuple from the uncovered tuple, creates a + test case that covers this tuple, and then removes this tuple and all + other tuples covered by this test case from the collection of uncovered + tuples. + + + Picking a tuple to cover + + + There are no any special rules defined for picking tuples to cover. We + just pick them one by one, in the order they were generated. + + + Test generation + + + Test generation starts from creating a completely random test case which + covers, nevertheless, previously selected tuple. Then the algorithm + tries to maximize number of tuples which this test covers. + + + Test generation and maximization process repeats seven times for every + selected tuple and then the algorithm picks the best test case ("seven" + is a magic number which provides good results in acceptable time). + + Maximizing test coverage + + To maximize tests coverage, the algorithm walks through the list of mutable + dimensions (mutable dimension is a dimension that are not included in + the previously selected tuple). Then for every dimension, the algorithm + walks through the list of features and checks if this feature provides + better coverage than randomly selected feature, and if yes keeps this + feature. + + + This process repeats while it shows progress. If the last iteration + doesn't improve coverage, the process ends. + + + In addition, for better results, before start every iteration, the + algorithm "scrambles" dimensions - so for every iteration dimension + probes in a different order. + + + + + + Creates a set of test cases for specified dimensions. + + + An array which contains information about dimensions. Each element of + this array represents a number of features in the specific dimension. + + + A set of test cases. + + + + + Gets the test cases generated by this strategy instance. + + A set of test cases. + + + + The ParameterDataProvider class implements IParameterDataProvider + and hosts one or more individual providers. + + + + + Construct with a collection of individual providers + + + + + Determines whether any data is available for a parameter. + + The parameter of a parameterized test + + + + Retrieves data for use with the supplied parameter. + + The parameter of a parameterized test + + + + ParameterDataSourceProvider supplies individual argument values for + single parameters using attributes implementing IParameterDataSource. + + + + + Determines whether any data is available for a parameter. + + The parameter of a parameterized test + + + + Retrieves data for use with the supplied parameter. + + The parameter of a parameterized test + + + + SequentialStrategy creates test cases by using all of the + parameter data sources in parallel, substituting + when any of them run out of data. + + + + + Gets the test cases generated by the CombiningStrategy. + + The test cases. + + + + TestActionAfterCommand handles the AfterTest method of a single + TestActionItem, provided the items BeforeTest has been run. + + + + + Initializes a new instance of the class. + + The inner command. + The TestActionItem to run before the inner command. + + + + AfterCommand is a DelegatingTestCommand that performs some + specific action after the inner command is run. + + + + + Construct an AfterCommand + + + + + Execute the command + + + + + Set this to perform action after the inner command. + + + + + ContextSettingsCommand applies specified changes to the + TestExecutionContext prior to running a test. No special + action is needed after the test runs, since the prior + context will be restored automatically. + + + + + TestActionCommand handles a single ITestAction applied + to a test. It runs the BeforeTest method, then runs the + test and finally runs the AfterTest method. + + + + + Initializes a new instance of the class. + + The inner command. + + + + Runs the test, saving a TestResult in the supplied TestExecutionContext. + + The context in which the test should run. + A TestResult + + + + Perform the before test action + + + + + Perform the after test action + + + + + TestActionBeforeCommand handles the BeforeTest method of a single + TestActionItem, relying on the item to remember it has been run. + + + + + Initializes a new instance of the class. + + The inner command. + The TestActionItem to run before the inner command. + + + + BeforeTestCommand is a DelegatingTestCommand that performs some + specific action before the inner command is run. + + + + + Construct a BeforeCommand + + + + + Execute the command + + + + + Action to perform before the inner command. + + + + + ConstructFixtureCommand constructs the user test object if necessary. + + + + + Constructs a OneTimeSetUpCommand for a suite + + The inner command to which the command applies + + + + DelegatingTestCommand wraps an inner TestCommand. + Derived classes may do what they like before or + after running the inner command. + + + + TODO: Documentation needed for field + + + + Initializes a new instance of the class. + + The inner command. + + + + OneTimeTearDownCommand performs any teardown actions + specified for a suite and calls Dispose on the user + test object, if any. + + + + + Construct a OneTimeTearDownCommand + + The command wrapped by this command + + + + EmptyTestCommand is a TestCommand that does nothing. It simply + returns the current result from the context when executed. We + use it to avoid testing for null when executing a chain of + DelegatingTestCommands. + + + + + Construct a NullCommand for a test + + + + + Execute the command + + + + + ConstructFixtureCommand constructs the user test object if necessary. + + + + + Handles the construction and disposement of a fixture per test case + + The inner command to which the command applies + + + + adjusts the result of a successful test + to a failure if the elapsed time has exceeded the specified maximum + time allowed. + + + + + Initializes a new instance of the class. + + The inner command. + The max time allowed in milliseconds + + + + OneTimeSetUpCommand runs any one-time setup methods for a suite, + constructing the user test object if necessary. + + + + + Constructs a OneTimeSetUpCommand for a suite + + The inner command to which the command applies + A SetUpTearDownList for use by the command + + + + OneTimeTearDownCommand performs any teardown actions + specified for a suite and calls Dispose on the user + test object, if any. + + + + + Construct a OneTimeTearDownCommand + + The command wrapped by this command + A SetUpTearDownList for use by the command + + + + SetUpTearDownCommand runs SetUp methods for a suite, + runs the test and then runs TearDown methods. + + + + + Initializes a new instance of the class. + + The inner command. + List of setup/teardown items + + + + SetUpTearDownItem holds the setup and teardown methods + for a single level of the inheritance hierarchy. + + + + + Construct a SetUpTearDownNode + + A list of setup methods for this level + A list teardown methods for this level + A method validator to validate each method before calling. + + + + Returns true if this level has any methods at all. + This flag is used to discard levels that do nothing. + + + + + Run SetUp on this level. + + The execution context to use for running. + + + + Run TearDown for this level. + + + + + + TODO: Documentation needed for class + + + + + Initializes a new instance of the class. + + The test being skipped. + + + + Overridden to simply set the CurrentResult to the + appropriate Skipped state. + + The execution context for the test + A TestResult + + + + TestActionCommand handles a single ITestAction applied + to a test. It runs the BeforeTest method, then runs the + test and finally runs the AfterTest method. + + + + + Initializes a new instance of the class. + + The inner command. + The TestAction with which to wrap the inner command. + + + + TestActionItem wraps a single execution of an ITestAction. + Its primary purpose is to track whether the BeforeTest + method has been called and suppress calling the + AfterTest method if it has not. This is necessary when + ITestActions are used before and after a CompositeWorkItem, + since the OneTimeSetUpCommand and OneTimeTearDownCommand + are separate command chains. By sharing a TestActionItem + between the setup and teardown chains, the two calls can + be coordinated. + + + + + Construct a TestActionItem + + The ITestAction to be included + + + + Get flag indicating if the BeforeTest entry was already called. + + + + + Run the BeforeTest method of the action and remember that it has been run. + + The test to which the action applies + + + + Run the AfterTest action, but only if the BeforeTest + action was actually run. + + The test to which the action applies + + + + TestCommand is the abstract base class for all test commands + in the framework. A TestCommand represents a single stage in + the execution of a test, e.g.: SetUp/TearDown, checking for + Timeout, verifying the returned result from a method, etc. + + TestCommands may decorate other test commands so that the + execution of a lower-level command is nested within that + of a higher level command. All nested commands are executed + synchronously, as a single unit. Scheduling test execution + on separate threads is handled at a higher level, using the + task dispatcher. + + + + + Construct a TestCommand for a test. + + The test to be executed + + + + Gets the test associated with this command. + + + + + Runs the test in a specified context, returning a TestResult. + + The TestExecutionContext to be used for running the test. + A TestResult + + + + TestMethodCommand is the lowest level concrete command + used to run actual test cases. + + + + + Initializes a new instance of the class. + + The test. + + + + Runs the test, saving a TestResult in the execution context, as + well as returning it. If the test has an expected result, it + is asserts on that value. Since failed tests and errors throw + an exception, this command must be wrapped in an outer command, + will handle that exception and records the failure. This role + is usually played by the SetUpTearDown command. + + The execution context + + + + TheoryResultCommand adjusts the result of a Theory so that + it fails if all the results were inconclusive. + + + + + Constructs a TheoryResultCommand + + The command to be wrapped by this one + + + + creates a timer in order to cancel + a test if it exceeds a specified time and adjusts + the test result if it did time out. + + + + + Initializes a new instance of the class. + + The inner command + Timeout value + + + + Initializes a new instance of the class. + + The inner command + Timeout value + An instance + + + + Provides methods to support consistent checking in constraints. + + + + + Requires that the provided object is actually of the type required. + + The object to verify. + Name of the parameter as passed into the checking method. + + If and can be null, returns null rather than throwing when is null. + If cannot be null, this parameter is ignored. + The type to require. + + + + CultureDetector is a helper class used by NUnit to determine + whether a test should be run based on the current culture. + + + + + Default constructor uses the current culture. + + + + + Construct a CultureDetector for a particular culture for testing. + + The culture to be used + + + + Test to determine if one of a collection of cultures + is being used currently. + + + + + + + Tests to determine if the current culture is supported + based on a culture attribute. + + The attribute to examine + + + + + Test to determine if the a particular culture or comma- + delimited set of cultures is in use. + + Name of the culture or comma-separated list of culture ids + True if the culture is in use on the system + + + + Return the last failure reason. Results are not + defined if called before IsSupported( Attribute ) + is called. + + + + + Useful when wrapping awaiters whose GetResult method does not block until complete. + Contains a default mechanism to implement + via and . + + + + + ExceptionHelper provides static methods for working with exceptions + + + + + Rethrows an exception, preserving its stack trace + + The exception to rethrow + + + + Builds up a message, using the Message field of the specified exception + as well as any InnerExceptions. Optionally excludes exception names, + creating a more readable message. + + The exception. + Flag indicating whether exception names should be excluded. + A combined message string. + + + + Builds up a message, using the Message field of the specified exception + as well as any InnerExceptions. + + The exception. + A combined stack trace. + + + + Executes a parameterless synchronous or async delegate and returns the exception it throws, if any. + + + + + A CompositeWorkItem represents a test suite and + encapsulates the execution of the suite as well + as all its child tests. + + + + + List of Child WorkItems + + + + + Indicates whether this work item should use a separate dispatcher. + + + + + Construct a CompositeWorkItem for executing a test suite + using a filter to select child tests. + + The TestSuite to be executed + A filter used to select child tests + + + + Method that actually performs the work. Overridden + in CompositeWorkItem to do one-time setup, run all child + items and then dispatch the one-time teardown work item. + + + + + + + + + + Cancel (abort or stop) a CompositeWorkItem and all of its children + + true if the CompositeWorkItem and all of its children should be aborted, false if it should allow all currently running tests to complete + + + + OneTimeTearDownWorkItem represents the cleanup + and one-time teardown phase of a CompositeWorkItem + + + + + Construct a OneTimeTearDownWOrkItem wrapping a CompositeWorkItem + + The CompositeWorkItem being wrapped + + + + The WorkItem name, overridden to indicate this is the teardown. + + + + + The ExecutionStrategy for use in running this work item + + + + + + + + + + PerformWork is not used in CompositeWorkItem + + + + + WorkItemCancelled is called directly by the parallel dispatcher + when a test suite is left hanging after a forced StopRun. We + simulate WorkItemComplete() but without the ripple effect to + higher level suites, since we are controlling it all directly. + + + + + EventListenerTextWriter sends text output to the currently active + ITestEventListener in the form of a TestOutput object. If no event + listener is active in the context, or if there is no context, + the output is forwarded to the supplied default writer. + + + + + Construct an EventListenerTextWriter + + The name of the stream to use for events + The default writer to use if no listener is available + + + + Get the Encoding for this TextWriter + + + + + Write formatted string + + + + + Write formatted string + + + + + Write formatted string + + + + + Write an object + + + + + Write a string + + + + + Write a decimal + + + + + Write a double + + + + + Write formatted string + + + + + Write a ulong + + + + + Write a long + + + + + Write a uint + + + + + Write an int + + + + + Write a char + + + + + Write a boolean + + + + + Write chars + + + + + Write chars + + + + + Write a float + + + + + Write a string with newline + + + + + Write an object with newline + + + + + Write formatted string with newline + + + + + Write formatted string with newline + + + + + Write formatted string with newline + + + + + Write a decimal with newline + + + + + Write a formatted string with newline + + + + + Write a double with newline + + + + + Write a uint with newline + + + + + Write a ulong with newline + + + + + Write a long with newline + + + + + Write an int with newline + + + + + Write a bool with newline + + + + + Write chars with newline + + + + + Write chars with newline + + + + + Write a char with newline + + + + + Write a float with newline + + + + + Write newline + + + + + The EventPumpState enum represents the state of an + EventPump. + + + + + The pump is stopped + + + + + The pump is pumping events with no stop requested + + + + + The pump is pumping events but a stop has been requested + + + + + EventPump pulls events out of an EventQueue and sends + them to a listener. It is used to send events back to + the client without using the CallContext of the test + runner thread. + + + + + The downstream listener to which we send events + + + + + The queue that holds our events + + + + + Thread to do the pumping + + + + + The current state of the event pump + + + + + Constructor + + The EventListener to receive events + The event queue to pull events from + + + + Gets or sets the current state of the pump + + + + + Gets or sets the name of this EventPump + (used only internally and for testing). + + + + + Dispose stops the pump + Disposes the used WaitHandle, too. + + + + + Start the pump + + + + + Tell the pump to stop after emptying the queue. + + + + + Our thread proc for removing items from the event + queue and sending them on. Note that this would + need to do more locking if any other thread were + removing events from the queue. + + + + + NUnit.Core.Event is the abstract base for all stored events. + An Event is the stored representation of a call to the + ITestListener interface and is used to record such calls + or to queue them for forwarding on another thread or at + a later time. + + + + + The Send method is implemented by derived classes to send the event to the specified listener. + + The listener. + + + + TestStartedEvent holds information needed to call the TestStarted method. + + + + + Initializes a new instance of the class. + + The test. + + + + Calls TestStarted on the specified listener. + + The listener. + + + + TestFinishedEvent holds information needed to call the TestFinished method. + + + + + Initializes a new instance of the class. + + The result. + + + + Calls TestFinished on the specified listener. + + The listener. + + + + TestOutputEvent holds information needed to call the TestOutput method. + + + + + Initializes a new instance of the class. + + The output object. + + + + Calls TestOutput on the specified listener. + + The listener. + + + + TestMessageEvent holds information needed to call the SendMessage method. + + + + + Initializes a new instance of the class. + + The test message object. + + + + Calls on the specified listener. + + The listener. + + + + Holds object for sending to all listeners + + + + + Implements a queue of work items each of which + is queued as a WaitCallback. + + + + + Gets the count of items in the queue. + + + + + Enqueues the specified event + + The event to enqueue. + + + + Removes the first element from the queue and returns it (or ). + + + If and the queue is empty, the calling thread is blocked until + either an element is enqueued, or is called. + + + + + If the queue not empty + the first element. + + + otherwise, if == + or has been called + . + + + + + + + Stop processing of the queue + + + + + Validates method to execute. + + + + + Determines whether a method is allowed to execute and throws an exception otherwise. + + The method to validate. + + + + An IWorkItemDispatcher handles execution of work items. + + + + + The level of parallelism supported. Zero if not supported. + + + + + Start execution, performing any initialization. Sets + the top level work item and dispatches it. + + + + + Dispatch a single work item for execution. The first + work item dispatched is saved as the top-level + work item and used when stopping the run. + + The item to dispatch + + + + Cancel the ongoing run completely. + If no run is in process, the call has no effect. + + true if the IWorkItemDispatcher should abort all currently running WorkItems, false if it should allow all currently running WorkItems to complete + + + + MainThreadWorkItemDispatcher handles execution of WorkItems by + directly executing them on the main thread. This is different + from the SimpleWorkItemDispatcher where the work item is dispatched + onto its own thread. + + + + + The level of parallelism supported + + + + + Start execution, dispatching the top level + work into the main thread. + + + + + Dispatch a single work item for execution by + executing it directly. + + The item to dispatch + + + + This method is not supported for + this dispatcher. Using it will throw a + NotSupportedException. + + Not used + If used, it will always throw this. + + + + Enumeration representing the strategy to follow in executing a work item. + The value is only relevant when running under the parallel dispatcher. + + + + + Run directly on same thread + + + + + Enqueue for parallel execution + + + + + Enqueue for non-parallel execution + + + + + ParallelWorkItemDispatcher handles execution of work items by + queuing them for worker threads to process. + + + + + Event raised whenever a shift is starting. + + + + + Event raised whenever a shift has ended. + + + + + Construct a ParallelWorkItemDispatcher + + Number of workers to use + + + + Number of parallel worker threads + + + + + Enumerates all the shifts supported by the dispatcher + + + + + Enumerates all the Queues supported by the dispatcher + + + + + Start execution, setting the top level work, + enqueuing it and starting a shift to execute it. + + + + + Dispatch a single work item for execution. The first + work item dispatched is saved as the top-level + work item and used when stopping the run. + + The item to dispatch + + + + Cancel the ongoing run completely. + If no run is in process, the call has no effect. + + + + + Save the state of the queues and create a new isolated set + + + + + Try to remove isolated queues and restore old ones + + + + + QueuingEventListener uses an EventQueue to store any + events received on its EventListener interface. + + + + + The EventQueue created and filled by this listener + + + + + Construct a QueuingEventListener + + + + + A test has started + + The test that is starting + + + + A test case finished + + Result of the test case + + + + Called when a test produces output for immediate display + + A TestOutput object containing the text to display + + + + Called when a test produces a message to be sent to listeners + + A object containing the text to send + + + + A SimpleWorkItem represents a single test case and is + marked as completed immediately upon execution. This + class is also used for skipped or ignored test suites. + + + + + Construct a simple work item for a test. + + The test to be executed + The filter used to select this test + + + + Construct a simple work item for a test. + + The test to be executed + The filter used to select this test + An instance + + + + Method that performs actually performs the work. + + + + + Creates a test command for use in running this test. + + A TestCommand + + + + SimpleWorkItemDispatcher handles execution of WorkItems by + directly executing them. It is provided so that a dispatcher + is always available in the context, thereby simplifying the + code needed to run child tests. + + + + + The level of parallelism supported + + + + + Start execution, creating the execution thread, + setting the top level work and dispatching it. + + + + + Dispatch a single work item for execution by + executing it directly. + + The item to dispatch + + + + Cancel (abort or stop) the ongoing run. + If no run is in process, the call has no effect. + + true if the run should be aborted, false if it should allow its currently running test to complete + + + + Checks whether the method to execute is static. + + + + + Construct a StaticMethodValidator. + + The error message to output in case the validation fails. + + + + Determines whether a method to execute is static and throws an InvalidOperationException otherwise. + + The method to validate. + + + + A TestWorker pulls work items from a queue + and executes them. + + + + + Event handler for TestWorker events + + The TestWorker sending the event + The WorkItem that caused the event + + + + Event signaled immediately before executing a WorkItem + + + + + Event signaled immediately after executing a WorkItem + + + + + Construct a new TestWorker. + + The queue from which to pull work items + The name of this worker + + + + The WorkItemQueue from which this worker pulls WorkItems + + + + + The name of this worker - also used for the thread + + + + + Indicates whether the worker thread is running + + + + + Our ThreadProc, which pulls and runs tests in a loop + + + + + Create thread and start processing work items. + + + + + Stop the thread, either immediately or after finishing the current WorkItem + + true if the thread should be aborted, false if it should allow the currently running test to complete + + + + The TextCapture class intercepts console output and writes it + to the current execution context, if one is present on the thread. + If no execution context is found, the output is written to a + default destination, normally the original destination of the + intercepted output. + + + + + Construct a TextCapture object + + The default destination for non-intercepted output + + + + Gets the Encoding in use by this TextWriter + + + + + Writes a single character + + The char to write + + + + Writes a string + + The string to write + + + + Writes a string followed by a line terminator + + The string to write + + + + A WorkItem may be an individual test case, a fixture or + a higher level grouping of tests. All WorkItems inherit + from the abstract WorkItem class, which uses the template + pattern to allow derived classes to perform work in + whatever way is needed. + + A WorkItem is created with a particular TestExecutionContext + and is responsible for re-establishing that context in the + current thread before it begins or resumes execution. + + + + + Construct a WorkItem for a particular test. + + The test that the WorkItem will run + Filter used to include or exclude child items + + + + Construct a work Item that wraps another work Item. + Wrapper items are used to represent independently + dispatched tasks, which form part of the execution + of a single test, such as OneTimeTearDown. + + The WorkItem being wrapped + + + + Initialize the TestExecutionContext. This must be done + before executing the WorkItem. + + + Originally, the context was provided in the constructor + but delaying initialization of the context until the item + is about to be dispatched allows changes in the parent + context during OneTimeSetUp to be reflected in the child. + + The TestExecutionContext to use + + + + Event triggered when the item is complete + + + + + Gets the current state of the WorkItem + + + + + The test being executed by the work item + + + + + The name of the work item - defaults to the Test name. + + + + + Filter used to include or exclude child tests + + + + + The execution context + + + + + The worker executing this item. + + + + + The ParallelExecutionStrategy to use for this work item + + + + + Indicates whether this work item should use a separate dispatcher. + + + + + The test result + + + + + Gets the ParallelScope associated with the test, if any, + otherwise returning ParallelScope.Default; + + + + + Execute the current work item, including any + child work items. + + + + + Wait until the execution of this item is complete + + + + + Marks the WorkItem as NotRunnable. + + Reason for test being NotRunnable. + + + + Cancel (abort or stop) a WorkItem + + true if the WorkItem should be aborted, false if it should run to completion + + + + Standard Dispose + + + + + Method that performs actually performs the work. It should + set the State to WorkItemState.Complete when done. + + + + + Method called by the derived class when all work is complete + + + + + Builds the set up tear down list. + + Unsorted array of setup MethodInfos. + Unsorted array of teardown MethodInfos. + Method validator used before each method execution. + A list of SetUpTearDownItems + + + + Changes the result of the test, logging the old and new states + + The new ResultState + The new message + + + + Recursively walks up the test hierarchy to see if the + has been set on any of the parent tests. + + + + + WorkItemBuilder class knows how to build a tree of work items from a tree of tests + + + + + Creates a work item. + + The test for which this WorkItem is being created. + The filter to be used in selecting any child Tests. + True if child work items should be created and added. + + + + + Creates a work item. + + The test for which this WorkItem is being created. + The filter to be used in selecting any child Tests. + An instance. + True if child work items should be created and added. + if work item needs to be created unconditionally, if will be returned for tests that don't match the filter. + + + + + Compares two objects and returns a value indicating whether one is less than, equal to, or greater than the other. + + + A signed integer that indicates the relative values of and , as shown in the following table.Value Meaning Less than zero is less than .Zero equals .Greater than zero is greater than . + + The first object to compare.The second object to compare. + + + + WorkItemQueueState indicates the current state of a WorkItemQueue + + + + + The queue is paused + + + + + The queue is running + + + + + The queue is stopped + + + + + A WorkItemQueue holds work items that are ready to + be run, either initially or after some dependency + has been satisfied. + + + + + Initializes a new instance of the class. + + The name of the queue. + Flag indicating whether this is a parallel queue + ApartmentState to use for items on this queue + + + + Gets the name of the work item queue. + + + + + Gets a flag indicating whether this queue is used for parallel execution + + + + + Gets the target ApartmentState for work items on this queue + + + + + Gets the total number of items processed so far + + + + + Gets the current state of the queue + + + + + Get a bool indicating whether the queue is empty. + + + + + Enqueue a WorkItem to be processed + + The WorkItem to process + + + + Enqueue a WorkItem to be processed - internal for testing + + The WorkItem to process + The priority at which to process the item + + + + Dequeue a WorkItem for processing + + A WorkItem or null if the queue has stopped + + + + Start or restart processing of items from the queue + + + + + Signal the queue to stop + + + + + Pause the queue for restarting later + + + + + Save the current inner queue and create new ones for use by + a non-parallel fixture with parallel children. + + + + + Restore the inner queue that was previously saved + + + + + The current state of a work item + + + + + Ready to run or continue + + + + + Work Item is executing + + + + + Complete + + + + + Handler for ShiftChange events. + + The shift that is starting or ending. + + + + The dispatcher needs to do different things at different, + non-overlapped times. For example, non-parallel tests may + not be run at the same time as parallel tests. We model + this using the metaphor of a working shift. The WorkShift + class associates one or more WorkItemQueues with one or + more TestWorkers. + + Work in the queues is processed until all queues are empty + and all workers are idle. Both tests are needed because a + worker that is busy may end up adding more work to one of + the queues. At that point, the shift is over and another + shift may begin. This cycle continues until all the tests + have been run. + + + + + Construct a WorkShift + + + + + Event that fires when the shift has ended + + + + + The Name of this shift + + + + + Gets a flag indicating whether the shift is currently active + + + + + Gets a bool indicating whether this shift has any work to do + + + + + Gets a list of the queues associated with this shift. + + Internal for testing - immutable once initialized + + + + Gets the list of workers associated with this shift. + + Internal for testing - immutable once initialized + + + + Add a WorkItemQueue to the shift, starting it if the + shift is currently active. + + + + + Assign a worker to the shift. + + + + + + Start or restart processing for the shift + + + + + End the shift, pausing all queues and raising + the EndOfShift event. + + + + + Shut down the shift. + + + + + Cancel (abort or stop) the shift without completing all work + + true if the WorkShift should be aborted, false if it should allow its currently running tests to complete + + + + TextMessageWriter writes constraint descriptions and messages + in displayable form as a text stream. It tailors the display + of individual message components to form the standard message + format of NUnit assertion failure messages. + + + + + Prefix used for the expected value line of a message + + + + + Prefix used for the actual value line of a message + + + + + Prefix used for the actual difference between actual and expected values if compared with a tolerance + + + + + Length of a message prefix + + + + + Construct a TextMessageWriter + + + + + Construct a TextMessageWriter, specifying a user message + and optional formatting arguments. + + + + + + + Gets or sets the maximum line length for this writer + + + + + Method to write single line message with optional args, usually + written to precede the general failure message, at a given + indentation level. + + The indentation level of the message + The message to be written + Any arguments used in formatting the message + + + + Display Expected and Actual lines for a constraint. This + is called by MessageWriter's default implementation of + WriteMessageTo and provides the generic two-line display. + + The result of the constraint that failed + + + + Gets the unique type name between expected and actual. + + The expected value + The actual value causing the failure + Output of the unique type name for expected + Output of the unique type name for actual + + + + Display Expected and Actual lines for given values. This + method may be called by constraints that need more control over + the display of actual and expected values than is provided + by the default implementation. + + The expected value + The actual value causing the failure + + + + Display Expected and Actual lines for given values, including + a tolerance value on the expected line. + + The expected value + The actual value causing the failure + The tolerance within which the test was made + + + + Display the expected and actual string values on separate lines. + If the mismatch parameter is >=0, an additional line is displayed + line containing a caret that points to the mismatch point. + + The expected string value + The actual string value + The point at which the strings don't match or -1 + If true, case is ignored in string comparisons + If true, clip the strings to fit the max line length + + + + Writes the text for an actual value. + + The actual value. + + + + Writes the text for a generalized value. + + The value. + + + + Writes the text for a collection value, + starting at a particular point, to a max length + + The collection containing elements to write. + The starting point of the elements to write + The maximum number of elements to write + + + + Write the generic 'Expected' line for a constraint + + The constraint that failed + + + + Write the generic 'Expected' line for a given value + and tolerance. + + The expected value + The tolerance within which the test was made + + + + Write the generic 'Actual' line for a constraint + + The ConstraintResult for which the actual value is to be written + + + + Write the generic 'Actual' line for a given value + + The actual value causing a failure + + + + Extensions to . + + + + + Adds the skip reason to tests that are ignored until a specific date. + + The test properties to add the skip reason to + The date that the test is being ignored until + The reason the test is being ignored until that date + + + + Combines multiple filters so that a test must pass all + of them in order to pass this filter. + + + + + Constructs an empty AndFilter + + + + + Constructs an AndFilter from an array of filters + + + + + + Checks whether the AndFilter is matched by a test + + The test to be matched + If set to we are carrying a negation through + True if all the component filters pass, otherwise false + + + + Checks whether the AndFilter is matched by a test + + The test to be matched + True if all the component filters match, otherwise false + + + + Checks whether the AndFilter is explicit matched by a test. + + The test to be matched + True if all the component filters explicit match, otherwise false + + + + Gets the element name + + Element name + + + + CategoryFilter is able to select or exclude tests + based on their categories. + + + + + Construct a CategoryFilter using a single category name + + A category name + + + + Check whether the filter matches a test + + The test to be matched + + + + + Gets the element name + + Element name + + + + ClassName filter selects tests based on the class FullName + + + + + Construct a FullNameFilter for a single name + + The name the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + A base class for multi-part filters + + + + + Constructs an empty CompositeFilter + + + + + Constructs a CompositeFilter from an array of filters + + + + + + Return a list of the composing filters. + + + + + Checks whether the CompositeFilter is matched by a test. + + The test to be matched + If set to we are carrying a negation through + + + + Checks whether the CompositeFilter is matched by a test. + + The test to be matched + + + + Checks whether the CompositeFilter is explicit matched by a test. + + The test to be matched + + + + Adds an XML node + + Parent node + True if recursive + The added XML node + + + + Gets the element name + + Element name + + + + FullName filter selects tests based on their FullName + + + + + Construct a FullNameFilter for a single name + + The name the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + IdFilter selects tests based on their id + + + + + Construct an IdFilter for a single value + + The id the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + FullName filter selects tests based on their FullName + + + + + Construct a MethodNameFilter for a single name + + The name the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + ClassName filter selects tests based on the class FullName + + + + + Construct a NamespaceFilter for a single namespace + + The namespace the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + NotFilter negates the operation of another filter + + + + + Construct a not filter on another filter + + The filter to be negated + + + + Gets the base filter + + + + + Determine if a particular test passes the filter criteria. + + The test to which the filter is applied + If set to we are carrying a negation through + True if the test passes the filter, otherwise false + + + + Check whether the filter matches a test + + The test to be matched + True if it matches, otherwise false + + + + Determine if a test matches the filter explicitly. That is, it must + be a direct match of the test itself or one of its children. + + The test to which the filter is applied + True if the test matches the filter explicitly, otherwise false + + + + Adds an XML node + + Parent node + True if recursive + The added XML node + + + + Combines multiple filters so that a test must pass one + of them in order to pass this filter. + + + + + Constructs an empty OrFilter + + + + + Constructs an OrFilter from an array of filters + + + + + + Checks whether the OrFilter is matched by a test + + The test to be matched + If set to we are carrying a negation through + True if any of the component filters pass, otherwise false + + + + Checks whether the OrFilter is matched by a test + + The test to be matched + True if any of the component filters match, otherwise false + + + + Checks whether the OrFilter is explicit matched by a test + + The test to be matched + True if any of the component filters explicit match, otherwise false + + + + Gets the element name + + Element name + + + + PropertyFilter is able to select or exclude tests + based on their properties. + + + + + Construct a PropertyFilter using a property name and expected value + + A property name + The expected value of the property + + + + Check whether the filter matches a test + + The test to be matched + + + + + Adds an XML node + + Parent node + True if recursive + The added XML node + + + + Gets the element name + + Element name + + + + TestName filter selects tests based on their Name + + + + + Construct a TestNameFilter for a single name + + The name the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + ValueMatchFilter selects tests based on some value, which + is expected to be contained in the test. + + + + + Returns the value matched by the filter - used for testing + + + + + Indicates whether the value is a regular expression + + + + + Construct a ValueMatchFilter for a single value. + + The value to be included. + + + + Match the input provided by the derived class + + The value to be matched + True for a match, false otherwise. + + + + Adds an XML node + + Parent node + True if recursive + The added XML node + + + + Gets the element name + + Element name + + + + GenericMethodHelper is able to deduce the Type arguments for + a generic method from the actual arguments provided. + + + + + A special value, which is used to indicate that BestCommonType() method + was unable to find a common type for the specified arguments. + + + + + Construct a GenericMethodHelper for a method + + MethodInfo for the method to examine + + + + Return the type arguments for the method, deducing them + from the arguments actually provided. + + The arguments to the method + If successful, an array of type arguments. + + + + A minimalistic implementation of an immutable stack. Add members as needed. + + + + + Represents an empty stack. may be used instead. + + + + + Returns a new immutable stack which begins with the specified value and continues with the values in the + current stack. + + The beginning value of the new stack. + + + + InvalidTestFixtureException is thrown when an appropriate test + fixture constructor using the provided arguments cannot be found. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner. + + + + Serialization Constructor + + + + + InvalidPlatformException is thrown when the platform name supplied + to a test is not recognized. + + + + + Instantiates a new instance of the class. + + + + + Instantiates a new instance of the class + + The message. + + + + Instantiates a new instance of the class + + The message. + The inner. + + + + Serialization constructor for the class + + + + + InvalidTestFixtureException is thrown when an appropriate test + fixture constructor using the provided arguments cannot be found. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner. + + + + Serialization Constructor + + + + + Interface for logging within the engine + + + + + Logs the specified message at the error level. + + The message. + + + + Logs the specified message at the error level. + + The message. + The arguments. + + + + Logs the specified message at the warning level. + + The message. + + + + Logs the specified message at the warning level. + + The message. + The arguments. + + + + Logs the specified message at the info level. + + The message. + + + + Logs the specified message at the info level. + + The message. + The arguments. + + + + Logs the specified message at the debug level. + + The message. + + + + Logs the specified message at the debug level. + + The message. + The arguments. + + + + InternalTrace provides facilities for tracing the execution + of the NUnit framework. Tests and classes under test may make use + of Console writes, System.Diagnostics.Trace or various loggers and + NUnit itself traps and processes each of them. For that reason, a + separate internal trace is needed. + + Note: + InternalTrace uses a global lock to allow multiple threads to write + trace messages. This can easily make it a bottleneck so it must be + used sparingly. Keep the trace Level as low as possible and only + insert InternalTrace writes where they are needed. + TODO: add some buffering and a separate writer thread as an option. + TODO: figure out a way to turn on trace in specific classes only. + + + + + Gets a flag indicating whether the InternalTrace is initialized + + + + + Initialize the internal trace facility using the name of the log + to be written to and the trace level. + + The log name + The trace level + + + + Initialize the internal trace using a provided TextWriter and level + + A TextWriter + The InternalTraceLevel + + + + Get a named Logger + + + + + + Get a logger named for a particular Type. + + + + + InternalTraceLevel is an enumeration controlling the + level of detailed presented in the internal log. + + + + + Use the default settings as specified by the user. + + + + + Do not display any trace messages + + + + + Display Error messages only + + + + + Display Warning level and higher messages + + + + + Display informational and higher messages + + + + + Display debug messages and higher - i.e. all messages + + + + + Display debug messages and higher - i.e. all messages + + + + + A trace listener that writes to a separate file per domain + and process using it. + + + + + Construct an InternalTraceWriter that writes to a file. + + Path to the file to use + + + + Construct an InternalTraceWriter that writes to a + TextWriter provided by the caller. + + + + + + Returns the character encoding in which the output is written. + + The character encoding in which the output is written. + + + + Writes a character to the text string or stream. + + The character to write to the text stream. + + + + Writes a string to the text string or stream. + + The string to write. + + + + Writes a string followed by a line terminator to the text string or stream. + + The string to write. If is null, only the line terminator is written. + + + + Releases the unmanaged resources used by the and optionally releases the managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Clears all buffers for the current writer and causes any buffered data to be written to the underlying device. + + + + + Provides internal logging to the NUnit framework + + + + + Initializes a new instance of the class. + + The name. + The log level. + The writer where logs are sent. + + + + Logs the message at error level. + + The message. + + + + Logs the message at error level. + + The message. + The message arguments. + + + + Logs the message at warm level. + + The message. + + + + Logs the message at warning level. + + The message. + The message arguments. + + + + Logs the message at info level. + + The message. + + + + Logs the message at info level. + + The message. + The message arguments. + + + + Logs the message at debug level. + + The message. + + + + Logs the message at debug level. + + The message. + The message arguments. + + + + The MethodWrapper class wraps a MethodInfo so that it may + be used in a platform-independent manner. + + + + + Construct a MethodWrapper for a Type and a MethodInfo. + + + + + Construct a MethodInfo for a given Type and method name. + + + + + Gets the Type from which this method was reflected. + + + + + Gets the MethodInfo for this method. + + + + + Gets the name of the method. + + + + + Gets a value indicating whether the method is abstract. + + + + + Gets a value indicating whether the method is public. + + + + + Gets a value indicating whether the method is static. + + + + + Gets a value indicating whether the method contains unassigned generic type parameters. + + + + + Gets a value indicating whether the method is a generic method. + + + + + Gets a value indicating whether the MethodInfo represents the definition of a generic method. + + + + + Gets the return Type of the method. + + + + + Gets the parameters of the method. + + + + + + Returns the Type arguments of a generic method or the Type parameters of a generic method definition. + + + + + Replaces the type parameters of the method with the array of types provided and returns a new IMethodInfo. + + The type arguments to be used + A new IMethodInfo with the type arguments replaced + + + + Returns an array of custom attributes of the specified type applied to this method + + + + + Gets a value indicating whether one or more attributes of the specified type are defined on the method. + + + + + Invokes the method, converting any TargetInvocationException to an NUnitException. + + The object on which to invoke the method + The argument list for the method + The return value from the invoked method + + + + Override ToString() so that error messages in NUnit's own tests make sense + + + + + This class ensures the is correctly cleared + or restored around framework actions. This is important if running multiple assemblies within the same + process, to ensure no leakage from one assembly to the next. See https://github.com/nunit/nunit-console/issues/325 + + + + + Thrown when an assertion failed. Here to preserve the inner + exception and hence its stack trace. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The error message that explains + the reason for the exception + + + + Initializes a new instance of the class. + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + Serialization Constructor + + + + + Enables the syntax. + + + + + Wraps an action so that it is executed when the returned object is disposed. + This disposal is thread-safe and the action will be executed at most once. + + + + + OSPlatform represents a particular operating system platform + + + + + Platform ID for Unix as defined by .NET + + + + + Platform ID for Unix as defined by Mono + + + + + Platform ID for XBox as defined by .NET and Mono + + + + + Platform ID for MacOSX as defined by .NET and Mono + + + + + Get the OSPlatform under which we are currently running + + + + + Gets the actual OS Version, not the incorrect value that might be + returned for Win 8.1 and Win 10 + + + If an application is not manifested as Windows 8.1 or Windows 10, + the version returned from Environment.OSVersion will not be 6.3 and 10.0 + respectively, but will be 6.2 and 6.3. The correct value can be found in + the registry. + + The original version + The correct OS version + + + + Product Type Enumeration used for Windows + + + + + Product type is unknown or unspecified + + + + + Product type is Workstation + + + + + Product type is Domain Controller + + + + + Product type is Server + + + + + Construct from a platform ID and version + + + + + Construct from a platform ID, version and product type + + + + + Get the platform ID of this instance + + + + + Implemented to use in place of Environment.OSVersion.ToString() + + A representation of the platform ID and version in an approximation of the format used by Environment.OSVersion.ToString() + + + + Get the Version of this instance + + + + + Get the Product Type of this instance + + + + + Return true if this is a windows platform + + + + + Return true if this is a Unix or Linux platform + + + + + Return true if the platform is Win32S + + + + + Return true if the platform is Win32Windows + + + + + Return true if the platform is Win32NT + + + + + Return true if the platform is Windows CE + + + + + Return true if the platform is Xbox + + + + + Return true if the platform is MacOSX + + + + + Return true if the platform is Windows 95 + + + + + Return true if the platform is Windows 98 + + + + + Return true if the platform is Windows ME + + + + + Return true if the platform is NT 3 + + + + + Return true if the platform is NT 4 + + + + + Return true if the platform is NT 5 + + + + + Return true if the platform is Windows 2000 + + + + + Return true if the platform is Windows XP + + + + + Return true if the platform is Windows 2003 Server + + + + + Return true if the platform is NT 6 + + + + + Return true if the platform is NT 6.0 + + + + + Return true if the platform is NT 6.1 + + + + + Return true if the platform is NT 6.2 + + + + + Return true if the platform is NT 6.3 + + + + + Return true if the platform is Vista + + + + + Return true if the platform is Windows 2008 Server (original or R2) + + + + + Return true if the platform is Windows 2008 Server (original) + + + + + Return true if the platform is Windows 2008 Server R2 + + + + + Return true if the platform is Windows 2012 Server (original or R2) + + + + + Return true if the platform is Windows 2012 Server (original) + + + + + Return true if the platform is Windows 2012 Server R2 + + + + + Return true if the platform is Windows 7 + + + + + Return true if the platform is Windows 8 + + + + + Return true if the platform is Windows 8.1 + + + + + Return true if the platform is Windows 10 + + + + + Return true if the platform is Windows Server. This is named Windows + Server 10 to distinguish it from previous versions of Windows Server. + + + + + + Examines an attribute argument and tries to simulate what that value would have been if the literal syntax + which might have defined the value in C# had instead been used as an argument to a given method parameter in a direct call. + + + For example, since you can’t apply attributes using arguments, we allow the C# syntax + 10 ( value) or 0.1 ( value) to be specified. + NUnit then converts it to match the method’s parameters, just as if you were actually + using the syntax TestMethod(10) or TestMethod(0.1). + + + For another example, you might have written the syntax 10 and picked up the attribute + constructor overload; however, the test method for which this value is intended only has a + signature. Again, NUnit simulates what would have happened if the inferred C# syntax was transplanted + and you were actually using the syntax TestMethod(10). + + + + + + Converts an array of objects to the , if it is supported. + + + + + Converts a single value to the , if it is supported. + + + + + Performs several special conversions allowed by NUnit in order to + permit arguments with types that cannot be used in the constructor + of an Attribute such as TestCaseAttribute or to simplify their use. + + The value to be converted + The target in which the should be converted + If conversion was successfully applied, the converted into + + if was converted and should be used; + is no conversion was applied and should be ignored + + + + + The ParameterWrapper class wraps a ParameterInfo so that it may + be used in a platform-independent manner. + + + + + Construct a ParameterWrapper for a given method and parameter + + + + + + + Gets a value indicating whether the parameter is optional + + + + + Gets an IMethodInfo representing the method for which this is a parameter. + + + + + Gets the underlying ParameterInfo + + + + + Gets the Type of the parameter + + + + + Returns an array of custom attributes of the specified type applied to this method + + + + + Gets a value indicating whether one or more attributes of the specified type are defined on the parameter. + + + + + PlatformHelper class is used by the PlatformAttribute class to + determine whether a platform is supported. + + + + + Comma-delimited list of all supported OS platform constants + + + + + Comma-delimited list of all supported Runtime platform constants + + + + + Default constructor uses the operating system and + common language runtime of the system. + + + + + Construct a PlatformHelper for a particular operating + system and common language runtime. Used in testing. + + RuntimeFramework to be used + OperatingSystem to be used + + + + Test to determine if one of a collection of platforms + is being used currently. + + + + + + + Tests to determine if the current platform is supported + based on a platform attribute. + + The attribute to examine + + + + + Tests to determine if the current platform is supported + based on a platform attribute. + + The attribute to examine + + + + + Test to determine if a particular platform or comma-delimited set of platforms is in use. + + Name of the platform or comma-separated list of platform ids + True if the platform is in use on the system + + + + Return the last failure reason. Results are not + defined if called before IsSupported( Attribute ) + is called. + + + + + Implements a simplified filter for use in deciding which + Types and Methods should be used to generate tests. It is constructed with a + list of strings, each of which may end up being interpreted in various ways. + + + + + Return a new PreFilter, without elements, which is considered + empty and always matches. + + + + + Return true if the filter is empty, in which case it + always succeeds. Technically, this is just a filter and + you can add elements but it's best to use Empty when + you need an empty filter and new when you plan to add. + + + + + Add a new filter element to the filter + + + + + + Use the filter on a Type, returning true if the type matches the filter + and should therefore be included in the discovery process. + + + + + Use the filter on a Type, returning true if the type matches the filter + and should therefore be included in the discovery process. + + + + + A PropertyBag represents a collection of name value pairs + that allows duplicate entries with the same key. Methods + are provided for adding a new pair as well as for setting + a key to a single value. All keys are strings but values + may be of any type. Null values are not permitted, since + a null entry represents the absence of the key. + + + + + Adds a key/value pair to the property set + + The key + The value + + + + Sets the value for a key, removing any other + values that are already in the property set. + + + + + + + Gets a single value for a key, using the first + one if multiple values are present and returning + null if the value is not found. + + + + + + + Gets a flag indicating whether the specified key has + any entries in the property set. + + The key to be checked + + True if their are values present, otherwise false + + + + + Gets a collection containing all the keys in the property set + + + + + + Gets or sets the list of values for a particular key + + + + + Returns an XmlNode representing the current PropertyBag. + + Not used + An XmlNode representing the PropertyBag + + + + Returns an XmlNode representing the PropertyBag after + adding it as a child of the supplied parent node. + + The parent node. + Not used + + + + + The PropertyNames class provides static constants for the + standard property ids that NUnit uses on tests. + + + + + The FriendlyName of the AppDomain in which the assembly is running + + + + + The selected strategy for joining parameter data into test cases + + + + + The process ID of the executing assembly + + + + + The stack trace from any data provider that threw + an exception. + + + + + The reason a test was not run + + + + + The author of the tests + + + + + The ApartmentState required for running the test + + + + + The categories applying to a test + + + + + The Description of a test + + + + + The number of threads to be used in running tests + + + + + The maximum time in ms, above which the test is considered to have failed + + + + + The ParallelScope associated with a test + + + + + The number of times the test should be repeated + + + + + Indicates that the test should be run on a separate thread + + + + + The culture to be set for a test + + + + + The UI culture to be set for a test + + + + + The type that is under test + + + + + The timeout value for the test + + + + + The test will be ignored until the given date + + + + + The optional Order the test will run in + + + + + Randomizer returns a set of random values in a repeatable + way, to allow re-running of tests if necessary. It extends + the .NET Random class, providing random values for a much + wider range of types. + + The class is used internally by the framework to generate + test case data and is also exposed for use by users through + the TestContext.Random property. + + + For consistency with the underlying Random Type, methods + returning a single value use the prefix "Next..." Those + without an argument return a non-negative value up to + the full positive range of the Type. Overloads are provided + for specifying a maximum or a range. Methods that return + arrays or strings use the prefix "Get..." to avoid + confusion with the single-value methods. + + + + + Initial seed used to create randomizers for this run + + + + + Get a Randomizer for a particular member, returning + one that has already been created if it exists. + This ensures that the same values are generated + each time the tests are reloaded. + + + + + Get a randomizer for a particular parameter, returning + one that has already been created if it exists. + This ensures that the same values are generated + each time the tests are reloaded. + + + + + Create a new Randomizer using the next seed + available to ensure that each randomizer gives + a unique sequence of values. + + + + + + Default constructor + + + + + Construct based on seed value + + + + + + Returns a random unsigned int. + + + + + Returns a random unsigned int less than the specified maximum. + + + + + Returns a random unsigned int within a specified range. + + + + + Returns a non-negative random short. + + + + + Returns a non-negative random short less than the specified maximum. + + + + + Returns a non-negative random short within a specified range. + + + + + Returns a random unsigned short. + + + + + Returns a random unsigned short less than the specified maximum. + + + + + Returns a random unsigned short within a specified range. + + + + + Returns a random long. + + + + + Returns a random long less than the specified maximum. + + + + + Returns a non-negative random long within a specified range. + + + + + Returns a random ulong. + + + + + Returns a random ulong less than the specified maximum. + + + + + Returns a non-negative random long within a specified range. + + + + + Returns a random Byte + + + + + Returns a random Byte less than the specified maximum. + + + + + Returns a random Byte within a specified range + + + + + Returns a random SByte + + + + + Returns a random sbyte less than the specified maximum. + + + + + Returns a random sbyte within a specified range + + + + + Returns a random bool + + + + + Returns a random bool based on the probability a true result + + + + + Returns a random double between 0.0 and the specified maximum. + + + + + Returns a random double within a specified range. + + + + + Returns a random float. + + + + + Returns a random float between 0.0 and the specified maximum. + + + + + Returns a random float within a specified range. + + + + + Returns a random enum value of the specified Type as an object. + + + + + Returns a random enum value of the specified Type. + + + + + Default characters for random functions. + + Default characters are the English alphabet (uppercase & lowercase), Arabic numerals, and underscore + + + + Generate a random string based on the characters from the input string. + + desired length of output string. + string representing the set of characters from which to construct the resulting string + A random string of arbitrary length + + + + Generate a random string based on the characters from the input string. + + desired length of output string. + A random string of arbitrary length + Uses DefaultStringChars as the input character set + + + + Generate a random string based on the characters from the input string. + + A random string of the default length + Uses DefaultStringChars as the input character set + + + + Returns a random decimal. + + + + + Returns a random decimal between positive zero and the specified maximum. + + + + + Returns a random decimal within a specified range, which is not + permitted to exceed decimal.MaxVal in the current implementation. + + + A limitation of this implementation is that the range from min + to max must not exceed decimal.MaxVal. + + + + + Generates a valid version 4 . + + + + + Helper methods for inspecting a type by reflection. + + Many of these methods take ICustomAttributeProvider as an + argument to avoid duplication, even though certain attributes can + only appear on specific types of members, like MethodInfo or Type. + + In the case where a type is being examined for the presence of + an attribute, interface or named member, the Reflect methods + operate with the full name of the member being sought. This + removes the necessity of the caller having a reference to the + assembly that defines the item being sought and allows the + NUnit core to inspect assemblies that reference an older + version of the NUnit framework. + + + + + Examine a fixture type and return true if it has a method with + a particular attribute. + + The type to examine + The attribute Type to look for + True if found, otherwise false + + + + Invoke the default constructor on a Type + + The Type to be constructed + An instance of the Type + + + + Invoke a constructor on a Type with arguments + + The Type to be constructed + Arguments to the constructor + An instance of the Type + + + + Returns an array of types from an array of objects. + Differs from by returning + for null elements rather than throwing . + + + + + Gets the constructors to which the specified argument types can be coerced. + + + + + Determines if the given types can be coerced to match the given parameters. + + + + + Determines whether the current type can be implicitly converted to the specified type. + + + + + Invoke a parameterless method returning void on an object. + + A MethodInfo for the method to be invoked + The object on which to invoke the method + + + + Invoke a method, converting any TargetInvocationException to an NUnitException. + + A MethodInfo for the method to be invoked + The object on which to invoke the method + The argument list for the method + The return value from the invoked method + + + + + Selects the ultimate shadowing property just like dynamic would, + rather than throwing + for properties that shadow properties of a different property type + which is what does. + + + If you request both public and nonpublic properties, every public property is preferred + over every nonpublic property. It would violate the principle of least surprise for a + derived class’s implementation detail to be chosen over the public API for a type. + + + See . + See . + See . + + + + Same as GetMethod(, | + , , , + ) except that it also chooses only non-generic methods. + Useful for avoiding the you can have with GetMethod. + + + + + Returns the get accessor for the indexer. + + Type to reflect on for the indexer. + List of indexer types that matches the indexer type order. + The Get accessor + + + + Represents the result of running a single test case. + + + + + Construct a TestCaseResult based on a TestMethod + + A TestMethod to which the result applies. + + + + Gets the number of test cases that failed + when running the test and all its children. + + + + + Gets the number of test cases that executed + when running the test and all its children. + + + + + Gets the number of test cases that had warnings + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + Indicates whether this result has any child results. + + + + + Gets the collection of child results. + + + + + The TestResult class represents the result of a test. + + + + + Error message for when child tests have errors + + + + + Error message for when child tests have warnings + + + + + Error message for when child tests are ignored + + + + + Error message for when user has cancelled the test run + + + + + The minimum duration for tests + + + + + Aggregate assertion count + + + + + ReaderWriterLock + + + + + Construct a test result given a Test + + The test to be used + + + + Gets the test with which this result is associated. + + + + + Gets the ResultState of the test result, which + indicates the success or failure of the test. + + + + + Gets the name of the test result + + + + + Gets the full name of the test result + + + + + Gets or sets the elapsed time for running the test in seconds + + + + + Gets or sets the time the test started running. + + + + + Gets or sets the time the test finished running. + + + + + Adds a test attachment to the test result + + The TestAttachment object to attach + + + + Gets the collection of files attached to the test + + + + + Gets the message associated with a test + failure or with not running the test + + + + + Gets any stack trace associated with an + error or failure. + + + + + Gets or sets the count of asserts executed + when running the test. + + + + + Gets the number of test cases executed + when running the test and all its children. + + + + + Gets the number of test cases that failed + when running the test and all its children. + + + + + Gets the number of test cases that had warnings + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + Indicates whether this result has any child results. + + + + + Gets the collection of child results. + + + + + Gets a TextWriter, which will write output to be included in the result. + + + + + Gets any text output written to this result. + + + + + Gets a list of assertion results associated with the test. + + + + + Returns the XML representation of the result. + + If true, descendant results are included + An XmlNode representing the result + + + + Adds the XML representation of the result as a child of the + supplied parent node.. + + The parent node. + If true, descendant results are included + + + + + Gets a count of pending failures (from Multiple Assert) + + + + + Gets the worst assertion status (highest enum) in all the assertion results + + + + + Set the result of the test + + The ResultState to use in the result + + + + Set the result of the test + + The ResultState to use in the result + A message associated with the result state + + + + Set the result of the test + + The ResultState to use in the result + A message associated with the result state + Stack trace giving the location of the command + + + + Set the test result based on the type of exception thrown + + The exception that was thrown + + + + Set the test result based on the type of exception thrown + + The exception that was thrown + The FailureSite to use in the result + + + + RecordTearDownException appends the message and stack trace + from an exception arising during teardown of the test + to any previously recorded information, so that any + earlier failure information is not lost. Note that + calling Assert.Ignore, Assert.Inconclusive, etc. during + teardown is treated as an error. If the current result + represents a suite, it may show a teardown error even + though all contained tests passed. + + The Exception to be recorded + + + + Update overall test result, including legacy Message, based + on AssertionResults that have been saved to this point. + + + + + Record an assertion result + + + + + Record an assertion result + + + + + Record an assertion result + + + + + Creates a failure message incorporating failures + from a Multiple Assert block for use by runners + that don't know about AssertionResults. + + Message as a string + + + + Adds a failure element to a node and returns it. + + The target node. + The new failure element. + + + + Adds an attachments element to a node and returns it. + + The target node. + The new attachments element. + + + + Represents the result of running a test suite + + + + + Construct a TestSuiteResult base on a TestSuite + + The TestSuite to which the result applies + + + + Gets the number of test cases that executed + when running the test and all its children. + + + + + Gets the number of test cases that failed + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + Indicates whether this result has any child results. + + + + + Gets the collection of child results. + + + + + Adds a child result to this result, setting this result's + ResultState to Failure if the child result failed. + + The result to be added + + + + RuntimeFramework represents a particular version + of a common language runtime implementation. + + + + + DefaultVersion is an empty Version, used to indicate that + NUnit should select the CLR version to use for the test. + + + + + Construct from a runtime type and version. If the version has + two parts, it is taken as a framework version. If it has three + or more, it is taken as a CLR version. In either case, the other + version is deduced based on the runtime type and provided version. + + The runtime type of the framework + The version of the framework + + + + Static method to return a RuntimeFramework object + for the framework that is currently in use. + + + + + The type of this runtime framework + + + + + The framework version for this runtime framework + + + + + The CLR version for this runtime framework + + + + + Return true if any CLR version may be used in + matching this RuntimeFramework object. + + + + + Returns the Display name for this framework + + + + + Parses a string representing a RuntimeFramework. + The string may be just a RuntimeType name or just + a Version or a hyphenated RuntimeType-Version or + a Version prefixed by 'versionString'. + + + + + + + Overridden to return the short name of the framework + + + + + + Returns true if the current framework matches the + one supplied as an argument. Two frameworks match + if their runtime types are the same or either one + is RuntimeType.Any and all specified version components + are equal. Negative (i.e. unspecified) version + components are ignored. + + The RuntimeFramework to be matched. + True on match, otherwise false + + + + Enumeration identifying a common language + runtime implementation. + + + + Any supported runtime framework + + + Microsoft .NET Framework + + + Microsoft .NET Framework + + + Microsoft Shared Source CLI + + + Mono + + + MonoTouch + + + Microsoft .NET Core, including .NET 5+ + + + + Holds thread state which is captured and restored in order to sandbox user code. + + + + + Thread principal. + This will be null on platforms that don't support . + + + + + Captures a snapshot of the tracked state of the current thread to be restored later. + + + + + Restores the tracked state of the current thread to the previously captured state. + + + + + Returns a copy with the specified culture. + + + + + Returns a copy with the specified UI culture. + + + + + Returns a copy with the specified principal. + + + + + May be called from any thread. + + + + + May be called from any thread. + + + + + May be called from any thread. + + + + + May be called from any thread, but may only be called once. + + + + + StackFilter class is used to remove internal NUnit + entries from a stack trace so that the resulting + trace provides better information about the test. + + + + + Single instance of our default filter + + + + + Construct a stack filter instance + + Regex pattern used to delete lines from the top of the stack + Regex pattern used to delete lines from the bottom of the stack + + + + Construct a stack filter instance + + Regex pattern used to delete lines from the top of the stack + + + + Construct a stack filter instance + + + + + Filters a raw stack trace and returns the result. + + The original stack trace + A filtered stack trace + + + + Provides methods to support legacy string comparison methods. + + + + + Compares two strings for equality, ignoring case if requested. + + The first string. + The second string.. + if set to , the case of the letters in the strings is ignored. + Zero if the strings are equivalent, a negative number if strA is sorted first, a positive number if + strB is sorted first + + + + Compares two strings for equality, ignoring case if requested. + + The first string. + The second string.. + if set to , the case of the letters in the strings is ignored. + True if the strings are equivalent, false if not. + + + + The TestCaseParameters class encapsulates method arguments and + other selected parameters needed for constructing + a parameterized test case. + + + + + The expected result to be returned + + + + + Default Constructor creates an empty parameter set + + + + + Construct a non-runnable ParameterSet, specifying + the provider exception that made it invalid. + + + + + Construct a parameter set with a list of arguments + + + + + + Construct a ParameterSet from an object implementing ITestCaseData + + + + + + The expected result of the test, which + must match the method return type. + + + + + Gets a value indicating whether an expected result was specified. + + + + + TestCaseTimeoutException is thrown when a test running directly + on a TestWorker thread is cancelled due to timeout. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner. + + + + Serialization Constructor + + + + + Helper class used to save and restore certain static or + singleton settings in the environment that affect tests + or which might be changed by the user tests. + + + + + Link to a prior saved context + + + + + Indicates that a stop has been requested + + + + + The event listener currently receiving notifications + + + + + The number of assertions for the current test + + + + + The current test result + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + An existing instance of TestExecutionContext. + + + + Gets and sets the current context. + + + + + Gets or sets the current test + + + + + The time the current test started execution + + + + + The time the current test started in Ticks + + + + + Gets the elapsed time for running the test in seconds + + + + + Gets or sets the current test result + + + + + Gets a TextWriter that will send output to the current test result. + + + + + The current test object - that is the user fixture + object on which tests are being executed. + + + + + Get or set indicator that run should stop on the first error + + + + + Gets an enum indicating whether a stop has been requested. + + + + + The current test event listener + + + + + The current WorkItemDispatcher. Made public for + use by nunitlite.tests + + + + + The ParallelScope to be used by tests running in this context. + For builds with out the parallel feature, it has no effect. + + + + + Default tolerance value used for floating point equality + when no other tolerance is specified. + + + + + The worker that spawned the context. + For builds without the parallel feature, it is null. + + + + + Gets the RandomGenerator specific to this Test + + + + + Gets the assert count. + + The assert count. + + + + The current nesting level of multiple assert blocks + + + + + Gets or sets the test case timeout value + + + + + Gets a list of ITestActions set by upstream tests + + + + + Saves or restores the CurrentCulture + + + + + Saves or restores the CurrentUICulture + + + + + Gets or sets the current for the Thread. + + + + + The current head of the ValueFormatter chain, copied from MsgUtils.ValueFormatter + + + + + If true, all tests must run on the same thread. No new thread may be spawned. + + + + + The number of times the current test has been scheduled for execution. + Currently only being executed in a test using the + + + + + Record any changes in the environment made by + the test code in the execution context so it + will be passed on to lower level tests. + + + + + Set up the execution environment to match a context. + Note that we may be running on the same thread where the + context was initially created or on a different thread. + + + + + Increments the assert count by one. + + + + + Increments the assert count by a specified amount. + + + + + Adds a new ValueFormatterFactory to the chain of formatters + + The new factory + + + + Sends a message from test to listeners. This message is not kind of test output and doesn't go to test result. + + A name recognized by the intended listeners. + A message to be sent + + + + Obtain lifetime service object + + + + + + An IsolatedContext is used when running code + that may effect the current result in ways that + should not impact the final result of the test. + A new TestExecutionContext is created with an + initially clear result, which is discarded on + exiting the context. + + + using (new TestExecutionContext.IsolatedContext()) + { + // Code that should not impact the result + } + + + + + Save the original current TestExecutionContext and + make a new isolated context current. + + + + + Restore the original TestExecutionContext. + + + + + An AdhocTestExecutionContext is created whenever a context is needed + but not available in CurrentContext. This happens when tests are run + on an ad-hoc basis or Asserts are used outside of tests. + + + + + Construct an AdhocTestExecutionContext, which is used + whenever the current TestExecutionContext is found to be null. + + + + + Enumeration indicating whether the tests are + running normally or being cancelled. + + + + + Running normally with no stop requested + + + + + A graceful stop has been requested + + + + + A forced stop has been requested + + + + + Interface to be implemented by filters applied to tests. + The filter applies when running the test, after it has been + loaded, since this is the only time an ITest exists. + + + + + Unique Empty filter. + + + + + Indicates whether this is the EmptyFilter + + + + + Indicates whether this is a top-level filter, + not contained in any other filter. + + + + + Determine if a particular test passes the filter criteria. The default + implementation checks the test itself, its parents and any descendants. + + Derived classes may override this method or any of the Match methods + to change the behavior of the filter. + + The test to which the filter is applied + True if the test passes the filter, otherwise false + + + + Determine if a particular test passes the filter criteria. The default + implementation checks the test itself, its parents and any descendants. + + Derived classes may override this method or any of the Match methods + to change the behavior of the filter. + + The test to which the filter is applied + If set to we are carrying a negation through + True if the test passes the filter, otherwise false + + + + Determine if a test matches the filter explicitly. That is, it must + be a direct match of the test itself or one of its children. + + The test to which the filter is applied + True if the test matches the filter explicitly, otherwise false + + + + Determine whether the test itself matches the filter criteria, without + examining either parents or descendants. This is overridden by each + different type of filter to perform the necessary tests. + + The test to which the filter is applied + True if the filter matches the any parent of the test + + + + Determine whether any ancestor of the test matches the filter criteria + + The test to which the filter is applied + True if the filter matches the an ancestor of the test + + + + Determine whether any descendant of the test matches the filter criteria. + + The test to be matched + True if at least one descendant matches the filter criteria + + + + Create a TestFilter instance from an XML representation. + + + + + Create a TestFilter from its TNode representation + + + + + Nested class provides an empty filter - one that always + returns true when called. It never matches explicitly. + + + + + Adds an XML node + + True if recursive + The added XML node + + + + Adds an XML node + + Parent node + True if recursive + The added XML node + + + + The TestCaseParameters class encapsulates method arguments and + other selected parameters needed for constructing + a parameterized test case. + + + + + Default Constructor creates an empty parameter set + + + + + Construct a non-runnable ParameterSet, specifying + the provider exception that made it invalid. + + + + + Construct a parameter set with a list of arguments + + + + + + Construct a ParameterSet from an object implementing ITestCaseData + + + + + + Type arguments used to create a generic fixture instance + + + + + TestListener provides an implementation of ITestListener that + does nothing. It is used only through its NULL property. + + + + + Called when a test has just started + + The test that is starting + + + + Called when a test case has finished + + The result of the test + + + + Called when a test produces output for immediate display + + A TestOutput object containing the text to display + + + + Called when a test produces a message to be sent to listeners + + A object containing the message to send + + + + Construct a new TestListener - private so it may not be used. + + + + + Get a listener that does nothing + + + + + TestNameGenerator is able to create test names according to + a coded pattern. + + + + + Default pattern used to generate names + + + + + Construct a TestNameGenerator + + + + + Construct a TestNameGenerator + + The pattern used by this generator. + + + + Get the display name for a TestMethod and its arguments + + A TestMethod + The display name + + + + Get the display name for a TestMethod and its arguments + + A TestMethod + Arguments to be used + The display name + + + + TestParameters is the abstract base class for all classes + that know how to provide data for constructing a test. + + + + + Default Constructor creates an empty parameter set + + + + + Construct a parameter set with a list of arguments + + + + + + Construct a non-runnable ParameterSet, specifying + the provider exception that made it invalid. + + + + + Construct a ParameterSet from an object implementing ITestData + + + + + + The RunState for this set of parameters. + + + + + The arguments to be used in running the test, + which must match the method signature. + + + + + A name to be used for this test case in lieu + of the standard generated name containing + the argument list. + + + + + Gets the property dictionary for this test + + + + + Applies ParameterSet values to the test itself. + + A test. + + + + The original arguments provided by the user, + used for display purposes. + + + + + The list of display names to use as the parameters in the test name. + + + + + TestProgressReporter translates ITestListener events into + the async callbacks that are used to inform the client + software about the progress of a test run. + + + + + Initializes a new instance of the class. + + The callback handler to be used for reporting progress. + + + + Called when a test has just started + + The test that is starting + + + + Called when a test has finished. Sends a result summary to the callback. + to + + The result of the test + + + + Called when a test produces output for immediate display + + A TestOutput object containing the text to display + + + + Called when a test produces a message to be sent to listeners + + A object containing the text to send + + + + Returns the parent test item for the target test item if it exists + + + parent test item + + + + Makes a string safe for use as an attribute, replacing + characters that can't be used with their + corresponding XML representations. + + The string to be used + A new string with the values replaced + + + + ParameterizedFixtureSuite serves as a container for the set of test + fixtures created from a given Type using various parameters. + + + + + Initializes a new instance of the class. + + The ITypeInfo for the type that represents the suite. + + + + Creates a copy of the given suite with only the descendants that pass the specified filter. + + The to copy. + Determines which descendants are copied. + + + + Gets a string representing the type of test + + + + + Creates a filtered copy of the test suite. + + Determines which descendants are copied. + + + + ParameterizedMethodSuite holds a collection of individual + TestMethods with their arguments applied. + + + + + Initializes a new instance of the class. + + + + + Creates a copy of the given suite with only the descendants that pass the specified filter. + + The to copy. + Determines which descendants are copied. + + + + Gets a MethodInfo for the method implementing this test. + + + + + Gets a string representing the type of test + + + + + Creates a filtered copy of the test suite. + + Determines which descendants are copied. + + + + SetUpFixture extends TestSuite and supports + Setup and TearDown methods. + + + + + Initializes a new instance of the class. + + + + + Creates a copy of the given suite with only the descendants that pass the specified filter. + + The to copy. + Determines which descendants are copied. + + + + Gets the TypeInfo of the fixture used in running this test. + + + + + Creates a filtered copy of the test suite. + + Determines which descendants are copied. + + + + The Test abstract class represents a test within the framework. + + + + + Static value to seed ids. It's started at 1000 so any + uninitialized ids will stand out. + + + + + Used to cache the declaring type for this MethodInfo + + + + + Method property backing field + + + + + Constructs a test given its name + + The name of the test + + + + Constructs a test given the path through the + test hierarchy to its parent and a name. + + The parent tests full name + The name of the test + + + + Constructs a test for a specific type. + + + + + Constructs a test for a specific method. + + + + + Gets or sets the id of the test + + + + + + Gets or sets the name of the test + + + + + Gets or sets the fully qualified name of the test + + + + + + Gets the name of the class where this test was declared. + Returns null if the test is not associated with a class. + + + + + Gets the name of the method implementing this test. + Returns null if the test is not implemented as a method. + + + + + The arguments to use in creating the test or empty array if none required. + + + + + Gets the TypeInfo of the fixture used in running this test + or null if no fixture type is associated with it. + + + + + Gets a MethodInfo for the method implementing this test. + Returns null if the test is not implemented as a method. + + + + + Whether or not the test should be run + + + + + Gets the name used for the top-level element in the + XML representation of this test + + + + + Gets a string representing the type of test. Used as an attribute + value in the XML representation of a test and has no other + function in the framework. + + + + + Gets a count of test cases represented by + or contained under this test. + + + + + Gets the properties for this test + + + + + Returns true if this is a TestSuite + + + + + Gets a bool indicating whether the current test + has any descendant tests. + + + + + Gets the parent as a Test object. + Used by the core to set the parent. + + + + + Gets this test's child tests + + A list of child tests + + + + Gets or sets a fixture object for running this test. + + + + + Static prefix used for ids in this AppDomain. + Set by FrameworkController. + + + + + Gets or Sets the Int value representing the seed for the RandomGenerator + + + + + + The SetUp methods. + + + + + The teardown methods + + + + + Creates a TestResult for this test. + + A TestResult suitable for this type of test. + + + + Modify a newly constructed test by applying any of NUnit's common + attributes, based on a supplied , which is + usually the reflection element from which the test was constructed, + but may not be in some instances. The attributes retrieved are + saved for use in subsequent operations. + + + + + Mark the test as Invalid (not runnable) specifying a reason + + The reason the test is not runnable + + + + Get custom attributes applied to a test + + + + + Add standard attributes and members to a test node. + + + + + + + Returns the XML representation of the test + + If true, include child tests recursively + + + + + Returns an XmlNode representing the current result after + adding it as a child of the supplied parent node. + + The parent node. + If true, descendant results are included + + + + Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. + An object to compare with this instance. + + + Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. + An object to compare with this instance. + + + + TestAssembly is a TestSuite that represents the execution + of tests in a managed assembly. + + + + + Initializes a new instance of the class + specifying the Assembly and the suite name. + + The assembly this test represents. + + This becomes the full name of the suite and the filename part is used as the suite name. + + + + + Initializes a new instance of the class + specifying the suite name for an assembly that could not be loaded. + + + This becomes the full name of the suite and the filename part is used as the suite name. + + + + + Creates a copy of the given assembly with only the descendants that pass the specified filter. + + The to copy. + Determines which descendants are copied. + + + + Gets the Assembly represented by this instance. + + + + + Gets the name used for the top-level element in the + XML representation of this test + + + + + Get custom attributes specified on the assembly + + + + + Creates a filtered copy of the test suite. + + Determines which descendants are copied. + + + + TestFixture is a surrogate for a user test fixture class, + containing one or more tests. + + + + + The life cycle specified for the current test fixture. + + + + + Initializes a new instance of the class. + + Type of the fixture. + Arguments used to instantiate the test fixture, or null if none used + + + + Creates a copy of the given suite with only the descendants that pass the specified filter. + + The to copy. + Determines which descendants are copied. + + + + Gets the TypeInfo of the fixture used in running this test. + + + + + Creates a filtered copy of the test suite. + + Determines which descendants are copied. + + + + The TestMethod class represents a Test implemented as a method. + + + + + The ParameterSet used to create this test method + + + + + Initializes a new instance of the class. + + The method to be used as a test. + + + + Initializes a new instance of the class. + + The method to be used as a test. + The suite or fixture to which the new test will be added + + + + Gets a MethodInfo for the method implementing this test. + + + + + The arguments to use in executing the test method, or empty array if none are provided. + + + + + Overridden to return a TestCaseResult. + + A TestResult for this test. + + + + Gets a bool indicating whether the current test + has any descendant tests. + + + + + Returns a TNode representing the current result after + adding it as a child of the supplied parent node. + + The parent node. + If true, descendant results are included + + + + + Gets this test's child tests + + A list of child tests + + + + Gets the name used for the top-level element in the + XML representation of this test + + + + + Returns the name of the method + + + + + TestSuite represents a composite test, which contains other tests. + + + + + Our collection of child tests + + + + + Initializes a new instance of the class. + + The name of the suite. + + + + Initializes a new instance of the class. + + Name of the parent suite. + The name of the suite. + + + + Initializes a new instance of the class. + + Type of the fixture. + Arguments used to instantiate the test fixture, or null if none used. + + + + Initializes a new instance of the class. + + Type of the fixture. + + + + Creates a copy of the given suite with only the descendants that pass the specified filter. + + The to copy. + Determines which descendants are copied. + + + + Sorts tests under this suite. + + + + + Adds a test to the suite. + + The test. + + + + Creates a filtered copy of the test suite. + + Determines which descendants are copied. + + + + Gets this test's child tests + + The list of child tests + + + + Gets a count of test cases represented by + or contained under this test. + + + + + + The arguments to use in creating the fixture, or empty array if none are provided. + + + + + Set to true to suppress sorting this suite's contents + + + + + OneTimeSetUp methods for this suite + + + + + OneTimeTearDown methods for this suite + + + + + Overridden to return a TestSuiteResult. + + A TestResult for this test. + + + + Gets a bool indicating whether the current test + has any descendant tests. + + + + + Gets the name used for the top-level element in the + XML representation of this test + + + + + Returns an XmlNode representing the current result after + adding it as a child of the supplied parent node. + + The parent node. + If true, descendant results are included + + + + + Check that setup and teardown methods marked by certain attributes + meet NUnit's requirements and mark the tests not runnable otherwise. + + + + + ThreadUtility provides a set of static methods convenient + for working with threads. + + + + + Pre-Task compatibility + + + + + Abort a thread, helping to dislodging it if it is blocked in native code + + The thread to abort + The native thread id (if known), otherwise 0. + If provided, allows the thread to be killed if it's in a message pump native blocking wait. + This must have previously been captured by calling from the running thread itself. + + + + Do our best to kill a thread + + The thread to kill + The native thread id (if known), otherwise 0. + If provided, allows the thread to be killed if it's in a message pump native blocking wait. + This must have previously been captured by calling from the running thread itself. + + + + Do our best to kill a thread, passing state info + + The thread to kill + Info for the ThreadAbortException handler + The native thread id (if known), otherwise 0. + If provided, allows the thread to be killed if it's in a message pump native blocking wait. + This must have previously been captured by calling from the running thread itself. + + + + Schedule a thread pool thread to check on the aborting thread in case it's in a message pump native blocking wait + + + + + Captures the current thread's native id. If provided to later, allows the thread to be killed if it's in a message pump native blocking wait. + + + + + Sends a message to the thread to dislodge it from native code and allow a return to managed code, where a ThreadAbortException can be generated. + The message is meaningless (WM_CLOSE without a window handle) but it will end any blocking message wait. + + + + Gets or if the current platform does not support it. + + + Sets if current platform supports it. + Value to set. If the current platform does not support then the only allowed value is . + + + + TypeHelper provides static methods that operate on Types. + + + + + Gets the display name for a Type as used by NUnit. + + The Type for which a display name is needed. + The display name for the Type + + + + Gets the display name for a Type as used by NUnit. + + The Type for which a display name is needed. + The arglist provided. + The display name for the Type + + + + Returns the best fit for a common type to be used in + matching actual arguments to a methods Type parameters. + + + + + Determines whether the specified type is numeric. + + The type to be examined. + + if the specified type is numeric; otherwise, . + + + + + Convert an argument list to the required parameter types. + Currently, only widening numeric conversions are performed. + + An array of args to be converted + A ParameterInfo[] whose types will be used as targets + + + + Determines whether this instance can deduce type args for a generic type from the supplied arguments. + + The type to be examined. + The arglist. + The type args to be used. + + if this the provided args give sufficient information to determine the type args to be used; otherwise, . + + + + + Return the interfaces implemented by a Type. + + The Type to be examined. + An array of Types for the interfaces. + + + + Return whether or not the given type is a ValueTuple. + + Type. + Whether or not the given type is a ValueTuple. + + + + Return whether or not the given type is a Tuple. + + Type. + Whether or not the given type is a Tuple. + + + + Determines whether the cast to the given type would succeed. + If is and + can be , the cast succeeds just like the C# language feature. + + The object to cast. + + + + Casts to a value of the given type if possible. + If is and + can be , the cast succeeds just like the C# language feature. + + The object to cast. + The value of the object, if the cast succeeded. + + + + Used for resolving the type difference between objects. + + + + + Gets the shortened type name difference between and . + + The expected object. + The actual object. + Output of the unique type name for the expected object. + Output of the unique type name for actual object. + + + + Gets the shortened type name difference between and . + + The expected object . + The actual object . + Output of the unique type name for the expected object. + Output of the unique type name for actual object. + + + + Obtain the shortened generic template parameters of the given and , + if they are generic. + + The expected . + The actual . + Shortened generic parameters of the expected . + Shortened generic parameters of the actual . + + + + Obtain a shortened name of the given . + + + + + Shorten the given names by only including the relevant differing namespaces/types, if they differ. + + The expected . + The actual . + The shortened expected name. + The shortened actual name. + + + + Returns whether or not the is generic. + + + + + Returns the fully qualified generic name of a given . + + + + + Reconstruct a generic type name using the provided generic type name, and a + of the template parameters. + + The name of the generic type, including the number of template parameters expected. + A of names of the template parameters of the provided generic type. + + + + Obtain the shortened generic names of the given expected and actual s. + + The expected . + The actual . + The shortened expected generic name. + The shortened actual generic name. + + + + The TypeWrapper class wraps a Type so it may be used in + a platform-independent manner. + + + + + Construct a TypeWrapper for a specified Type. + + + + + Gets the underlying Type on which this TypeWrapper is based. + + + + + Gets the base type of this type as an ITypeInfo + + + + + Gets the Name of the Type + + + + + Gets the FullName of the Type + + + + + Gets the assembly in which the type is declared + + + + + Gets the namespace of the Type + + + + + Gets a value indicating whether the type is abstract. + + + + + Gets a value indicating whether the Type is a generic Type + + + + + Returns true if the Type wrapped is T + + + + + Gets a value indicating whether the Type has generic parameters that have not been replaced by specific Types. + + + + + Gets a value indicating whether the Type is a generic Type definition + + + + + Gets a value indicating whether the type is sealed. + + + + + Gets a value indicating whether this type represents a static class. + + + + + Get the display name for this type + + + + + Get the display name for an object of this type, constructed with the specified args. + + + + + Returns a new ITypeInfo representing an instance of this generic Type using the supplied Type arguments + + + + + Returns a Type representing a generic type definition from which this Type can be constructed. + + + + + Returns an array of custom attributes of the specified type applied to this type + + + + + Returns a value indicating whether the type has an attribute of the specified type. + + + + + + + + Returns a flag indicating whether this type has a method with an attribute of the specified type. + + + + + + + Returns an array of IMethodInfos for methods of this Type + that match the specified flags. + + + + + Gets the public constructor taking the specified argument Types + + + + + Returns a value indicating whether this Type has a public constructor taking the specified argument Types. + + + + + Construct an object of this Type, using the specified arguments. + + + + + Override ToString() so that error messages in NUnit's own tests make sense + + + + + Returns all methods declared by this type that have the specified attribute, optionally + including base classes. Methods from a base class are always returned before methods from a class that + inherits from it. + + Specifies whether to search the fixture type inheritance chain. + + + + Encapsulates the ability to increment a value by an amount which may be of a different type. + + + + + Creates a from the specified value if the current instance is able to + use it to increment the on values which it operates. If the creation fails, + is thrown. + + + + + + Creates a from the specified value if the current instance is able to + use it to increment values on which it operates. A return value indicates + whether the creation succeeded. + + + + + Provides a convenient shorthand when is + and the default value of represents zero. + + + + + Initializes a new instance of the class. + + The amount by which to increment each time this step is applied. + + Must increment the given value and return the result. + If the result is outside the range representable by , + must throw . If the result does not change due to lack + of precision representable by , must throw . + + + + + Increments the given value and returns the result. + If the result is outside the range representable by , + throws . If the result does not change due to lack + of precision representable by , throws . + + + + + + + Encapsulates the ability to increment a value by an amount + which may be of a different type. + + + + + Increments the given value and returns the result. + If the result is outside the range representable by , + throws . If the result does not change due to lack + of precision representable by , throws . + + + + + + + Creates a from the specified value if the current instance is able to + use it to increment values of type . If the creation fails, + is thrown. + + + + + + Creates a from the specified value if the current instance is able to + use it to increment values of type . A return value indicates + whether the creation succeeded. + + + + + The IgnoredTestCaseData class represents a ignored TestCaseData. It adds + the ability to set a date until which the test will be ignored. + + + + + The previous RunState + + + + + Set the date that the test is being ignored until + + The date that the test is being ignored until + A modified TestCaseData. + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + + + + + Returns a constraint that tests for null + + + + + Returns a constraint that tests for True + + + + + Returns a constraint that tests for False + + + + + Returns a constraint that tests for a positive value + + + + + Returns a constraint that tests for a negative value + + + + + Returns a constraint that tests for equality with zero + + + + + Returns a constraint that tests for NaN + + + + + Returns a constraint that tests for empty + + + + + Returns a constraint that tests whether a collection + contains all unique items. + + + + + Returns a constraint that tests whether an object graph is serializable in binary format. + + + + + Returns a constraint that tests whether an object graph is serializable in XML format. + + + + + Returns a constraint that tests two items for equality + + + + + Returns a constraint that tests that two references are the same object + + + + + Returns a constraint that tests whether the + actual value is greater than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable to the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable to the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a collection containing the same elements as the + collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a subset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a superset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether a collection is ordered + + + + + Returns a constraint that tests whether the path provided + is the same as an expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is a subpath of the expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is the same path or under an expected path after canonicalization. + + + + + Returns a constraint that tests whether the actual value falls + inclusively within a specified range. + + Inclusive beginning of the range. + Inclusive end of the range. + + + + + Returns a constraint that tests if an item is equal to any of parameters + + Expected values + + + + When implemented by an attribute, this interface implemented to provide actions to execute before and after tests. + + + + + Executed before each test is run + + The test that is going to be run. + + + + Executed after each test is run + + The test that has just been run. + + + + Provides the target for the action attribute + + The target for the action attribute + + + + The Iz class is a synonym for Is intended for use in VB, + which regards Is as a keyword. + + + + + The List class is a helper class with properties and methods + that supply a number of constraints used with lists and collections. + + + + + List.Map returns a ListMapper, which can be used to map + the original collection to another collection. + + + + + + + ListMapper is used to transform a collection used as an actual argument + producing another collection to be used in the assertion. + + + + + Construct a ListMapper based on a collection + + The collection to be transformed + + + + Produces a collection containing all the values of a property + + The collection of property values + + + + + Basic Asserts on strings. + + + + + DO NOT USE! Use StringAssert.AreEqualIgnoringCase(...) or Assert.AreEqual(...) instead. + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + Asserts that a string is found within another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string is found within another string. + + The expected string + The string to be examined + + + + Asserts that a string is not found within another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string is found within another string. + + The expected string + The string to be examined + + + + Asserts that a string starts with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string starts with another string. + + The expected string + The string to be examined + + + + Asserts that a string does not start with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string does not start with another string. + + The expected string + The string to be examined + + + + Asserts that a string ends with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string ends with another string. + + The expected string + The string to be examined + + + + Asserts that a string does not end with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string does not end with another string. + + The expected string + The string to be examined + + + + Asserts that two strings are equal, without regard to case. + + The expected string + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that two strings are equal, without regard to case. + + The expected string + The actual string + + + + Asserts that two strings are not equal, without regard to case. + + The expected string + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that two strings are not equal, without regard to case. + + The expected string + The actual string + + + + Asserts that a string matches an expected regular expression pattern. + + The regex pattern to be matched + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string matches an expected regular expression pattern. + + The regex pattern to be matched + The actual string + + + + Asserts that a string does not match an expected regular expression pattern. + + The regex pattern to be used + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string does not match an expected regular expression pattern. + + The regex pattern to be used + The actual string + + + + The TestCaseData class represents a set of arguments + and other parameter info to be used for a parameterized + test case. It is derived from TestCaseParameters and adds a + fluent syntax for use in initializing the test case. + + + + + Initializes a new instance of the class. + + The arguments. + + + + Initializes a new instance of the class. + + The argument. + + + + Initializes a new instance of the class. + + The first argument. + The second argument. + + + + Initializes a new instance of the class. + + The first argument. + The second argument. + The third argument. + + + + Sets the expected result for the test + + The expected result + A modified TestCaseData + + + + Sets the name of the test case + + The modified TestCaseData instance + + + + Sets the list of display names to use as the parameters in the test name. + + + + + Sets the description for the test case + being constructed. + + The description. + The modified TestCaseData instance. + + + + Applies a category to the test + + + + + + + Applies a named property to the test + + + + + + + + Applies a named property to the test + + + + + + + + Applies a named property to the test + + + + + + + + Marks the test case as explicit. + + + + + Marks the test case as explicit, specifying the reason. + + + + + Ignores this TestCase, specifying the reason. + + The reason. + + + + + Provide the context information of the current test. + This is an adapter for the internal ExecutionContext + class, hiding the internals from the user test. + + + + + Construct a TestContext for an ExecutionContext + + The ExecutionContext to adapt + + + + Get the current test context. This is created + as needed. The user may save the context for + use within a test, but it should not be used + outside the test for which it is created. + + + + + Gets a TextWriter that will send output to the current test result. + + + + + Gets a TextWriter that will send output directly to Console.Error + + + + + Gets a TextWriter for use in displaying immediate progress messages + + + + + TestParameters object holds parameters for the test run, if any are specified + + + + + Static DefaultWorkDirectory is now used as the source + of the public instance property WorkDirectory. This is + a bit odd but necessary to avoid breaking user tests. + + + + + Get a representation of the current test. + + + + + Gets a Representation of the TestResult for the current test. + + + + + Gets the unique name of the Worker that is executing this test. + + + + + Gets the directory containing the current test assembly. + + + + + Gets the directory to be used for outputting files created + by this test run. + + + + + Gets the random generator. + + + The random generator. + + + + + Gets the number of assertions executed + up to this point in the test. + + + + + Get the number of times the current Test has been repeated + when using the or . + + + + Write the string representation of a boolean value to the current result + + + Write a char to the current result + + + Write a char array to the current result + + + Write the string representation of a double to the current result + + + Write the string representation of an Int32 value to the current result + + + Write the string representation of an Int64 value to the current result + + + Write the string representation of a decimal value to the current result + + + Write the string representation of an object to the current result + + + Write the string representation of a Single value to the current result + + + Write a string to the current result + + + Write the string representation of a UInt32 value to the current result + + + Write the string representation of a UInt64 value to the current result + + + Write a formatted string to the current result + + + Write a formatted string to the current result + + + Write a formatted string to the current result + + + Write a formatted string to the current result + + + Write a line terminator to the current result + + + Write the string representation of a boolean value to the current result followed by a line terminator + + + Write a char to the current result followed by a line terminator + + + Write a char array to the current result followed by a line terminator + + + Write the string representation of a double to the current result followed by a line terminator + + + Write the string representation of an Int32 value to the current result followed by a line terminator + + + Write the string representation of an Int64 value to the current result followed by a line terminator + + + Write the string representation of a decimal value to the current result followed by a line terminator + + + Write the string representation of an object to the current result followed by a line terminator + + + Write the string representation of a Single value to the current result followed by a line terminator + + + Write a string to the current result followed by a line terminator + + + Write the string representation of a UInt32 value to the current result followed by a line terminator + + + Write the string representation of a UInt64 value to the current result followed by a line terminator + + + Write a formatted string to the current result followed by a line terminator + + + Write a formatted string to the current result followed by a line terminator + + + Write a formatted string to the current result followed by a line terminator + + + Write a formatted string to the current result followed by a line terminator + + + + This method adds the a new ValueFormatterFactory to the + chain of responsibility used for formatting values in messages. + The scope of the change is the current TestContext. + + The factory delegate + + + + Attach a file to the current test result + + Relative or absolute file path to attachment + Optional description of attachment + + + + This method provides a simplified way to add a ValueFormatter + delegate to the chain of responsibility, creating the factory + delegate internally. It is useful when the Type of the object + is the only criterion for selection of the formatter, since + it can be used without getting involved with a compound function. + + The type supported by this formatter + The ValueFormatter delegate + + + + TestAdapter adapts a Test for consumption by + the user test code. + + + + + Construct a TestAdapter for a Test + + The Test to be adapted + + + + Gets the unique Id of a test + + + + + The name of the test, which may or may not be + the same as the method name. + + + + + The name of the method representing the test. + + + + + The FullName of the test + + + + + The ClassName of the test + + + + + A shallow copy of the properties of the test. + + + + + The arguments to use in creating the test or empty array if none are required. + + + + + ResultAdapter adapts a TestResult for consumption by + the user test code. + + + + + Construct a ResultAdapter for a TestResult + + The TestResult to be adapted + + + + Gets a ResultState representing the outcome of the test + up to this point in its execution. + + + + + Gets a list of the assertion results generated + up to this point in the test. + + + + + Gets the message associated with a test + failure or with not running the test + + + + + Gets any stack trace associated with an + error or failure. + + + + + Gets the number of test cases that failed + when running the test and all its children. + + + + + Gets the number of test cases that had warnings + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + adapts an + for consumption by the user. + + + + + Construct a from a source + . + + + + + Get the first property with the given , if it can be found, otherwise + returns null. + + + + + Indicates whether is found in this + . + + + + + Returns a collection of properties + with the given . + + + + + Returns the count of elements with the given . + + + + + Returns a collection of the property keys. + + + + + The TestFixtureData class represents a set of arguments + and other parameter info to be used for a parameterized + fixture. It is derived from TestFixtureParameters and adds a + fluent syntax for use in initializing the fixture. + + + + + Initializes a new instance of the class. + + The arguments. + + + + Initializes a new instance of the class. + + The argument. + + + + Initializes a new instance of the class. + + The first argument. + The second argument. + + + + Initializes a new instance of the class. + + The first argument. + The second argument. + The third argument. + + + + Sets the name of the test fixture + + The modified TestFixtureData instance + + + + Sets the list of display names to use as the parameters in the test name. + + + + + Marks the test fixture as explicit. + + + + + Marks the test fixture as explicit, specifying the reason. + + + + + Ignores this TestFixture, specifying the reason. + + The reason. + + + + + TestParameters class holds any named parameters supplied to the test run + + + + + Gets the number of test parameters + + + + + Gets a collection of the test parameter names + + + + + Gets a flag indicating whether a parameter with the specified name exists. + + Name of the parameter + True if it exists, otherwise false + + + + Indexer provides access to the internal dictionary + + Name of the parameter + Value of the parameter or null if not present + + + + Get method is a simple alternative to the indexer + + Name of the parameter + Value of the parameter or null if not present + + + + Get the value of a parameter or a default string + + Name of the parameter + Default value of the parameter + Value of the parameter or default value if not present + + + + Get the value of a parameter or return a default + + The return Type + Name of the parameter + Default value of the parameter + Value of the parameter or default value if not present + + + + Adds a parameter to the list + + Name of the parameter + Value of the parameter + + + + Helper class with properties and methods that supply + constraints that operate on exceptions. + + + + + Creates a constraint specifying an expected exception + + + + + Creates a constraint specifying an exception with a given InnerException + + + + + Creates a constraint specifying an expected TargetInvocationException + + + + + Creates a constraint specifying an expected ArgumentException + + + + + Creates a constraint specifying an expected ArgumentNullException + + + + + Creates a constraint specifying an expected InvalidOperationException + + + + + Creates a constraint specifying that no exception is thrown + + + + + Creates a constraint specifying the exact type of exception expected + + + + + Creates a constraint specifying the exact type of exception expected + + + + + Creates a constraint specifying the type of exception expected + + + + + Creates a constraint specifying the type of exception expected + + + + + Provides static methods to express conditions + that must be met for the test to succeed. If + any test fails, a warning is issued. + + + + + DO NOT USE! + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + The left object. + The right object. + Not applicable + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + The left object. + The right object. + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Asserts that a condition is true. If the condition is false, a warning is issued. + + The evaluated condition + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false, a warning is issued. + + The evaluated condition + + + + Asserts that a condition is true. If the condition is false, a warning is issued. + + The evaluated condition + A function to build the message included with the Exception + + + + Asserts that a condition is true. If the condition is false, a warning is issued. + + A lambda that returns a Boolean + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false, a warning is issued. + + A lambda that returns a Boolean + + + + Asserts that a condition is true. If the condition is false, a warning is issued. + + A lambda that returns a Boolean + A function to build the message included with the Exception + + + + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + + A TestDelegate to be executed + A Constraint expression to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Apply a constraint to an actual value, succeeding if the constraint + fails and issuing a warning on success. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + fails and issuing a warning on success. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + fails and issuing a warning on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Asserts that a condition is true. If the condition is false, a warning is issued. + + The evaluated condition + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false, a warning is issued. + + The evaluated condition + + + + Asserts that a condition is true. If the condition is false, a warning is issued. + + The evaluated condition + A function to build the message included with the Exception + + + + Asserts that a condition is false. If the condition is true a warning is issued. + + A lambda that returns a Boolean + The message to display if the condition is true + Arguments to be used in formatting the message + + + + Asserts that a condition is false. If the condition is true a warning is issued. + + A lambda that returns a Boolean + + + + Asserts that a condition is false. If the condition is true a warning is issued. + + A lambda that returns a Boolean + A function to build the message included with the Exception + + + + Apply a constraint to an actual value, succeeding if the constraint + fails and issuing a warning if it succeeds. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + fails and issuing a warning if it succeeds. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + A function to build the message included with the Exception + + + + FrameworkPackageSettings is a static class containing constant values that + are used as keys in setting up a TestPackage. These values are used in + the framework, and set in the runner. Setting values may be a string, int or bool. + + + + + Flag (bool) indicating whether tests are being debugged. + + + + + Flag (bool) indicating whether to pause execution of tests to allow + the user to attach a debugger. + + + + + The InternalTraceLevel for this run. Values are: "Default", + "Off", "Error", "Warning", "Info", "Debug", "Verbose". + Default is "Off". "Debug" and "Verbose" are synonyms. + + + + + Full path of the directory to be used for work and result files. + This path is provided to tests by the framework TestContext. + + + + + Integer value in milliseconds for the default timeout value + for test cases. If not specified, there is no timeout except + as specified by attributes on the tests themselves. + + + + + A string representing the default thread culture to be used for + running tests. String should be a valid BCP-47 culture name. If + culture is unset, tests run on the machine's default culture. + + + + + A string representing the default thread UI culture to be used for + running tests. String should be a valid BCP-47 culture name. If + culture is unset, tests run on the machine's default culture. + + + + + A TextWriter to which the internal trace will be sent. + + + + + A list of tests to be loaded. + + + + + The number of test threads to run for the assembly. If set to + 1, a single queue is used. If set to 0, tests are executed + directly, without queuing. + + + + + The random seed to be used for this assembly. If specified + as the value reported from a prior run, the framework should + generate identical random values for tests as were used for + that run, provided that no change has been made to the test + assembly. Default is a random value itself. + + + + + If true, execution stops after the first error or failure. + + + + + If true, use of the event queue is suppressed and test events are synchronous. + + + + + The default naming pattern used in generating test names + + + + + Parameters to be passed on to the tests, serialized to a single string which needs parsing. Obsoleted by ; kept for backward compatibility. + + + + + Parameters to be passed on to the tests, already parsed into an IDictionary<string, string>. Replaces . + + + + + If true, the tests will run on the same thread as the NUnit runner itself + + + + + Provides a platform-independent methods for getting attributes + for use by AttributeConstraint and AttributeExistsConstraint. + + + + + Gets the custom attributes from the given object. + + The actual. + Type of the attribute. + if set to [inherit]. + A list of the given attribute on the given object. + + + + A MarshalByRefObject that lives forever + + + + + Obtains a lifetime service object to control the lifetime policy for this instance. + + + + Specifies that null is allowed as an input even if the corresponding type disallows it. + + + Specifies that null is disallowed as an input even if the corresponding type allows it. + + + Specifies that an output may be null even if the corresponding type disallows it. + + + Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns. + + + Specifies that when a method returns , the parameter may be null even if the corresponding type disallows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter may be null. + + + + Gets the return value condition. + + + Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + + Gets the return value condition. + + + Specifies that the output will be non-null if the named parameter is non-null. + + + Initializes the attribute with the associated parameter name. + + The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null. + + + + Gets the associated parameter name. + + + Applied to a method that will never return under any circumstance. + + + Specifies that the method will not return if the associated Boolean parameter is passed the specified value. + + + Initializes the attribute with the specified parameter value. + + The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to + the associated parameter matches this value. + + + + Gets the condition parameter value. + + + diff --git a/src/packages/NUnit.3.13.2/lib/netstandard2.0/nunit.framework.xml b/src/packages/NUnit.3.13.2/lib/netstandard2.0/nunit.framework.xml new file mode 100644 index 0000000..7246d5d --- /dev/null +++ b/src/packages/NUnit.3.13.2/lib/netstandard2.0/nunit.framework.xml @@ -0,0 +1,21198 @@ + + + + nunit.framework + + + + + The different targets a test action attribute can be applied to + + + + + Default target, which is determined by where the action attribute is attached + + + + + Target a individual test case + + + + + Target a suite of test cases + + + + + DefaultTestAssemblyBuilder loads a single assembly and builds a TestSuite + containing test fixtures present in the assembly. + + + + + The default suite builder used by the test assembly builder. + + + + + Initializes a new instance of the class. + + + + + Build a suite of tests from a provided assembly + + The assembly from which tests are to be built + A dictionary of options to use in building the suite + + A TestSuite containing the tests found in the assembly + + + + + Build a suite of tests given the name or the location of an assembly + + The name or the location of the assembly. + A dictionary of options to use in building the suite + + A TestSuite containing the tests found in the assembly + + + + + FrameworkController provides a facade for use in loading, browsing + and running tests without requiring a reference to the NUnit + framework. All calls are encapsulated in constructors for + this class and its nested classes, which only require the + types of the Common Type System as arguments. + + The controller supports four actions: Load, Explore, Count and Run. + They are intended to be called by a driver, which should allow for + proper sequencing of calls. Load must be called before any of the + other actions. The driver may support other actions, such as + reload on run, by combining these calls. + + + + + Construct a FrameworkController using the default builder and runner. + + The AssemblyName or path to the test assembly + A prefix used for all test ids created under this controller. + A Dictionary of settings to use in loading and running the tests + + + + Construct a FrameworkController using the default builder and runner. + + The test assembly + A prefix used for all test ids created under this controller. + A Dictionary of settings to use in loading and running the tests + + + + Construct a FrameworkController, specifying the types to be used + for the runner and builder. This constructor is provided for + purposes of development. + + The full AssemblyName or the path to the test assembly + A prefix used for all test ids created under this controller. + A Dictionary of settings to use in loading and running the tests + The Type of the test runner + The Type of the test builder + + + + Construct a FrameworkController, specifying the types to be used + for the runner and builder. This constructor is provided for + purposes of development. + + The test assembly + A prefix used for all test ids created under this controller. + A Dictionary of settings to use in loading and running the tests + The Type of the test runner + The Type of the test builder + + + + Gets the ITestAssemblyBuilder used by this controller instance. + + The builder. + + + + Gets the ITestAssemblyRunner used by this controller instance. + + The runner. + + + + Gets the AssemblyName or the path for which this FrameworkController was created + + + + + Gets the Assembly for which this + + + + + Gets a dictionary of settings for the FrameworkController + + + + + Loads the tests in the assembly + + + + + + Returns info about the tests in an assembly + + A string containing the XML representation of the filter to use + The XML result of exploring the tests + + + + Runs the tests in an assembly + + A string containing the XML representation of the filter to use + The XML result of the test run + + + + Runs the tests in an assembly synchronously reporting back the test results through the callback + or through the return value + + The callback that receives the test results + A string containing the XML representation of the filter to use + The XML result of the test run + + + + Runs the tests in an assembly asynchronously reporting back the test results through the callback + + The callback that receives the test results + A string containing the XML representation of the filter to use + + + + Stops the test run + + True to force the stop, false for a cooperative stop + + + + Counts the number of test cases in the loaded TestSuite + + A string containing the XML representation of the filter to use + The number of tests + + + + Inserts the environment and settings elements + + Target node + The updated target node + + + + Inserts environment element + + Target node + The new node + + + + Inserts settings element + + Target node + Settings dictionary + The new node + + + + FrameworkControllerAction is the base class for all actions + performed against a FrameworkController. + + + + + LoadTestsAction loads a test into the FrameworkController + + + + + LoadTestsAction loads the tests in an assembly. + + The controller. + The callback handler. + + + + ExploreTestsAction returns info about the tests in an assembly + + + + + Initializes a new instance of the class. + + The controller for which this action is being performed. + Filter used to control which tests are included (NYI) + The callback handler. + + + + CountTestsAction counts the number of test cases in the loaded TestSuite + held by the FrameworkController. + + + + + Construct a CountsTestAction and perform the count of test cases. + + A FrameworkController holding the TestSuite whose cases are to be counted + A string containing the XML representation of the filter to use + A callback handler used to report results + + + + RunTestsAction runs the loaded TestSuite held by the FrameworkController. + + + + + Construct a RunTestsAction and run all tests in the loaded TestSuite. + + A FrameworkController holding the TestSuite to run + A string containing the XML representation of the filter to use + A callback handler used to report results + + + + RunAsyncAction initiates an asynchronous test run, returning immediately + + + + + Construct a RunAsyncAction and run all tests in the loaded TestSuite. + + A FrameworkController holding the TestSuite to run + A string containing the XML representation of the filter to use + A callback handler used to report results + + + + StopRunAction stops an ongoing run. + + + + + Construct a StopRunAction and stop any ongoing run. If no + run is in process, no error is raised. + + The FrameworkController for which a run is to be stopped. + True the stop should be forced, false for a cooperative stop. + >A callback handler used to report results + A forced stop will cause threads and processes to be killed as needed. + + + + The ITestAssemblyBuilder interface is implemented by a class + that is able to build a suite of tests given an assembly or + an assembly filename. + + + + + Build a suite of tests from a provided assembly + + The assembly from which tests are to be built + A dictionary of options to use in building the suite + A TestSuite containing the tests found in the assembly + + + + Build a suite of tests given the filename of an assembly + + The filename of the assembly from which tests are to be built + A dictionary of options to use in building the suite + A TestSuite containing the tests found in the assembly + + + + The ITestAssemblyRunner interface is implemented by classes + that are able to execute a suite of tests loaded + from an assembly. + + + + + Gets the tree of loaded tests, or null if + no tests have been loaded. + + + + + Gets the tree of test results, if the test + run is completed, otherwise null. + + + + + Indicates whether a test has been loaded + + + + + Indicates whether a test is currently running + + + + + Indicates whether a test run is complete + + + + + Loads the tests found in an Assembly, returning an + indication of whether or not the load succeeded. + + File name of the assembly to load + Dictionary of options to use in loading the test + An ITest representing the loaded tests + + + + Loads the tests found in an Assembly, returning an + indication of whether or not the load succeeded. + + The assembly to load + Dictionary of options to use in loading the test + An ITest representing the loaded tests + + + + Count Test Cases using a filter + + The filter to apply + The number of test cases found + + + + Explore the test cases using a filter + + The filter to apply + Test Assembly with test cases that matches the filter + + + + Run selected tests and return a test result. The test is run synchronously, + and the listener interface is notified as it progresses. + + Interface to receive ITestListener notifications. + A test filter used to select tests to be run + + + + Run selected tests asynchronously, notifying the listener interface as it progresses. + + Interface to receive EventListener notifications. + A test filter used to select tests to be run + + + + Wait for the ongoing run to complete. + + Time to wait in milliseconds + True if the run completed, otherwise false + + + + Signal any test run that is in process to stop. Return without error if no test is running. + + If true, kill any test-running threads + + + + Implementation of ITestAssemblyRunner + + + + + Initializes a new instance of the class. + + The builder. + + + + Gets the default level of parallel execution (worker threads) + + + + + The tree of tests that was loaded by the builder + + + + + The test result, if a run has completed + + + + + Indicates whether a test is loaded + + + + + Indicates whether a test is running + + + + + Indicates whether a test run is complete + + + + + Our settings, specified when loading the assembly + + + + + The top level WorkItem created for the assembly as a whole + + + + + The TestExecutionContext for the top level WorkItem + + + + + Loads the tests found in an Assembly + + File name or path of the assembly to load + Dictionary of option settings for loading the assembly + A Test Assembly containing all loaded tests + + + + Loads the tests found in an Assembly + + The assembly to load + Dictionary of option settings for loading the assembly + A Test Assembly containing all loaded tests + + + + Count Test Cases using a filter + + The filter to apply + The number of test cases found + + + + Explore the test cases using a filter + + The filter to apply + Test Assembly with test cases that matches the filter + + + + Run selected tests and return a test result. The test is run synchronously, + and the listener interface is notified as it progresses. + + Interface to receive EventListener notifications. + A test filter used to select tests to be run + The test results from the run + + + + Run selected tests asynchronously, notifying the listener interface as it progresses. + + Interface to receive EventListener notifications. + A test filter used to select tests to be run + + RunAsync is a template method, calling various abstract and + virtual methods to be overridden by derived classes. + + + + + Wait for the ongoing run to complete. + + Time to wait in milliseconds + True if the run completed, otherwise false + + + + Signal any test run that is in process to stop. Return without error if no test is running. + + If true, kill any tests that are currently running + + + + Initiate the test run. + + + + + Create the initial TestExecutionContext used to run tests + + The ITestListener specified in the RunAsync call + + + + Handle the Completed event for the top level work item + + + + + This method is a no-op in .NET Standard builds. + + + + + The Assert class contains a collection of static methods that + implement the most common assertions used in NUnit. + + + The Assert class contains a collection of static methods that + implement the most common assertions used in NUnit. + + + + + Verifies that the first int is greater than the second + int. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first int is greater than the second + int. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + + The evaluated condition + + + + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + + The evaluated condition + + + + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + + The evaluated condition + + + + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + + The evaluated condition + + + + Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert + block. + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert + block. + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert block. + + The evaluated condition + + + + Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert + block. + + The evaluated condition + + + + Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert + block. + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert + block. + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert + block. + + The evaluated condition + + + + Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert + block. + + The evaluated condition + + + + Verifies that the object that is passed in is not equal to . Returns without throwing an + exception when inside a multiple assert block. + + The object that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the object that is passed in is not equal to . Returns without throwing an + exception when inside a multiple assert block. + + The object that is to be tested + + + + Verifies that the object that is passed in is not equal to . Returns without throwing an + exception when inside a multiple assert block. + + The object that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the object that is passed in is not equal to . Returns without throwing an + exception when inside a multiple assert block. + + The object that is to be tested + + + + Verifies that the object that is passed in is equal to . Returns without throwing an + exception when inside a multiple assert block. + + The object that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the object that is passed in is equal to . Returns without throwing an + exception when inside a multiple assert block. + + The object that is to be tested + + + + Verifies that the object that is passed in is equal to . Returns without throwing an + exception when inside a multiple assert block. + + The object that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the object that is passed in is equal to . Returns without throwing an + exception when inside a multiple assert block. + + The object that is to be tested + + + + Verifies that the double that is passed in is an NaN. Returns without throwing an + exception when inside a multiple assert block. + + The value that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the double that is passed in is an NaN value. Returns without throwing an + exception when inside a multiple assert block. + + The value that is to be tested + + + + Verifies that the double that is passed in is an NaN value. Returns without throwing an + exception when inside a multiple assert block. + + The value that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the double that is passed in is an NaN value. Returns without throwing an + exception when inside a multiple assert block. + + The value that is to be tested + + + + Assert that a string is empty. Returns without throwing an exception when inside a multiple assert block. + + The string to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Assert that a string is empty. Returns without throwing an exception when inside a multiple assert block. + + The string to be tested + + + + Assert that an array, list or other collection is empty. Returns without throwing an exception when inside a + multiple assert block. + + An array, list or other collection implementing ICollection + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Assert that an array, list or other collection is empty. Returns without throwing an exception when inside a + multiple assert block. + + An array, list or other collection implementing ICollection + + + + Assert that a string is not empty. Returns without throwing an exception when inside a multiple assert + block. + + The string to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Assert that a string is not empty. Returns without throwing an exception when inside a multiple assert + block. + + The string to be tested + + + + Assert that an array, list or other collection is not empty. Returns without throwing an exception when + inside a multiple assert block. + + An array, list or other collection implementing ICollection + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Assert that an array, list or other collection is not empty. Returns without throwing an exception when + inside a multiple assert block. + + An array, list or other collection implementing ICollection + + + + Asserts that an int is zero. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + + + + Asserts that an int is zero. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned int is zero. Returns without throwing an exception when inside a multiple assert + block. + + The number to be examined + + + + Asserts that an unsigned int is zero. Returns without throwing an exception when inside a multiple assert + block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a Long is zero. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + + + + Asserts that a Long is zero. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned Long is zero. Returns without throwing an exception when inside a multiple assert + block. + + The number to be examined + + + + Asserts that an unsigned Long is zero. Returns without throwing an exception when inside a multiple assert + block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a decimal is zero. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + + + + Asserts that a decimal is zero. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a double is zero. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + + + + Asserts that a double is zero. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a float is zero. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + + + + Asserts that a float is zero. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an int is not zero. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + + + + Asserts that an int is not zero. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned int is not zero. Returns without throwing an exception when inside a multiple + assert block. + + The number to be examined + + + + Asserts that an unsigned int is not zero. Returns without throwing an exception when inside a multiple + assert block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a Long is not zero. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + + + + Asserts that a Long is not zero. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned Long is not zero. Returns without throwing an exception when inside a multiple + assert block. + + The number to be examined + + + + Asserts that an unsigned Long is not zero. Returns without throwing an exception when inside a multiple + assert block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a decimal is zero. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + + + + Asserts that a decimal is zero. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a double is zero. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + + + + Asserts that a double is zero. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a float is zero. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + + + + Asserts that a float is zero. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an int is positive. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + + + + Asserts that an int is positive. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned int is positive. Returns without throwing an exception when inside a multiple + assert block. + + The number to be examined + + + + Asserts that an unsigned int is positive. Returns without throwing an exception when inside a multiple + assert block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a Long is positive. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + + + + Asserts that a Long is positive. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned Long is positive. Returns without throwing an exception when inside a multiple + assert block. + + The number to be examined + + + + Asserts that an unsigned Long is positive. Returns without throwing an exception when inside a multiple + assert block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a decimal is positive. Returns without throwing an exception when inside a multiple assert + block. + + The number to be examined + + + + Asserts that a decimal is positive. Returns without throwing an exception when inside a multiple assert + block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a double is positive. Returns without throwing an exception when inside a multiple assert + block. + + The number to be examined + + + + Asserts that a double is positive. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a float is positive. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + + + + Asserts that a float is positive. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an int is negative. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + + + + Asserts that an int is negative. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned int is negative. Returns without throwing an exception when inside a multiple + assert block. + + The number to be examined + + + + Asserts that an unsigned int is negative. Returns without throwing an exception when inside a multiple + assert block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a Long is negative. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + + + + Asserts that a Long is negative. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned Long is negative. Returns without throwing an exception when inside a multiple + assert block. + + The number to be examined + + + + Asserts that an unsigned Long is negative. Returns without throwing an exception when inside a multiple + assert block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a decimal is negative. Returns without throwing an exception when inside a multiple assert + block. + + The number to be examined + + + + Asserts that a decimal is negative. Returns without throwing an exception when inside a multiple assert + block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a double is negative. Returns without throwing an exception when inside a multiple assert + block. + + The number to be examined + + + + Asserts that a double is negative. Returns without throwing an exception when inside a multiple assert + block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a float is negative. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + + + + Asserts that a float is negative. Returns without throwing an exception when inside a multiple assert block. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + DO NOT USE! Use Assert.AreEqual(...) instead. + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + Throws a with the message and arguments + that are passed in. This allows a test to be cut short, with a result + of success returned to NUnit. + + The message to initialize the with. + Arguments to be used in formatting the message + + + + Throws a with the message and arguments + that are passed in. This allows a test to be cut short, with a result + of success returned to NUnit. + + The message to initialize the with. + + + + Throws a with the message and arguments + that are passed in. This allows a test to be cut short, with a result + of success returned to NUnit. + + + + + Marks the test as failed with the message and arguments that are passed in. Returns without throwing an + exception when inside a multiple assert block. + + The message to initialize the with. + Arguments to be used in formatting the message + + + + Marks the test as failed with the message that is passed in. Returns without throwing an exception when + inside a multiple assert block. + + The message to initialize the with. + + + + Marks the test as failed. Returns without throwing an exception when inside a multiple assert block. + + + + + Issues a warning using the message and arguments provided. + + The message to display. + Arguments to be used in formatting the message + + + + Issues a warning using the message provided. + + The message to display. + + + + Throws an with the message and arguments + that are passed in. This causes the test to be reported as ignored. + + The message to initialize the with. + Arguments to be used in formatting the message + + + + Throws an with the message that is + passed in. This causes the test to be reported as ignored. + + The message to initialize the with. + + + + Throws an . + This causes the test to be reported as ignored. + + + + + Throws an with the message and arguments + that are passed in. This causes the test to be reported as inconclusive. + + The message to initialize the with. + Arguments to be used in formatting the message + + + + Throws an with the message that is + passed in. This causes the test to be reported as inconclusive. + + The message to initialize the with. + + + + Throws an . + This causes the test to be reported as Inconclusive. + + + + + Asserts that an object is contained in a collection. Returns without throwing an exception when inside a + multiple assert block. + + The expected object + The collection to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object is contained in a collection. Returns without throwing an exception when inside a + multiple assert block. + + The expected object + The collection to be examined + + + + Wraps code containing a series of assertions, which should all + be executed, even if they fail. Failed results are saved and + reported at the end of the code block. + + A TestDelegate to be executed in Multiple Assertion mode. + + + + Wraps code containing a series of assertions, which should all + be executed, even if they fail. Failed results are saved and + reported at the end of the code block. + + A TestDelegate to be executed in Multiple Assertion mode. + + + + If throws, returns "SomeException was thrown by the + Environment.StackTrace property." See also . + + + + + Verifies that two doubles are equal considering a delta. If the expected value is infinity then the delta + value is ignored. Returns without throwing an exception when inside a multiple assert block. + + The expected value + The actual value + The maximum acceptable difference between the the expected and the actual + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two doubles are equal considering a delta. If the expected value is infinity then the delta + value is ignored. Returns without throwing an exception when inside a multiple assert block. + + The expected value + The actual value + The maximum acceptable difference between the the expected and the actual + + + + Verifies that two doubles are equal considering a delta. If the expected value is infinity then the delta + value is ignored. Returns without throwing an exception when inside a multiple assert block. + + The expected value + The actual value + The maximum acceptable difference between the the expected and the actual + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two doubles are equal considering a delta. If the expected value is infinity then the delta + value is ignored. Returns without throwing an exception when inside a multiple assert block. + + The expected value + The actual value + The maximum acceptable difference between the the expected and the actual + + + + Verifies that two objects are equal. Two objects are considered equal if both are null, or if both have the + same value. NUnit has special semantics for some object types. Returns without throwing an exception when + inside a multiple assert block. + + The value that is expected + The actual value + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two objects are equal. Two objects are considered equal if both are null, or if both have the + same value. NUnit has special semantics for some object types. Returns without throwing an exception when + inside a multiple assert block. + + The value that is expected + The actual value + + + + Verifies that two objects are not equal. Two objects are considered equal if both are null, or if both have + the same value. NUnit has special semantics for some object types. Returns without throwing an exception + when inside a multiple assert block. + + The value that is expected + The actual value + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two objects are not equal. Two objects are considered equal if both are null, or if both have + the same value. NUnit has special semantics for some object types. Returns without throwing an exception + when inside a multiple assert block. + + The value that is expected + The actual value + + + + Asserts that two objects refer to the same object. Returns without throwing an exception when inside a + multiple assert block. + + The expected object + The actual object + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that two objects refer to the same object. Returns without throwing an exception when inside a + multiple assert block. + + The expected object + The actual object + + + + Asserts that two objects do not refer to the same object. Returns without throwing an exception when inside + a multiple assert block. + + The expected object + The actual object + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that two objects do not refer to the same object. Returns without throwing an exception when inside + a multiple assert block. + + The expected object + The actual object + + + + Helper for Assert.AreEqual(double expected, double actual, ...) + allowing code generation to work consistently. + + The expected value + The actual value + The maximum acceptable difference between the + the expected and the actual + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that an async delegate throws a particular exception when called. The returned exception may be + when inside a multiple assert block. + + A constraint to be satisfied by the exception + A TestSnippet delegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that an async delegate throws a particular exception when called. The returned exception may be + when inside a multiple assert block. + + A constraint to be satisfied by the exception + A TestSnippet delegate + + + + Verifies that an async delegate throws a particular exception when called. The returned exception may be + when inside a multiple assert block. + + The exception Type expected + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that an async delegate throws a particular exception when called. The returned exception may be + when inside a multiple assert block. + + The exception Type expected + A TestDelegate + + + + Verifies that an async delegate throws a particular exception when called. The returned exception may be + when inside a multiple assert block. + + Type of the expected exception + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that an async delegate throws a particular exception when called. The returned exception may be + when inside a multiple assert block. + + Type of the expected exception + A TestDelegate + + + + Verifies that an async delegate throws an exception when called and returns it. The returned exception may + be when inside a multiple assert block. + + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that an async delegate throws an exception when called and returns it. The returned exception may + be when inside a multiple assert block. + + 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 returned exception may be when inside a multiple assert block. + + The expected Exception Type + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that an async delegate throws an exception of a certain Type or one derived from it when called and + returns it. The returned exception may be when inside a multiple assert block. + + 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. The returned exception may be when inside a multiple assert block. + + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that an async delegate throws an exception of a certain Type or one derived from it when called and + returns it. The returned exception may be when inside a multiple assert block. + + 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. The returned exception may be when inside a multiple assert block. + + A constraint to be satisfied by the exception + A TestSnippet delegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws a particular exception when called. The returned exception may be when inside a multiple assert block. + + A constraint to be satisfied by the exception + A TestSnippet delegate + + + + Verifies that a delegate throws a particular exception when called. The returned exception may be when inside a multiple assert block. + + The exception Type expected + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws a particular exception when called. The returned exception may be when inside a multiple assert block. + + The exception Type expected + A TestDelegate + + + + Verifies that a delegate throws a particular exception when called. The returned exception may be when inside a multiple assert block. + + Type of the expected exception + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws a particular exception when called. The returned exception may be when inside a multiple assert block. + + Type of the expected exception + A TestDelegate + + + + Verifies that a delegate throws an exception when called and returns it. The returned exception may be when inside a multiple assert block. + + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws an exception when called and returns it. The returned exception may be when inside a multiple assert block. + + A TestDelegate + + + + Verifies that a delegate throws an exception of a certain Type or one derived from it when called and + returns it. The returned exception may be when inside a multiple assert block. + + The expected Exception Type + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws an exception of a certain Type or one derived from it when called and + returns it. The returned exception may be when inside a multiple assert block. + + The expected Exception Type + A TestDelegate + + + + Verifies that a delegate throws an exception of a certain Type or one derived from it when called and + returns it. The returned exception may be when inside a multiple assert block. + + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws an exception of a certain Type or one derived from it when called and + returns it. The returned exception may be when inside a multiple assert block. + + A TestDelegate + + + + Verifies that a delegate does not throw an exception + + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate does not throw an exception. + + A TestDelegate + + + + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + + The evaluated condition + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + + The evaluated condition + + + + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + + The evaluated condition + A function to build the message included with the Exception + + + + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + + A lambda that returns a Boolean + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + + A lambda that returns a Boolean + + + + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + + A lambda that returns a Boolean + A function to build the message included with the Exception + + + + Apply a constraint to a delegate. Returns without throwing an exception when inside a multiple assert block. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + + + + Apply a constraint to a delegate. Returns without throwing an exception when inside a multiple assert block. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to a delegate. Returns without throwing an exception when inside a multiple assert block. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Apply a constraint to a delegate. Returns without throwing an exception when inside a multiple assert block. + + A TestDelegate to be executed + A Constraint expression to be applied + + + + Apply a constraint to a delegate. Returns without throwing an exception when inside a multiple assert block. + + A TestDelegate to be executed + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to a delegate. Returns without throwing an exception when inside a multiple assert block. + + A TestDelegate to be executed + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Apply a constraint to an actual value. Returns without throwing an exception when inside a multiple assert + block. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + + + + Apply a constraint to an actual value. Returns without throwing an exception when inside a multiple assert + block. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value. Returns without throwing an exception when inside a multiple assert + block. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Apply a constraint to an actual value. Returns without throwing an exception when inside a multiple assert + block. Used as a synonym for That in rare cases where a private setter causes a Visual Basic compilation + error. + + The actual value to test + A Constraint expression to be applied + + + + Apply a constraint to an actual value. Returns without throwing an exception when inside a multiple assert + block. Used as a synonym for That in rare cases where a private setter causes a Visual Basic compilation + error. + + + This method is provided for use by VB developers needing to test the value of properties with private + setters. + + The actual value to test + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that an object may be assigned a value of a given Type. Returns without throwing an exception when + inside a multiple assert block. + + The expected Type. + The object under examination + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object may be assigned a value of a given Type. Returns without throwing an exception when + inside a multiple assert block. + + The expected Type. + The object under examination + + + + Asserts that an object may be assigned a value of a given Type. Returns without throwing an exception when + inside a multiple assert block. + + The expected Type. + The object under examination + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object may be assigned a value of a given Type. Returns without throwing an exception when + inside a multiple assert block. + + The expected Type. + The object under examination + + + + Asserts that an object may not be assigned a value of a given Type. Returns without throwing an exception + when inside a multiple assert block. + + The expected Type. + The object under examination + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object may not be assigned a value of a given Type. Returns without throwing an exception + when inside a multiple assert block. + + The expected Type. + The object under examination + + + + Asserts that an object may not be assigned a value of a given Type. Returns without throwing an exception + when inside a multiple assert block. + + The expected Type. + The object under examination + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object may not be assigned a value of a given Type. Returns without throwing an exception + when inside a multiple assert block. + + The expected Type. + The object under examination + + + + Asserts that an object is an instance of a given type. Returns without throwing an exception when inside a + multiple assert block. + + The expected Type + The object being examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object is an instance of a given type. Returns without throwing an exception when inside a + multiple assert block. + + The expected Type + The object being examined + + + + Asserts that an object is an instance of a given type. Returns without throwing an exception when inside a + multiple assert block. + + The expected Type + The object being examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object is an instance of a given type. Returns without throwing an exception when inside a + multiple assert block. + + The expected Type + The object being examined + + + + Asserts that an object is not an instance of a given type. Returns without throwing an exception when inside + a multiple assert block. + + The expected Type + The object being examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object is not an instance of a given type. Returns without throwing an exception when inside + a multiple assert block. + + The expected Type + The object being examined + + + + Asserts that an object is not an instance of a given type. Returns without throwing an exception when inside + a multiple assert block. + + The expected Type + The object being examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object is not an instance of a given type. Returns without throwing an exception when inside + a multiple assert block. + + The expected Type + The object being examined + + + + Delegate used by tests that execute code and + capture any thrown exception. + + + + + 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 Constraint expression to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + A Constraint expression to be applied + The actual value to test + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + A Constraint expression to be applied + The actual value to test + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Returns a ListMapper based on a collection. + + The original collection + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if at least one of them succeeds. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them fail. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding only if a specified number of them succeed. + + + + + Returns a new PropertyConstraintExpression, which will either + test for the existence of the named property on the object + being tested or apply any following constraint to that property. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Length property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Count property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Message property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the InnerException property of the object being tested. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a constraint that tests for null + + + + + Returns a constraint that tests for True + + + + + Returns a constraint that tests for False + + + + + Returns a constraint that tests for a positive value + + + + + Returns a constraint that tests for a negative value + + + + + Returns a constraint that tests for equality with zero + + + + + Returns a constraint that tests for NaN + + + + + Returns a constraint that tests for empty + + + + + Returns a constraint that tests whether a collection + contains all unique items. + + + + + Returns a constraint that tests whether an object graph is serializable in binary format. + + + + + Returns a constraint that tests whether an object graph is serializable in XML format. + + + + + Returns a constraint that tests two items for equality + + + + + Returns a constraint that tests that two references are the same object + + + + + Returns a constraint that tests whether the + actual value is greater than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a collection containing the same elements as the + collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a subset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a superset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether a collection is ordered + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + To search for a substring instead of a collection element, use the + overload. + + + + + + + Returns a new ContainsConstraint. This constraint + will, in turn, make use of the appropriate second-level + constraint, depending on the type of the actual argument. + + + To search for a collection element instead of a substring, use the + overload. + + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that fails if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that fails if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that fails if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that fails if the actual + value matches the pattern supplied as an argument. + + + + + Returns a constraint that tests whether the path provided + is the same as an expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is a subpath of the expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is the same path or under an expected path after canonicalization. + + + + + Returns a constraint that tests whether the actual value falls + within a specified range. + + + + + Provides static methods to express the assumptions + that must be met for a test to give a meaningful + result. If an assumption is not met, the test + should produce an inconclusive result. + + + + + DO NOT USE! + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + The left object. + The right object. + Not applicable + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + The left object. + The right object. + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Asserts that a condition is true. If the condition is false, the method throws + an . + + The evaluated condition + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false, the + method throws an . + + The evaluated condition + + + + Asserts that a condition is true. If the condition is false, the method throws + an . + + The evaluated condition + A function to build the message included with the Exception + + + + Asserts that a condition is true. If the condition is false, the method throws + an . + + A lambda that returns a Boolean + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false, the method throws + an . + + A lambda that returns a Boolean + + + + Asserts that a condition is true. If the condition is false, the method throws + an . + + A lambda that returns a Boolean + A function to build the message included with the Exception + + + + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + + A TestDelegate to be executed + A ThrowsConstraint used in the test + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Marks a test as needing to be run in a particular threading apartment state. This will cause it + to run in a separate thread if necessary. + + + + + Construct an ApartmentAttribute + + The apartment state that this test must be run under. You must pass in a valid apartment state. + + + + Provides the author of a test or test fixture. + + + + + Initializes a new instance of the class. + + The name of the author. + + + + Initializes a new instance of the class. + + The name of the author. + The email address of the author. + + + + Applies a category to a test + + + + + The name of the category + + + + + Construct attribute for a given category based on + a name. The name may not contain the characters ',', + '+', '-' or '!'. However, this is not checked in the + constructor since it would cause an error to arise at + as the test was loaded without giving a clear indication + of where the problem is located. The error is handled + in NUnitFramework.cs by marking the test as not + runnable. + + The name of the category + + + + Protected constructor uses the Type name as the name + of the category. + + + + + The name of the category + + + + + Modifies a test by adding a category to it. + + The test to modify + + + + Marks a test to use a combinatorial join of any argument data provided. + Since this is the default, the attribute is optional. + + + + + Default constructor + + + + + Marks a test as using a particular CombiningStrategy to join any supplied parameter data. + Since this is the default, the attribute is optional. + + + + + Construct a CombiningStrategyAttribute incorporating an + ICombiningStrategy and an IParameterDataProvider. + + Combining strategy to be used in combining data + An IParameterDataProvider to supply data + + + + Construct a CombiningStrategyAttribute incorporating an object + that implements ICombiningStrategy and an IParameterDataProvider. + This constructor is provided for CLS compliance. + + Combining strategy to be used in combining data + An IParameterDataProvider to supply data + + + + Builds any number of tests from the specified method and context. + + The MethodInfo for which tests are to be constructed. + The suite to which the tests will be added. + + + + Modify the test by adding the name of the combining strategy + to the properties. + + The test to modify + + + + Marks an assembly, test fixture or test method as applying to a specific Culture. + + + + + Constructor with no cultures specified, for use + with named property syntax. + + + + + Constructor taking one or more cultures + + Comma-delimited list of cultures + + + + Causes a test to be skipped if this CultureAttribute is not satisfied. + + The test to modify + + + + Tests to determine if the current culture is supported + based on the properties of this attribute. + + True, if the current culture is supported + + + + Test to determine if the a particular culture or comma- + delimited set of cultures is in use. + + Name of the culture or comma-separated list of culture ids + True if the culture is in use on the system + + + + Test to determine if one of a collection of cultures + is being used currently. + + + + + + + Abstract base class for all data-providing attributes defined by NUnit. + Used to select all data sources for a method, class or parameter. + + + + + Default constructor + + + + + Marks a field for use as a datapoint when executing a theory within + the same fixture that requires an argument of the field's Type. + + + + + Marks a field, property or method as providing a set of datapoints for use + in executing any theories within the same fixture that require an argument of + the provided Type. The data source may provide an array of the required Type + or an . Synonymous with . + + + + + Marks a field, property or method as providing a set of datapoints for use + in executing any theories within the same fixture that require an argument + of the provided type. The data source may provide an array of the required + Type or an . Synonymous with . + + + + + Sets the tolerance used by default when checking the equality of floating point values + within the test assembly, fixture or method. + + + + + Construct specifying an amount + + + + + + Apply changes to the TestExecutionContext + + The TestExecutionContext + + + + Provides the descriptive text relating to the assembly, test fixture or test method. + + + + + Construct a description Attribute + + The text of the description + + + + Marks an assembly, test fixture or test method such that it will only run if explicitly + executed from the GUI, command line or included within a test filter. + The test will not be run simply because an enclosing suite is run. + + + + + Default constructor + + + + + Constructor with a reason + + The reason test is marked explicit + + + + Modifies a test by marking it as explicit. + + The test to modify + + + + Specify the life cycle of a Fixture + + + + + Construct a FixtureLifeCycleAttribute with a specified . + + + + + Defines the life cycle for this test fixture or assembly. + + + + + Overridden to set a TestFixture's . + + + + + Marks an assembly, test fixture or test method as being ignored. Ignored tests result in a warning message when the tests are run. + + + + + Constructs the attribute giving a reason for ignoring the test + + The reason for ignoring the test + + + + The date in the future to stop ignoring the test as a string in UTC time. + For example for a date and time, "2014-12-25 08:10:00Z" or for just a date, + "2014-12-25". If just a date is given, the Ignore will expire at midnight UTC. + + + Once the ignore until date has passed, the test will be marked + as runnable. Tests with an ignore until date will have an IgnoreUntilDate + property set which will appear in the test results. + + The string does not contain a valid string representation of a date and time. + + + + Modifies a test by marking it as Ignored. + + The test to modify + + + + Abstract base for attributes that are used to include tests in + the test run based on environmental settings. + + + + + Constructor with no included items specified, for use + with named property syntax. + + + + + Constructor taking one or more included items + + Comma-delimited list of included items + + + + Name of the item that is needed in order for + a test to run. Multiple items may be given, + separated by a comma. + + + + + Name of the item to be excluded. Multiple items + may be given, separated by a comma. + + + + + The reason for including or excluding the test + + + + + Sets the number of worker threads that may be allocated by the framework + for running tests. + + + + + Construct a LevelOfParallelismAttribute. + + The number of worker threads to be created by the framework. + + + + Specifies the life cycle for a test fixture. + + + + + A single instance is created and shared for all test cases. + + + + + A new instance is created for each test case. + + + + + Specifies the maximum time (in milliseconds) for a test case to succeed. + + + + + Construct a MaxTimeAttribute, given a time in milliseconds. + + The maximum elapsed time in milliseconds + + + + Marks tests that should NOT be run in parallel. + + + + + Construct a NonParallelizableAttribute. + + + + + Used by third-party frameworks, or other software, that reference + the NUnit framework but do not contain any tests. Applying the + attribute indicates that the assembly is not a test assembly and + may prevent errors if certain runners attempt to load the assembly. + Note that recognition of the attribute depends on each individual runner. + + + + + Abstract base class for all custom attributes defined by NUnit. + + + + + Default constructor + + + + + Identifies a method that is called once to perform setup before any child tests are run. + + + + + Identifies a method to be called once after all the child tests have run. + The method is guaranteed to be called, even if an exception is thrown. + + + + + Defines the order that the test will run in + + + + + Defines the order that the test will run in + + + + + Defines the order that the test will run in + + + + + + Modifies a test as defined for the specific attribute. + + The test to modify + + + + Marks a test as using a pairwise join of any supplied argument data. Arguments will be + combined in such a way that all possible pairs of arguments are used. + + + + + Default constructor + + + + + Marks a test assembly, fixture or method that may be run in parallel. + + + + + Construct a ParallelizableAttribute using default ParallelScope.Self. + + + + + Construct a ParallelizableAttribute with a specified scope. + + The ParallelScope associated with this attribute. + + + + Defines the degree to which this test and its descendants may be run in parallel + + + + + Overridden to check for invalid combinations of settings + + + + + + Modify the context to be used for child tests + + The current TestExecutionContext + + + + Specifies the degree to which a test, and its descendants, + may be run in parallel. + + + + + No ParallelScope was specified on the test + + + + + The test may be run in parallel with others at the same level. + Valid on classes and methods but has no effect on assemblies. + + + + + Test may not be run in parallel with any others. Valid on + classes and methods but not assemblies. + + + + + Mask used to extract the flags that apply to the item on which a + ParallelizableAttribute has been placed, as opposed to descendants. + + + + + Descendants of the test may be run in parallel with one another. + Valid on assemblies and classes but not on non-parameterized methods. + + + + + Descendants of the test down to the level of TestFixtures may be + run in parallel with one another. Valid on assemblies and classes + but not on methods. + + + + + Mask used to extract all the flags that impact descendants of a + test and place them in the TestExecutionContext. + + + + + The test and its descendants may be run in parallel with others at + the same level. Valid on classes and parameterized methods. + For assemblies it is recommended to use + instead, as has no effect on assemblies. + + + + + Marks an assembly, test fixture or test method as applying to a specific platform. + + + + + Constructor with no platforms specified, for use + with named property syntax. + + + + + Constructor taking one or more platforms + + Comma-delimited list of platforms + + + + Causes a test to be skipped if this PlatformAttribute is not satisfied. + + The test to modify + + + + Attaches information to a test assembly, fixture or method as a name/value pair. + + + + + Construct a PropertyAttribute with a name and string value + + The name of the property + The property value + + + + Construct a PropertyAttribute with a name and int value + + The name of the property + The property value + + + + Construct a PropertyAttribute with a name and double value + + The name of the property + The property value + + + + Constructor for derived classes that set the + property dictionary directly. + + + + + Constructor for use by derived classes that use the + name of the type as the property name. Derived classes + must ensure that the Type of the property value is + a standard type supported by the BCL. Any custom + types will cause a serialization Exception when + in the client. + + + + + Gets the property dictionary for this attribute + + + + + Modifies a test by adding properties to it. + + The test to modify + + + + Supplies a set of random values to a single parameter of a parameterized test. + + + + + If true, no value will be repeated. + + + + + Construct a random set of values appropriate for the Type of the + parameter on which the attribute appears, specifying only the count. + + + + + + Generates values within a specified range. + + + + + Generates values within a specified range. + + + + + Generates values within a specified range. + + + + + Generates values within a specified range. + + + + + Generates values within a specified range. + + + + + Generates values within a specified range. + + + + + Generates values within a specified range. + + + + + Generates values within a specified range. + + + + + Generates values within a specified range. + + + + + Generates values within a specified range. + + + + + Retrieves a list of arguments which can be passed to the specified parameter. + + The parameter of a parameterized test. + + + + Supplies a range of values to an individual parameter of a parameterized test. + + + + + Constructs a range of values using the default step of 1. + + + + + Constructs a range of values with the specified step size. + + + + + Constructs a range of values using the default step of 1. + + + + + Constructs a range of values with the specified step size. + + + + + Constructs a range of values using a default step of 1. + + + + + Constructs a range of values with the specified step size. + + + + + Constructs a range of values using the default step of 1. + + + + + Constructs a range of values with the specified step size. + + + + + Constructs a range of values with the specified step size. + + + + + Constructs a range of values with the specified step size. + + + + + Retrieves a list of arguments which can be passed to the specified parameter. + + The parameter of a parameterized test. + + + Returns a string that represents the current object. + + + + Specifies that a test should be run multiple times. + + + + + Construct a RepeatAttribute + + The number of times to run the test + + + + Wrap a command and return the result. + + The command to be wrapped + The wrapped command + + + + The test command for the RepeatAttribute + + + + + Initializes a new instance of the class. + + The inner command. + The number of repetitions + + + + Runs the test, saving a TestResult in the supplied TestExecutionContext. + + The context in which the test should run. + A TestResult + + + + Marks a test that must run on a separate thread. + + + + + Construct a RequiresThreadAttribute + + + + + Construct a RequiresThreadAttribute, specifying the apartment + + + + + Specifies that a test method should be rerun on failure up to the specified + maximum number of times. + + + + + Construct a + + The maximum number of times the test should be run if it fails + + + + Wrap a command and return the result. + + The command to be wrapped + The wrapped command + + + + The test command for the + + + + + Initializes a new instance of the class. + + The inner command. + The maximum number of repetitions + + + + Runs the test, saving a TestResult in the supplied TestExecutionContext. + + The context in which the test should run. + A TestResult + + + + Marks a test to use a sequential join of any provided argument data. + Arguments will be combined into test cases, taking the next value of + each argument until all are used. + + + + + Default constructor + + + + + Sets the current Culture on an assembly, test fixture or test method for + the duration of a test. The culture remains set until the test or fixture + completes and is then reset to its original value. + + + + + + Construct given the name of a culture + + + + + + Sets the current UI Culture on an assembly, test fixture or test method + for the duration of a test. The UI culture remains set until the test or + fixture completes and is then reset to its original value. + + + + + + Construct given the name of a culture + + + + + + Identifies a method to be called immediately before each test is run. + + + + + Identifies a class as containing or + methods for all the test fixtures + under a given namespace. + + + + + Builds a from the specified type. + + The type info of the fixture to be used. + + + + Marks a test fixture as requiring all child tests to be run on the + same thread as the OneTimeSetUp and OneTimeTearDown. A flag in the + is set forcing all child tests + to be run sequentially on the current thread. + Any setting is ignored. + + + + + Apply changes to the TestExecutionContext + + The TestExecutionContext + + + + Identifies a method to be called immediately after each test is run. + The method is guaranteed to be called, even if an exception is thrown. + + + + + Abstract attribute providing actions to execute before and after tests. + + + + + Executed before each test is run + + The test that is going to be run. + + + + Executed after each test is run + + The test that has just been run. + + + + Provides the target for the action attribute + + + + + Marks a test assembly as needing a special assembly resolution hook that will + explicitly search the test assembly's directory for dependent assemblies. + This works around a conflict between mixed-mode assembly initialization and + tests running in their own AppDomain in some cases. + + + + + Marks the method as callable from the NUnit test runner. + + + + [TestFixture] + public class Fixture + { + [Test] + public void MethodToTest() + {} + + [Test(Description = "more detailed description")] + public void TestDescriptionMethod() + {} + } + + + + + + Descriptive text for this test + + + + + The author of this test + + + + + The type that this test is testing + + + + + Gets or sets the expected result. Not valid if the test + method has parameters. + + The result. + + + + Modifies a test by adding a description, if not already set. + + The test to modify + + + + Builds a single test from the specified method and context. + + The method for which a test is to be constructed. + The suite to which the test will be added. + + + + Marks a method as a parameterized test suite and provides arguments for each test case. + + + + + Construct a TestCaseAttribute with a list of arguments. + This constructor is not CLS-Compliant + + + + + + Construct a TestCaseAttribute with a single argument + + + + + + Construct a TestCaseAttribute with a two arguments + + + + + + + Construct a TestCaseAttribute with a three arguments + + + + + + + + Gets or sets the name of the test. + + The name of the test. + + + + Gets or sets the RunState of this test case. + + + + + Gets the list of arguments to a test case + + + + + Gets the properties of the test case + + + + + Gets or sets the expected result. + + The result. + + + + Returns true if the expected result has been set + + + + + Gets or sets the description. + + The description. + + + + The author of this test + + + + + The type that this test is testing + + + + + Gets or sets the reason for ignoring the test + + + + + Gets or sets a value indicating whether this is explicit. + + + if explicit; otherwise, . + + + + + Gets or sets the reason for not running the test. + + The reason. + + + + Gets or sets the ignore reason. When set to a non-null + non-empty value, the test is marked as ignored. + + The ignore reason. + + + + Comma-delimited list of platforms to run the test for + + + + + Comma-delimited list of platforms to not run the test for + + + + + Gets and sets the category for this test case. + May be a comma-separated list of categories. + + + + + Gets and sets the ignore until date for this test case. + + + + + Performs several special conversions allowed by NUnit in order to + permit arguments with types that cannot be used in the constructor + of an Attribute such as TestCaseAttribute or to simplify their use. + + The arguments to be converted + The ParameterInfo array for the method + + + + Builds a single test from the specified method and context. + + The MethodInfo for which tests are to be constructed. + The suite to which the tests will be added. + + + + Indicates the source to be used to provide test fixture instances for a test class. + + + + + Construct with the name of the method, property or field that will provide data + + The name of a static method, property or field that will provide data. + + + + Construct with a Type and name + + The Type that will provide data + The name of a static method, property or field that will provide data. + A set of parameters passed to the method, works only if the Source Name is a method. + If the source name is a field or property has no effect. + + + + Construct with a Type and name + + The Type that will provide data + The name of a static method, property or field that will provide data. + + + + Construct with a name + + The name of a static method, property or field that will provide data. + A set of parameters passed to the method, works only if the Source Name is a method. + If the source name is a field or property has no effect. + + + + Construct with a Type + + The type that will provide data + + + + A set of parameters passed to the method, works only if the Source Name is a method. + If the source name is a field or property has no effect. + + + + + The name of a the method, property or field to be used as a source + + + + + A Type to be used as a source + + + + + Gets or sets the category associated with every fixture created from + this attribute. May be a single category or a comma-separated list. + + + + + Builds any number of tests from the specified method and context. + + The IMethod for which tests are to be constructed. + The suite to which the tests will be added. + + + + Marks the class as a TestFixture. + + + + + Default constructor + + + + + Construct with a object[] representing a set of arguments. + The arguments may later be separated into type arguments and constructor arguments. + + + + + + Gets or sets the name of the test. + + The name of the test. + + + + Gets or sets the RunState of this test fixture. + + + + + The arguments originally provided to the attribute + + + + + Properties pertaining to this fixture + + + + + Get or set the type arguments. If not set + explicitly, any leading arguments that are + Types are taken as type arguments. + + + + + Descriptive text for this fixture + + + + + The author of this fixture + + + + + The type that this fixture is testing + + + + + Gets or sets the ignore reason. May set RunState as a side effect. + + The ignore reason. + + + + Gets or sets the reason for not running the fixture. + + The reason. + + + + Gets or sets the ignore reason. When set to a non-null + non-empty value, the test is marked as ignored. + + The ignore reason. + + + + Gets or sets a value indicating whether this is explicit. + + + if explicit; otherwise, . + + + + + Gets and sets the category for this fixture. + May be a comma-separated list of categories. + + + + + Builds a single test fixture from the specified type. + + + + + Builds a single test fixture from the specified type. + + The type info of the fixture to be used. + Filter used to select methods as tests. + + + + Identifies the source used to provide test fixture instances for a test class. + + + + + Error message string is public so the tests can use it + + + + + Construct with the name of the method, property or field that will provide data + + The name of a static method, property or field that will provide data. + + + + Construct with a Type and name + + The Type that will provide data + The name of a static method, property or field that will provide data. + + + + Construct with a Type + + The type that will provide data + + + + The name of a the method, property or field to be used as a source + + + + + A Type to be used as a source + + + + + Gets or sets the category associated with every fixture created from + this attribute. May be a single category or a comma-separated list. + + + + + Builds any number of test fixtures from the specified type. + + The TypeInfo for which fixtures are to be constructed. + + + + Builds any number of test fixtures from the specified type. + + The TypeInfo for which fixtures are to be constructed. + PreFilter used to select methods as tests. + + + + Returns a set of ITestFixtureData items for use as arguments + to a parameterized test fixture. + + The type for which data is needed. + + + + + Indicates the method or class the assembly, test fixture or test method is testing. + + + + + Initializes a new instance of the class. + + The type that is being tested. + + + + Initializes a new instance of the class. + + The type that is being tested. + + + + Adding this attribute to a method within a + class makes the method callable from the NUnit test runner. There is a property + called Description which is optional which you can provide a more detailed test + description. This class cannot be inherited. + + + + [TestFixture] + public class Fixture + { + [Test] + public void MethodToTest() + {} + + [Test(Description = "more detailed description")] + public void TestDescriptionMethod() + {} + } + + + + + + Construct the attribute, specifying a combining strategy and source of parameter data. + + + + + Applies a timeout in milliseconds to a test. + When applied to a method, the test is cancelled if the timeout is exceeded. + When applied to a class or assembly, the default timeout is set for all contained test methods. + + + + + Construct a TimeoutAttribute given a time in milliseconds + + The timeout value in milliseconds + + + + Provides literal arguments for an individual parameter of a test. + + + + + The collection of data to be returned. Must + be set by any derived attribute classes. + We use an object[] so that the individual + elements may have their type changed in GetData + if necessary + + + + + Constructs for use with an Enum parameter. Will pass every enum + value in to the test. + + + + + Construct with one argument + + + + + + Construct with two arguments + + + + + + + Construct with three arguments + + + + + + + + Construct with an array of arguments + + + + + + Retrieves a list of arguments which can be passed to the specified parameter. + + The parameter of a parameterized test. + + + + To generate data for Values attribute, in case no data is provided. + + + + + To Check if type is nullable enum. + + + + + Indicates the source used to provide data for one parameter of a test method. + + + + + Construct with the name of the factory - for use with languages + that don't support params arrays. + + The name of a static method, property or field that will provide data. + + + + Construct with a Type and name - for use with languages + that don't support params arrays. + + The Type that will provide data + The name of a static method, property or field that will provide data. + + + + The name of a the method, property or field to be used as a source + + + + + A Type to be used as a source + + + + + Retrieves a list of arguments which can be passed to the specified parameter. + + The parameter of a parameterized test. + + + + A set of Assert methods operating on one or more collections + + + + + DO NOT USE! Use CollectionAssert.AreEqual(...) instead. + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + Asserts that all items contained in collection are of the type specified by expectedType. + + IEnumerable containing objects to be considered + System.Type that all objects in collection must be instances of + + + + Asserts that all items contained in collection are of the type specified by expectedType. + + IEnumerable containing objects to be considered + System.Type that all objects in collection must be instances of + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that all items contained in collection are not equal to null. + + IEnumerable containing objects to be considered + + + + Asserts that all items contained in collection are not equal to null. + + IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Ensures that every object contained in collection exists within the collection + once and only once. + + IEnumerable of objects to be considered + + + + Ensures that every object contained in collection exists within the collection + once and only once. + + IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are equivalent, containing the same objects but the match may be in any order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are equivalent, containing the same objects but the match may be in any order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are not exactly equal. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are not exactly equal. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + + + + Asserts that expected and actual are not exactly equal. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are not exactly equal. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are not equivalent. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are not equivalent. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that collection contains actual as an item. + + IEnumerable of objects to be considered + Object to be found within collection + + + + Asserts that collection contains actual as an item. + + IEnumerable of objects to be considered + Object to be found within collection + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that collection does not contain actual as an item. + + IEnumerable of objects to be considered + Object that cannot exist within collection + + + + Asserts that collection does not contain actual as an item. + + IEnumerable of objects to be considered + Object that cannot exist within collection + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the superset does not contain the subset + + The IEnumerable subset to be considered + The IEnumerable superset to be considered + + + + Asserts that the superset does not contain the subset + + The IEnumerable subset to be considered + The IEnumerable superset to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the superset contains the subset. + + The IEnumerable subset to be considered + The IEnumerable superset to be considered + + + + Asserts that the superset contains the subset. + + The IEnumerable subset to be considered + The IEnumerable superset to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the subset does not contain the superset + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + + + + Asserts that the subset does not contain the superset + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the subset contains the superset. + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + + + + Asserts that the subset contains the superset. + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array, list or other collection is empty + + An array, list or other collection implementing IEnumerable + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array,list or other collection is empty + + An array, list or other collection implementing IEnumerable + + + + Assert that an array, list or other collection is empty + + An array, list or other collection implementing IEnumerable + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array,list or other collection is empty + + An array, list or other collection implementing IEnumerable + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + A custom comparer to perform the comparisons + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + A custom comparer to perform the comparisons + + + + AllItemsConstraint applies another constraint to each + item in a collection, succeeding if they all succeed. + + + + + Construct an AllItemsConstraint on top of an existing constraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the item constraint to each item in the collection, + failing if any item fails. + + + + + + + AndConstraint succeeds only if both members succeed. + + + + + Create an AndConstraint from two other constraints + + The first constraint + The second constraint + + + + Gets text describing a constraint + + + + + Apply both member constraints to an actual value, succeeding + succeeding only if both of them succeed. + + The actual value + True if the constraints both succeeded + + + + Write the actual value for a failing constraint test to a + MessageWriter. The default implementation simply writes + the raw value of actual, leaving it to the writer to + perform any formatting. + + The writer on which the actual value is displayed + + + + is used to determine whether the value is equal to any of the expected values. + + + + + Construct a + + Collection of expected values + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether item is present in expected collection + + Actual item type + Actual item + + + + Flag the constraint to ignore case and return self. + + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + + + + Flag the constraint to use the supplied Comparison object. + + The Comparison object to use. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IEqualityComparer object to use. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + + + + Flag the constraint to use the supplied boolean-returning delegate. + + The supplied boolean-returning delegate to use. + + + + AssignableFromConstraint is used to test that an object + can be assigned from a given Type. + + + + + Construct an AssignableFromConstraint for the type provided + + + + + + Apply the constraint to an actual value, returning true if it succeeds + + The actual argument + True if the constraint succeeds, otherwise false. + + + + AssignableToConstraint is used to test that an object + can be assigned to a given Type. + + + + + Construct an AssignableToConstraint for the type provided + + + + + + Apply the constraint to an actual value, returning true if it succeeds + + The actual argument + True if the constraint succeeds, otherwise false. + + + + AttributeConstraint tests that a specified attribute is present + on a Type or other provider and that the value of the attribute + satisfies some other constraint. + + + + + Constructs an AttributeConstraint for a specified attribute + Type and base constraint. + + + + + + + Determines whether the Type or other provider has the + expected attribute and if its value matches the + additional constraint specified. + + + + + Returns a string representation of the constraint. + + + + + AttributeExistsConstraint tests for the presence of a + specified attribute on a Type. + + + + + Constructs an AttributeExistsConstraint for a specific attribute Type + + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Tests whether the object provides the expected attribute. + + A Type, MethodInfo, or other ICustomAttributeProvider + True if the expected attribute is present, otherwise false + + + + BinaryConstraint is the abstract base of all constraints + that combine two other constraints in some fashion. + + + + + The first constraint being combined + + + + + The second constraint being combined + + + + + Construct a BinaryConstraint from two other constraints + + The first constraint + The second constraint + + + + BinarySerializableConstraint tests whether + an object is serializable in binary format. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Returns the string representation + + + + + CollectionConstraint is the abstract base class for + constraints that operate on collections. + + + + + Construct an empty CollectionConstraint + + + + + Construct a CollectionConstraint + + + + + + Determines whether the specified enumerable is empty. + + The enumerable. + + if the specified enumerable is empty; otherwise, . + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Protected method to be implemented by derived classes + + + + + + + CollectionContainsConstraint is used to test whether a collection + contains an expected object as a member. + + + + + Construct a CollectionContainsConstraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Gets the expected object + + + + + Test whether the expected item is contained in the collection + + + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + + CollectionEquivalentConstraint is used to determine whether two + collections are equivalent. + + + + The result of the from the collections + under comparison. + + + Construct a CollectionEquivalentConstraint + Expected collection. + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether two collections are equivalent + + + + + + + Test whether the collection is equivalent to the expected. + + + Actual collection type. + + + Actual collection to compare. + + + A indicating whether or not + the two collections are equivalent. + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + Provides a for the . + + + Result of a of the collections to compare for equivalence. + + + Construct a using a . + Source . + Result of the collection comparison. + Actual collection to compare. + Whether or not the succeeded. + + + Write any additional lines (following Expected: and But was:) for a failing constraint. + The to write the failure message to. + + + + CollectionItemsEqualConstraint is the abstract base class for all + collection constraints that apply some notion of item equality + as a part of their operation. + + + + + The NUnitEqualityComparer in use for this constraint + + + + + Construct an empty CollectionConstraint + + + + + Construct a CollectionConstraint + + + + + + Get a flag indicating whether the user requested us to ignore case. + + + + + Get a flag indicating whether any external comparers are in use. + + + + + Flag the constraint to ignore case and return self. + + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + + + + Flag the constraint to use the supplied Comparison object. + + The Comparison object to use. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + + + + Flag the constraint to use the supplied boolean-returning delegate. + + The supplied boolean-returning delegate to use. + + + + Compares two collection members for equality + + + + + Return a new CollectionTally for use in making tests + + The collection to be included in the tally + + + + CollectionOrderedConstraint is used to test whether a collection is ordered. + + + + + Construct a CollectionOrderedConstraint + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + If used performs a default ascending comparison + + + + + If used performs a reverse comparison + + + + + Modifies the constraint to use an and returns self. + + + + + Modifies the constraint to use an and returns self. + + + + + Modifies the constraint to use a and returns self. + + + + + Modifies the constraint to test ordering by the value of + a specified property and returns self. + + + + + Then signals a break between two ordering steps + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Test whether the collection is ordered + + + + + Returns the string representation of the constraint. + + + + + + An OrderingStep represents one stage of the sort + + + + + Constructor for success result. + + The Constraint to which this result applies. + The actual value to which the Constraint was applied. + + + + Constructor for failure result. + + The Constraint to which this result applies. + The actual value to which the Constraint was applied. + Index at which collection order breaks. + Value at which collection order breaks. + + + + CollectionSubsetConstraint is used to determine whether + one collection is a subset of another + + + + + Construct a CollectionSubsetConstraint + + The collection that the actual value is expected to be a subset of + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the actual collection is a subset of + the expected collection provided. + + + + + + + Test whether the constraint is satisfied by a given value. + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + + CollectionSupersetConstraint is used to determine whether + one collection is a superset of another + + + + + Construct a CollectionSupersetConstraint + + The collection that the actual value is expected to be a superset of + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the actual collection is a superset of + the expected collection provided. + + + + + + + Test whether the constraint is satisfied by a given value. + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + counts (tallies) the number of occurrences + of each object in one or more enumerations. + + + The result of a . + + + Items that were not in the expected collection. + + + Items that were not accounted for in the expected collection. + + + Initializes a new instance of the class with the given fields. + + + The result of the comparison between the two collections. + + + Construct a CollectionTally object from a comparer and a collection. + The comparer to use for equality. + The expected collection to compare against. + + + Try to remove an object from the tally. + The object to remove. + + + Try to remove a set of objects from the tally. + The objects to remove. + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Flag indicating whether or not this is the top level comparison. + + + + + A list of tracked comparisons + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two types related by . + + + + + Interface for comparing two s. + + + + + Method for comparing two objects with a tolerance. + + The first object to compare. + The second object to compare. + The tolerance to use when comparing the objects. + The evaluation state of the comparison. + + if the objects cannot be compared using the method. + Otherwise the result of the comparison is returned. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two types related by . + + + + + Comparator for two s or s. + + + + + Comparator for two Tuples. + + + + + Base class for comparators for tuples (both regular Tuples and ValueTuples). + + + + + Comparator for two ValueTuples. + + + + + ComparisonAdapter class centralizes all comparisons of + values in NUnit, adapting to the use of any provided + , + or . + + + + + Gets the default ComparisonAdapter, which wraps an + NUnitComparer object. + + + + + Returns a ComparisonAdapter that wraps an + + + + + Returns a ComparisonAdapter that wraps an + + + + + Returns a ComparisonAdapter that wraps a + + + + + Compares two objects + + + + + Construct a default ComparisonAdapter + + + + + Construct a ComparisonAdapter for an + + + + + Compares two objects + + + + + + + + ComparerAdapter extends and + allows use of an or + to actually perform the comparison. + + + + + Construct a ComparisonAdapter for an + + + + + Compare a Type T to an object + + + + + Construct a ComparisonAdapter for a + + + + + Compare a Type T to an object + + + + + Abstract base class for constraints that compare values to + determine if one is greater than, equal to or less than + the other. + + + + + The value against which a comparison is to be made + + + + + Tolerance used in making the comparison + + + + + ComparisonAdapter to be used in making the comparison + + + + + Initializes a new instance of the class. + + The value against which to make a comparison. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + A ConstraintResult + + + + Protected function overridden by derived class to actually perform the comparison + + + + + Modifies the constraint to use an and returns self + + The comparer used for comparison tests + A constraint modified to use the given comparer + + + + Modifies the constraint to use an and returns self + + The comparer used for comparison tests + A constraint modified to use the given comparer + + + + Modifies the constraint to use a and returns self + + The comparer used for comparison tests + A constraint modified to use the given comparer + + + + Set the tolerance for use in this comparison + + + + + Switches the .Within() modifier to interpret its tolerance as + a percentage that the actual values is allowed to deviate from + the expected value. + + Self + + + + Provides standard description of what the constraint tests + based on comparison text. + + Describes the comparison being tested, throws + if null + Is thrown when null passed to a method + + + + Delegate used to delay evaluation of the actual value + to be used in evaluating a constraint + + + + + The Constraint class is the base of all built-in constraints + within NUnit. It provides the operator overloads used to combine + constraints. + + + + + Construct a constraint with optional arguments + + Arguments to be saved + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Arguments provided to this Constraint, for use in + formatting the description. + + + + + The ConstraintBuilder holding this constraint + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + Applies the constraint to an ActualValueDelegate that returns + the value to be tested. The default implementation simply evaluates + the delegate but derived classes may override it to provide for + delayed processing. + + An ActualValueDelegate + A ConstraintResult + + + + Test whether the constraint is satisfied by a given reference. + The default implementation simply dereferences the value but + derived classes may override it to provide for delayed processing. + + A reference to the value to be tested + A ConstraintResult + + + + Retrieves the value to be tested from an ActualValueDelegate. + The default implementation simply evaluates the delegate but derived + classes may override it to provide for delayed processing. + + An ActualValueDelegate + Delegate evaluation result + + + + Default override of ToString returns the constraint DisplayName + followed by any arguments within angle brackets. + + + + + + Returns the string representation of this constraint + + + + + This operator creates a constraint that is satisfied only if both + argument constraints are satisfied. + + + + + This operator creates a constraint that is satisfied if either + of the argument constraints is satisfied. + + + + + This operator creates a constraint that is satisfied if the + argument constraint is not satisfied. + + + + + Returns a ConstraintExpression by appending And + to the current constraint. + + + + + Returns a ConstraintExpression by appending And + to the current constraint. + + + + + Returns a ConstraintExpression by appending Or + to the current constraint. + + + + + Returns a DelayedConstraint.WithRawDelayInterval with the specified delay time. + + The delay, which defaults to milliseconds. + + + + + Returns a DelayedConstraint with the specified delay time + and polling interval. + + The delay in milliseconds. + The interval at which to test the constraint. + + + + + Resolves any pending operators and returns the resolved constraint. + + + + + ConstraintBuilder maintains the stacks that are used in + processing a ConstraintExpression. An OperatorStack + is used to hold operators that are waiting for their + operands to be reorganized. a ConstraintStack holds + input constraints as well as the results of each + operator applied. + + + + + OperatorStack is a type-safe stack for holding ConstraintOperators + + + + + Initializes a new instance of the class. + + The ConstraintBuilder using this stack. + + + + Gets a value indicating whether this is empty. + + if empty; otherwise, . + + + + Gets the topmost operator without modifying the stack. + + + + + Pushes the specified operator onto the stack. + + The operator to put onto the stack. + + + + Pops the topmost operator from the stack. + + The topmost operator on the stack + + + + ConstraintStack is a type-safe stack for holding Constraints + + + + + Initializes a new instance of the class. + + The ConstraintBuilder using this stack. + + + + Gets a value indicating whether this is empty. + + if empty; otherwise, . + + + + Pushes the specified constraint. As a side effect, + the constraint's Builder field is set to the + ConstraintBuilder owning this stack. + + The constraint to put onto the stack + + + + Pops this topmost constraint from the stack. + As a side effect, the constraint's Builder + field is set to null. + + The topmost constraint on the stack + + + + Initializes a new instance of the class. + + + + + Appends the specified operator to the expression by first + reducing the operator stack and then pushing the new + operator on the stack. + + The operator to push. + + + + Appends the specified constraint to the expression by pushing + it on the constraint stack. + + The constraint to push. + + + + Sets the top operator right context. + + The right context. + + + + Reduces the operator stack until the topmost item + precedence is greater than or equal to the target precedence. + + The target precedence. + + + + Resolves this instance, returning a Constraint. If the Builder + is not currently in a resolvable state, an exception is thrown. + + The resolved constraint + + + + Gets a value indicating whether this instance is resolvable. + + + if this instance is resolvable; otherwise, . + + + + + ConstraintExpression represents a compound constraint in the + process of being constructed from a series of syntactic elements. + + Individual elements are appended to the expression as they are + reorganized. When a constraint is appended, it is returned as the + value of the operation so that modifiers may be applied. However, + any partially built expression is attached to the constraint for + later resolution. When an operator is appended, the partial + expression is returned. If it's a self-resolving operator, then + a ResolvableConstraintExpression is returned. + + + + + The ConstraintBuilder holding the elements recognized so far + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the + class passing in a ConstraintBuilder, which may be pre-populated. + + The builder. + + + + Returns a string representation of the expression as it + currently stands. This should only be used for testing, + since it has the side-effect of resolving the expression. + + + + + + Appends an operator to the expression and returns the + resulting expression itself. + + + + + Appends a self-resolving operator to the expression and + returns a new ResolvableConstraintExpression. + + + + + Appends a constraint to the expression and returns that + constraint, which is associated with the current state + of the expression being built. Note that the constraint + is not reduced at this time. For example, if there + is a NotOperator on the stack we don't reduce and + return a NotConstraint. The original constraint must + be returned because it may support modifiers that + are yet to be applied. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if at least one of them succeeds. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them fail. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding only if a specified number of them succeed. + + + + + Returns a , which will + apply the following constraint to a collection of length one, succeeding + only if exactly one of them succeeds. + + + + + Returns a new PropertyConstraintExpression, which will either + test for the existence of the named property on the object + being tested or apply any following constraint to that property. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Length property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Count property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Message property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the InnerException property of the object being tested. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + With is currently a NOP - reserved for future use. + + + + + Returns the constraint provided as an argument - used to allow custom + custom constraints to easily participate in the syntax. + + + + + Returns the constraint provided as an argument - used to allow custom + custom constraints to easily participate in the syntax. + + + + + Returns a constraint that tests for null + + + + + Returns a constraint that tests for True + + + + + Returns a constraint that tests for False + + + + + Returns a constraint that tests for a positive value + + + + + Returns a constraint that tests for a negative value + + + + + Returns a constraint that tests if item is equal to zero + + + + + Returns a constraint that tests for NaN + + + + + Returns a constraint that tests for empty + + + + + Returns a constraint that tests whether a collection + contains all unique items. + + + + + Returns a constraint that tests whether an object graph is serializable in binary format. + + + + + Returns a constraint that tests whether an object graph is serializable in XML format. + + + + + Returns a constraint that tests two items for equality + + + + + Returns a constraint that tests that two references are the same object + + + + + Returns a constraint that tests whether the + actual value is greater than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a collection containing the same elements as the + collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a subset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a superset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether a collection is ordered + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + To search for a substring instead of a collection element, use the + overload. + + + + + + + Returns a new ContainsConstraint. This constraint + will, in turn, make use of the appropriate second-level + constraint, depending on the type of the actual argument. + + + To search for a collection element instead of a substring, use the + overload. + + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + + + Returns a new ContainsConstraint. This constraint + will, in turn, make use of the appropriate second-level + constraint, depending on the type of the actual argument. + This overload is only used if the item sought is a string, + since any other type implies that we are looking for a + collection member. + + + + + Returns a new DictionaryContainsKeyConstraint checking for the + presence of a particular key in the Dictionary key collection. + + The key to be matched in the Dictionary key collection + + + + Returns a new DictionaryContainsValueConstraint checking for the + presence of a particular value in the Dictionary value collection. + + The value to be matched in the Dictionary value collection + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that tests whether the path provided + is the same as an expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is the a subpath of the expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is the same path or under an expected path after canonicalization. + + + + + Returns a constraint that tests whether the actual value falls + inclusively within a specified range. + + Inclusive beginning of the range. + Inclusive end of the range. + + + + Returns a constraint that succeeds if the value + is a file or directory and it exists. + + + + + Returns a constraint that tests if an item is equal to any of parameters + + Expected values + + + + Returns a new IndexerConstraintExpression, which will + apply any following constraint to that indexer value. + + Index accessor values. + + + + ConstraintStatus represents the status of a ConstraintResult + returned by a Constraint being applied to an actual value. + + + + + The status has not yet been set + + + + + The constraint succeeded + + + + + The constraint failed + + + + + An error occurred in applying the constraint (reserved for future use) + + + + + Contains the result of matching a against an actual value. + + + + + Constructs a for a particular . + + The Constraint to which this result applies. + The actual value to which the Constraint was applied. + + + + Constructs a for a particular . + + The Constraint to which this result applies. + The actual value to which the Constraint was applied. + The status of the new ConstraintResult. + + + + Constructs a for a particular . + + The Constraint to which this result applies. + The actual value to which the Constraint was applied. + If true, applies a status of Success to the result, otherwise Failure. + + + + The actual value that was passed to the method. + + + + + Gets and sets the ResultStatus for this result. + + + + + True if actual value meets the Constraint criteria otherwise false. + + + + + Display friendly name of the constraint. + + + + + Description of the constraint may be affected by the state the constraint had + when was performed against the actual value. + + + + + Write the failure message to the MessageWriter provided + as an argument. The default implementation simply passes + the result and the actual value to the writer, which + then displays the constraint description and the value. + + Constraints that need to provide additional details, + such as where the error occurred, can override this. + + The MessageWriter on which to display the message + + + + Write some additional failure message. + + The MessageWriter on which to display the message + + + + Write the actual value for a failing constraint test to a + MessageWriter. The default implementation simply writes + the raw value of actual, leaving it to the writer to + perform any formatting. + + The writer on which the actual value is displayed + + + + ContainsConstraint tests a whether a string contains a substring + or a collection contains an object. It postpones the decision of + which test to use until the type of the actual argument is known. + This allows testing whether a string is contained in a collection + or as a substring of another string using the same syntax. + + + + + Initializes a new instance of the class. + + The expected value contained within the string/collection. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Flag the constraint to ignore case and return self. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + The DateTimes class contains common operations on Date and Time values. + + + + + Applies a delay to the match so that a match can be evaluated in the future. + + + + + Allows only changing the time dimension of delay interval and setting a polling interval of a DelayedConstraint + + + + + Creates a new DelayedConstraint.WithRawDelayInterval + + Parent DelayedConstraint on which delay interval dimension is required to be set + + + + Changes delay interval dimension to minutes + + + + + Changes delay interval dimension to seconds + + + + + Changes delay interval dimension to milliseconds + + + + + Set polling interval, in milliseconds + + A time interval, in milliseconds + + + + + Allows only setting the polling interval of a DelayedConstraint + + + + + Creates a new DelayedConstraint.WithDimensionedDelayInterval + + Parent DelayedConstraint on which polling interval is required to be set + + + + Set polling interval, in milliseconds + + A time interval, in milliseconds + + + + + Allows only changing the time dimension of the polling interval of a DelayedConstraint + + + + + Creates a new DelayedConstraint.WithRawPollingInterval + + Parent DelayedConstraint on which polling dimension is required to be set + + + + Changes polling interval dimension to minutes + + + + + Changes polling interval dimension to seconds + + + + + Changes polling interval dimension to milliseconds + + + + + Delay value store as an Interval object + + + + + Polling value stored as an Interval object + + + + + Creates a new DelayedConstraint + + The inner constraint to decorate + The time interval after which the match is performed + If the value of is less than 0 + + + + Creates a new DelayedConstraint + + The inner constraint to decorate + The time interval after which the match is performed, in milliseconds + The time interval used for polling, in milliseconds + If the value of is less than 0 + + + + Gets text describing a constraint + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for if the base constraint fails, false if it succeeds + + + + Test whether the constraint is satisfied by a delegate + + The delegate whose value is to be tested + A ConstraintResult + + + + Test whether the constraint is satisfied by a given reference. + Overridden to wait for the specified delay period before + calling the base constraint with the dereferenced value. + + A reference to the value to be tested + True for success, false for failure + + + + Returns the string representation of the constraint. + + + + + Adjusts a Timestamp by a given TimeSpan + + + + + + + + Returns the difference between two Timestamps as a TimeSpan + + + + + + + + DictionaryContainsKeyConstraint is used to test whether a dictionary + contains an expected object as a key. + + + + + Construct a DictionaryContainsKeyConstraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Gets the expected object + + + + + Returns a new DictionaryContainsKeyValuePairConstraint checking for the + presence of a particular key-value-pair in the dictionary. + + + + + Flag the constraint to ignore case and return self. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + + + + Test whether the expected key is contained in the dictionary + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + + + + Flag the constraint to use the supplied Comparison object. + + The Comparison object to use. + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + + + + Flag the constraint to use the supplied boolean-returning delegate. + + The supplied boolean-returning delegate to use. + + + + DictionaryContainsKeyValuePairConstraint is used to test whether a dictionary + contains an expected object as a key-value-pair. + + + + + Construct a DictionaryContainsKeyValuePairConstraint + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + + + + Test whether the expected key is contained in the dictionary + + + + + DictionaryContainsValueConstraint is used to test whether a dictionary + contains an expected object as a value. + + + + + Construct a DictionaryContainsValueConstraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Gets the expected object + + + + + Test whether the expected value is contained in the dictionary + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + + Provides a for the constraints + that are applied to each item in the collection + + + + + Constructs a for a particular + Only used for Failure + + The Constraint to which this result applies + The actual value to which the Constraint was applied + Actual item that does not match expected condition + Non matching item index + + + + Write constraint description, actual items, and non-matching item + + The MessageWriter on which to display the message + + + + EmptyCollectionConstraint tests whether a collection is empty. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Check that the collection is empty + + + + + + + EmptyConstraint tests a whether a string or collection is empty, + postponing the decision about which test is applied until the + type of the actual argument is known. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + EmptyDirectoryConstraint is used to test that a directory is empty + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + EmptyGuidConstraint tests whether a Guid is empty. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + EmptyStringConstraint tests whether a string is empty. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + EndsWithConstraint can test whether a string ends + with an expected substring. + + + + + Initializes a new instance of the class. + + The expected string + + + + Test whether the constraint is matched by the actual value. + This is a template method, which calls the IsMatch method + of the derived class. + + + + + + + EqualConstraint is able to compare an actual value with the + expected value provided in its constructor. Two objects are + considered equal if both are null, or if both have the same + value. NUnit has special semantics for some object types. + + + + + NUnitEqualityComparer used to test equality. + + + + + Initializes a new instance of the class. + + The expected value. + + + + Gets the tolerance for this comparison. + + + The tolerance. + + + + + Gets a value indicating whether to compare case insensitive. + + + if comparing case insensitive; otherwise, . + + + + + Gets a value indicating whether or not to clip strings. + + + if set to clip strings otherwise, . + + + + + Gets the failure points. + + + The failure points. + + + + + Flag the constraint to ignore case and return self. + + + + + Flag the constraint to suppress string clipping + and return self. + + + + + Flag the constraint to compare arrays as collections + and return self. + + + + + Flag the constraint to use a tolerance when determining equality. + + Tolerance value to be used + Self. + + + + Flags the constraint to include + property in comparison of two values. + + + Using this modifier does not allow to use the + constraint modifier. + + + + + Switches the .Within() modifier to interpret its tolerance as + a distance in representable values (see remarks). + + Self. + + Ulp stands for "unit in the last place" and describes the minimum + amount a given value can change. For any integers, an ulp is 1 whole + digit. For floating point values, the accuracy of which is better + for smaller numbers and worse for larger numbers, an ulp depends + on the size of the number. Using ulps for comparison of floating + point results instead of fixed tolerances is safer because it will + automatically compensate for the added inaccuracy of larger numbers. + + + + + Switches the .Within() modifier to interpret its tolerance as + a percentage that the actual values is allowed to deviate from + the expected value. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in days. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in hours. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in minutes. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in seconds. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in milliseconds. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in clock ticks. + + Self + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied boolean-returning delegate. + + The boolean-returning delegate to use. + Self. + + + + Flag the constraint to use the supplied Comparison object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + The EqualConstraintResult class is tailored for formatting + and displaying the result of an EqualConstraint. + + + + + Construct an EqualConstraintResult + + + + + Write a failure message. Overridden to provide custom + failure messages for EqualConstraint. + + The MessageWriter to write to + + + + Display the failure information for two collections that did not match. + + The MessageWriter on which to display + The expected collection. + The actual collection + The depth of this failure in a set of nested collections + + + + Displays a single line showing the types and sizes of the expected + and actual collections or arrays. If both are identical, the value is + only shown once. + + The MessageWriter on which to display + The expected collection or array + The actual collection or array + The indentation level for the message line + + + + Displays a single line showing the point in the expected and actual + arrays at which the comparison failed. If the arrays have different + structures or dimensions, both values are shown. + + The MessageWriter on which to display + The expected array + The actual array + Index of the failure point in the underlying collections + The indentation level for the message line + + + + Display the failure information for two IEnumerables that did not match. + + The MessageWriter on which to display + The expected enumeration. + The actual enumeration + The depth of this failure in a set of nested collections + + + + EqualityAdapter class handles all equality comparisons + that use an , + or a . + + + + + Compares two objects, returning true if they are equal + + + + + Returns true if the two objects can be compared by this adapter. + The base adapter cannot handle IEnumerables except for strings. + + + + + Returns an that wraps an . + + + + + that wraps an . + + + + + Returns an that wraps an . + + + + + Returns an EqualityAdapter that uses a predicate function for items comparison. + + + + + + + + + Returns true if the two objects can be compared by this adapter. + The base adapter cannot handle IEnumerables except for strings. + + + + + Compares two objects, returning true if they are equal + + + + + Returns true if the two objects can be compared by this adapter. + Generic adapter requires objects of the specified type. + + + + + Returns an that wraps an . + + + + + Returns an that wraps an . + + + + + that wraps an . + + + + + Returns an that wraps a . + + + + + ExactCountConstraint applies another constraint to each + item in a collection, succeeding only if a specified + number of items succeed. + + + + + Construct a standalone ExactCountConstraint + + + + + + Construct an ExactCountConstraint on top of an existing constraint + + + + + + + Apply the item constraint to each item in the collection, + succeeding only if the expected number of items pass. + + The value to be tested + A ConstraintResult + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Contain the result of matching a against an actual value. + + + + + The count of matched items of the + + + + + A list with maximum count (+1) of items of the + + + + + Constructs a for a . + + The Constraint to which this result applies. + The actual value to which the Constraint was applied. + If true, applies a status of Success to the result, otherwise Failure. + Count of matched items of the + A list with maximum count (+1) of items of the + + + + Write the actual value for a failing constraint test to a MessageWriter. + + The writer on which the actual value is displayed + + + + ExactTypeConstraint is used to test that an object + is of the exact type provided in the constructor + + + + + Construct an ExactTypeConstraint for a given Type + + The expected Type. + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the constraint to an actual value, returning true if it succeeds + + The actual argument + True if the constraint succeeds, otherwise false. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + ExceptionTypeConstraint is a special version of ExactTypeConstraint + used to provided detailed info about the exception thrown in + an error message. + + + + + Constructs an ExceptionTypeConstraint + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + FalseConstraint tests that the actual value is false + + + + + Initializes a new instance of the class. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + FileExistsConstraint is used to determine if a file exists + + + + + Initializes a new instance of the class. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + FileOrDirectoryExistsConstraint is used to determine if a file or directory exists + + + + + If true, the constraint will only check if files exist, not directories + + + + + If true, the constraint will only check if directories exist, not files + + + + + Initializes a new instance of the class that + will check files and directories. + + + + + Initializes a new instance of the class that + will only check files if ignoreDirectories is true. + + if set to [ignore directories]. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + Helper routines for working with floating point numbers + + + The floating point comparison code is based on this excellent article: + https://randomascii.wordpress.com/2012/02/25/comparing-floating-point-numbers-2012-edition/ + + + "ULP" means Unit in the Last Place and in the context of this library refers to + the distance between two adjacent floating point numbers. IEEE floating point + numbers can only represent a finite subset of natural numbers, with greater + accuracy for smaller numbers and lower accuracy for very large numbers. + + + If a comparison is allowed "2 ulps" of deviation, that means the values are + allowed to deviate by up to 2 adjacent floating point values, which might be + as low as 0.0000001 for small numbers or as high as 10.0 for large numbers. + + + + + Union of a floating point variable and an integer + + + The union's value as a floating point variable + + + The union's value as an integer + + + The union's value as an unsigned integer + + + Union of a double precision floating point variable and a long + + + The union's value as a double precision floating point variable + + + The union's value as a long + + + The union's value as an unsigned long + + + Compares two floating point values for equality + First floating point value to be compared + Second floating point value t be compared + + Maximum number of representable floating point values that are allowed to + be between the left and the right floating point values + + True if both numbers are equal or close to being equal + + + Floating point values can only represent a finite subset of natural numbers. + For example, the values 2.00000000 and 2.00000024 can be stored in a float, + but nothing between them. + + + This comparison will count how many possible floating point values are between + the left and the right number. If the number of possible values between both + numbers is less than or equal to maxUlps, then the numbers are considered as + being equal. + + + Implementation partially follows the code outlined here: + http://www.anttirt.net/2007/08/19/proper-floating-point-comparisons/ + + + + + Compares two double precision floating point values for equality + First double precision floating point value to be compared + Second double precision floating point value t be compared + + Maximum number of representable double precision floating point values that are + allowed to be between the left and the right double precision floating point values + + True if both numbers are equal or close to being equal + + + Double precision floating point values can only represent a limited series of + natural numbers. For example, the values 2.0000000000000000 and 2.0000000000000004 + can be stored in a double, but nothing between them. + + + This comparison will count how many possible double precision floating point + values are between the left and the right number. If the number of possible + values between both numbers is less than or equal to maxUlps, then the numbers + are considered as being equal. + + + Implementation partially follows the code outlined here: + http://www.anttirt.net/2007/08/19/proper-floating-point-comparisons/ + + + + + + Tests whether a value is greater than the value supplied to its constructor + + + + + Initializes a new instance of the class. + + The expected value. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Perform the comparison + + + + + Tests whether a value is greater than or equal to the value supplied to its constructor + + + + + Initializes a new instance of the class. + + The expected value. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Perform the comparison + + + + + Interface for all constraints + + + + + The display name of this Constraint for use by ToString(). + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Arguments provided to this Constraint, for use in + formatting the description. + + + + + The ConstraintBuilder holding this constraint + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + Applies the constraint to an ActualValueDelegate that returns + the value to be tested. The default implementation simply evaluates + the delegate but derived classes may override it to provide for + delayed processing. + + An ActualValueDelegate + A ConstraintResult + + + + Test whether the constraint is satisfied by a given reference. + The default implementation simply dereferences the value but + derived classes may override it to provide for delayed processing. + + A reference to the value to be tested + A ConstraintResult + + + + IndexerConstraint extracts a named property and uses + its value as the actual value for a chained constraint. + + + + + Initializes a new instance of the class. + + The argument list for the indexer. + The constraint to apply to the indexer. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + + + + Returns the string representation of the constraint. + + + + + InstanceOfTypeConstraint is used to test that an object + is of the same type provided or derived from it. + + + + + Construct an InstanceOfTypeConstraint for the type provided + + The expected Type + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the constraint to an actual value, returning true if it succeeds + + The actual argument + True if the constraint succeeds, otherwise false. + + + + Keeps track of an interval time which can be represented in + Minutes, Seconds or Milliseconds + + + + + Constructs a interval given an value in milliseconds + + + + + Gets Interval value represented as a TimeSpan object + + + + + Returns the interval with the current value as a number of minutes. + + + + + Returns the interval with the current value as a number of seconds. + + + + + Returns the interval with the current value as a number of milliseconds. + + + + + Is true for intervals created with a non-zero value + + + + + Returns a string that represents the current object. + + + A string that represents the current object. + + + + + IntervalUnit provides the semantics to the value stored in Interval class. + + + + + Unit representing an Interval in minutes + + + + + Unit representing an Interval in seconds + + + + + Unit representing an Interval in milliseconds + + + + + The IResolveConstraint interface is implemented by all + complete and resolvable constraints and expressions. + + + + + Return the top-level constraint for this expression + + + + + + An extension of ResolvableConstraintExpression that adds a no-op Items property for readability. + + + + + Create a new instance of ItemsConstraintExpression + + + + + Create a new instance of ResolvableConstraintExpression, + passing in a pre-populated ConstraintBuilder. + + + + + + No-op property for readability. + + + + + Tests whether a value is less than the value supplied to its constructor + + + + + Initializes a new instance of the class. + + The expected value. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Perform the comparison + + + + + Tests whether a value is less than or equal to the value supplied to its constructor + + + + + Initializes a new instance of the class. + + The expected value. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Perform the comparison + + + + + MessageWriter is the abstract base for classes that write + constraint descriptions and messages in some form. The + class has separate methods for writing various components + of a message, allowing implementations to tailor the + presentation as needed. + + + + + Construct a MessageWriter given a culture + + + + + Abstract method to get the max line length + + + + + Method to write single line message with optional args, usually + written to precede the general failure message. + + The message to be written + Any arguments used in formatting the message + + + + Method to write single line message with optional args, usually + written to precede the general failure message, at a given + indentation level. + + The indentation level of the message + The message to be written + Any arguments used in formatting the message + + + + Display Expected and Actual lines for a constraint. This + is called by MessageWriter's default implementation of + WriteMessageTo and provides the generic two-line display. + + The failing constraint result + + + + Display Expected and Actual lines for given values. This + method may be called by constraints that need more control over + the display of actual and expected values than is provided + by the default implementation. + + The expected value + The actual value causing the failure + + + + Display Expected and Actual lines for given values, including + a tolerance value on the Expected line. + + The expected value + The actual value causing the failure + The tolerance within which the test was made + + + + Display the expected and actual string values on separate lines. + If the mismatch parameter is >=0, an additional line is displayed + line containing a caret that points to the mismatch point. + + The expected string value + The actual string value + The point at which the strings don't match or -1 + If true, case is ignored in locating the point where the strings differ + If true, the strings should be clipped to fit the line + + + + Writes the text for an actual value. + + The actual value. + + + + Writes the text for a generalized value. + + The value. + + + + Writes the text for a collection value, + starting at a particular point, to a max length + + The collection containing elements to write. + The starting point of the elements to write + The maximum number of elements to write + + + + Custom value formatter function + + The value + + + + + Custom value formatter factory function + + The next formatter function + ValueFormatter + If the given formatter is unable to handle a certain format, it must call the next formatter in the chain + + + + Static methods used in creating messages + + + + + Default amount of items used by method. + + + + + Static string used when strings are clipped + + + + + Formatting strings used for expected and actual values + + + + + Current head of chain of value formatters. Public for testing. + + + + + Add a formatter to the chain of responsibility. + + + + + + Formats text to represent a generalized value. + + The value + The formatted text + + + + Formats text for a collection value, + starting at a particular point, to a max length + + The collection containing elements to write. + The starting point of the elements to write + The maximum number of elements to write + + + + Returns the representation of a type as used in NUnitLite. + This is the same as Type.ToString() except for arrays, + which are displayed with their declared sizes. + + + + + + + Converts any control characters in a string + to their escaped representation. + + The string to be converted + The converted string + + + + Converts any null characters in a string + to their escaped representation. + + The string to be converted + The converted string + + + + Return the a string representation for a set of indices into an array + + Array of indices for which a string is needed + + + + Get an array of indices representing the point in a collection or + array corresponding to a single int index into the collection. + + The collection to which the indices apply + Index in the collection + Array of indices + + + + Clip a string to a given length, starting at a particular offset, returning the clipped + string with ellipses representing the removed parts + + The string to be clipped + The maximum permitted length of the result string + The point at which to start clipping + The clipped string + + + + Clip the expected and actual strings in a coordinated fashion, + so that they may be displayed together. + + + + + + + + + Shows the position two strings start to differ. Comparison + starts at the start index. + + The expected string + The actual string + The index in the strings at which comparison should start + Boolean indicating whether case should be ignored + -1 if no mismatch found, or the index where mismatch found + + + + NaNConstraint tests that the actual value is a double or float NaN + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test that the actual value is an NaN + + + + + + + NoItemConstraint applies another constraint to each + item in a collection, failing if any of them succeeds. + + + + + Construct a SomeItemsConstraint on top of an existing constraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the item constraint to each item in the collection, + failing if any item fails. + + + + + + + NotConstraint negates the effect of some other constraint + + + + + Initializes a new instance of the class. + + The base constraint to be negated. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for if the base constraint fails, false if it succeeds + + + + NullConstraint tests that the actual value is null + + + + + Initializes a new instance of the class. + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + The Numerics class contains common operations on numeric values. + + + + + Checks the type of the object, returning true if + the object is a numeric type. + + The object to check + true if the object is a numeric type + + + + Checks the type of the object, returning true if + the object is a floating point numeric type. + + The object to check + true if the object is a floating point numeric type + + + + Checks the type of the object, returning true if + the object is a fixed point numeric type. + + The object to check + true if the object is a fixed point numeric type + + + + Test two numeric values for equality, performing the usual numeric + conversions and using a provided or default tolerance. If the tolerance + provided is Empty, this method may set it to a default tolerance. + + The expected value + The actual value + A reference to the tolerance in effect + True if the values are equal + + + + Compare two numeric values, performing the usual numeric conversions. + + The expected value + The actual value + The relationship of the values to each other + + + + Calculates the difference between 2 values in absolute/percent mode. + + The expected value + The actual value + Tolerance mode to specify difference representation + The difference between the values + + + + NUnitComparer encapsulates NUnit's default behavior + in comparing two objects. + + + + + Returns the default NUnitComparer. + + + + + Compares two objects + + + + + + + + NUnitEqualityComparer encapsulates NUnit's handling of + equality tests between objects. + + + + + If true, all string comparisons will ignore case + + + + + If true, arrays will be treated as collections, allowing + those of different dimensions to be compared + + + + + Comparison objects used in comparisons for some constraints. + + + + + List of points at which a failure occurred. + + + + + List of comparers used to compare pairs of objects. + + + + + Initializes a new instance of the class. + + + + + Returns the default NUnitEqualityComparer + + + + + Gets and sets a flag indicating whether case should + be ignored in determining equality. + + + + + Gets and sets a flag indicating that arrays should be + compared as collections, without regard to their shape. + + + + + Gets the list of external comparers to be used to + test for equality. They are applied to members of + collections, in place of NUnit's own logic. + + + + + Gets the list of failure points for the last Match performed. + The list consists of objects to be interpreted by the caller. + This generally means that the caller may only make use of + objects it has placed on the list at a particular depth. + + + + + Flags the comparer to include + property in comparison of two values. + + + Using this modifier does not allow to use the + modifier. + + + + + Compares two objects for equality within a tolerance. + + + + + Compares two objects for equality within a tolerance. + + + + + FailurePoint class represents one point of failure + in an equality test. + + + + + The location of the failure + + + + + The expected value + + + + + The actual value + + + + + Indicates whether the expected value is valid + + + + + Indicates whether the actual value is valid + + + + + Represents a constraint that succeeds if all the + members of a collection match a base constraint. + + + + + Returns a constraint that will apply the argument + to the members of a collection, succeeding if + they all succeed. + + + + + Operator that requires both its arguments to succeed + + + + + Construct an AndOperator + + + + + Apply the operator to produce an AndConstraint + + + + + Operator that tests for the presence of a particular attribute + on a type and optionally applies further tests to the attribute. + + + + + Construct an AttributeOperator for a particular Type + + The Type of attribute tested + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + Abstract base class for all binary operators + + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + + Gets the left precedence of the operator + + + + + Gets the right precedence of the operator + + + + + Abstract method that produces a constraint by applying + the operator to its left and right constraint arguments. + + + + + Abstract base for operators that indicate how to + apply a constraint to items in a collection. + + + + + Constructs a CollectionOperator + + + + + The ConstraintOperator class is used internally by a + ConstraintBuilder to represent an operator that + modifies or combines constraints. + + Constraint operators use left and right precedence + values to determine whether the top operator on the + stack should be reduced before pushing a new operator. + + + + + The precedence value used when the operator + is about to be pushed to the stack. + + + + + The precedence value used when the operator + is on the top of the stack. + + + + + The syntax element preceding this operator + + + + + The syntax element following this operator + + + + + The precedence value used when the operator + is about to be pushed to the stack. + + + + + The precedence value used when the operator + is on the top of the stack. + + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + + Represents a constraint that succeeds if the specified + count of members of a collection match a base constraint. + + + + + Construct an ExactCountOperator for a specified count + + The expected count + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + + Operator used to test for the presence of a Indexer + on an object and optionally apply further tests to the + value of that indexer. + + + + + Constructs a IndexerOperator for a particular set of indexer + parameters + + + + + Returns a IndexerConstraint applied to its argument. + + + + + Represents a constraint that succeeds if none of the + members of a collection match a base constraint. + + + + + Returns a constraint that will apply the argument + to the members of a collection, succeeding if + none of them succeed. + + + + + Negates the test of the constraint it wraps. + + + + + Constructs a new NotOperator + + + + + Returns a NotConstraint applied to its argument. + + + + + Operator that requires at least one of its arguments to succeed + + + + + Construct an OrOperator + + + + + Apply the operator to produce an OrConstraint + + + + + PrefixOperator takes a single constraint and modifies + its action in some way. + + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + + Returns the constraint created by applying this + prefix to another constraint. + + + + + + + Operator used to test for the presence of a named Property + on an object and optionally apply further tests to the + value of that property. + + + + + Gets the name of the property to which the operator applies + + + + + Constructs a PropOperator for a particular named property + + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + + Abstract base class for operators that are able to reduce to a + constraint whether or not another syntactic element follows. + + + + + Represents a constraint that succeeds if any of the + members of a collection match a base constraint. + + + + + Returns a constraint that will apply the argument + to the members of a collection, succeeding if + any of them succeed. + + + + + Operator that tests that an exception is thrown and + optionally applies further tests to the exception. + + + + + Construct a ThrowsOperator + + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + Represents a constraint that simply wraps the + constraint provided as an argument, without any + further functionality, but which modifies the + order of evaluation because of its precedence. + + + + + Constructor for the WithOperator + + + + + Returns a constraint that wraps its argument + + + + + OrConstraint succeeds if either member succeeds + + + + + Create an OrConstraint from two other constraints + + The first constraint + The second constraint + + + + Gets text describing a constraint + + + + + Apply the member constraints to an actual value, succeeding + succeeding as soon as one of them succeeds. + + The actual value + True if either constraint succeeded + + + + PathConstraint serves as the abstract base of constraints + that operate on paths and provides several helper methods. + + + + + Construct a PathConstraint for a give expected path + + The expected path + + + + Modifies the current instance to be case-sensitive + and returns it. + + + + + Returns the string representation of this constraint + + + + + Canonicalize the provided path + + + The path in standardized form + + + + Test whether one path in canonical form is a subpath of another path + + The first path - supposed to be the parent path + The second path - supposed to be the child path + + + + + Predicate constraint wraps a Predicate in a constraint, + returning success if the predicate is true. + + + + + Construct a PredicateConstraint from a predicate + + + + + Gets text describing a constraint + + + + + Determines whether the predicate succeeds when applied + to the actual value. + + + + + Abstract base class used for prefixes + + + + + The base constraint + + + + + Prefix used in forming the constraint description + + + + + Construct given a base constraint + + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Formats a prefix constraint's description. + + + + + PropertyConstraint extracts a named property and uses + its value as the actual value for a chained constraint. + + + + + Initializes a new instance of the class. + + The name. + The constraint to apply to the property. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + + + + Returns the string representation of the constraint. + + + + + Contains the result of matching a against an actual value. + + + + + Constructs a for a particular . + + The Constraint to which this result applies. + The base result with actual value to which the Constraint was applied. + + + + Write the additional failure message for a failing constraint to a + MessageWriter. + + The writer on which the actual value is displayed + + + + PropertyExistsConstraint tests that a named property + exists on the object provided through Match. + + Originally, PropertyConstraint provided this feature + in addition to making optional tests on the value + of the property. The two constraints are now separate. + + + + + Initializes a new instance of the class. + + The name of the property. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the property exists for a given object + + The object to be tested + True for success, false for failure + + + + Returns the string representation of the constraint. + + + + + + RangeConstraint tests whether two values are within a + specified range. + + + + + Initializes a new instance of the class. + + Inclusive beginning of the range. + Inclusive end of the range. + + + + Gets text describing a constraint + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Modifies the constraint to use an and returns self. + + + + + Modifies the constraint to use an and returns self. + + + + + Modifies the constraint to use a and returns self. + + + + + RegexConstraint can test whether a string matches + the pattern provided. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Initializes a new instance of the class. + + The pattern. + + + + Initializes a new instance of the class. + + The Regex pattern object. + + + + Modify the constraint to ignore case in matching. + + + + + Applies the regex constraint to an actual value, returning a ConstraintResult. + + The string to be tested. + True for success, false for failure. + + + + ResolvableConstraintExpression is used to represent a compound + constraint being constructed at a point where the last operator + may either terminate the expression or may have additional + qualifying constraints added to it. + + It is used, for example, for a Property element or for + an Exception element, either of which may be optionally + followed by constraints that apply to the property or + exception. + + + + + Create a new instance of ResolvableConstraintExpression + + + + + Create a new instance of ResolvableConstraintExpression, + passing in a pre-populated ConstraintBuilder. + + + + + Appends an And Operator to the expression + + + + + Appends an Or operator to the expression. + + + + + Resolve the current expression to a Constraint + + + + + ReusableConstraint wraps a constraint expression after + resolving it so that it can be reused consistently. + + + + + Construct a ReusableConstraint from a constraint expression + + The expression to be resolved and reused + + + + Converts a constraint to a ReusableConstraint + + The constraint to be converted + A ReusableConstraint + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Return the top-level constraint for this expression + + + + + + SameAsConstraint tests whether an object is identical to + the object passed to its constructor + + + + + Initializes a new instance of the class. + + The expected object. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Summary description for SamePathConstraint. + + + + + Initializes a new instance of the class. + + The expected path + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + SamePathOrUnderConstraint tests that one path is under another + + + + + Initializes a new instance of the class. + + The expected path + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + SomeItemsConstraint applies another constraint to each + item in a collection, succeeding if any of them succeeds. + + + + + Construct a SomeItemsConstraint on top of an existing constraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the item constraint to each item in the collection, + succeeding if any item succeeds. + + + + + + + Flag the constraint to use the supplied object. + + The type of the elements in the collection. + The type of the member. + The comparison function to use. + Self. + + + + Flag the constraint to use the supplied object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied object. + + The IComparer object to use. + Self. + + + + StartsWithConstraint can test whether a string starts + with an expected substring. + + + + + Initializes a new instance of the class. + + The expected string + + + + Test whether the constraint is matched by the actual value. + This is a template method, which calls the IsMatch method + of the derived class. + + + + + + + StringConstraint is the abstract base for constraints + that operate on strings. It supports the IgnoreCase + modifier for string operations. + + + + + The expected value + + + + + Indicates whether tests should be case-insensitive + + + + + Description of this constraint + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Constructs a StringConstraint without an expected value + + + + + Constructs a StringConstraint given an expected value + + The expected value + + + + Modify the constraint to ignore case in matching. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Test whether the constraint is satisfied by a given string + + The string to be tested + True for success, false for failure + + + + SubPathConstraint tests that the actual path is under the expected path + + + + + Initializes a new instance of the class. + + The expected path + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + SubstringConstraint can test whether a string contains + the expected substring. + + + + + Initializes a new instance of the class. + + The expected. + + + + Modify the constraint to ignore case in matching. + This will call Using(StringComparison.CurrentCultureIgnoreCase). + + Thrown when a comparison type different + than was already set. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Modify the constraint to the specified comparison. + + Thrown when a comparison type different + than was already set. + + + + ThrowsConstraint is used to test the exception thrown by + a delegate by applying a constraint to it. + + + + + Initializes a new instance of the class, + using a constraint to be applied to the exception. + + A constraint to apply to the caught exception. + + + + Get the actual exception thrown - used by Assert.Throws. + + + + + Gets text describing a constraint + + + + + Executes the code of the delegate and captures any exception. + If a non-null base constraint was provided, it applies that + constraint to the exception. + + A delegate representing the code to be tested + True if an exception is thrown and the constraint succeeds, otherwise false + + + + Converts an ActualValueDelegate to a TestDelegate + before calling the primary overload. + + + + + + + Write the actual value for a failing constraint test to a + MessageWriter. This override only handles the special message + used when an exception is expected but none is thrown. + + The writer on which the actual value is displayed + + + + ThrowsExceptionConstraint tests that an exception has + been thrown, without any further tests. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Executes the code and returns success if an exception is thrown. + + A delegate representing the code to be tested + True if an exception is thrown, otherwise false + + + + Applies the constraint to an ActualValueDelegate that returns + the value to be tested. The default implementation simply evaluates + the delegate but derived classes may override it to provide for + delayed processing. + + + + + ThrowsNothingConstraint tests that a delegate does not + throw an exception. + + + + + Gets text describing a constraint + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True if no exception is thrown, otherwise false + + + + Applies the constraint to an ActualValueDelegate that returns + the value to be tested. The default implementation simply evaluates + the delegate but derived classes may override it to provide for + delayed processing. + + An ActualValueDelegate + A ConstraintResult + + + + The Tolerance class generalizes the notion of a tolerance + within which an equality test succeeds. Normally, it is + used with numeric types, but it can be used with any + type that supports taking a difference between two + objects and comparing that difference to a value. + + + + + Returns a default Tolerance object, equivalent to an exact match. + + + + + Returns an empty Tolerance object, equivalent to an exact match. + + + + + Constructs a linear tolerance of a specified amount + + + + + Constructs a tolerance given an amount and + + + + + Returns a new tolerance, using the current amount as a percentage. + + + + + Returns a new tolerance, using the current amount in Ulps + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of days. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of hours. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of minutes. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of seconds. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of milliseconds. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of clock ticks. + + + + + Gets the for the current Tolerance + + + + + Gets the magnitude of the current Tolerance instance. + + + + + Returns true if the current tolerance has not been set or is using the . + + + + + Apply the tolerance to an expected value and return + a Tolerance.Range that represents the acceptable values. + + + + + Tests that the current Tolerance is linear with a + numeric value, throwing an exception if it is not. + + + + + Tolerance.Range represents the range of values that match + a specific tolerance, when applied to a specific value. + + + + + The lower bound of the range + + + + + The upper bound of the range + + + + + Constructs a range + + + + + Modes in which the tolerance value for a comparison can be interpreted. + + + + + The tolerance was created with a value, without specifying + how the value would be used. This is used to prevent setting + the mode more than once and is generally changed to Linear + upon execution of the test. + + + + + The tolerance is used as a numeric range within which + two compared values are considered to be equal. + + + + + Interprets the tolerance as the percentage by which + the two compared values my deviate from each other. + + + + + Compares two values based in their distance in + representable numbers. + + + + + TrueConstraint tests that the actual value is true + + + + + Initializes a new instance of the class. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + TypeConstraint is the abstract base for constraints + that take a Type as their expected value. + + + + + The expected Type used by the constraint + + + + + The type of the actual argument to which the constraint was applied + + + + + Construct a TypeConstraint for a given Type + + The expected type for the constraint + Prefix used in forming the constraint description + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + Apply the constraint to an actual value, returning true if it succeeds + + The actual argument + True if the constraint succeeds, otherwise false. + + + + UniqueItemsConstraint tests whether all the items in a + collection are unique. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Check that all items are unique. + + + + + + + + + + XmlSerializableConstraint tests whether + an object is serializable in XML format. + + + + + Gets text describing a constraint + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Returns the string representation of this constraint + + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + + + Returns a new DictionaryContainsKeyConstraint checking for the + presence of a particular key in the dictionary. + + + + + Returns a new DictionaryContainsValueConstraint checking for the + presence of a particular value in the dictionary. + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Asserts on Directories + + + + + DO NOT USE! Use DirectoryAssert.AreEqual(...) instead. + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + Verifies that two directories are equal. Two directories are considered + equal if both are null, or if both point to the same directory. + If they are not equal an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + The message to display if the directories are not equal + Arguments to be used in formatting the message + + + + Verifies that two directories are equal. Two directories are considered + equal if both are null, or if both point to the same directory. + If they are not equal an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + + + + Asserts that two directories are not equal. If they are equal + an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that two directories are not equal. If they are equal + an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + + + + Asserts that the directory exists. If it does not exist + an is thrown. + + A directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that the directory exists. If it does not exist + an is thrown. + + A directory containing the actual value + + + + Asserts that the directory exists. If it does not exist + an is thrown. + + The path to a directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that the directory exists. If it does not exist + an is thrown. + + The path to a directory containing the actual value + + + + Asserts that the directory does not exist. If it does exist + an is thrown. + + A directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that the directory does not exist. If it does exist + an is thrown. + + A directory containing the actual value + + + + Asserts that the directory does not exist. If it does exist + an is thrown. + + The path to a directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that the directory does not exist. If it does exist + an is thrown. + + The path to a directory containing the actual value + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a constraint that succeeds if the value + is a file or directory and it exists. + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + + + Returns a new . This constraint + will, in turn, make use of the appropriate second-level + constraint, depending on the type of the actual argument. + This overload is only used if the item sought is a string, + since any other type implies that we are looking for a + collection member. + + + + + Returns a new DictionaryContainsKeyConstraint checking for the + presence of a particular key in the Dictionary key collection. + + The key to be matched in the Dictionary key collection + + + + Returns a new DictionaryContainsValueConstraint checking for the + presence of a particular value in the Dictionary value collection. + + The value to be matched in the Dictionary value collection + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + If throws, returns "SomeException was thrown by the Exception.StackTrace + property." See also . + + + + + If throws, returns "SomeException was thrown by the Exception.Message + property." + + + + + If throws, returns "SomeException was thrown by the Exception.Data property." + + + + + Thrown when an assertion failed. + + + + The error message that explains + the reason for the exception + + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + Serialization Constructor + + + + + Gets the ResultState provided by this exception + + + + + Thrown when an assertion failed. + + + + + + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + Serialization Constructor + + + + + Gets the ResultState provided by this exception + + + + + Thrown when a test executes inconclusively. + + + + The error message that explains + the reason for the exception + + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + Serialization Constructor + + + + + Gets the ResultState provided by this exception + + + + + Thrown when an assertion failed. + + + + + Construct based on the TestResult so far. This is the constructor + used normally, when exiting the multiple assert block with failures. + Not used internally but provided to facilitate debugging. + + + The current result, up to this point. The result is not used + internally by NUnit but is provided to facilitate debugging. + + + + + Serialization Constructor + + + + + Gets the provided by this exception. + + + + + Gets the of this test at the point the exception was thrown, + + + + + Abstract base for Exceptions that terminate a test and provide a ResultState. + + + + The error message that explains + the reason for the exception + + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + Serialization Constructor + + + + + Gets the ResultState provided by this exception + + + + + Thrown when an assertion failed. + + + + + + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + Serialization Constructor + + + + + Gets the ResultState provided by this exception + + + + + Contains extension methods that do not require a special using directive. + + + + + Asserts on Files + + + + + DO NOT USE! Use FileAssert.AreEqual(...) instead. + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + Verifies that two Streams are equal. Two Streams are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The expected Stream + The actual Stream + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Verifies that two Streams are equal. Two Streams are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The expected Stream + The actual Stream + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + A file containing the value that is expected + A file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + A file containing the value that is expected + A file containing the actual value + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + + + + Asserts that two Streams are not equal. If they are equal + an is thrown. + + The expected Stream + The actual Stream + The message to be displayed when the two Stream are the same. + Arguments to be used in formatting the message + + + + Asserts that two Streams are not equal. If they are equal + an is thrown. + + The expected Stream + The actual Stream + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + A file containing the value that is expected + A file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + A file containing the value that is expected + A file containing the actual value + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + + + + Asserts that the file exists. If it does not exist + an is thrown. + + A file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that the file exists. If it does not exist + an is thrown. + + A file containing the actual value + + + + Asserts that the file exists. If it does not exist + an is thrown. + + The path to a file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that the file exists. If it does not exist + an is thrown. + + The path to a file containing the actual value + + + + Asserts that the file does not exist. If it does exist + an is thrown. + + A file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that the file does not exist. If it does exist + an is thrown. + + A file containing the actual value + + + + Asserts that the file does not exist. If it does exist + an is thrown. + + The path to a file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that the file does not exist. If it does exist + an is thrown. + + The path to a file containing the actual value + + + + Class used to guard against unexpected argument values + or operations by throwing an appropriate exception. + + + + + Throws an exception if an argument is null + + The value to be tested + The name of the argument + + + + Throws an exception if a string argument is null or empty + + The value to be tested + The name of the argument + + + + Throws an ArgumentOutOfRangeException if the specified condition is not met. + + The condition that must be met + The exception message to be used + The name of the argument + + + + Throws an ArgumentException if the specified condition is not met. + + The condition that must be met + The exception message to be used + The name of the argument + + + + Throws an InvalidOperationException if the specified condition is not met. + + The condition that must be met + The exception message to be used + + + + Throws an if the specified delegate is async void. + + + + + Throws an if the specified delegate is async void. + + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if at least one of them succeeds. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them fail. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding only if a specified number of them succeed. + + + + + Returns a which will apply + the following constraint to only one member of the collection, + and fail if none or more than one match occurs. + + + + + Returns a new PropertyConstraintExpression, which will either + test for the existence of the named property on the object + being tested or apply any following constraint to that property. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Length property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Count property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Message property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the InnerException property of the object being tested. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + + + Returns a new IndexerConstraintExpression, which will + apply any following constraint to that indexer value. + + Index accessor values. + + + + The AssertionResult class represents the result of a single assertion. + + + + + Construct an AssertionResult + + + + The pass/fail status of the assertion + + + The message produced by the assertion, or null + + + The stack trace associated with the assertion, or null + + + Determines whether the specified object is equal to the current object. + The object to compare with the current object. + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + + + Serves as the default hash function. + + + + ToString Override + + + + + AssertionStatus enumeration represents the possible outcomes of an assertion. + The order of definition is significant, higher level values override lower + ones in determining the overall result of a test. + + + + + An assumption failed + + + + + The assertion succeeded + + + + + A warning message was issued + + + + + The assertion failed + + + + + An unexpected exception was thrown + + + + + The IApplyToContext interface is implemented by attributes + that want to make changes to the execution context before + a test is run. + + + + + Apply changes to the execution context + + The execution context + + + + The IApplyToTest interface is implemented by self-applying + attributes that modify the state of a test in some way. + + + + + Modifies a test as defined for the specific attribute. + + The test to modify + + + + CombiningStrategy is the abstract base for classes that + know how to combine values provided for individual test + parameters to create a set of test cases. + + + + + Gets the test cases generated by the CombiningStrategy. + + The test cases. + + + + ICommandWrapper is implemented by attributes and other + objects able to wrap a TestCommand with another command. + + + Attributes or other objects should implement one of the + derived interfaces, rather than this one, since they + indicate in which part of the command chain the wrapper + should be applied. + + + + + Wrap a command and return the result. + + The command to be wrapped + The wrapped command + + + + Objects implementing this interface are used to wrap + the TestMethodCommand itself. They apply after SetUp + has been run and before TearDown. + + + + + Objects implementing this interface are used to wrap + the entire test, including SetUp and TearDown. + + + + + Objects implementing this interface are used to wrap + tests that can repeat. The implementing command is run once, + invoking the chained commands any number of times. + + + + + Any ITest that implements this interface is at a level that the implementing + class should be disposed at the end of the test run + + + + + The IFixtureBuilder interface is exposed by a class that knows how to + build test fixtures from a specified type. In general, it is exposed + by an attribute, but it may be implemented in a helper class used by the + attribute in some cases. + + + + + Builds any number of test fixtures from the specified type. + + The type info of the fixture to be used. + + + + The IFixtureBuilder2 interface extends IFixtureBuilder by allowing + use of a PreFilter, which is used to select methods as test cases. + + + + + Builds any number of test fixtures from the specified type. + + The type info of the fixture to be used. + PreFilter to be used to select methods. + + + + IImplyFixture is an empty marker interface used by attributes like + TestAttribute that cause the class where they are used to be treated + as a TestFixture even without a TestFixtureAttribute. + + Marker interfaces are not usually considered a good practice, but + we use it here to avoid cluttering the attribute hierarchy with + classes that don't contain any extra implementation. + + + + + The IMethodInfo class is used to encapsulate information + about a method in a platform-independent manner. + + + + + Gets the Type from which this method was reflected. + + + + + Gets the MethodInfo for this method. + + + + + Gets the name of the method. + + + + + Gets a value indicating whether the method is abstract. + + + + + Gets a value indicating whether the method is public. + + + + + Gets a value indicating whether the method is static. + + + + + Gets a value indicating whether the method contains unassigned generic type parameters. + + + + + Gets a value indicating whether the method is a generic method. + + + + + Gets a value indicating whether the MethodInfo represents the definition of a generic method. + + + + + Gets the return Type of the method. + + + + + Gets the parameters of the method. + + + + + + Returns the Type arguments of a generic method or the Type parameters of a generic method definition. + + + + + Replaces the type parameters of the method with the array of types provided and returns a new IMethodInfo. + + The type arguments to be used + A new IMethodInfo with the type arguments replaced + + + + Invokes the method, converting any TargetInvocationException to an NUnitException. + + The object on which to invoke the method + The argument list for the method + The return value from the invoked method + + + + Provides data for a single test parameter. + + + + + Determines whether any data is available for a parameter. + + The parameter of a parameterized test. + + + + Retrieves a list of arguments which can be passed to the specified parameter. + + The parameter of a parameterized test. + + + + Provides data for a single test parameter. + + + + + Retrieves a list of arguments which can be passed to the specified parameter. + + The parameter of a parameterized test. + + + + The IParameterInfo interface is an abstraction of a .NET parameter. + + + + + Gets a value indicating whether the parameter is optional + + + + + Gets an IMethodInfo representing the method for which this is a parameter + + + + + Gets the underlying .NET ParameterInfo + + + + + Gets the Type of the parameter + + + + + Implemented by filters for use in deciding which + Types and Methods should be used to generate tests. + + + + + Use the filter on a Type, returning true if the type matches the filter + and should therefore be included in the discovery process. + + + + + Use the filter on a Type, returning true if the type matches the filter + and should therefore be included in the discovery process. + + + + + A PropertyBag represents a collection of name/value pairs + that allows duplicate entries with the same key. Methods + are provided for adding a new pair as well as for setting + a key to a single value. All keys are strings but values + may be of any type. Null values are not permitted, since + a null entry represents the absence of the key. + + The entries in a PropertyBag are of two kinds: those that + take a single value and those that take multiple values. + However, the PropertyBag has no knowledge of which entries + fall into each category and the distinction is entirely + up to the code using the PropertyBag. + + When working with multi-valued properties, client code + should use the Add method to add name/value pairs and + indexing to retrieve a list of all values for a given + key. For example: + + bag.Add("Tag", "one"); + bag.Add("Tag", "two"); + Assert.That(bag["Tag"], + Is.EqualTo(new string[] { "one", "two" })); + + When working with single-valued properties, client code + should use the Set method to set the value and Get to + retrieve the value. The GetSetting methods may also be + used to retrieve the value in a type-safe manner while + also providing default. For example: + + bag.Set("Priority", "low"); + bag.Set("Priority", "high"); // replaces value + Assert.That(bag.Get("Priority"), + Is.EqualTo("high")); + Assert.That(bag.GetSetting("Priority", "low"), + Is.EqualTo("high")); + + + + + Adds a key/value pair to the property bag + + The key + The value + + + + Sets the value for a key, removing any other + values that are already in the property set. + + + + + + + Gets a single value for a key, using the first + one if multiple values are present and returning + null if the value is not found. + + + + + Gets a flag indicating whether the specified key has + any entries in the property set. + + The key to be checked + True if their are values present, otherwise false + + + + Gets or sets the list of values for a particular key + + The key for which the values are to be retrieved or set + + + + Gets a collection containing all the keys in the property set + + + + + The IReflectionInfo interface is implemented by NUnit wrapper objects that perform reflection. + + + + + Returns an array of custom attributes of the specified type applied to this object + + + + + Returns a value indicating whether an attribute of the specified type is defined on this object. + + + + + The ISimpleTestBuilder interface is exposed by a class that knows how to + build a single tests from a specified method. In general, + it is exposed by an attribute, but it may be implemented in a helper class + used by the attribute in some cases. + + + + + Builds a single test from the specified method and context. + + The method to be used as a test + The TestSuite to which the method will be added + + + + The ISuiteBuilder interface is exposed by a class that knows how to + build a single test suite from a specified type. + + + + + Examine the type and determine if it is suitable for + this builder to use in building a TestSuite. + + Note that returning false will cause the type to be ignored + in loading the tests. If it is desired to load the suite + but label it as non-runnable, ignored, etc., then this + method must return true. + + The type of the fixture to be used + + + + Builds a single test suite from the specified type. + + The type of the fixture to be used + + + + Builds a single test suite from the specified type, subject + to a filter that decides which methods are included. + + The type of the fixture to be used + A PreFilter for selecting methods. + + + + Common interface supported by all representations + of a test. Only includes informational fields. + The Run method is specifically excluded to allow + for data-only representations of a test. + + + + + Gets the id of the test + + + + + Gets the name of the test + + + + + Gets the type of the test + + + + + Gets the fully qualified name of the test + + + + + Gets the name of the class containing this test. Returns + null if the test is not associated with a class. + + + + + Gets the name of the method implementing this test. + Returns null if the test is not implemented as a method. + + + + + Gets the Type of the test fixture, if applicable, or + null if no fixture type is associated with this test. + + + + + Gets the method which declares the test, or + if no method is associated with this test. + + + + + Gets the RunState of the test, indicating whether it can be run. + + + + + Count of the test cases ( 1 if this is a test case ) + + + + + Gets the properties of the test + + + + + Gets the parent test, if any. + + The parent test or null if none exists. + + + + Returns true if this is a test suite + + + + + Gets a bool indicating whether the current test + has any descendant tests. + + + + + Gets this test's child tests + + A list of child tests + + + + Gets a fixture object for running this test. + + + + + The arguments to use in creating the test or empty array if none are required. + + + + + The ITestBuilder interface is exposed by a class that knows how to + build tests from a specified method. In general, it is exposed + by an attribute which has additional information available to provide + the necessary test parameters to distinguish the test cases built. + + + + + Builds any number of tests from the specified method and context. + + The method to be used as a test + The TestSuite to which the method will be added + + + + The ITestCaseBuilder interface is exposed by a class that knows how to + build a test from a specified method, possibly containing child test cases. + + + + + Examine the method and determine if it is suitable for + this builder to use in building a TestCase to be + included in the suite being populated. + + Note that returning false will cause the method to be ignored + in loading the tests. If it is desired to load the method + but label it as non-runnable, ignored, etc., then this + method must return true. + + The test method to examine + The suite being populated + + + + Builds a single test from the specified method and context, + possibly containing child test cases. + + The method to be used as a test case + The test suite being populated, or null + + + + The ITestCaseData interface is implemented by a class + that is able to return complete test cases for use by + a parameterized test method. + + + + + Gets the expected result of the test case + + + + + Returns true if an expected result has been set + + + + + The ITestData interface is implemented by a class that + represents a single instance of a parameterized test. + + + + + Gets the name to be used for the test + + + + + Gets the RunState for this test case. + + + + + Gets the argument list to be provided to the test + + + + + Gets the property dictionary for the test case + + + + + Interface to be implemented by filters applied to tests. + The filter applies when running the test, after it has been + loaded, since this is the only time an ITest exists. + + + + + Determine if a particular test passes the filter criteria. Pass + may examine the parents and/or descendants of a test, depending + on the semantics of the particular filter + + The test to which the filter is applied + True if the test passes the filter, otherwise false + + + + Determine if a test matches the filter explicitly. That is, it must + be a direct match of the test itself or one of its children. + + The test to which the filter is applied + True if the test matches the filter explicitly, otherwise false + + + + The ITestCaseData interface is implemented by a class + that is able to return the data required to create an + instance of a parameterized test fixture. + + + + + Get the TypeArgs if separately set + + + + + The ITestListener interface is used internally to receive + notifications of significant events while a test is being + run. The events are propagated to clients by means of an + AsyncCallback. NUnit extensions may also monitor these events. + + + + + Called when a test has just started + + The test that is starting + + + + Called when a test has finished + + The result of the test + + + + Called when a test produces output for immediate display + + A TestOutput object containing the text to display + + + + Called when a test produces a message to be sent to listeners + + A object containing the text to send + + + + The ITestResult interface represents the result of a test. + + + + + Gets the ResultState of the test result, which + indicates the success or failure of the test. + + + + + Gets the name of the test result + + + + + Gets the full name of the test result + + + + + Gets the elapsed time for running the test in seconds + + + + + Gets or sets the time the test started running. + + + + + Gets or sets the time the test finished running. + + + + + Gets the message associated with a test + failure or with not running the test + + + + + Gets any stack trace associated with an + error or failure. + + + + Gets the total number of tests executed + when running the test and all its children. + + + + + Gets the number of asserts executed + when running the test and all its children. + + + + + Gets the number of test cases that failed + when running the test and all its children. + + + + + Gets the number of test cases that had warnings + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + Indicates whether this result has any child results. + Accessing HasChildren should not force creation of the + Children collection in classes implementing this interface. + + + + + Gets the collection of child results. + + + + + Gets the Test to which this result applies. + + + + + Gets any text output written to this result. + + + + + Gets a list of AssertionResults associated with the test + + + + + Gets the collection of files attached to the test + + + + + The ITypeInfo interface is an abstraction of a .NET Type + + + + + Gets the underlying Type on which this ITypeInfo is based + + + + + Gets the base type of this type as an ITypeInfo + + + + + Returns true if the Type wrapped is equal to the argument + + + + + Gets the name of the Type + + + + + Gets the full name of the Type + + + + + Gets the assembly in which the type is declared + + + + + Gets the namespace of the Type + + + + + Gets a value indicating whether the type is abstract. + + + + + Gets a value indicating whether the Type is a generic Type + + + + + Gets a value indicating whether the Type has generic parameters that have not been replaced by specific Types. + + + + + Gets a value indicating whether the Type is a generic Type definition + + + + + Gets a value indicating whether the type is sealed. + + + + + Gets a value indicating whether this type is a static class. + + + + + Get the display name for this typeInfo. + + + + + Get the display name for an object of this type, constructed with specific arguments + + + + + Returns a Type representing a generic type definition from which this Type can be constructed. + + + + + Returns a new ITypeInfo representing an instance of this generic Type using the supplied Type arguments + + + + + Returns a value indicating whether this type has a method with a specified public attribute + + + + + Returns an array of IMethodInfos for methods of this Type + that match the specified flags. + + + + + Gets the public constructor taking the specified argument Types + + + + + Returns a value indicating whether this Type has a public constructor taking the specified argument Types. + + + + + Construct an object of this Type, using the specified arguments. + + + + + Returns all methods declared by this type that have the specified attribute, optionally + including base classes. Methods from a base class are always returned before methods from a class that + inherits from it. + + Specifies whether to search the fixture type inheritance chain. + + + + An object implementing IXmlNodeBuilder is able to build + an XML representation of itself and any children. + + + + + Returns a TNode representing the current object. + + If true, children are included where applicable + A TNode representing the result + + + + Returns a TNode representing the current object after + adding it as a child of the supplied parent node. + + The parent node. + If true, children are included, where applicable + + + + + The ResultState class represents the outcome of running a test. + It contains two pieces of information. The Status of the test + is an enum indicating whether the test passed, failed, was + skipped or was inconclusive. The Label provides a more + detailed breakdown for use by client runners. + + + + + Initializes a new instance of the class. + + The TestStatus. + + + + Initializes a new instance of the class. + + The TestStatus. + The label. + + + + Initializes a new instance of the class. + + The TestStatus. + The stage at which the result was produced + + + + Initializes a new instance of the class. + + The TestStatus. + The label. + The stage at which the result was produced + + + + The result is inconclusive + + + + + The test has been skipped. + + + + + The test has been ignored. + + + + + The test was skipped because it is explicit + + + + + The test succeeded + + + + + The test issued a warning + + + + + The test failed + + + + + The test encountered an unexpected exception + + + + + The test was cancelled by the user + + + + + The test was not runnable. + + + + + A suite failed because one or more child tests failed or had errors + + + + + A suite failed because one or more child tests had warnings + + + + + A suite is marked ignored because one or more child tests were ignored + + + + + A suite failed in its OneTimeSetUp + + + + + A suite had an unexpected exception in its OneTimeSetUp + + + + + A suite had an unexpected exception in its OneTimeDown + + + + + Gets the TestStatus for the test. + + The status. + + + + Gets the label under which this test result is + categorized, or if none. + + + + + Gets the stage of test execution in which + the failure or other result took place. + + + + + Get a new ResultState, which is the same as the current + one but with the FailureSite set to the specified value. + + The FailureSite to use + A new ResultState + + + + Test whether this ResultState has the same Status and Label + as another one. In other words, the whether two are equal + ignoring the Site. + + + + + + Determines whether the specified object is equal to the current object. + The object to compare with the current object. + + + Indicates whether the current object is equal to another object of the same type. + An object to compare with this object. + + + Serves as the default hash function. + + + + Overload == operator for ResultStates + + + + + Overload != operator for ResultStates + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + The FailureSite enum indicates the stage of a test + in which an error or failure occurred. + + + + + Failure in the test itself + + + + + Failure in the SetUp method + + + + + Failure in the TearDown method + + + + + Failure of a parent test + + + + + Failure of a child test + + + + + The RunState enum indicates whether a test can be executed. + + + + + The test is not runnable. + + + + + The test is runnable. + + + + + The test can only be run explicitly + + + + + The test has been skipped. This value may + appear on a Test when certain attributes + are used to skip the test. + + + + + The test has been ignored. May appear on + a Test, when the IgnoreAttribute is used. + + + + + The TestAttachment class represents a file attached to a TestResult, + with an optional description. + + + + + Absolute file path to attachment file + + + + + User specified description of attachment. May be null. + + + + + Creates a TestAttachment class to represent a file attached to a test result. + + Absolute file path to attachment file + User specified description of attachment. May be null. + + + + The class holds a message sent by a test to all listeners + + + + + Construct with text, destination type and + the name of the test that produced the message. + + Destination of the message + Text to be sent + ID of the test that produced the message + + + + Converts object to string + + + + + The message to send to listeners + + + + + The Destination of the message. + + + + + The ID of the test that sent the message + + + + + Returns the XML representation of the object. + + + + + The TestOutput class holds a unit of output from + a test to a specific output stream + + + + + Construct with text, output destination type and + the name of the test that produced the output. + + Text to be output + Name of the stream or channel to which the text should be written + Id of the test that produced the output + FullName of test that produced the output + + + + Return string representation of the object for debugging + + + + + + Get the text + + + + + Get the output type + + + + + Get the name of the test that created the output + + + + + Get the id of the test that created the output + + + + + Convert the TestOutput object to an XML string + + + + + The TestStatus enum indicates the result of running a test + + + + + The test was inconclusive + + + + + The test has skipped + + + + + The test succeeded + + + + + There was a warning + + + + + The test failed + + + + + TNode represents a single node in the XML representation + of a Test or TestResult. It replaces System.Xml.XmlNode and + System.Xml.Linq.XElement, providing a minimal set of methods + for operating on the XML in a platform-independent manner. + + + + + Constructs a new instance of TNode + + The name of the node + + + + Constructs a new instance of TNode with a value + + The name of the node + The text content of the node + + + + Constructs a new instance of TNode with a value + + The name of the node + The text content of the node + Flag indicating whether to use CDATA when writing the text + + + + Gets the name of the node + + + + + Gets the value of the node + + + + + Gets a flag indicating whether the value should be output using CDATA. + + + + + Gets the dictionary of attributes + + + + + Gets a list of child nodes + + + + + Gets the first ChildNode + + + + + Gets the XML representation of this node. + + + + + Create a TNode from its XML text representation + + The XML text to be parsed + A TNode + + + + Adds a new element as a child of the current node and returns it. + + The element name. + The newly created child element + + + + Adds a new element with a value as a child of the current node and returns it. + + The element name + The text content of the new element + The newly created child element + + + + Adds a new element with a value as a child of the current node and returns it. + The value will be output using a CDATA section. + + The element name + The text content of the new element + The newly created child element + + + + Adds an attribute with a specified name and value to the XmlNode. + + The name of the attribute. + The value of the attribute. + + + + Finds a single descendant of this node matching an XPath + specification. The format of the specification is + limited to what is needed by NUnit and its tests. + + + + + + + Finds all descendants of this node matching an XPath + specification. The format of the specification is + limited to what is needed by NUnit and its tests. + + + + + Writes the XML representation of the node to an XmlWriter + + + + + + Class used to represent a list of XmlResults + + + + + Class used to represent the attributes of a node + + + + + Gets or sets the value associated with the specified key. + Overridden to return null if attribute is not found. + + The key. + Value of the attribute or null + + + + A production implementation that delegates directly to .NET's . + + + + + Returns whether a debugger is currently attached to the process + + + + + A layer of abstraction around to facilitate testing. + + + + + Whether a debugger is currently attached to the process. + + + + + AssemblyHelper provides static methods for working + with assemblies. + + + + + Gets the path from which an assembly was loaded. + For builds where this is not possible, returns + the name of the assembly. + + The assembly. + The path. + + + + Gets the path to the directory from which an assembly was loaded. + + The assembly. + The path. + + + + Gets the AssemblyName of an assembly. + + The assembly + An AssemblyName + + + + Loads an assembly given a string, which is the AssemblyName + + + + + Gets the assembly path from code base. + + Public for testing purposes + The code base. + + + + + Adapts various styles of asynchronous waiting to a common API. + + + + + CombinatorialStrategy creates test cases by using all possible + combinations of the parameter data. + + + + + Gets the test cases generated by the CombiningStrategy. + + The test cases. + + + + Provides data from fields marked with the DatapointAttribute or the + DatapointsAttribute. + + + + + Determines whether any data is available for a parameter. + + The parameter of a parameterized test + + + + Retrieves data for use with the supplied parameter. + + The parameter of a parameterized test + + + + Built-in SuiteBuilder for all types of test classes. + + + + + Examine the type and determine if it is suitable for + this builder to use in building a TestSuite. + + Note that returning false will cause the type to be ignored + in loading the tests. If it is desired to load the suite + but label it as non-runnable, ignored, etc., then this + method must return true. + + The fixture type to check + + + + Builds a single test suite from the specified type. + + The fixture type to build + + + + Builds a single test suite from the specified type, subject + to a filter that decides which methods are included. + + The fixture type to build + A PreFilter for selecting methods. + + + + We look for attributes implementing IFixtureBuilder at one level + of inheritance at a time. Attributes on base classes are not used + unless there are no fixture builder attributes at all on the derived + class. This is by design. + + The type being examined for attributes + + + + Class to build ether a parameterized or a normal NUnitTestMethod. + There are four cases that the builder must deal with: + 1. The method needs no params and none are provided + 2. The method needs params and they are provided + 3. The method needs no params but they are provided in error + 4. The method needs params but they are not provided + This could have been done using two different builders, but it + turned out to be simpler to have just one. The BuildFrom method + takes a different branch depending on whether any parameters are + provided, but all four cases are dealt with in lower-level methods + + + + + Determines if the method can be used to build an NUnit test + test method of some kind. The method must normally be marked + with an identifying attribute for this to be true. + + Note that this method does not check that the signature + of the method for validity. If we did that here, any + test methods with invalid signatures would be passed + over in silence in the test run. Since we want such + methods to be reported, the check for validity is made + in BuildFrom rather than here. + + An IMethodInfo for the method being used as a test method + + + + Builds a single test from the specified method and context, + possibly containing child test cases. + + The method for which a test is to be built + + + + Determines if the method can be used to build an NUnit test + test method of some kind. The method must normally be marked + with an identifying attribute for this to be true. + + Note that this method does not check that the signature + of the method for validity. If we did that here, any + test methods with invalid signatures would be passed + over in silence in the test run. Since we want such + methods to be reported, the check for validity is made + in BuildFrom rather than here. + + An IMethodInfo for the method being used as a test method + The test suite being built, to which the new test would be added + + + + Builds a single test from the specified method and context, + possibly containing child test cases. + + The method for which a test is to be built + The test fixture being populated, or null + + + + Builds a ParameterizedMethodSuite containing individual test cases. + + The method for which a test is to be built. + The list of test cases to include. + + + + Build a simple, non-parameterized TestMethod for this method. + + The MethodInfo for which a test is to be built + The test suite for which the method is being built + + + + Class that can build a tree of automatic namespace + suites from a group of fixtures. + + + + + NamespaceDictionary of all test suites we have created to represent + namespaces. Used to locate namespace parent suites for fixtures. + + + + + Point in the tree where items in the global namespace are added + + + + + Initializes a new instance of the class. + + The root suite. + + + + Gets the root entry in the tree created by the NamespaceTreeBuilder. + + The root suite. + + + + Adds the specified fixtures to the tree. + + The fixtures to be added. + + + + Adds the specified fixture to the tree. + + The fixture to be added. + + + + NUnitTestCaseBuilder is a utility class used by attributes + that build test cases. + + + + + Constructs an + + + + + Builds a single NUnitTestMethod, either as a child of the fixture + or as one of a set of test cases under a ParameterizedTestMethodSuite. + + The MethodInfo from which to construct the TestMethod + The suite or fixture to which the new test will be added + The ParameterSet to be used, or null + + + + Checks to see if we have valid combinations of attributes. + + The TestMethod to be checked. If it + is found to be non-runnable, it will be modified. + True if the method signature is valid, false if not + + + + Helper method that checks the signature of a TestMethod and + any supplied parameters to determine if the test is valid. + + Currently, NUnitTestMethods are required to be public, + non-abstract methods, either static or instance, + returning void. They may take arguments but the values must + be provided or the TestMethod is not considered runnable. + + Methods not meeting these criteria will be marked as + non-runnable and the method will return false in that case. + + The TestMethod to be checked. If it + is found to be non-runnable, it will be modified. + Parameters to be used for this test, or null + True if the method signature is valid, false if not + + The return value is no longer used internally, but is retained + for testing purposes. + + + + + NUnitTestFixtureBuilder is able to build a fixture given + a class marked with a TestFixtureAttribute or an unmarked + class containing test methods. In the first case, it is + called by the attribute and in the second directly by + NUnitSuiteBuilder. + + + + + Build a TestFixture from type provided. A non-null TestSuite + must always be returned, since the method is generally called + because the user has marked the target class as a fixture. + If something prevents the fixture from being used, it should + be returned nonetheless, labeled as non-runnable. + + An ITypeInfo for the fixture to be used. + Filter used to select methods as tests. + A TestSuite object or one derived from TestSuite. + + + + Overload of BuildFrom called by tests that have arguments. + Builds a fixture using the provided type and information + in the ITestFixtureData object. + + The TypeInfo for which to construct a fixture. + Filter used to select methods as tests. + An object implementing ITestFixtureData or null. + + + + + Method to add test cases to the newly constructed fixture. + + + + + Method to create a test case from a MethodInfo and add + it to the fixture being built. It first checks to see if + any global TestCaseBuilder addin wants to build the + test case. If not, it uses the internal builder + collection maintained by this fixture builder. + + The default implementation has no test case builders. + Derived classes should add builders to the collection + in their constructor. + + The method for which a test is to be created + The test suite being built. + A newly constructed Test + + + + PairwiseStrategy creates test cases by combining the parameter + data so that all possible pairs of data items are used. + + + + The number of test cases that cover all possible pairs of test function + parameters values is significantly less than the number of test cases + that cover all possible combination of test function parameters values. + And because different studies show that most of software failures are + caused by combination of no more than two parameters, pairwise testing + can be an effective ways to test the system when it's impossible to test + all combinations of parameters. + + + The PairwiseStrategy code is based on "jenny" tool by Bob Jenkins: + https://burtleburtle.net/bob/math/jenny.html + + + + + + FleaRand is a pseudo-random number generator developed by Bob Jenkins: + https://burtleburtle.net/bob/rand/talksmall.html#flea + + + + + Initializes a new instance of the FleaRand class. + + The seed. + + + + FeatureInfo represents coverage of a single value of test function + parameter, represented as a pair of indices, Dimension and Feature. In + terms of unit testing, Dimension is the index of the test parameter and + Feature is the index of the supplied value in that parameter's list of + sources. + + + + + Initializes a new instance of FeatureInfo class. + + Index of a dimension. + Index of a feature. + + + + A FeatureTuple represents a combination of features, one per test + parameter, which should be covered by a test case. In the + PairwiseStrategy, we are only trying to cover pairs of features, so the + tuples actually may contain only single feature or pair of features, but + the algorithm itself works with triplets, quadruples and so on. + + + + + Initializes a new instance of FeatureTuple class for a single feature. + + Single feature. + + + + Initializes a new instance of FeatureTuple class for a pair of features. + + First feature. + Second feature. + + + + TestCase represents a single test case covering a list of features. + + + + + Initializes a new instance of TestCaseInfo class. + + A number of features in the test case. + + + + PairwiseTestCaseGenerator class implements an algorithm which generates + a set of test cases which covers all pairs of possible values of test + function. + + + + The algorithm starts with creating a set of all feature tuples which we + will try to cover (see method). This set + includes every single feature and all possible pairs of features. We + store feature tuples in the 3-D collection (where axes are "dimension", + "feature", and "all combinations which includes this feature"), and for + every two feature (e.g. "A" and "B") we generate both ("A", "B") and + ("B", "A") pairs. This data structure extremely reduces the amount of + time needed to calculate coverage for a single test case (this + calculation is the most time-consuming part of the algorithm). + + + Then the algorithm picks one tuple from the uncovered tuple, creates a + test case that covers this tuple, and then removes this tuple and all + other tuples covered by this test case from the collection of uncovered + tuples. + + + Picking a tuple to cover + + + There are no any special rules defined for picking tuples to cover. We + just pick them one by one, in the order they were generated. + + + Test generation + + + Test generation starts from creating a completely random test case which + covers, nevertheless, previously selected tuple. Then the algorithm + tries to maximize number of tuples which this test covers. + + + Test generation and maximization process repeats seven times for every + selected tuple and then the algorithm picks the best test case ("seven" + is a magic number which provides good results in acceptable time). + + Maximizing test coverage + + To maximize tests coverage, the algorithm walks through the list of mutable + dimensions (mutable dimension is a dimension that are not included in + the previously selected tuple). Then for every dimension, the algorithm + walks through the list of features and checks if this feature provides + better coverage than randomly selected feature, and if yes keeps this + feature. + + + This process repeats while it shows progress. If the last iteration + doesn't improve coverage, the process ends. + + + In addition, for better results, before start every iteration, the + algorithm "scrambles" dimensions - so for every iteration dimension + probes in a different order. + + + + + + Creates a set of test cases for specified dimensions. + + + An array which contains information about dimensions. Each element of + this array represents a number of features in the specific dimension. + + + A set of test cases. + + + + + Gets the test cases generated by this strategy instance. + + A set of test cases. + + + + The ParameterDataProvider class implements IParameterDataProvider + and hosts one or more individual providers. + + + + + Construct with a collection of individual providers + + + + + Determines whether any data is available for a parameter. + + The parameter of a parameterized test + + + + Retrieves data for use with the supplied parameter. + + The parameter of a parameterized test + + + + ParameterDataSourceProvider supplies individual argument values for + single parameters using attributes implementing IParameterDataSource. + + + + + Determines whether any data is available for a parameter. + + The parameter of a parameterized test + + + + Retrieves data for use with the supplied parameter. + + The parameter of a parameterized test + + + + SequentialStrategy creates test cases by using all of the + parameter data sources in parallel, substituting + when any of them run out of data. + + + + + Gets the test cases generated by the CombiningStrategy. + + The test cases. + + + + TestActionAfterCommand handles the AfterTest method of a single + TestActionItem, provided the items BeforeTest has been run. + + + + + Initializes a new instance of the class. + + The inner command. + The TestActionItem to run before the inner command. + + + + AfterCommand is a DelegatingTestCommand that performs some + specific action after the inner command is run. + + + + + Construct an AfterCommand + + + + + Execute the command + + + + + Set this to perform action after the inner command. + + + + + ContextSettingsCommand applies specified changes to the + TestExecutionContext prior to running a test. No special + action is needed after the test runs, since the prior + context will be restored automatically. + + + + + TestActionCommand handles a single ITestAction applied + to a test. It runs the BeforeTest method, then runs the + test and finally runs the AfterTest method. + + + + + Initializes a new instance of the class. + + The inner command. + + + + Runs the test, saving a TestResult in the supplied TestExecutionContext. + + The context in which the test should run. + A TestResult + + + + Perform the before test action + + + + + Perform the after test action + + + + + TestActionBeforeCommand handles the BeforeTest method of a single + TestActionItem, relying on the item to remember it has been run. + + + + + Initializes a new instance of the class. + + The inner command. + The TestActionItem to run before the inner command. + + + + BeforeTestCommand is a DelegatingTestCommand that performs some + specific action before the inner command is run. + + + + + Construct a BeforeCommand + + + + + Execute the command + + + + + Action to perform before the inner command. + + + + + ConstructFixtureCommand constructs the user test object if necessary. + + + + + Constructs a OneTimeSetUpCommand for a suite + + The inner command to which the command applies + + + + DelegatingTestCommand wraps an inner TestCommand. + Derived classes may do what they like before or + after running the inner command. + + + + TODO: Documentation needed for field + + + + Initializes a new instance of the class. + + The inner command. + + + + OneTimeTearDownCommand performs any teardown actions + specified for a suite and calls Dispose on the user + test object, if any. + + + + + Construct a OneTimeTearDownCommand + + The command wrapped by this command + + + + EmptyTestCommand is a TestCommand that does nothing. It simply + returns the current result from the context when executed. We + use it to avoid testing for null when executing a chain of + DelegatingTestCommands. + + + + + Construct a NullCommand for a test + + + + + Execute the command + + + + + ConstructFixtureCommand constructs the user test object if necessary. + + + + + Handles the construction and disposement of a fixture per test case + + The inner command to which the command applies + + + + adjusts the result of a successful test + to a failure if the elapsed time has exceeded the specified maximum + time allowed. + + + + + Initializes a new instance of the class. + + The inner command. + The max time allowed in milliseconds + + + + OneTimeSetUpCommand runs any one-time setup methods for a suite, + constructing the user test object if necessary. + + + + + Constructs a OneTimeSetUpCommand for a suite + + The inner command to which the command applies + A SetUpTearDownList for use by the command + + + + OneTimeTearDownCommand performs any teardown actions + specified for a suite and calls Dispose on the user + test object, if any. + + + + + Construct a OneTimeTearDownCommand + + The command wrapped by this command + A SetUpTearDownList for use by the command + + + + SetUpTearDownCommand runs SetUp methods for a suite, + runs the test and then runs TearDown methods. + + + + + Initializes a new instance of the class. + + The inner command. + List of setup/teardown items + + + + SetUpTearDownItem holds the setup and teardown methods + for a single level of the inheritance hierarchy. + + + + + Construct a SetUpTearDownNode + + A list of setup methods for this level + A list teardown methods for this level + A method validator to validate each method before calling. + + + + Returns true if this level has any methods at all. + This flag is used to discard levels that do nothing. + + + + + Run SetUp on this level. + + The execution context to use for running. + + + + Run TearDown for this level. + + + + + + TODO: Documentation needed for class + + + + + Initializes a new instance of the class. + + The test being skipped. + + + + Overridden to simply set the CurrentResult to the + appropriate Skipped state. + + The execution context for the test + A TestResult + + + + TestActionCommand handles a single ITestAction applied + to a test. It runs the BeforeTest method, then runs the + test and finally runs the AfterTest method. + + + + + Initializes a new instance of the class. + + The inner command. + The TestAction with which to wrap the inner command. + + + + TestActionItem wraps a single execution of an ITestAction. + Its primary purpose is to track whether the BeforeTest + method has been called and suppress calling the + AfterTest method if it has not. This is necessary when + ITestActions are used before and after a CompositeWorkItem, + since the OneTimeSetUpCommand and OneTimeTearDownCommand + are separate command chains. By sharing a TestActionItem + between the setup and teardown chains, the two calls can + be coordinated. + + + + + Construct a TestActionItem + + The ITestAction to be included + + + + Get flag indicating if the BeforeTest entry was already called. + + + + + Run the BeforeTest method of the action and remember that it has been run. + + The test to which the action applies + + + + Run the AfterTest action, but only if the BeforeTest + action was actually run. + + The test to which the action applies + + + + TestCommand is the abstract base class for all test commands + in the framework. A TestCommand represents a single stage in + the execution of a test, e.g.: SetUp/TearDown, checking for + Timeout, verifying the returned result from a method, etc. + + TestCommands may decorate other test commands so that the + execution of a lower-level command is nested within that + of a higher level command. All nested commands are executed + synchronously, as a single unit. Scheduling test execution + on separate threads is handled at a higher level, using the + task dispatcher. + + + + + Construct a TestCommand for a test. + + The test to be executed + + + + Gets the test associated with this command. + + + + + Runs the test in a specified context, returning a TestResult. + + The TestExecutionContext to be used for running the test. + A TestResult + + + + TestMethodCommand is the lowest level concrete command + used to run actual test cases. + + + + + Initializes a new instance of the class. + + The test. + + + + Runs the test, saving a TestResult in the execution context, as + well as returning it. If the test has an expected result, it + is asserts on that value. Since failed tests and errors throw + an exception, this command must be wrapped in an outer command, + will handle that exception and records the failure. This role + is usually played by the SetUpTearDown command. + + The execution context + + + + TheoryResultCommand adjusts the result of a Theory so that + it fails if all the results were inconclusive. + + + + + Constructs a TheoryResultCommand + + The command to be wrapped by this one + + + + creates a timer in order to cancel + a test if it exceeds a specified time and adjusts + the test result if it did time out. + + + + + Initializes a new instance of the class. + + The inner command + Timeout value + + + + Initializes a new instance of the class. + + The inner command + Timeout value + An instance + + + + Runs the test, saving a TestResult in the supplied TestExecutionContext. + + The context in which the test should run. + A TestResult + + + + Provides methods to support consistent checking in constraints. + + + + + Requires that the provided object is actually of the type required. + + The object to verify. + Name of the parameter as passed into the checking method. + + If and can be null, returns null rather than throwing when is null. + If cannot be null, this parameter is ignored. + The type to require. + + + + CultureDetector is a helper class used by NUnit to determine + whether a test should be run based on the current culture. + + + + + Default constructor uses the current culture. + + + + + Construct a CultureDetector for a particular culture for testing. + + The culture to be used + + + + Test to determine if one of a collection of cultures + is being used currently. + + + + + + + Tests to determine if the current culture is supported + based on a culture attribute. + + The attribute to examine + + + + + Test to determine if the a particular culture or comma- + delimited set of cultures is in use. + + Name of the culture or comma-separated list of culture ids + True if the culture is in use on the system + + + + Return the last failure reason. Results are not + defined if called before IsSupported( Attribute ) + is called. + + + + + Useful when wrapping awaiters whose GetResult method does not block until complete. + Contains a default mechanism to implement + via and . + + + + + ExceptionHelper provides static methods for working with exceptions + + + + + Rethrows an exception, preserving its stack trace + + The exception to rethrow + + + + Builds up a message, using the Message field of the specified exception + as well as any InnerExceptions. Optionally excludes exception names, + creating a more readable message. + + The exception. + Flag indicating whether exception names should be excluded. + A combined message string. + + + + Builds up a message, using the Message field of the specified exception + as well as any InnerExceptions. + + The exception. + A combined stack trace. + + + + Executes a parameterless synchronous or async delegate and returns the exception it throws, if any. + + + + + A CompositeWorkItem represents a test suite and + encapsulates the execution of the suite as well + as all its child tests. + + + + + List of Child WorkItems + + + + + Indicates whether this work item should use a separate dispatcher. + + + + + Construct a CompositeWorkItem for executing a test suite + using a filter to select child tests. + + The TestSuite to be executed + A filter used to select child tests + + + + Method that actually performs the work. Overridden + in CompositeWorkItem to do one-time setup, run all child + items and then dispatch the one-time teardown work item. + + + + + + + + + + Cancel (abort or stop) a CompositeWorkItem and all of its children + + true if the CompositeWorkItem and all of its children should be aborted, false if it should allow all currently running tests to complete + + + + OneTimeTearDownWorkItem represents the cleanup + and one-time teardown phase of a CompositeWorkItem + + + + + Construct a OneTimeTearDownWOrkItem wrapping a CompositeWorkItem + + The CompositeWorkItem being wrapped + + + + The WorkItem name, overridden to indicate this is the teardown. + + + + + The ExecutionStrategy for use in running this work item + + + + + + + + + + PerformWork is not used in CompositeWorkItem + + + + + WorkItemCancelled is called directly by the parallel dispatcher + when a test suite is left hanging after a forced StopRun. We + simulate WorkItemComplete() but without the ripple effect to + higher level suites, since we are controlling it all directly. + + + + + EventListenerTextWriter sends text output to the currently active + ITestEventListener in the form of a TestOutput object. If no event + listener is active in the context, or if there is no context, + the output is forwarded to the supplied default writer. + + + + + Construct an EventListenerTextWriter + + The name of the stream to use for events + The default writer to use if no listener is available + + + + Get the Encoding for this TextWriter + + + + + Write formatted string + + + + + Write formatted string + + + + + Write formatted string + + + + + Write an object + + + + + Write a string + + + + + Write a decimal + + + + + Write a double + + + + + Write formatted string + + + + + Write a ulong + + + + + Write a long + + + + + Write a uint + + + + + Write an int + + + + + Write a char + + + + + Write a boolean + + + + + Write chars + + + + + Write chars + + + + + Write a float + + + + + Write a string with newline + + + + + Write an object with newline + + + + + Write formatted string with newline + + + + + Write formatted string with newline + + + + + Write formatted string with newline + + + + + Write a decimal with newline + + + + + Write a formatted string with newline + + + + + Write a double with newline + + + + + Write a uint with newline + + + + + Write a ulong with newline + + + + + Write a long with newline + + + + + Write an int with newline + + + + + Write a bool with newline + + + + + Write chars with newline + + + + + Write chars with newline + + + + + Write a char with newline + + + + + Write a float with newline + + + + + Write newline + + + + + The EventPumpState enum represents the state of an + EventPump. + + + + + The pump is stopped + + + + + The pump is pumping events with no stop requested + + + + + The pump is pumping events but a stop has been requested + + + + + EventPump pulls events out of an EventQueue and sends + them to a listener. It is used to send events back to + the client without using the CallContext of the test + runner thread. + + + + + The downstream listener to which we send events + + + + + The queue that holds our events + + + + + Thread to do the pumping + + + + + The current state of the event pump + + + + + Constructor + + The EventListener to receive events + The event queue to pull events from + + + + Gets or sets the current state of the pump + + + + + Gets or sets the name of this EventPump + (used only internally and for testing). + + + + + Dispose stops the pump + Disposes the used WaitHandle, too. + + + + + Start the pump + + + + + Tell the pump to stop after emptying the queue. + + + + + Our thread proc for removing items from the event + queue and sending them on. Note that this would + need to do more locking if any other thread were + removing events from the queue. + + + + + NUnit.Core.Event is the abstract base for all stored events. + An Event is the stored representation of a call to the + ITestListener interface and is used to record such calls + or to queue them for forwarding on another thread or at + a later time. + + + + + The Send method is implemented by derived classes to send the event to the specified listener. + + The listener. + + + + TestStartedEvent holds information needed to call the TestStarted method. + + + + + Initializes a new instance of the class. + + The test. + + + + Calls TestStarted on the specified listener. + + The listener. + + + + TestFinishedEvent holds information needed to call the TestFinished method. + + + + + Initializes a new instance of the class. + + The result. + + + + Calls TestFinished on the specified listener. + + The listener. + + + + TestOutputEvent holds information needed to call the TestOutput method. + + + + + Initializes a new instance of the class. + + The output object. + + + + Calls TestOutput on the specified listener. + + The listener. + + + + TestMessageEvent holds information needed to call the SendMessage method. + + + + + Initializes a new instance of the class. + + The test message object. + + + + Calls on the specified listener. + + The listener. + + + + Holds object for sending to all listeners + + + + + Implements a queue of work items each of which + is queued as a WaitCallback. + + + + + Gets the count of items in the queue. + + + + + Enqueues the specified event + + The event to enqueue. + + + + Removes the first element from the queue and returns it (or ). + + + If and the queue is empty, the calling thread is blocked until + either an element is enqueued, or is called. + + + + + If the queue not empty + the first element. + + + otherwise, if == + or has been called + . + + + + + + + Stop processing of the queue + + + + + Validates method to execute. + + + + + Determines whether a method is allowed to execute and throws an exception otherwise. + + The method to validate. + + + + An IWorkItemDispatcher handles execution of work items. + + + + + The level of parallelism supported. Zero if not supported. + + + + + Start execution, performing any initialization. Sets + the top level work item and dispatches it. + + + + + Dispatch a single work item for execution. The first + work item dispatched is saved as the top-level + work item and used when stopping the run. + + The item to dispatch + + + + Cancel the ongoing run completely. + If no run is in process, the call has no effect. + + true if the IWorkItemDispatcher should abort all currently running WorkItems, false if it should allow all currently running WorkItems to complete + + + + MainThreadWorkItemDispatcher handles execution of WorkItems by + directly executing them on the main thread. This is different + from the SimpleWorkItemDispatcher where the work item is dispatched + onto its own thread. + + + + + The level of parallelism supported + + + + + Start execution, dispatching the top level + work into the main thread. + + + + + Dispatch a single work item for execution by + executing it directly. + + The item to dispatch + + + + This method is not supported for + this dispatcher. Using it will throw a + NotSupportedException. + + Not used + If used, it will always throw this. + + + + Enumeration representing the strategy to follow in executing a work item. + The value is only relevant when running under the parallel dispatcher. + + + + + Run directly on same thread + + + + + Enqueue for parallel execution + + + + + Enqueue for non-parallel execution + + + + + ParallelWorkItemDispatcher handles execution of work items by + queuing them for worker threads to process. + + + + + Event raised whenever a shift is starting. + + + + + Event raised whenever a shift has ended. + + + + + Construct a ParallelWorkItemDispatcher + + Number of workers to use + + + + Number of parallel worker threads + + + + + Enumerates all the shifts supported by the dispatcher + + + + + Enumerates all the Queues supported by the dispatcher + + + + + Start execution, setting the top level work, + enqueuing it and starting a shift to execute it. + + + + + Dispatch a single work item for execution. The first + work item dispatched is saved as the top-level + work item and used when stopping the run. + + The item to dispatch + + + + Cancel the ongoing run completely. + If no run is in process, the call has no effect. + + + + + Save the state of the queues and create a new isolated set + + + + + Try to remove isolated queues and restore old ones + + + + + QueuingEventListener uses an EventQueue to store any + events received on its EventListener interface. + + + + + The EventQueue created and filled by this listener + + + + + Construct a QueuingEventListener + + + + + A test has started + + The test that is starting + + + + A test case finished + + Result of the test case + + + + Called when a test produces output for immediate display + + A TestOutput object containing the text to display + + + + Called when a test produces a message to be sent to listeners + + A object containing the text to send + + + + A SimpleWorkItem represents a single test case and is + marked as completed immediately upon execution. This + class is also used for skipped or ignored test suites. + + + + + Construct a simple work item for a test. + + The test to be executed + The filter used to select this test + + + + Construct a simple work item for a test. + + The test to be executed + The filter used to select this test + An instance + + + + Method that performs actually performs the work. + + + + + Creates a test command for use in running this test. + + A TestCommand + + + + SimpleWorkItemDispatcher handles execution of WorkItems by + directly executing them. It is provided so that a dispatcher + is always available in the context, thereby simplifying the + code needed to run child tests. + + + + + The level of parallelism supported + + + + + Start execution, creating the execution thread, + setting the top level work and dispatching it. + + + + + Dispatch a single work item for execution by + executing it directly. + + The item to dispatch + + + + Cancel (abort or stop) the ongoing run. + If no run is in process, the call has no effect. + + true if the run should be aborted, false if it should allow its currently running test to complete + + + + Checks whether the method to execute is static. + + + + + Construct a StaticMethodValidator. + + The error message to output in case the validation fails. + + + + Determines whether a method to execute is static and throws an InvalidOperationException otherwise. + + The method to validate. + + + + A TestWorker pulls work items from a queue + and executes them. + + + + + Event handler for TestWorker events + + The TestWorker sending the event + The WorkItem that caused the event + + + + Event signaled immediately before executing a WorkItem + + + + + Event signaled immediately after executing a WorkItem + + + + + Construct a new TestWorker. + + The queue from which to pull work items + The name of this worker + + + + The WorkItemQueue from which this worker pulls WorkItems + + + + + The name of this worker - also used for the thread + + + + + Indicates whether the worker thread is running + + + + + Our ThreadProc, which pulls and runs tests in a loop + + + + + Create thread and start processing work items. + + + + + Stop the thread, either immediately or after finishing the current WorkItem + + true if the thread should be aborted, false if it should allow the currently running test to complete + + + + The TextCapture class intercepts console output and writes it + to the current execution context, if one is present on the thread. + If no execution context is found, the output is written to a + default destination, normally the original destination of the + intercepted output. + + + + + Construct a TextCapture object + + The default destination for non-intercepted output + + + + Gets the Encoding in use by this TextWriter + + + + + Writes a single character + + The char to write + + + + Writes a string + + The string to write + + + + Writes a string followed by a line terminator + + The string to write + + + + A WorkItem may be an individual test case, a fixture or + a higher level grouping of tests. All WorkItems inherit + from the abstract WorkItem class, which uses the template + pattern to allow derived classes to perform work in + whatever way is needed. + + A WorkItem is created with a particular TestExecutionContext + and is responsible for re-establishing that context in the + current thread before it begins or resumes execution. + + + + + Construct a WorkItem for a particular test. + + The test that the WorkItem will run + Filter used to include or exclude child items + + + + Construct a work Item that wraps another work Item. + Wrapper items are used to represent independently + dispatched tasks, which form part of the execution + of a single test, such as OneTimeTearDown. + + The WorkItem being wrapped + + + + Initialize the TestExecutionContext. This must be done + before executing the WorkItem. + + + Originally, the context was provided in the constructor + but delaying initialization of the context until the item + is about to be dispatched allows changes in the parent + context during OneTimeSetUp to be reflected in the child. + + The TestExecutionContext to use + + + + Event triggered when the item is complete + + + + + Gets the current state of the WorkItem + + + + + The test being executed by the work item + + + + + The name of the work item - defaults to the Test name. + + + + + Filter used to include or exclude child tests + + + + + The execution context + + + + + The worker executing this item. + + + + + The ParallelExecutionStrategy to use for this work item + + + + + Indicates whether this work item should use a separate dispatcher. + + + + + The test result + + + + + Gets the ParallelScope associated with the test, if any, + otherwise returning ParallelScope.Default; + + + + + Execute the current work item, including any + child work items. + + + + + Wait until the execution of this item is complete + + + + + Marks the WorkItem as NotRunnable. + + Reason for test being NotRunnable. + + + + Cancel (abort or stop) a WorkItem + + true if the WorkItem should be aborted, false if it should run to completion + + + + Standard Dispose + + + + + Method that performs actually performs the work. It should + set the State to WorkItemState.Complete when done. + + + + + Method called by the derived class when all work is complete + + + + + Builds the set up tear down list. + + Unsorted array of setup MethodInfos. + Unsorted array of teardown MethodInfos. + Method validator used before each method execution. + A list of SetUpTearDownItems + + + + Changes the result of the test, logging the old and new states + + The new ResultState + The new message + + + + Recursively walks up the test hierarchy to see if the + has been set on any of the parent tests. + + + + + WorkItemBuilder class knows how to build a tree of work items from a tree of tests + + + + + Creates a work item. + + The test for which this WorkItem is being created. + The filter to be used in selecting any child Tests. + True if child work items should be created and added. + + + + + Creates a work item. + + The test for which this WorkItem is being created. + The filter to be used in selecting any child Tests. + An instance. + True if child work items should be created and added. + if work item needs to be created unconditionally, if will be returned for tests that don't match the filter. + + + + + Compares two objects and returns a value indicating whether one is less than, equal to, or greater than the other. + + + A signed integer that indicates the relative values of and , as shown in the following table.Value Meaning Less than zero is less than .Zero equals .Greater than zero is greater than . + + The first object to compare.The second object to compare. + + + + WorkItemQueueState indicates the current state of a WorkItemQueue + + + + + The queue is paused + + + + + The queue is running + + + + + The queue is stopped + + + + + A WorkItemQueue holds work items that are ready to + be run, either initially or after some dependency + has been satisfied. + + + + + Initializes a new instance of the class. + + The name of the queue. + Flag indicating whether this is a parallel queue + ApartmentState to use for items on this queue + + + + Gets the name of the work item queue. + + + + + Gets a flag indicating whether this queue is used for parallel execution + + + + + Gets the target ApartmentState for work items on this queue + + + + + Gets the total number of items processed so far + + + + + Gets the current state of the queue + + + + + Get a bool indicating whether the queue is empty. + + + + + Enqueue a WorkItem to be processed + + The WorkItem to process + + + + Enqueue a WorkItem to be processed - internal for testing + + The WorkItem to process + The priority at which to process the item + + + + Dequeue a WorkItem for processing + + A WorkItem or null if the queue has stopped + + + + Start or restart processing of items from the queue + + + + + Signal the queue to stop + + + + + Pause the queue for restarting later + + + + + Save the current inner queue and create new ones for use by + a non-parallel fixture with parallel children. + + + + + Restore the inner queue that was previously saved + + + + + The current state of a work item + + + + + Ready to run or continue + + + + + Work Item is executing + + + + + Complete + + + + + Handler for ShiftChange events. + + The shift that is starting or ending. + + + + The dispatcher needs to do different things at different, + non-overlapped times. For example, non-parallel tests may + not be run at the same time as parallel tests. We model + this using the metaphor of a working shift. The WorkShift + class associates one or more WorkItemQueues with one or + more TestWorkers. + + Work in the queues is processed until all queues are empty + and all workers are idle. Both tests are needed because a + worker that is busy may end up adding more work to one of + the queues. At that point, the shift is over and another + shift may begin. This cycle continues until all the tests + have been run. + + + + + Construct a WorkShift + + + + + Event that fires when the shift has ended + + + + + The Name of this shift + + + + + Gets a flag indicating whether the shift is currently active + + + + + Gets a bool indicating whether this shift has any work to do + + + + + Gets a list of the queues associated with this shift. + + Internal for testing - immutable once initialized + + + + Gets the list of workers associated with this shift. + + Internal for testing - immutable once initialized + + + + Add a WorkItemQueue to the shift, starting it if the + shift is currently active. + + + + + Assign a worker to the shift. + + + + + + Start or restart processing for the shift + + + + + End the shift, pausing all queues and raising + the EndOfShift event. + + + + + Shut down the shift. + + + + + Cancel (abort or stop) the shift without completing all work + + true if the WorkShift should be aborted, false if it should allow its currently running tests to complete + + + + TextMessageWriter writes constraint descriptions and messages + in displayable form as a text stream. It tailors the display + of individual message components to form the standard message + format of NUnit assertion failure messages. + + + + + Prefix used for the expected value line of a message + + + + + Prefix used for the actual value line of a message + + + + + Prefix used for the actual difference between actual and expected values if compared with a tolerance + + + + + Length of a message prefix + + + + + Construct a TextMessageWriter + + + + + Construct a TextMessageWriter, specifying a user message + and optional formatting arguments. + + + + + + + Gets or sets the maximum line length for this writer + + + + + Method to write single line message with optional args, usually + written to precede the general failure message, at a given + indentation level. + + The indentation level of the message + The message to be written + Any arguments used in formatting the message + + + + Display Expected and Actual lines for a constraint. This + is called by MessageWriter's default implementation of + WriteMessageTo and provides the generic two-line display. + + The result of the constraint that failed + + + + Gets the unique type name between expected and actual. + + The expected value + The actual value causing the failure + Output of the unique type name for expected + Output of the unique type name for actual + + + + Display Expected and Actual lines for given values. This + method may be called by constraints that need more control over + the display of actual and expected values than is provided + by the default implementation. + + The expected value + The actual value causing the failure + + + + Display Expected and Actual lines for given values, including + a tolerance value on the expected line. + + The expected value + The actual value causing the failure + The tolerance within which the test was made + + + + Display the expected and actual string values on separate lines. + If the mismatch parameter is >=0, an additional line is displayed + line containing a caret that points to the mismatch point. + + The expected string value + The actual string value + The point at which the strings don't match or -1 + If true, case is ignored in string comparisons + If true, clip the strings to fit the max line length + + + + Writes the text for an actual value. + + The actual value. + + + + Writes the text for a generalized value. + + The value. + + + + Writes the text for a collection value, + starting at a particular point, to a max length + + The collection containing elements to write. + The starting point of the elements to write + The maximum number of elements to write + + + + Write the generic 'Expected' line for a constraint + + The constraint that failed + + + + Write the generic 'Expected' line for a given value + and tolerance. + + The expected value + The tolerance within which the test was made + + + + Write the generic 'Actual' line for a constraint + + The ConstraintResult for which the actual value is to be written + + + + Write the generic 'Actual' line for a given value + + The actual value causing a failure + + + + Extensions to . + + + + + Adds the skip reason to tests that are ignored until a specific date. + + The test properties to add the skip reason to + The date that the test is being ignored until + The reason the test is being ignored until that date + + + + Combines multiple filters so that a test must pass all + of them in order to pass this filter. + + + + + Constructs an empty AndFilter + + + + + Constructs an AndFilter from an array of filters + + + + + + Checks whether the AndFilter is matched by a test + + The test to be matched + If set to we are carrying a negation through + True if all the component filters pass, otherwise false + + + + Checks whether the AndFilter is matched by a test + + The test to be matched + True if all the component filters match, otherwise false + + + + Checks whether the AndFilter is explicit matched by a test. + + The test to be matched + True if all the component filters explicit match, otherwise false + + + + Gets the element name + + Element name + + + + CategoryFilter is able to select or exclude tests + based on their categories. + + + + + Construct a CategoryFilter using a single category name + + A category name + + + + Check whether the filter matches a test + + The test to be matched + + + + + Gets the element name + + Element name + + + + ClassName filter selects tests based on the class FullName + + + + + Construct a FullNameFilter for a single name + + The name the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + A base class for multi-part filters + + + + + Constructs an empty CompositeFilter + + + + + Constructs a CompositeFilter from an array of filters + + + + + + Return a list of the composing filters. + + + + + Checks whether the CompositeFilter is matched by a test. + + The test to be matched + If set to we are carrying a negation through + + + + Checks whether the CompositeFilter is matched by a test. + + The test to be matched + + + + Checks whether the CompositeFilter is explicit matched by a test. + + The test to be matched + + + + Adds an XML node + + Parent node + True if recursive + The added XML node + + + + Gets the element name + + Element name + + + + FullName filter selects tests based on their FullName + + + + + Construct a FullNameFilter for a single name + + The name the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + IdFilter selects tests based on their id + + + + + Construct an IdFilter for a single value + + The id the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + FullName filter selects tests based on their FullName + + + + + Construct a MethodNameFilter for a single name + + The name the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + ClassName filter selects tests based on the class FullName + + + + + Construct a NamespaceFilter for a single namespace + + The namespace the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + NotFilter negates the operation of another filter + + + + + Construct a not filter on another filter + + The filter to be negated + + + + Gets the base filter + + + + + Determine if a particular test passes the filter criteria. + + The test to which the filter is applied + If set to we are carrying a negation through + True if the test passes the filter, otherwise false + + + + Check whether the filter matches a test + + The test to be matched + True if it matches, otherwise false + + + + Determine if a test matches the filter explicitly. That is, it must + be a direct match of the test itself or one of its children. + + The test to which the filter is applied + True if the test matches the filter explicitly, otherwise false + + + + Adds an XML node + + Parent node + True if recursive + The added XML node + + + + Combines multiple filters so that a test must pass one + of them in order to pass this filter. + + + + + Constructs an empty OrFilter + + + + + Constructs an OrFilter from an array of filters + + + + + + Checks whether the OrFilter is matched by a test + + The test to be matched + If set to we are carrying a negation through + True if any of the component filters pass, otherwise false + + + + Checks whether the OrFilter is matched by a test + + The test to be matched + True if any of the component filters match, otherwise false + + + + Checks whether the OrFilter is explicit matched by a test + + The test to be matched + True if any of the component filters explicit match, otherwise false + + + + Gets the element name + + Element name + + + + PropertyFilter is able to select or exclude tests + based on their properties. + + + + + Construct a PropertyFilter using a property name and expected value + + A property name + The expected value of the property + + + + Check whether the filter matches a test + + The test to be matched + + + + + Adds an XML node + + Parent node + True if recursive + The added XML node + + + + Gets the element name + + Element name + + + + TestName filter selects tests based on their Name + + + + + Construct a TestNameFilter for a single name + + The name the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + ValueMatchFilter selects tests based on some value, which + is expected to be contained in the test. + + + + + Returns the value matched by the filter - used for testing + + + + + Indicates whether the value is a regular expression + + + + + Construct a ValueMatchFilter for a single value. + + The value to be included. + + + + Match the input provided by the derived class + + The value to be matched + True for a match, false otherwise. + + + + Adds an XML node + + Parent node + True if recursive + The added XML node + + + + Gets the element name + + Element name + + + + GenericMethodHelper is able to deduce the Type arguments for + a generic method from the actual arguments provided. + + + + + A special value, which is used to indicate that BestCommonType() method + was unable to find a common type for the specified arguments. + + + + + Construct a GenericMethodHelper for a method + + MethodInfo for the method to examine + + + + Return the type arguments for the method, deducing them + from the arguments actually provided. + + The arguments to the method + If successful, an array of type arguments. + + + + A minimalistic implementation of an immutable stack. Add members as needed. + + + + + Represents an empty stack. may be used instead. + + + + + Returns a new immutable stack which begins with the specified value and continues with the values in the + current stack. + + The beginning value of the new stack. + + + + InvalidTestFixtureException is thrown when an appropriate test + fixture constructor using the provided arguments cannot be found. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner. + + + + Serialization Constructor + + + + + InvalidPlatformException is thrown when the platform name supplied + to a test is not recognized. + + + + + Instantiates a new instance of the class. + + + + + Instantiates a new instance of the class + + The message. + + + + Instantiates a new instance of the class + + The message. + The inner. + + + + Serialization constructor for the class + + + + + InvalidTestFixtureException is thrown when an appropriate test + fixture constructor using the provided arguments cannot be found. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner. + + + + Serialization Constructor + + + + + Interface for logging within the engine + + + + + Logs the specified message at the error level. + + The message. + + + + Logs the specified message at the error level. + + The message. + The arguments. + + + + Logs the specified message at the warning level. + + The message. + + + + Logs the specified message at the warning level. + + The message. + The arguments. + + + + Logs the specified message at the info level. + + The message. + + + + Logs the specified message at the info level. + + The message. + The arguments. + + + + Logs the specified message at the debug level. + + The message. + + + + Logs the specified message at the debug level. + + The message. + The arguments. + + + + InternalTrace provides facilities for tracing the execution + of the NUnit framework. Tests and classes under test may make use + of Console writes, System.Diagnostics.Trace or various loggers and + NUnit itself traps and processes each of them. For that reason, a + separate internal trace is needed. + + Note: + InternalTrace uses a global lock to allow multiple threads to write + trace messages. This can easily make it a bottleneck so it must be + used sparingly. Keep the trace Level as low as possible and only + insert InternalTrace writes where they are needed. + TODO: add some buffering and a separate writer thread as an option. + TODO: figure out a way to turn on trace in specific classes only. + + + + + Gets a flag indicating whether the InternalTrace is initialized + + + + + Initialize the internal trace facility using the name of the log + to be written to and the trace level. + + The log name + The trace level + + + + Initialize the internal trace using a provided TextWriter and level + + A TextWriter + The InternalTraceLevel + + + + Get a named Logger + + + + + + Get a logger named for a particular Type. + + + + + InternalTraceLevel is an enumeration controlling the + level of detailed presented in the internal log. + + + + + Use the default settings as specified by the user. + + + + + Do not display any trace messages + + + + + Display Error messages only + + + + + Display Warning level and higher messages + + + + + Display informational and higher messages + + + + + Display debug messages and higher - i.e. all messages + + + + + Display debug messages and higher - i.e. all messages + + + + + A trace listener that writes to a separate file per domain + and process using it. + + + + + Construct an InternalTraceWriter that writes to a file. + + Path to the file to use + + + + Construct an InternalTraceWriter that writes to a + TextWriter provided by the caller. + + + + + + Returns the character encoding in which the output is written. + + The character encoding in which the output is written. + + + + Writes a character to the text string or stream. + + The character to write to the text stream. + + + + Writes a string to the text string or stream. + + The string to write. + + + + Writes a string followed by a line terminator to the text string or stream. + + The string to write. If is null, only the line terminator is written. + + + + Releases the unmanaged resources used by the and optionally releases the managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Clears all buffers for the current writer and causes any buffered data to be written to the underlying device. + + + + + Provides internal logging to the NUnit framework + + + + + Initializes a new instance of the class. + + The name. + The log level. + The writer where logs are sent. + + + + Logs the message at error level. + + The message. + + + + Logs the message at error level. + + The message. + The message arguments. + + + + Logs the message at warm level. + + The message. + + + + Logs the message at warning level. + + The message. + The message arguments. + + + + Logs the message at info level. + + The message. + + + + Logs the message at info level. + + The message. + The message arguments. + + + + Logs the message at debug level. + + The message. + + + + Logs the message at debug level. + + The message. + The message arguments. + + + + The MethodWrapper class wraps a MethodInfo so that it may + be used in a platform-independent manner. + + + + + Construct a MethodWrapper for a Type and a MethodInfo. + + + + + Construct a MethodInfo for a given Type and method name. + + + + + Gets the Type from which this method was reflected. + + + + + Gets the MethodInfo for this method. + + + + + Gets the name of the method. + + + + + Gets a value indicating whether the method is abstract. + + + + + Gets a value indicating whether the method is public. + + + + + Gets a value indicating whether the method is static. + + + + + Gets a value indicating whether the method contains unassigned generic type parameters. + + + + + Gets a value indicating whether the method is a generic method. + + + + + Gets a value indicating whether the MethodInfo represents the definition of a generic method. + + + + + Gets the return Type of the method. + + + + + Gets the parameters of the method. + + + + + + Returns the Type arguments of a generic method or the Type parameters of a generic method definition. + + + + + Replaces the type parameters of the method with the array of types provided and returns a new IMethodInfo. + + The type arguments to be used + A new IMethodInfo with the type arguments replaced + + + + Returns an array of custom attributes of the specified type applied to this method + + + + + Gets a value indicating whether one or more attributes of the specified type are defined on the method. + + + + + Invokes the method, converting any TargetInvocationException to an NUnitException. + + The object on which to invoke the method + The argument list for the method + The return value from the invoked method + + + + Override ToString() so that error messages in NUnit's own tests make sense + + + + + Thrown when an assertion failed. Here to preserve the inner + exception and hence its stack trace. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The error message that explains + the reason for the exception + + + + Initializes a new instance of the class. + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + Serialization Constructor + + + + + Enables the syntax. + + + + + Wraps an action so that it is executed when the returned object is disposed. + This disposal is thread-safe and the action will be executed at most once. + + + + + OSPlatform represents a particular operating system platform + + + + + Platform ID for Unix as defined by .NET + + + + + Platform ID for Unix as defined by Mono + + + + + Platform ID for XBox as defined by .NET and Mono + + + + + Platform ID for MacOSX as defined by .NET and Mono + + + + + Get the OSPlatform under which we are currently running + + + + + Gets the actual OS Version, not the incorrect value that might be + returned for Win 8.1 and Win 10 + + + If an application is not manifested as Windows 8.1 or Windows 10, + the version returned from Environment.OSVersion will not be 6.3 and 10.0 + respectively, but will be 6.2 and 6.3. The correct value can be found in + the registry. + + The original version + The correct OS version + + + + Product Type Enumeration used for Windows + + + + + Product type is unknown or unspecified + + + + + Product type is Workstation + + + + + Product type is Domain Controller + + + + + Product type is Server + + + + + Construct from a platform ID and version + + + + + Construct from a platform ID, version and product type + + + + + Get the platform ID of this instance + + + + + Implemented to use in place of Environment.OSVersion.ToString() + + A representation of the platform ID and version in an approximation of the format used by Environment.OSVersion.ToString() + + + + Get the Version of this instance + + + + + Get the Product Type of this instance + + + + + Return true if this is a windows platform + + + + + Return true if this is a Unix or Linux platform + + + + + Return true if the platform is Win32S + + + + + Return true if the platform is Win32Windows + + + + + Return true if the platform is Win32NT + + + + + Return true if the platform is Windows CE + + + + + Return true if the platform is Xbox + + + + + Return true if the platform is MacOSX + + + + + Return true if the platform is Windows 95 + + + + + Return true if the platform is Windows 98 + + + + + Return true if the platform is Windows ME + + + + + Return true if the platform is NT 3 + + + + + Return true if the platform is NT 4 + + + + + Return true if the platform is NT 5 + + + + + Return true if the platform is Windows 2000 + + + + + Return true if the platform is Windows XP + + + + + Return true if the platform is Windows 2003 Server + + + + + Return true if the platform is NT 6 + + + + + Return true if the platform is NT 6.0 + + + + + Return true if the platform is NT 6.1 + + + + + Return true if the platform is NT 6.2 + + + + + Return true if the platform is NT 6.3 + + + + + Return true if the platform is Vista + + + + + Return true if the platform is Windows 2008 Server (original or R2) + + + + + Return true if the platform is Windows 2008 Server (original) + + + + + Return true if the platform is Windows 2008 Server R2 + + + + + Return true if the platform is Windows 2012 Server (original or R2) + + + + + Return true if the platform is Windows 2012 Server (original) + + + + + Return true if the platform is Windows 2012 Server R2 + + + + + Return true if the platform is Windows 7 + + + + + Return true if the platform is Windows 8 + + + + + Return true if the platform is Windows 8.1 + + + + + Return true if the platform is Windows 10 + + + + + Return true if the platform is Windows Server. This is named Windows + Server 10 to distinguish it from previous versions of Windows Server. + + + + + + Examines an attribute argument and tries to simulate what that value would have been if the literal syntax + which might have defined the value in C# had instead been used as an argument to a given method parameter in a direct call. + + + For example, since you can’t apply attributes using arguments, we allow the C# syntax + 10 ( value) or 0.1 ( value) to be specified. + NUnit then converts it to match the method’s parameters, just as if you were actually + using the syntax TestMethod(10) or TestMethod(0.1). + + + For another example, you might have written the syntax 10 and picked up the attribute + constructor overload; however, the test method for which this value is intended only has a + signature. Again, NUnit simulates what would have happened if the inferred C# syntax was transplanted + and you were actually using the syntax TestMethod(10). + + + + + + Converts an array of objects to the , if it is supported. + + + + + Converts a single value to the , if it is supported. + + + + + Performs several special conversions allowed by NUnit in order to + permit arguments with types that cannot be used in the constructor + of an Attribute such as TestCaseAttribute or to simplify their use. + + The value to be converted + The target in which the should be converted + If conversion was successfully applied, the converted into + + if was converted and should be used; + is no conversion was applied and should be ignored + + + + + The ParameterWrapper class wraps a ParameterInfo so that it may + be used in a platform-independent manner. + + + + + Construct a ParameterWrapper for a given method and parameter + + + + + + + Gets a value indicating whether the parameter is optional + + + + + Gets an IMethodInfo representing the method for which this is a parameter. + + + + + Gets the underlying ParameterInfo + + + + + Gets the Type of the parameter + + + + + Returns an array of custom attributes of the specified type applied to this method + + + + + Gets a value indicating whether one or more attributes of the specified type are defined on the parameter. + + + + + PlatformHelper class is used by the PlatformAttribute class to + determine whether a platform is supported. + + + + + Comma-delimited list of all supported OS platform constants + + + + + Comma-delimited list of all supported Runtime platform constants + + + + + Default constructor uses the operating system and + common language runtime of the system. + + + + + Construct a PlatformHelper for a particular operating + system and common language runtime. Used in testing. + + RuntimeFramework to be used + OperatingSystem to be used + + + + Test to determine if one of a collection of platforms + is being used currently. + + + + + + + Tests to determine if the current platform is supported + based on a platform attribute. + + The attribute to examine + + + + + Tests to determine if the current platform is supported + based on a platform attribute. + + The attribute to examine + + + + + Test to determine if a particular platform or comma-delimited set of platforms is in use. + + Name of the platform or comma-separated list of platform ids + True if the platform is in use on the system + + + + Return the last failure reason. Results are not + defined if called before IsSupported( Attribute ) + is called. + + + + + Implements a simplified filter for use in deciding which + Types and Methods should be used to generate tests. It is constructed with a + list of strings, each of which may end up being interpreted in various ways. + + + + + Return a new PreFilter, without elements, which is considered + empty and always matches. + + + + + Return true if the filter is empty, in which case it + always succeeds. Technically, this is just a filter and + you can add elements but it's best to use Empty when + you need an empty filter and new when you plan to add. + + + + + Add a new filter element to the filter + + + + + + Use the filter on a Type, returning true if the type matches the filter + and should therefore be included in the discovery process. + + + + + Use the filter on a Type, returning true if the type matches the filter + and should therefore be included in the discovery process. + + + + + A PropertyBag represents a collection of name value pairs + that allows duplicate entries with the same key. Methods + are provided for adding a new pair as well as for setting + a key to a single value. All keys are strings but values + may be of any type. Null values are not permitted, since + a null entry represents the absence of the key. + + + + + Adds a key/value pair to the property set + + The key + The value + + + + Sets the value for a key, removing any other + values that are already in the property set. + + + + + + + Gets a single value for a key, using the first + one if multiple values are present and returning + null if the value is not found. + + + + + + + Gets a flag indicating whether the specified key has + any entries in the property set. + + The key to be checked + + True if their are values present, otherwise false + + + + + Gets a collection containing all the keys in the property set + + + + + + Gets or sets the list of values for a particular key + + + + + Returns an XmlNode representing the current PropertyBag. + + Not used + An XmlNode representing the PropertyBag + + + + Returns an XmlNode representing the PropertyBag after + adding it as a child of the supplied parent node. + + The parent node. + Not used + + + + + The PropertyNames class provides static constants for the + standard property ids that NUnit uses on tests. + + + + + The FriendlyName of the AppDomain in which the assembly is running + + + + + The selected strategy for joining parameter data into test cases + + + + + The process ID of the executing assembly + + + + + The stack trace from any data provider that threw + an exception. + + + + + The reason a test was not run + + + + + The author of the tests + + + + + The ApartmentState required for running the test + + + + + The categories applying to a test + + + + + The Description of a test + + + + + The number of threads to be used in running tests + + + + + The maximum time in ms, above which the test is considered to have failed + + + + + The ParallelScope associated with a test + + + + + The number of times the test should be repeated + + + + + Indicates that the test should be run on a separate thread + + + + + The culture to be set for a test + + + + + The UI culture to be set for a test + + + + + The type that is under test + + + + + The timeout value for the test + + + + + The test will be ignored until the given date + + + + + The optional Order the test will run in + + + + + Randomizer returns a set of random values in a repeatable + way, to allow re-running of tests if necessary. It extends + the .NET Random class, providing random values for a much + wider range of types. + + The class is used internally by the framework to generate + test case data and is also exposed for use by users through + the TestContext.Random property. + + + For consistency with the underlying Random Type, methods + returning a single value use the prefix "Next..." Those + without an argument return a non-negative value up to + the full positive range of the Type. Overloads are provided + for specifying a maximum or a range. Methods that return + arrays or strings use the prefix "Get..." to avoid + confusion with the single-value methods. + + + + + Initial seed used to create randomizers for this run + + + + + Get a Randomizer for a particular member, returning + one that has already been created if it exists. + This ensures that the same values are generated + each time the tests are reloaded. + + + + + Get a randomizer for a particular parameter, returning + one that has already been created if it exists. + This ensures that the same values are generated + each time the tests are reloaded. + + + + + Create a new Randomizer using the next seed + available to ensure that each randomizer gives + a unique sequence of values. + + + + + + Default constructor + + + + + Construct based on seed value + + + + + + Returns a random unsigned int. + + + + + Returns a random unsigned int less than the specified maximum. + + + + + Returns a random unsigned int within a specified range. + + + + + Returns a non-negative random short. + + + + + Returns a non-negative random short less than the specified maximum. + + + + + Returns a non-negative random short within a specified range. + + + + + Returns a random unsigned short. + + + + + Returns a random unsigned short less than the specified maximum. + + + + + Returns a random unsigned short within a specified range. + + + + + Returns a random long. + + + + + Returns a random long less than the specified maximum. + + + + + Returns a non-negative random long within a specified range. + + + + + Returns a random ulong. + + + + + Returns a random ulong less than the specified maximum. + + + + + Returns a non-negative random long within a specified range. + + + + + Returns a random Byte + + + + + Returns a random Byte less than the specified maximum. + + + + + Returns a random Byte within a specified range + + + + + Returns a random SByte + + + + + Returns a random sbyte less than the specified maximum. + + + + + Returns a random sbyte within a specified range + + + + + Returns a random bool + + + + + Returns a random bool based on the probability a true result + + + + + Returns a random double between 0.0 and the specified maximum. + + + + + Returns a random double within a specified range. + + + + + Returns a random float. + + + + + Returns a random float between 0.0 and the specified maximum. + + + + + Returns a random float within a specified range. + + + + + Returns a random enum value of the specified Type as an object. + + + + + Returns a random enum value of the specified Type. + + + + + Default characters for random functions. + + Default characters are the English alphabet (uppercase & lowercase), Arabic numerals, and underscore + + + + Generate a random string based on the characters from the input string. + + desired length of output string. + string representing the set of characters from which to construct the resulting string + A random string of arbitrary length + + + + Generate a random string based on the characters from the input string. + + desired length of output string. + A random string of arbitrary length + Uses DefaultStringChars as the input character set + + + + Generate a random string based on the characters from the input string. + + A random string of the default length + Uses DefaultStringChars as the input character set + + + + Returns a random decimal. + + + + + Returns a random decimal between positive zero and the specified maximum. + + + + + Returns a random decimal within a specified range, which is not + permitted to exceed decimal.MaxVal in the current implementation. + + + A limitation of this implementation is that the range from min + to max must not exceed decimal.MaxVal. + + + + + Generates a valid version 4 . + + + + + Helper methods for inspecting a type by reflection. + + Many of these methods take ICustomAttributeProvider as an + argument to avoid duplication, even though certain attributes can + only appear on specific types of members, like MethodInfo or Type. + + In the case where a type is being examined for the presence of + an attribute, interface or named member, the Reflect methods + operate with the full name of the member being sought. This + removes the necessity of the caller having a reference to the + assembly that defines the item being sought and allows the + NUnit core to inspect assemblies that reference an older + version of the NUnit framework. + + + + + Examine a fixture type and return true if it has a method with + a particular attribute. + + The type to examine + The attribute Type to look for + True if found, otherwise false + + + + Invoke the default constructor on a Type + + The Type to be constructed + An instance of the Type + + + + Invoke a constructor on a Type with arguments + + The Type to be constructed + Arguments to the constructor + An instance of the Type + + + + Returns an array of types from an array of objects. + Differs from by returning + for null elements rather than throwing . + + + + + Gets the constructors to which the specified argument types can be coerced. + + + + + Determines if the given types can be coerced to match the given parameters. + + + + + Determines whether the current type can be implicitly converted to the specified type. + + + + + Invoke a parameterless method returning void on an object. + + A MethodInfo for the method to be invoked + The object on which to invoke the method + + + + Invoke a method, converting any TargetInvocationException to an NUnitException. + + A MethodInfo for the method to be invoked + The object on which to invoke the method + The argument list for the method + The return value from the invoked method + + + + + Selects the ultimate shadowing property just like dynamic would, + rather than throwing + for properties that shadow properties of a different property type + which is what does. + + + If you request both public and nonpublic properties, every public property is preferred + over every nonpublic property. It would violate the principle of least surprise for a + derived class’s implementation detail to be chosen over the public API for a type. + + + See . + See . + See . + + + + Same as GetMethod(, | + , , , + ) except that it also chooses only non-generic methods. + Useful for avoiding the you can have with GetMethod. + + + + + Returns the get accessor for the indexer. + + Type to reflect on for the indexer. + List of indexer types that matches the indexer type order. + The Get accessor + + + + Represents the result of running a single test case. + + + + + Construct a TestCaseResult based on a TestMethod + + A TestMethod to which the result applies. + + + + Gets the number of test cases that failed + when running the test and all its children. + + + + + Gets the number of test cases that executed + when running the test and all its children. + + + + + Gets the number of test cases that had warnings + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + Indicates whether this result has any child results. + + + + + Gets the collection of child results. + + + + + The TestResult class represents the result of a test. + + + + + Error message for when child tests have errors + + + + + Error message for when child tests have warnings + + + + + Error message for when child tests are ignored + + + + + Error message for when user has cancelled the test run + + + + + The minimum duration for tests + + + + + Aggregate assertion count + + + + + ReaderWriterLock + + + + + Construct a test result given a Test + + The test to be used + + + + Gets the test with which this result is associated. + + + + + Gets the ResultState of the test result, which + indicates the success or failure of the test. + + + + + Gets the name of the test result + + + + + Gets the full name of the test result + + + + + Gets or sets the elapsed time for running the test in seconds + + + + + Gets or sets the time the test started running. + + + + + Gets or sets the time the test finished running. + + + + + Adds a test attachment to the test result + + The TestAttachment object to attach + + + + Gets the collection of files attached to the test + + + + + Gets the message associated with a test + failure or with not running the test + + + + + Gets any stack trace associated with an + error or failure. + + + + + Gets or sets the count of asserts executed + when running the test. + + + + + Gets the number of test cases executed + when running the test and all its children. + + + + + Gets the number of test cases that failed + when running the test and all its children. + + + + + Gets the number of test cases that had warnings + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + Indicates whether this result has any child results. + + + + + Gets the collection of child results. + + + + + Gets a TextWriter, which will write output to be included in the result. + + + + + Gets any text output written to this result. + + + + + Gets a list of assertion results associated with the test. + + + + + Returns the XML representation of the result. + + If true, descendant results are included + An XmlNode representing the result + + + + Adds the XML representation of the result as a child of the + supplied parent node.. + + The parent node. + If true, descendant results are included + + + + + Gets a count of pending failures (from Multiple Assert) + + + + + Gets the worst assertion status (highest enum) in all the assertion results + + + + + Set the result of the test + + The ResultState to use in the result + + + + Set the result of the test + + The ResultState to use in the result + A message associated with the result state + + + + Set the result of the test + + The ResultState to use in the result + A message associated with the result state + Stack trace giving the location of the command + + + + Set the test result based on the type of exception thrown + + The exception that was thrown + + + + Set the test result based on the type of exception thrown + + The exception that was thrown + The FailureSite to use in the result + + + + RecordTearDownException appends the message and stack trace + from an exception arising during teardown of the test + to any previously recorded information, so that any + earlier failure information is not lost. Note that + calling Assert.Ignore, Assert.Inconclusive, etc. during + teardown is treated as an error. If the current result + represents a suite, it may show a teardown error even + though all contained tests passed. + + The Exception to be recorded + + + + Update overall test result, including legacy Message, based + on AssertionResults that have been saved to this point. + + + + + Record an assertion result + + + + + Record an assertion result + + + + + Record an assertion result + + + + + Creates a failure message incorporating failures + from a Multiple Assert block for use by runners + that don't know about AssertionResults. + + Message as a string + + + + Adds a failure element to a node and returns it. + + The target node. + The new failure element. + + + + Adds an attachments element to a node and returns it. + + The target node. + The new attachments element. + + + + Represents the result of running a test suite + + + + + Construct a TestSuiteResult base on a TestSuite + + The TestSuite to which the result applies + + + + Gets the number of test cases that executed + when running the test and all its children. + + + + + Gets the number of test cases that failed + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + Indicates whether this result has any child results. + + + + + Gets the collection of child results. + + + + + Adds a child result to this result, setting this result's + ResultState to Failure if the child result failed. + + The result to be added + + + + RuntimeFramework represents a particular version + of a common language runtime implementation. + + + + + DefaultVersion is an empty Version, used to indicate that + NUnit should select the CLR version to use for the test. + + + + + Construct from a runtime type and version. If the version has + two parts, it is taken as a framework version. If it has three + or more, it is taken as a CLR version. In either case, the other + version is deduced based on the runtime type and provided version. + + The runtime type of the framework + The version of the framework + + + + Static method to return a RuntimeFramework object + for the framework that is currently in use. + + + + + The type of this runtime framework + + + + + The framework version for this runtime framework + + + + + The CLR version for this runtime framework + + + + + Return true if any CLR version may be used in + matching this RuntimeFramework object. + + + + + Returns the Display name for this framework + + + + + Parses a string representing a RuntimeFramework. + The string may be just a RuntimeType name or just + a Version or a hyphenated RuntimeType-Version or + a Version prefixed by 'versionString'. + + + + + + + Overridden to return the short name of the framework + + + + + + Returns true if the current framework matches the + one supplied as an argument. Two frameworks match + if their runtime types are the same or either one + is RuntimeType.Any and all specified version components + are equal. Negative (i.e. unspecified) version + components are ignored. + + The RuntimeFramework to be matched. + True on match, otherwise false + + + + Enumeration identifying a common language + runtime implementation. + + + + Any supported runtime framework + + + Microsoft .NET Framework + + + Microsoft .NET Framework + + + Microsoft Shared Source CLI + + + Mono + + + MonoTouch + + + Microsoft .NET Core, including .NET 5+ + + + + Holds thread state which is captured and restored in order to sandbox user code. + + + + + Thread principal. + This will be null on platforms that don't support . + + + + + Captures a snapshot of the tracked state of the current thread to be restored later. + + + + + Restores the tracked state of the current thread to the previously captured state. + + + + + Returns a copy with the specified culture. + + + + + Returns a copy with the specified UI culture. + + + + + Returns a copy with the specified principal. + + + + + May be called from any thread. + + + + + May be called from any thread. + + + + + May be called from any thread. + + + + + May be called from any thread, but may only be called once. + + + + + StackFilter class is used to remove internal NUnit + entries from a stack trace so that the resulting + trace provides better information about the test. + + + + + Single instance of our default filter + + + + + Construct a stack filter instance + + Regex pattern used to delete lines from the top of the stack + Regex pattern used to delete lines from the bottom of the stack + + + + Construct a stack filter instance + + Regex pattern used to delete lines from the top of the stack + + + + Construct a stack filter instance + + + + + Filters a raw stack trace and returns the result. + + The original stack trace + A filtered stack trace + + + + Provides methods to support legacy string comparison methods. + + + + + Compares two strings for equality, ignoring case if requested. + + The first string. + The second string.. + if set to , the case of the letters in the strings is ignored. + Zero if the strings are equivalent, a negative number if strA is sorted first, a positive number if + strB is sorted first + + + + Compares two strings for equality, ignoring case if requested. + + The first string. + The second string.. + if set to , the case of the letters in the strings is ignored. + True if the strings are equivalent, false if not. + + + + The TestCaseParameters class encapsulates method arguments and + other selected parameters needed for constructing + a parameterized test case. + + + + + The expected result to be returned + + + + + Default Constructor creates an empty parameter set + + + + + Construct a non-runnable ParameterSet, specifying + the provider exception that made it invalid. + + + + + Construct a parameter set with a list of arguments + + + + + + Construct a ParameterSet from an object implementing ITestCaseData + + + + + + The expected result of the test, which + must match the method return type. + + + + + Gets a value indicating whether an expected result was specified. + + + + + TestCaseTimeoutException is thrown when a test running directly + on a TestWorker thread is cancelled due to timeout. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner. + + + + Serialization Constructor + + + + + Helper class used to save and restore certain static or + singleton settings in the environment that affect tests + or which might be changed by the user tests. + + + + + Link to a prior saved context + + + + + Indicates that a stop has been requested + + + + + The event listener currently receiving notifications + + + + + The number of assertions for the current test + + + + + The current test result + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + An existing instance of TestExecutionContext. + + + + Gets and sets the current context. + + + + + Gets or sets the current test + + + + + The time the current test started execution + + + + + The time the current test started in Ticks + + + + + Gets the elapsed time for running the test in seconds + + + + + Gets or sets the current test result + + + + + Gets a TextWriter that will send output to the current test result. + + + + + The current test object - that is the user fixture + object on which tests are being executed. + + + + + Get or set indicator that run should stop on the first error + + + + + Gets an enum indicating whether a stop has been requested. + + + + + The current test event listener + + + + + The current WorkItemDispatcher. Made public for + use by nunitlite.tests + + + + + The ParallelScope to be used by tests running in this context. + For builds with out the parallel feature, it has no effect. + + + + + Default tolerance value used for floating point equality + when no other tolerance is specified. + + + + + The worker that spawned the context. + For builds without the parallel feature, it is null. + + + + + Gets the RandomGenerator specific to this Test + + + + + Gets the assert count. + + The assert count. + + + + The current nesting level of multiple assert blocks + + + + + Gets or sets the test case timeout value + + + + + Gets a list of ITestActions set by upstream tests + + + + + Saves or restores the CurrentCulture + + + + + Saves or restores the CurrentUICulture + + + + + Gets or sets the current for the Thread. + + + + + The current head of the ValueFormatter chain, copied from MsgUtils.ValueFormatter + + + + + If true, all tests must run on the same thread. No new thread may be spawned. + + + + + The number of times the current test has been scheduled for execution. + Currently only being executed in a test using the + + + + + Record any changes in the environment made by + the test code in the execution context so it + will be passed on to lower level tests. + + + + + Set up the execution environment to match a context. + Note that we may be running on the same thread where the + context was initially created or on a different thread. + + + + + Increments the assert count by one. + + + + + Increments the assert count by a specified amount. + + + + + Adds a new ValueFormatterFactory to the chain of formatters + + The new factory + + + + Sends a message from test to listeners. This message is not kind of test output and doesn't go to test result. + + A name recognized by the intended listeners. + A message to be sent + + + + Obtain lifetime service object + + + + + + An IsolatedContext is used when running code + that may effect the current result in ways that + should not impact the final result of the test. + A new TestExecutionContext is created with an + initially clear result, which is discarded on + exiting the context. + + + using (new TestExecutionContext.IsolatedContext()) + { + // Code that should not impact the result + } + + + + + Save the original current TestExecutionContext and + make a new isolated context current. + + + + + Restore the original TestExecutionContext. + + + + + An AdhocTestExecutionContext is created whenever a context is needed + but not available in CurrentContext. This happens when tests are run + on an ad-hoc basis or Asserts are used outside of tests. + + + + + Construct an AdhocTestExecutionContext, which is used + whenever the current TestExecutionContext is found to be null. + + + + + Enumeration indicating whether the tests are + running normally or being cancelled. + + + + + Running normally with no stop requested + + + + + A graceful stop has been requested + + + + + A forced stop has been requested + + + + + Interface to be implemented by filters applied to tests. + The filter applies when running the test, after it has been + loaded, since this is the only time an ITest exists. + + + + + Unique Empty filter. + + + + + Indicates whether this is the EmptyFilter + + + + + Indicates whether this is a top-level filter, + not contained in any other filter. + + + + + Determine if a particular test passes the filter criteria. The default + implementation checks the test itself, its parents and any descendants. + + Derived classes may override this method or any of the Match methods + to change the behavior of the filter. + + The test to which the filter is applied + True if the test passes the filter, otherwise false + + + + Determine if a particular test passes the filter criteria. The default + implementation checks the test itself, its parents and any descendants. + + Derived classes may override this method or any of the Match methods + to change the behavior of the filter. + + The test to which the filter is applied + If set to we are carrying a negation through + True if the test passes the filter, otherwise false + + + + Determine if a test matches the filter explicitly. That is, it must + be a direct match of the test itself or one of its children. + + The test to which the filter is applied + True if the test matches the filter explicitly, otherwise false + + + + Determine whether the test itself matches the filter criteria, without + examining either parents or descendants. This is overridden by each + different type of filter to perform the necessary tests. + + The test to which the filter is applied + True if the filter matches the any parent of the test + + + + Determine whether any ancestor of the test matches the filter criteria + + The test to which the filter is applied + True if the filter matches the an ancestor of the test + + + + Determine whether any descendant of the test matches the filter criteria. + + The test to be matched + True if at least one descendant matches the filter criteria + + + + Create a TestFilter instance from an XML representation. + + + + + Create a TestFilter from its TNode representation + + + + + Nested class provides an empty filter - one that always + returns true when called. It never matches explicitly. + + + + + Adds an XML node + + True if recursive + The added XML node + + + + Adds an XML node + + Parent node + True if recursive + The added XML node + + + + The TestCaseParameters class encapsulates method arguments and + other selected parameters needed for constructing + a parameterized test case. + + + + + Default Constructor creates an empty parameter set + + + + + Construct a non-runnable ParameterSet, specifying + the provider exception that made it invalid. + + + + + Construct a parameter set with a list of arguments + + + + + + Construct a ParameterSet from an object implementing ITestCaseData + + + + + + Type arguments used to create a generic fixture instance + + + + + TestListener provides an implementation of ITestListener that + does nothing. It is used only through its NULL property. + + + + + Called when a test has just started + + The test that is starting + + + + Called when a test case has finished + + The result of the test + + + + Called when a test produces output for immediate display + + A TestOutput object containing the text to display + + + + Called when a test produces a message to be sent to listeners + + A object containing the message to send + + + + Construct a new TestListener - private so it may not be used. + + + + + Get a listener that does nothing + + + + + TestNameGenerator is able to create test names according to + a coded pattern. + + + + + Default pattern used to generate names + + + + + Construct a TestNameGenerator + + + + + Construct a TestNameGenerator + + The pattern used by this generator. + + + + Get the display name for a TestMethod and its arguments + + A TestMethod + The display name + + + + Get the display name for a TestMethod and its arguments + + A TestMethod + Arguments to be used + The display name + + + + TestParameters is the abstract base class for all classes + that know how to provide data for constructing a test. + + + + + Default Constructor creates an empty parameter set + + + + + Construct a parameter set with a list of arguments + + + + + + Construct a non-runnable ParameterSet, specifying + the provider exception that made it invalid. + + + + + Construct a ParameterSet from an object implementing ITestData + + + + + + The RunState for this set of parameters. + + + + + The arguments to be used in running the test, + which must match the method signature. + + + + + A name to be used for this test case in lieu + of the standard generated name containing + the argument list. + + + + + Gets the property dictionary for this test + + + + + Applies ParameterSet values to the test itself. + + A test. + + + + The original arguments provided by the user, + used for display purposes. + + + + + The list of display names to use as the parameters in the test name. + + + + + TestProgressReporter translates ITestListener events into + the async callbacks that are used to inform the client + software about the progress of a test run. + + + + + Initializes a new instance of the class. + + The callback handler to be used for reporting progress. + + + + Called when a test has just started + + The test that is starting + + + + Called when a test has finished. Sends a result summary to the callback. + to + + The result of the test + + + + Called when a test produces output for immediate display + + A TestOutput object containing the text to display + + + + Called when a test produces a message to be sent to listeners + + A object containing the text to send + + + + Returns the parent test item for the target test item if it exists + + + parent test item + + + + Makes a string safe for use as an attribute, replacing + characters that can't be used with their + corresponding XML representations. + + The string to be used + A new string with the values replaced + + + + ParameterizedFixtureSuite serves as a container for the set of test + fixtures created from a given Type using various parameters. + + + + + Initializes a new instance of the class. + + The ITypeInfo for the type that represents the suite. + + + + Creates a copy of the given suite with only the descendants that pass the specified filter. + + The to copy. + Determines which descendants are copied. + + + + Gets a string representing the type of test + + + + + Creates a filtered copy of the test suite. + + Determines which descendants are copied. + + + + ParameterizedMethodSuite holds a collection of individual + TestMethods with their arguments applied. + + + + + Initializes a new instance of the class. + + + + + Creates a copy of the given suite with only the descendants that pass the specified filter. + + The to copy. + Determines which descendants are copied. + + + + Gets a MethodInfo for the method implementing this test. + + + + + Gets a string representing the type of test + + + + + Creates a filtered copy of the test suite. + + Determines which descendants are copied. + + + + SetUpFixture extends TestSuite and supports + Setup and TearDown methods. + + + + + Initializes a new instance of the class. + + + + + Creates a copy of the given suite with only the descendants that pass the specified filter. + + The to copy. + Determines which descendants are copied. + + + + Gets the TypeInfo of the fixture used in running this test. + + + + + Creates a filtered copy of the test suite. + + Determines which descendants are copied. + + + + The Test abstract class represents a test within the framework. + + + + + Static value to seed ids. It's started at 1000 so any + uninitialized ids will stand out. + + + + + Used to cache the declaring type for this MethodInfo + + + + + Method property backing field + + + + + Constructs a test given its name + + The name of the test + + + + Constructs a test given the path through the + test hierarchy to its parent and a name. + + The parent tests full name + The name of the test + + + + Constructs a test for a specific type. + + + + + Constructs a test for a specific method. + + + + + Gets or sets the id of the test + + + + + + Gets or sets the name of the test + + + + + Gets or sets the fully qualified name of the test + + + + + + Gets the name of the class where this test was declared. + Returns null if the test is not associated with a class. + + + + + Gets the name of the method implementing this test. + Returns null if the test is not implemented as a method. + + + + + The arguments to use in creating the test or empty array if none required. + + + + + Gets the TypeInfo of the fixture used in running this test + or null if no fixture type is associated with it. + + + + + Gets a MethodInfo for the method implementing this test. + Returns null if the test is not implemented as a method. + + + + + Whether or not the test should be run + + + + + Gets the name used for the top-level element in the + XML representation of this test + + + + + Gets a string representing the type of test. Used as an attribute + value in the XML representation of a test and has no other + function in the framework. + + + + + Gets a count of test cases represented by + or contained under this test. + + + + + Gets the properties for this test + + + + + Returns true if this is a TestSuite + + + + + Gets a bool indicating whether the current test + has any descendant tests. + + + + + Gets the parent as a Test object. + Used by the core to set the parent. + + + + + Gets this test's child tests + + A list of child tests + + + + Gets or sets a fixture object for running this test. + + + + + Static prefix used for ids in this AppDomain. + Set by FrameworkController. + + + + + Gets or Sets the Int value representing the seed for the RandomGenerator + + + + + + The SetUp methods. + + + + + The teardown methods + + + + + Creates a TestResult for this test. + + A TestResult suitable for this type of test. + + + + Modify a newly constructed test by applying any of NUnit's common + attributes, based on a supplied , which is + usually the reflection element from which the test was constructed, + but may not be in some instances. The attributes retrieved are + saved for use in subsequent operations. + + + + + Mark the test as Invalid (not runnable) specifying a reason + + The reason the test is not runnable + + + + Get custom attributes applied to a test + + + + + Add standard attributes and members to a test node. + + + + + + + Returns the XML representation of the test + + If true, include child tests recursively + + + + + Returns an XmlNode representing the current result after + adding it as a child of the supplied parent node. + + The parent node. + If true, descendant results are included + + + + Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. + An object to compare with this instance. + + + Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. + An object to compare with this instance. + + + + TestAssembly is a TestSuite that represents the execution + of tests in a managed assembly. + + + + + Initializes a new instance of the class + specifying the Assembly and the suite name. + + The assembly this test represents. + + This becomes the full name of the suite and the filename part is used as the suite name. + + + + + Initializes a new instance of the class + specifying the suite name for an assembly that could not be loaded. + + + This becomes the full name of the suite and the filename part is used as the suite name. + + + + + Creates a copy of the given assembly with only the descendants that pass the specified filter. + + The to copy. + Determines which descendants are copied. + + + + Gets the Assembly represented by this instance. + + + + + Gets the name used for the top-level element in the + XML representation of this test + + + + + Get custom attributes specified on the assembly + + + + + Creates a filtered copy of the test suite. + + Determines which descendants are copied. + + + + TestFixture is a surrogate for a user test fixture class, + containing one or more tests. + + + + + The life cycle specified for the current test fixture. + + + + + Initializes a new instance of the class. + + Type of the fixture. + Arguments used to instantiate the test fixture, or null if none used + + + + Creates a copy of the given suite with only the descendants that pass the specified filter. + + The to copy. + Determines which descendants are copied. + + + + Gets the TypeInfo of the fixture used in running this test. + + + + + Creates a filtered copy of the test suite. + + Determines which descendants are copied. + + + + The TestMethod class represents a Test implemented as a method. + + + + + The ParameterSet used to create this test method + + + + + Initializes a new instance of the class. + + The method to be used as a test. + + + + Initializes a new instance of the class. + + The method to be used as a test. + The suite or fixture to which the new test will be added + + + + Gets a MethodInfo for the method implementing this test. + + + + + The arguments to use in executing the test method, or empty array if none are provided. + + + + + Overridden to return a TestCaseResult. + + A TestResult for this test. + + + + Gets a bool indicating whether the current test + has any descendant tests. + + + + + Returns a TNode representing the current result after + adding it as a child of the supplied parent node. + + The parent node. + If true, descendant results are included + + + + + Gets this test's child tests + + A list of child tests + + + + Gets the name used for the top-level element in the + XML representation of this test + + + + + Returns the name of the method + + + + + TestSuite represents a composite test, which contains other tests. + + + + + Our collection of child tests + + + + + Initializes a new instance of the class. + + The name of the suite. + + + + Initializes a new instance of the class. + + Name of the parent suite. + The name of the suite. + + + + Initializes a new instance of the class. + + Type of the fixture. + Arguments used to instantiate the test fixture, or null if none used. + + + + Initializes a new instance of the class. + + Type of the fixture. + + + + Creates a copy of the given suite with only the descendants that pass the specified filter. + + The to copy. + Determines which descendants are copied. + + + + Sorts tests under this suite. + + + + + Adds a test to the suite. + + The test. + + + + Creates a filtered copy of the test suite. + + Determines which descendants are copied. + + + + Gets this test's child tests + + The list of child tests + + + + Gets a count of test cases represented by + or contained under this test. + + + + + + The arguments to use in creating the fixture, or empty array if none are provided. + + + + + Set to true to suppress sorting this suite's contents + + + + + OneTimeSetUp methods for this suite + + + + + OneTimeTearDown methods for this suite + + + + + Overridden to return a TestSuiteResult. + + A TestResult for this test. + + + + Gets a bool indicating whether the current test + has any descendant tests. + + + + + Gets the name used for the top-level element in the + XML representation of this test + + + + + Returns an XmlNode representing the current result after + adding it as a child of the supplied parent node. + + The parent node. + If true, descendant results are included + + + + + Check that setup and teardown methods marked by certain attributes + meet NUnit's requirements and mark the tests not runnable otherwise. + + + + + ThreadUtility provides a set of static methods convenient + for working with threads. + + + + Gets or if the current platform does not support it. + + + Sets if current platform supports it. + Value to set. If the current platform does not support then the only allowed value is . + + + + TypeHelper provides static methods that operate on Types. + + + + + Gets the display name for a Type as used by NUnit. + + The Type for which a display name is needed. + The display name for the Type + + + + Gets the display name for a Type as used by NUnit. + + The Type for which a display name is needed. + The arglist provided. + The display name for the Type + + + + Returns the best fit for a common type to be used in + matching actual arguments to a methods Type parameters. + + + + + Determines whether the specified type is numeric. + + The type to be examined. + + if the specified type is numeric; otherwise, . + + + + + Convert an argument list to the required parameter types. + Currently, only widening numeric conversions are performed. + + An array of args to be converted + A ParameterInfo[] whose types will be used as targets + + + + Determines whether this instance can deduce type args for a generic type from the supplied arguments. + + The type to be examined. + The arglist. + The type args to be used. + + if this the provided args give sufficient information to determine the type args to be used; otherwise, . + + + + + Return the interfaces implemented by a Type. + + The Type to be examined. + An array of Types for the interfaces. + + + + Return whether or not the given type is a ValueTuple. + + Type. + Whether or not the given type is a ValueTuple. + + + + Return whether or not the given type is a Tuple. + + Type. + Whether or not the given type is a Tuple. + + + + Determines whether the cast to the given type would succeed. + If is and + can be , the cast succeeds just like the C# language feature. + + The object to cast. + + + + Casts to a value of the given type if possible. + If is and + can be , the cast succeeds just like the C# language feature. + + The object to cast. + The value of the object, if the cast succeeded. + + + + Used for resolving the type difference between objects. + + + + + Gets the shortened type name difference between and . + + The expected object. + The actual object. + Output of the unique type name for the expected object. + Output of the unique type name for actual object. + + + + Gets the shortened type name difference between and . + + The expected object . + The actual object . + Output of the unique type name for the expected object. + Output of the unique type name for actual object. + + + + Obtain the shortened generic template parameters of the given and , + if they are generic. + + The expected . + The actual . + Shortened generic parameters of the expected . + Shortened generic parameters of the actual . + + + + Obtain a shortened name of the given . + + + + + Shorten the given names by only including the relevant differing namespaces/types, if they differ. + + The expected . + The actual . + The shortened expected name. + The shortened actual name. + + + + Returns whether or not the is generic. + + + + + Returns the fully qualified generic name of a given . + + + + + Reconstruct a generic type name using the provided generic type name, and a + of the template parameters. + + The name of the generic type, including the number of template parameters expected. + A of names of the template parameters of the provided generic type. + + + + Obtain the shortened generic names of the given expected and actual s. + + The expected . + The actual . + The shortened expected generic name. + The shortened actual generic name. + + + + The TypeWrapper class wraps a Type so it may be used in + a platform-independent manner. + + + + + Construct a TypeWrapper for a specified Type. + + + + + Gets the underlying Type on which this TypeWrapper is based. + + + + + Gets the base type of this type as an ITypeInfo + + + + + Gets the Name of the Type + + + + + Gets the FullName of the Type + + + + + Gets the assembly in which the type is declared + + + + + Gets the namespace of the Type + + + + + Gets a value indicating whether the type is abstract. + + + + + Gets a value indicating whether the Type is a generic Type + + + + + Returns true if the Type wrapped is T + + + + + Gets a value indicating whether the Type has generic parameters that have not been replaced by specific Types. + + + + + Gets a value indicating whether the Type is a generic Type definition + + + + + Gets a value indicating whether the type is sealed. + + + + + Gets a value indicating whether this type represents a static class. + + + + + Get the display name for this type + + + + + Get the display name for an object of this type, constructed with the specified args. + + + + + Returns a new ITypeInfo representing an instance of this generic Type using the supplied Type arguments + + + + + Returns a Type representing a generic type definition from which this Type can be constructed. + + + + + Returns an array of custom attributes of the specified type applied to this type + + + + + Returns a value indicating whether the type has an attribute of the specified type. + + + + + + + + Returns a flag indicating whether this type has a method with an attribute of the specified type. + + + + + + + Returns an array of IMethodInfos for methods of this Type + that match the specified flags. + + + + + Gets the public constructor taking the specified argument Types + + + + + Returns a value indicating whether this Type has a public constructor taking the specified argument Types. + + + + + Construct an object of this Type, using the specified arguments. + + + + + Override ToString() so that error messages in NUnit's own tests make sense + + + + + Returns all methods declared by this type that have the specified attribute, optionally + including base classes. Methods from a base class are always returned before methods from a class that + inherits from it. + + Specifies whether to search the fixture type inheritance chain. + + + + Encapsulates the ability to increment a value by an amount which may be of a different type. + + + + + Creates a from the specified value if the current instance is able to + use it to increment the on values which it operates. If the creation fails, + is thrown. + + + + + + Creates a from the specified value if the current instance is able to + use it to increment values on which it operates. A return value indicates + whether the creation succeeded. + + + + + Provides a convenient shorthand when is + and the default value of represents zero. + + + + + Initializes a new instance of the class. + + The amount by which to increment each time this step is applied. + + Must increment the given value and return the result. + If the result is outside the range representable by , + must throw . If the result does not change due to lack + of precision representable by , must throw . + + + + + Increments the given value and returns the result. + If the result is outside the range representable by , + throws . If the result does not change due to lack + of precision representable by , throws . + + + + + + + Encapsulates the ability to increment a value by an amount + which may be of a different type. + + + + + Increments the given value and returns the result. + If the result is outside the range representable by , + throws . If the result does not change due to lack + of precision representable by , throws . + + + + + + + Creates a from the specified value if the current instance is able to + use it to increment values of type . If the creation fails, + is thrown. + + + + + + Creates a from the specified value if the current instance is able to + use it to increment values of type . A return value indicates + whether the creation succeeded. + + + + + The IgnoredTestCaseData class represents a ignored TestCaseData. It adds + the ability to set a date until which the test will be ignored. + + + + + The previous RunState + + + + + Set the date that the test is being ignored until + + The date that the test is being ignored until + A modified TestCaseData. + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + + + + + Returns a constraint that tests for null + + + + + Returns a constraint that tests for True + + + + + Returns a constraint that tests for False + + + + + Returns a constraint that tests for a positive value + + + + + Returns a constraint that tests for a negative value + + + + + Returns a constraint that tests for equality with zero + + + + + Returns a constraint that tests for NaN + + + + + Returns a constraint that tests for empty + + + + + Returns a constraint that tests whether a collection + contains all unique items. + + + + + Returns a constraint that tests whether an object graph is serializable in binary format. + + + + + Returns a constraint that tests whether an object graph is serializable in XML format. + + + + + Returns a constraint that tests two items for equality + + + + + Returns a constraint that tests that two references are the same object + + + + + Returns a constraint that tests whether the + actual value is greater than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable to the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable to the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a collection containing the same elements as the + collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a subset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a superset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether a collection is ordered + + + + + Returns a constraint that tests whether the path provided + is the same as an expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is a subpath of the expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is the same path or under an expected path after canonicalization. + + + + + Returns a constraint that tests whether the actual value falls + inclusively within a specified range. + + Inclusive beginning of the range. + Inclusive end of the range. + + + + + Returns a constraint that tests if an item is equal to any of parameters + + Expected values + + + + When implemented by an attribute, this interface implemented to provide actions to execute before and after tests. + + + + + Executed before each test is run + + The test that is going to be run. + + + + Executed after each test is run + + The test that has just been run. + + + + Provides the target for the action attribute + + The target for the action attribute + + + + The Iz class is a synonym for Is intended for use in VB, + which regards Is as a keyword. + + + + + The List class is a helper class with properties and methods + that supply a number of constraints used with lists and collections. + + + + + List.Map returns a ListMapper, which can be used to map + the original collection to another collection. + + + + + + + ListMapper is used to transform a collection used as an actual argument + producing another collection to be used in the assertion. + + + + + Construct a ListMapper based on a collection + + The collection to be transformed + + + + Produces a collection containing all the values of a property + + The collection of property values + + + + + Basic Asserts on strings. + + + + + DO NOT USE! Use StringAssert.AreEqualIgnoringCase(...) or Assert.AreEqual(...) instead. + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + Asserts that a string is found within another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string is found within another string. + + The expected string + The string to be examined + + + + Asserts that a string is not found within another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string is found within another string. + + The expected string + The string to be examined + + + + Asserts that a string starts with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string starts with another string. + + The expected string + The string to be examined + + + + Asserts that a string does not start with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string does not start with another string. + + The expected string + The string to be examined + + + + Asserts that a string ends with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string ends with another string. + + The expected string + The string to be examined + + + + Asserts that a string does not end with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string does not end with another string. + + The expected string + The string to be examined + + + + Asserts that two strings are equal, without regard to case. + + The expected string + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that two strings are equal, without regard to case. + + The expected string + The actual string + + + + Asserts that two strings are not equal, without regard to case. + + The expected string + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that two strings are not equal, without regard to case. + + The expected string + The actual string + + + + Asserts that a string matches an expected regular expression pattern. + + The regex pattern to be matched + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string matches an expected regular expression pattern. + + The regex pattern to be matched + The actual string + + + + Asserts that a string does not match an expected regular expression pattern. + + The regex pattern to be used + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string does not match an expected regular expression pattern. + + The regex pattern to be used + The actual string + + + + The TestCaseData class represents a set of arguments + and other parameter info to be used for a parameterized + test case. It is derived from TestCaseParameters and adds a + fluent syntax for use in initializing the test case. + + + + + Initializes a new instance of the class. + + The arguments. + + + + Initializes a new instance of the class. + + The argument. + + + + Initializes a new instance of the class. + + The first argument. + The second argument. + + + + Initializes a new instance of the class. + + The first argument. + The second argument. + The third argument. + + + + Sets the expected result for the test + + The expected result + A modified TestCaseData + + + + Sets the name of the test case + + The modified TestCaseData instance + + + + Sets the list of display names to use as the parameters in the test name. + + + + + Sets the description for the test case + being constructed. + + The description. + The modified TestCaseData instance. + + + + Applies a category to the test + + + + + + + Applies a named property to the test + + + + + + + + Applies a named property to the test + + + + + + + + Applies a named property to the test + + + + + + + + Marks the test case as explicit. + + + + + Marks the test case as explicit, specifying the reason. + + + + + Ignores this TestCase, specifying the reason. + + The reason. + + + + + Provide the context information of the current test. + This is an adapter for the internal ExecutionContext + class, hiding the internals from the user test. + + + + + Construct a TestContext for an ExecutionContext + + The ExecutionContext to adapt + + + + Get the current test context. This is created + as needed. The user may save the context for + use within a test, but it should not be used + outside the test for which it is created. + + + + + Gets a TextWriter that will send output to the current test result. + + + + + Gets a TextWriter that will send output directly to Console.Error + + + + + Gets a TextWriter for use in displaying immediate progress messages + + + + + TestParameters object holds parameters for the test run, if any are specified + + + + + Static DefaultWorkDirectory is now used as the source + of the public instance property WorkDirectory. This is + a bit odd but necessary to avoid breaking user tests. + + + + + Get a representation of the current test. + + + + + Gets a Representation of the TestResult for the current test. + + + + + Gets the unique name of the Worker that is executing this test. + + + + + Gets the directory containing the current test assembly. + + + + + Gets the directory to be used for outputting files created + by this test run. + + + + + Gets the random generator. + + + The random generator. + + + + + Gets the number of assertions executed + up to this point in the test. + + + + + Get the number of times the current Test has been repeated + when using the or . + + + + Write the string representation of a boolean value to the current result + + + Write a char to the current result + + + Write a char array to the current result + + + Write the string representation of a double to the current result + + + Write the string representation of an Int32 value to the current result + + + Write the string representation of an Int64 value to the current result + + + Write the string representation of a decimal value to the current result + + + Write the string representation of an object to the current result + + + Write the string representation of a Single value to the current result + + + Write a string to the current result + + + Write the string representation of a UInt32 value to the current result + + + Write the string representation of a UInt64 value to the current result + + + Write a formatted string to the current result + + + Write a formatted string to the current result + + + Write a formatted string to the current result + + + Write a formatted string to the current result + + + Write a line terminator to the current result + + + Write the string representation of a boolean value to the current result followed by a line terminator + + + Write a char to the current result followed by a line terminator + + + Write a char array to the current result followed by a line terminator + + + Write the string representation of a double to the current result followed by a line terminator + + + Write the string representation of an Int32 value to the current result followed by a line terminator + + + Write the string representation of an Int64 value to the current result followed by a line terminator + + + Write the string representation of a decimal value to the current result followed by a line terminator + + + Write the string representation of an object to the current result followed by a line terminator + + + Write the string representation of a Single value to the current result followed by a line terminator + + + Write a string to the current result followed by a line terminator + + + Write the string representation of a UInt32 value to the current result followed by a line terminator + + + Write the string representation of a UInt64 value to the current result followed by a line terminator + + + Write a formatted string to the current result followed by a line terminator + + + Write a formatted string to the current result followed by a line terminator + + + Write a formatted string to the current result followed by a line terminator + + + Write a formatted string to the current result followed by a line terminator + + + + This method adds the a new ValueFormatterFactory to the + chain of responsibility used for formatting values in messages. + The scope of the change is the current TestContext. + + The factory delegate + + + + Attach a file to the current test result + + Relative or absolute file path to attachment + Optional description of attachment + + + + This method provides a simplified way to add a ValueFormatter + delegate to the chain of responsibility, creating the factory + delegate internally. It is useful when the Type of the object + is the only criterion for selection of the formatter, since + it can be used without getting involved with a compound function. + + The type supported by this formatter + The ValueFormatter delegate + + + + TestAdapter adapts a Test for consumption by + the user test code. + + + + + Construct a TestAdapter for a Test + + The Test to be adapted + + + + Gets the unique Id of a test + + + + + The name of the test, which may or may not be + the same as the method name. + + + + + The name of the method representing the test. + + + + + The FullName of the test + + + + + The ClassName of the test + + + + + A shallow copy of the properties of the test. + + + + + The arguments to use in creating the test or empty array if none are required. + + + + + ResultAdapter adapts a TestResult for consumption by + the user test code. + + + + + Construct a ResultAdapter for a TestResult + + The TestResult to be adapted + + + + Gets a ResultState representing the outcome of the test + up to this point in its execution. + + + + + Gets a list of the assertion results generated + up to this point in the test. + + + + + Gets the message associated with a test + failure or with not running the test + + + + + Gets any stack trace associated with an + error or failure. + + + + + Gets the number of test cases that failed + when running the test and all its children. + + + + + Gets the number of test cases that had warnings + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + adapts an + for consumption by the user. + + + + + Construct a from a source + . + + + + + Get the first property with the given , if it can be found, otherwise + returns null. + + + + + Indicates whether is found in this + . + + + + + Returns a collection of properties + with the given . + + + + + Returns the count of elements with the given . + + + + + Returns a collection of the property keys. + + + + + The TestFixtureData class represents a set of arguments + and other parameter info to be used for a parameterized + fixture. It is derived from TestFixtureParameters and adds a + fluent syntax for use in initializing the fixture. + + + + + Initializes a new instance of the class. + + The arguments. + + + + Initializes a new instance of the class. + + The argument. + + + + Initializes a new instance of the class. + + The first argument. + The second argument. + + + + Initializes a new instance of the class. + + The first argument. + The second argument. + The third argument. + + + + Sets the name of the test fixture + + The modified TestFixtureData instance + + + + Sets the list of display names to use as the parameters in the test name. + + + + + Marks the test fixture as explicit. + + + + + Marks the test fixture as explicit, specifying the reason. + + + + + Ignores this TestFixture, specifying the reason. + + The reason. + + + + + TestParameters class holds any named parameters supplied to the test run + + + + + Gets the number of test parameters + + + + + Gets a collection of the test parameter names + + + + + Gets a flag indicating whether a parameter with the specified name exists. + + Name of the parameter + True if it exists, otherwise false + + + + Indexer provides access to the internal dictionary + + Name of the parameter + Value of the parameter or null if not present + + + + Get method is a simple alternative to the indexer + + Name of the parameter + Value of the parameter or null if not present + + + + Get the value of a parameter or a default string + + Name of the parameter + Default value of the parameter + Value of the parameter or default value if not present + + + + Get the value of a parameter or return a default + + The return Type + Name of the parameter + Default value of the parameter + Value of the parameter or default value if not present + + + + Adds a parameter to the list + + Name of the parameter + Value of the parameter + + + + Helper class with properties and methods that supply + constraints that operate on exceptions. + + + + + Creates a constraint specifying an expected exception + + + + + Creates a constraint specifying an exception with a given InnerException + + + + + Creates a constraint specifying an expected TargetInvocationException + + + + + Creates a constraint specifying an expected ArgumentException + + + + + Creates a constraint specifying an expected ArgumentNullException + + + + + Creates a constraint specifying an expected InvalidOperationException + + + + + Creates a constraint specifying that no exception is thrown + + + + + Creates a constraint specifying the exact type of exception expected + + + + + Creates a constraint specifying the exact type of exception expected + + + + + Creates a constraint specifying the type of exception expected + + + + + Creates a constraint specifying the type of exception expected + + + + + Provides static methods to express conditions + that must be met for the test to succeed. If + any test fails, a warning is issued. + + + + + DO NOT USE! + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + The left object. + The right object. + Not applicable + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + The left object. + The right object. + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Asserts that a condition is true. If the condition is false, a warning is issued. + + The evaluated condition + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false, a warning is issued. + + The evaluated condition + + + + Asserts that a condition is true. If the condition is false, a warning is issued. + + The evaluated condition + A function to build the message included with the Exception + + + + Asserts that a condition is true. If the condition is false, a warning is issued. + + A lambda that returns a Boolean + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false, a warning is issued. + + A lambda that returns a Boolean + + + + Asserts that a condition is true. If the condition is false, a warning is issued. + + A lambda that returns a Boolean + A function to build the message included with the Exception + + + + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + + A TestDelegate to be executed + A Constraint expression to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Apply a constraint to an actual value, succeeding if the constraint + fails and issuing a warning on success. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + fails and issuing a warning on success. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + fails and issuing a warning on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Asserts that a condition is true. If the condition is false, a warning is issued. + + The evaluated condition + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false, a warning is issued. + + The evaluated condition + + + + Asserts that a condition is true. If the condition is false, a warning is issued. + + The evaluated condition + A function to build the message included with the Exception + + + + Asserts that a condition is false. If the condition is true a warning is issued. + + A lambda that returns a Boolean + The message to display if the condition is true + Arguments to be used in formatting the message + + + + Asserts that a condition is false. If the condition is true a warning is issued. + + A lambda that returns a Boolean + + + + Asserts that a condition is false. If the condition is true a warning is issued. + + A lambda that returns a Boolean + A function to build the message included with the Exception + + + + Apply a constraint to an actual value, succeeding if the constraint + fails and issuing a warning if it succeeds. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + fails and issuing a warning if it succeeds. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + A function to build the message included with the Exception + + + + FrameworkPackageSettings is a static class containing constant values that + are used as keys in setting up a TestPackage. These values are used in + the framework, and set in the runner. Setting values may be a string, int or bool. + + + + + Flag (bool) indicating whether tests are being debugged. + + + + + Flag (bool) indicating whether to pause execution of tests to allow + the user to attach a debugger. + + + + + The InternalTraceLevel for this run. Values are: "Default", + "Off", "Error", "Warning", "Info", "Debug", "Verbose". + Default is "Off". "Debug" and "Verbose" are synonyms. + + + + + Full path of the directory to be used for work and result files. + This path is provided to tests by the framework TestContext. + + + + + Integer value in milliseconds for the default timeout value + for test cases. If not specified, there is no timeout except + as specified by attributes on the tests themselves. + + + + + A string representing the default thread culture to be used for + running tests. String should be a valid BCP-47 culture name. If + culture is unset, tests run on the machine's default culture. + + + + + A string representing the default thread UI culture to be used for + running tests. String should be a valid BCP-47 culture name. If + culture is unset, tests run on the machine's default culture. + + + + + A TextWriter to which the internal trace will be sent. + + + + + A list of tests to be loaded. + + + + + The number of test threads to run for the assembly. If set to + 1, a single queue is used. If set to 0, tests are executed + directly, without queuing. + + + + + The random seed to be used for this assembly. If specified + as the value reported from a prior run, the framework should + generate identical random values for tests as were used for + that run, provided that no change has been made to the test + assembly. Default is a random value itself. + + + + + If true, execution stops after the first error or failure. + + + + + If true, use of the event queue is suppressed and test events are synchronous. + + + + + The default naming pattern used in generating test names + + + + + Parameters to be passed on to the tests, serialized to a single string which needs parsing. Obsoleted by ; kept for backward compatibility. + + + + + Parameters to be passed on to the tests, already parsed into an IDictionary<string, string>. Replaces . + + + + + If true, the tests will run on the same thread as the NUnit runner itself + + + + + Provides a platform-independent methods for getting attributes + for use by AttributeConstraint and AttributeExistsConstraint. + + + + + Gets the custom attributes from the given object. + + The actual. + Type of the attribute. + if set to [inherit]. + A list of the given attribute on the given object. + + + + A MarshalByRefObject that lives forever + + + + + Obtains a lifetime service object to control the lifetime policy for this instance. + + + + Specifies that null is allowed as an input even if the corresponding type disallows it. + + + Specifies that null is disallowed as an input even if the corresponding type allows it. + + + Specifies that an output may be null even if the corresponding type disallows it. + + + Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns. + + + Specifies that when a method returns , the parameter may be null even if the corresponding type disallows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter may be null. + + + + Gets the return value condition. + + + Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + + Gets the return value condition. + + + Specifies that the output will be non-null if the named parameter is non-null. + + + Initializes the attribute with the associated parameter name. + + The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null. + + + + Gets the associated parameter name. + + + Applied to a method that will never return under any circumstance. + + + Specifies that the method will not return if the associated Boolean parameter is passed the specified value. + + + Initializes the attribute with the specified parameter value. + + The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to + the associated parameter matches this value. + + + + Gets the condition parameter value. + + + + 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/src/packages/Should.1.1.12.0/Should.1.1.12.0.nupkg b/src/packages/Should.1.1.12.0/Should.1.1.12.0.nupkg deleted file mode 100644 index 9149a1f9576b7eae1ed6c45c1c9656d7ed4d867f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16895 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 diff --git a/src/packages/Should.1.1.12.0/lib/Should.dll b/src/packages/Should.1.1.12.0/lib/Should.dll deleted file mode 100644 index f0f7443db0146b44fcf5f4feabb820cb2a40b028..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26624 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 P{yPui|LgvrwZQ)YBF;|S diff --git a/src/packages/Should.1.1.20/.signature.p7s b/src/packages/Should.1.1.20/.signature.p7s new file mode 100644 index 0000000000000000000000000000000000000000..82bd94702d664d26d5175d1b666bdf77aaca8e68 GIT binary patch literal 9467 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 literal 0 HcmV?d00001 diff --git a/src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/Icon.png b/src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/Icon.png new file mode 100644 index 0000000000000000000000000000000000000000..a0f1fdbf4d5eae0e561018cccee74f6a454cdb9c GIT binary patch literal 7006 zcmeHMXH-+`n%)#eMU;C)kZw7O2nvFLpcE@A^-u+AN(mh$UH*JD5Jjm{4}uUR zs5C(zdURn*zrcHqdVxK)P)7322TAMVbNR4HRzo3_~zdgjvf?Ot98@H{LHdy zK*)TM=g&B9f}+9IKfm=aF5e3_{PQJ$ zY4?9DHvtd+Y14o8TQs=)&+P)Wjb3|LIT@*NDqyYm#gu^q*EFSow<%yKVx`_Ka)!0 z2YAaQr%LYyQ%n$Rjx)e%JeM5_ov70FUMveJTS(J+%C4(L)~h*MQ8!wJtf_X{`Ol?k z;{27%#**2uiR&R6-eaRK1Mdgl2xHQ=uS(~VqsTVrsUnQhc zRIK5>@(05w3gHYdsI0;;sOO66pUEl)DGyD(D4>$7drUDFZ|uxx;-nWj7d|rj=u+D@ z-HU+mLOInrsXdSL1Z6nVB&D z@>f4!yq=_B+16+qw5k=4o#*tf;6Oe*F;`&L!)bT{U7Wc3YmG2;NRxb%woCt~*Yr2E zfwiUdS=7SK&5>df-aqY8lp~SEUG*ziXGvHMLp_#vgvVMQ*&{+d@(a>v4;7p_%Jte0Ga5zNbUI28WAgY5f?FX^;q`1WTw2~t|P54N&e^@=nFqDj}W#o z_-kZBWDQ%($YJH43Y7YrbjfsUrAEjla>?j0;YLdXxjK}P@xDGc%r&c)6`t?XW=*{r z%Z^p)?6*7obKU_;NZK_ejh9n&?qzO0#(}Uo+KSm|e}q1+f$wM!G8>lLvKK1UK^uz5 zDk&5(DuUnzQy{aQ8%b~*_4Ri`TOj}Dd{0OCls}^VD8=qDC%Q9tSSt5LZoxd!|ai3oGtf&cOy(`^W9zMNR;bII|OS+Pe(-9=f!m6}w zV>f(mH^BYE-=Wl=)Q2s2TF*j&tRkN0KOu3-(VN?4?-v|?W^Xj)@u4^bNB%bN+f|D= z?r1ey$UbahYv!qISaxV8>+1Mnz!M&S1o+~titx|65MA`iQMjscL!+LOGjZ?p>}x6d z4`FiZV9i-E6F8c|Fq37-TTTtJOdIZ9<*YrJU86UuQr6dipNC%AxT?lXa9U=`iq+2= zOT!CFUlJM1&INj~InR!=@x@{Z8BnvgL~_>nN)y@!r<0$uGCJ<0B-q!vZn@~#5^Ig8B}}g&dYBee=x50Wv$R^^f%aTE~g_a7&8Y(5L>! zkYgCl@1ZVqFSwkH(ns-EtYbOFLrarf#r6W9#x8rO<<_6h33faYV{<&_gBahO#ga9j z$|}=ea)vEm|Hb`E%L9Gn#Osxg( z&sxXz7lsse+_i@<_LUl@8$916h*m6!R?~zr_ZQU^H3F(aC1is#I$VP$GO(s!pT&Y# z85JYcwQqu6Ja6sje&x*)nOdx;bt1hNMTSwSikFeKE)+MRrW?mg=8mp^AR_kz{C%e* z32H_>c600^d$9)ob+$yzpyxHa+k0Sz7GG41I0A59bKJf?X}E6mX$pU~Wc%_?$2w1s zZEbk$svZ4U+WH;XPEb^-IqhGQX1U|z8KWp8&jVlWFPP+7Um6;oMy?>TFU`cMT5bYx z;7_~MfZ(sumPQHg++U)9PT=+=zxu+qmP==xJ&oI%XgD8=YZo%*rGq2U_J^D4d%7H`}jau-;<_^n?THcf9*rKD^J#%p%l zA8DILPr+wPY^MpxQbxGXG2f0xcjxSw;wjl53EsXe0poYHgfc(T;v5J;H$neUhElxe zrX0NdQ4e#4L4e-JmsN$%C+#BKX8TYA1YlhN`|QyqnlH{Igil*i0?NrD9qi2Fw_&~eMSk3UGyWzcay4oPaWE~nJ{R}-u+%oE z^4pk7G%~M66x6$a(@21!KD)Us1JG?!Xn4Zb;NYOn2SGc%JK!@mQv*PGMGxMb{#a4F z_#t!~GhhJR9)$w;fi20azFx86@7j4yB zpC7-bK<170rK@aOPg zDv69Iy;oMY0yq-ORy`~=Y8>ZQ_}+6m=ElBFD(BO@q9)h-K%)s9-^rh(;7T`vu={0p zCzf*G!~Iex?wWwWS?rOOYx{i!_Lh~OXJ7gYPR(bWfke`)l(GCjjtT06t7+0hHGHhh zA9y}JSM5#_xw|dqtlV?PVqZwGRm*pM)dvDj|LAzkF?4x}RLkCA#>G3V21ZLIt^gG< zQI&0O8}Rf;Def0;ZbweV+|x(R-?(Vnj5F9~eOT)4!nDr7Yq-5!y1bz1t;HjQSLn-A zt1qf%FzvKZ`+#!ufUYj;;FE!eL$>Pcse)qp0BW@>*U{2zo_CWHpgvHpnGofD&KYKY z+!}avbdRD^hZQf zU#$@f{W=^JvL7g)bcEZ<)O9tw4?Dxp&lksZ;$I_{?{l;o=>&}=tF-5MU&27^*rhJT zcd0DiLPxBSPJ<5cx}JGQAds^*(&j4-nHoTwx>dVUGJHkMM7w*nPbN5n_W)JJ zoSF~F)URWm1xS-QkhpAB(#}xq`0?;AQ=#^xj8iv{-*?l`8a;)kpuatAQXeVT+=;#A zT0rvGu`_`{>KMvxzgLkb$EeCy`RyvAx+nC!D381cssru;3nBjt{S>AGvQAs(kxLO{ zIp*xXImIAQJ>kiL&b~R(P_(nAu2z<~Dc*-_c3=C`sjCz@AZVOwgE5s@G#uy{iQNJ} z*pY1bjnx4K{yik#93ftw2}MI#Dt>w>)q5vp~-G zX7!=BUrYpB-3#04(mvmC$-Y!WY8${8gcraWB}q}i z(|PAS*SoXp)9`8tTYTuy7`=#uWFoR#J2(AVcxr-9uF+7kB$GxNkA$Vfoz}l40*Ydo zXReR;i`X4$Te~{&2?RE~^39WlS?>E>my@CS3|paiTe-zGjS$iwI*YbAHOwW*PD@wI z=Nl-L-*Y(4b+hX{-tb98arKb!Q^EK+RA0Lfp4`cv&x7o<`~ghNZ#@Z$`B6O*2R6%R z+kg>9tGG(TtYgVXWD_X)ySeq_3Tq2*GEPMlF@o;BBxfbxC%!xOuwUa+?wXac%Dce> z+d&$P_VsrSw*$bMY#z8~U%K$AIc8vOosw2D4`XdBe5NKVuc+s10x-cw)v;&2Yd`@# z6UL-Y1G;FY$G$?{@cwL6zaRL5p_lTzugeI5PB@eSk^x^LJ=N!qHsScr*=1fnx>1;L zY5eqB8dlecz6GSs<7{=#sl?FWEY66Ejk>f}1odw~P?}i0yH&4d%vKKZ@hTi7-IW8%;{(vI`&L;i z@`wN4O!SHFV&u%JzXt*g%E%4J$^z@6FOtA7Yc(*Rz2%_90Exxp+}r^Vb|pF?C;F8w zu&f+_Jsvg^Wp?I6!+uV$Bi#fzohClm^T{PdQzz%Nn}GENT0zaz{xqo+NWJ!QdLYKf zBHdX|LMnBh5jXZ;>OoAWv*rOX&O8Sbzjyl*y-%<2V2oE_*lEG(1GlpzBZ6aoOp%y8 ze&=uJp63A7*h}C9j-sY70bc4bHQr`@q#!@&!5LxUu`)c;-&WVK?$9+vP%D`7v^_`5 zrOcY7w(+sWUl!hkCI>q|qg_*OZ$os^0Fsg`di5ki_Tzr$8gh}#WNKHtX|hlAupfW6 zk_ZWVB&Hjb9ZbLk!Ie1lMyGd?qhgq8>{#iC>Kg^*taLx^YuW+VQG;}IK{6+Y@0i7& z6iRAQBlI8*LwK}P>x0;cL*en^{8^OvUg%KTXIa~~>xA%u_2)y{h_+YQ?tpDgX9rIe zOo3t5%oVK)PzXFaqN#F2^qJbgB3HzT`{nJcFO`#ATLWNBXfYU5CYHs&PnH^f*Wl6k z?<0KM*e@M?auAvtBi}A#6V#ej{yvSOE8v?4^Jb8y4~i{ zSIC{Kc9#!&HhKqJI9L>s*NbwiwWXI+w-X6TM}&3$PlPOE+G8HP8Hi(#UMtyKy= zLo(ZOb7qTQ^r{NHBg^h=C`gbboZigk0*;z5+XW@P;EzUwQZv5|SZ6W0tBbATVDt$& z4th!!{t_tBc>V9qZE^8&@=VbaMh;!ivCF~IC28PzN2Z{@`)H;y3+{?j%eQl6gP|I9 z-agi;Y>P($m>0yG48Z>=AC0W_h5((46THSuk)X||?u=A_N-{J)`M9Q^WnUMh84VTQ zIvQlFtG4Z5X~3!o0K!K+^E@{TZ;5W3XkNzy z*j?DZB4J)s(LK@K0K1T4u&xvPHDTX zs$=NfQalJo9RXF+0@j1~t~aK@*DAWgsI@Sl{8AP8%T`P`Vu~Tv_%ZmbJz^#V>NJZl-TbST^RMK5DlNOs$kegkbICLYRJk-}g{l-Wn^Vya`SL3T1tiIw^Z zm~h)cx+UimpKrqQ=$a*_BCrvMGi%5Nr5qU)hq|P1Tjp!gLgpIqRRIs`qsDGjcel*OH-c~&6W812bsUI z>umkx8_8Ottu&n?L`^t@;63h8!Nb19V4*G1v2?3e;$WrvvX7%#JaxH?R) zN@KLmgq3q$NONDrj=7c`8~kK5VTf>xS$Q2C8@T{(7ygTX1N^6hZ&3*F7Z@!5FaMz+ n@b3Qu^xx$8Uk}h2jH{d|uJ4jrSC|P(2)ca1@;v^m$K8JeR7TPQ literal 0 HcmV?d00001 diff --git a/src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/LICENSE.TXT b/src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/LICENSE.TXT new file mode 100644 index 0000000..984713a --- /dev/null +++ b/src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/LICENSE.TXT @@ -0,0 +1,23 @@ +The MIT License (MIT) + +Copyright (c) .NET Foundation and Contributors + +All rights reserved. + +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/src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/System.Runtime.CompilerServices.Unsafe.5.0.0.nupkg b/src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/System.Runtime.CompilerServices.Unsafe.5.0.0.nupkg new file mode 100644 index 0000000000000000000000000000000000000000..426776aa009cd5ae77b59223ad284c69682c9427 GIT binary patch literal 130329 zcma&NbBr%O)IRtb+cxjmwr$(CZQHhO>yB;Pwv9V8`+c*?``g{Wwn>|lrfHk@^qidY zJXMee0YwD>0FZ#mG-btVYZwI@AOHXr7yy9zuUFs6)W(^f?tj{pL|yAa2Gp=Sh%W@9 zH!|DRO*f5Fu8^IoFCa$VTEo-e9EztsdIpF|OdEI3oF|@c`b=8B>BJnO0=KqO&M69@ zYMuI<^+jb|GFIJb0s=D}j>!zW`vTr1P)(Z)BC+3T&MFYh$Z5|8OXdy(6B%R7&h$&& zxPH+zSdl-)%){siInDbgDG^BPci0b?2DH`3`$MOh9T=py*&n? zLu}+Ytw3!~qgNy$v?0xE0oOA{xB(j|UJ5DQue3W6u9{I=$5W-}dR28rA-}8#eO}HW zimyykbvgl&2$ArLAiKxEWe?cz>S1f5L}jv#_Sl(u(AWxJX5-o2=hO@7a8DLqC-r#h zy1S8<>gl3AvySI`aU)vw#{~g)yF9<;4|8=PKEhWwxAOJuOBmhAB-w0(-XBSgj zIwe;-7fV}HI$?WT2TL1MCuLJ7H%ntvXF63oXG1enIy+Zq2UFu3wH>=HHq>7BeRo2a z+=Mh^awj5c$fj1vdGLXxnl%=^sU5m``s*FSR*dTNb`foO6gM-P$QPex@Jd;R-GP)e-J~g`(mmPuW?4Z zD+*5YR+Tu8WRWTuShoxpfV1Tenb|U#cRXN%df$13j6+ITLGzyaC23z;lM06Jd|{Qb z<=rWUCwTtuy#rXkYZnAp1?pvOOM%@HZZ)CrpB26J1SSzT6T4iRICJMECqL)x*vAX@ zEvmU)#7|@^VxBg_`F2uXr11u8SiPoRUpOXY=MkaDtTk}nQkviw4)FeMNI={zl)pOs z0bTEJ4XD|lEdHv$b@yrAA~ZBM#2Scp-QO}Pz8;zpp6t3&KNl}=Y74~YUZ?e}%0>oe ztuqlegSpWrY6xS0FHlR@xP5KjYMT8AL=1bA#-uW1MIEjSm9dq|WeW1#?;>y4d74@f z)tdAfsoOhtHbXyUnMC?DLKhO4irek57}mDtKFcGmLs$sxq*EWMu>FP7R98|FaRZkU z@SSuRLeb2pdJh|g8jD_wQD?HAFvy|gOlw>0A+UgAT>`&u%!MB-eqO_-WjkIRp2K61 z{V)6Byd#34{^8shEQ_U=)n}_aSYY-X#_SL8g?Q6a1UU~P*mk&I9uikECC;iT{aV)qvjE#7RPPSR>a8tpR1nSap^dm--_)4L; z1-y)0%06mf{ex|=wE}}M>Mzim2PVw+i;{S+Xo;ic*PGvG3?!XuQw_1Aj9C=?IW-KF zJbJRTXsq7h^zz<@{C{J7@w}cF^+#?{$x5^`{3mId{eR%S7TmFlwh~1yh zhToipkAc~R9A|8TsX?Wo)Yhd}Q2sc_cyh^E-Cg`o??HwMxWo^pPo?UGgQkpyX7${*Pl27amB>{j_Wn0nzoRk0xig$DZxhDtZH zUy>FV|41EAgcoT0nLu!Tdpk&cv#oUPZ4I$jj8V$Ys9xoA{<&KWExC=gCP~d-`}rR? zmtW)rU-19$6OBn$R&0)nDbM}S<~f7@-*!(%Qdm?@S(HviLq%6vHhz-5{uF}Z> z2S3q2;rNWi{c*|--4@6oz#&0!<9C4*t-*T=0`|rTHoI-*|FISwT(mUbN;qP$-ZZu@ zHml!u%{lZ!zQ^)2dMmZ37AG5e*Ub?;c6iQzeQwSbw)&R9UAfPy)0gJ$5A7N#%(3~k z+#iF5;jbMua)9ZD8$gZS^=Vh~Z|~BB+l+*AZuL~xLXxUHcXoGKs?LJQX*fD!H+93r zTexDLm=$7jm2?s0Tj7F=_`|u}G*7wgjJb8^j}&p`BF9F(%BPexOBq(3{=s#i6_e2@ zcUqE#&XU@tN3a5oYSA=N*4*l3Nle!)3)Ci*txC6iNZF3wU6YPbKXgZ>)EYL66SeXa zu-36eFHwOHNm5AXef!2xfLSD}`QKo*dK}?w8cj*kbmYxprbHABpOHv~tq3(EYCX;T zGFXO&G1p`PuRV!b#^Qc@HY({2$(&L#k{AP(Z2q1*s&pi%TBp1TEpu&;OP?V<7oazi|c1>8#M6&fVUa|0OLPL zqaq=xBtokosHCDvD<`k=pH3_Pk4E365SS0Cr`V}nb|4`G>%KR<1Sc1Iq_zC&bp`Z zXj-lQE#htUb*33vPR_d*FXN_=gI(*xNZW9RTN^HqqsH|o)jg1!%k1){vv@bM*^bVe zJ_9d1`)g)@ITe_(34+=(-P=+*5XgxurM}6x((oW0rPQrHhxN%klv?UTmv3DG{3w_H zHX;LEyvGjl-rrE;&B!7Hllunmd-f;D_FXFsO#7V8h;m_+Xfb~l zHyq3BCmkMky=7Pr#4J)>8l7tt^o1U4yY-C1h+^nMPp@{Viy-~baeU#g(sLzytMg=j z99jAaEIO_PNphzDqu59@pzqzHve=Uxth8?4z$S7y83IoK%ntS-*M%SZ)ZsEdRI?pO zEH+o{O{kWS)x^l4fY5 zfVhkyTXt#=l+?Y7RE88M2mMJNJH;ix6p6phgH?&r{U+PjtN?UPPhw_3-mPC1)!5hR zZIa8^+HXYhT7A4g+tE-#AMp8_e%q22OiX~pV(KlXj0r^@Bghi^6!;*e^YqhRloU7oVY)#y^jo!U|g|DWfRm zIha9(`}dn5bygmEOYCsizx@~TW5ezi(Z|m6m8Z$rs+^@%^6(MPpt7Odq}IZCxRlPAv1xP0c9D4l{we5`5$xxK7-h~+T7ZPSgFU5BgB*o6r9Z$fP0r%wRq6TW>a} zQRn2TGb7bZPx$h>SVf9gJ_ms%p8>bF2X{fs)YeqcUX7cNVaG`@=+6FxO7XB z7zg}wE!z;&Cx?poT{B;Umm=0N$q0Hb`;%Kw-DRqsC=OelW$vQInn<~;mapE$I+)M9 zsvWPjiWTca$x;&RTyn67-UVKJU3ajk7V4Q>hy^Y%b2~podz=|9!R6l$t2J)C1*_=M zlNHh8xH;^Z%MsVw1s)Xgigg>;5z(Wj1<~rAw0_7(&K(U9VT;_TDX+g?as1TevC(30 z!a%`SY?TYjEm}zGsc!9xJ-rnzBP*_7RVxDu*{wcx8&+&t<+jhteKqWVmzCbS7wQ~C z5sG#=xbNH;uEbD`5ntR@%AEB&I|>*htgbFWFp$n_qqTZunHBn6pFtV)R78{UE@6Z# zqLaDGlsG#pstW_5SE8kknh2lubE~~t6*~obw2F1>jbv~qZQJQaM5E8Wsp`00bMW+dmq(-mWh~CVJ@KA^KC&(3 zRjPKxswGDj?Av4cVTv^Q|61g%WM=@V+A3JwgkV%`b=_TJfz$dH3i&J>6?4&BBx6~w zsw6idWjJF%_JU|vw+aSLL%05HlDDB>LU2dB>wP=x%Qg5~(i@9svCX0|<6PeY*cKcc z-~ddxa3pPK;&EVXd2^m5T>KPp{o*wt+6>_Ci!ZYA@A3gi=42T>j6iEx+`Y$PyhFsh z!B$8qq-o(^d1l_bO-qi_4#I{7a!+>U}8iXBRqkz;NW5e5MIeYZ^<1=Y%hYo<;wu1 zm}Fg90b|V3iirR61SlzH2=G$lq{YR-9!49=-=%QB4}%>E2=IGU_F2Qcsvt;v{R7|m zyeM}ihUm0rU5IA^l7Q04Y+dZz+KTxWl@rpUD{|xt#;C>Q{z_gy;gMQzjVkMcH}Bk{hPX7oQ@) zYoqpNx*&EZAqQqYnl2HP*XUHHalWU3R$(a>8!u3=#ek(;Abltb+Jd-0qkx{sW^`fz z>VBD2FaXL7q6gZl!aLe%-+s3xen?;ni6rHgMUswcC%Fak;MxQLT6&+I8NwD4&cO_z+BO!PNR9d;M~z*_pr0s zQAyNm86b#^N9&{pw}{xIj`AZzKvi(}WJ6}WgDU-5bAJe_3zr%mzrYjhBjlk_Fw%-t z&e4J7;M5^PiMOl9l&jV0=CKXGMGj02Vy{{2X2@ZIPBsS%&PL%@wW3s?&hZT+tTtt_O}+ z;~Y>^iz|^;8ANC`E|T#>SR3e(ARJ;=ykiuc4}Ib~Ysla`NU&}*SdlZ6(L+sZ;;3Uw z=V%ZzXgI0Nq`f$7ehgayEx56hS&7Mmh|n=Z1BwQIP|avvHC_{HqCB02SNK|Z4v zh%keJ4V+dO#v_K%r(?sA2)j9*)6f;9DuY|KyY}}OM*=azuVz4qmF|{4-Y3FUxC5E8 z7|N{z#8I4=ar38%S(r zxpu_fy0kIOYt>>Sa_3wxZ`>P}T>PXlW!GsGBd}!siudH}h~y$1V$Irj?ez5%|8evm z?js&wuu*0gp8vJZ9*7sEPi61b$lY-`B#A3{DuOf7L^d zkfz{0??x?r@S}s}&47+J3OGupuxaw(BB_Uap`+|UhX*28H=>&l?~jSolsYF8PbH$K zhfn7SJSRx#J&*sycaw&u_eWg{JsnmQVQzZ<)^tJdHi$(sF|t!?xWOr;1XjGlEShs| zgA$@X;v4cz+Ekmi-N$N6utai@jxQCPGqelsqVNo^ckE9Gey_k@4-}pPgQlD+KN=;% zC2GLy@DtTcoypxE%}X4BTghPMy7qywbuqs$$c}>;ZX@nP&%Ba=9PXroCt$kYe8dIs zN%l4?hw_LukcDTdu~1nUZ|WcpfWta2P#^&jQQ4F%^34xpNY>(%)gnpmgfbi^O-b&LUPHJErwDaXynsC_VBpgbk_*WWQ+||~n5zMM z5_!op(honWSUj9fVSZJhJU$Qm9@XW$hUwqTaIbJF9|e_Ck07q2nVh4T0J1cJYHUC$ z2d&l#0a_@GXtBv)b`ih|B`TpO?6k6Zv~;YVbe}pSg>MfAfGz|!&xBvE_RD)42_1(E zUfzvAMIQhkZ{7DP-a!>9^4Br<2$G6k%K(T6NkzXcGHjfcPPO;+|;rFb;y@UqVQAj9x#*{aJFO~`c{9lfo-AZStJkhkagE|*PO9Xt02NFk#lXkcfD60nml%zIp?X#DXCmn$*UM4dSb%Fu)iy z6QJMm5Zl!HYFhS2ujdU_#)&%z_0Suii*iXKo-^9bLp;3ca)PupnPt;Jxd1^cWNVm& z6w5s)&Ak*r<7g5?y7({yQ6_uC8)YbUp#f^A8Tw$|3)%fBQNrLqRU|kZ^F(DW127ZW zy3JOsNrZmF?OfE5gGM|9-FeC(|^g2$IA=CKxN2g;9W||A~(x zRP*yV0xx<8$Auy>XsfkdjPOj;+hZk9Y}Ejh?j;R=qo+hsyLsTz7@k#?2UooEj3vYu z;%0^NC~YxbM$`p!%Y~?FWm21@*?lcS^NpNfs+MkWJ$eKcLBC2~Y2cwn!; zCURsFAKo<(T-=gyRvK3MJ>XK284%b`GRakax_$|~tGJ1-K_cj*i!5F5MKKRu4iL!( zUcw+|&$Ll!H1^kkAJ&2;%U~m~jqGygf0l)K-y@5irZ~~NbV?76Atfm*GH>Sz8#?nN zo6+A=2IVMRrX}#&BI1N6DF6O7aJ$(kFl!UOK|mLad)nI=xI|(Q?b_)HUJ+Ia0K6K! zXkdu{v`*toHrd#|LJo}!=HgA`D`I{$DNMumv$M&D$l1X8xXyxJ|AmMkvCmfNQg19#zEehgk)At0Sy07uCs0h7q!v4? zKb+X1wIxaD67oN_8ubp!;wu!eI&l2-XO}17gYm#SBqQ^vA3+UJ?^sBUDj#q=O${N< zof`a;gI^WGPFQ{5_}H$sq!*F+(CjY*B8ae-5tBj<1tfRSTFfzWVw;pDLP@*SbsrA& zlv1dTL0saG(u+`gRxVJZCSi@NgDLVW7`zX%1SgqDsenHCg zFDf`QUa9_D+}Vy8I_+q}*wvgnOHnC_?f*+HWgynPij#{BsZf$ZLK8wNONkeh7Ly`E zn_s=f-qQ2zSU4^yfFeXz=!K+9t@2ld1XDy_VOtZE6H_O_{Uldd{k*lFH}7~TkLzG#`GWNFbeO41!1aL-4<8oCbOTdJm!fb3lUb&{*rs<_6) z{29U*TQ7uM{f=ocnn-=zj#I zfjA##$eAJxJm9NZO!||1_-U{;@Kb*@F6%MdNL^WCv<(7tWTIzett_FD!2=4*opwho z;XkgEW12}@YSkkrb0 zvik~cH6QlCvv7)oQ4o`7b%tTHI$bbI68cv*lV*W9>n4L_({g7hhHOC8L29wEjES|l zq7ICCf4f(5_gyn;hoZOkIiX)xk`sa3A7h{Fumi5&9A}?Q$pI(s8N6S%X4p1buHnyr z!hmgv`DuVQa9iYc1>BQ1@Ye8Y1)SFmt_{i_VykE{IqqLdE0ie#oISFcu+8B-!R+}A z+WfDw0$OBu?f^Cmfnzn;XTX}Vt$9{+xFu%v?y6Q69bV)z`r4r5yiqw9MnEAFU9ttdiZq~3CN$K)@Y z_q>(Y+DkqqEAt;-ASSz`d+?5D|D5FAeKeAYlm9>|jzNK4+UWN)=Q=t?!}{ z3wqct#Vj&cN(|KFqAfZ%k`NFih=9tA@nlElr0F+v-sx+Sy2Dg?-Rm@YOI>=M$27^O zBD6t`p~kftT%H!}Y`TY9kLyF6rF`haG2{@l!}0nQd_8TBB~10(z2@%>^`jcH?Yz(% zPINod;tz9@95w9Z-1&Z){24})_3#2h`uQv6`7@GFy1+ko#JJQq`TXlk`nAWp*LUkK zceHtTL2rI)o=nQmJ@k>qw-uZFhjze#drW59y*|SAzK&f@zwGO2w^YsRti4CEcC=w= zq-%b;f$QLj>qvNhnh9r^&b=m>^VVgF%Yv+l!e{AgmFw{0q3z|!_KM)VcL!PU`Qxec zU|_#TDWXE?kl16>3TO_0DK`EL>|vncf(Q$SE;YRSI&s<<^2C4b4EWV_VYQ63aYZ+t z7rUt)Z;a|gaK?9w93*A8JDnUP$jTaD{hydT__+zTwL!$W~OuN>(!k@RjeZ8RDn$7j}nJkR!^PuB^_Yx54xJ52lbVmAsjD{NW& zVPg~xd9B=%B-raoUer88i|=g|YokaP`3(HTbmokZT`v@Y1b@h<_NhB;IuYx?=f(Wes}7iP47it9WbHo|Rxp z54X3|wa^P<+47=2V;sxcaJ5*gsb^J5TPfC7^VBL`2#{MkjLXn{VDl`-9~`Nd!6FTP z;mMh)FO3JULc}z z@bUgZ^WnkN;em5fqQlg{x};LvdrWxUy*cV=8N`G2KI{3?h##&MQBa7auopAm3 zUwVFOye1+h#Lr{XcM;2e&i*7R=SdCeG)hOWkK6nERL^H0RZmEzk4_dW*~xq!`c}7( zW-@6@Cd|6x?WMQV+Q@n4rE$B57x+Nxq#Jra$0;7?bVseibK0I2I#6Y8WxkY>6`I(U5h&$Ynps)7vgFAqrf!|Bk z7>(M|-d~|MBY{y5?TtlXT3Mc3KHK{Q_gx8pt?Zd^l*Be7r81f6LWw#a6tt<@U}gR1 z982RPGw@LudHEt=3*?JTVd%R-^}&Km0)CBBMcz$mDWNc(zZ+ z^rqF@xj!A_Z{W^Iy z9YgVcndA*YtEb!%oNKU`#v@?McWhH{VN)=pe(g_XR&-n-e>xj0PxyJfbLT(o>%0Bh z*|^u=%E$<2$AeDLmm$!Xn7!+Y+vx71V z$%Q(aWuR?Jo9(04gUdVS=tE3BS~Kva6if|D+8hE_fFtWY=w+Eep{`IByE4PlDF3OiMgjdJC1$@+`_Q1TjU3wqAPUDfeZ;!fapX zaR27v;@bW#hva|oo91ns+~5fz0cZ6e{ogGATX6rAT%ApoEexGZO+-wcEzRvrorLY} zTueP&{%4K<1C4VzNGaOgS?!>q0|0tB|3h^H03?n7+lhmn`HiNzO7ce64@FcIg}F$A z9hN94n4o|{6j~~mieQ$KkT?{kkW3KQeoPRBR4NywP(r~X>>t5IxrmgAWq?ou01C2@ zl(dsOuX**ueT}R6HvjMKcVa5d>(A@k>Y3;6On%$ysnQl|n;;^o>&K!eHzYC`zi1(C z_Q0Bx3IT+VZI9;!7`z}i9~3|F1U5G+k%Z#s;|DXmV(=3Q5PP`#LW?N0^PzgP{;(~& zpP{3_qJNf4!xlvcMw%z`s`ZBQQnud1G!HeQ`JiCEOy5*bJ1bDiuFP#8q|zG6&^1|rQ%s(^hc`cQb5921x1Fd-jS$Ly0aTxkglAi|DWW#+N(F zXZtlOT_l^$NA~M2?P||j8pg)I?j>FEA$+yag&aI0xD(I;q3>NnEqmzMf}4e=(x+N9 z@qcnxIWpK%rVHxOR?dDkn`L~jp>G)pLe~jn^#0tioGx(2V-iL?=lyMd-uTpe0h< zAu{EDLLat=7ed|LP=!5IkV{R*m#z-4h?nK3DN(%qoMBwE%cU_pIz{J5?_>15VA^Ke zMF4gn>SXP-*pVLn`b$uEozN+=$uGUg*asC?uTV zK5=rfH76ID9JSkOK}-MfwAmIl%TV2-lsI@4yA~D&t3jwtf(TEf+YQ&6ao~0~?adhu zxg0I?zM%vCCj^C|#rjH%o~*Jbx~B+C^1)L~9JAshq|XlY-eTTiBMrkTy$T5gTN<+Z zB9-Y1*gy=q;AuBI(xDrcwY_MYK;Uec?%ac=z=&7-<(dZTREu=_(GZdz1{_{#iQ$^( zZ`xB^AGaNQn@ezQDyIPDe)Q9hxdJn}ZP=!r)PpL>e9dYX=1^-=eaij|C=^pu<<+)E z9KJrB7NdoH1ugl_V)TD1b4Cf>OnC$xM6Qz?>1!vLh}fQH_OQnUeXsi`lD`*VY2^!}Yd0tHk%^I<0|Ip>&IvDCaaX@!XYB@UD0t>)LjU>Ao#o zSLtC5^ANXSt9o3|PTJ-9vR2=l)yk~k*g0(N%8RM7yqcq$?}E6=M;)cZ(#Sn0Z$kZIb>rx+SM_J1DYDLLL2LUPd!Ud3W=PKHWT9Ntv|3B_a$ahgGhZKigH$#B?OSAF%z-Yn07-E{(!}+ z_%)y*g;VwT{F5K&eYKcM+d6pa%3Y(`aA`}($t{$r;;5(*+;b)cpG?&iyUxK~vIvA| zT6O#uH5A2r!#$ApH66tgqi2IEMuR9?VKJQilI2wm4yaOr*(!*GUn`P?t@&s_bKF-Y z`vWPvlU;x@x5eeH=lNHrFctGWXZ&1L(SRlE(bOatXGOT=V)SA0qxgzIa{L?Mzjq}W zoRt`}h1))?SrzJ^O`Xbc={a=qil>n&ML{Qs3uI8od%K>;qr?A6qspM(mD{t_xw~bp zjf4O9Qh-0L*AJr&1yxnc?yLQnbNAijzuO!B>SrH=G4pIo4+}F-ppM9qZhp92%?99t z%IR7OK(3ahi9_Xe?-}{Y9>0`y|4cTjjvGkapl>2&Nlr5D??G-&r#LC0TQ+guPDq!a zuAU{&gb3yo$Srkcb>|BH;b=r7&FvchE0M#WG7@6Vek+nQ>a;QmZN4Q=8skPUlNRdo ztiju4%o*S`v*OM?fP3PFX=(Q|vwr8s zqr?`R7cQT=HJ^xZ3Nz7f>>oEaudcI^blHhNnFqHvG}*ZYl(}DClsj?AHt4r7p43Zj zzS|>|2=62c7|>^ef*xLPLU*)7_K`Roa*!+0b+o+l3P>{KyC0zYFJG-LtBUpvDgCKQ z`-9a&oau?)a@T%rY>b?HabbRGnzn9{sod9Y=4|p3>%vp){z}Tqh}_DIZOSY}w__qY z8O@+?8BA&Ew%UevEDrC_C_DBoi$Ci~)T7q#)2hza5PkjOCD>nrQNKz4jMJfr_{NLc z<=US_`zStvqq8NtlUDwHH?u7Kf_t(28Q7utLh<244xsL|^kL&JC)Eb~9>KtALe*4W z-6wQNKuaWeUxYvjEyOJW0}aMD<_<-rxKov?G%$)CDnDb(eRkFeUB`oe!aH1B83an4 z6dcX-fu8Y@@5K4XrE#$>w#JX`Gy-z0uOmMTnL1#QAS@5xGZy--)Y`0`|K%CdJNe4DU?C*#4pm0U(KK6N9i*u% zdD4SmAIK8rZCYTz=5?I9<(m`OdyHz_o#qR!{D6H{fcRpiN@GBOEaYWiiS4Qoi(e59 zwmT!U{-GplXA9k1?EuWUlAdO{>?FMKQ<$jS--+)OcUF&V&5Ps|xD{-mu4Neh;oi2<0D5h-#Kh3k9qnQ03{I(*Ykb=fbd*XZ^jmz8X z#q@=y%$I7Lv0{*^qB@%G-DQ6vq36^qt3iV=Nb6?Ox$RYRf3F1G5?;lEeD{I(47!=e z4u*%TOI)*bD2(8S(!@f5D^75(o&^ksgEEW6H5}!dxgE-M@~*jIz7k0_mAV>=!qt49 zi{i<;{mw%h&=U#?oRWH_(jLWtU>+kext7V*fQD*+v<0D^BYzu)j$CZg;tsb7O}8^j z+~B7bm_ks>4Rb$yQVuZESH=f%%xF-7%l7~qO3cc;c2RL(Wn7f>{5-G(cUK_R0v3SV zx#U@P(4*i;P59_~n(XNk>~ri)kr^Ops&7^nRIB|=&J3{SwviQmMDRdipq5+JALVJQ zUzG~+$AO31LP(JZA3QSI>;m73PsT#rk2mgutV^VN<=l#K2@*?E-*E1xcPwzdR!V>T zVnO$BB#{%T7ew%oHQ7arDxp&?!r{J!ooBlv{^G3ftK;dUh9>n`xTR59Q@N_qqVF!r zDm+8I&J!t1adR2Hv`bF}ujEYfF-_U}R)JEk;%>#1%Y}=JYg0P#XKC6Xrh|Xs6;Wj_ z#|UbIz0x!XS~P(pZM2oz!kWb6C)hQmTg=PxygYq?zz^FfE}vI9D%GGLg=1;!=5L0UV%iTuU&uIy83ZF`l^+pokvy5rQptz?4>{PWPBBC zI-l>TGan#zx{c6xK7V$l!j&c1TdVlDbJt0?7o8`i73qXSzu|7c^z-_O52}#=A|VrI zbypc_8W`K@5S_7p!YhUD4GpML0`WE$^oCb%mJw-qi3*&iGCX6_W1cj#r2VNf{piNb z$bd%*jKRdy(zRj{#piY4-&6ElGTaac;{2x6!nAvU@(uRyz3>!&#C6-*>w@>46x=BM@L0V5&fT8CuFx$NWp*P2!aUafWi5Us!wi zf`>kt)3I~@-sZ~Z_d!-vVkZ5R;oyTux_TW@=Hi6;NHBII42TS^B^PAmCnI*;Zvc+N z!!&e}s%oX-O8XvW3ry-u7splC()P*rq^in5a{5L4!+ipD@!cr?t(E?`Y9q6>WIKTm>TT5B&j!+DCDg7`BBK)GGc@?PnJNS$v$ zlG%dKi!$@xvR;PWVW1rP?ZbrWk)8L_kppubD3D2j`(*x`PGH{*LFqV6`Fg+D8xWa1 zG+$k8{3Ls(CA8Huw!I%TEp=qAfoFHKL32V3pWpu2LFJKQK)SJK8CWwleRTJio`)J(ar704 z7LGt)V)UgvaZtFqlf=p`tBFgo#UCJOY4-Ait~iuZjD32h%p%cS4oDdjFVKIhZBj!; z_^r-7N7?x^zM=dJ4T_nPh%>7i+BTwJ8mQlfZNTR}CMpR)mhSiT0LH(TauSq#uGTWt z>;!msUzbec(S(PA=lg|#19I$0+IRcy_$OE3+@eQ2>@rw2nwnV>r3+idP%g zV41K%F_7-1>xGkta`okNm2K^TTVMrCNKx9bCPZr^c%z=n2scr-(7idO^qUz13hJan zCcR8eF;wwmKtcglKUl=k-4&0QGWgH#nG#srp(-^o1H05;fa{9GEz*Wg(Yj42$7K$wZ(|7m~gSg)jDvZ}n-Di@?|PVJ?cc^o+Ve*jjUOdsI1K z!&al;TDS%X?JpqNw&EPlv4W?07}0gt-|6|+W*u+f02vQT_h&E-r2S*mH2WtU&Hv{e z@nmn*^W-=^dVUrA!w)OFVxi_0qbiGa23@5pbxLjE97mN2{aporK!uTrDHrwDF=C#!vdyj`Mu#?%QTJ0Dw zZ6z+dUE|YALH8U-*Uw#8GK%Kp(TxwmVOi*dj^d-#fCW4y>%_L7OPW$w7nhYhd2Za% zka9pD=ueixdvPZ%ACX=nrQhIiO9+h?$e4YC-bmWeBvy7&LdyZIOFf#<~O2N}> zquhxGFZ^IP>5d8DNBqOmw4NRGLN#xn-7GTHhR@Z#;bi!O-X4G^VsRSMy}>GzBAs(hDmBSG`PV%NROXkYEWx=5+j$JUQgEkMTT}i; z$$Kw%O?PZos2@stVTM*JoA4nl9e@DyaI`0vr~^N>xzKwx{C8L9pOk7;9@m^pb~{~% zVjZ;4Nb)d2%lR`DdhAxUytjt2CL=-bKSm*($%_+w@4G&jZNhe6SR2D%`#F;?LRlFj+tdhVW-99p$YVV zz-K!FbiAkBhzEW_8c^{`s@8L3-4hYf&fImI?f%)oYN9}he22MrJ(@1kGFu`~T=@OB zhp%XqW1pw>d&T#hA;(@cm(7|9w52K59S6|OW-DGdk%5aWM;r+I3oWh;F%OPZTQ@7Y zLuctI0t}Z>6^rN%1l{gEjA*@T8)$;n!9XYJWuyjM47?JRqby70`^~Q@l$EI&&=~Lp zKAfx49HIB!ro)?+K6~oH)4GP7w(?)GF0vUO6z-zn!FY-%xULbkk<~yO6HMf)SY$@T zHxL)A+jGEySX0&3aVcT_VtBJvrKo9+Cki^7O@+RleX1~_=A;S`JQfkye-(q{1$Pm&Qv50Ec-ixLJlcfjCC!P+1EbL~bXwp)~5%1fO`4+ja`=yNr{ z@wvgD)ymVl=n~~%K8OZ-CmD{7|H_IEV;fn>BEcVpwpi>m#)3)BO)4_>t~q>=1sQBr zyTHb*cI%3C6-gwy`v# zw=;ENVWt27`H|Pe#^%NgLPuG;`8^NS3q=I+Ke7X%6-OaPB0TYnl88tMBCrVI0I3R? zqzbC{9hk~>kVdB(;z$&jXd~gesHoz7)OX+6F{n|`&)(b4-kaZD&kA!hGdK5NZf!Gn zq5X`H09Zgl|J@V@fQo1|2`A7$6?(sX^|t_fy;{RuB@%QQE0o+Bw8e#wK5|Z`xG_VA zPF^C~eCZua2RmH)2^zk*^Z|L@MOC#FC?pQi9srEUlwh5QLcOvDEFm@-!35|bDkMCZ zX$=b?yUEBVl}~!ckw)E+6YQOb3p{el1`h!L>4R`5ncyhY^A{=wS1s#DtYQk}fCr@R zHH^4NuI{+R zG)DA}B6U6YB|p8lWnX0I2A0^93V>ld7%8{{Q2P>L3MFN}+%4s=rIgjiJfT~UlBb00 zHVRlvFitbYXSq*qWY>GGx?V=p^?A&Ew|On>;A)325T3ZZ!sQ@z2nlQF|)=1ok$yo1fuj6m|zLo2>bFI<&vlyqe=u&5lBlGSlQ2kF<5Q^f=X?Vw`dK z{|lu1Ldr;H*YvF8I0V*&kO<|ULs@`;3i84FJ*1R&&1FLjeuLyM^SF^UL!24&oY)bd zrPn*I=iaM!d~}!0D4u;|Zg$^tiJ0Nl7^)?I-+2f6q9|$H1w0p8~W` zCo>il*5*DY_wI>s@^LOSg@}J^{FdoI_AX*S)#%CAgp(zavo@6x66;W~@IN4Us#4Z? z$$ho%C!4M+5PIWGY|P-*^B3bi@eN6M5sgL+kEU7*i(RajvkoF0D+tjBu^N&j`2e|y zS3`msAy6Nlt9K8ME zJuSR95hiYsusv>5qGJSZMuadUy!nv>CH$1bx~QMTD;U-P#o0XsiLx}%qHgZCZQHhO z+qQSxwr$(CZQJhMwsHIXcW}q=4Qh}PHONU;Wn_J8)zG7a=CC!XATvK$0SG!fDE<@f zJTb>W7lteh0R>gwlZ^8|Bfi4C3QIHm4U3hp!hgo zt1TtUh8MGd41q~sJXB}-xIOME(h{^HLX$Cr01Yt>$hkh6Ks8}?P@{7|-b&(%Kt+A# z22fL~>43J^63;Y^=76F;SB(60P zc`AZq2wC_g*an6J7)%IDzIC8GKskCyS4SX;`V0yq+d60dSpg&o0aKxNp zf9&v;|GdC+Zu!sRUxFp!kAj>Dv7@I6m`4kl!G{Rp2Ic5u27T}02LagwuRsFB5MybV zV!Bof#v0;zw*8zkMvsVomK*0h+q>kqQcdNSJpdq&E zew_%R#0ZH4dgve!HtJy=WGD?g2(mVAs4aWcpaCFkq=R~}5M2crsoV-MvYSq_hva3H zDZbb^;|<6Zoqy>LNnLQnl6@q$ZA18ZB9}9jy7?K;g zKTW?G;z}Dy-kxoSz-={zwUoXm5EtTFdLJ!_3rQW9KM%yEjJ_Vw2f|uzpFjM|01u_~ zAdou*M)~DFKD8LWap}AeQ=6bHX6Emasnlsv!<&J%4{7KyDgZAruP0ZmFDEwM6 zZOyY$nWMYK+dt{$e94ff;7aSejooWNsJV$TD&IZyaWuxH^ubd%QrzzUIJ{&P8*ar! z?CrO*ZlDBT=TfNmTMt2V01ec$m0=U9l+dyHa4`X+3`z0+<0KN9B%(fFa;O?%IMV((f8vK14|ffN$LTHOhRHD_}Sra8DFU(PykQE5{FF4{KR>|B#G-l1!2*0x#Pm4RR(Sl2B~3W&<76f ze|MYUQu{?84jh8;BjYAuWCz2y3uBUicN~Ikb^5&?ZakWGl!y%eapPzmWW=}YKmu@` zVhcI|Zt#5~-~-;TUCi*fGl8PvrzXIcfh>Sr$=M?(kby`@pwGe1R!*^zN`g9Q!us*xDY4vRJQ*c z@nt{0@0<5gcmviI)|pakd8)UfjrYC9=Y#tqUmTNCDM*#NdE4gO-2@g)Yh|YD%BBTI z{0Y@VXg8HQWx({KKfch}H5PG=m7u{3Hj5@{HoO?+3|7+`u+f>jJ7TSaZvNh^+_QwaJzs0#l_<@ zJ7dPwwqo{jf-tv->)*Ki&0%=drQ@ym#Y%vjIiumw6&iHsJG+AE!rop0fd(SG3j;IB zF(U8{D)umoz6BCTHv+;#Wj;#Ez!(o40`SGICp2P6=}7}#xf0g?C+>*Gp^k<;->J<1C#YfyvZ zw>P#UdXVpiiU6WY@#m?M?g{Z=yS3Hj%hHMmnQ^B4*=rs!pg?j2t;>Q4l8*tSkk}BJ zA7;}*KYB2LKqLO*S0eN273=(2_j8;2Q?~?t&yz2W`8gVLFSrKjx8aD7`uh;e8$>YM zBf-`VksT{Vs^-TF9h4St)RzSyA-vsT%=c+)F@W@|wYK2;_p0ugcbwM7OAUJ9{8oqk zU>aUWgGoCbx`3X9<4n3^_7A=L7PY4 z=uH59s-~x#&0JWiEr%~=3>u)Ufp@}x7+qun5^gbjhp?o-=rH_A&{F7{kJpFI4HBQ; zCnTC0(9%Spx>wiL#Gd#s`5}xe4uIin#aqjFD-&I|D{@RSsI$7k9opI-;9ZmFxY;1* z`euEwe3*U%{xg7LjN5EuI4SFVRb-zQ`4K?6epUDs?7RoTylK!j=f%7kWpkPhx_5u? zA1EZs@Q0byJENb}?-$}vHd%Bi;bBri4w1+KgkU=r1b4;ywICP`X~d}Xioy!V2!~)I zc-C}5!7>0Gs#0ck*nE6LPeefqSV3TU9E=#w3UN_>1{0ogfV?QXb47E8(|ak7lKx{Y zX0ROz3mq!-nzXG?f|G}hLzse22O=O=)JPSPvb1+lltetVM2TC@YS2_t#_Za`)fh*v z;Gdiz>Cq*`Y>^~`)O(DHvI1<50K!s{2yi3w{BC+d0V#?E3h|Iy41(CnIsRq(lCBgl zaxQ}CQ5k*of_HQ=iHlJ*!4M8kcq%fhr&Jm_{l$SjDn!fTV7HFND)~RaEK3T_f(lkk zA^ZAQ=0<#f5}?I3k%%cj#oon|5`7h8A`px;gakekhr>9ttc1gfL-P~HL zaY>ALJhWG6nJpilDJz9g1Qt(bPcNlXwHk+fH*DWP20K~B?W@lOJ1Qbhy}w`>Xlppp zQp;oTyzQ-5IDZyL3rIayU9at{?>JjjjMofXIU2rD)2a?HI;~`Eb~fstSjGZWm^9_qru%sq2mhe*?DE3WWzc4S*%8(a|F`@hi9JOKE5Fe z1dXymAnHgc@~Ge|p9V&nqQgA*dKo*qjvksr|06bL0Ln|jYkm(_w}RXV{t|R1wh2x8i-bL=79$Igrud&sx}$kP4r<&& zxD70%V#{((jY9H4%ev_5z~;c}A~90+SV)i9JyLGyd|d>)#rjsZoz#|N>pvC{m@yEK zr62|0WqS2?^{)A54f1K%#un+x$s%%ztWsuo3)G8B>|KBTNg{JCAwGcB7_GX!Jc*s#2wLZXhR=Vz3{7dhZ_z)BgxGC5Q26Znl^JF&DimMTotI>5T`9L5A zNF^A*K)T*qp3{EK{=+&!PH-nxbS=I!z`+U zJoTcTiD@H19Bvic^PSy^ivHvY4n~eLx0r2Ui=+G262)fw$)QtlC8sQFSMle3X1!;$ z(W$~+)UI1?%nEipA$O^PQ~5Vvi$vK=?2p6DBjfOZiQ`^M1BK>%RJBbMX2U^K!)1k8 z`h@S6f2b0>$N-ZYP>sBMooimo{kg)wczZ`;=}H>=f@$-lzf3(7IlSz;O7POk%tA@_ z&lcO7?I>pC&Dgj1YIIpo^t?&ohC78 z_3U7l5;DBLn!55Do3X97HlFd0+coETR1(tYv9Usk+L>-&?-jOliM(&SgLY^dJ(&{< z_JoU2qCVZ8$E$d_W*jEC1ffis4YtMCJpf8dvwXO4@D=%fK0=#*6^l`I%aDp$5#Tw_ z=YBnv&awA)Lgb)EFDz^~15Y&2mrGl`0>N(*!>N+j5?exW0&-y==V!R*yDl0ky4ePV zZ~`MfgWb#7-1*L_&6nFWnk#(8$-EkJf=EoaMtwtCRQS|V3AH;@Jvf~yUp zWj!-O<6Nk=jpn?=S4_9rz*@F^H*d5;EV8*FhStUXZU1|Z0rLx3EWLL2xYe8!=N4;q zZRMn0e4Q)QEN+wTR8)&KZA&gz z;b)M{N)D~f(+x}l+p|*Ab2i>bjp!4PE2XS8;}vJ6`Z43^E3YFYcXPm(JMS%RHX@NO z_CjnYgYnco53j@hW9#H}{$hfU^-8i!ty`M8{z^0R$Ea5zvw4cmW=4wAjhTs;%cb>r z=_0;z6nB!5&38FP)ri+_jGOIa@4R!dD?*n1Pga-axdnyxeadFC3>J?t6{+p`#D4#Z zlHGMizLS}a{ON*DsCR@?>T0WYCWDs7IqYU0m$eAX5i$f_S+x8fEePZHP3TOSoonz8 zaYRHuqL+hdpKB_ay;yR6#yPUI3_-{12cN%?t0<)*w%@xP3e837%VnM4HMRX;PW zq_^ro?2NLQiMfN4Xmg3d7G+wkK!}z`<|0gS5ZXfr{$a|W?K!{{)arhqBx~CSRGia$ zVmoaAoDKfnr`%%myeEqqB-~LR7k6Jbpw`@~XQ<^CGWKTRNZ~PdRfhO-*i4)j*2pEz zaN<2|cjN~;MLJKdwfxn9_B{XW(%>aPh^B-hTfTU^aD{$IL-DX!Elv6uJpLD`%H#M? z&BHlYV8w9Mvl_yzOS{2IhO_CObs9}JebL<(e|+@dRXSP-t5s1&wV9+>u7r-F#lBe_ z<7)K0c5FXJqvx?dX{N#*hd1!X>u=BBp=XlSrb~l%jm_c`*yekblgSjYigxl|Rq~FN z-Vw@R{tkx#8&wZYae#?OLoudfZ#u_f6Ec2}6&ccX< z_O5BLAQoHYcA2o?H~acZRs90T<(xh?*Hf95Q;SpgUvYD0+P@=@goLT5Zq(PHrMl+T zSa{)_n~-ekdLfyr+x>iPTfA~h=TFuiD$z2(!5)9CC0IF=_5J)IgHbC z{9xjn9Hp}XUX%Qa9e%E^T5-lFXe1)=Bc(q#9-&fPv!fBx()@I>T01$-;=^Ys@pFae zB?Gxrb;X(D*yp?6ZHBS#F`K(lJ2wCH<7g8r;W$!w|AJ@6qeSaA;XwNn)}jD(!pde= zRFB%Gt;{=@Xryu!q#!`lRmnY5H4&vsi5`DX zVW#sG-_&$xCJ3ro(N5qDUGG9jxe^mP%ctCQ#CO%^^A42cu8tZxQ3o8RJ{Dmd5^+g{ z@>~?EXj<0)VFp(nt@*56L?1=LJR0lH#oGFzlQ22EdHXny5_;7v=3*)vdG`Q1DOOOq zovi?ueohIEwN%mO>VNX$P>aO_EiS1|Q#TJ!ntG&Mug&%q z`~D|>C)ukg3#Eo5*=)!^8($+Tw4V9v>hTNke=iq|pfEWcWx~}PaZs#yZ&+#5qv(e+ zS_x|JD%XNeFvd6~1jlwqNr%MSvKsy}vgo@BM!5-Yb_@WSwPipoD-|YP$!a$VWBU!Apgu{-F!$2(0TPE-B1?#*s7>;w^`aS65A8CBMlpg^jTK5MMAud&Zv z*^J~R0U<7EPFlQn@d-#0K|zNy0}qZ6aM$=_Lt zxfZgi^6tVYDGN77JAWyI4((lpfk9$iT(B65wH-EOp;MN22QFlkVN^)Zf8>8@q;7F$ z=phUB@np+=j79fH$IzJE3*{k|g+cC(;bN@XvrB*up|KPiGDd#}dE>K<`DWc}Oy($M z8l1IgZ=Lq%A)+*sTQwd+ZDCFytxW4kw$o9a^Aok{W!($$Ir}0#4UZ>zTe*ra6+N21 zr|XoJ+Aw4o9q%nuyU{8Hfen4-*84iWzQQWIDfMEOpsT@XwRfSA`ANROoDP=7z~W15 zw~&=%eQVQe&*FHN$kTjwVI`Y+kXj|8dFedYO24a3un?1jd42eI1s{Wu$Rf?sGRa(a z{qUX9V3nB$2D@lyj<$a0IPDpmm!7KE(Ww^G+C35Cb>wl=#geEr9tqc8O{=Se;O%W} zxH71NYISX<=3$Xr2{ArL!5oe|j~Q3hb#r%_)JRi0Hb7$pyDF!wQ01zl_BwweAi8xr zJiYK?!)K0wlfHQwy%Z#Y8>XNZw=qSRk|SoLTT4;(ajv-0=ZMLb$k03JbU>WzLsp$Q zDlHYsFD5}-+)p0WgFJX92p}J#~ASGvFN?r!eFJ+2=SD*}iD#n*eYIwb|r6L@kW#G*Qc z@NV9^EgH8&tQ?c-zSq;e{~7XbySE-rS#3v^jC#%#aD;lEm9O(osP3(F7TK;FP0TyTikk`AJE28`LYDnf7e( zvG%$*NgaMDtkqL5_dL+!dF;@e80t4>Tbg*^bw2wNX7ln#JEXI>PP?Tc(hQ3@@qPkF z%co_GwI7kwg1UQ2?CRqY8lXm63zvRXv+lhEfqOfLzgavds`ej^6%a#(Tc3MWftqO;>SZ| zW(+hxZ%aVuG}S_S2aa?efK#prfiI|F8yuJ;X@A*S>1{>vt*@4x4~E4 zOX5RHOm1#BMfLafx$7T1985IVl@v-Enk_fuYF&(BBgx~Q0F@EgChrnBq@3O>?v&XG zMwQuOE>Y8(+&UTC5)Xykz^Uo(nQCk02OSOjd&TV&DY}P}rd{WpyfthhZQH88u6C-S zIM<_Pow?66f?kLCMXeUQ=foNsqL$w7!CAAC+lH2i85`BDeYZ3Bt9H>lU7u_Lvt#C= zx;>#@!btnk?Rhr2O3|vZY+8F&w%Q9C(12!9v58VoP0i#ypo ztN5JiYd!U)_PHXHu{=l$)LcjMi5B?{A0amEWb758yX5=}@L0v7V1MF)6XTEPnTEmt9-~ z7(N*!hKf8_xXoqqpa(U|o-IN_%&(?Y^ z&n4+pkO%40%k+)Deb>y!FBK?J;>z}V2Dc@b)YWv}k%e*g9tJF>*#ZUV=cwKK{`PWF zfDa<($VvtQT{5c$_z7dWrGd!lyL0bar3&|rZvZ0IC6>z$9FT6`L0u9^QK|}})L9z8 zA!>#*$0DQpE}ArmgPcHPyEv;aeK(_Y>axW}c;te2Olh|JN*+{idb-#a>NtC;^bi*` zKBlkBs`iDc6guhjr19uD8s06L4W!H9_#2r8TZ`A(XdtV0Tt^*nmVDNerheSe(&{x5 z4N(8I$Zbv@C;Q57_w+$Zr#+e*9EP`;%{tfYV7=ZK8EMSKRHvUFSXq-^cJrR(1v+%=)s7&dV1|%6GGa2=ip%@}v`}YUAXc zkDXTU*kLrjO|e{N{^lE4eQPw>-!Jwm^2%DdcEMOJN}~gxr^qnq-XLOT6izfvXsXqP zalFmu69Z(V>ubLyT8Y!mOl@+PvYJ{JBDl<3+ni%(ZyBqF?t43!^Q^v^7)_8kMfr5tUgtDjx)~{?pT{18*~qbp0!NO zxjNx^vT}9pXb8sDI94vVg)f}V|}G9<+RBP-(xoN z16ZiES$|a2{a16-;*yt?$s)1-_}MZHgoK$m4^VvaT<;>EuiQ635-b-;FM?vc99Bjs zzEl0O_4fjLd%5wQ(c=>(@W2;ToS_x1C8ZM!qmTVanx+$#z>ez0>F(incer+f`wpGs zNJ$WGw6D(HOWzOE-l;K>E*O^?FvN@>XNgT=CO$|B13O3HXg5LxJNlINty<4Ye$5iQ zb%iH1vBZsk|1@O&s=@k*FaG0^E{uSBF=;hpD4j0sG!T}zLjn0_iJbt3Sb%S!3*9(E z5WPyi2PBdyqSrKk{;Oqv!45`*RfJUOK@jcP6iOD1X^X75ovq}azatMzyApzNt82-A@}igll8906Q0QnP#SQS z&C@LI3O=KmE=JX3^2Q}twKGO?XU-qa$GxX^k%kWQSpZF!cW#$K7xqeX6l5B_A^p}8j(@ZEH&(ps_ve8R+C4lz{a^0 z6W&vcZsjgf4SWcqMBVT`k&WTfWar5897j55mjG-jk&8Q%) z*=cpRzAn6iO3)`%QfqWtD$EdbQD!P6Ax!y|LSTAiN2AF-Wu*!T85%sl;iiwXa~;Ym86!)WkR${U|l{a+-0|YQYJ8M zENB6b=^3&FNGofP9ubaB!Z$K<8+5K${gqJWfX-u+SCznbZ zrnGMtzOrR4_6V#v+`1yF(-wz1JLIX6#`zKG{QSw~T{!k((o8InM!|?DFZ;jN6r99) zmgmF79DczAv}2rv`V4Zu&Q;zGEWLAC*psR5^I5(b{WwD>!}8zm%N4Mk1c}j?3zC%! zlXoLhm7)7{y(g2-&Qux~D3+bix$oZy6kW#5g2qv#-;E+7?w_XgB;j0}o7p0hBQh9cqePi1 zUh%_{$`v6o<@BEZjQ1C^=_-{5WdvskcxInw1X{x2rI;^oo=c9D4H)6~NgmHH3?kG8 z0$s|obe`1NtQS@aP!Q_g5{E1yvscJsq3#5X)KN(W6{sVgRNl9vE~73iVip+AvUn|9MYtXQ|di$yCb!Slyb zJymvbO|rF_ko*fky`Iv%HDpCfL-B4ZPP0X>Dru;vtq^+kf>%leO5Q^HhoAga-i)Jg zC)0)y*U7K5e0`=NKDnVH=*^fu3rMbD188YOu8=f4%ZMd)=2S3_CI8p2&kza$C5ih8 zSe%mRWBc~(pn332q*Ebdw#ZRb`J}jwod7=w)GVMl8f}a@C=4VK)iaT3E5Nmk4Yk}C zblgeH$5*xNOD8{Qo`!mE!x#zrtbMw&t@V-A=d721tv$X{N?43jl*K&|E;W+06RYYw4PepU9hAN+}Tx{1k^cg zQXHUQokO?fJ5<}-@z;LeN62$9z-QF-vwo2$sVhpAVpdop$}E3`f~WG2Xdm8hCC;(< ztwph326?`R-9Ix*mW9I(0)kjv4NDeJe9Qg&R+@VBARo!z36;2s%+d-;W39~!@<2ek zr}HIkiHdDIKoZfY#(KiJ^TtND7hOgTuCSjJK#Hejp8TExq2#WpWDLGi5i+_F?I=0j ztgf@M5{kwfrb>!B_tE;B9K~u~o~a~eeJH@c{9Z44?M^M34YsGK$jXHw{#y@lfFJOy z^@^#X=dmxI6@QC`&279oXT;4Xu4dy)js`CSnoO-KZ3YkOV*_P=%*0*y48_D(Vd6^Q zC=+sW%YAW9`2OFE{{0uea%~sGH2lKXuwVGf{r}*rk)5N7fxSH=E&cyD0IRMfwRrmr zV8uYn0fiA5vgAR8iz~&G3GoSoi1~{^67WSt_(kdfS(TOf1+3Nhm#hRRC{>l~3;+d& zW45hUeP_oZ^t*k2K6+-qa$bJaW~XK@FRe4T*R%IHNbuqS0gzw4-+=mf!|IRt_w{=D*D+b);*W3T#E6n$Q@Kr2Pf-qx4 z4Gv*bg71IuHEp$%6qxI7;_J#B-&XAFWJ(B;6_D@k!edBd^Jg7^ILA8+>{>p0pZQwOP-yxVfphEiVA`v|R8azUZ--o~-K|E|z zKR58z!&`9J+WlJ?*klCgjDtCpP;6sNLO|04dZ>Qps(}X*_N|aXQEVSlKEh656vKL9 z8>7aQaB@KR1Ze#|WWObV1PTl2DLBy6dL$eT(2@90eDBb_PXZAjJkN4?_H)2@Ldt-l zfMa0`zfC&a6hc&_he8^x)=5OB{+Uf2qvrn(=C)paiyqP5$Ux{tnOq z2?V-{SOARZWAk_uW&I5FMd+4+RvW6+8jzsDIw2(eKjG5?kU)wBd;mrLW^~Vy=z;A# zDIkIXlb}VCAd08~qVuv0c&PLjrM!Vw`btw1_^kz)1>E^3V2j|D(KRqIh&sUdDTAw` z*8-hEn!y!g@_uLgD`I01muT{hgXyw|%1@?mFWm_5d2#<$yMN<6GZ)6LMh*Aczm%pt<>e zQr+benA5=P8G{h#p2-HjN@52M*p2t*Pz6Qy!cMpC*&#yv;VS@Xb=i;vapEFQq42GR z%=M8SapwH-+C&S4{xYvDrt1IG?$ zeuMVdrh9cDp-=3W$Px(-64)V!^uVDc>{X)%WUzpszb+OScF-Zse-IIS`wfMT$@RNjB z0d&JZ3|Dp!0fZG8nQ^5JBd$N2E^to^el4PJ1*CK5j>>-&X)U_% z8ss@h9m6u%qKPav8+j4~>QfO^P!@ZejY4-U`fx7W-2q}t9dF5D8<_z~IThkiRcHGE4>s zY%^nO|JS_AX=|UM;*B4U?!zz|`BEOwqKr89n04BNQ1h|@R(^WtlZlNPGyP{?v)m!d zy=;}6{%2nA%6HLTZ}+tuf_7uj*ganjoDJKjUVVah5El1|0oeTMLdTzDVy{Z=8JSqa z4|6jBR9;vJXF$Qz6uw3&X5N_I6tMI6Zcr0&;py~69nUV;*6f7+%Rt=j4#Fi&MIUqL z?U0ceZ&SeP5CDAf_ekzEu(KfjsD`5>PU{5lbD=I8IDiP)aPtz4D1Nr%%B_ zyf1kr!~pjM0AvteV-Ft={CfG|WcfkpK=tveAlU1(*k!xsxEK}t5Dc-&)|dqhy73!) zBoG97k!p(A7v-w-QoyRivEYJUDFMZJM`IyMxl@oRK-#hegz!7Ka%K$%IBsK2M_w3s z_QdSF5)6&%eIoB}Xxh}Lf+wRQPWzYjA^f1o2q`GfFH}(P_9_Mf0c|}$-G*uk=)d<3 zNns|4N2_U7E3JE*+=27v;DsSk3DrgYC5Z?iA=Oia7eJN6l68tJE(cG@^%5{xK>Bkb zh~2W2U8ACpNjyo1A=@G9vB%%TpH1SAw z$zSj)0)iUxKk%9ak52;n3tq#-jW9?m5LGl0Ps8dElPPKZTMMFp!K-*AV;a!q-xSq> z$H*taA{yXKWC(EsoPj2(r#t4lsu1#669`sSjLCr&dd5PKzC6^ET-82S;<^X)g&v<6 z=*#@jZUkbj9WdN&_osEz_b!_VF1~TTwjYc4!!A&~F($)Pk1CCl&dKYY-$GJb=B8R3 zobn2}iPYm*pVWHCnfV&y;x5v0;~RsQX_OS6BHkV+z22VBe_yAU<+zTMSS_^-u+j9} zBMi&#zV1=K!-bV2(DS-w2UGKT!^?E7k68;H*m|6D6nBI0rosxaI#o{J zMgIO?ra;_8+Dhu!pXyJsCl3jrVT?dWReO_j*u`25)(TRuF2VpPhka{9_8`!2GF+gV z;PQo@?E^LtuHuZbctpH<3~-SE8U;Y6Ey%vS+>(AIKvS5l3*7Dhq1Q;{g)H|^kYDs_ z`-@(g*)e-YL73Z;^=)7?Vf{$0PeNIKg&$x>w@5UXg}R-2_qP8F$ma=tMp(FkMF#uz zYanqYnc$5HtmOXCMQa*Ky6qKE+RCi=w9 zhLYUjpMz!S?$-h~z2uUF^_>8uzy^Dnkt2cqIOKJ~w*cj}D2D~dA%WSw_TWR%?H@4y z73B3d2lWudp7CRbIsuU<1h}C=Iu9*@O9b-@j@*>!8%=;TiwVCNOd!)ug_~r^MT6KZ z*kAA>kM932%<+HG;1)&e5~-p^n|RLs54?)@cRK5JCOWta^gdVV;~@K-ur~#;nQD2J z)H4I`)FOEC)P3I)myXqJS0{U;$VM zJAHjT$c2)`wE1ZA{a^8Vj?pC}AOWy&=irHykmhXI4L@t}>Ff0gdyCAkuMLBRf%QM} z+R~Z*Kk*9rD_%8jzaDJ9?9_C-uF0{fpw8(>518s;{`5>%5#&N#7`D(O3Q7eG`px~3 zWZH|Iz)VpWs3!lc%8P>04bXs3vCgv-+RK8vU5^grG}^bG_nC*g{P3mk7ck1-2*P`B z_{sg=M8e$+iWg#@q?ZufAodh|#&Q==S;6E3&7#KQ8nb(oz-?S1fwy7is+ez-M0=hGAEzc!$4A1AMkjJH9IB6N$mp%ow zZY5S1l{n90+UG5%=Pof-;9f2`Qwn%|J(k{!moQ3Nv02*ZsF|JgH{uQlb1;E48)Q)l znj0%N^{-v?2dyHJ(GgG2>g*r6iyW1U_Pt#t208sZe^v*{1dCEea5L(IzE}lcnv;{( z=TgeVw%;SzOtEjROE)){#z~_u?={vkJpcCCyM#3)&or}Fpm}FL0EUavluVm$isH4Z z>$h~#hib627ErVGpF^EOR=N~xK9qL*U!c%7l4=G`Eg@tTA}8eK6J|EV{beVzD8tQ? z!Xb+I!&$eQ!BYeeL6KIfNHT7$42C412VDd`ru)b`aXS}?V_gUpg5u(t2|RWal9H7z84b@YZgg`ng<#Ou4d{y+j%5k_@>hknLC>Hw?KVJ1_t%W&w>hiBHi;OG z!cPKNg3Bf@QBZ8T*kuI>C3(#x4JyN4aZmwy6C~)*d|J&+&k_;rD-h`1k`lww_0*_$ z?lBp$u6CxIvcqT?=ki|Zg!Y|I*TP)TwKpk8iAXyoo?&m9J?%>xWF&f78$0DGkzJqS zxy1iyDg5&LG3^{;jJ4_6>;`RAKp7TuS-r`S)>Bt>+CLFs0;J*(XfL`gze*wV@W;C{ zc9zS*d$o688xmfgE5^Z+KG}Y7+sVVC-ywLgTu-M6U)CiqO`}m}ZIr(?PV+iD^J~3~ z%iPT7Y(~?ficQLVR=#>~-a4)=A}f`|oEnRRG;YH6_z9cG=01_!7%0M}Q+#>v2z@cN z2K~d$qxVxbA(DXbYPsd`>F2Yr1&% zGMhuusVVHkSVTyT!O>I7Gt)Xrbp1BI1V_@WV0*iTjgl8e z`6l0m8=AL~bX@mzV$y2Z$OCc_s*8$9@2Dv^UgqX`{Iw9D^7*0eMCl5xdse2`vBBYI zX&*G6L1wFC^3IdU*s2((HCT#z@6xtunf0kCEYa~K0?Ui(^M;w%qmsHKaWJ}uXq-@sgc$5R>eNTGN7yl~s#xB?^g!3Csa#kO) zdFpZIvpJw8WrUEH=H=iZe%oVp_r#J{pH*Ikiixx;frb-;5g_j{VrN#h4 z7K63ll%E40QT79ksMy-7J>hw(pG@O-X)zXwlGR#achgCA+)Y$&%k5>(1II94roBVU z(zZ8gkDY2pj%Vju3jaDTJfEeO9_q$qXmZ{zw*hCfUgF&SI@@Uy>R|*l?3CW_Z2}5k z3roxP%{tHfP$}g^xLWjw$HA+8rKCr0GAujkL)VI^_eC2`ExA~y{;f(T*XgO14$c-2 zhqEv38}|%4$?1Tbqs{0w3xvOyv-P>tbW3rg$~P6-rinWpyn~O;t4BcIRE0z>cb6PK zU@H{g3}f~?|J1<7)}?lWc(`t~THS^NHaxuZ71BcPc9?{sZK6~+WwG6DRi7HNH$qUf zi13)6N?b8ItKlZwO^`hVcD<`^=6U>|1IK4I7X+thF?M9ZRkE0A+fQiDDz*hCAUkzy zRh`5y4E;WMHWi1#LTsBcKeSETcP!Wkw=#_6u$qBuXLat^7GbK_dLB;> z;|?ZbuTUU5dYE+KPT&-_Cnky%ck&!O9YXnD;@K;UTwz^KySa@|iG~vQxwq*a zq2{Lys~(soO$jpEfu^a?vWYn{rn4e9B7eCnFwOT&YlAyAAT|bD%($Eh3HaIk0Q*wD z8X!dT5=-g7M=0%}eg81^U+xO|f4M7r_b+#qIsN6X=OQj|=dwS_GVj5x21x?(mz2k} zD-A5Nm8PvF6US`!17{^hySV$UL(^YgYu`On6rCM+T5R1%x@OB5>d9y!jwi>ny38|V zc`~-^RjM+sSE+^BsBby7@5oM`Rm9%v^V2rLCiBn4*3iH4b{r+1vzIg^N-0Sq|c-b0=CpV7Pg;B%azwt-YU5-j$5}eu`Z`@ z8a&Z#8|yk8O{ZQTQo$1}Bf*tCC?jJ%aTDEDu0z^~D~(1(Ga=S%SEf{p#EWZ>qchh! zYPFTe(vC0<406~N9HsBebFDZfh2~q!odHgThwdo8kg@FYB&<2Kf++Gj18Wrt>|`p(A7I!%+;LS_ut6!sYf>n5-w1q zlEqWZcD6=~%V6D%ZFP`&;SDc>#XDRNH|)h{!^R5to1OtzD(eBy?!z z`Hm$gJucYyzEE-c5cRT+$@lY{-l?z{7(wE!rb8*p(Wq_B@%dTa|MED&<$3ru#;qT{ zJab<=mL^Lo+hpl*oE^C2l+LZ~?arU|KLYdLUo)8{?%1xpz8uH8V{Z{~8lIiZcY!Dzy?o5Z^;lg``kXAv7+D|rVc092DCa&$PT4ar|SC#l~i8VPu| zbLaE}wDz}cQ@4wUFXjx~+*diuV7q0Pro7D6*`{oXO5|V9dBtxhy*b=XQmw2t%bJ>0 zuJ>V~Pmus2(&f3`eG6%rCVIv0Mq=}Rix@U6R->L5$)wyYCw!jL=pApS4etWHV(5ojsIP*Qf@3r^$`dqDEXloa2 z3ni|qjdrt#KcdRvR4~M~Y%uoq{w%a#|8}}$im-J$$k!ajpum1KCAD++KG!Z)#*RpD zX|xe(zj(>_@@vVICep+0UhG`wuExttbE&H1v)V6mFB*OH&MGP2y@VM&ioHB*Ro+Sc zsvBZ#9l1XyU`}z925;odoR{t3k*K7kx~;pBt_MNzD8UN>cR?9vZ;C@puHHYzt`n1mW_$N{!m9%TyvKLF~$}Nkpbgpj; zDW1iS^=iKEb(~-CbfrsGZ$p})R$NYJWW?`;*J+Wn(g=M<`EVFKH&LwlyB%t%p0xgR z5eNINSM&E4U;BsLT0;(T)YurtYn+oLUykpzE!?$RG0x{#8~-$~Em38ZyJTTw_u{RE zUG4C~?Gd&qR-0~29WT;uoqhh<3V1dmWYA>&1lU(zPPn6Nt%~@y4MtiM8~O4!78%wX zIs`szx^0D@Z0FAXwa+LM4uqh5P6 z@sND$wLJO-VuiK^TxXsvO3eEnIM@qyB6~h{X|Vq8XTvD${G7-53N$4U6|bhYykka2 zOviLfz@PqgS-4t8qL)$8VUK!oBeBr8baiB}J^=Oci~iTRf5i)dr>R(bMkpT7?1XjZ z&C&A64$;*7d+2ve&!3vp6mU>-#bwF^q z35}zwpYQ!kdn_4e5MddRA+cUato&=<*;R2^s))%adOo(T!*!tr86sM#Wj8}|=~s0u z@SDcIxJ!&GX7)+YddhwVMLax96#3lu%5|HmW&u(>@N~|%&Z+bHE%Jue^O;NW5BsY0 zCkj*TevwzYUS*!+QLHFfL-kg=$lzX1g%y`2=IVSJbG)zFY2yKr>Kw~qV{s7a_qR!h zv5gNDI>IGz+F^>FaJ+*Q3p$)6&Au&>uU5Aw9d9@#;-bybKjH}-56(4X z3cgPBmflpz;fv!*{?L8ugl#G~_fxok`ve;f{YJo&Ha`8Qqgr<-?Ksu9`fvAo=ir9I z*PG?@{%1K;lKfq{dCNWM&HDl3>1~6fWq%`6>b5zZTYb%pJYl$EOQme8+@s;;kJZqQ z)4Z0JKsQ1(PVgcteiSd)$KjdR)OUEit-9Xh$M)51%rC*;JBfALD*We9THc4MEn|IH zX1KVxQMR(GU(631tS;pXK@{yUIowoPr4<=-tVbaa=TwiY42y;GwAbLj*dtG?C%&_A zsW)Fnv^u??>y^v`P2ssR#8ZcIHs(d>cGO3G;<6Wqs>t_WC{88(!16 z1d4~xE6`5P?01uLg5Vk39UMP%tXy31#dOCHF1~KZ7VyP7!+p}zrgl!kE8l@_D8RHq=oZZ4;BtevlOk$ zA3S&eA9>!MHW_`-jab8z9O{{V++LUU^zEW28F_sR5a0h;sq(jVh)lKjOnAYL)*TdV z+7Fei`?Z_&J#yf^JDb8Xcvu~tK%d|>K@xCe*^aMH*e!ZA+VSUS+z8Pu4Q#opk2Ip( z0$a_ZL!B31R^i{+OO=4@m@J=pvV7&e+R2|^x0!ZSd!9Y0wo_-aXY+E5%+#~IWsR=N zjl~~_1PMDmWmKe9FVV8jaaZYKb(kH&rObrzN2p6{#e%ONx`MGcIOjg(Os+q?6Y61{ ze&}~z65`aaIti(~D!(8Tlv^njg<0yANj1;@;_7){&ly<=+XROn6K}P31fz#J#`0+ggmO4b0L?(GwdeDQkeLsUfk%gtV zA*9I>Rn=2z!-imkjEjX-cOIRs4u{^cxotD1Vf{H;2hGi8>c##cqD1J0pwUsmw2No) z)-WYYWwdqsZe;`1D$HZ5Lx)eDh4_F}hKZc`*nTN3T=_RdnT5jf+ML2Sx? zP>)5WZ{dy)Y+^%b9eicg4L%~lV1uXa281TNW%4;X)YP19n#I_;FTotyr%@CDP< z7fS&T?|a{W*xKII;7GsWR+CJxIybYG>~zXA;8`JY0F>X zr!#)+yp~iXMsUeJjREq+-k8{`oy}_a$F0mbD9wBraWrwkwQ?R9Lt|oTypLAc++7O?r>)q|N#3~oEYH2i%AIHB z{!Q;9?_wW^-(z@7jDi=|N5)aJ{rv#UIeR$8qTkXwnNF{`n#Jv7;4Vg!1VIAUIGgYj z{^;v}LE!%P==J}qh51kX`k(mqKk@5-;@AJgum6c({}aFdzZt(C0peGGWxV{}|B7Gv z{%8E^<48oD<(fPV z#TtV*uz^Pdz#+rlDP15O_6qmG&n+iM5DkH^tIfCetEWvZJ{F$(`ug^I6IY67IZdz; zARy@XE^lCcfdLIivg_*a`0pyPR;oR=FQx?_BQ2%{abQ2=l8Lv6VNyp~(G!RFqRg4B z(+OiF_O8vdfqNT_eQ7hQDk>Pmr;(1qdpLt(X|*s!r5>7q6XJ>Up#%jaN2J`XDhYF? zcn+yY6G=aYkc;d}2>miaK!y*vVSw1){TMEV+_6C)AW*0mN`0VVfhZXRII)3>{sq9! zx$uq(dCC%`(;J#a5^k1CMVIFkZf%u@7sCXDpcB4^#^^x!esm`XS*y4CPaM>TcZs94 z-FGEAeKlox{5Jq=X>WM03LN((P9I0kbg@;W|2f!91yj}7;pOoVqo5L<**_BehPSD= zS^(l)MRu#eo_CfcfP{-m9V?v>u~{;*dv%s?O8aoRFvw^rAK z)h=TCo!rU+-+GJL9(8XIBFyAfE_um0KieyZb=1?X)S-WqaWylBtf{JiA#&=9NBJhV zys&07PfZR*%%64!<2yBo|0SdU4QgS>6gE`vCwR_0iyNsU|Ky;1Bp)v&t-)TMz#h%h zwZnvHgy`4Qc#VrpQlr5?`D;S53?P41SVhOuLr3;WngYFMdQYX;3M&cNKG(Z_JDvUv z(51S{c*T6f@Gdm_ok$o2YhnG>H&dF3Y8>jL^-0oZ_Oss8CU>3(p~Zw=J{`*CBeVJ$ zj-c+QH9nh+^mghr>?`3bYxCOf!O*djHH|dycjp7*3HM1q$(O&xuUpTZVwMN*0=8Q(LEPYp7uFF^7QO~g>hD-}tFz0la-3SlsWJx5Y8 zq>z=B0vv|c#QN<56feY@IaACq!8!{G#=f%kAJG54=oDz@N*vMf;sV@9yU+^2Z9Um zE*i zd2IoBQ0IAw1Hhz+^PG|~U}<1zVrs&fq)%XyCJB&)^!ji@6G2HhrNpJok{ThN!8PeCU(s=GQkg&{}%F%W5yseXa3mK0$~xB@;8cKw^t&LvCVjv_9z z{V`A;wSE5`KPPT%zdcl=AbRjCA=;86)Q(s%1aACa1QrN@z=FB`MPL;O=fR=lj6m)Q zap6M+%|rU*2{FUGq4;`ep?rksf`#qj7NH?hBo|xc)p5o5;=ncRpZ0fNm;o7U4O|#d zFCko56=(F20X_f))`;zA#|1&Aj}`fQlo27!q?W)DT# z!V9nCfEm-zi<`VtgCCZy;wGD20ZMt@M*Wbqj5Q(nGvTcRg|Qn9U#42k{^Dg<9hUn4 z)54yDEt1xt2S9G8f-Lz5sjR2v2$um$hWwHDeLJ7=wzN{Uv|)Dhbc!` z4;FTHgypbewYCD$A`I@(b+E`oVED-(IfP^E=tqs#hvWb-VEI;rll>C|0S4@JES=#H zv)Eq)_L=Gjh`e{;@m~YBqv8q%1RP+%&HxNp{Jp?hZf*F)r4mL$awKeES$)U3WuhNc zigMM$7W673(N}*B*kGz~v#8*|2CQOs9M*90uw(01IEd7@>!UlUAZDXi%`2S2VAzfm zU;+cg3@n_Uy+mJeWQ(TuP*I^hi!#Z)hQIcEfMo>ag`3 ztj2^n{V28Igq#tHyZw9Nf{YXyc!*&b{pBPy-v*2$wr>MJP7fX|d&?vTf{BX-_t9}^ z^kG6e&vm6Zh_*$5Qi!3j=(Z_>;t=^+rC|k7{>HG&+OEtQ6wu*OD0O0(!+7j+iW&^z z*7lmwl0CsJR1^0|XNd>>3j;gANc>Jcay{^-eHPnwd!j&kW`Fh9PVm3_t0YL`(l{=p zK;T}^(1GDc^6r)v*moucc$VzpFo6CFqTnj4>HYp+`YR;p`r|WjgpQ0s^hkWR7h@O8 zHju|ofg6jS8xS;{(7rxVpovN;D{_8*potVIs9=c3hFsMcnPuB68TfE7)TcLLZ+T@M zPRjVywai{5CzUq4@yOdX^767}ICz~Ulp&A`(l@n&vEP6e77ftCVlM!V$Z%Q$T3FTp z#$V?V2`L}}Eo|h75f)n+wyG{V0Dr~)Ma>Y@oF4{gVMk>C8-MkL{)@lj{>5Ll85D5F zEoJ@}{Pk`O2)0&#(gLd?1lAQ(gqw0XCg6n}z!`h(_$<$4E$Le4POTTW-6h@@gykUT zpijIA${$T)HakZ2R>k9$SLw8^*juSaRTd*z#OLeJw|DHGNUX8UN2VLIfQ0flsQkE1 zeZAilDR`BeBIt_F;+40s=zsiW8qY-1R4Z}Z-F;3Pxu3D+m&Q}{{o&ZLq}S7ljdyvq zVgI#g(Kk^udAI(Mgu+LlFPaq7(BFkVcwRuZM>aqrRGmC3Ca09>8;EZxqLPGv0-QIk zX1+5{D5xb|P9jvUAueVg=1>3L?pDzNdXR?WPhES7zKQr=3{t6BwLhK2g7E*I7WNnb{8fV+i2Gmot2Eg0Ju2Rc zRKKUl*$I3H>Gl!?Gz3*$IJRjvD)G!RBJh?TWKq^tgXpeQmzMH&>STzq(5m1RW=gn`~U zT$!M2O`@8lZ>_=_lVHS@!(mCJs!9zv6X>unAR2w3Hv-f1AzN1fd}NUjq8^wQ599@3 zksRyONW=rl8a#@`Oo%ox(^xQ!M802!vjsLQPJu`>U=uFvB+j%q6Hz*Nx6?%U!(OhR z6~3#k=%R4jXf!a{X!o^dKWquD$MH|>U~iLoO9PO!QO#B9+zr3X@Nq|g1 zdTcM!W~$d(mj5`+TZ0+sS?+cHKptENB+qv8(0A?*Hj-y={SPF;Kf#)wbl25@9CkpM zYqV-S2o^-kM{#(6T|GqH_#LqCzx(D4ta>ZOC&Xb0^&dw!;H4c`tZteXXUX zO!7bvj|Fnm);_~n2L)U)^Ng7FwJmGbgiNPzGZHq0&B8v**9DQWE7Cv<;7}UHrs&f^ z$vjS55KSKnueXgVQebFCJx2KgmPYplOYe4=Y`qkH$$a4;f_``k*!iV~n5tGD`H8QQRVk)|!xYF@6q#+P2tV%A? zadRqAM$jnRJmLdKO!JCp(NyJBI0HZB4(|-HAWHFvl&0Tr#NrG>;fKaX(?fm6jaC}; zpM3!}YyiG3s|=uqg@d5f$}dH;oTzDbtZB*slY$_vghEF9(E2w4yVn&O_(&0jq{_Jj z_^`nG(Q~z573S9*+6cx3*242~7eK>RFYDTQFoP-`cixb`=sF!oH-{@zIAP{ zEY~l)*9oT^rXV^(w~sHahq#7kbUh?KX*d${Oz{+>VpqKMx{=?$yhK&J(gZnaL&eK2 z!%8Q-A^zpbypYp1QJ{7>8iF)|z9x>>oNiR>ECyU}DLy#Vhnm4~PE!#ys5z1I82Sqk zq{TEwj?7?W7gP}ThD2H;lC(|}uapus6m?OF;aqIhrw@-3F*`CU6pbZ}mhzM53ZE#P zaCqsub&Tdo@EFQ5q^m@)ui<(w-m_wdqm?UrD_+IumO>g)a)V{yicRoeCHSK@8CwQ7 z^sqJw4wQg9Xn2eJH4u@wb$tDwh#`cHo#jFjblJX?)c%? znKo*O3~~s!exP;f?!I8Mko;rOW6pW0qprgUS!NSUU2HaXRTjsci^hIa*J!U5eZ|gC;05ZLC&a$S&d$y zIt0*%odghU_+8Gb{hcDz(Hli2tlgDd{sT%UETu%<*M zugRly+Zefkc(>1y%eJXW?}jgGr=8CAaf3ffsRlbvTL5MRjG}%St!3{A+RIv^K=<~RV?*DZwqpbQ z1s%d}zku1T|5*mgutD!J?gX7&5|D^zeg!_DhsCqBi&*8%g-=DP8I*zm@T3kDWaK_q z@RF%KghFmWPwS5uSKyYO_X1V7O%V(46;^r|S>_FsI&K=X1yTWPkK@Z{ir$tb9Mo9r zbuyN-EoIMrpCi&~Whn3|alWumQ6XbLYMmTY#1MAXsvdsaQ5s0goSkm#K$Bq807iwn zShTus$8N8cXSnAj98M7Ef*`CkoUKz}c-8k>8E#LNxVdb+`p)J?tMMpOp02QU)=UZ7 zgD|WTTU(=xEPZEOES@&j>c&#Y&1`P5R`a}DWLfsEnM;lcF5z5D_rsOJh>y)Po4XxIdiwz9h(-bUJdhzB)qQtu9=%S7F00aLPlqk0&_?syhy2^HM3_uen4aY#!R5h?`B~~W>9X7~|xW#U#DkP(E7)2~kO({9Kr9NYJcm+H! zpwy4R?C2A~zn=Z&UxN>;`?(bg_NxW&Qu1D+yrM-Z3SL+gF)W-&3%eJ#UKTa@WuPR6 zq)egfG^m6<11YgwE|dg?E8%D@UVT6?l-vmeqXd@f2}8hPYI4EaDXhgxPQFIohPu-` ze;3k`%7ppelu>TFH|{z-!z=vZ=+< zak#F(fVF0=i8PwsYQEYr6OgC=D_PcN=4Qc*Z_Gz``lU=k$}P*}L_}S{es<%23I8M7 z1l|pQF#Fzl><_y~C6~<|@k}(hP6=e9I06r|`bE!BrApC4*0(E^<3W>t?NBngdjqU7 zC-+3@&uDL= zF;yyQ6C;c)X0=hpdYOhkF(IwH&PC5QBeg=gn5CQa3z5T%O85 z56VLuIP5eXK7WvoU)Tnpr*lm*V=-eGm(9Vx;h8c&b+oJ$%5bfpx@r%euh=vV&Y^u# z=5)MMw`lXfDn6f~W$gP5msb8^;YA3=FW2oH9i-{+DgJHp@#?a&GITYJievk=ZIke1 zYU8Fe%fE%@mR)Fa%Ijm@%q+9^G=6}c7~BB)>q=nKD?jxqm8I^MWK{~Qxu%hgF0FC- zMEC^k%fGFIaqm{vMW*2V$QF8m9st0uV6G_Y)^O9h1b$&wdp;$W&yk?s4w3qdX)f7Q za&g@l$0;gv@zkUdEk;TVYSKQxi`+$h&HX$pVd&vU7_WQJS_T%SHTGZ@`F-^lfKB;s zT-x(y#!wled9U^tfNeMh+E5pM4Y77yD50A6!o{s7^y)OIQ1jX_b<{k6zOXFy$~l#W zwVJQ1(90eI_^*yxychrWUuz!;T&|8FzgZYTAL9!JM6WyQ9sLM}7!Ga3Pvfx|Ynt5! z9p7|iHL*XS5k6dawN4$0$<=G((d~bfW z|8TbtH;-JRt^0*Amm9YJ6LOrbE+uQz)3@pw+ zuoVI4CsRJp#SfL=ivxsVW`-;uH*yF3n}ro_RdPYur>U8G_Gk7kllPg)m0rU`rK7*) zTiLn+dxjQ%&Dm~9;J(xADJ(p90?H{_(uQ?(guxBXT zXgZC}YvhoksKz-^*jF?all?=$YObwl%ql^;cNgr($5qw6ce5Yr3EoY8YCQrB*aAmJ zZb{-Y1V84(x{!vrZT)ohn(l&MMeQZ6DZff$T7U8MCmKYiOE%@{R*xY*gJyZugr{W+ zlla=upp?7k8;;>%Cbuq7(28u$GAp`TsLzUcE6;X!W-5F%|6{-^e*p~Gp8x|kmWPpc zCpI276wXov%mmZ*zYN&T`n%nhhrOVJItj2eMimr+7?1smC7%oqU%6shW-7jPrz4M< z;!ZhJlKyI!%(f9ahbMDNrUt>)YL&w!+o;R$@RPimx@WCxS}X7V-w$BNTxZ^&s-MVg zRA$=-)fRd5MY%aj59ag4hpTY7WVk7^InSC88zsshnw{@cQtnDP2;NxO@{Bsi!#Q;1 zIoPxWsxCHXGh2w;8q(6|9*K*~ZpJrNtBU$DaH$f!K8-yN9v5Rg(fDVkRE)A-P=}Q%~lajqWa6ouB# zl<#gG9Iz!x@z5G?*t<~cV_P`c?MCtuacQ?lpPmq&f?PI@a**(L$qltM5y&oW2;Nrz zXhc>@wlaO#5bP(uK3)anOXZVr0e4Ke*8%nD%y~WZAg2 z{d=-n?@FEkFy`HzZKpvmVOMaDw_ry|H{p5K1r!2_XCR?6+`&75=E(bGy2ZKI;a4{M zK;hZG-Z5v4P|hxqj=}oHwm-zV*k{!KyK2Z+4}IjU5W=UF#!~H20*^nlHqU;GWN9{V z_m8krufa!K2)czC4US7vg$ypcX8;$+(wD<%+E3aOg2gH`_4T>+ESuV8NVM_7 zzJ3O6?C7|u;m>pYApijjLGqV?E%-~o);0Db2;h9Pi1|l=y^=4hd>w;inLpy5&Gwzw zzB&AGo~$EP3STXfgBIjH6FHg(+d@(r#=c^SExdC2iGzP5Oydp}VsKnsu3X`#rt7q$ zLXNE)<5|`fO`nRjo98@e*WIZd^Hy2JLk}}k)4L0&J9b3SeKToSg@bCt#pHQk9o}v!P9D_S90|g&R$-Q2XB53qSA;kiyc|1?I zcjVW#`D+UAAj5}I-${Ph8O1QEw!LN(Z-)oib(a*Z&_T~ro&{luQHJAlYw!8rQ#6@3bBiE8KBNlvu|4`x8m_n~pD(L+9lfC4oJaRT<^e?}SOJ?B?#NX2?GNw8VaQP)V>mTmkYW4%nC*qA9C{VPvoI6H% zoxR63=i0B}UCBd&N8tz<9_OF0&92{BbY`%f=B8TO+A6!aJbF?_uZm%7sIXXj)$iAJ zE<{Z>?u$>V&x_?8XS^DjtWQ8OhQ=~hFtZWDN}z-#hg0&cOnyG*>y_|G?)P2bkm0<}$%1&pjdPoQ7$ z;32cwv%07^>C6|eRs~>~M&5F@IB5qA)CV3=#`0+DkDw&R_$ZnDI&vo>tC;TPI>km1 z3z{ihpY=G_^g17gZgtQu&j1r4$A?SoZyPnLIP-hcQIMj^U6mD?95hFo$M_s&uv_(a z#Yd%R0l(G9w0?$c9<0M#wbE-<4yE(M}RWo&3FY#MNFh8*U@d-a~Xtiv%nK1fZ ztDn;k;jaJ->)vzE%L@=-L9*qc{}EvQ0Rk+9+XsdU`jk~y0u<+}BO~w{|ALgpb|Hm- zK&P>k33Ms0S`4k0JWa}B{EEqzb6RE&g0N-@A^1=iN6rel`y=FUBoygOZj5+*XU#g- z(l-WQq&I_cRnG+%p`ZF=uvTYm1gMTr9`vmA-Z=PiI(vFJGk#C4$WdvQETQsjdsou) zW6S0I#P`;cF$xpKNK6>)s3~3ThN5N3godm4-=-^4^Y=>3X+Y`ZVv$_V(8<+(9bzCCM1o@HJ40H1a+?HWGQ0 zMf;n)+KW4-8W7e(=@JoiB5R5Pt+58pMH_f2w`rzA7Ohrj|88b{JdgQIpQr8QSE`P19x?1TS-X?=HUF&jc({70I?dNp z4B=$Ea{i`M!%56~D|XTxdz1G~G36;sy(?yOdv9z@c!0=DC(~sSNCrIet;x0;kJR~~ z7MBliAyPCzN8l|p?I^Z0UdX@j@c9l!5tkq#F)#QUP&h?S`B<9>$k?rXx!Q`(yS8IW zbYU%Qce+?VpR&==Z*A}}3a+@EE2dP+gm?G9`29~9?thPA|L@wE|J1PmsbT+9!~Um+ z{Z9@1pBnZ*HSGVJHS8jwhJAL!{22THuVMcWEm$wee_ODTlHcTNLQn`%(N3s|0oz0) z5rzHDB?-T&iXkHjDJiLliuP^-x3Z%O)zYBTE-Th((=2VSH6QIORxEw_UA=W|-F<#} z{zJi@Us|Vad|P73NBp-1YYVVo#Q_$q_4Dtv`LX~3)C^fSl7b9b5#$zP%>+e624k|> zWmj$Q;^(%ucerF#O#jTO-A7&h(?J3CLoVP zL96s9E$L z&hJT!r;36vPQZt++*k0BVbuxL+&UR@2B=ln|}o zaZFZCnQNqK&$te|xYtg6xGP1nM*?}|GZY$w`SX7O4=JDS`z#7WJu*BOR<)AElW}6~ zQMujZ)(pQSnoG_^;_f%(v!zyYkqjSdz(Z@CJPM9SkmYXHEC?xKGFh*9$>Mzg5hXkF$@dYKW8r#c|uu+@<8x|J!%p> z(193;ihG4pA)`XHeLJ8MkHKjSyoPyM0T-|%lbUx(dHlMF2m^o|_79(XVCtmnPDAW8 z5f!E3(UzAC&$)HK=29SmDS_3q5C-u4_Ha^Vd^JA`2&iK0NDb~fg)}0>E+fu05ujWo zfv?^L*syF!u zxUdwWVf(OmYMdq_-$5`<;3f?z`0K#j69S0-0z$Cm}q$He*VK8}}d97_IkakKi2Z(QA2cW-+2(xm@<5UqbR``IwQyKFOpwUv4 z@=CS_Q3p~7B~fsSD*iHN8NksdFXh|+9I>}2C=jgrq~xsc?;WnDwDyVVYZ_CJ0|lV3 zU*cUQ9ke;J#5>nk{8%cVFqtws7oS#{Zd)-b5NxAa9>~WZI39;zzr1;aNqdIx=B_*L zQ(lxv#TcQ_@PZxfDWU`0r%=N_>_>X?Sb|S`@TT6j?P1~jiROW^5U~S{wMF=YkC3o2 zqrC}ddfl&~g-z^X^7`?fq5Aj*zd8O1APNTcM+iF)vIBqOM=5 zZy#?Qd*hbLn8k7L5GVUHt45>{(< z)K7;IP#}`;!qvG8{DR(z^vJwg(Zxm58j}@v1Rfx4F4Oe9b^|gs)2o4ppE7u*go()V4I4PxrQfA#P&6Fd|!u~1|jU4ifptHa()rUoMUzHo%bPsu+Adv}oEYj?(;Hw;s2^Uy%S zwYySDz-~myr!vN+m=zmAC($N|tfpg1g zCq#=RH2yLXqx>-_$jSIW&(czEwq^U3fiFGI?F&bRi8I0=lo&v#77pR9 z0_7WSfkHwFp=%I(nJrbYzbPsA*O4YL2>J(t5Qyf6F)aYJNoJM6%F!{@ znlAlFv^I}d4K=;w;W{v!@@NwS5zI6lczt(pC)uc6y8W6U%vqt{OW54Cz`~VwvcJHO0KTg?$MLdO;b(4R8vyKL%n!sFV@jTZ?npy=N-X{gH zHaG8)HReTPe-7kzqghq!Iqvm&(q}HTQQ=Y`DvMFG=(y()`D`RLAcGS$W>e1*Ndg*T z!zY=o_WQ>)a!OZdeIqZ|Yr{Y&u~&EaA+h(OH!AnmPeu}$U`(Sd7^0KVZ$G522d?GK zoUZ3sNrfmSQHau^6b<^q^68|_m@}2Uo|FEuVXp^)!0taL(4b!l1;Z|{;5bOvaV$V~ z_9upkpr=M_Nb#X%Oc4u~V+DX+aBM4tAgKz>soYmp|J{{kSfQBVLR)@=xWxYzdb z61vaOqXnu*!~H5ca2f}!HxmI0=risyz@GDu(eIzP`}ML2Xsnq%fk1UU88mrew>}!E z`n6zSmL|YN^Zg-^Fp#JFL7eWnMx!9rXdp5_;%EX7XbD3dK_o{3NG!pYeQz8?Fqt>v z7pNS=%^Tn9!xa92KD&RBTHMt)6XYEM_#}*eHK6%q;95*aWMI6XoZ$au#73Bdb93Sr z3#Y?55mO>XJ|%-c^t-^#nLm$RT2p)@kb!8xg;@$C6X>WyOg5^bg>Mq;FA7n_4&sx@ zihOEyiq>_H($Jw#y0FOb^MnoBiD_-$sBP&emGF|)fDFl@gHOB0KabYJmic|X7`=TL z@E`%j1Y>#9)FZH>&K(}&Sf`T$M+K&t1F83!5uU|(Tf+K(R9-NTOgOz#xzjb0H|2@VN$@eLkSn1XV` z|B6&Xqc2!f>6s}n8bvp-l8}~5XgEYLBg+1aTsVu@oNkrjHNfW!fm{Xsi0&)T?)B@W zn{TI91`|fK=#a`W^215uuuDm7U+Uod9p^|SQE%#R?lS5U%q$+{oj5AeVCd;@j?$p} zh|t6?q(n)Me$K3AOF;!csryF6xlGWgaQ@ZA#``f^MOR;#9HTDCZx-$sB|G!39=-!2{#~TDBv8D!pli0BunIEtw zDoQ^AN$easAc<{Il8aWHR)aQ*K;Bjsr`={@Rb-2%s-`0th>%0QHo_VzB^pwi{k$=W zGl+Q{92;FF=NmWT0wl4)f0NkkOI9sF5*zcNVxu$<-)P3U!nMXDE|>r;#SXUZieiDWsbH*pxp4oIoo&sA)`dWQ zO63Is1tIN2o}ru?$=kp?uBbe!0!yPbon?5!5&70ZwiowJc%=sWtYMjB45 zAJetv~vJ2@GbNIfHCcS*4{_SU&6;@S`jR4@Gf> z#GyuPomb5M@FrYgc8cw+lQZjDe9Mj~v;`A(;I~x8cSXJV5^vE~w<@zhjZD_%A#ysp znC#^h+AKQB2C4KvXrvL=%fi`k=Lp(^_Hg|NQI(sNu&}~-ka_aX8b9l}|N5|steALn zQU!(DSKT&1@G|!ta^Xs76?>~tw;{rT9B0)WEI*`$donlId}tu9^jxJnJ&JuE8~Dd_ z);5`A$?RZg@35~USqcoj&jOP@WKnA;WaRlecxu=UyA%51DHdL0eylo_HZJJlY z{oo+=m^hXb$^aFeQ>1&45UKiD@tZxrO~2!KS`A;$bF63`RLJCbH$i@M2(P=jsc%Dw z$`>cIl9+6-&G(z^oSA~h4Et%HsQtr~QXz6MNjFrJo&#WsCd}A!5 zm^^j_LFCStZ=#&Tav93>2bE`5jDC;hp`tqRaue)Z2maOu+H%A$;KMM_SZLSzXNz>< zy1v?{%PI3jI+p)~LLeM!y+Lbo)PGl*r&DRLWx?SVsd9WwAqzfvL>14eEBxNjJ#$KZ zB0TF?BjswKdTXEAOHgpc1cyveGYy<|MMs@OPm}E6STflTMLt|9!tVF0HHe3Wy4L0& zMAx!0OI0J|VaNMP6W&|6G!I_iq>^kgsX(x0jDfh#r~r}R0?DygW*qD|qBb>w7e^xR<=xqHCb!>^Ym zZv-s55i8gb35mhwr4}1z9k>2LcqdXc}Qoz)f_?^)3%tath{t2 zTzbWK1pNSc$p3cl<|X&g<&>+Gx^E} zT^ZT#lB>a7wD&#iiZ93atg&*bG6y{euzw)+zVw2fi_T!2V!q^umcW^$bwjp*eOHE2 zPrzfE?n@Y|1VLBL;+%NLGu)RAx6QiX#mMpCcqsVtfp+ECTzhTb*Fi#=Pye`wOa=h( zMWb|U>xVyvC&N^yltk1}g1eP3#lR)5HT&2jacjmKV|bFxjYY zXfGeqdb9mf-^A)cM80A>rIyzEiro3mdEm6*e0Ny=-Se;dvq$IdX$EmJn%c=Z$^=7| zI;dZ?$IQrC(bA^5Raq19h&t`vca^muO;A6hGe(e2YZ688!5oNB7mNIZS8>*6qdmds z^RETL5d5ml1fgNj^@YC4t1m~&v%JPX#rS2nyIN>Th5~=Qn>cj*_hI&g*!S*mC0`Au77OuD?~X1 z&Kph-_8}F;x#@Inf31K2zci*-g z*EXcff7Vwr%u~x$M5Vm`Zlx4ZAL%xpH81x&JJ}H`8LocrAO3L?KHE#8)x5Fcdyp=_ ziFxH9-!!TQF;}jq+1bft&luD0?B(tYqF3Xa(lQf6-3)(X$0vJQc7ai{uJ}LLdxs!V zfGxnXY`n5<+qP}ncxBtRZQHhO+qOBcfA{QWCZcE6i@(pvZQjT{=j7pQh4+t>kpB$x z?Q^;7_J^Y?+dn4uh!wLQC&KZsuJ`>*yX`Pzvoi#36Z%ta=5o4P&Ll^Cr$i1e>ZagN*I;ojJ@8EK= zl}`6!RJvG(TD4|+y2XpnkzwLAo@km`ujYM=&jao5fmW>I0xT|{6ZQDq>$gMs2sgp; z?8GbHDYxQ`&lry4JHmBdRF3PTsU)GN|73eZ{SV;tx`8Rmc}7b~y4+TBg$|!Jdo$?+ zzlg4d`h)s!{0=PcsFczul}T*Y7lqNWf5*^}#Au-KMn$^63{1H!H|4Uy;3*!Z##gS3 zHlH`(i<^3iREq)lpZYkIahT+sSmm`uTgmi%u-n}2COFGQo%jLz!Z{e3B~_QPIrQ3^o%tXby+KhUP5Gux)yMn#;=aNZ3xT zn|XxLOpZ>?VIeEKmrSKGbF`0nt|gA^Egi|lY!AD4_7VR~AnJjp!CItl}AKqSXW3FszC&{o7}@)H(+Q+OVI@5-(sHOGXb z_i9JDW5Q4ov85m3UhuBYj)LGGS{y~eIr3pVLr5%XH$y_UDTVf8odN@ftA>a%?<2L^ zm8YST6?OaTq^)A>qMX|^injL+`vkm{G<`ieazFku05LE&w9LbMN@HV@`{22nt_|Q3 zW5AF`APQiF5DEOOPS5X-cut@y>viXQW*dYiX9tm&cViuq_$uo-VZj-ufbke!z1x(RoxcsB?j8{QL~7Zf^b9b!vF zIwxmb#K(JT9($xejCpY09&PMRk~Nr|9xyeh)7K zQ;@Cl{QiSt<9XZ$tVQ>sXDO6IUpcH(|1dByAmdPVCWGbCe<{KZ(&^O4?{+2+yazUd zqfxmS3E!_l0Qbg=KDGT1C{}^TwrJ4jR`dgDdv`>q$pnE8MY)`6qWEsx`A{GCZD+3O#eD`F1%xzs>{^}?4b{NH`*wqvCzEMd z$I;hK%64a?l`aRTOmyWu3*q-SLER*mK-9(xH;d(Fd8ExK`>}u#I&Yd$(h^YCY>(n` z^T@UAW;7g1_+Oa(1GmFK)D?x`ZP^P{83LbHj@qd2%bq1xjN>hxv!a%6U!3hNVl#dB z!}sK`kN_;SLtAv}NeR(P*llvp*KRM9bDKSseVeK4VW`+%b|d}6RJvH(tHT%f9S`k} zw40{ZR*`@w%^HMDugME`(NEOeS&>uNQIFaUrrT$l&GXk6D70+bH}0pkw#nKjI7bJu zzhcD><9Bz^w=kmQl68EYq4tlz&HWJT`=JA8z}&xA*lE&NcSaN9o>5=$c+fSp7j3`vDXJ`x229~GN_^E+S-*MMNE87(lU2A=+15Tw3qr9H3s&;BYew{Ed}(_ zTc7CEten+lJbx*nVQWRZmvTi;kAvJQn%=Hm6wB`a-9R`<1cf{&*Sx6meBLcXNGNrS zG+noy?az)zk2Oy-pf(=->*NSl%pynYy6w$%j5$)<^gJU3y0))-{%zoetky)Q%;wPh06D>q7CdGuC|ic*pvI_nwnjA`E&fd*1<9cm|>{ku{i1tJK9Z1c0nsv259P& zO}3mnNBDmyVq^bdu|2q+4nN;2NQQ_r?bMXmyAB@dKl#4TbC({JNZ^Ts_*$L57jvKC zwr?PGqq%!)^!rAl4S$lSelJjH1#~>R1~B++Xy#VMUO--9U|PbDhwAro>%K>@xbG_2 z-0p6B`j3C7unIjc#WxkzBpBC=t(}9*^G@bFlxopGXXXFee0}j!*RyFl-q~&4OR(u} zduHgmIt@ZiZr;8)OT$4bq0@_A6h9lt+4YyF&TBR*$+fq)r|RbBy_yVkhI>pEqZ)Y+ z%W*TusI18GF@ConHbJNjo|0e`qJsEKk~w#)v0@<3Bu8_R?s9m1Jcmo;--&cnPle>1 zh>m!($1?x#VF{` zJSX4nZxzO`8YoJ_qbJpBF+Y4hnn)6%7FS7FTj_kwp61UV3R1;ZC~3xZlv)S$v4)LC zZgAF%O=X*KQe2Jjdfhd0hv8b4XN$N(i)$ozh}pDw^jcGzbsvu!CM}6lOz?O&n|`hm zEtqmz;3ZVMFer2_OZqxAQOv2!JXhdscZ|krDKNi6m{7KncaP^hR2a9&oDtr#;zqgd8*YIEVS{D!d4id70qT88AW6TD%484dfMHX0_kBVy-tVLSU_rW^CG z0K%Z{^3FCkYd^JQdTX|qb{K08H7z)xlO-D0j(_}X#Nz(1M(j2B4WMO7?ani*lV72k zs1pM^2(U~bxb*5^VgSAM-g%KQd7rE!34}Otr5Ldr(Bz@}w03&mo{YA1U%uFX3b9cC zDa5uTR`{t9O{&dNaz2XNzO(6&N)hWXRfQmGe$$#|2ke7pDyrmU#{Nwm+)?K+H3}Mxbk5yO(+1(Vx_=Qdnh=iEURaDw(Jbs#hX3iUVjCYyRLS_ z&(m_7dI&n!4MrJJ6-)p9Au>^mRLVJ&92AYpRzRzE>{Or^+o|z5$>gt<Wbh0p<>OyPFCSpQX`%-UH;;>DkHmA)5uS7 zX4`kZa>9l$TK2FbC3oHC`xy_$aSM~Y%8%nHD~jb`Kjtu(CSWGL9C_eHXF6E9K#zb+ zGs~}5SJ+T=yPf;gR+br`{{~dw84dRL6L~*zeN9*3(LX90(XCQ3*WrPFIjb#*rMAy~ zoCiJ|nEs~_n_PbpF?izDbOL1gQ#;ly6Bp*>+`L) zpUO~jfjS@)qjEgv9ATcNzk0)jQR*hAB^1?sfs1Cf>;|K=s?Qbc`Jx`f#v--8-13hPEQo&H4$rsh-BsUuM8s5@<+zXy$73WK7pS6rqjBXY8;ohiB3N=N&O ze6qHhY4cP2ld7@nz14ra0b7-ChDZmmXfERjh7V^slepis6B@kJ@52LOlpcv%Tr7(x zYxp?M9=3X2f1bMrx~CW5-h4w2&VBzs8nOQmSnU4>B=cV^_P`4@?GFfpaGHF08QWuQ}XcXTqbp;dIYb+WKA zp%waTV`pJ);-F;W;9_B9;z+Av>u6wVLThYoeeLxRht+63<0T8$1rZUE{G*@@L&hv1 z!WkhRPskb+2NDJnAn~VPRN)Fm1czFGa7TVrL81ONpgT}UY&0Oog!*rGwh+Wc(&x>u z@9+1Gr`F6y<#n^C78jF2peX^WU>NM~YAwWdP#Rp1^p_d|Jg?EF&WL&Djzwp-@b01u zL%AXeof3hZ0>q*_p@C?K_OMjK9kK=nw*?p-Jz+*FEt=GusOZNvI##>@#50L{*}uBg z5m;w)8O^L;-k%0QLAB}5YgoThiZqH53Fr3nzGYhEyT98)^0h;dO_blO=vIW-q=DNI zB?HqOnm}Sfr0YUiVQ~aDE#QI-zj-pu{-qS0a2@=wD+TYAt&PQ(c!{9 zg5`e*O00XNMJ&9l0j%|U1PK!(mrRN$qimXgWoLgk4OQo_BbH2v5Wwp<37^VY1U+^s zU*y@YcR{fh>Nx~IvM~?xFVd_zwh;*i`U9HHVF0^V%CQE`yrmYrD?|p?jIE-+HMYuT zR4Zc#?1?f5>o{cAwL_+db}<(XhS+VZ#Ic-3QljT=EM-y^M(t}tU}?rziVW$n3gsd{ z*-#pnwZ)|qouVwhPuhLIN3Wm0dwXS`WGvB<=e@rmLB9Q#4$XqFat}HcYk=r71_c=X zsQC5yP)}kI1a0T=U*;);nTbRstUy@RW`#c2%$GXbJ$%+*BVZwe+yLgN^471vO&*9% zqxjK~?CVW}aL4Av22eBrfaT2zjlptxnU)IA?BRFKi&7Sa@ES(&WEOL2kcgI|3S-*E zhdYM$3;eAyZOP#5r02BA0nsqx*w(e5P^CT_PXMk2=H^mm24T|{Q3nHwVXYXlB01RV zObN{BQzP4`F;Nj;IJJ``=T;Whc>rkl7VH=V202k-TMc87PK=GRcL5iQl~Yk#ISnE{ zkZ8AjFee}-WtE(`(hClQG7Jqa(35)ba>|)aB3Lw>CIONqGyG9lw|V)a4as$+n~lhM zq=y-jcuP!~k^oCs4I=`h=$BEHw2cEO@K9yW^Gwq`WXdR*q@M>fI-Ftwn=zF<%19=_ zFPJ)p5CXng>xk>yp$d3925?EJ{=A!{0%kLUfGatc^?ZP5q`~=CuJ-*~OYQt#Kh1iL`#9!5pWjeff|@N`{i@jx5sJE zl0u;HDV##`I|^@#s5ndWfyCjJ2jvN}FbAM@49oKQoyF8JF37o(o%fBZR0+{%fM^CgDjcT!C7z*G z3D>0@5Nq$Epg^0iP^X}4biFr!$5^~IP^M~q-2oP^Pfg>$^8 zDUI=G=!Hcn;C7-*O)~g$09%|p#HrR%)i+^2!ZXID;DVfEybvfuy@6IKg%-d1{if)| za)1aps)I~3keSEeoU8$l`W=Se14Mx%Hf5Vv5dp>Eh=t#CS1E;Y45u|>-_>MEM%|7s z1omM}wEJ`|&On#&Tdpe1gfp$=x< zqtlJNLHQN`XM>DT`ct5jIt|l42D5qgSP>~5hMUNH^QcITHO7%g^=$mz`!uC+4mA3z z(LXaY_{Rom5cH`!l_z%QXORZ@p)))PhlWw923@FwjO^%@Yo83loK3+loKCtuoa{6s z!{{-ibuf=s3|+NCT0$MnJF=-GqnGn>)pCRUFwXnZD!_-Cen@PPW;Cc-b!&DGCw*Ck zv+eFz>;L#tAss{9J`r@hVV$!5MRv&ZeQf_I0usn`XMl{s_Q)WiX28A`{mh_xkd^(9 z6}x^MIJ{t6z$NO+Kb&QMW7(aCOYK0IbZ}hF4F8h87#Q-AmYBie1lUc9cB6BGfbKcE zL-c^+rzKnZP$P{p)W?ONzl(xHB9+qDCxtJjv1f-LOLJ$1Crf7y53NgQ1sxx3f!;oMQ>s(O`?E_HOeh*Zp-nXS z;4c+@Be|y$^GFoP`;f^`G$Ip1M$9Nw5TAdQRly`P>kPohm6}PKAc`~zGYC>9kiXYs zNE$SN6pJfE%1DMYX3G0ONigFa3Jx6^OD@s)e7^i%DnJekCeO)%z77>p$AJjc z4;hBH#V^LW(n*8}6DV6m8ZwEBBQF@2(@T&-0;DPw3I`5T22*H$@k=PGNOZyix)AS6uT zYfiLD^%#AQ8$Vo?RPmQ9zVWCfYG_vwAIeR!qOdG6p>MSEMS+!nfe*w*8MhPalmX?- zzhtX62`7Q-WFS!}6iFrXwfrGhh(KPD-WbSbK8al*hHf;b(&9*9R* z^2y~?1XNNg`q1TO$C< zV63Ph9MVE9EKv(C;~p&{Ig4y+ewv@-lvbNSDq%9$6|MM-o$Rq=A>&&#H;_3c!6L;( zv3vvpQ&`-d5N1q{sbg1$h8z~s&uB2wx|n zbS@91PLG0E+>j~=^r(f9NI7M0{1OcBcr^ES0fsn*Tx9`f>pr9ZluR*E8jyILF+2ka ziAe0+?MvvI@L2K80Q4YI*&)Mr4n7G=iSbBZrRb}Zll~IC383nmpY@4j+nldqbhHw2 zDiga{IeegqFj$*HPL;(Z)HuvoL!Tyy7KffC1hZoFZ$CjdOsgl~UK5X6;;IHQhp;!(3AmvXgdp0;PzX5u z>5TazhEOrYk&(3hP=l(Q*><6iR+q}`EVYn54L{z}DNrlzjX+o@<)&Oe-jX?2-t0%b zLpYnR7Y7dCFU`d0+~^$cAMUI5sc_#q(J`n`+AO2S=Fh_1f7xLT@5@q5ctf8Sa8aoca6u$os6)EVEa<&1=2)gL|s`xSo*V;!0E;&B$RfiznOxb3MGY)q1TrZf0fJ{pmgHX(5%TG;C7XBo(a zC9r-yDjj|q2qeMQ_|SQIBQlCWH(SD{N<&i$9By>-a0hkbTu>P<{y7f}Fru zLk>Y3T!cm~L`zy|%J+56`C_Ut76_$(OhYD_0z@N--NYg#RK^;ULC(r|O$H#0hvDHP z=Ci=EFg*~kPjI~e(HU%O5C&v(D3DI(LW@tFD04&y1~;rfl(*9PuYdRbVVVi#BT3iU zteNynLH%LUK%NSQV-)&W{o3Q9JoKRR&1eUkLAWxWBhc{Gj3@T*L~6^&lKH=Yt=#yM z9^CD;_xGCx#siNb91_Fc_gq4;qPU_A&?0VW?+Uh-RL$X*HIl9lZYYr3NSup<4Cy8Y zCt?2p9;Z{=U0>|e<`duO=H!gu0BI{L$+Up8KAc4m9tq+Xl1r3mQv^Hnkf{MujKF_E}FZF!dL{&Y8udw7o{_@uf%&0 zV3gB4?#)S5KHL1nE}hxmxmwC6a&L_P@U$Mrwyp8}>WI3>@J)ohu`+y%KX@N}OH(wr z?P>&oDfaSbwKQqFd@ISI8P05Fc21j>;@Wf{cTayIzZRDc*xn7@diGwebR1k<@9iWG z@uGB<0mI*19n#1-+{nbM0=+=u(NLYuTE{<`nr7S=#mTsJDJ(o;1XxUG941HmkwtDSWm5Jd$EKEaTn? zaSUL(Dp@dIgGruwC^DG&wZ7mOM0N-fI5{CW12R(zm#26SrFc(2AV%KaoE_c*^F=8l@-o zat2`9Wu4UnNec$h@_t>a#HCq+e}nxy3an3kv*bW}WjrY9_YwF@1E~L}>sTZZ9v{f- z9`a9Uq5g9vSA}8kTS3d9z^B|?t+yp!FuYOd_jet^{Cfk>zkc1PKUlZ^h zFh3d2j|9ISXghvg3NS-fx!+_crkO!F^5q@Iw=^jlsQIED$Q)r`QXWF26cxy)C7-a~ z-9GbCV)$hOFb&zz%h{ihMN0mfAUceP0|T3X%jG*)i0sm_F3`gqixwpX)H-c`mYvVQ zeo9BYK8?JKRef&aLIP$%gvfcDhca8Ru657mV)3p1>V>gLC4-ZpLSoognE_a)ezR~ z0At9G2>KeUsP2OQO}Wsx0Ndy>0C{BQ(0#AFD8x7V$pN!CPTciDxB^ahLD9*6tf5rM zwzLDsgayGMz? z36P?&xPjWd6BdyYiS+LgyT4rs3vbdWsS5%`wy5g!TR3bmT-SDFWYyG{WhsQzar|b_ zXGF>3q;wDIOJXcZ=RDz5K(z1R7NV}puQHG6d5@(N1`?~_p)pI}w45A9)Mb9V@28|= z?2A1Wgak>Fks?Bia46ma$*HlM!~iJ*5LXK+QvOYOU~pK;9V-VasCE$&_-usQL&NG@ zC4=5GqcZd1wau&YLQ^Q;T}jAI>rTg1uea@;yrJ1gGM!Gaojsz>LE|*2j9Dw0i4J2= z@FiUwqugc16ASPxO1w%*TeG8+Kh{0Pxm*^p2qWe zqw8%fjYP;24mTHpFq7Nlq`!EOi`wGUqtcaa8$%7RO_uAF{@VMTIkdQCQwP{^Ml-j* z#;2>H!NY44XIa2A7Ir0@pc0co=Zkmzq`I@lG4zq5m$#0oox@OVjix8|lsAw%wquNf zB@tdmJ{n_dYWu^3lPs&3RUhqj^-;Dod-a9=f^)vz?T2{(WFP`1k!ibEvL@_h%F6!Z zF{W*JBvr&)8$7l_HOFL@%pebO5<0AYj<7w6rm46YxD&-BA7k3v8M20U4?6}fQbc1B zYQ!4a<*}grR_UrTrwWZryRP=E=g{d2BQ#N&n8tPlF5jaXq5ud4ryS1d6g|yqyOfCW zJQQw20ptfKT#)2cL_);DA9OiO^*9Zyy-hKxuedR@v$V3bvqSjBDf}Vhb>%*;utRaU~22nUl4<*YJi zBr>BJIee5M`XIg6`FtjSAg%H$Z4w#YQBqz03`l=WaY4BcEVBqI=(i1+Jk9a0aee{J zc|a!8kQ(dPz)9x#6ea$CDq?kONQ&#`=b}ks2BfXK(FV20wZp3J)CPJxd)=d!gu(ls zR%7jyT`5GW#Gn}V4o17xoUV85b&e=gu02?F!p$>_oA2jJO`6JfXzf`itEEnm1B{93 zgVie*JQr-HqN@A;jICKQc?wk)?{Dzx#jf=suQOX6htJG`g}q?z{>eR)E!{cukHW6n zGHZRe*JEupJB#^SiroUA4T~6cR_#}Hp@LWJ+Uvhw*~rp)EW)S%s2Br02t9Ia2` zDxX;Cbr|| z)5P3#ycFDZmWtNn#Y^}Kxaf)U zM|F;pc5Y*lV!FI%)!q|isPN+_f@2r$2VP|F6UTta?RJa;E*Q_>Cf6_wRa-C5t-3xy z+E=MkN#9H@oz|qb){hmHz$8^FPEYo2R-R-`%!V7k@yNE6S&r6RIPPZp$3*zSvs$-Sidt=Z}275-IU}cj3f6xbO|Q{5V=~j>Uq@QG5rNqnbfW3~W1fZ_)KzmwIJN zo5%tQS8t9yG#i9mqPfh?9V@Li5E?7N=y>3%k8F8QoWsp&?|SLi$;G(sueOF<8f2sd zQF$bAG#yKsJt}(^`(;*FoOaSG|II4neMsRcS!ClxxShhyY>qxnvTP65CVR8@YVh|O z8kdTfawV&-ScK(Svw)Gxi+Uac5_rh+_WC6go&`#*Q2>!jgczM z-#P=6jtZY8)7foiz1b54`N@YdN;ud&IH+#V_v~CAlUdQKFDOU3Yhpz^e9aP^Em((D{@r(`}E|cMCGPwl=aoT0DHd zOOKPYLU_SWRrIdfDh#9~xBE#&@sL{Cqk7?5%*J{xg@=`==ioSIoYPO&m<1a=Pu z-94dnH86In)1ImKKE!|h65YKHx^g{4+hTfq+!ZG`r3QABtap&KNwwsaJlz+V14FLw zIIKhE$dzhv8=+h9*XW_+SAJdxr^}j21soG>%nRY!W~kd-LGk$}{A4YF_#Ozt2`7Xb zUmVF%g=JbeL{e>w^i})lraAVV<)~tyW;W$q3c<=-Io863-{;Fl_9Lm0;y{IVvD0bX& zyZm@j`qC!zX)TI-p(g8zzcU+)A)?m!wzftb6Ot@RXV5Aig)t_7DXVZES2FM`+OpDe zThWY)0J#W{-8u7slW%D7bCD2ZwxZ;keHU)C9XroYfHpI5qxH>&oHyj4p)k*r@7m*=F;sUfv+x-}B$bx4%4}7^zMxqR9F> zHt=9sU-pfcV?0FUs(^cQY^ey7jpl&zo*0aSeNqkX ztW0B@k^E&KEi)Vf-jz)_20tuJh=9|K$ZrA<&X%=~x!?}>H&GNlzb&KEa?&pjo zeK|69oONt9UT59?H#7RWKZ;|$>~Q&rMdSE((%Ad3{=PmCkf_ZcKkQZbKR>En1i!HA zq?vibIdgXvI~B{xw?u!&XP8W;oSd|LuX*NNckp?vpLXj!_~>oS=0D#4WUwqetS{C; zJ8A~|bZcAWW<1+1j>;+dvW$6BUiX|MJ!fsZj%0IboENO`oT9zL$F8NKt+sd>Gof{E zq4|7hdHtw+TZ(u&zZWgE?SBt?f?vP#>2ey@`RLv@&2mUpRxT`t;>0RuU>%F*pdvSk z=R;|R?R|(H&wk4N)%NuOUg}U!IsRLOhHr|0Sq~Djk*Z8CL1cnYAM$8Mv>o7JD?NtV zWb&w~MkeOfzGiq`I}oco*;!l0+#gA|X*{qVjX{II=TKC#6pB%KikXp%6R0@%FU2j~ zsmT$2H^aKs`09dYv3a*WFJ30A;c59W63M(rstw)j@p$IF?rW^}G=keklg@Z{(Z9Jz z7WgR!2F)IUZTsCRNq$&uyoVH8y_D_Ixp^2PWae~T>$qA@>~X`ZkVH zHqb;vO%b}_;97+VyRnyaKm9^{{}$X-u{s2+-MvKdFt|yqU4`!Dy+Cp+$rZ@O9?VoS zV$uYWePVAl`EG)CT;=5X6d}fXd&xf!(Vd-up3+qSHJxRNhVJ!3K~CES+G!^3fow$T z;}k@!y7fi^6{cRz%V(15=TYDX5#0O;$ODfu9eH~5|DZkqp9#lU6|=c)Y!`9*-ut>3 zj)h-7mzDJx&-HrV|FQWw@ATjeP>9s4jmTOk3)EtbpHbx|&BjwCML&n*e4t#(=Lp-`T-xwYqT-Mp+ zU#~39S1BAvcU!tZtVS#`dq^XzZU8#uukiau-C}HQ+G4!Ey@Im&lo9~^&NT*nzTWqG z>Mce{%c!5K_Ek4DUC+C7-;&w`s$Br`&+J4yOhRxn8T)niero;6Az9if5ZQkgeN;Z# z)Qe`SgUro+Hl3=Ev?aT}Ux)9cqp7Ebm{5QC{GQcY>A5gk(l+z!^()#*v_+kD;YdS)JyTQcw?EBAS8TTSUEjticmNz$ zTTGD4xNd$UWEFR9<25OJvhaARycx85ZKc1x*Qz}K0Ds|#p?y2N`T*t#cU?CVy{GzC zqk6Qp!#mw^v{Y)V?tE3AsOy+q@!vU#9XfNpbiA$p_N9A9_txJi+bEh<&-RbrB{zU*3Q^+aPd@6XZx>7s`7K>I;B(pZP(J+qW{TKTZiH)a9+NY zTh)<2ex91XvK88mNq1>n>U8Yw3Np)~#w#?FLgW3xwnb##syMF0j%^NUB_0mcgEPwg zxt=+uVEY`&Tv=s~m2)5`A>aMUqUwmfpb{%d^Ok)-^3?J9i7+#njQRHFt-?rANBI2Y z_qkg*NoKeKMpMbIp5S^keA8La&TWjGbS=>=x=Bdc;9KM7aoEn<&9Q#Q zW6tM2@6X@>?VRwaZl7XwTbTJRG1N6rS-b;1R|a%tr}hEH%0lpX&#q$%_`JAGl@Kdv-Ypn!!$xDA1MMtR$!w(DEa(H^XNuTci6X$`CF>yAl2vA z*Wu*QL?}UV)^j$SD{sH zD_zER|2?U7g+}|Xv|S`5q^x!iFn)f<@OgIaw;zYQVH}71BX_6Y8CUkg%;{D98YuT` zpZa!qa`O5p`QMrItXlUmwBqkCX?JD787!C>E! z{fPpS@qI7#)THzmak?am{rK`y&BIZAvQ~%}#^$^yPv=*D8QOQzDDx$ni}A*Jl_Aip zN|$cxoQVs{=7HJbedV8)>tHke()1}d`{hH3HZD}&=VIfTVrWN{$K4t5>dZ}^AJ17z!t5%UwI;?Py%=BQYOQL6U;C{u9jAdYatwd}QP5hVS!o zGu=~P;15UI?p51{Fd0&NEX$B?T`#3Re|03M7VY_+ad) zvAFWrMHb)s;m4e*T`6jHrGGURW0-a-yX>mw(@r3@bkR!Z-4ti{#x>?#|Mh0=V!$?8>I`STtQESHy_LhV)ne}@nhn@%lEX|Fuj{sSuS+)+f~UY6lA83^PCCnY*`x*K%#|PcmS#@(0;MhGT0VHp(!9#)gi$p%N!g1NhXDQ zvDE3@m^#}**Bw|EIoVsuSk;F&B9o!*Flf(aaxh@^R@&>qs{Wq3U~nOJJ@~m>RiuHK zNzD2NcRD;{-`lrQ#AZzKzG~^mgV%$BD(4n{is%4H4m@n$6W9gR%6h3<;yUP$9}wWZYraw$rH8pyLc;8 z08k3T7Qypf8ST&P%UQ0jLG!mHs4(7y;%2?^(opYR_U&2Yefnl9S#{T9g@*X}TM|ZP zmB+S`J&n)jdUfh1@ArX0-LKaYBR?nfL$2a`Y}wbRvJXn;>HYgvB#DX;(?9!|idG^X zGiZuEyk8R>7c5!|NdIu&Y_v`x2 zYbC_$yOl-isl(wT(>un+;~B@6@&FALUDiv*Uftlx49lMP<0$%3$)laPh8|m&q$68x zmrVO0_i55w%@c*J}r7 z-~kVb22Z3#;3`?Qx%6i@m4^vWuef@emhP(GhJYibR^cbWVjkk$0c zA^5LD@Lz}EzYf9wnGS*2KZl@iJ7!vu?0-50|HB&mUk-tzlYyN`Nw9lyk$q^sj?+TI)%LL+(9EjJ8lF8>fei5LMHyn1XGcAc+w>rX1`2g z_z*WR@b*hnG`(-o2ZA)RlhngCzt z`?!nQr6BiVpgVL`D;#{y2y@8P#)89Wu~b~)aP$rV>(S(BWs@OQOo}I>Y@FW+a%NwL zljN@>lueBASq+Np_eBjG@m;LBjH7t#Kp|A=YmFL9{>J+9*hObHt;b=+*Z=)^dEwNcuhon{FQQ9|T zsx21h?b8ZTg`^sm%GIeHoGG6DN-R?(p~5M|gV8TpXWuV@3c6D$>T_&IK<&O;${Y3X&}=Oj5I{g!JRq5d5Br-+s`3XUH3%+TnNc8rHRaI zQ@c;+nS+*;(xVu>Ghi!8%3JVgd>|joH-+V$nUabW)(=5S0oi30@|QD~ONMNw(u)d( zv03}Fe83#%|5+v+G3Uw`l#W8x$6+C(P>w`Mv;^mmk9zb|SGEF>EQn_n9bsPRA4?VO zKtEm(hc6UCua5^5Wkt7-Ll6~}hO)>vMc*b=9s?ng!&bs#88wF!mfZ8N1{Sg7VpHnrV2vSpHp z-8=#2I}wIKAY7#a>O3G$u>uNNZk^cZvN_{CWOk7PixurWXtrWuvE2^43=tVK8ftN) zWmD2wgr)gX#&)`$7@EZp@Dh$r{=Ane#eR6rqB(&T(LB<2fdX_Btb8`+HHk;QC-VaM zQ8ey?InF8leq_#^IoKugerV33IH31YsO|!Jkdf$<=-;KWjI+QWWg_4Lx)1(B?<_}Q zzNd6i)-y_ksGf>>93WZ#YvnR<`_MCZZ2yqHifw+_vSTQPPD+2`rGTI-c34d?8ijjG zcNTU1JV98W6TOE?f5th=DLF;F<1%&-oJ4*Jb~Kb*P;Ow@;d@|ux$$)K%UJSD2^K>&&_!eo5Uk)cKapKl{}@~qWIXsBGBIdH-eQaqCy`@Q z>^XF4s9Ol#mG6BN1T}(T_#Y``^@LawBMZs#(SrK22o5YOsX8wb8H#JkIbH+X;f+9b zT@fWoEzk|qszGzcyHoot&Z=%`2euU~Y61w!0b=rSiYm{~v=wzj;DkRZY$x6fw_@@x zgm%~j;=J2DTGe#d^O6*91DUlZ3bKX;$$w4v-bkg5z$~X6E zXa+s#kIiYQgZ{2$jfhG`A{yqkBFD$Y!Hb5vLFeq!k@a1ui=LWEEJZT+*Uc0@S#Tm6 z9mvmv%J8Nsyi-)bX|JMnnM$25OkN(aMm)hP$|Ak_X#7eHv&UTulN33C=lPLw1VzUD z9yEC+c0GoD3>xs}R&~>U3jeeK!4*3b9JpHG4glqDuK}ZIYvoZnw~l>BmH>=usLsWF zGMtwJp}(9(Cos=%hjGC`=GbA<2Hkmr3^UweDPr>m%s5bIaTyj%L?wg7oJn&AP&g&? z`B8A8i}?X?OlS0oaEhz6vR zl;X+662pYZG^ymn(e(0^3Io9+X$#~J$;D>AWETje0DPh96e*$nb4(<(Gh+DC{#puu z!`V@m_6b36!1qmkOpohr`wepcm?+2KQBqcJ^PN}4% zQi~#v5e(lU!sV;>L?loGgc&3esSY!e5R2Iab{y;$pH<^)oJA|E0(mA1mlQplRm?d7!wjeAj>fu z;-Z$8N)kc@g(Z_R4EfU45eStkFuCaK6%Z)mgq}T>mZy`(l`v8I1Fk?AO!SD@(i0Ft zNEf0+jkn1yCipE1q;p8+ z0~F&vCe?imgXL)@N)5jY`h8MJ72@J6o@A3Dkau4xXXv!ED8~k}4n~&@9MUWWk7J=M zf5u28#wYMP*VIUhy9}bCxDC6H9RyqoskO7nQzDB6?F0Mqu7ga7izI{c6=iht0y55I zO#V^-QfT5VkMgj-)M}E5#N~*^AuD8Bjmj4P6TOyOa|hIZ&N8c+~Hp;91@8H1@6)|Iiz zQA$kxn)xf7@Rj#?3sW^a-k^%)p^hXw5HMG%mmPpK%!tX4f$|Z9Nnrvzh)7bDJfT?l z1(A?Y{4fbE!Vobv>?_!1s8troRkF&2-7NFMkR>>m``H_6VKTr(B#?|X+GB_dXxP}f8gIE(IAz10BGZg0HrcM5YgsA^1>n>N@N;5@s=6Q%fVBaoh z8pN&}%>Nqn8zky_UyAqdFtf=1ME7p{x|mGvvcHU)=tbxDc`{jRJV)YX5G#tgZnaBU zPPu_c)9H3Q+?y6*(UGafV0t>@;XRthacrYqbo)@Ko|69*lMQLismtB=G}h7hIGCsU zzu3E{;7I>P-QzRK#F}{G$;9TwoY=N)+Y{Sn$F@4QZFOwhJo&G+_dZwW;?%i07pwa6 zz38g0db{hb{yv}Ibd2|N9a5!^DQ5bVTV_+;-k?O*h^kuhOO-HE1w9AXWSxIMF{(}t z7Hfrlqr_!)+OlL6NqV=h52U{VbXQC%e0pgRNxD9ktkiM;@4WgU6qQ81p`7A^oJxjn z`o=$(HiZb~$a;dNtRwWGE*#YCd@Se)XgqZA58Tc2n7}9o@NWqb;wHjH0+Kx`R$~h} zKSnwb^9_n6^$hqY22ce!m+j0}j8-!>DC16n?qHP=x4$rX@`D zMb}^9KRb&d97Q~?K#;roTb=7p8#m3UPAiHOEB00wpx?GGLON=c3JbPf(n0A+B5R=? z;$s*f{}UZ%H+SN8W}Dq_lBnBH&*4rQ21m`k^d}C%_iBR%R9}wQUT~-;e_1$6z<^h> zwpF(@9N5t`OmWFrSVFIPNP(Wcxf@dc00+%)D9&TGvAe|KStHxDY-Q|S$)D>v4XXfi zH_fHgW>*%9CVF2&)|!xDSthomRzD3;=x+1%niysxy7(Vw6jF}n7MMp`m^D$~q0H0c zb1-;-qr@(!%gHe%X@BLpwRLEvr>3HTQ)BQ*v!W2Pt5+<46Ps3HOqY2w9*K-qIAMEQbeFtIj!JC(^bWs? z$M?@6O9~2|EWQ#5<#D`TnZXb*Ny!t%P-1SQQ0lWXWI;$@`#9eE6(_B zYM0#fqqSFsLU&}I$6t`3JW&H}%!B40xFSVv(uwW@L>`4+-5h$`t(Jp53tNwammhwZ z3ohG6I0TG~#6f!m_sAvDk6i)AIYm-BpR_E&z8W9jIZz5Kadk(r5f2(R)`N4k1B}{l&Y5 zE&KhFh7ODiGKc(|?a!(8(yDV)f|GugL_C&KE-|m~if+vA)6S~A-WVctE<#}Curau& zqMI+o88@+LBz_lv-B)%LW3$o!Dt>kUD*uNI>*su3s8P@)7xK?!e_>edPy(8H1%mDD z1q2^ja$j@sDd%s^bbVs}ybOIRe`ul0jRc?vIb*J~2e4F$y6s#YUmZCx+4s7?ae!5S zXM^Yq=_x?}>$OCSDxj^2tr1sWL9y=NY5rlb zL;j5T&q`y^YuU->*Y(l?PpHjD*vMB+LIjv9)WXV5C+9&LDQ==J0?Ezy>=B}1*)Pi2 z8k;(5%J?Y!T=V(~P|z$IF{E3#6cR@u@rn! zy!js;2RP4}0WGlIL8zjuKaqH{jMn&Q|JKi`9>UHACSCfr@LTeD5*P=!ahk1e_bMbXb~W4ur4yh+K+E#Yyqbt zjWaPnVmTzi(Cd`xufGp}(9(o!?B%WT(o(Lo?XFZ;ck5-^#Pc*mXj9xjEKqJ#j6Uz= zi`n_|^Qd*b3uDj|U@&c|PtrRDS-JYPCAJAgEHb>dGV6mGCDBsnKnY=wFA_Pijgeyv zCLp7Cvy!CC@qrXs)w4w*3F72Q_i*Ba5@bgesWhp@7*4%6OW3x|P3oU-nP zW*SoMqGOSNk-q3A;_RP{JNjXQ z+bDq=sGs+omy^>gdNWOF=V^$xxvSXHqT8jYL_gMo=Ob8nNFqd^sc9^3?Pr-^KrB0A276{wm3bn+nwZvF+O~v~KaiD&q3XAyp!m1l5 zclZIs;%h+ji4TmMD}uEa|GuFL&!)zjIW`6c=}QV+M^W6a@tG#cOS__VYqm;ib8ayp z(oYJexjVU4=4v#&98XOyYK{w-?b{-XI)w#sn|4|+o>@cA0&1Wtl1?9HJbX^}&xhte z)BIx~t*2MjIIMv?el%M)Dp18cjHAuFUV`VC~5`XsI15)x9 zm7=(egi=M8W>hrMzw3-UhqW7(kX1a|vY+#<+K$?%)Xp(IqXxBKQI7L(tOtiG-MOn= zsv~ig^<6E-=sSI-A24K+UKtK_*X*~?)6!LLZyY7M`v;~3g6CHQN z`*S@J+DXY9ni}U%p6`dLIq0EPWb0f7tk2%6>jSA`B|2wiGV5*M-Hn&_P=md3X3UKB zN92ZmC1&to+&!Gy7W*AYLx6bptepFu-D9&Y*1L-p7gFNA`WKdCC7pB=?rkSwx-0F| zDjBVw&8j>rcXr544Mo}(8u~m1$~K4e-rc%@+Dq<0kTYgJn{=nqbisVE12r(D*U(oP z(Gnb{l!i}5mn{$SLS^hi<^47EBdGvg*X(&BM~7cpYho_usE1*Mfc(vW;(XoLCOrD$v%gJM2 zK((HFw;N>N*#lS*DWahQD?t5rOePTL_zDF!PIVe1a`9B|bZdw-yOtd1-m#_=59~UI zF*IrP?$Vwwb74ll68L0D70vBz`r+0GrD0_joQVgAikexN4vgy=Z)|pbL`9c~q)|wV z7Qvaz$3Uk05j}h+1F!4!joEcqcnUMM4G))!bW?xD-L!@lRnxh>w#Cy27aKDyP24yw zY}1b^U7s4W{de{(I-a#N=AkC5%P+0y?APk3(V4yiRa`#joDQe+u^Pe{jm;|#HwjB3 zLODBQI>~GUtLfA263sVVM4TSpP8^+yN6l^${nWte-x4<*od{U;vn%tBBU+T$s5Ks; z(*p}EJKj|r3U5hw+-GL)9dB^q4rrS-Q*s;bDOCHEB8XN&&629h1}XYLWEz_Ng_?- zxrGBEPr8}NJOZH13+&|nO7W_yH z+PRFtg|Ka~psYh+Clh*~W=uV${5X?5$}!5pz9)T6HgcRc1D;5LnS~S3xpIo_($ZO7 zMSPR25O`2~eGvcTF!Y*wEWFJy{90pJ6?FPTP~xByq#?wZ17=PthB{Oicm%6m%NThp zkE0tyt1PW4fiNh9>nxbRed5mYb3~1goutnkh#qb6RJX=@M3flJ6XT zxBt5gbwd4+i4I7r;WNN*hg;<^`Ji;|U}n&HesL%IVE6$3)k38sRudE7^gx}1SDDLN z_f!8 zT#H+P-P!!@0`EsV9-?oV<&Pe9k2XTIoZ!!M zJ31OXz0s&t0aKPXe6rJLFQfJiSQcG8eah;fRBCl4B;{%ql^Ye*_WJkBNpVlzF>VD)B0sd__EDAT_oBjXf3+4Z7-SgX)IfhxYpm+FzL}G@}>FRcpA&iq-~s96*&HXu9za&dV?06rBG18*XW_ zM(?L$z`$i={ta5I2C)fO*{jbFt;pR?hIoyNCw@}xt#GX)GnO>t$j$obZ_E_9+w_@u zZ5q4ULEGiR+Um({nnIaAQj(-5F1IJ2D8Yv~05x0$eqsD1{+h(&soTrUtXDdKN)o}o zr}XLbWT7EHj6Y59u}=;kvp9=%Hh-}(N4Ht^ipeIvU;KH|jF4Yp?qK*$4GkRrOVPObXJx{s~T3(`7`R+tQ~R()aO=#B)2$i4BB z5%c2RR2eSdy3)!U$Urljxgq%rZ{kTXv2dKtpynuj4|4V@+PuS(oz?3sknY*PVWV<+ z(OA0EYzsgc)kJ;P&Ku5}$;|C@D)8}JgvmL|8>{;9v1RXp_ucs7(;^5Up(}-wdPSMQeob5nX zOo%lYXx`EOzL0f0gZ;coaz!dmG#J_JP!mBC{^OFFqCZmSPIkdCe`ir0v4j}zF@!vC zzrvMWPsTnKef&GiKjmvw5o!n^xXKShUmXg8uJjQM2?n$Rd@y}XTrOy7C)(eh8uKH~ zvDKN=A_9;CwKkK%%#Jjlne^;@a|qPB+~KTK)3L2nY1?!!;{Vh*Fk~fYb?|0HKLeS; zw3rG@_GBa^>2Qd7qFZk=HywBZ7ve2b(pcWC*zZ1zB0eVfVPhxi3H$vbFD z^M%*vFM%NZX6ml()Q8c;(`W-;P(G##Lgw#+1dFTEMfrF&e5^7ar(4F<7|R>CVC_KN zp*-E*@;iO8whQ0`l4Scy!~!geHi^RnfyD`X4_>2PBSCE z!{+f@iFqWr+M7V1?I=C(!aI3U0v%CEk3;Rai6IE1~dUc6v`|^l;Xf#Clb|c(#QGNTj1Hn8*L$F zbTUs#*}c8lhb?Y^U3_{ET05K?K#PLredqG%+P|u8^yH;BxbcO$#F~ivcr>f>F^S21 zssBgk#MiY#?N$oaaxdm(Z*ew@TimrTg??V1isMc7&<7+np|ktd>KC*yuJ(l%!+U+h zThlTG9jVg;H!w7{J39M!hHk?ztUcgEW0ly? z5X3Z9d}`j>Bc})U0%gMJtZLl3bv@o|1H@c1^znIIT0KiCtA#z=SSO=Wm2R)?_D2N- zNq^8f*pFssDY$*9H{pZ(=?c5Ca^f%kW+F#?m}DZC_D6ra05A8M z(9+T>>7P`B&?0{%&`$esE~sT*N?*2&gL+stnSHY1jfx!;lM}|)p`I6l*x}_SNW`6E zKNp?%>dryt^dNP{eytS}6v61MaKX80PAYPeEQ&;lVMrI_%~QET9Ta*#)w-pY!w(nY8dJGbmiw)Q`0ssYHy!Y zKBYeX%8AqR<4F%Hna6%atL6aR;6^xW)e?NZ@YSc$vPYTZLZ4x!*KGi}H{jj0KPF(; zA5x`l`Fupwv0U{=f(TB{ zX#5)eM~(^NyxgQ#2%~Xt9mjrpUAgtxx_KiLo!uxewMDO{i8IwbKj#%ci}apy!x!!O z91zlzdYQ3D8!D6`w|i&dda#eB+TI%?}JD+MvzYUD{7^5*oX|#_{If4@T(Jly@LLuH03=?REeT zjnEb0fAe8v`;PPMTB2mZI@oRkS?fjzAJ(f`)joA(YG-$1szP5faqk%#A9>@@=m~yRQ_^yG zc3^lMzP?e8d`G%a!*)m*7lvnPIZ+0NTbdZp*SNTwypxon$o* zGK-x0y>e*m)swkFAR3Na-ft)kR5T*Sy7BpMK5nD@t~w`YuHzF-<{nrDI4k#sH(Qo&IEG>p%w3&|+KE8&353e2B9U^~jwwVifU2=KXc{%Xtik ztK#H8Q9fN&b((hpST3De<&i3*>9)>ew~HZRy#yz3dHtrwWd{|JYN&|*?KlTs6yu@d z$JEuUZ2ZPM@eQx}4_&tF8$iqx((tQ?;X4n8%Ssu)y&J8H#dBu!fG~Hv?+Nml3R42?$Jk=^0jR%`&!Od?kn)FH5DcUax8sW#^iz?_AyPg%g~qv{t25K5w@+2q~vn#(z39g zanD7KyZqWKh;S zw=+@FwdfvGOJ^woZAT|$OzO#>{onB>KEVFZS^oc9toNTh|37*DfAakQ6%g95LWeFi2#%1o|B4Vo{Or6!L;{ z|4{#YeqzP==(05`r|746RPJ2Pr&^z{yCrncRmC#aA6c2^3-67K*3OspuJZPGi?eoT z8w->ydWf3ue=J=)y#!1-18#Rl1AOk#x-I71gOOKqU1pp)r%&>&EL#+ZN0o^gGECnG5=fZUfIiF7E@0@M&Sh&Fb{tQ9> ztyFiO#(|bmphq2xKenGm(rA_ax#&cgtv#G~SbXavPz-aa0Pjqc3d_1@O0h!3Jb>6^ z7?8#nvxbnf^x5X81%EpK-i}{`P4zm&i>Mc=vrgkCZ#{0mVZ$bYCN5pdfP{!m-iV)k)fLkMCO z65Xib!7WA{#z3V({&kvOw~s`U4a9Aww_kXOIai>8Hi)laxHr)gaBSpw{*KEM!XA+_ zt2$=XC;8aUfF~T;8x&SAuVQ#5yEd@kn0m-YJr|NgvYe)P+AnZt<^&ipZ&Zg3H4_c~ zal%UTdg4>L^FMLEzWX!kKXLw`Oyz$=|LQ&bseH+PJ=QY&9Nm3ojR}nK0Ngww3$UGVRm(w~vs+OZXceF{EKh zTiUzgU5>@)1)T<2ZPxNt;*^0~aORe_u&#QSG)ip*YiREmH-?l%sPm`u&p)+LyUfFP zU}vT-J#~v8UZ_#iha~}Pml4f(Bwsojrjbd{{|4=1ZG&JR6gL}UO@`{|CrgAOJeYIa zekEBD%N{kHs{ttsxeQ-keRThoIfB3C2Rr>|sQ(S}$bdPMAM%G)Ux+_E!?7PSCYHhO zWNs`XWB(yujqivD$5Xj9(F#2mU8&! z*!01Usi9 za;j4JP?w16U|!UP&4ZLb_e7log?oOcW(p^A;@fj%z0!$e$mfJ3$V%WJ;-6oE-(<8e z1L~9b_ZKz+`y~GP;Xa9feSHl3WE76#Dq$e3Y!;*vio0p9mB29k6nupvr0G{-Cb{3A z7ufwJr+Iq5(@bX@1Td&q@+$>UsQ3Sb+6Ma+{uxbC4_Kz*l^74XUKplvt!AeKn3ap7jL&*pz>#0B3okwdG+I3NCnT#h@NB7|H% zW{bm{LPoGB;>05@1w2Rhxq!0>E7lx530Ud;PnaYBbB1D=pS-s*{4E@6hF{#}H>gf=8NYLz zOsO5_@!iJpTQt9f=-vwZMGmT|V zJ)JC-<*5o-+MwJ%hv7YNl9O2tNCVr;P2#(ggUTiq{Y#>q@&LX9AE@8KTKGnfu20$T zNM8t%5(TjWE7gy&uiJuLO!JI>gPy{Xja=Qy(e)~Be4{s5{PSrDw*qnn77xNa*!-_^ z0GsD-Sj1mvAuakde>2jlFN$Ey@HAhr{daCfOnk$pw6d{^Aykza%`%rNhd!}x@F~}7 ztS_9o_*9S*f~voIP)L%{42GeDX0DNo;f-oXs~f>alj#!{Xun!vc`z-U_gMpF+Xlml%Ul*AFLg{`u5(-|P8h9~@>y8a|2$ER;|r z^ywF_$+x5gyzGX4Qb@t2j5d@d*qHD7nPUVFvLf6V_CL=r zz?rpY`$1OspdaRF3TNeX*yibEt3DRafEQ}Up0qJ=n}ukFa5Uqop_N8ZBBId9BL&Vd zAIPMH5Mcwh;D$1xPR*uQv$Z?s%PsGfWR5&Yi9;Iqbl}wQN0@3I4#)P6~Y%OyK8L*5_DyJ#19*RC<4yx)j-o z0RL3k;Q)5Yl)(T9wt7B+A6yAA!AyD#0m?B{-YtQn{p_i6=e9f1Nzna6GSmZ-8Ima! zQt@JaBL&bAL{$_g!%g1%fCVT}J>y{9s z&P}5zMg3V2NlCpyEg(Gu9QKl^QJ@4~Lj_9a%9jQ(*2oeHi@QbrA?9a*5KklyC&(mH z5UV48{oeM*kch0?me`bddKc~)*ud&+ zeheD1L~>%r*!=a)Xy;sedB%cV(bPs-MX@S`NFxNHkr9lM`Wsmp4r&!Kh5Xd1HU#w# zuzz@e8VJ#xe%7>j^H^i~Qa##2hM7NNhLmWLv}|*5u!6Ijl6or-|Kk1WV^)f0tJ8i{ z>;H@QXJSe%CTCG4ob*HK+AfJ9Pvk~JN!bWna?B~`UxL%7juq$>GZLkiE6r#8FWz6E z@JrmBWT-j{4wZ=7KfHhL?tk0yB1!`9k}|JB%i-`Uec^9lc!f# zrQdD}`6!ffZA(N6RYnw)BKva~<%|(k;R+<6{zT?HA79~+CZo8})x|I=Dg07xN2e@o z$4=t8EB&@$FRuujBO3Ti0g}JCkA)YF9n6fzsE#oq4LP(wg7+Tf>h)7EoXF_ z&<{MKgaRRwjVq3xu?LJ-a>r2yp5eoJ=1BM=*Zvy-^002iv3j5&n(S|$!RxpB@Ys%r zql`B+AKkaaWQj*26`ZOM^T)^OMgB?B==ZUaaolN(3FdSuErN-5`>p2=90v=IbWofE zJlYx$#`q8KY?evGYr@R7A;f6Sh(hiyuGWVk=Zjj*Xzfs_TXXqFoAHeMP>M`t2@W-% zmct711kN>|-6xzTFLq@3 zOb=~ZU0bj|nXX@}srSi=*BQkSZ&i)SvfR62;?ep>n1~r|Vuy%?Hq+85QCdU#^wjjOl4`uwjTqBSykNcmFDBl*Gv)RNW~S2tg#wj6pEh!v10-r1B+V z6J-W#>8G+sv6qKopEc6mLSV7$?#h%uRgxus)pui&AtU~$Uoh+Q`m^ZQTqIww=1le` zHXk=dzV#2xJ?MLp?f;?kgUBmPs{^y#TTbl(^HkTLE!vFwX8wRAqf?CTn>PK#oWYgC z4ROj$6!SIyuXfH-4Xo--4YN4EjegE8vr&GMu1Fo*71(Z=C3{BwAp}}8N=T;<`bCjC z57GoFSKD`Tx9WR7YZL|oLWQQ9re0mAoX2x8x)CX>z$95bp%U8jtUtaQVNfJ!9&(xO ztACMYvr52Jq9@K##JA7)j#7_lyM%sE8@BpzM^}>nxg4LMSC6An5!XYe3sEp^l#VZL zVdDgsniSg#-&Ol`{b7w`>i(>`+vasgIU=5CIDf-V<<~LO7ZdQTh7DdO9-jzc!Y#q1 zlnAB(Ba`I7eoNdY5X|HJ*Onm6wCFi{29Y;j-{lnv3%%h(O}OtN^eFllFX{Sdg1p4D zKZ)tjJIvsWu3I%Kl}PUVQ}mgS6?g6;Ob1~dU5MWwt83k{TC5bzHAQB=<5v(?EiNr? z?QDyST%F5h9M_5$VqUo*E1jAah1TC5W$Q@naUAa1=&eSARW^&T7i&xI{JdvN?@t&y z`^LdEH0r>One@^IR>C%pwcPXeD~Gr|h?ZJ=9J*GE?z80?Bi@+EA{jn=gi7Z?PgL)9>CAyweQ63^ZX5&gCX9mzl4kQ)UN!2nuF6 z6Jit9PT~rB2MQdc3Xtp{btMPz3PWlZsX=CE-=O6G1^Z(>E^niup>7{+uVXPlFfkaz zLMDnNQD}#6m}pkUT}Iw1GZ5$=6}7w*J;-D|BQ+e8!5EwC8XGr#N0d?%kJTiU1GJ|c zq;sb{b)>#`gV&)H_agz^=ktP}L)+d#b~-=OLBDy_(}EMf-hKVhK$-gan1l(=^H&t@ zD;t_=^>Z1gE4I#S&Zq3}5k0N*GRFf;Fo5_nIJq72UMc!liBSG89)%|$K!7bSNAVJJ zN=74t5~Kc43?)CEAY}*{RK7P$HO-~jFUVcksiCgP%e(^MEg5UE(;EOsJO}ip9`PsA zUpBQ%GT%qaAqd|FFz78l2zj14HYkgHHbg)uV0<_C?-KJk1T~m648yjqS)i`YS@0nQ zPsX!nt(_KZ_Flje{#(FKJ?s?KmQ-MyD_bL&{;Xo_LUYsDofCW?`;1w^_y3~(!QP94 zJYO~+#VcM{2@xQw;0n(-b?$p;qrK;ZUWk&Ca&sKX&jE8z z|C{y?{NJ=c_b2Ud=XYsiC?0czbkuqA^z2=fUHPke3k*eONZ_wYD%8-wX#YLz2B zvN9nwUp6|SOjo-pA*wk0uKKXuzfDJzS=N86XI}-_zU1?*!Dc7;Xd^zq`CR7Abv`w% zntD8aOny)yy+`7B3T2C*+BdmJ6%ZB>z{B9xw)N4X3sMmCLq|{uRBGFsK@;lLh&^6? z{r$IWBUYk16b0#%_7{h zTcOJ~h`S16e~9Ml8Lq*awO%!d(=&lar>3k2+_**vdkw39zQ;4BY#Mx z8^KEa;EN4{fhXstrHUH=O}3-|Z9jnm!EyX@pH zvVUmD(B?t}Q(kWM8wt zWK)4t%y$-eMr7TQxt9i*=B>$2y_cgr_CpTc4Wm3RkCa%6AS9&o3R*AN7!1oyfcWk- zYK*H!ZE%Q$rBZ*brHyOR6IsrY;?+o1;2^sdKPoor#s6(pmOyFuQqRaTVk^Fg`sxV~ zQG4yI`o#30R?Q#)N4Q*-g9Y@Kz8hzH5MfN#soYOT-$MRLp8A9|Tr+!MzP}lt0w%$>ke7VSgUvR)Jj{c9JJ`aKR8u(tl+?M z8F^x@W#QI{yxIb8QN7tBv-uKW?CXjYbyP_AkTgb zK}(ZDd~;@cd~J4qR!i#_XN#balz`#(i(G~SNtuSLYyEOs!?h|RyMI^#QN3}nf}WzO zTl97I%wNYuN*wDkH#fIe>PV5e4mJ}L(Y$hKL+UGb=+@Br~5*$ZF9Mv zvWo)loJgUaanS|tDhJWjuy6mF4f}_ODFR@=}q_@{VGXWqCeUg{B9>zhmqk-D10t- zQVM#mjd`C7Xu47ZQOx_E{n^ z516NJ*Yqyv=0rAlcx}tci>EU;9&X{Z2&>;4F1zk2fELXsg5tA!@~ym!}|}virg|E zc;j5REb_zGgG&iB5n6OCOb9rOdk*(6`F*{#&c|`+-n^bWR)qT25?N_+^3|x%mYQd! z;!%(EaxCs~Izw!(G8}HiI#C_$J_|!fV4dY;3b54E7uDy%ilTd{USr?uS@lWz`9 zI8m-zKht1eCnJATe~-pz;cm7v-s_oqik^j9SWUyM6YErP+DlZzTf{t8(oS2xP^~37 zurog=NnpTBK4fUqh`|rUu^o$;yP$0bETfT#O>qOJhXI_ zVWYOTmd+7`35iAxcXl~t>(cDDetxu0$Fp&kqC3OUCiBuC7zQ%dY79hddwq55nnP9z zvc#5OITnA2L`5NpjKnp2YUyd-Xs6K1Txh-LZmM`8pgmxzYh$%8&DduzH|CcsazXYg zTxkKRcntUT8aR)!YA?=M?_L2pRSQsgiQBnQ+f90Ir#T;1N>AgdS5z`>O)t!NL1iWf zvz?Y1jq4-U{iSmzJq!NkpkP{2Y==Rfs|+jEheL3U9j}#I?JSzp3(xLzYv)|Mi_Nxi zr()*=^;+Vim38BEmj(_3%=@Xbp2r%kL+S7{-_CDqAe9R8whGs!`-QAcb|{@wU|1)M z{&wA^ta*Q$7%=NjNAYQIAZU*B#TXsQ&HKu2sdoyIY79iD!@yi|*xi)ynlCj$MAtt_ zP)%0l^`bIaR|=9jXI@?;ve!8)?y7;hb;slCr0!Dtz2jd_3s?lkyXjv?G_Mh9iD<9U z7xs?_BHNf)FJWnBvA6Eu_cNfv9|L<2s_}RVC7ayGXqO^%d#MH0Up8b|^ODlONr^e5 z;&?UL?RT|PeR-0DbQCvuj71VlkRM2E00`9lG_4<}$Y_c2qxjm%vL`slqh_aSyI@_8 zlbF5!IUmUVHQGDcD=v`wKl1^jGG3JbnGd98l84$$+1queuklrk)24;x{;Fr;{P<@+ z;QY^gAU6ziI`E(-+(fQ_wq&~`O?bPmcpEuE#><&_diCz&Ub#jyKOjx4E+7m{t}zZ! zIg;!78&Y&+d?3)IVy{WGCn`kJQ;Y74ASaw@QGno1B(A!`l;H@E7)qzYLyLL;ayhck>AhRNPx(m}epymmtTyVI*-nS0 za<1WSLe7qV-Zm|3>b*pyQObO}_4`iVq~&9p9k3O#v$qXuy&@@d!#tC9?PS8>YMSrj z^-nA7zCf~!Tx81Qy(=fRpt0m3W zc%i**fS+Yv?c(s*x-#5bu{$0FSuxapaYC*ppZOzGUfqi3n5*n|VV>2gDqUsFshGRj zav^mCRmj`rh9p%8JZe0aF#SKfV z9D05JV!YhQU5}8|Axs^>kB4ZT0URSEpB#9T9pCN`hlK-q!lq8Uk00PW3teC=oDDBw zu$)ZHW_XU8$Z+kWsRnqpHZ9X~AMo!L(d_`R(YRxsD_;L_n>?gBo+wKvnU+2*LwNoA z^?=q7EE!^Ts-f}RD(aj*xEVo}Kz&e(NX6uBk`WZ0(*DT1v41(i3^eqlQLVR8QC`T- zn-+KI?J17;i!(M;6k|fx{3zbW`Z$U_k+J!!jyZb0eRm7i2XDxolpT6cf-XMu7yg^D z?Ym{yIQc)d(uT#i;mX>nEqzDl!2VWnMkGclF_P z=vDIM>p~%8-sgTw>Tv3JOKBeRddRo% zwq=FJ<&$_FFB6S^AgH|phb|CyIgi&Z_@H`uOGkTM-TrK*Y)SwQ7nqPnu#Ebf=>quJ z?*KO_b8=kVsVlSo5<+G1ydI~3S=uqTpjMJLP77Lfua5#!pZJ^Z#zstBj5Qu=chG-q zEma5v$zoO-N2jpA&j$A`(~!t9i1<`-+Y>I;DLtKr)pD~$FZh^wQMDewD=*fVY^daV zyEL9--#uw<>^%%x<2kz>CkJK@M5jDDN_OJ-+_ui{2-e&=sR@NHQV#~aEz6-V6~i*pj;VL?ke zrS^-Acg6=<0J3iE$DFEMTzx8|`JH`cGSji!nB%Z}{-9I{)4fRNstE zBWxQj!n~JJ-P|va{BuwL~V7%BbHE}}drI#ugdu^G4hutvRb^vYo8!FWr z7H#xHk)#Bc=WYJM(|U6dk+q|S4~>J&v{M{VxbsJwI^4uJO^+csADoRl|#Ut&{N0c+}WQ3S)(tBT@Ui6BfNR{hm}; zjE{ORq&{By8t1Q~pR2qvd0F-qx}=M=p=?5d z2xoR4)1V4(^6S3#F&m2{$tXq3Px9)~Sg#>#dD=;=Dg$caw+|cr?WKQTos6Q=YS#}( z8siB%d-KtE0|H|tH$0=4lG#BB7hJ!Mim}R6g6m;knxogyJqw*iuPG_lA^oeauPxGq zbn0}gw=adgPz!Q!5AChE)uRPnjJrK@K*ZVox!=EUxZRE)xcs-`21nKp-=1f$!_#xq z#Sy)2^GFk32_>D>8IBjG7L*-86LsonA4YQ#?Er#~x|YY?d6p~Fz0>U^GAf|zq>o(7 zPTlFi-HcLRUa?pF0nRR`O+JrfH7EYu`>i`*q|2>?=*4;m$?@|WInfrXcYCpF9V*dP{z{14E#r?`bMc{J~6P&!?sZpY=hI2l~gtr*@a2ozp?g9vs zC^9M5m!hSf6(Pyv;r$@tE?1c8K7Q$WYX-FxIiG&iszrcnOs!NU?!liZxbMe%Bg?{B?q)R((|X1G>pYyv9W%}d zlSrngDdM(XIjU8ey&zJ{a8WTQH}D!h)zlvXHG1f}UvSGog{c(OR)b1Gp@YH&mXfb& ziz_cio)artJFmT79)RCjlV@2huUg023u9e+bQ1wyiE984%bk(Mz^G@xWEG+&g|dOe z7Tyuy%BAbXur*R9xJ$XKhgO>fMNM>(N|Mj@=tR2+I4TqiK*shLC}6Ql5h+{f{B=+1 zwMb&NbC=S4%L}j*Pe6ko6X(6)@tp9UEIr=9cDbQ-%dBE#tap66yZv0He*50XqS-xq zg`QDKs%acnB-bC0v(^(%VN;>ev?=58`D3c2(+!@hpV5E3QT^f1>8hB=={m;S?tjAd zV-|Edkprsp3WKU^!=x^$PPFlEdF|uuKA+9tEPH=M1I)**w0-CvPxAxUxjj=mPcBCS z?_GG$J+qK;sz5a^V%f_FItHW}uIZL6v=0GQRU2(5;Od?@mv*{v56f0B0VUdx>9{4U zOs`Xyi}(VlpT7Sj#UcA|Y$bPWpzDFAEOm3Oxy3+xZ_zpdmEbi!WwlkhbrGO0X*^@~ zQ}QmYI$b#xqUFZx7*OK)kaO~hJF%eYj6UY0GLj zWmm1&4Y5+bdnE~P^}^bZNK8|C3Ugd=9LH-CoEIYinE z&Uoc6RC2#tBP%bDgUE57DpeW|7X*AKW@>2(h`Fx`<}2XUZng^bQ|JY?X+5)~&OpLGs>h@#f`cG?o z(w0#UoMD@pjXK_?iq@|p*<9O)PsWBRg~-tW5Ok>6xIvT&)ObOKYP(a-h#XmP9v zl={%q?M=H@&OwZyVMo!qEh(wZd&0Z@g;tFE9K59x<+{g zC5o*5&QI&l)5R=o1Qs&UbHUp6||Kl)?KI>{&A_4C{*u^HlRn{6iU7VFx<@~sq0 zWm72*r)q8Uo%2TJ z(m&+Y81|LL`mVvQD6FlnP>mdJGq<>QAPE$2@9A-P*Pe549gJ7MsKu^AAan_*d(1WV zbHc_F$ci9&+jUjAu5FdRt2Kkpp8@%X5TI3Ibm*T~*q4stiStg|lp9IyVbie^^b+vX zgC}sswH;*G1QG)MtM_cLsfRiS4Ie-6izy5#Mx)gIa2Zw%y+=#yoULbQUDz=zz~P}< zD7*y~?d#b3F0yA?PNV4<@b9?3DR9?4+d1|S7#nUJ7-C{;JV@*!HUoNoGUoOCrjk+2 z)Y{wNJoKU4Gp2ba?+a2gMRaQV(b?K(H;0Tkl??Wgq}x$b$*qQi<)Imw6#5w5K^zxP zCVtl_$Ep1|Cs)*?g^Kxrk5kKMB{t~|g_}CnuxxL;K-}yK@n7TMN!e5Ga zD%_@*W;vwlu8km640 zZJ5HlGfy*IeqB0)5WDeZt{sOCVqDr+c6Q^VyJv5VbnwgK!=>S%*IxH-w%$vp+9a3J zsk85{1d||JtGh;?!2hjGf`22f@UKjQzcLB_$|U$Jli;sRg1<5e{>miy-x6^_@|{KoD6}O^peT)N3~|VMqYC#mFX~&BukXFS8oBQ8DOf zdvxjL1Yj=j3_K|06nABLBWt9h~Cg)(=p(Og3% zn8GQS-;`*F>{4ijlVquH|v3Z5h|4Cg|ExcbUw4r0z{o?hK$JU!NoqgJ=m z#6EZfp>9bN9$s@g+C^a=b^ajbl%W7mLVzhJ4jpxuDCkgA6Q|oUFpmgetu3*5R2LT~ z%PO((QNMbRau%utf1%S`b(zo`M?)Z_TApN92Asw7?o36yNH$ygfUje~=Mu^Rw=6el zhjBAh3Y|cvB%zx3YE$-Hzf9hf8~iH}MFi(GOBq|L6J|`^j6B&=%n(8=6z)2`vr@8` zV$CAbubM)Jf=h_v5%vMDEfg1AH+xJ5yCDqDoc#hJ<~~43kRj49MFs-faD(&;WzK*- zoJkmJ1-&1$p_rBG@cnL9pc$T_9^zKWO$?U)OFmXuBP6I)p||3a5hxq6sFSvtBD|Yr z@~R)&dpjDk{V%Ni7Vr$q>>QSH@a6;;aPb#~w+wLm&9V^u`yUu>JrLQT3-c)0Q1O7K zV9LS@hht>3U;8x*nIpqhYUNn~Y*in#O>$(DVCDrCs3KQ@3`#-@?H7=0JXO`f-2S_n zhgef-_TUp@jT(jfYMxc0*_?x(N&NHT3S1Y7YOqR6!rq-oW8e`8f=oa|r?TMNu;i?7 zSZo231?6L7*ixTNf}<3bV3uO0q0_9gUYXT=#}Ye@c{xO!W)8YSDNN749Or0{^7hXj zhUgMWr0oy2k#>ANL(?C9B;hE;L0e4j09{-ZyeI1@=1NmcB!BdsU#yD-(mee;x|sX8 zh&kVwV#FST;Us2rCQW2L+_`Y6W+C$z)Z3ik6#tt{)S(B%*W>r2rV$md?OA;$WJWUL;_#TK06h7XRE~qT$>(arucCf`D zr^3ub8f6WGu_WRo`L2 zKJ*wuaJtt=NYH&GZ_aw+?@!y_=wZd*Gso$^J{$1U?JT6YskRfHhm$AqaEjV&t4BVW zp|AnF!-^h*) z+-XWDvKf>USr*5EE+6hAYsHH=ateFs@SWKDE(#st^#lqX+4UU>!ZG+oKe>L2ERMc# zP%%8cq+3)_sbm}d}BLME*b0eR zuLZNX!H;9g-ob!RwNFfu!w|NopcW;ctONEs2~}@ECp(G-YT8-jvaFBgjbAER2<8zL zO~y#^C>FsdGsobGX=V~_a(#oqi|etHj#x>PA}XAGFU40_MV;WGU`|5!BkQe!3dS3- zgv-2fQaa@PaWpz)az%2r3_9*OshlEKn74`_O7^@;(UJkuWP8X3mvHF1VO~MP7~vn! zDA%!yB*F|f4e|;Tkm4c|>?AOAt1Iq}@a6={a>??9`w|gu9A3Wdt=NP>j~G;;5!+1- zdsXx{m2v&LZ=9tQBbN6q1<6b7FsxLwqJWH7!u$>j6av~oFsGF2*@Xv4u~OihIr3rS z@f33}$tZPuRnNRX*j32%2c-I4P{hj9VAMFI7+<}R6mw{)uvV#Z3X))y!#EcrHqAd{)JdVI(Ci zA|0497BpCk-r@_sP{G2MDNs(N0!1SV@^6u-pH-nJ$KT8s!Rsqznm86W#r$>n1|Kx7+* zOLT=t#0mL!7#rY%bFIUDVCEVff_~__$0|bVgvatN;H~z^+%Fpeo8y%WO7@|Q7AcWT zYMVnShX@XXc1RZf_~kyGh~kArg`fsn77;)bitXy%1oyxTxXYLIam-TtWU34@g~}K7B$lO&=#)^mFrv+eiQO}Z2@p+@VtyG! zDul0?AZ#xY9)Z-WLJij@8;;_K_EsbtT#z&|HF&#IG(6imBKDj`*m&Ge0RnyZMfTgR zidY1s{vu(!5<9$&AQ(|G_GpQ7zeqoHaCmMa4c?4awb++yrlA-mL^gPKbRF_DzHStP zRJeN*RTF#SMTeg_)AS|Y6$@IuilpJP8m8dTlDmFKYS5*iWf(J2QBd|^bcTdSh#H2B z%B3IXsK;=ZSWn1)ZNy%m|H5kabtYSE3?!@=QnjOhc+WR3MlF!flQMX9bqTtU7sr)< zhN};G2a(TC71dO*uFjKrrf+CUEa;sU@8VLtc3p0<2g4BYY$p|W1RAQyJbE@#vM`dT ztxJ`bK`fby2RAo_%#hSNoY8KSa59EUV2+kCALnUYk0uotr#4Ut&Qu3KGMn8!6V5;3 z<#0?}cu+n%g>3LHN)K7~tRKo#Aue#$R~7WygBNOG#z9o5L$6zxi6?CDLa7JF5xvRD zZ8QpSKA?>8ZnW$R?li%-uO$?Q?(k%N?H~uGgE||sJF8D~s>lwFkyoA?DQcK=FsROv zOk{Y~IqfGO`hR1}-H%YQ(riB0NvC|O(9Qm~dV2g2^{HCmy2vzJl=zd6_GkLi4nfbo zFY6~A0{mKGE_YbN!$V{vg9Vo9q^~Ga<$Z~p_RxBisSSE3MUn>nnovorkj_3<_uT3D__9|M=|^za%#G{K zakgF;t+;0381TYfn|I=T!G3JT&Yb za!52{qXsCelJfxH3~g}?0}Lh;t}S2{1_!|jtxa%B6-TMd?NOOBG`u((6Wo64p$3&Q z^z_^mU9@uw7}GEA5JMhv&6^qwIu4%P!M&s1ukZzQz1J!oX-4!1c{!L5dvk*TvNy=F zZHXdLSb6ut;{?nRLACc>ITRf*F_ws40yOa`zGO6|K`LQ)X6(6kHV}-k9;ss6VSUVm z#a=K|5rk5hc2J`bZCLVTDU%;j&-5n(O~FK;J}vZ--o+t*+=xF5qYnB)AL<3&)HjO# z=@mohIF!}GK6>u(koN_(CdFPvmX#*xIQY9&c!jWO7ueXX7uNHR{@k2Ryci9FGQ)vY ztf!HFaFDN~V6&nL-||bCSGTpkRYmE1LAjYoY!K&|xdh%O`%;sF!dOr~JdVw3h{>^*Uw4Q)h;=t7eQ!VV4z_}F( z83kQwhJta62sZ2dln8ZjXg1`w(OAOV7S}pM{fE|4MCYmDZ$BbyJk}F;-nE{zE3fd% z!q?tBWjr~f-VngzBdjERMe#)ger zV|cTtk-qJg1Hmqiw+u`9W3>-waS(@IO@24XOqnZ8Sre`z1#H zK(25JmyMJiE3%Kb`}+KvcDPrAzu1CTRu~a{yIxE`%GJ64xg8@82gl_0S{>%mptEZL z!5A88y&$&&Mag~bck!)>Ckhg#wlDMe2nTPN{A>r>W^!M&i61KRM4QvntpqDuXy7?w zh}(1<4$P>YUs}PZ0UYz)JYg(%7gymmr-HU+ht+1+?iKOo5ASV0eeCl50p#V=^}JqP z5)o%a))(G?vC;A^fZ>tDJX3u0<#7 z+8xDtE#qEPjj1B>O7&zjzkzEnvK-0PgNAyE?3&^pHA!kFA;HXY*MS8$%ZJKgTaNwH zIb!FieGel0l<#W1z8Jpe*JlawELtt$jPRGB)6=eu#RuP}y$g7hv(FjAD!@B82Pl+R zKv)r~QNY%MX{O8pB2VNPD&76KyWhg5_9^8|*t2B&q2yrZh>Y1DD}MP*Y=btRTFH1^ zpTl_jVF;c#wby0@uH&u*sqLX|$xhS2t_o>>vH2TwSQ#HWQUF+#M9GJ8@=gf6TFhmC znts;NZLT%W#F?eJuBE;uvAkHeECroVpSNpEcH8v<&LK87Dhm@cgd^EQT{&S8*pX zrKTt3=a=&CNR~*-vDN!tk!8Q7^I8YGi*& zta=NgT4DZinTeLvMjV{?r(_Ph>Uv>?@10KX&+QOV|~@NjuwYqg;^;HdbD9oK|wN$qtk+SlVb!O93_J zma2PXo8ybxh4xXu^G5@{`kQWOE;l>A@S7y+=xQJRaC)p$*MHGhO0~pU#CBxkwhTHo zGOl!KFKUI8#Kq$}&k)v!WZqlFVP60A@!dF)q=qM(*ED4XRYVQZ34j};ti5-j!u(>U z|LXR0$A+!-pu3|g>)u+)!2Pakx3-JJwS)cyXJTmlOC8?BVzHvr$=6@?ztuzAw``$% zM${ZKN;sz4PfWI-d{Ync+!SgOWPn{1jO&LsJ99Rfj(?1J+!)Rf*j=fp?yxDD*J!NX z7Vll%iSz-qDx)i-FHlP-Bj~>TFvlPVmPv3l{7swJ4z&ZmE{+0+y7#Fro-Xs@0L3hb zC)1zDkFEBxOT0dv)^x*ow*jIVZD*;}1*t~s$kHI=(oW*KLHm`f;p@?(#d())j>U15 zecfq~H6Oi~mgfr5h-$DU$Mt>la~Uw&&z%f$x9ZAD;*DxAuTe#9U+lDjgEEzQm~oOFI#y2v&^#?VO(pA~Q(?rfg=DD?@7ypf37 z`f$-2+wH=YkI!V_KsJAR%Q8OWgdv1u4w^wW$!UP42wzk-WV}*%j)u<>n?QL&po>OQ2A*-hXNDten>UDxc!L z)a;&`8?8y-=mYuTfeycHY4xWu!;o4{HQ5QMr#@IV7((vW{t*SPtF(&;n#)yUnA31a zoF6ETbWIKJace`yS+?8O%LHm<>hddY_Tx%lOr48ARAEeQeGMpLlsQJk&?TYrdH5)9R`h!p=u0 z(7|WPH-|@(?clf?eo__}6Sta8+K=d8dpn01%g-qCL;K@}Xqk=vREL4}sVID%B1E(} zccZ>_sx}mHRA`O8ON;N;fd=0a$k4EUGXTFe7kPi<_DIOy|7(5wTsAg@qDlB}O3hlOMS0KLSFx7tI%U|Z4y>Mn)Ss@#?dW>^vti>-_ zSohSS`V5kd1YA8E(;{m?-%+eF=+;Klw>~cho&`tZTfjcy{Jo)g0<-LNm$K9>$rc%J{UHADnzh8)c^S`TX~u zJ;T;|?0tbB)x(~R2M>=`Y3=8>e8c$0_nWZ`9acH3wm9@(6)TUFz3%T948JysucyDr zI4y_-pCG`m7>BNG8fGNI!mklv>MnLt@=P}#b|e{M@aF%@RnOd#?=-%iG$@qy08#86 z%|MJ^kUYb5D1CXBQhaf-)~iZruB4kU;kv@^P_;HjU8to?q0SN zMpV`anY&hdL7L8NT*}!!IPubmr2f%?<3O}sOd=xV6960-#1i(9nzW@ zTyU)wE58zgVz^I1Z}W^~oJLktso)mQe%RI4*rvTbjxUZR=s=p`I3hZ3@(z!0h_Bu3 zhc8-^yu7Tq)Lv;Ay4M~OT^i&~uBk)tO{!QkK8Z!fXOd<_Zcf~juQSlOq7TG$Vsbg> zrmT0mEzH$ADg3T>Kv6Bi{gH2*mxS#sNpW>MzhlJ}-&^^(u4UVM&kxOtDNsMD>(;Al z_%Sa3@IEKF2gbKTGvw}lBO3pnH%D{AQXKYV*mhkh=G14{8dO*J>DKaLALlCn{Yr45 zdY_yUf&w$b8FSZ(=`{rQgAUlOy6zco912+Kku=i2QYju5CWCGi61iEJ9>g?L)pr%r zh!+`a(6`YVkAJ?d%N_I`)1 zOvcd0{VdtzgPvOE=&Up0yigq;d!=)c%2d=X&Eup)?0#u&C1P9EkDj+Pp#~rSy8QAx z9^Q#vQgY{jql@e1Y8@vJYWrG2$n2-M`*Zs9k@cH`M+VF7R=c8u2v>y{Y=OE15~2t$ zN=6hsq|B2nqeBd%FWdUMrrNt^sQoMhH9vpMGXLC5a}C%5BWayrnVmGPkAom0Y4SV8 z?qKGa4>CR=!5#M0ReEfS)cSBKKs?-YuNf)$Bhp3>lmSv?4M{z+L99jW)xPbZZAbj# z!&-yF=2IQ;cEN4rETsO1o_ex?WUr*#gHaI!IikSgN`)xXtdl}`;ndLA| z_fTnC^nVo3yP>)H9hT zv^XlSMpN_qM&|`YLk{h_!6kQtd*!qodY&X%yV<(pqst#M)OWS@cjZSTx=6_01|;c~ zK7p|*>)Q*d^^mr*(T+N{e3W+Q0r5Hw8Jh%4U*wFU*h8lo2Kir9*e2#c9R6tdhxgJ~owcrs)?>b2Ojqq8u*e5^iOY=VyP=n?-c?%e zx%s({U63BlTceeOoipG?hLa&X=^Uddp5J{8uS3$#RAF^|9GT%VoPAUy_d7x9xgQ7F-%S=CMYzWM5j>gIIDyP$ch41L&|hg&%hHSCRc) z+=9q9+4KdYl;bz6!zJVb(d$JBhFCIb-{SJBHD_6qE*txxvO_m0KCeXz8v?NzO zE#rCId#T7f_lBQf(Dx3g%1bSam*=XVKt-2yvb&o!xk?NlYH@sq8aX@1Q}4O>E-JPL zsU$c${8Xz_5g%rv=j3#jp|164pi?qf!RL@M_`pH6^rBgzX)PNfdRIdpJJWl6Y@y}G z`L2=T42Bw}1%I(NOx3JpvtUrFH+tTo!L98eCGhjc$Qg33OXzz6tgS=yRbP}ZP4Q4(Sv#wUR@ToGk2=OWJWlirv0Uxyj zN?evfx?J~y23YL+ABn1`x;C;;ai6b)1z^&WPW8G*b0;fx98J2lxvP7>uRiVP&p0UO zvs0l%gesN;=SG!WA<8s1Md{<7dgw`dj74C1uNtQ>0a@L0>+(^wze5vGokoC z1h@K0Spxx#fdL64-an#L4o3J=@A|C|V)*k*u}!WrUii~3IwP-eo9w(R`LdMmveR26 z5Vb?94meurDxTRbxKKVf>2z6W+(68sHRLL7Jxu(L&{N8DB{MINe6oSU~!a~+>#+Q-K}?p90pt6bbB@whCXBs@BHkJ3I<23aHDa zyS0x?vNxPQDOQ{F_n2Gw1iY8LTwd!A?dwK!MUUcm$pGfl-#(&2@%S30H5t*@& zvkA=s_qtV^vukWK%vkK;Qg-ISa|m^$NlC+(=Cmb>EpYDah$8#-#}-9+qBIT5qzw5C8`#)k}0 zw6^|N_$5U{VB`L%dG|%s_pxbD0x8{cO98$n@7kAqm7k6!d~D!5pAUbJxm9c_SX;E^O1&Plmg$SM@Gci=6jB)?z=r* zEn=l}I&CsjoQ~TN)^cJACW`U#Oo#W5lmuGbEsh-be|#h%PRxA$bs*NMJtB=dl(&KZ z!E3E-CJ+RzX?UMKkCX{jug}hq*M|I=OyA#Wagpq|t`#m3`118ods1(QT`3Q&-=?Ri zGzh0?CG)YmsfQ_c$B!pbV2*&dLfa#LpSSa$BrR|{^>yKVx_F#tFI4jT(er-cbwX7u zBI7+4r^m)}rb@yC}I6g^vV65 z+aoB?HlqDfbM-CfX4(!X==Elp(;tR*m$JG!9HDtk_EP!XEnS@-tzV|MuC}&wUstbX zo}2D7SWkC$pIsKXZ@qET(TCU&&BgG+*o2MfIf<tZ=4)VK>-ZeNAqd991dAy0xsWpXUN}b=r9%i7q#|JJt`hTxUU$r=f zSH-6iNX6DoXCAq`L^*AuHTm(vQnsP~peXIK$^+k5M7?UOk0bAW6>*;IW%ok52eQcb zC$N7rO8Z}q+4?I=`>!bNzoNANiqifoO8c)U?Z2Y5|93`d_kUDWDDLkCZi0bfcZsjib~JECKgFkP zLMAD9;P%p_F&#>^sORMAnli@2HzkKlc$-$=@OYpfzb&Q#KD3*09OsQoYh!cK0xAT% z#cP`b8sU*)dtCiXEh-45yf^Nb*@nb~H+CnGb)m%`PA{{-q+afze75eMEFHb0jBw{E za`HC~vl<%c^4eyb#_XbXQ&=J@zk5yBLX$_OiW-f1nuh5)4cMG%0rahL-xK#!QaJ4ld?~#*UyEH79)|eJ6b;Lt6)920I5^J7WhYb5H>% zD=RZQ7pnmmmpHsoXl-O@7pd4DH4i{*CO<{ZNo@}? z7NWer$MY^X~@L!(euul+S0013Gb{!qR9vu??XqY!Dp)1 zbo=;gw7@E1;!ffb8T#c+oV=5Oj0D*QAr0&)h|N4L>Cg^MRjUN2k5*fbKIa}{2@>N) z)8bDNW}^ySuqSLCCDhT#cj%F-$Q9HJRZ=+%Sv+*%ojSTj@Jxpvs4i)>*|%dv*pkfqjGnj ze1fp5*O#8cUAc+72 zPZuH)a)k^I3y~QhaR&&HxPkzO1fl|vVc_*bB*2X!p&-Da!2m{os|cQ{3Z<-K?BHl_ zYr_phKmg@eurqS90vLgeKmd@Dg^`sJbc;bk-_eYlUf+S0ja`vV)REK4RGePKU0n5z z3B4M+Bx`(o)nBiL?fRz{@0zzg0p*0`?vK9~kk&y`r0S*CyhP1P~g){s5 zF?vhyp5O$)^*pZMMhp%O8kaE;5daSZsSE{!38AbAd;!3GzCgf45;Zq97Xj@RQb`*_ zARYkc`8FaZnyafTqY`efZ*6UzNJWGI z#5l+Rb|4T4`1MBv2bl$Q_50<2*DwOW$^JM2pa%mP0FDX<2mnWb2ml8M`-<{ncvHkr zt333)R`13hBd=tU>O)xZ#qbYOE*dpGq-($Vq8ACw`n=WUG(iy&ix~(=fjAz~F<&Bf z+!eKeL3Ed>NzCjngUd_2h1tgzcQ4Q0>aS#w&XBB^&pqNAjbmu)-l*ZSHHi;pvENww zPL^@`hi80RB4U zlE%Hae120Er_+ZJrK~D0U!}6SBJr@e;H0*zP#^(&^eOA(KAbMD>l+A2a4_&3Lx4U2 z1@usfP{F~UprAktDFlG}e2w{h4Gn+<{Q(d?-#~%FhQbot&n~@)8wdb0D7-5uc$s!? z-HQq!c`hc0!UbUa{qqWcUWcH^01lRo(zLREc(UQ(=wbAs^~%9ymU&ay*`OqJ|7>b* zS*0>#a2SiG9yw7@3qwY2bAm5WQcNw8%^bf_d{3p@{WHd_sejOlFFfyu?K-Mgq|JPl zG~rjePh{(fK_t7z$Dyk$?WU5I+WQsobo*3?ZY|yd^yjryY}UHr;5Cw(8Q{>LKJ!tw z57zj0oZ5zT-x`_i`!jsl7p}dHBwjK&ZIL&vwQ4>;C9yt&oY?Zsl+Fx&#cv0R#iSJz8O!F}m&6c_`1U;krL|RbUadZO`FIXh7Mgw9*Y$5V z-;xz->0#l98Moyt3T_d^n6gjK{@S`fG3TEk$X{FcudVyPdFw(000B_Aze!yvcw7SA zsYVlLMUiUT1bMhW3LV7%R;deQ0Rotrfy~cx7bJC=Isb48aQJ@}{y+c|2WU9W+-tSufO;mF<@!lr7YRQ0aYHvOa3fR7UwJ95nN zX0=>y(Vhju=b-a1rgGJtSCM0+l;rzxM*MF-wx6M5Ty#aDwr78TrEulg)Er!H5a=ir z0K3Wg&ccy&6xGO)H$5YtrRV`~g))BZR}mZlJ_MSnJ^;qE82v@;!U14FViy7&>>ot) zGh-v7ghB!!z`)VNfLI+YBqYH7=Vx$mC~JTvfa2#h06YZO%*n})n~BNR(9!NsWDX$m zdo73%j^An->OXTm$3InM`uVtjd(e`i&qPl|h|$o&3E=PlJRlM%4}cqhJCie$J%sgV zR}NOJ|7t&0|Jau0UvK;7c?hIX5`fnLP8ft|A|CQ!1qJ~HpaanS{EiUd*o4mma|BJr z-_u$q5qZVu`TVUVzru5etT~YUQb}X2PtJK$WT2C?M1h6QvFYX#js}(xlQVu@#Yn35Y9-7ef+LYw0rAhWLdFqA~IiD7CE(xymSdpI-CqNT%3X`lI+}so+g=0X#Uzqu;iuD&} z{)L%;Vdg*Rkbh7S|H91QF_QztGf95qnb5iS?(*qZ782gg<#w&_(f*!i{!b7*kf{gA z3F4gWznglPL1ryxj^8*a!0FGV6BB?ATKZ6MmXzDCkEijZd;{fHumt8Mh?3Nc(I9zJ45_qNrvn0ZtGy#> zAIj@=Xfw*@JbJub6LguT!YksJ%JiNd<#6#=PXhu~rMq_JjU!oWS^YE%c)&;OOp&Z%>c`8Fw^@ze_1wKi z#1&~@-s4=ocX-z-^rR#GM z2U)YU*f6V7@MiQXLQvBE5nn@lpX-<4&n7U4@i4em3vcK*lDukv(#|f>Ott@s&iqrp z^Ed0y>7aek{=A~SV0)euHn^KWHZN{EtbY!~h}yj$f^`AaV!^{%>(Z zI2agHe$^X z`AhwxDL??g{tgFzp_{G-h9s`~CKXar2z?rXYkjHb6&cFB{84WmcXDG{+0(R{ZT5tG`*)Ksb3`xZmj&(HrpZar!O7SUc(1&77U^*S|gyBWe|E-J3|! z-}k;@MM`{kSv7^fGaN?yinWcyS; zPDc>SL%d_-L^lo77bj+)Im{CC)Ns2o^JJVNA)Te;8Pv?SwBZ3~eJ^5` z)%=NIgJDd#M1?8Ip6U`qPd*v{6`+{xC#oz%dc^mj}J{#F+f z^S`e9Ut(&Zn|1rNN#|p$&=kJPWJ-<3!QsZNmL(^P6@xvXi>};^|forCQhzWtFteH!KE)r;8J(LIKQk|f= zI)Zx-%9Aq+S;z4mwzG2KP|zbywe&n(0X^Biy!iBp)OdDToK7J=+9w<2f1@?^KLiK$0txxsub zek`X(UBsQn*&#zx>o0sVUTUXf$1x-!7M%p2Nda&juxFR)RMgm#`7o9>WVWFg*7Mmq z3tQoQ207TA1S5P+MEL@P`W>oHa+M zldlK(PyMk+CZK;8z`q0F-wN<=0)WQ#yZaW3R3HX?FR)8*2BSmf4D;Ir#sJTg!cn-0 zHY=bRrh4>f7~mfPaLIN0pAZ@lX#bfK0P=7`1%QJYDLt(_&+b1eRRe1}fD01CpcgzM z&EnVUzD}iWi0LMtN#EM;*~f(zuC%-$nHI#LK_=&x6JRy!ds{D4>`L^XI-_J;x+40{=GLp9Q3U9xgY? z_6y=Yh?qbcLt0Xh3xt#OXU$)`01ffAtplmPvy+*vgSiJNWWm|dnAFzB${nP^vOl+l z#AN!}gjCta+yxZ1p>OqDRKs&1k%_tCFZw5`(64Yf_wV;#IdFRPIdsawSr-guUVM5|(}*M|pVo_tory^b^w?IzvF}F`3;o_|jg-!jAaw{v<`ErF;Kbo0LKcFj=#3s^97n@W; zbjfQ$7#-RI=+AK;(rC5C1tDO`adQUJ84(O8bzwg-eaP>2Oa7tU9x7tfuEyM z!r(~FpAvbPSSIP2!Rv)^iDG@u6OKah2sXNbg3I z8olZs`>avL!jJO(udL6%0^nczk5LnU4y%9xSpU=l!I7Z!0lHb*nVJA~fGR*48{XXd zIgriN+yw9vKmve;fu=`+gusWwir$*Q5Bc&w%JSQYpT(pE?ki6`MgS!?`ENR;m942Q zBWRtPJA!t~bA%3)i{mf%o_qS6+Fs*&Yc3(4p@=cnu?NfS0y~xni}!as@fWR8>iW72 za{HC3=jI1j!$BLF8*dck#ol_hdb>ANFB#u(~xMCpxyb)b0S#{p7MSBVYpGb@v@JCYxm)W z$?FRO^if&I9PigRe20a)29u`(*Q-vd^tfsMRh=~R9}@HI_P-Fdz@nc_Ei7$Co=h>9 z1#YXZN4K_Q6}R#cRZnv6&6H_zzp)UAZZokmEZ&{V#lG+#OTa?$9!g-H8;`bg^!H5l zX-?9g6$?#@>DmtgbhEXdJbhCR3zR;Fj)Sp3t4oTnJs1kmKjqwhlbA%O@gAf#a)JPi z^f&PGgf5?yG*b}0>I)xF#Y_7Kt?~c&&Hb!_vIBs>DxAM~j6wcmP@vXN@N)e#Hvhj0 z6dC~4uP96Mp9++J!EM~Ao~Ew+CN0uI8{a>BU-`TY{41~h7v^Ya%a9amFy=%H**+sI zY1+n)Iof*01H;O-5dlP%m}>(9pZ$E;^<`fjYeCM*SeP9lFL%O$fv*Iuvk9^1Cr4J- zUq5m&`nFToxp8#`08Q2t&C0)U7APpdiD=>r&lRs)&G$UwG1;-A+bRSx4f&~p5x zYoq6`f04T&?=cgA0YINgn@Jr)`KL<1{(tA6vY5dE~#0!JjOm|0;Gm@0Br3 zvEpeli#?*OO}@!@Yqy=*TUvZ`p4ICgc2yAlVq1{*>$dhq_MD1QkUfBIiC7=Ugj5A4 z3GcnO{n>S56Z`{Vta#u0_xF%@gE36g2v%||2h&yYy)rR|5?q2WJC~+y!jpKblM=rd z!PLU{MJuWb#W1ZA%gQbGqq$iL+nm&NUF&PT{ULX0`Tk1Eqvd?)0di*U60#6=L-7j1 z`JmgGvDhRSD!KL=Ms=+lh!fKx1ocOj!uThzxrVQoXlX5@~`97F#{Hdf!-yejX(je?) z`H7vATcr(yumV}&NonE+_#-u(h%R!_|yIgLu^BYf5kXi$7mWTp(1*oN1 zLZ4r=Ynea8Tgug%6{Gn*xYo)BOI(7>2sPU6OXl-m|! zwX-wC5Q7YDZ!K()xfGy{wemY|sl>54mQC+&-FmjJVyI`GRC%FCdv|_V(iitv2}bG; znvsS7uN<8=&7m%1S4Xd53QSPQ3Lsj6@|o~*6PH~RK9m-nP*qc)kipyd2^S_z>p_~9 zWJ{mS!^P;%K{&u|>(HxKBp z*S8Vb-gZ{wv9ru$WZ=snr~SKfi%n5NiS4JB=j{;a^vcEzA^g^6pFz|YUVN&V=wB&S zPN{uizLv_(;k2Yif+H=`&IT8**`~aMx}d!HFx=ED<(;FRmbVfWz8z%tZw0ggeJ~vT ztK21=KY-bh)5Egg51vIYobqQcgX z{ekVaEnfBlKS+Z+U+#l|(GXec#(!T~eAL!iEyuBQSaj%GyHrw%c3oV=laZp}=baTh zR>|9-G)@l0mR|14%rKKVQUMDJj?P!?h)?YhlH>HI$RESBmQl3Qw9r+VB6r9=@EcVh zik@yVsKkn_eI+kodR3h_Ub>u*k9soHW_-0vefIt?<+b_7IGJH#pM+O~J^kE!CAU*M zFN{gE*$UPA$S(|Qlf4?UMgBiJ8L_?gNM60O??1X0kOCj`H1(^#*d4PeypfYQ&|!91 zGSRBmeo0+UsAyGQ{(VHXxK-7=sI2fdgV)!ujzIBomJj{w?U1*2S6NVzQBoT2^V_4? zi*B*=#+NJZBSb!bcBofAQDk2hnku|uYDl;_l&Hceuxix=*_|;S!AQ6O4y*bxva5tv z2VbygwDPyeE*zXf@`A)hb{KUH4orSHE!fYyz`=t;Bv2elcy|H~PVsV21+l)GMc;yN zXjKLQn9}6sG%Yg_@9B&p?sfVcHdFLgR&*vh5PVTCWDnvG0AxP9wf%v&u2*q18JU?y zj?}dzgzI~Aa^L@NMISOTLn!c<0_497g-!xwIZcnifGftq_01jTi*C!_I<9)HFTz2G z9pf))7PO*lo$CX5P5OtE1Kt8u0oevVN=&o@`ACLWP;^?ExTC-&g$JKr)~XIfXtoRJ zKt30EctV;iE|mFL;FP zZ20T?6FU(D;DOTf3vWs^za(ZVw904pb|%i-fI9WEB+XnJ6XCaMgJ;%O?E@wruZ4JI zkcpx9c#vr#KJ~p(1--$k&ORB*R~~fddt7`d&~b*kXxXm?$hC2AmcU8DY)WsifU2W>V~}MRkeJWEMbX0b~|H{((pt3m}68qR;U-7C>eJ%VA2$jf4fwucrzK8;RReS7*@s8rs1g9XNYO*SOpr>ei=t(lMDpWatpzoY$%E^Wm+AAE`ZIZ7hFRB0!jf5LCzv}4;~a;(k0Mx zz6hj=!f?J6#-6yKb)Lo+#BP@sAz=vGDNfr>^h-17$!Isw_ar(^>vKW%C$JV7tD2XW zN`VK2V<1R{z7Zq{o)_-syh{;~cokK}@7y;IZf^7nJI)wc>{ou>9}h;-RG(R4h5bKJ z0JZSw6^4Ng8ZGIFOTdOBz=rhJ)>2krC&+S-L7J^ zYQxLfNHJMu7>l)dYFJ*+xf0Aj69`hB-cjH`#dn~7A;EFt7*hN0vd!N(h!`b~3c&t> z1d|m8z>1qK$7?NRKU={#U}Ui=iJv{=Br&s*n!zgHqYF4kXS8ae(N|JGYsR^F%|?pJ zD%y + + + System.Runtime.CompilerServices.Unsafe + + + + Contains generic, low-level functionality for manipulating pointers. + + + Adds an element offset to the given reference. + The reference to add the offset to. + The offset to add. + The type of reference. + A new reference that reflects the addition of offset to pointer. + + + Adds an element offset to the given reference. + The reference to add the offset to. + The offset to add. + The type of reference. + A new reference that reflects the addition of offset to pointer. + + + Adds an element offset to the given void pointer. + The void pointer to add the offset to. + The offset to add. + The type of void pointer. + A new void pointer that reflects the addition of offset to the specified pointer. + + + Adds a byte offset to the given reference. + The reference to add the offset to. + The offset to add. + The type of reference. + A new reference that reflects the addition of byte offset to pointer. + + + Determines whether the specified references point to the same location. + The first reference to compare. + The second reference to compare. + The type of reference. + + if and point to the same location; otherwise, . + + + Casts the given object to the specified type. + The object to cast. + The type which the object will be cast to. + The original object, casted to the given type. + + + Reinterprets the given reference as a reference to a value of type . + The reference to reinterpret. + The type of reference to reinterpret. + The desired type of the reference. + A reference to a value of type . + + + Returns a pointer to the given by-ref parameter. + The object whose pointer is obtained. + The type of object. + A pointer to the given value. + + + Reinterprets the given read-only reference as a reference. + The read-only reference to reinterpret. + The type of reference. + A reference to a value of type . + + + Reinterprets the given location as a reference to a value of type . + The location of the value to reference. + The type of the interpreted location. + A reference to a value of type . + + + Determines the byte offset from origin to target from the given references. + The reference to origin. + The reference to target. + The type of reference. + Byte offset from origin to target i.e. - . + + + Copies a value of type to the given location. + The location to copy to. + A pointer to the value to copy. + The type of value to copy. + + + Copies a value of type to the given location. + The location to copy to. + A reference to the value to copy. + The type of value to copy. + + + Copies bytes from the source address to the destination address. + The destination address to copy to. + The source address to copy from. + The number of bytes to copy. + + + Copies bytes from the source address to the destination address. + The destination address to copy to. + The source address to copy from. + The number of bytes to copy. + + + Copies bytes from the source address to the destination address without assuming architecture dependent alignment of the addresses. + The destination address to copy to. + The source address to copy from. + The number of bytes to copy. + + + Copies bytes from the source address to the destination address without assuming architecture dependent alignment of the addresses. + The destination address to copy to. + The source address to copy from. + The number of bytes to copy. + + + Initializes a block of memory at the given location with a given initial value. + The address of the start of the memory block to initialize. + The value to initialize the block to. + The number of bytes to initialize. + + + Initializes a block of memory at the given location with a given initial value. + The address of the start of the memory block to initialize. + The value to initialize the block to. + The number of bytes to initialize. + + + Initializes a block of memory at the given location with a given initial value without assuming architecture dependent alignment of the address. + The address of the start of the memory block to initialize. + The value to initialize the block to. + The number of bytes to initialize. + + + Initializes a block of memory at the given location with a given initial value without assuming architecture dependent alignment of the address. + The address of the start of the memory block to initialize. + The value to initialize the block to. + The number of bytes to initialize. + + + Returns a value that indicates whether a specified reference is greater than another specified reference. + The first value to compare. + The second value to compare. + The type of the reference. + + if is greater than ; otherwise, . + + + Returns a value that indicates whether a specified reference is less than another specified reference. + The first value to compare. + The second value to compare. + The type of the reference. + + if is less than ; otherwise, . + + + + + + + + + + Reads a value of type from the given location. + The location to read from. + The type to read. + An object of type read from the given location. + + + Reads a value of type from the given location without assuming architecture dependent alignment of the addresses. + The location to read from. + The type to read. + An object of type read from the given location. + + + Reads a value of type from the given location without assuming architecture dependent alignment of the addresses. + The location to read from. + The type to read. + An object of type read from the given location. + + + Returns the size of an object of the given type parameter. + The type of object whose size is retrieved. + The size of an object of type . + + + Bypasses definite assignment rules for a given value. + The uninitialized object. + The type of the uninitialized object. + + + Subtracts an element offset from the given reference. + The reference to subtract the offset from. + The offset to subtract. + The type of reference. + A new reference that reflects the subtraction of offset from pointer. + + + Subtracts an element offset from the given reference. + The reference to subtract the offset from. + The offset to subtract. + The type of reference. + A new reference that reflects the subtraction of offset from pointer. + + + Subtracts an element offset from the given void pointer. + The void pointer to subtract the offset from. + The offset to subtract. + The type of the void pointer. + A new void pointer that reflects the subtraction of offset from the specified pointer. + + + Subtracts a byte offset from the given reference. + The reference to subtract the offset from. + The offset to subtract. + The type of reference. + A new reference that reflects the subtraction of byte offset from pointer. + + + Returns a to a boxed value. + The value to unbox. + The type to be unboxed. + + is , and is a non-nullable value type. + + is not a boxed value type. + +-or- + + is not a boxed . + + cannot be found. + A to the boxed value . + + + Writes a value of type to the given location. + The location to write to. + The value to write. + The type of value to write. + + + Writes a value of type to the given location without assuming architecture dependent alignment of the addresses. + The location to write to. + The value to write. + The type of value to write. + + + Writes a value of type to the given location without assuming architecture dependent alignment of the addresses. + The location to write to. + The value to write. + The type of value to write. + + + \ No newline at end of file diff --git a/src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/lib/netcoreapp2.0/System.Runtime.CompilerServices.Unsafe.xml b/src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/lib/netcoreapp2.0/System.Runtime.CompilerServices.Unsafe.xml new file mode 100644 index 0000000..b5dd21b --- /dev/null +++ b/src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/lib/netcoreapp2.0/System.Runtime.CompilerServices.Unsafe.xml @@ -0,0 +1,258 @@ + + + + System.Runtime.CompilerServices.Unsafe + + + + Contains generic, low-level functionality for manipulating pointers. + + + Adds an element offset to the given reference. + The reference to add the offset to. + The offset to add. + The type of reference. + A new reference that reflects the addition of offset to pointer. + + + Adds an element offset to the given reference. + The reference to add the offset to. + The offset to add. + The type of reference. + A new reference that reflects the addition of offset to pointer. + + + Adds an element offset to the given void pointer. + The void pointer to add the offset to. + The offset to add. + The type of void pointer. + A new void pointer that reflects the addition of offset to the specified pointer. + + + Adds a byte offset to the given reference. + The reference to add the offset to. + The offset to add. + The type of reference. + A new reference that reflects the addition of byte offset to pointer. + + + Determines whether the specified references point to the same location. + The first reference to compare. + The second reference to compare. + The type of reference. + + if and point to the same location; otherwise, . + + + Casts the given object to the specified type. + The object to cast. + The type which the object will be cast to. + The original object, casted to the given type. + + + Reinterprets the given reference as a reference to a value of type . + The reference to reinterpret. + The type of reference to reinterpret. + The desired type of the reference. + A reference to a value of type . + + + Returns a pointer to the given by-ref parameter. + The object whose pointer is obtained. + The type of object. + A pointer to the given value. + + + Reinterprets the given read-only reference as a reference. + The read-only reference to reinterpret. + The type of reference. + A reference to a value of type . + + + Reinterprets the given location as a reference to a value of type . + The location of the value to reference. + The type of the interpreted location. + A reference to a value of type . + + + Determines the byte offset from origin to target from the given references. + The reference to origin. + The reference to target. + The type of reference. + Byte offset from origin to target i.e. - . + + + Copies a value of type to the given location. + The location to copy to. + A pointer to the value to copy. + The type of value to copy. + + + Copies a value of type to the given location. + The location to copy to. + A reference to the value to copy. + The type of value to copy. + + + Copies bytes from the source address to the destination address. + The destination address to copy to. + The source address to copy from. + The number of bytes to copy. + + + Copies bytes from the source address to the destination address. + The destination address to copy to. + The source address to copy from. + The number of bytes to copy. + + + Copies bytes from the source address to the destination address without assuming architecture dependent alignment of the addresses. + The destination address to copy to. + The source address to copy from. + The number of bytes to copy. + + + Copies bytes from the source address to the destination address without assuming architecture dependent alignment of the addresses. + The destination address to copy to. + The source address to copy from. + The number of bytes to copy. + + + Initializes a block of memory at the given location with a given initial value. + The address of the start of the memory block to initialize. + The value to initialize the block to. + The number of bytes to initialize. + + + Initializes a block of memory at the given location with a given initial value. + The address of the start of the memory block to initialize. + The value to initialize the block to. + The number of bytes to initialize. + + + Initializes a block of memory at the given location with a given initial value without assuming architecture dependent alignment of the address. + The address of the start of the memory block to initialize. + The value to initialize the block to. + The number of bytes to initialize. + + + Initializes a block of memory at the given location with a given initial value without assuming architecture dependent alignment of the address. + The address of the start of the memory block to initialize. + The value to initialize the block to. + The number of bytes to initialize. + + + Returns a value that indicates whether a specified reference is greater than another specified reference. + The first value to compare. + The second value to compare. + The type of the reference. + + if is greater than ; otherwise, . + + + Returns a value that indicates whether a specified reference is less than another specified reference. + The first value to compare. + The second value to compare. + The type of the reference. + + if is less than ; otherwise, . + + + + + + + + + + Reads a value of type from the given location. + The location to read from. + The type to read. + An object of type read from the given location. + + + Reads a value of type from the given location without assuming architecture dependent alignment of the addresses. + The location to read from. + The type to read. + An object of type read from the given location. + + + Reads a value of type from the given location without assuming architecture dependent alignment of the addresses. + The location to read from. + The type to read. + An object of type read from the given location. + + + Returns the size of an object of the given type parameter. + The type of object whose size is retrieved. + The size of an object of type . + + + Bypasses definite assignment rules for a given value. + The uninitialized object. + The type of the uninitialized object. + + + Subtracts an element offset from the given reference. + The reference to subtract the offset from. + The offset to subtract. + The type of reference. + A new reference that reflects the subtraction of offset from pointer. + + + Subtracts an element offset from the given reference. + The reference to subtract the offset from. + The offset to subtract. + The type of reference. + A new reference that reflects the subtraction of offset from pointer. + + + Subtracts an element offset from the given void pointer. + The void pointer to subtract the offset from. + The offset to subtract. + The type of the void pointer. + A new void pointer that reflects the subtraction of offset from the specified pointer. + + + Subtracts a byte offset from the given reference. + The reference to subtract the offset from. + The offset to subtract. + The type of reference. + A new reference that reflects the subtraction of byte offset from pointer. + + + Returns a to a boxed value. + The value to unbox. + The type to be unboxed. + + is , and is a non-nullable value type. + + is not a boxed value type. + +-or- + + is not a boxed . + + cannot be found. + A to the boxed value . + + + Writes a value of type to the given location. + The location to write to. + The value to write. + The type of value to write. + + + Writes a value of type to the given location without assuming architecture dependent alignment of the addresses. + The location to write to. + The value to write. + The type of value to write. + + + Writes a value of type to the given location without assuming architecture dependent alignment of the addresses. + The location to write to. + The value to write. + The type of value to write. + + + \ No newline at end of file diff --git a/src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/lib/netstandard1.0/System.Runtime.CompilerServices.Unsafe.xml b/src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/lib/netstandard1.0/System.Runtime.CompilerServices.Unsafe.xml new file mode 100644 index 0000000..b5dd21b --- /dev/null +++ b/src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/lib/netstandard1.0/System.Runtime.CompilerServices.Unsafe.xml @@ -0,0 +1,258 @@ + + + + System.Runtime.CompilerServices.Unsafe + + + + Contains generic, low-level functionality for manipulating pointers. + + + Adds an element offset to the given reference. + The reference to add the offset to. + The offset to add. + The type of reference. + A new reference that reflects the addition of offset to pointer. + + + Adds an element offset to the given reference. + The reference to add the offset to. + The offset to add. + The type of reference. + A new reference that reflects the addition of offset to pointer. + + + Adds an element offset to the given void pointer. + The void pointer to add the offset to. + The offset to add. + The type of void pointer. + A new void pointer that reflects the addition of offset to the specified pointer. + + + Adds a byte offset to the given reference. + The reference to add the offset to. + The offset to add. + The type of reference. + A new reference that reflects the addition of byte offset to pointer. + + + Determines whether the specified references point to the same location. + The first reference to compare. + The second reference to compare. + The type of reference. + + if and point to the same location; otherwise, . + + + Casts the given object to the specified type. + The object to cast. + The type which the object will be cast to. + The original object, casted to the given type. + + + Reinterprets the given reference as a reference to a value of type . + The reference to reinterpret. + The type of reference to reinterpret. + The desired type of the reference. + A reference to a value of type . + + + Returns a pointer to the given by-ref parameter. + The object whose pointer is obtained. + The type of object. + A pointer to the given value. + + + Reinterprets the given read-only reference as a reference. + The read-only reference to reinterpret. + The type of reference. + A reference to a value of type . + + + Reinterprets the given location as a reference to a value of type . + The location of the value to reference. + The type of the interpreted location. + A reference to a value of type . + + + Determines the byte offset from origin to target from the given references. + The reference to origin. + The reference to target. + The type of reference. + Byte offset from origin to target i.e. - . + + + Copies a value of type to the given location. + The location to copy to. + A pointer to the value to copy. + The type of value to copy. + + + Copies a value of type to the given location. + The location to copy to. + A reference to the value to copy. + The type of value to copy. + + + Copies bytes from the source address to the destination address. + The destination address to copy to. + The source address to copy from. + The number of bytes to copy. + + + Copies bytes from the source address to the destination address. + The destination address to copy to. + The source address to copy from. + The number of bytes to copy. + + + Copies bytes from the source address to the destination address without assuming architecture dependent alignment of the addresses. + The destination address to copy to. + The source address to copy from. + The number of bytes to copy. + + + Copies bytes from the source address to the destination address without assuming architecture dependent alignment of the addresses. + The destination address to copy to. + The source address to copy from. + The number of bytes to copy. + + + Initializes a block of memory at the given location with a given initial value. + The address of the start of the memory block to initialize. + The value to initialize the block to. + The number of bytes to initialize. + + + Initializes a block of memory at the given location with a given initial value. + The address of the start of the memory block to initialize. + The value to initialize the block to. + The number of bytes to initialize. + + + Initializes a block of memory at the given location with a given initial value without assuming architecture dependent alignment of the address. + The address of the start of the memory block to initialize. + The value to initialize the block to. + The number of bytes to initialize. + + + Initializes a block of memory at the given location with a given initial value without assuming architecture dependent alignment of the address. + The address of the start of the memory block to initialize. + The value to initialize the block to. + The number of bytes to initialize. + + + Returns a value that indicates whether a specified reference is greater than another specified reference. + The first value to compare. + The second value to compare. + The type of the reference. + + if is greater than ; otherwise, . + + + Returns a value that indicates whether a specified reference is less than another specified reference. + The first value to compare. + The second value to compare. + The type of the reference. + + if is less than ; otherwise, . + + + + + + + + + + Reads a value of type from the given location. + The location to read from. + The type to read. + An object of type read from the given location. + + + Reads a value of type from the given location without assuming architecture dependent alignment of the addresses. + The location to read from. + The type to read. + An object of type read from the given location. + + + Reads a value of type from the given location without assuming architecture dependent alignment of the addresses. + The location to read from. + The type to read. + An object of type read from the given location. + + + Returns the size of an object of the given type parameter. + The type of object whose size is retrieved. + The size of an object of type . + + + Bypasses definite assignment rules for a given value. + The uninitialized object. + The type of the uninitialized object. + + + Subtracts an element offset from the given reference. + The reference to subtract the offset from. + The offset to subtract. + The type of reference. + A new reference that reflects the subtraction of offset from pointer. + + + Subtracts an element offset from the given reference. + The reference to subtract the offset from. + The offset to subtract. + The type of reference. + A new reference that reflects the subtraction of offset from pointer. + + + Subtracts an element offset from the given void pointer. + The void pointer to subtract the offset from. + The offset to subtract. + The type of the void pointer. + A new void pointer that reflects the subtraction of offset from the specified pointer. + + + Subtracts a byte offset from the given reference. + The reference to subtract the offset from. + The offset to subtract. + The type of reference. + A new reference that reflects the subtraction of byte offset from pointer. + + + Returns a to a boxed value. + The value to unbox. + The type to be unboxed. + + is , and is a non-nullable value type. + + is not a boxed value type. + +-or- + + is not a boxed . + + cannot be found. + A to the boxed value . + + + Writes a value of type to the given location. + The location to write to. + The value to write. + The type of value to write. + + + Writes a value of type to the given location without assuming architecture dependent alignment of the addresses. + The location to write to. + The value to write. + The type of value to write. + + + Writes a value of type to the given location without assuming architecture dependent alignment of the addresses. + The location to write to. + The value to write. + The type of value to write. + + + \ No newline at end of file diff --git a/src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.xml b/src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.xml new file mode 100644 index 0000000..b5dd21b --- /dev/null +++ b/src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.xml @@ -0,0 +1,258 @@ + + + + System.Runtime.CompilerServices.Unsafe + + + + Contains generic, low-level functionality for manipulating pointers. + + + Adds an element offset to the given reference. + The reference to add the offset to. + The offset to add. + The type of reference. + A new reference that reflects the addition of offset to pointer. + + + Adds an element offset to the given reference. + The reference to add the offset to. + The offset to add. + The type of reference. + A new reference that reflects the addition of offset to pointer. + + + Adds an element offset to the given void pointer. + The void pointer to add the offset to. + The offset to add. + The type of void pointer. + A new void pointer that reflects the addition of offset to the specified pointer. + + + Adds a byte offset to the given reference. + The reference to add the offset to. + The offset to add. + The type of reference. + A new reference that reflects the addition of byte offset to pointer. + + + Determines whether the specified references point to the same location. + The first reference to compare. + The second reference to compare. + The type of reference. + + if and point to the same location; otherwise, . + + + Casts the given object to the specified type. + The object to cast. + The type which the object will be cast to. + The original object, casted to the given type. + + + Reinterprets the given reference as a reference to a value of type . + The reference to reinterpret. + The type of reference to reinterpret. + The desired type of the reference. + A reference to a value of type . + + + Returns a pointer to the given by-ref parameter. + The object whose pointer is obtained. + The type of object. + A pointer to the given value. + + + Reinterprets the given read-only reference as a reference. + The read-only reference to reinterpret. + The type of reference. + A reference to a value of type . + + + Reinterprets the given location as a reference to a value of type . + The location of the value to reference. + The type of the interpreted location. + A reference to a value of type . + + + Determines the byte offset from origin to target from the given references. + The reference to origin. + The reference to target. + The type of reference. + Byte offset from origin to target i.e. - . + + + Copies a value of type to the given location. + The location to copy to. + A pointer to the value to copy. + The type of value to copy. + + + Copies a value of type to the given location. + The location to copy to. + A reference to the value to copy. + The type of value to copy. + + + Copies bytes from the source address to the destination address. + The destination address to copy to. + The source address to copy from. + The number of bytes to copy. + + + Copies bytes from the source address to the destination address. + The destination address to copy to. + The source address to copy from. + The number of bytes to copy. + + + Copies bytes from the source address to the destination address without assuming architecture dependent alignment of the addresses. + The destination address to copy to. + The source address to copy from. + The number of bytes to copy. + + + Copies bytes from the source address to the destination address without assuming architecture dependent alignment of the addresses. + The destination address to copy to. + The source address to copy from. + The number of bytes to copy. + + + Initializes a block of memory at the given location with a given initial value. + The address of the start of the memory block to initialize. + The value to initialize the block to. + The number of bytes to initialize. + + + Initializes a block of memory at the given location with a given initial value. + The address of the start of the memory block to initialize. + The value to initialize the block to. + The number of bytes to initialize. + + + Initializes a block of memory at the given location with a given initial value without assuming architecture dependent alignment of the address. + The address of the start of the memory block to initialize. + The value to initialize the block to. + The number of bytes to initialize. + + + Initializes a block of memory at the given location with a given initial value without assuming architecture dependent alignment of the address. + The address of the start of the memory block to initialize. + The value to initialize the block to. + The number of bytes to initialize. + + + Returns a value that indicates whether a specified reference is greater than another specified reference. + The first value to compare. + The second value to compare. + The type of the reference. + + if is greater than ; otherwise, . + + + Returns a value that indicates whether a specified reference is less than another specified reference. + The first value to compare. + The second value to compare. + The type of the reference. + + if is less than ; otherwise, . + + + + + + + + + + Reads a value of type from the given location. + The location to read from. + The type to read. + An object of type read from the given location. + + + Reads a value of type from the given location without assuming architecture dependent alignment of the addresses. + The location to read from. + The type to read. + An object of type read from the given location. + + + Reads a value of type from the given location without assuming architecture dependent alignment of the addresses. + The location to read from. + The type to read. + An object of type read from the given location. + + + Returns the size of an object of the given type parameter. + The type of object whose size is retrieved. + The size of an object of type . + + + Bypasses definite assignment rules for a given value. + The uninitialized object. + The type of the uninitialized object. + + + Subtracts an element offset from the given reference. + The reference to subtract the offset from. + The offset to subtract. + The type of reference. + A new reference that reflects the subtraction of offset from pointer. + + + Subtracts an element offset from the given reference. + The reference to subtract the offset from. + The offset to subtract. + The type of reference. + A new reference that reflects the subtraction of offset from pointer. + + + Subtracts an element offset from the given void pointer. + The void pointer to subtract the offset from. + The offset to subtract. + The type of the void pointer. + A new void pointer that reflects the subtraction of offset from the specified pointer. + + + Subtracts a byte offset from the given reference. + The reference to subtract the offset from. + The offset to subtract. + The type of reference. + A new reference that reflects the subtraction of byte offset from pointer. + + + Returns a to a boxed value. + The value to unbox. + The type to be unboxed. + + is , and is a non-nullable value type. + + is not a boxed value type. + +-or- + + is not a boxed . + + cannot be found. + A to the boxed value . + + + Writes a value of type to the given location. + The location to write to. + The value to write. + The type of value to write. + + + Writes a value of type to the given location without assuming architecture dependent alignment of the addresses. + The location to write to. + The value to write. + The type of value to write. + + + Writes a value of type to the given location without assuming architecture dependent alignment of the addresses. + The location to write to. + The value to write. + The type of value to write. + + + \ No newline at end of file diff --git a/src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/ref/net461/System.Runtime.CompilerServices.Unsafe.xml b/src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/ref/net461/System.Runtime.CompilerServices.Unsafe.xml new file mode 100644 index 0000000..b5dd21b --- /dev/null +++ b/src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/ref/net461/System.Runtime.CompilerServices.Unsafe.xml @@ -0,0 +1,258 @@ + + + + System.Runtime.CompilerServices.Unsafe + + + + Contains generic, low-level functionality for manipulating pointers. + + + Adds an element offset to the given reference. + The reference to add the offset to. + The offset to add. + The type of reference. + A new reference that reflects the addition of offset to pointer. + + + Adds an element offset to the given reference. + The reference to add the offset to. + The offset to add. + The type of reference. + A new reference that reflects the addition of offset to pointer. + + + Adds an element offset to the given void pointer. + The void pointer to add the offset to. + The offset to add. + The type of void pointer. + A new void pointer that reflects the addition of offset to the specified pointer. + + + Adds a byte offset to the given reference. + The reference to add the offset to. + The offset to add. + The type of reference. + A new reference that reflects the addition of byte offset to pointer. + + + Determines whether the specified references point to the same location. + The first reference to compare. + The second reference to compare. + The type of reference. + + if and point to the same location; otherwise, . + + + Casts the given object to the specified type. + The object to cast. + The type which the object will be cast to. + The original object, casted to the given type. + + + Reinterprets the given reference as a reference to a value of type . + The reference to reinterpret. + The type of reference to reinterpret. + The desired type of the reference. + A reference to a value of type . + + + Returns a pointer to the given by-ref parameter. + The object whose pointer is obtained. + The type of object. + A pointer to the given value. + + + Reinterprets the given read-only reference as a reference. + The read-only reference to reinterpret. + The type of reference. + A reference to a value of type . + + + Reinterprets the given location as a reference to a value of type . + The location of the value to reference. + The type of the interpreted location. + A reference to a value of type . + + + Determines the byte offset from origin to target from the given references. + The reference to origin. + The reference to target. + The type of reference. + Byte offset from origin to target i.e. - . + + + Copies a value of type to the given location. + The location to copy to. + A pointer to the value to copy. + The type of value to copy. + + + Copies a value of type to the given location. + The location to copy to. + A reference to the value to copy. + The type of value to copy. + + + Copies bytes from the source address to the destination address. + The destination address to copy to. + The source address to copy from. + The number of bytes to copy. + + + Copies bytes from the source address to the destination address. + The destination address to copy to. + The source address to copy from. + The number of bytes to copy. + + + Copies bytes from the source address to the destination address without assuming architecture dependent alignment of the addresses. + The destination address to copy to. + The source address to copy from. + The number of bytes to copy. + + + Copies bytes from the source address to the destination address without assuming architecture dependent alignment of the addresses. + The destination address to copy to. + The source address to copy from. + The number of bytes to copy. + + + Initializes a block of memory at the given location with a given initial value. + The address of the start of the memory block to initialize. + The value to initialize the block to. + The number of bytes to initialize. + + + Initializes a block of memory at the given location with a given initial value. + The address of the start of the memory block to initialize. + The value to initialize the block to. + The number of bytes to initialize. + + + Initializes a block of memory at the given location with a given initial value without assuming architecture dependent alignment of the address. + The address of the start of the memory block to initialize. + The value to initialize the block to. + The number of bytes to initialize. + + + Initializes a block of memory at the given location with a given initial value without assuming architecture dependent alignment of the address. + The address of the start of the memory block to initialize. + The value to initialize the block to. + The number of bytes to initialize. + + + Returns a value that indicates whether a specified reference is greater than another specified reference. + The first value to compare. + The second value to compare. + The type of the reference. + + if is greater than ; otherwise, . + + + Returns a value that indicates whether a specified reference is less than another specified reference. + The first value to compare. + The second value to compare. + The type of the reference. + + if is less than ; otherwise, . + + + + + + + + + + Reads a value of type from the given location. + The location to read from. + The type to read. + An object of type read from the given location. + + + Reads a value of type from the given location without assuming architecture dependent alignment of the addresses. + The location to read from. + The type to read. + An object of type read from the given location. + + + Reads a value of type from the given location without assuming architecture dependent alignment of the addresses. + The location to read from. + The type to read. + An object of type read from the given location. + + + Returns the size of an object of the given type parameter. + The type of object whose size is retrieved. + The size of an object of type . + + + Bypasses definite assignment rules for a given value. + The uninitialized object. + The type of the uninitialized object. + + + Subtracts an element offset from the given reference. + The reference to subtract the offset from. + The offset to subtract. + The type of reference. + A new reference that reflects the subtraction of offset from pointer. + + + Subtracts an element offset from the given reference. + The reference to subtract the offset from. + The offset to subtract. + The type of reference. + A new reference that reflects the subtraction of offset from pointer. + + + Subtracts an element offset from the given void pointer. + The void pointer to subtract the offset from. + The offset to subtract. + The type of the void pointer. + A new void pointer that reflects the subtraction of offset from the specified pointer. + + + Subtracts a byte offset from the given reference. + The reference to subtract the offset from. + The offset to subtract. + The type of reference. + A new reference that reflects the subtraction of byte offset from pointer. + + + Returns a to a boxed value. + The value to unbox. + The type to be unboxed. + + is , and is a non-nullable value type. + + is not a boxed value type. + +-or- + + is not a boxed . + + cannot be found. + A to the boxed value . + + + Writes a value of type to the given location. + The location to write to. + The value to write. + The type of value to write. + + + Writes a value of type to the given location without assuming architecture dependent alignment of the addresses. + The location to write to. + The value to write. + The type of value to write. + + + Writes a value of type to the given location without assuming architecture dependent alignment of the addresses. + The location to write to. + The value to write. + The type of value to write. + + + \ No newline at end of file diff --git a/src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/ref/netstandard1.0/System.Runtime.CompilerServices.Unsafe.xml b/src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/ref/netstandard1.0/System.Runtime.CompilerServices.Unsafe.xml new file mode 100644 index 0000000..b5dd21b --- /dev/null +++ b/src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/ref/netstandard1.0/System.Runtime.CompilerServices.Unsafe.xml @@ -0,0 +1,258 @@ + + + + System.Runtime.CompilerServices.Unsafe + + + + Contains generic, low-level functionality for manipulating pointers. + + + Adds an element offset to the given reference. + The reference to add the offset to. + The offset to add. + The type of reference. + A new reference that reflects the addition of offset to pointer. + + + Adds an element offset to the given reference. + The reference to add the offset to. + The offset to add. + The type of reference. + A new reference that reflects the addition of offset to pointer. + + + Adds an element offset to the given void pointer. + The void pointer to add the offset to. + The offset to add. + The type of void pointer. + A new void pointer that reflects the addition of offset to the specified pointer. + + + Adds a byte offset to the given reference. + The reference to add the offset to. + The offset to add. + The type of reference. + A new reference that reflects the addition of byte offset to pointer. + + + Determines whether the specified references point to the same location. + The first reference to compare. + The second reference to compare. + The type of reference. + + if and point to the same location; otherwise, . + + + Casts the given object to the specified type. + The object to cast. + The type which the object will be cast to. + The original object, casted to the given type. + + + Reinterprets the given reference as a reference to a value of type . + The reference to reinterpret. + The type of reference to reinterpret. + The desired type of the reference. + A reference to a value of type . + + + Returns a pointer to the given by-ref parameter. + The object whose pointer is obtained. + The type of object. + A pointer to the given value. + + + Reinterprets the given read-only reference as a reference. + The read-only reference to reinterpret. + The type of reference. + A reference to a value of type . + + + Reinterprets the given location as a reference to a value of type . + The location of the value to reference. + The type of the interpreted location. + A reference to a value of type . + + + Determines the byte offset from origin to target from the given references. + The reference to origin. + The reference to target. + The type of reference. + Byte offset from origin to target i.e. - . + + + Copies a value of type to the given location. + The location to copy to. + A pointer to the value to copy. + The type of value to copy. + + + Copies a value of type to the given location. + The location to copy to. + A reference to the value to copy. + The type of value to copy. + + + Copies bytes from the source address to the destination address. + The destination address to copy to. + The source address to copy from. + The number of bytes to copy. + + + Copies bytes from the source address to the destination address. + The destination address to copy to. + The source address to copy from. + The number of bytes to copy. + + + Copies bytes from the source address to the destination address without assuming architecture dependent alignment of the addresses. + The destination address to copy to. + The source address to copy from. + The number of bytes to copy. + + + Copies bytes from the source address to the destination address without assuming architecture dependent alignment of the addresses. + The destination address to copy to. + The source address to copy from. + The number of bytes to copy. + + + Initializes a block of memory at the given location with a given initial value. + The address of the start of the memory block to initialize. + The value to initialize the block to. + The number of bytes to initialize. + + + Initializes a block of memory at the given location with a given initial value. + The address of the start of the memory block to initialize. + The value to initialize the block to. + The number of bytes to initialize. + + + Initializes a block of memory at the given location with a given initial value without assuming architecture dependent alignment of the address. + The address of the start of the memory block to initialize. + The value to initialize the block to. + The number of bytes to initialize. + + + Initializes a block of memory at the given location with a given initial value without assuming architecture dependent alignment of the address. + The address of the start of the memory block to initialize. + The value to initialize the block to. + The number of bytes to initialize. + + + Returns a value that indicates whether a specified reference is greater than another specified reference. + The first value to compare. + The second value to compare. + The type of the reference. + + if is greater than ; otherwise, . + + + Returns a value that indicates whether a specified reference is less than another specified reference. + The first value to compare. + The second value to compare. + The type of the reference. + + if is less than ; otherwise, . + + + + + + + + + + Reads a value of type from the given location. + The location to read from. + The type to read. + An object of type read from the given location. + + + Reads a value of type from the given location without assuming architecture dependent alignment of the addresses. + The location to read from. + The type to read. + An object of type read from the given location. + + + Reads a value of type from the given location without assuming architecture dependent alignment of the addresses. + The location to read from. + The type to read. + An object of type read from the given location. + + + Returns the size of an object of the given type parameter. + The type of object whose size is retrieved. + The size of an object of type . + + + Bypasses definite assignment rules for a given value. + The uninitialized object. + The type of the uninitialized object. + + + Subtracts an element offset from the given reference. + The reference to subtract the offset from. + The offset to subtract. + The type of reference. + A new reference that reflects the subtraction of offset from pointer. + + + Subtracts an element offset from the given reference. + The reference to subtract the offset from. + The offset to subtract. + The type of reference. + A new reference that reflects the subtraction of offset from pointer. + + + Subtracts an element offset from the given void pointer. + The void pointer to subtract the offset from. + The offset to subtract. + The type of the void pointer. + A new void pointer that reflects the subtraction of offset from the specified pointer. + + + Subtracts a byte offset from the given reference. + The reference to subtract the offset from. + The offset to subtract. + The type of reference. + A new reference that reflects the subtraction of byte offset from pointer. + + + Returns a to a boxed value. + The value to unbox. + The type to be unboxed. + + is , and is a non-nullable value type. + + is not a boxed value type. + +-or- + + is not a boxed . + + cannot be found. + A to the boxed value . + + + Writes a value of type to the given location. + The location to write to. + The value to write. + The type of value to write. + + + Writes a value of type to the given location without assuming architecture dependent alignment of the addresses. + The location to write to. + The value to write. + The type of value to write. + + + Writes a value of type to the given location without assuming architecture dependent alignment of the addresses. + The location to write to. + The value to write. + The type of value to write. + + + \ No newline at end of file diff --git a/src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/ref/netstandard2.0/System.Runtime.CompilerServices.Unsafe.xml b/src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/ref/netstandard2.0/System.Runtime.CompilerServices.Unsafe.xml new file mode 100644 index 0000000..b5dd21b --- /dev/null +++ b/src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/ref/netstandard2.0/System.Runtime.CompilerServices.Unsafe.xml @@ -0,0 +1,258 @@ + + + + System.Runtime.CompilerServices.Unsafe + + + + Contains generic, low-level functionality for manipulating pointers. + + + Adds an element offset to the given reference. + The reference to add the offset to. + The offset to add. + The type of reference. + A new reference that reflects the addition of offset to pointer. + + + Adds an element offset to the given reference. + The reference to add the offset to. + The offset to add. + The type of reference. + A new reference that reflects the addition of offset to pointer. + + + Adds an element offset to the given void pointer. + The void pointer to add the offset to. + The offset to add. + The type of void pointer. + A new void pointer that reflects the addition of offset to the specified pointer. + + + Adds a byte offset to the given reference. + The reference to add the offset to. + The offset to add. + The type of reference. + A new reference that reflects the addition of byte offset to pointer. + + + Determines whether the specified references point to the same location. + The first reference to compare. + The second reference to compare. + The type of reference. + + if and point to the same location; otherwise, . + + + Casts the given object to the specified type. + The object to cast. + The type which the object will be cast to. + The original object, casted to the given type. + + + Reinterprets the given reference as a reference to a value of type . + The reference to reinterpret. + The type of reference to reinterpret. + The desired type of the reference. + A reference to a value of type . + + + Returns a pointer to the given by-ref parameter. + The object whose pointer is obtained. + The type of object. + A pointer to the given value. + + + Reinterprets the given read-only reference as a reference. + The read-only reference to reinterpret. + The type of reference. + A reference to a value of type . + + + Reinterprets the given location as a reference to a value of type . + The location of the value to reference. + The type of the interpreted location. + A reference to a value of type . + + + Determines the byte offset from origin to target from the given references. + The reference to origin. + The reference to target. + The type of reference. + Byte offset from origin to target i.e. - . + + + Copies a value of type to the given location. + The location to copy to. + A pointer to the value to copy. + The type of value to copy. + + + Copies a value of type to the given location. + The location to copy to. + A reference to the value to copy. + The type of value to copy. + + + Copies bytes from the source address to the destination address. + The destination address to copy to. + The source address to copy from. + The number of bytes to copy. + + + Copies bytes from the source address to the destination address. + The destination address to copy to. + The source address to copy from. + The number of bytes to copy. + + + Copies bytes from the source address to the destination address without assuming architecture dependent alignment of the addresses. + The destination address to copy to. + The source address to copy from. + The number of bytes to copy. + + + Copies bytes from the source address to the destination address without assuming architecture dependent alignment of the addresses. + The destination address to copy to. + The source address to copy from. + The number of bytes to copy. + + + Initializes a block of memory at the given location with a given initial value. + The address of the start of the memory block to initialize. + The value to initialize the block to. + The number of bytes to initialize. + + + Initializes a block of memory at the given location with a given initial value. + The address of the start of the memory block to initialize. + The value to initialize the block to. + The number of bytes to initialize. + + + Initializes a block of memory at the given location with a given initial value without assuming architecture dependent alignment of the address. + The address of the start of the memory block to initialize. + The value to initialize the block to. + The number of bytes to initialize. + + + Initializes a block of memory at the given location with a given initial value without assuming architecture dependent alignment of the address. + The address of the start of the memory block to initialize. + The value to initialize the block to. + The number of bytes to initialize. + + + Returns a value that indicates whether a specified reference is greater than another specified reference. + The first value to compare. + The second value to compare. + The type of the reference. + + if is greater than ; otherwise, . + + + Returns a value that indicates whether a specified reference is less than another specified reference. + The first value to compare. + The second value to compare. + The type of the reference. + + if is less than ; otherwise, . + + + + + + + + + + Reads a value of type from the given location. + The location to read from. + The type to read. + An object of type read from the given location. + + + Reads a value of type from the given location without assuming architecture dependent alignment of the addresses. + The location to read from. + The type to read. + An object of type read from the given location. + + + Reads a value of type from the given location without assuming architecture dependent alignment of the addresses. + The location to read from. + The type to read. + An object of type read from the given location. + + + Returns the size of an object of the given type parameter. + The type of object whose size is retrieved. + The size of an object of type . + + + Bypasses definite assignment rules for a given value. + The uninitialized object. + The type of the uninitialized object. + + + Subtracts an element offset from the given reference. + The reference to subtract the offset from. + The offset to subtract. + The type of reference. + A new reference that reflects the subtraction of offset from pointer. + + + Subtracts an element offset from the given reference. + The reference to subtract the offset from. + The offset to subtract. + The type of reference. + A new reference that reflects the subtraction of offset from pointer. + + + Subtracts an element offset from the given void pointer. + The void pointer to subtract the offset from. + The offset to subtract. + The type of the void pointer. + A new void pointer that reflects the subtraction of offset from the specified pointer. + + + Subtracts a byte offset from the given reference. + The reference to subtract the offset from. + The offset to subtract. + The type of reference. + A new reference that reflects the subtraction of byte offset from pointer. + + + Returns a to a boxed value. + The value to unbox. + The type to be unboxed. + + is , and is a non-nullable value type. + + is not a boxed value type. + +-or- + + is not a boxed . + + cannot be found. + A to the boxed value . + + + Writes a value of type to the given location. + The location to write to. + The value to write. + The type of value to write. + + + Writes a value of type to the given location without assuming architecture dependent alignment of the addresses. + The location to write to. + The value to write. + The type of value to write. + + + Writes a value of type to the given location without assuming architecture dependent alignment of the addresses. + The location to write to. + The value to write. + The type of value to write. + + + \ No newline at end of file diff --git a/src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/ref/netstandard2.1/System.Runtime.CompilerServices.Unsafe.xml b/src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/ref/netstandard2.1/System.Runtime.CompilerServices.Unsafe.xml new file mode 100644 index 0000000..b5dd21b --- /dev/null +++ b/src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/ref/netstandard2.1/System.Runtime.CompilerServices.Unsafe.xml @@ -0,0 +1,258 @@ + + + + System.Runtime.CompilerServices.Unsafe + + + + Contains generic, low-level functionality for manipulating pointers. + + + Adds an element offset to the given reference. + The reference to add the offset to. + The offset to add. + The type of reference. + A new reference that reflects the addition of offset to pointer. + + + Adds an element offset to the given reference. + The reference to add the offset to. + The offset to add. + The type of reference. + A new reference that reflects the addition of offset to pointer. + + + Adds an element offset to the given void pointer. + The void pointer to add the offset to. + The offset to add. + The type of void pointer. + A new void pointer that reflects the addition of offset to the specified pointer. + + + Adds a byte offset to the given reference. + The reference to add the offset to. + The offset to add. + The type of reference. + A new reference that reflects the addition of byte offset to pointer. + + + Determines whether the specified references point to the same location. + The first reference to compare. + The second reference to compare. + The type of reference. + + if and point to the same location; otherwise, . + + + Casts the given object to the specified type. + The object to cast. + The type which the object will be cast to. + The original object, casted to the given type. + + + Reinterprets the given reference as a reference to a value of type . + The reference to reinterpret. + The type of reference to reinterpret. + The desired type of the reference. + A reference to a value of type . + + + Returns a pointer to the given by-ref parameter. + The object whose pointer is obtained. + The type of object. + A pointer to the given value. + + + Reinterprets the given read-only reference as a reference. + The read-only reference to reinterpret. + The type of reference. + A reference to a value of type . + + + Reinterprets the given location as a reference to a value of type . + The location of the value to reference. + The type of the interpreted location. + A reference to a value of type . + + + Determines the byte offset from origin to target from the given references. + The reference to origin. + The reference to target. + The type of reference. + Byte offset from origin to target i.e. - . + + + Copies a value of type to the given location. + The location to copy to. + A pointer to the value to copy. + The type of value to copy. + + + Copies a value of type to the given location. + The location to copy to. + A reference to the value to copy. + The type of value to copy. + + + Copies bytes from the source address to the destination address. + The destination address to copy to. + The source address to copy from. + The number of bytes to copy. + + + Copies bytes from the source address to the destination address. + The destination address to copy to. + The source address to copy from. + The number of bytes to copy. + + + Copies bytes from the source address to the destination address without assuming architecture dependent alignment of the addresses. + The destination address to copy to. + The source address to copy from. + The number of bytes to copy. + + + Copies bytes from the source address to the destination address without assuming architecture dependent alignment of the addresses. + The destination address to copy to. + The source address to copy from. + The number of bytes to copy. + + + Initializes a block of memory at the given location with a given initial value. + The address of the start of the memory block to initialize. + The value to initialize the block to. + The number of bytes to initialize. + + + Initializes a block of memory at the given location with a given initial value. + The address of the start of the memory block to initialize. + The value to initialize the block to. + The number of bytes to initialize. + + + Initializes a block of memory at the given location with a given initial value without assuming architecture dependent alignment of the address. + The address of the start of the memory block to initialize. + The value to initialize the block to. + The number of bytes to initialize. + + + Initializes a block of memory at the given location with a given initial value without assuming architecture dependent alignment of the address. + The address of the start of the memory block to initialize. + The value to initialize the block to. + The number of bytes to initialize. + + + Returns a value that indicates whether a specified reference is greater than another specified reference. + The first value to compare. + The second value to compare. + The type of the reference. + + if is greater than ; otherwise, . + + + Returns a value that indicates whether a specified reference is less than another specified reference. + The first value to compare. + The second value to compare. + The type of the reference. + + if is less than ; otherwise, . + + + + + + + + + + Reads a value of type from the given location. + The location to read from. + The type to read. + An object of type read from the given location. + + + Reads a value of type from the given location without assuming architecture dependent alignment of the addresses. + The location to read from. + The type to read. + An object of type read from the given location. + + + Reads a value of type from the given location without assuming architecture dependent alignment of the addresses. + The location to read from. + The type to read. + An object of type read from the given location. + + + Returns the size of an object of the given type parameter. + The type of object whose size is retrieved. + The size of an object of type . + + + Bypasses definite assignment rules for a given value. + The uninitialized object. + The type of the uninitialized object. + + + Subtracts an element offset from the given reference. + The reference to subtract the offset from. + The offset to subtract. + The type of reference. + A new reference that reflects the subtraction of offset from pointer. + + + Subtracts an element offset from the given reference. + The reference to subtract the offset from. + The offset to subtract. + The type of reference. + A new reference that reflects the subtraction of offset from pointer. + + + Subtracts an element offset from the given void pointer. + The void pointer to subtract the offset from. + The offset to subtract. + The type of the void pointer. + A new void pointer that reflects the subtraction of offset from the specified pointer. + + + Subtracts a byte offset from the given reference. + The reference to subtract the offset from. + The offset to subtract. + The type of reference. + A new reference that reflects the subtraction of byte offset from pointer. + + + Returns a to a boxed value. + The value to unbox. + The type to be unboxed. + + is , and is a non-nullable value type. + + is not a boxed value type. + +-or- + + is not a boxed . + + cannot be found. + A to the boxed value . + + + Writes a value of type to the given location. + The location to write to. + The value to write. + The type of value to write. + + + Writes a value of type to the given location without assuming architecture dependent alignment of the addresses. + The location to write to. + The value to write. + The type of value to write. + + + Writes a value of type to the given location without assuming architecture dependent alignment of the addresses. + The location to write to. + The value to write. + The type of value to write. + + + \ No newline at end of file diff --git a/src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/useSharedDesignerContext.txt b/src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/useSharedDesignerContext.txt new file mode 100644 index 0000000..e69de29 diff --git a/src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/version.txt b/src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/version.txt new file mode 100644 index 0000000..0a6d216 --- /dev/null +++ b/src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/version.txt @@ -0,0 +1 @@ +cf258a14b70ad9069470a108f13765e0e5988f51 diff --git a/src/packages/System.Threading.Tasks.Extensions.4.5.4/.signature.p7s b/src/packages/System.Threading.Tasks.Extensions.4.5.4/.signature.p7s new file mode 100644 index 0000000000000000000000000000000000000000..e0ee9f435e686515a6d1ea60ac92d591352b314f GIT binary patch literal 18703 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 Zomhdj_WxFNO#DIHMJMl~m673;{|6~(JsAK1 literal 0 HcmV?d00001 diff --git a/src/packages/System.Threading.Tasks.Extensions.4.5.4/LICENSE.TXT b/src/packages/System.Threading.Tasks.Extensions.4.5.4/LICENSE.TXT new file mode 100644 index 0000000..984713a --- /dev/null +++ b/src/packages/System.Threading.Tasks.Extensions.4.5.4/LICENSE.TXT @@ -0,0 +1,23 @@ +The MIT License (MIT) + +Copyright (c) .NET Foundation and Contributors + +All rights reserved. + +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/src/packages/System.Threading.Tasks.Extensions.4.5.4/System.Threading.Tasks.Extensions.4.5.4.nupkg b/src/packages/System.Threading.Tasks.Extensions.4.5.4/System.Threading.Tasks.Extensions.4.5.4.nupkg new file mode 100644 index 0000000000000000000000000000000000000000..a608bc53b86d1884af17171f9e0b0c424b0311c2 GIT binary patch literal 89582 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 literal 0 HcmV?d00001 diff --git a/src/packages/System.Threading.Tasks.Extensions.4.5.4/THIRD-PARTY-NOTICES.TXT b/src/packages/System.Threading.Tasks.Extensions.4.5.4/THIRD-PARTY-NOTICES.TXT new file mode 100644 index 0000000..db542ca --- /dev/null +++ b/src/packages/System.Threading.Tasks.Extensions.4.5.4/THIRD-PARTY-NOTICES.TXT @@ -0,0 +1,309 @@ +.NET Core uses third-party libraries or other resources that may be +distributed under licenses different than the .NET Core software. + +In the event that we accidentally failed to list a required notice, please +bring it to our attention. Post an issue or email us: + + dotnet@microsoft.com + +The attached notices are provided for information only. + +License notice for Slicing-by-8 +------------------------------- + +http://sourceforge.net/projects/slicing-by-8/ + +Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved + + +This software program is licensed subject to the BSD License, available at +http://www.opensource.org/licenses/bsd-license.html. + + +License notice for Unicode data +------------------------------- + +http://www.unicode.org/copyright.html#License + +Copyright © 1991-2017 Unicode, Inc. All rights reserved. +Distributed under the Terms of Use in http://www.unicode.org/copyright.html. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Unicode data files and any associated documentation +(the "Data Files") or Unicode software and any associated documentation +(the "Software") to deal in the Data Files or Software +without restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, and/or sell copies of +the Data Files or Software, and to permit persons to whom the Data Files +or Software are furnished to do so, provided that either +(a) this copyright and permission notice appear with all copies +of the Data Files or Software, or +(b) this copyright and permission notice appear in associated +Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF THIRD PARTY RIGHTS. +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS +NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL +DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THE DATA FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder +shall not be used in advertising or otherwise to promote the sale, +use or other dealings in these Data Files or Software without prior +written authorization of the copyright holder. + +License notice for Zlib +----------------------- + +https://github.com/madler/zlib +http://zlib.net/zlib_license.html + +/* zlib.h -- interface of the 'zlib' general purpose compression library + version 1.2.11, January 15th, 2017 + + Copyright (C) 1995-2017 Jean-loup Gailly and Mark Adler + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. + + Jean-loup Gailly Mark Adler + jloup@gzip.org madler@alumni.caltech.edu + +*/ + +License notice for Mono +------------------------------- + +http://www.mono-project.com/docs/about-mono/ + +Copyright (c) .NET Foundation Contributors + +MIT License + +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. + +License notice for International Organization for Standardization +----------------------------------------------------------------- + +Portions (C) International Organization for Standardization 1986: + Permission to copy in any form is granted for use with + conforming SGML systems and applications as defined in + ISO 8879, provided this notice is included in all copies. + +License notice for Intel +------------------------ + +"Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this +list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for Xamarin and Novell +------------------------------------- + +Copyright (c) 2015 Xamarin, Inc (http://www.xamarin.com) + +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. + +Copyright (c) 2011 Novell, Inc (http://www.novell.com) + +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. + +Third party notice for W3C +-------------------------- + +"W3C SOFTWARE AND DOCUMENT NOTICE AND LICENSE +Status: This license takes effect 13 May, 2015. +This work is being provided by the copyright holders under the following license. +License +By obtaining and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions. +Permission to copy, modify, and distribute this work, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the work or portions thereof, including modifications: +The full text of this NOTICE in a location viewable to users of the redistributed or derivative work. +Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software and Document Short Notice should be included. +Notice of any changes or modifications, through a copyright statement on the new code or document such as "This software or document includes material copied from or derived from [title and URI of the W3C document]. Copyright © [YEAR] W3C® (MIT, ERCIM, Keio, Beihang)." +Disclaimers +THIS WORK IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENT WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. +COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENT. +The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the work without specific, written prior permission. Title to copyright in this work will at all times remain with copyright holders." + +License notice for Bit Twiddling Hacks +-------------------------------------- + +Bit Twiddling Hacks + +By Sean Eron Anderson +seander@cs.stanford.edu + +Individually, the code snippets here are in the public domain (unless otherwise +noted) — feel free to use them however you please. The aggregate collection and +descriptions are © 1997-2005 Sean Eron Anderson. The code and descriptions are +distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY and +without even the implied warranty of merchantability or fitness for a particular +purpose. + +License notice for Brotli +-------------------------------------- + +Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors. + +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. + +compress_fragment.c: +Copyright (c) 2011, Google Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +decode_fuzzer.c: +Copyright (c) 2015 The Chromium Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." + diff --git a/src/packages/System.Threading.Tasks.Extensions.4.5.4/lib/MonoAndroid10/_._ b/src/packages/System.Threading.Tasks.Extensions.4.5.4/lib/MonoAndroid10/_._ new file mode 100644 index 0000000..e69de29 diff --git a/src/packages/System.Threading.Tasks.Extensions.4.5.4/lib/MonoTouch10/_._ b/src/packages/System.Threading.Tasks.Extensions.4.5.4/lib/MonoTouch10/_._ new file mode 100644 index 0000000..e69de29 diff --git a/src/packages/System.Threading.Tasks.Extensions.4.5.4/lib/net461/System.Threading.Tasks.Extensions.xml b/src/packages/System.Threading.Tasks.Extensions.4.5.4/lib/net461/System.Threading.Tasks.Extensions.xml new file mode 100644 index 0000000..5e02a99 --- /dev/null +++ b/src/packages/System.Threading.Tasks.Extensions.4.5.4/lib/net461/System.Threading.Tasks.Extensions.xml @@ -0,0 +1,166 @@ + + + System.Threading.Tasks.Extensions + + + + + + + + + + + + + + + + + + + Provides a value type that wraps a and a TResult, only one of which is used. + The result. + + + Initializes a new instance of the class using the supplied task that represents the operation. + The task. + The task argument is null. + + + Initializes a new instance of the class using the supplied result of a successful operation. + The result. + + + Retrieves a object that represents this . + The object that is wrapped in this if one exists, or a new object that represents the result. + + + Configures an awaiter for this value. + true to attempt to marshal the continuation back to the captured context; otherwise, false. + The configured awaiter. + + + Creates a method builder for use with an async method. + The created builder. + + + Determines whether the specified object is equal to the current object. + The object to compare with the current object. + true if the specified object is equal to the current object; otherwise, false. + + + Determines whether the specified object is equal to the current object. + The object to compare with the current object. + true if the specified object is equal to the current object; otherwise, false. + + + Creates an awaiter for this value. + The awaiter. + + + Returns the hash code for this instance. + The hash code for the current object. + + + Gets a value that indicates whether this object represents a canceled operation. + true if this object represents a canceled operation; otherwise, false. + + + Gets a value that indicates whether this object represents a completed operation. + true if this object represents a completed operation; otherwise, false. + + + Gets a value that indicates whether this object represents a successfully completed operation. + true if this object represents a successfully completed operation; otherwise, false. + + + Gets a value that indicates whether this object represents a failed operation. + true if this object represents a failed operation; otherwise, false. + + + Compares two values for equality. + The first value to compare. + The second value to compare. + true if the two values are equal; otherwise, false. + + + Determines whether two values are unequal. + The first value to compare. + The seconed value to compare. + true if the two values are not equal; otherwise, false. + + + Gets the result. + The result. + + + Returns a string that represents the current object. + A string that represents the current object. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/packages/System.Threading.Tasks.Extensions.4.5.4/lib/netcoreapp2.1/_._ b/src/packages/System.Threading.Tasks.Extensions.4.5.4/lib/netcoreapp2.1/_._ new file mode 100644 index 0000000..e69de29 diff --git a/src/packages/System.Threading.Tasks.Extensions.4.5.4/lib/netstandard1.0/System.Threading.Tasks.Extensions.xml b/src/packages/System.Threading.Tasks.Extensions.4.5.4/lib/netstandard1.0/System.Threading.Tasks.Extensions.xml new file mode 100644 index 0000000..5e02a99 --- /dev/null +++ b/src/packages/System.Threading.Tasks.Extensions.4.5.4/lib/netstandard1.0/System.Threading.Tasks.Extensions.xml @@ -0,0 +1,166 @@ + + + System.Threading.Tasks.Extensions + + + + + + + + + + + + + + + + + + + Provides a value type that wraps a and a TResult, only one of which is used. + The result. + + + Initializes a new instance of the class using the supplied task that represents the operation. + The task. + The task argument is null. + + + Initializes a new instance of the class using the supplied result of a successful operation. + The result. + + + Retrieves a object that represents this . + The object that is wrapped in this if one exists, or a new object that represents the result. + + + Configures an awaiter for this value. + true to attempt to marshal the continuation back to the captured context; otherwise, false. + The configured awaiter. + + + Creates a method builder for use with an async method. + The created builder. + + + Determines whether the specified object is equal to the current object. + The object to compare with the current object. + true if the specified object is equal to the current object; otherwise, false. + + + Determines whether the specified object is equal to the current object. + The object to compare with the current object. + true if the specified object is equal to the current object; otherwise, false. + + + Creates an awaiter for this value. + The awaiter. + + + Returns the hash code for this instance. + The hash code for the current object. + + + Gets a value that indicates whether this object represents a canceled operation. + true if this object represents a canceled operation; otherwise, false. + + + Gets a value that indicates whether this object represents a completed operation. + true if this object represents a completed operation; otherwise, false. + + + Gets a value that indicates whether this object represents a successfully completed operation. + true if this object represents a successfully completed operation; otherwise, false. + + + Gets a value that indicates whether this object represents a failed operation. + true if this object represents a failed operation; otherwise, false. + + + Compares two values for equality. + The first value to compare. + The second value to compare. + true if the two values are equal; otherwise, false. + + + Determines whether two values are unequal. + The first value to compare. + The seconed value to compare. + true if the two values are not equal; otherwise, false. + + + Gets the result. + The result. + + + Returns a string that represents the current object. + A string that represents the current object. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/packages/System.Threading.Tasks.Extensions.4.5.4/lib/netstandard2.0/System.Threading.Tasks.Extensions.xml b/src/packages/System.Threading.Tasks.Extensions.4.5.4/lib/netstandard2.0/System.Threading.Tasks.Extensions.xml new file mode 100644 index 0000000..5e02a99 --- /dev/null +++ b/src/packages/System.Threading.Tasks.Extensions.4.5.4/lib/netstandard2.0/System.Threading.Tasks.Extensions.xml @@ -0,0 +1,166 @@ + + + System.Threading.Tasks.Extensions + + + + + + + + + + + + + + + + + + + Provides a value type that wraps a and a TResult, only one of which is used. + The result. + + + Initializes a new instance of the class using the supplied task that represents the operation. + The task. + The task argument is null. + + + Initializes a new instance of the class using the supplied result of a successful operation. + The result. + + + Retrieves a object that represents this . + The object that is wrapped in this if one exists, or a new object that represents the result. + + + Configures an awaiter for this value. + true to attempt to marshal the continuation back to the captured context; otherwise, false. + The configured awaiter. + + + Creates a method builder for use with an async method. + The created builder. + + + Determines whether the specified object is equal to the current object. + The object to compare with the current object. + true if the specified object is equal to the current object; otherwise, false. + + + Determines whether the specified object is equal to the current object. + The object to compare with the current object. + true if the specified object is equal to the current object; otherwise, false. + + + Creates an awaiter for this value. + The awaiter. + + + Returns the hash code for this instance. + The hash code for the current object. + + + Gets a value that indicates whether this object represents a canceled operation. + true if this object represents a canceled operation; otherwise, false. + + + Gets a value that indicates whether this object represents a completed operation. + true if this object represents a completed operation; otherwise, false. + + + Gets a value that indicates whether this object represents a successfully completed operation. + true if this object represents a successfully completed operation; otherwise, false. + + + Gets a value that indicates whether this object represents a failed operation. + true if this object represents a failed operation; otherwise, false. + + + Compares two values for equality. + The first value to compare. + The second value to compare. + true if the two values are equal; otherwise, false. + + + Determines whether two values are unequal. + The first value to compare. + The seconed value to compare. + true if the two values are not equal; otherwise, false. + + + Gets the result. + The result. + + + Returns a string that represents the current object. + A string that represents the current object. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/packages/System.Threading.Tasks.Extensions.4.5.4/lib/portable-net45+win8+wp8+wpa81/System.Threading.Tasks.Extensions.xml b/src/packages/System.Threading.Tasks.Extensions.4.5.4/lib/portable-net45+win8+wp8+wpa81/System.Threading.Tasks.Extensions.xml new file mode 100644 index 0000000..5e02a99 --- /dev/null +++ b/src/packages/System.Threading.Tasks.Extensions.4.5.4/lib/portable-net45+win8+wp8+wpa81/System.Threading.Tasks.Extensions.xml @@ -0,0 +1,166 @@ + + + System.Threading.Tasks.Extensions + + + + + + + + + + + + + + + + + + + Provides a value type that wraps a and a TResult, only one of which is used. + The result. + + + Initializes a new instance of the class using the supplied task that represents the operation. + The task. + The task argument is null. + + + Initializes a new instance of the class using the supplied result of a successful operation. + The result. + + + Retrieves a object that represents this . + The object that is wrapped in this if one exists, or a new object that represents the result. + + + Configures an awaiter for this value. + true to attempt to marshal the continuation back to the captured context; otherwise, false. + The configured awaiter. + + + Creates a method builder for use with an async method. + The created builder. + + + Determines whether the specified object is equal to the current object. + The object to compare with the current object. + true if the specified object is equal to the current object; otherwise, false. + + + Determines whether the specified object is equal to the current object. + The object to compare with the current object. + true if the specified object is equal to the current object; otherwise, false. + + + Creates an awaiter for this value. + The awaiter. + + + Returns the hash code for this instance. + The hash code for the current object. + + + Gets a value that indicates whether this object represents a canceled operation. + true if this object represents a canceled operation; otherwise, false. + + + Gets a value that indicates whether this object represents a completed operation. + true if this object represents a completed operation; otherwise, false. + + + Gets a value that indicates whether this object represents a successfully completed operation. + true if this object represents a successfully completed operation; otherwise, false. + + + Gets a value that indicates whether this object represents a failed operation. + true if this object represents a failed operation; otherwise, false. + + + Compares two values for equality. + The first value to compare. + The second value to compare. + true if the two values are equal; otherwise, false. + + + Determines whether two values are unequal. + The first value to compare. + The seconed value to compare. + true if the two values are not equal; otherwise, false. + + + Gets the result. + The result. + + + Returns a string that represents the current object. + A string that represents the current object. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/packages/System.Threading.Tasks.Extensions.4.5.4/lib/xamarinios10/_._ b/src/packages/System.Threading.Tasks.Extensions.4.5.4/lib/xamarinios10/_._ new file mode 100644 index 0000000..e69de29 diff --git a/src/packages/System.Threading.Tasks.Extensions.4.5.4/lib/xamarinmac20/_._ b/src/packages/System.Threading.Tasks.Extensions.4.5.4/lib/xamarinmac20/_._ new file mode 100644 index 0000000..e69de29 diff --git a/src/packages/System.Threading.Tasks.Extensions.4.5.4/lib/xamarintvos10/_._ b/src/packages/System.Threading.Tasks.Extensions.4.5.4/lib/xamarintvos10/_._ new file mode 100644 index 0000000..e69de29 diff --git a/src/packages/System.Threading.Tasks.Extensions.4.5.4/lib/xamarinwatchos10/_._ b/src/packages/System.Threading.Tasks.Extensions.4.5.4/lib/xamarinwatchos10/_._ new file mode 100644 index 0000000..e69de29 diff --git a/src/packages/System.Threading.Tasks.Extensions.4.5.4/ref/MonoAndroid10/_._ b/src/packages/System.Threading.Tasks.Extensions.4.5.4/ref/MonoAndroid10/_._ new file mode 100644 index 0000000..e69de29 diff --git a/src/packages/System.Threading.Tasks.Extensions.4.5.4/ref/MonoTouch10/_._ b/src/packages/System.Threading.Tasks.Extensions.4.5.4/ref/MonoTouch10/_._ new file mode 100644 index 0000000..e69de29 diff --git a/src/packages/System.Threading.Tasks.Extensions.4.5.4/ref/netcoreapp2.1/_._ b/src/packages/System.Threading.Tasks.Extensions.4.5.4/ref/netcoreapp2.1/_._ new file mode 100644 index 0000000..e69de29 diff --git a/src/packages/System.Threading.Tasks.Extensions.4.5.4/ref/xamarinios10/_._ b/src/packages/System.Threading.Tasks.Extensions.4.5.4/ref/xamarinios10/_._ new file mode 100644 index 0000000..e69de29 diff --git a/src/packages/System.Threading.Tasks.Extensions.4.5.4/ref/xamarinmac20/_._ b/src/packages/System.Threading.Tasks.Extensions.4.5.4/ref/xamarinmac20/_._ new file mode 100644 index 0000000..e69de29 diff --git a/src/packages/System.Threading.Tasks.Extensions.4.5.4/ref/xamarintvos10/_._ b/src/packages/System.Threading.Tasks.Extensions.4.5.4/ref/xamarintvos10/_._ new file mode 100644 index 0000000..e69de29 diff --git a/src/packages/System.Threading.Tasks.Extensions.4.5.4/ref/xamarinwatchos10/_._ b/src/packages/System.Threading.Tasks.Extensions.4.5.4/ref/xamarinwatchos10/_._ new file mode 100644 index 0000000..e69de29 diff --git a/src/packages/System.Threading.Tasks.Extensions.4.5.4/useSharedDesignerContext.txt b/src/packages/System.Threading.Tasks.Extensions.4.5.4/useSharedDesignerContext.txt new file mode 100644 index 0000000..e69de29 diff --git a/src/packages/System.Threading.Tasks.Extensions.4.5.4/version.txt b/src/packages/System.Threading.Tasks.Extensions.4.5.4/version.txt new file mode 100644 index 0000000..8d6cdd6 --- /dev/null +++ b/src/packages/System.Threading.Tasks.Extensions.4.5.4/version.txt @@ -0,0 +1 @@ +7601f4f6225089ffb291dc7d58293c7bbf5c5d4f diff --git a/src/packages/Unity.4.0.1/.signature.p7s b/src/packages/Unity.4.0.1/.signature.p7s new file mode 100644 index 0000000000000000000000000000000000000000..ad5de07961709ff3ed226620c6e10411b8b8eeeb GIT binary patch literal 9506 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 literal 0 HcmV?d00001 diff --git a/src/packages/Unity.4.0.1/Unity.4.0.1.nupkg b/src/packages/Unity.4.0.1/Unity.4.0.1.nupkg index 9a64e12475d3698d6604521e8698075e0c15a113..58e108ad262eb10c40cba5b6c723dcc253bd0c63 100644 GIT binary patch delta 11037 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 delta 1246 zcmZqqFY|b_%m!N~uI7&QrKgz~82+(Nc4xAwzjAE1?gG&z(YeulQ=_6Th83)iNuM>t zN-o*@_hIReQZ|y4k7Ncjmh*Yq)Zef9C*xnYVwV#h-f_{pq%Emj=C9w1rFjqWO&O z`nKT8M#svxN!4N3MV;K4rk&f!x9RJliHctt*6%uyeSuL$A~vkB_pNk+uw>+YNtS8M zxs74Dj<>^lw#~WewzB?bOv2h^)`f+AH7(Vjay1ORMNhtGc>Vms@wa>*7Bc-W6ct^t z#Lz!Na!%30kXtV_l-Uei7|)i42Oee*G-zDl?Pu+nx+MLVcFycOuQz@Cn--PRzx3I@ zy^r&5r>%+jsQ0EY;Y7ikgo<}(v(r;j&Xt}hGQ6g9QexJwX?4H7h-zU3g)Sq>D4h$S3J%vH96>3 zYV$SL_G_$+K+FWh%s|Wn#2_)Y?ble@w{bHwGU-mgYsPLNrpqA0z{J48u*%2P9g!iX zYn!vHFzQYZFlSd~a$ud#X~CX6z0Zc7ok^Ervdt}t>A%g{c^DO^b6BuvLzIb6@3vs) zV?LA5I9)J;Srx1pD09++U6rw5`g;p@Js?lcl3kVg-c2Tu5@U{(oSXn}kV6_l!gs@& zLBeLN5V0p9vB=3_G1ch;cI=YV{cYLVfrbQG0c9BWAY>GPf(Jl?T*sNGKb*~?0<(OY z4N!3HY!;B9I@H_@YoM5vAuB{7vbk45GM$kK8MwKzDXh~crm(_{02#}~U^!jTmR)sv zf;HGtuYh8Vxzhz~+1-FaG@a)go5b`2TXr6%k6%IR>^KXGGQl2Wn9lzbD0dem_vHsz zjw8a?2jXc%JD@26)5Go9<$-=G2k~}KpKHe+0W$LfAG^eKetTfJZ=Eh<&n_Xt%EkZ$ QVn7(h!N5=~$PVNI0B1bxd;kCd From 9020da681c6e01316f9c4f9231d9b1527e13f4c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dariusz=20Wo=C5=BAniak?= Date: Sat, 3 Jul 2021 20:58:55 +0200 Subject: [PATCH 2/9] chore: update gitignore + remove packages directory --- .gitignore | 398 +- src/AutoMoq/AutoMoq.csproj | 1 - src/packages/Castle.Core.4.4.1/.signature.p7s | Bin 9480 -> 0 bytes ...L - Apache Software Foundation License.txt | 57 - src/packages/Castle.Core.4.4.1/CHANGELOG.md | 394 - .../Castle.Core.4.4.1/Castle.Core.4.4.1.nupkg | Bin 919111 -> 0 bytes src/packages/Castle.Core.4.4.1/LICENSE | 13 - .../lib/net35/Castle.Core.xml | 6124 ----- .../lib/net40/Castle.Core.xml | 6130 ----- .../lib/net45/Castle.Core.xml | 6130 ----- .../lib/netstandard1.3/Castle.Core.xml | 5741 ---- .../lib/netstandard1.5/Castle.Core.xml | 5741 ---- src/packages/Castle.Core.4.4.1/readme.txt | 10 - .../CommonServiceLocator.2.0.6/.signature.p7s | Bin 9488 -> 0 bytes .../CommonServiceLocator.2.0.6.nupkg | Bin 68423 -> 0 bytes src/packages/Moq.4.16.1/.signature.p7s | Bin 9469 -> 0 bytes src/packages/Moq.4.16.1/Moq.4.16.1.nupkg | Bin 565511 -> 0 bytes src/packages/Moq.4.16.1/lib/net45/Moq.xml | 7815 ------ .../Moq.4.16.1/lib/netstandard2.0/Moq.xml | 7815 ------ .../Moq.4.16.1/lib/netstandard2.1/Moq.xml | 7827 ------ src/packages/Moq.4.16.1/moq.png | Bin 6829 -> 0 bytes src/packages/NUnit.3.13.2/.signature.p7s | Bin 9476 -> 0 bytes src/packages/NUnit.3.13.2/CHANGES.md | 1855 -- src/packages/NUnit.3.13.2/LICENSE.txt | 20 - src/packages/NUnit.3.13.2/NOTICES.txt | 5 - src/packages/NUnit.3.13.2/NUnit.3.13.2.nupkg | Bin 1292603 -> 0 bytes src/packages/NUnit.3.13.2/build/NUnit.props | 7 - src/packages/NUnit.3.13.2/icon.png | Bin 16371 -> 0 bytes .../lib/net35/nunit.framework.xml | 21818 ---------------- .../lib/net40/nunit.framework.xml | 21286 --------------- .../lib/net45/nunit.framework.xml | 21233 --------------- .../lib/netstandard2.0/nunit.framework.xml | 21198 --------------- src/packages/Should.1.1.20/.signature.p7s | Bin 9467 -> 0 bytes .../Should.1.1.20/Should.1.1.20.nupkg | Bin 29632 -> 0 bytes .../.signature.p7s | Bin 18702 -> 0 bytes .../Icon.png | Bin 7006 -> 0 bytes .../LICENSE.TXT | 23 - ...untime.CompilerServices.Unsafe.5.0.0.nupkg | Bin 130329 -> 0 bytes .../THIRD-PARTY-NOTICES.TXT | 884 - ...System.Runtime.CompilerServices.Unsafe.xml | 258 - ...System.Runtime.CompilerServices.Unsafe.xml | 258 - ...System.Runtime.CompilerServices.Unsafe.xml | 258 - ...System.Runtime.CompilerServices.Unsafe.xml | 258 - ...System.Runtime.CompilerServices.Unsafe.xml | 258 - ...System.Runtime.CompilerServices.Unsafe.xml | 258 - ...System.Runtime.CompilerServices.Unsafe.xml | 258 - ...System.Runtime.CompilerServices.Unsafe.xml | 258 - .../useSharedDesignerContext.txt | 0 .../version.txt | 1 - .../.signature.p7s | Bin 18703 -> 0 bytes .../LICENSE.TXT | 23 - ...tem.Threading.Tasks.Extensions.4.5.4.nupkg | Bin 89582 -> 0 bytes .../THIRD-PARTY-NOTICES.TXT | 309 - .../lib/MonoAndroid10/_._ | 0 .../lib/MonoTouch10/_._ | 0 .../System.Threading.Tasks.Extensions.xml | 166 - .../lib/netcoreapp2.1/_._ | 0 .../System.Threading.Tasks.Extensions.xml | 166 - .../System.Threading.Tasks.Extensions.xml | 166 - .../System.Threading.Tasks.Extensions.xml | 166 - .../lib/xamarinios10/_._ | 0 .../lib/xamarinmac20/_._ | 0 .../lib/xamarintvos10/_._ | 0 .../lib/xamarinwatchos10/_._ | 0 .../ref/MonoAndroid10/_._ | 0 .../ref/MonoTouch10/_._ | 0 .../ref/netcoreapp2.1/_._ | 0 .../ref/xamarinios10/_._ | 0 .../ref/xamarinmac20/_._ | 0 .../ref/xamarintvos10/_._ | 0 .../ref/xamarinwatchos10/_._ | 0 .../useSharedDesignerContext.txt | 0 .../version.txt | 1 - src/packages/Unity.4.0.1/.signature.p7s | Bin 9506 -> 0 bytes src/packages/Unity.4.0.1/Unity.4.0.1.nupkg | Bin 475012 -> 0 bytes .../Unity.4.0.1/UnityConfiguration30.xsd | 319 - ...icrosoft.Practices.Unity.Configuration.XML | 2424 -- ...icrosoft.Practices.Unity.Configuration.dll | Bin 81408 -> 0 bytes ...actices.Unity.RegistrationByConvention.XML | 328 - ...actices.Unity.RegistrationByConvention.dll | Bin 23552 -> 0 bytes .../lib/net45/Microsoft.Practices.Unity.dll | Bin 135680 -> 0 bytes .../lib/net45/Microsoft.Practices.Unity.xml | 5916 ----- .../Microsoft.Practices.Unity.dll | Bin 135680 -> 0 bytes .../Microsoft.Practices.Unity.xml | 5916 ----- ...actices.Unity.RegistrationByConvention.XML | 306 - ...actices.Unity.RegistrationByConvention.dll | Bin 22528 -> 0 bytes ...actices.Unity.RegistrationByConvention.pri | Bin 2184 -> 0 bytes .../lib/win8/Microsoft.Practices.Unity.dll | Bin 135680 -> 0 bytes .../lib/win8/Microsoft.Practices.Unity.xml | 5916 ----- ...actices.Unity.RegistrationByConvention.XML | 312 - ...actices.Unity.RegistrationByConvention.dll | Bin 23040 -> 0 bytes .../lib/wp80/Microsoft.Practices.Unity.dll | Bin 135680 -> 0 bytes .../lib/wp80/Microsoft.Practices.Unity.xml | 5916 ----- src/packages/repositories.config | 6 - 94 files changed, 386 insertions(+), 172560 deletions(-) delete mode 100644 src/packages/Castle.Core.4.4.1/.signature.p7s delete mode 100644 src/packages/Castle.Core.4.4.1/ASL - Apache Software Foundation License.txt delete mode 100644 src/packages/Castle.Core.4.4.1/CHANGELOG.md delete mode 100644 src/packages/Castle.Core.4.4.1/Castle.Core.4.4.1.nupkg delete mode 100644 src/packages/Castle.Core.4.4.1/LICENSE delete mode 100644 src/packages/Castle.Core.4.4.1/lib/net35/Castle.Core.xml delete mode 100644 src/packages/Castle.Core.4.4.1/lib/net40/Castle.Core.xml delete mode 100644 src/packages/Castle.Core.4.4.1/lib/net45/Castle.Core.xml delete mode 100644 src/packages/Castle.Core.4.4.1/lib/netstandard1.3/Castle.Core.xml delete mode 100644 src/packages/Castle.Core.4.4.1/lib/netstandard1.5/Castle.Core.xml delete mode 100644 src/packages/Castle.Core.4.4.1/readme.txt delete mode 100644 src/packages/CommonServiceLocator.2.0.6/.signature.p7s delete mode 100644 src/packages/CommonServiceLocator.2.0.6/CommonServiceLocator.2.0.6.nupkg delete mode 100644 src/packages/Moq.4.16.1/.signature.p7s delete mode 100644 src/packages/Moq.4.16.1/Moq.4.16.1.nupkg delete mode 100644 src/packages/Moq.4.16.1/lib/net45/Moq.xml delete mode 100644 src/packages/Moq.4.16.1/lib/netstandard2.0/Moq.xml delete mode 100644 src/packages/Moq.4.16.1/lib/netstandard2.1/Moq.xml delete mode 100644 src/packages/Moq.4.16.1/moq.png delete mode 100644 src/packages/NUnit.3.13.2/.signature.p7s delete mode 100644 src/packages/NUnit.3.13.2/CHANGES.md delete mode 100644 src/packages/NUnit.3.13.2/LICENSE.txt delete mode 100644 src/packages/NUnit.3.13.2/NOTICES.txt delete mode 100644 src/packages/NUnit.3.13.2/NUnit.3.13.2.nupkg delete mode 100644 src/packages/NUnit.3.13.2/build/NUnit.props delete mode 100644 src/packages/NUnit.3.13.2/icon.png delete mode 100644 src/packages/NUnit.3.13.2/lib/net35/nunit.framework.xml delete mode 100644 src/packages/NUnit.3.13.2/lib/net40/nunit.framework.xml delete mode 100644 src/packages/NUnit.3.13.2/lib/net45/nunit.framework.xml delete mode 100644 src/packages/NUnit.3.13.2/lib/netstandard2.0/nunit.framework.xml delete mode 100644 src/packages/Should.1.1.20/.signature.p7s delete mode 100644 src/packages/Should.1.1.20/Should.1.1.20.nupkg delete mode 100644 src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/.signature.p7s delete mode 100644 src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/Icon.png delete mode 100644 src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/LICENSE.TXT delete mode 100644 src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/System.Runtime.CompilerServices.Unsafe.5.0.0.nupkg delete mode 100644 src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/THIRD-PARTY-NOTICES.TXT delete mode 100644 src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/lib/net45/System.Runtime.CompilerServices.Unsafe.xml delete mode 100644 src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/lib/netcoreapp2.0/System.Runtime.CompilerServices.Unsafe.xml delete mode 100644 src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/lib/netstandard1.0/System.Runtime.CompilerServices.Unsafe.xml delete mode 100644 src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.xml delete mode 100644 src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/ref/net461/System.Runtime.CompilerServices.Unsafe.xml delete mode 100644 src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/ref/netstandard1.0/System.Runtime.CompilerServices.Unsafe.xml delete mode 100644 src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/ref/netstandard2.0/System.Runtime.CompilerServices.Unsafe.xml delete mode 100644 src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/ref/netstandard2.1/System.Runtime.CompilerServices.Unsafe.xml delete mode 100644 src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/useSharedDesignerContext.txt delete mode 100644 src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/version.txt delete mode 100644 src/packages/System.Threading.Tasks.Extensions.4.5.4/.signature.p7s delete mode 100644 src/packages/System.Threading.Tasks.Extensions.4.5.4/LICENSE.TXT delete mode 100644 src/packages/System.Threading.Tasks.Extensions.4.5.4/System.Threading.Tasks.Extensions.4.5.4.nupkg delete mode 100644 src/packages/System.Threading.Tasks.Extensions.4.5.4/THIRD-PARTY-NOTICES.TXT delete mode 100644 src/packages/System.Threading.Tasks.Extensions.4.5.4/lib/MonoAndroid10/_._ delete mode 100644 src/packages/System.Threading.Tasks.Extensions.4.5.4/lib/MonoTouch10/_._ delete mode 100644 src/packages/System.Threading.Tasks.Extensions.4.5.4/lib/net461/System.Threading.Tasks.Extensions.xml delete mode 100644 src/packages/System.Threading.Tasks.Extensions.4.5.4/lib/netcoreapp2.1/_._ delete mode 100644 src/packages/System.Threading.Tasks.Extensions.4.5.4/lib/netstandard1.0/System.Threading.Tasks.Extensions.xml delete mode 100644 src/packages/System.Threading.Tasks.Extensions.4.5.4/lib/netstandard2.0/System.Threading.Tasks.Extensions.xml delete mode 100644 src/packages/System.Threading.Tasks.Extensions.4.5.4/lib/portable-net45+win8+wp8+wpa81/System.Threading.Tasks.Extensions.xml delete mode 100644 src/packages/System.Threading.Tasks.Extensions.4.5.4/lib/xamarinios10/_._ delete mode 100644 src/packages/System.Threading.Tasks.Extensions.4.5.4/lib/xamarinmac20/_._ delete mode 100644 src/packages/System.Threading.Tasks.Extensions.4.5.4/lib/xamarintvos10/_._ delete mode 100644 src/packages/System.Threading.Tasks.Extensions.4.5.4/lib/xamarinwatchos10/_._ delete mode 100644 src/packages/System.Threading.Tasks.Extensions.4.5.4/ref/MonoAndroid10/_._ delete mode 100644 src/packages/System.Threading.Tasks.Extensions.4.5.4/ref/MonoTouch10/_._ delete mode 100644 src/packages/System.Threading.Tasks.Extensions.4.5.4/ref/netcoreapp2.1/_._ delete mode 100644 src/packages/System.Threading.Tasks.Extensions.4.5.4/ref/xamarinios10/_._ delete mode 100644 src/packages/System.Threading.Tasks.Extensions.4.5.4/ref/xamarinmac20/_._ delete mode 100644 src/packages/System.Threading.Tasks.Extensions.4.5.4/ref/xamarintvos10/_._ delete mode 100644 src/packages/System.Threading.Tasks.Extensions.4.5.4/ref/xamarinwatchos10/_._ delete mode 100644 src/packages/System.Threading.Tasks.Extensions.4.5.4/useSharedDesignerContext.txt delete mode 100644 src/packages/System.Threading.Tasks.Extensions.4.5.4/version.txt delete mode 100644 src/packages/Unity.4.0.1/.signature.p7s delete mode 100644 src/packages/Unity.4.0.1/Unity.4.0.1.nupkg delete mode 100644 src/packages/Unity.4.0.1/UnityConfiguration30.xsd delete mode 100644 src/packages/Unity.4.0.1/lib/net45/Microsoft.Practices.Unity.Configuration.XML delete mode 100644 src/packages/Unity.4.0.1/lib/net45/Microsoft.Practices.Unity.Configuration.dll delete mode 100644 src/packages/Unity.4.0.1/lib/net45/Microsoft.Practices.Unity.RegistrationByConvention.XML delete mode 100644 src/packages/Unity.4.0.1/lib/net45/Microsoft.Practices.Unity.RegistrationByConvention.dll delete mode 100644 src/packages/Unity.4.0.1/lib/net45/Microsoft.Practices.Unity.dll delete mode 100644 src/packages/Unity.4.0.1/lib/net45/Microsoft.Practices.Unity.xml delete mode 100644 src/packages/Unity.4.0.1/lib/portable-net45+wp80+win8+wpa81+MonoAndroid10+MonoTouch10/Microsoft.Practices.Unity.dll delete mode 100644 src/packages/Unity.4.0.1/lib/portable-net45+wp80+win8+wpa81+MonoAndroid10+MonoTouch10/Microsoft.Practices.Unity.xml delete mode 100644 src/packages/Unity.4.0.1/lib/win8/Microsoft.Practices.Unity.RegistrationByConvention.XML delete mode 100644 src/packages/Unity.4.0.1/lib/win8/Microsoft.Practices.Unity.RegistrationByConvention.dll delete mode 100644 src/packages/Unity.4.0.1/lib/win8/Microsoft.Practices.Unity.RegistrationByConvention.pri delete mode 100644 src/packages/Unity.4.0.1/lib/win8/Microsoft.Practices.Unity.dll delete mode 100644 src/packages/Unity.4.0.1/lib/win8/Microsoft.Practices.Unity.xml delete mode 100644 src/packages/Unity.4.0.1/lib/wp80/Microsoft.Practices.Unity.RegistrationByConvention.XML delete mode 100644 src/packages/Unity.4.0.1/lib/wp80/Microsoft.Practices.Unity.RegistrationByConvention.dll delete mode 100644 src/packages/Unity.4.0.1/lib/wp80/Microsoft.Practices.Unity.dll delete mode 100644 src/packages/Unity.4.0.1/lib/wp80/Microsoft.Practices.Unity.xml delete mode 100644 src/packages/repositories.config diff --git a/.gitignore b/.gitignore index 3e7c3d1..34c8dee 100644 --- a/.gitignore +++ b/.gitignore @@ -1,14 +1,388 @@ -obj -bin -_ReSharper.* -csproj.user -*.resharper.user -*.resharper +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. +## +## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore + +# User-specific files +*.rsuser *.suo -*.cache -*~ -*.swp -TestResults -LocalTestRun.testrunconfig -AutoMoq/TestResult *.user +*.userosscache +*.sln.docstates + +# User-specific files (MonoDevelop/Xamarin Studio) +*.userprefs + +# Mono auto generated files +mono_crash.* + +# Build results +[Dd]ebug/ +[Dd]ebugPublic/ +[Rr]elease/ +[Rr]eleases/ +x64/ +x86/ +[Ww][Ii][Nn]32/ +[Aa][Rr][Mm]/ +[Aa][Rr][Mm]64/ +bld/ +[Bb]in/ +[Oo]bj/ +[Ll]og/ +[Ll]ogs/ + +# Visual Studio 2015/2017 cache/options directory +.vs/ +# Uncomment if you have tasks that create the project's static files in wwwroot +#wwwroot/ + +# Visual Studio 2017 auto generated files +Generated\ Files/ + +# MSTest test Results +[Tt]est[Rr]esult*/ +[Bb]uild[Ll]og.* + +# NUnit +*.VisualState.xml +TestResult.xml +nunit-*.xml + +# Build Results of an ATL Project +[Dd]ebugPS/ +[Rr]eleasePS/ +dlldata.c + +# Benchmark Results +BenchmarkDotNet.Artifacts/ + +# .NET Core +project.lock.json +project.fragment.lock.json +artifacts/ + +# ASP.NET Scaffolding +ScaffoldingReadMe.txt + +# StyleCop +StyleCopReport.xml + +# Files built by Visual Studio +*_i.c +*_p.c +*_h.h +*.ilk +*.meta +*.obj +*.iobj +*.pch +*.pdb +*.ipdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.tmp_proj +*_wpftmp.csproj +*.log +*.tlog +*.vspscc +*.vssscc +.builds +*.pidb +*.svclog +*.scc + +# Chutzpah Test files +_Chutzpah* + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opendb +*.opensdf +*.sdf +*.cachefile +*.VC.db +*.VC.VC.opendb + +# Visual Studio profiler +*.psess +*.vsp +*.vspx +*.sap + +# Visual Studio Trace Files +*.e2e + +# TFS 2012 Local Workspace +$tf/ + +# Guidance Automation Toolkit +*.gpState + +# ReSharper is a .NET coding add-in +_ReSharper*/ +*.[Rr]e[Ss]harper +*.DotSettings.user + +# TeamCity is a build add-in +_TeamCity* + +# DotCover is a Code Coverage Tool +*.dotCover + +# AxoCover is a Code Coverage Tool +.axoCover/* +!.axoCover/settings.json + +# Coverlet is a free, cross platform Code Coverage Tool +coverage*.json +coverage*.xml +coverage*.info + +# Visual Studio code coverage results +*.coverage +*.coveragexml + +# NCrunch +_NCrunch_* +.*crunch*.local.xml +nCrunchTemp_* + +# MightyMoose +*.mm.* +AutoTest.Net/ + +# Web workbench (sass) +.sass-cache/ + +# Installshield output folder +[Ee]xpress/ + +# DocProject is a documentation generator add-in +DocProject/buildhelp/ +DocProject/Help/*.HxT +DocProject/Help/*.HxC +DocProject/Help/*.hhc +DocProject/Help/*.hhk +DocProject/Help/*.hhp +DocProject/Help/Html2 +DocProject/Help/html + +# Click-Once directory +publish/ + +# Publish Web Output +*.[Pp]ublish.xml +*.azurePubxml +# Note: Comment the next line if you want to checkin your web deploy settings, +# but database connection strings (with potential passwords) will be unencrypted +*.pubxml +*.publishproj + +# Microsoft Azure Web App publish settings. Comment the next line if you want to +# checkin your Azure Web App publish settings, but sensitive information contained +# in these scripts will be unencrypted +PublishScripts/ + +# NuGet Packages +*.nupkg +# NuGet Symbol Packages +*.snupkg +# The packages folder can be ignored because of Package Restore +**/[Pp]ackages/* +# except build/, which is used as an MSBuild target. +!**/[Pp]ackages/build/ +# Uncomment if necessary however generally it will be regenerated when needed +#!**/[Pp]ackages/repositories.config +# NuGet v3's project.json files produces more ignorable files +*.nuget.props +*.nuget.targets + +# Nuget personal access tokens and Credentials +nuget.config + +# Microsoft Azure Build Output +csx/ +*.build.csdef + +# Microsoft Azure Emulator +ecf/ +rcf/ + +# Windows Store app package directories and files +AppPackages/ +BundleArtifacts/ +Package.StoreAssociation.xml +_pkginfo.txt +*.appx +*.appxbundle +*.appxupload + +# Visual Studio cache files +# files ending in .cache can be ignored +*.[Cc]ache +# but keep track of directories ending in .cache +!?*.[Cc]ache/ + +# Others +ClientBin/ +~$* +*~ +*.dbmdl +*.dbproj.schemaview +*.jfm +*.pfx +*.publishsettings +orleans.codegen.cs + +# Including strong name files can present a security risk +# (https://github.com/github/gitignore/pull/2483#issue-259490424) +#*.snk + +# Since there are multiple workflows, uncomment next line to ignore bower_components +# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) +#bower_components/ + +# RIA/Silverlight projects +Generated_Code/ + +# Backup & report files from converting an old project file +# to a newer Visual Studio version. Backup files are not needed, +# because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML +UpgradeLog*.htm +ServiceFabricBackup/ +*.rptproj.bak + +# SQL Server files +*.mdf +*.ldf +*.ndf + +# Business Intelligence projects +*.rdl.data +*.bim.layout +*.bim_*.settings +*.rptproj.rsuser +*- [Bb]ackup.rdl +*- [Bb]ackup ([0-9]).rdl +*- [Bb]ackup ([0-9][0-9]).rdl + +# Microsoft Fakes +FakesAssemblies/ + +# GhostDoc plugin setting file +*.GhostDoc.xml + +# Node.js Tools for Visual Studio +.ntvs_analysis.dat +node_modules/ + +# Visual Studio 6 build log +*.plg + +# Visual Studio 6 workspace options file +*.opt + +# Visual Studio 6 auto-generated workspace file (contains which files were open etc.) +*.vbw + +# Visual Studio LightSwitch build output +**/*.HTMLClient/GeneratedArtifacts +**/*.DesktopClient/GeneratedArtifacts +**/*.DesktopClient/ModelManifest.xml +**/*.Server/GeneratedArtifacts +**/*.Server/ModelManifest.xml +_Pvt_Extensions + +# Paket dependency manager +.paket/paket.exe +paket-files/ + +# FAKE - F# Make +.fake/ + +# CodeRush personal settings +.cr/personal + +# Python Tools for Visual Studio (PTVS) +__pycache__/ +*.pyc + +# Cake - Uncomment if you are using it +# tools/** +# !tools/packages.config + +# Tabs Studio +*.tss + +# Telerik's JustMock configuration file +*.jmconfig + +# BizTalk build output +*.btp.cs +*.btm.cs +*.odx.cs +*.xsd.cs + +# OpenCover UI analysis results +OpenCover/ + +# Azure Stream Analytics local run output +ASALocalRun/ + +# MSBuild Binary and Structured Log +*.binlog + +# NVidia Nsight GPU debugger configuration file +*.nvuser + +# MFractors (Xamarin productivity tool) working folder +.mfractor/ + +# Local History for Visual Studio +.localhistory/ + +# BeatPulse healthcheck temp database +healthchecksdb + +# Backup folder for Package Reference Convert tool in Visual Studio 2017 +MigrationBackup/ + +# Ionide (cross platform F# VS Code tools) working folder +.ionide/ + +# Fody - auto-generated XML schema +FodyWeavers.xsd + +# VS Code files for those working on multiple tools +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json +*.code-workspace + +# Local History for Visual Studio Code +.history/ + +# Windows Installer files from build outputs +*.cab +*.msi +*.msix +*.msm +*.msp + +# JetBrains Rider +.idea/ +*.sln.iml diff --git a/src/AutoMoq/AutoMoq.csproj b/src/AutoMoq/AutoMoq.csproj index 5aa6631..7c37be9 100644 --- a/src/AutoMoq/AutoMoq.csproj +++ b/src/AutoMoq/AutoMoq.csproj @@ -44,7 +44,6 @@ ..\packages\CommonServiceLocator.2.0.6\lib\net45\CommonServiceLocator.dll - ..\packages\Unity.4.0.1\lib\net45\Microsoft.Practices.Unity.dll diff --git a/src/packages/Castle.Core.4.4.1/.signature.p7s b/src/packages/Castle.Core.4.4.1/.signature.p7s deleted file mode 100644 index 2b2aa94d1e4609b16de3deaddc9f0c02d15bce12..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9480 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 (#219) -- Remove `IAttributeDisassembler` which is no longer necessary (#219) - -Enhancements: -- Add IProxyGenerator interface for the ProxyGenerator class (#215) -- Improve default list of attributes to avoid replicating. Code Access Security attributes and MarshalAsAttribute will no longer be replicated (#221) - -Bugfixes: -- Fix building on Mono 4.6.1 -- Different attributes in `ProxyGenerationOptions.AdditionalAttributes` now generates different proxy types (#219) - -## 4.0.0-beta001 (2016-07-17) - -Breaking Changes: -- Update to log4net 1.2.15/2.0.5 (#199) -- Update to NLog 4.4.0-beta13 (#199) -- Update to Serilog 2.0.0 (#199) - -Enhancements: -- .NET Core 1.0 and .NET Standard 1.3 support (Jonathon Rossi, Jeremy Meng) -- Restore DynamicDictionary class - -Bugfixes: -- Fix target framework moniker in NuGet package for .NET Core (#174) - -## 4.0.0-alpha001 (2016-04-07) - -Breaking Changes: -- Remove all Silverlight support (#100, #150) -- Remove DynamicProxy's RemotableInvocation and remoting support for invocations (#110, #65) - -Enhancements: -- .NET Core DNX and dotnet5.4 support via feature conditional compilation (Jonathon Rossi, Jeremy Meng) -- Build script improvements and consolidate version numbers (Blair Conrad, #75, #152, #153) - -Bugfixes: -- Fix 'System.ArgumentException: Constant does not match the defined type' with optional, nullable enum method parameters (Daniel Yankowsky, #141, #149) -- Fix proxy generation hook notification for virtual but final methods (Axel Heer, #148) -- Fix InvalidCastException with custom attribute having an enum array parameter with non-int enum (@csharper2010, #104, #105) -- Update to Mono 4.0.2 and improve Mono support (#79, #95, #102) -- Fix 'System.ArrayTypeMismatchException: Source array type cannot be assigned to destination array type' on Mono (#81) -- Fix 'System.ArgumentException: System.Decimal is not a supported constant type' with optional method parameters (@fknx, #87, #91) -- Fix ProxyGenerator cache does not take into account AdditionalAttributes (@cmerat, #77, #78) -- Fix Castle.Services.Logging.SerilogIntegration.dll missing some assembly info attributes (@imzshh, #20, #82) - -## 3.3.3 (2014-11-06) -- Fix Serilog integration modifies LoggerConfiguration.MinimumLevel (#70) -- Add SourceContext to the Serilog logger (@KevivL, #69) - -## 3.3.2 (2014-11-03) -- fixed #66 - SerilogLogger implementation bug where exceptions were passed through incorrectly - -## 3.3.1 (2014-09-10) -- implemented #61 - Added support for Serilog - contributed by Russell J Baker (@ruba1987) - -## 3.3.0 (2014-04-27) -- implemented #51 - removed abandoned projects: Binder, Pagination, Validator -- implemented #49 - build NuGet and Zip packages from TeamCity - contributed by Blair Conrad (@blairconrad) -- implemented #42 - move complicated BuildInternalsVisibleMessageForType method out of DynamicProxyBuilder - contributed by Blair Conrad (@blairconrad) -- fixed #47 - Calling DynamicProxy proxy methods with multidimensional array parameters - contributed by Ed Parcell (@edparcell) -- fixed #44 - DictionaryAdapter FetchAttribute on type has no effect -- fixed #34 and #39 - inaccessible type parameters should give better error messages - contributed by Blair Conrad (@blairconrad) - -## 3.2.2 (2013-11-30) -- fixed #35 - ParameterBuilder.SetConstant fails when using a default value of null - contributed by (@jonasro) - -## 3.2.1 (2013-10-05) -- fixed #32 - Improve configuration of SmtpClient in sync sending - contributed by Artur Dorochowicz (@ArturDorochowicz) -- fixed #31 - [DynamicProxy] Preserve DefaultValues of proxied method's parameters (in .NET 4.5) -- fixed #30 - tailoring InternalsVisibleTo message based on assembly of inaccessible type - contributed by Blair Conrad (@blairconrad) -- fixed #27 - Allow dynamic proxy of generic interfaces which have generic methods, under Mono 2.10.8 and Mono 3.0.6 - contributed by Iain Ballard (@i-e-b) -- fixed #26 - Proxy of COM class issue, reference count incremented - contributed by Jean-Claude Viau (@jcviau) -- fixed DYNPROXY-188 - CreateInterfaceProxyWithoutTarget fails with interface containing member with 'ref UIntPtr' - contributed by Pier Janssen (@Pjanssen) -- fixed DYNPROXY-186 - .Net remoting (transparent proxy) cannot be proxied - contributed by Jean-Claude Viau (@jcviau) -- fixed DYNPROXY-185 - ProxyUtil.GetUnproxiedInstance returns proxy object for ClassProxyWithTarget instead of its target - contributed by Dmitry Xlestkov (@d-s-x) - -## 3.2.0 (2013-02-16) -- fixed DYNPROXY-179 - Exception when creating a generic proxy (from cache) -- fixed DYNPROXY-175 - invalid CompositionInvocation type used when code uses interface proxies with and without InterceptorSelector - -## 3.1.0 (2012-08-05) -- fixed DYNPROXY-174 - Unable to cast object of type 'System.Collections.ObjectModel.ReadOnlyCollection\`1[System.Reflection.CustomAttributeTypedArgument]' to type 'System.Array' - -## 3.1.0 RC (2012-07-08) -- support multiple inheritance of DA attributes on interfaces. -- BREAKING CHANGE: removed propagated child notifications as it violated INotifyPropertyChanged contract -- improved DictionaryAdapter performance -- generalized IBindingList support for DictionaryAdapters -- added reference support to XmlAdapter -- BREAKING CHANGE: refactored XPathAdapter into XmlAdapter with much more flexibility to support other input like XLinq -- implemented CORE-43 - Add option to skip configuring log4net/nlog -- fixed CORE-44 - NLog logger does not preserver call site info -- fixed DYNPROXY-171 - PEVerify error on generic method definition -- fixed DYNPROXY-170 - Calls to properties inside non-intercepted methods are not forwarded to target object (regression from v2.5) -- fixed DYNPROXY-169 - Support IChangeProxyTarget on additional interfaces and mixins when using CreateInterfaceProxyWithTargetInterface - -## 3.0.0 (2011-12-13) -- no major changes since RC - -## 3.0.0 RC 1 (2011-11-20) -- Applied Jeff Sharps patch that refactored Xml DictionaryAdapter to improve maintainability and enable more complete functionality -- fixed DYNPROXY-165 - Object.GetType() and Object.MemberwiseClone() should be ignored and not reported as non-interceptable to IProxyGenerationHook -- fixed DYNPROXY-164 - Invalid Proxy type generated when there are more than one base class generic constraints -- fixed DYNPROXY-162 - ref or out parameters can not be passed back if proxied method throw an exception - -## 3.0.0 beta 1 (2011-08-14) - -Breaking Changes: -* Removed overloads of logging methods that were taking format string from ILogger and ILogger and IExtendedLogger and didn't have word Format in their name. - * For example: - * void Error(string format, params object[] args); // was removed - * void ErrorFormat(string format, params object[] args); //use this one instead - * impact - low - * fixability - medium - * description - To minimize confusion and duplication those methods were removed. - * fix - Use methods that have explicit "Format" word in their name and same signature. -* Removed WebLogger and WebLoggerFactory - * impact - low - * fixability - medium - * description - To minimize management overhead the classes were removed so that only single Client Profile version of Castle.Core can be distributed. - * fix - You can use NLog or Log4Net web logger integration, or reuse implementation of existing web logger and use it as a custom logger. -* Removed obsolete overload of ProxyGenerator.CreateClassProxy - * impact - low - * fixability - trivial - * description - Deprecated overload of ProxyGenerator.CreateClassProxy was removed to keep the method consistent with other methods and to remove confusion - * fix - whenever removed overload was used, use one of the other overloads. -* IProxyGenerationHook.NonVirtualMemberNotification method was renamed - * impact - high - * fixability - easy - * description - to accommodate class proxies with target method NonVirtualMemberNotification on IProxyGenerationHook type was renamed to more accurate - NonProxyableMemberNotification since for class proxies with target not just methods but also fields and other member that break the abstraction will - be passed to this method. - * fix - whenever NonVirtualMemberNotification is used/implemented change the method name to - NonProxyableMemberNotification. Implementors should also accommodate possibility that not - only MethodInfos will be passed as method's second parameter. -* DynamicProxy will now allow to intercept members of System.Object - * impact - very low - * fixability - easy - * description - to allow scenarios like mocking of System.Object members, DynamicProxy will not - disallow proxying of these methods anymore. AllMethodsHook (default IProxyGenerationHook) - will still filter them out though. - * fix - whenever custom IProxyGenerationHook is used, user should account for System.Object's - members being now passed to ShouldInterceptMethod and NonVirtualMemberNotification methods - and if necessary update the code to handle them appropriately. - -Bugfixes: -- fixed CORE-37 - TAB characters in the XML Configuration of a component parameter is read as String.Empty -- fixed DYNPROXY-161 - Strong Named DynamicProxy Assembly Not Available in Silverlight -- fixed DYNPROXY-159 - Sorting MemberInfo array for serialization has side effects -- fixed DYNPROXY-158 - Can't create class proxy with target and without target in same ProxyGenerator -- fixed DYNPROXY-153 - When proxying a generic interface which has an interface as GenericType . No proxy can be created -- fixed DYNPROXY-151 - Cast error when using attributes -- implemented CORE-33 - Add lazy logging -- implemented DYNPROXY-156 - Provide mechanism for interceptors to implement retry logic -- removed obsolete members from ILogger and its implementations - -## 2.5.2 (2010-11-15) -- fixed DYNPROXY-150 - Finalizer should not be proxied -- implemented DYNPROXY-149 - Make AllMethodsHook members virtual so it can be used as a base class -- fixed DYNPROXY-147 - Can't create class proxies with two non-public methods having same argument types but different return type -- fixed DYNPROXY-145 Unable to proxy System.Threading.SynchronizationContext (.NET 4.0) -- fixed DYNPROXY-144 - params argument not supported in constructor -- fixed DYNPROXY-143 - Permit call to reach "non-proxied" methods of inherited interfaces -- implemented DYNPROXY-139 - Better error message -- fixed DYNPROXY-133 - Debug assertion in ClassProxyInstanceContributor fails when proxying ISerializable with an explicit implementation of GetObjectData -- fixed CORE-32 - Determining if permission is granted via PermissionUtil does not work in .NET 4 -- applied patch by Alwin Meijs - ExtendedLog4netFactory can be configured with a stream from for example an embedded log4net xml config -- Upgraded NLog to 2.0 Beta 1 -- Added DefaultXmlSerializer to bridge XPathAdapter with standard Xml Serialization. -- XPathAdapter for DictionaryAdapter added IXPathSerializer to provide hooks for custom serialization. - -## 2.5.1 (2010-09-21) -- Interface proxy with target Interface now accepts null as a valid target value (which can be replaced at a later stage). -- DictionaryAdapter behavior overrides are now ordered with all other behaviors -- BREAKING CHANGE: removed web logger so that by default Castle.Core works in .NET 4 client profile -- added parameter to ModuleScope disabling usage of signed modules. This is to workaround issue DYNPROXY-134. Also a descriptive exception message is being thrown now when the issue is detected. -- Added IDictionaryBehaviorBuilder to allow grouping behaviors -- Added GenericDictionaryAdapter to simplify generic value sources -- fixed issue DYNPROXY-138 - Error message missing space -- fixed false positive where DynamicProxy would not let you proxy interface with target interface when target object was a COM object. -- fixed ReflectionBasedDictionaryAdapter when using indexed properties - -## 2.5.0 (2010-08-21) -- DynamicProxy will now not replicate non-public attribute types -- Applied patch from Kenneth Siewers Møller which adds parameterless constructor to DefaultSmtpSender implementation, to be able to configure the inner SmtpClient from the application configuration file (system.net.smtp). -- added support for .NET 4 and Silverlight 4, updated solution to VisualStudio 2010 -- Removed obsolete overload of CreateClassProxy -- Added class proxy with target -- Added ability to intercept explicitly implemented generic interface methods on class proxy. -- DynamicProxy does not disallow intercepting members of System.Object anymore. AllMethodsHook will still filter them out though. -- Added ability to intercept explicitly implemented interface members on class proxy. Does not support generic members. -- Merged DynamicProxy into Core binary -- fixed DYNPROXY-ISSUE-132 - "MetaProperty equals implementation incorrect" -- Fixed bug in DiagnosticsLoggerTestCase, where when running as non-admin, the teardown will throw SecurityException (contributed by maxild) -- Split IoC specific classes into Castle.Windsor project -- Merged logging services solution -- Merged DynamicProxy project - -## 1.2.0 (2010-01-11) -- Added IEmailSender interface and its default implementation - -## 1.2.0 beta (2009-12-04) -- BREAKING CHANGE - added ChangeProxyTarget method to IChangeProxyTarget interface -- added docs to IChangeProxyTarget methods -- Fixed DYNPROXY-ISSUE-108 - Obtaining replicated custom attributes on proxy may fail when property setter throws exception on default value -- Moved custom attribute replication from CustomAttributeUtil to new interface - IAttributeDisassembler -- Exposed IAttributeDisassembler via ProxyGenerationOptions, so that users can plug their implementation for some convoluted scenarios. (for Silverlight) -- Moved IInterceptorSelector from Dynamic Proxy to Core (IOC-ISSUE-156) - -## 1.1.0 (2009-05-04) -- Applied Eric Hauser's patch fixing CORE-ISSUE-22 - "Support for environment variables in resource URI" -- Applied Gauthier Segay's patch fixing CORE-ISSUE-20 - "Castle.Core.Tests won't build via nant because it use TraceContext without referencing System.Web.dll" -- Added simple interface to ComponentModel to make optional properties required. -- Applied Mark's -- -- patch that changes - the Core to support being compiled for Silverlight 2 -- Applied Louis DeJardin's patch adding TraceLogger as a new logger implementation -- Applied Chris Bilson's patch fixing CORE-15 - "WebLogger Throws When Logging Outside of an HttpContext" - -## Release Candidate 3 -- Added IServiceProviderEx which extends IServiceProvider -- Added Pair class. -- Applied Bill Pierce's patch fixing CORE-9 - "Allow CastleComponent Attribute to Specify Lifestyle in Constructor" -- Added UseSingleInterfaceProxy to CompomentModel to control the proxying - behavior while maintaining backward compatibility. - Added the corresponding ComponentProxyBehaviorAttribute. -- Made NullLogger and IExtnededLogger -- Enabled a new format on ILogger interface, with 6 overloads for each method: - - Debug(string) - - Debug(string, Exception) - - Debug(string, params object[]) - - DebugFormat(string, params object[]) - - DebugFormat(Exception, string, params object[]) - - DebugFormat(IFormatProvider, string, params object[]) - - DebugFormat(IFormatProvider, Exception, string, params object[]) - - The "FatalError" overloads where marked as [Obsolete], replaced by "Fatal" and "FatalFormat". - -## 0.0.1.0 -- Included IProxyTargetAccessor -- Removed IMethodInterceptor and IMethodInvocation, that have been replaced by IInterceptor and IInvocation -- Added FindByPropertyInfo to PropertySetCollection -- Made the DependencyModel.IsOptional property writable -- Applied Curtis Schlak's patch fixing IOC-27 - "assembly resource format only works for resources where the assemblies name and default namespace are the same." - - Quoting: - - "I chose to preserve backwards compatibility by implementing the code in the - reverse order as suggested by the reporter. Given the following URI for a resource: - - assembly://my.cool.assembly/context/moo/file.xml - - It will initially look for an embedded resource with the manifest name of - "my.cool.assembly.context.moo.file.xml" in the loaded assembly my.cool.assembly.dll. - If it does not find it, then it looks for the embedded resource with the manifest name - of "context.moo.file.xml". -- IServiceEnabledComponent Introduced to be used across the project as - a standard way to have access to common services, for example, logger factories -- Added missing log factories -- Refactor StreamLogger and DiagnosticLogger to be more consistent behavior-wise -- Refactored WebLogger to extend LevelFilteredLogger (removed duplication) -- Refactored LoggerLevel order -- Project started diff --git a/src/packages/Castle.Core.4.4.1/Castle.Core.4.4.1.nupkg b/src/packages/Castle.Core.4.4.1/Castle.Core.4.4.1.nupkg deleted file mode 100644 index 5b7f0c4994f0bcbd67c5cfbb15e800900b562176..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 919111 zcmV)IK)kq>G)4!tsN9{DBfMbCHJ=cmnq&XCJZI+>7I3Ar@#Q_kT8|8=I#IkDq~9~5Za}I|cd(k4&1#Jk$zj#j%Lx>!Rt;51R$;g~wpavJ-}O?rO|6G7 z$BlUS;Pw+xO9KQH0000807+P;P-{~7H39s+Y`@~Bh~>s+Y`@~Bh~@!SKn{bFc5x6;(xI6 z1X64F*APN!rqUJ(X-sGx60fdvO%0A6Y=<`c>#-BJ%Q{WnpnE}ksFd^FeRsM0?&`$n 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%0D#>H-u&^CB* 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

=m@U~V4YyTQf|$93hgm$|N;r~4w&TqkD% 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

}4{=+J|Mu;%xG7Iwic_D!~2o@Zr_U{S@XwyFU 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\(_?a}Q61_piGJtn6#kohAVbvr8Y8C?)0LD5DF; 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%0DA0$Tfn6(Qb1fpGGUG&aOE`Ef3(Y=nVruer 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�wMMc`C(cnNwEWb${ov@H@O#-IySv-{kYpa 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

>-+y3s?_9o6 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­JxJ>aAuRu8T&*6=B@m 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 diff --git a/src/packages/Castle.Core.4.4.1/LICENSE b/src/packages/Castle.Core.4.4.1/LICENSE deleted file mode 100644 index ebb9ac9..0000000 --- a/src/packages/Castle.Core.4.4.1/LICENSE +++ /dev/null @@ -1,13 +0,0 @@ -Copyright 2004-2016 Castle Project - http://www.castleproject.org/ - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. \ No newline at end of file diff --git a/src/packages/Castle.Core.4.4.1/lib/net35/Castle.Core.xml b/src/packages/Castle.Core.4.4.1/lib/net35/Castle.Core.xml deleted file mode 100644 index 02ab92e..0000000 --- a/src/packages/Castle.Core.4.4.1/lib/net35/Castle.Core.xml +++ /dev/null @@ -1,6124 +0,0 @@ - - - - Castle.Core - - - -

- Abstract adapter for the support - needed by the - - - - - Adds an element with the provided key and value to the object. - - The to use as the key of the element to add. - The to use as the value of the element to add. - An element with the same key already exists in the object. - key is null. - The is read-only.-or- The has a fixed size. - - - - Removes all elements from the object. - - The object is read-only. - - - - Determines whether the object contains an element with the specified key. - - The key to locate in the object. - - true if the contains an element with the key; otherwise, false. - - key is null. - - - - Returns an object for the object. - - - An object for the object. - - - - - Gets a value indicating whether the object has a fixed size. - - true if the object has a fixed size; otherwise, false. - - - - Gets a value indicating whether the object is read-only. - - true if the object is read-only; otherwise, false. - - - - Gets an object containing the keys of the object. - - An object containing the keys of the object. - - - - Removes the element with the specified key from the object. - - The key of the element to remove. - The object is read-only.-or- The has a fixed size. - key is null. - - - - Gets an object containing the values in the object. - - An object containing the values in the object. - - - - Gets or sets the with the specified key. - - - - - Copies the elements of the to an , starting at a particular index. - - The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. - The zero-based index in array at which copying begins. - array is null. - The type of the source cannot be cast automatically to the type of the destination array. - index is less than zero. - array is multidimensional.-or- index is equal to or greater than the length of array.-or- The number of elements in the source is greater than the available space from index to the end of the destination array. - - - - Gets the number of elements contained in the . - - The number of elements contained in the . - - - - Gets a value indicating whether access to the is synchronized (thread safe). - - true if access to the is synchronized (thread safe); otherwise, false. - - - - Gets an object that can be used to synchronize access to the . - - An object that can be used to synchronize access to the . - - - - Returns an enumerator that iterates through a collection. - - - An object that can be used to iterate through the collection. - - - - - Abstract implementation of . - - - - - Identifies a property should be represented as a nested component. - - - - - Applies no prefix. - - - - - Gets or sets the prefix. - - The prefix. - - - - Identifies the dictionary adapter types. - - - - - Assigns a specific dictionary key. - - - - - Identifies an interface or property to be pre-fetched. - - - - - Instructs fetching to occur. - - - - - Instructs fetching according to - - - - - Gets whether or not fetching should occur. - - - - - Assigns a property to a group. - - - - - Constructs a group assignment. - - The group name. - - - - Constructs a group assignment. - - The group name. - - - - Gets the group the property is assigned to. - - - - - Suppresses any on-demand behaviors. - - - - - Assigns a specific dictionary key. - - - - - Initializes a new instance of the class. - - The key. - - - - Initializes a new instance of the class. - - The compound key. - - - - Assigns a prefix to the keyed properties of an interface. - - - Key prefixes are not inherited by sub-interfaces. - - - - - Initializes a default instance of the class. - - - - - Initializes a new instance of the class. - - The prefix for the keyed properties of the interface. - - - - Gets the prefix key added to the properties of the interface. - - - - - Substitutes part of key with another string. - - - - - Initializes a new instance of the class. - - The old value. - The new value. - - - - Requests support for multi-level editing. - - - - - Generates a new GUID on demand. - - - - - Support for on-demand value resolution. - - - - - Specifies assignment by reference rather than by copying. - - - - - Removes a property if matches value. - - - - - Removes a property if null or empty string, guid or collection. - - - - - Provides simple string formatting from existing properties. - - - - - Gets the string format. - - - - - Gets the format properties. - - - - - Identifies a property should be represented as a delimited string value. - - - - - Gets the separator. - - - - - Converts all properties to strings. - - - - - Gets or sets the format. - - The format. - - - - Suppress property change notifications. - - - - - Assigns a prefix to the keyed properties using the interface name. - - - - - Indicates that underlying values are changeable and should not be cached. - - - - - Initializes a new instance of the class - that represents a child object in a larger object graph. - - - - - Manages conversion between property values. - - - - - Initializes a new instance of the class. - - The converter. - - - - - - - - - Gets the effective dictionary value. - - The dictionary adapter. - The key. - The stored value. - The property. - true if return only existing. - The effective property value. - - - - Uses Reflection.Emit to expose the properties of a dictionary - through a dynamic implementation of a typed interface. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Contract for manipulating the Dictionary adapter. - - - - - Defines the contract for building typed dictionary adapters. - - - - - Gets a typed adapter bound to the . - - The typed interface. - The underlying source of properties. - An implementation of the typed interface bound to the dictionary. - - The type represented by T must be an interface with properties. - - - - - Gets a typed adapter bound to the . - - The typed interface. - The underlying source of properties. - An implementation of the typed interface bound to the dictionary. - - The type represented by T must be an interface with properties. - - - - - Gets a typed adapter bound to the . - - The typed interface. - The underlying source of properties. - The property descriptor. - An implementation of the typed interface bound to the dictionary. - - The type represented by T must be an interface with properties. - - - - - Gets a typed adapter bound to the . - - The typed interface. - The underlying source of properties. - An implementation of the typed interface bound to the namedValues. - - The type represented by T must be an interface with properties. - - - - - Gets a typed adapter bound to the . - - The typed interface. - The underlying source of properties. - An implementation of the typed interface bound to the namedValues. - - The type represented by T must be an interface with properties. - - - - - Gets a typed adapter bound to the . - - The typed interface. - The underlying source of properties. - An implementation of the typed interface bound to the . - - The type represented by T must be an interface with properties. - - - - - Gets a typed adapter bound to the . - - The typed interface. - The underlying source of properties. - An implementation of the typed interface bound to the . - - The type represented by T must be an interface with properties. - - - - - Gets the associated with the type. - - The typed interface. - The adapter meta-data. - - - - Gets the associated with the type. - - The typed interface. - The property descriptor. - The adapter meta-data. - - - - Gets the associated with the type. - - The typed interface. - Another from which to copy behaviors. - The adapter meta-data. - - - - Contract for traversing a . - - - - - Defines the contract for customizing dictionary access. - - - - - Determines relative order to apply related behaviors. - - - - - Copies the dictionary behavior. - - null if should not be copied. Otherwise copy. - - - - Defines the contract for building s. - - - - - Builds the dictionary behaviors. - - - - - Contract for creating additional Dictionary adapters. - - - - - Contract for editing the Dictionary adapter. - - - - - Contract for dictionary initialization. - - - - - Performs any initialization of the - - The dictionary adapter. - The dictionary behaviors. - - - - Defines the contract for building typed dictionary keys. - - - - - Builds the specified key. - - The dictionary adapter. - The current key. - The property. - The updated key - - - - Contract for dictionary meta-data initialization. - - - - - Initializes the given object. - - The dictionary adapter factory. - The dictionary adapter meta. - - - - - Determines whether the given behavior should be included in a new - object. - - A dictionary behavior or annotation. - True if the behavior should be included; otherwise, false. - - behaviors are always included, - regardless of the result of this method. - - - - - - Contract for managing Dictionary adapter notifications. - - - - - Defines the contract for retrieving dictionary values. - - - - - Gets the effective dictionary value. - - The dictionary adapter. - The key. - The stored value. - The property. - true if return only existing. - The effective property value. - - - - Defines the contract for updating dictionary values. - - - - - Sets the stored dictionary value. - - The dictionary adapter. - The key. - The stored value. - The property. - true if the property should be stored. - - - - Contract for validating Dictionary adapter. - - - - - Contract for dictionary validation. - - - - - Determines if is valid. - - The dictionary adapter. - true if valid. - - - - Validates the . - - The dictionary adapter. - The error summary information. - - - - Validates the for a property. - - The dictionary adapter. - The property to validate. - The property summary information. - - - - Invalidates any results cached by the validator. - - The dictionary adapter. - - - - Contract for property descriptor initialization. - - - - - Performs any initialization of the - - The property descriptor. - The property behaviors. - - - - - - - - - Initializes a new instance of the class. - - The name values. - - - - Gets a value indicating whether the object is read-only. - - true if the object is read-only; otherwise, false. - - - - Determines whether the object contains an element with the specified key. - - The key to locate in the object. - - true if the contains an element with the key; otherwise, false. - - key is null. - - - - Gets or sets the with the specified key. - - - - - Adapts the specified name values. - - The name values. - - - - Describes a dictionary property. - - - - - Initializes an empty class. - - - - - Initializes a new instance of the class. - - The property. - The annotations. - - - - Initializes a new instance class. - - - - - Copies an existing instance of the class. - - - - - - - - - - Gets the property name. - - - - - Gets the property type. - - - - - Gets the property. - - The property. - - - - Returns true if the property is dynamic. - - - - - Gets additional state. - - - - - Determines if property should be fetched. - - - - - Determines if property must exist first. - - - - - Determines if notifications should occur. - - - - - Gets the property behaviors. - - - - - Gets the type converter. - - The type converter. - - - - Gets the extended properties. - - - - - Gets the setter. - - The setter. - - - - Gets the key builders. - - The key builders. - - - - Gets the setter. - - The setter. - - - - Gets the getter. - - The getter. - - - - Gets the initializers. - - The initializers. - - - - Gets the meta-data initializers. - - The meta-data initializers. - - - - Gets the key. - - The dictionary adapter. - The key. - The descriptor. - - - - Gets the property value. - - The dictionary adapter. - The key. - The stored value. - The descriptor. - true if return only existing. - - - - Sets the property value. - - The dictionary adapter. - The key. - The value. - The descriptor. - - - - Adds a single behavior. - - The behavior. - - - - Adds the behaviors. - - The behaviors. - - - - Adds the behaviors. - - The behaviors. - - - - Copies the behaviors to the other - - - - - Copies the - - - - - Provides a generic collection that supports data binding. - - - This class wraps the CLR - in order to implement the Castle-specific . - - The type of elements in the list. - - - - Initializes a new instance of the class - using default values. - - - - - Initializes a new instance of the class - with the specified list. - - - An of items - to be contained in the . - - - - - Initializes a new instance of the class - wrapping the specified instance. - - - A - to be wrapped by the . - - - - - Contract for value matching. - - - - - Contract for dynamic value resolution. - - - - - Contract for typed dynamic value resolution. - - - - - - This is an abstract implementation - that deals with methods that can be abstracted away - from underlying implementations. - - - AbstractConfiguration makes easier to implementers - to create a new version of - - - - - Gets node attributes. - - - All attributes of the node. - - - - - Gets all child nodes. - - The of child nodes. - - - - Gets the name of the . - - - The Name of the . - - - - - Gets the value of . - - - The Value of the . - - - - - Gets the value of the node and converts it - into specified . - - The - - The Default value returned if the conversion fails. - - The Value converted into the specified type. - - - - A collection of objects. - - - - - Creates a new instance of ConfigurationCollection. - - - - - Creates a new instance of ConfigurationCollection. - - - - - is a interface encapsulating a configuration node - used to retrieve configuration values. - - - - - Gets the name of the node. - - - The Name of the node. - - - - - Gets the value of the node. - - - The Value of the node. - - - - - Gets an of - elements containing all node children. - - The Collection of child nodes. - - - - Gets an of the configuration attributes. - - - - - Gets the value of the node and converts it - into specified . - - The - - The Default value returned if the conversion fails. - - The Value converted into the specified type. - - - - Initializes a new instance of the class. - - The name. - - - - Gets the value of . - - - The Value of the . - - - - - Deserializes the specified node into an abstract representation of configuration. - - The node. - - - - If a config value is an empty string we return null, this is to keep - backward compatibility with old code - - - - - Helper class for retrieving attributes. - - - - - Gets the attribute. - - The type. - The type attribute. - - - - Gets the attributes. Does not consider inherited attributes! - - The type. - The type attributes. - - - - Gets the attribute. - - The member. - The member attribute. - - - - Gets the attributes. Does not consider inherited attributes! - - The member. - The member attributes. - - - - Gets the type attribute. - - The type. - The type attribute. - - - - Gets the type attributes. - - The type. - The type attributes. - - - - Gets the type converter. - - The member. - - - - Checks whether or not collection is null or empty. Assumes collection can be safely enumerated multiple times. - - - - - Generates a HashCode for the contents for the list. Order of items does not matter. - - The type of object contained within the list. - The list. - The generated HashCode. - - - - Determines if two lists are equivalent. Equivalent lists have the same number of items and each item is found within the other regardless of respective position within each. - - The type of object contained within the list. - The first list. - The second list. - True if the two lists are equivalent. - - - - Constant to use when making assembly internals visible to Castle.Core - [assembly: InternalsVisibleTo(CoreInternalsVisible.ToCastleCore)] - - - - - Constant to use when making assembly internals visible to proxy types generated by DynamicProxy. Required when proxying internal types. - [assembly: InternalsVisibleTo(CoreInternalsVisible.ToDynamicProxyGenAssembly2)] - - - - - Creates a new lock. - - - - - Find the best available name to describe a type. - - - Usually the best name will be , but - sometimes that's null (see http://msdn.microsoft.com/en-us/library/system.type.fullname%28v=vs.110%29.aspx) - in which case the method falls back to . - - the type to name - the best name - - - - Defines that the implementation wants a - in order to - access other components. The creator must be aware - that the component might (or might not) implement - the interface. - - - Used by Castle Project components to, for example, - gather logging factories - - - - - Increments IServiceProvider with a generic service resolution operation. - - - - - This interface should be implemented by classes - that are available in a bigger context, exposing - the container to different areas in the same application. - - For example, in Web application, the (global) HttpApplication - subclasses should implement this interface to expose - the configured container - - - - - - Creates a new extended logger, getting the logger name from the specified type. - - - - - Creates a new extended logger. - - - - - Creates a new extended logger, getting the logger name from the specified type. - - - - - Creates a new extended logger. - - - - - Creates a new logger, getting the logger name from the specified type. - - - - - Creates a new logger. - - - - - Creates a new logger, getting the logger name from the specified type. - - - - - Creates a new logger. - - - - - Gets the configuration file. - - i.e. log4net.config - - - - Gets the configuration file. - - i.e. log4net.config - - - - The Logger sending everything to the standard output streams. - This is mainly for the cases when you have a utility that - does not have a logger to supply. - - - - - Creates a new ConsoleLogger with the Level - set to LoggerLevel.Debug and the Name - set to String.Empty. - - - - - Creates a new ConsoleLogger with the Name - set to String.Empty. - - The logs Level. - - - - Creates a new ConsoleLogger with the Level - set to LoggerLevel.Debug. - - The logs Name. - - - - Creates a new ConsoleLogger. - - The logs Name. - The logs Level. - - - - A Common method to log. - - The level of logging - The name of the logger - The Message - The Exception - - - - Returns a new ConsoleLogger with the name - added after this loggers name, with a dot in between. - - The added hierarchical name. - A new ConsoleLogger. - - - - The Logger using standard Diagnostics namespace. - - - - - Creates a logger based on . - - - - - - Creates a logger based on . - - - - - - - Creates a logger based on . - - - - - - - - Interface for Context Properties implementations - - - - This interface defines a basic property get set accessor. - - - Based on the ContextPropertiesBase of log4net, by Nicko Cadell. - - - - - - Gets or sets the value of a property - - - The value for the property with the specified key - - - - Gets or sets the value of a property - - - - - - Provides an interface that supports and - allows the storage and retrieval of Contexts. These are supported in - both log4net and NLog. - - - - - Exposes the Global Context of the extended logger. - - - - - Exposes the Thread Context of the extended logger. - - - - - Exposes the Thread Stack of the extended logger. - - - - - Provides a factory that can produce either or - classes. - - - - - Creates a new extended logger, getting the logger name from the specified type. - - - - - Creates a new extended logger. - - - - - Creates a new extended logger, getting the logger name from the specified type. - - - - - Creates a new extended logger. - - - - - Manages logging. - - - This is a facade for the different logging subsystems. - It offers a simplified interface that follows IOC patterns - and a simplified priority/level/severity abstraction. - - - - - Determines if messages of priority "trace" will be logged. - - True if "trace" messages will be logged. - - - - Determines if messages of priority "debug" will be logged. - - True if "debug" messages will be logged. - - - - Determines if messages of priority "error" will be logged. - - True if "error" messages will be logged. - - - - Determines if messages of priority "fatal" will be logged. - - True if "fatal" messages will be logged. - - - - Determines if messages of priority "info" will be logged. - - True if "info" messages will be logged. - - - - Determines if messages of priority "warn" will be logged. - - True if "warn" messages will be logged. - - - - Create a new child logger. - The name of the child logger is [current-loggers-name].[passed-in-name] - - The Subname of this logger. - The New ILogger instance. - If the name has an empty element name. - - - - Logs a trace message. - - The message to log - - - - Logs a trace message with lazily constructed message. The message will be constructed only if the is true. - - - - - Logs a trace message. - - The exception to log - The message to log - - - - Logs a trace message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a trace message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a trace message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a trace message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The message to log - - - - Logs a debug message with lazily constructed message. The message will be constructed only if the is true. - - - - - Logs a debug message. - - The exception to log - The message to log - - - - Logs a debug message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The message to log - - - - Logs an error message with lazily constructed message. The message will be constructed only if the is true. - - - - - Logs an error message. - - The exception to log - The message to log - - - - Logs an error message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The message to log - - - - Logs a fatal message with lazily constructed message. The message will be constructed only if the is true. - - - - - Logs a fatal message. - - The exception to log - The message to log - - - - Logs a fatal message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The message to log - - - - Logs a info message with lazily constructed message. The message will be constructed only if the is true. - - - - - Logs an info message. - - The exception to log - The message to log - - - - Logs an info message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The message to log - - - - Logs a warn message with lazily constructed message. The message will be constructed only if the is true. - - - - - Logs a warn message. - - The exception to log - The message to log - - - - Logs a warn message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Manages the instantiation of s. - - - - - Creates a new logger, getting the logger name from the specified type. - - - - - Creates a new logger. - - - - - Creates a new logger, getting the logger name from the specified type. - - - - - Creates a new logger. - - - - - The Level Filtered Logger class. This is a base class which - provides a LogLevel attribute and reroutes all functions into - one Log method. - - - - - Creates a new LevelFilteredLogger. - - - - - Keep the instance alive in a remoting scenario - - - - - The LoggerLevel that this logger - will be using. Defaults to LoggerLevel.Off - - - - - The name that this logger will be using. - Defaults to String.Empty - - - - - Logs a trace message. - - The message to log - - - - Logs a trace message. - - A functor to create the message - - - - Logs a trace message. - - The exception to log - The message to log - - - - Logs a trace message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a trace message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a trace message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a trace message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The message to log - - - - Logs a debug message. - - The exception to log - The message to log - - - - Logs a debug message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The message to log - - - - Logs an info message. - - The exception to log - The message to log - - - - Logs an info message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The message to log - - - - Logs a warn message. - - The exception to log - The message to log - - - - Logs a warn message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The message to log - - - - Logs an error message. - - The exception to log - The message to log - - - - Logs an error message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The message to log - - - - Logs a fatal message. - - The exception to log - The message to log - - - - Logs a fatal message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Determines if messages of priority "trace" will be logged. - - true if log level flags include the bit - - - - Determines if messages of priority "debug" will be logged. - - true if log level flags include the bit - - - - Determines if messages of priority "info" will be logged. - - true if log level flags include the bit - - - - Determines if messages of priority "warn" will be logged. - - true if log level flags include the bit - - - - Determines if messages of priority "error" will be logged. - - true if log level flags include the bit - - - - Determines if messages of priority "fatal" will be logged. - - true if log level flags include the bit - - - - Implementors output the log content by implementing this method only. - Note that exception can be null - - - - - Supporting Logger levels. - - - - - Logging will be off - - - - - Fatal logging level - - - - - Error logging level - - - - - Warn logging level - - - - - Info logging level - - - - - Debug logging level - - - - - Trace logging level - - - - - NullLogFactory used when logging is turned off. - - - - - Creates an instance of ILogger with the specified name. - - Name. - - - - Creates an instance of ILogger with the specified name and LoggerLevel. - - Name. - Level. - - - - The Null Logger class. This is useful for implementations where you need - to provide a logger to a utility class, but do not want any output from it. - It also helps when you have a utility that does not have a logger to supply. - - - - - Returns empty context properties. - - - - - Returns empty context properties. - - - - - Returns empty context stacks. - - - - - No-op. - - false - - - - No-op. - - false - - - - No-op. - - false - - - - No-op. - - false - - - - No-op. - - false - - - - No-op. - - false - - - - Returns this NullLogger. - - Ignored - This ILogger instance. - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - The Stream Logger class. This class can stream log information - to any stream, it is suitable for storing a log file to disk, - or to a MemoryStream for testing your components. - - - This logger is not thread safe. - - - - - Creates a new StreamLogger with default encoding - and buffer size. Initial Level is set to Debug. - - - The name of the log. - - - The stream that will be used for logging, - seeking while the logger is alive - - - - - Creates a new StreamLogger with default buffer size. - Initial Level is set to Debug. - - - The name of the log. - - - The stream that will be used for logging, - seeking while the logger is alive - - - The encoding that will be used for this stream. - - - - - - Creates a new StreamLogger. - Initial Level is set to Debug. - - - The name of the log. - - - The stream that will be used for logging, - seeking while the logger is alive - - - The encoding that will be used for this stream. - - - - The buffer size that will be used for this stream. - - - - - - Creates a new StreamLogger with - Debug as default Level. - - The name of the log. - The StreamWriter the log will write to. - - - - Creates outputting - to files. The name of the file is derived from the log name - plus the 'log' extension. - - - - - The TraceLogger sends all logging to the System.Diagnostics.TraceSource - built into the .net framework. - - - Logging can be configured in the system.diagnostics configuration - section. - - If logger doesn't find a source name with a full match it will - use source names which match the namespace partially. For example you can - configure from all castle components by adding a source name with the - name "Castle". - - If no portion of the namespace matches the source named "Default" will - be used. - - - - - Build a new trace logger based on the named TraceSource - - The name used to locate the best TraceSource. In most cases comes from the using type's fullname. - - - - Build a new trace logger based on the named TraceSource - - The name used to locate the best TraceSource. In most cases comes from the using type's fullname. - The default logging level at which this source should write messages. In almost all cases this - default value will be overridden in the config file. - - - - Create a new child logger. - The name of the child logger is [current-loggers-name].[passed-in-name] - - The Subname of this logger. - The New ILogger instance. - - - - Used to create the TraceLogger implementation of ILogger interface. See . - - - - - General purpose class to represent a standard pair of values. - - Type of the first value - Type of the second value - - - - Constructs a pair with its values - - - - - List of utility methods related to dynamic proxy operations - - - - - Determines whether the specified type is a proxy generated by - DynamicProxy (1 or 2). - - The type. - - true if it is a proxy; otherwise, false. - - - - - Readonly implementation of which uses an anonymous object as its source. Uses names of properties as keys, and property values as... well - values. Keys are not case sensitive. - - - - - Initializes a new instance of the class. - - The target. - - - - Gets the number of elements contained in the . - - The number of elements contained in the . - - - - Gets a value indicating whether access to the is synchronized (thread safe). - - true if access to the is synchronized (thread safe); otherwise, false. - - - - Gets an object that can be used to synchronize access to the . - - An object that can be used to synchronize access to the . - - - - Gets a value indicating whether the object is read-only. - - true if the object is read-only; otherwise, false. - - - - Gets or sets the with the specified key. - - - - - Gets an object containing the keys of the object. - - An object containing the keys of the object. - - - - Gets an object containing the values in the object. - - An object containing the values in the object. - - - - Gets a value indicating whether the object has a fixed size. - - true if the object has a fixed size; otherwise, false. - - - - Adds an element with the provided key and value to the object. - - The to use as the key of the element to add. - The to use as the value of the element to add. - - is null. - An element with the same key already exists in the object. - The is read-only.-or- The has a fixed size. - - - - Removes all elements from the object. - - The object is read-only. - - - - Determines whether the object contains an element with the specified key. - - The key to locate in the object. - - true if the contains an element with the key; otherwise, false. - - - is null. - - - - Removes the element with the specified key from the object. - - The key of the element to remove. - - is null. - The object is read-only.-or- The has a fixed size. - - - - Returns an enumerator that iterates through a collection. - - - An object that can be used to iterate through the collection. - - - - - Copies the elements of the to an , starting at a particular index. - - The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. - The zero-based index in at which copying begins. - - is null. - - is less than zero. - - is multidimensional.-or- is equal to or greater than the length of .-or- The number of elements in the source is greater than the available space from to the end of the destination . - The type of the source cannot be cast automatically to the type of the destination . - - - - Returns an object for the object. - - - An object for the object. - - - - - Reads values of properties from and inserts them into using property names as keys. - - - - - - - - - - This returns a new stream instance each time it is called. - It is the responsibility of the caller to dispose of this stream - - - - - - - - - - - - - - - Represents a 'streamable' resource. Can - be a file, a resource in an assembly. - - - - - Only valid for resources that - can be obtained through relative paths - - - - - Returns a reader for the stream - - - It's up to the caller to dispose the reader. - - - - - Returns a reader for the stream - - - It's up to the caller to dispose the reader. - - - - - Returns an instance of - created according to the relativePath - using itself as the root. - - - - - Depicts the contract for resource factories. - - - - - Used to check whether the resource factory - is able to deal with the given resource - identifier. - - - Implementors should return true - only if the given identifier is supported - by the resource factory - - - - - Creates an instance - for the given resource identifier - - - - - Creates an instance - for the given resource identifier - - - - - Adapts a static string content as an - - - - - Enable access to files on network shares - - - - - Default implementation. - - - - - Initializes a new instance of the class based on the configuration provided in the application configuration file. - - - This constructor is based on the default configuration in the application configuration file. - - - - - This service implementation - requires a host name in order to work - - The smtp server name - - - - Gets or sets the port used to - access the SMTP server - - - - - Gets the hostname. - - The hostname. - - - - Gets or sets a value which is used to - configure if emails are going to be sent asynchronously or not. - - - - - Gets or sets a value that specifies - the amount of time after which a synchronous Send call times out. - - - - - Gets or sets a value indicating whether the email should be sent using - a secure communication channel. - - true if should use SSL; otherwise, false. - - - - Sends a message. - - If any of the parameters is null - From field - To field - e-mail's subject - message's body - - - - Sends a message. - - If the message is null - Message instance - - - - Gets or sets the domain. - - The domain. - - - - Gets or sets the name of the user. - - The name of the user. - - - - Gets or sets the password. - - The password. - - - - Configures the sender - with port information and eventual credential - informed - - Message instance - - - - Gets a value indicating whether credentials were informed. - - - if this instance has credentials; otherwise, . - - - - - Email sender abstraction. - - - - - Sends a mail message. - - From field - To field - E-mail's subject - message's body - - - - Sends a message. - - Message instance - - - - Sends multiple messages. - - List of messages - - - - Interface describing elements composing generated type - - - - - Performs some basic screening and invokes the - to select methods. - - - - - Encapsulates the information needed to build an attribute. - - - Arrays passed to this class as constructor arguments or property or field values become owned by this class. - They should not be mutated after creation. - - - - - Default implementation of interface producing in-memory proxy assemblies. - - - - - Initializes a new instance of the class with new . - - - - - Initializes a new instance of the class. - - The module scope for generated proxy types. - - - - Provides instructions that a user could follow to make a type or method in - visible to DynamicProxy. - The assembly containing the type or method. - Instructions that a user could follow to make a type or method visible to DynamicProxy. - - - - Creates a message to inform clients that a proxy couldn't be created due to reliance on an - inaccessible type (perhaps itself). - - the inaccessible type that prevents proxy creation - the type that couldn't be proxied - - - - Base class that exposes the common functionalities - to proxy generation. - - - - - It is safe to add mapping (no mapping for the interface exists) - - - - - Generates a parameters constructor that initializes the proxy - state with just to make it non-null. - - This constructor is important to allow proxies to be XML serializable - - - - - - Initializes a new instance of the class. - - Target element. This is either target type or target method for invocation types. - The type of the proxy. This is base type for invocation types. - The interfaces. - The options. - - - - Initializes a new instance of the class. - - Type of the target. - The interfaces. - The options. - - - - Provides appropriate Ldc.X opcode for the type of primitive value to be loaded. - - - - - Provides appropriate Ldind.X opcode for - the type of primitive value to be loaded indirectly. - - - - - Emits a load indirect opcode of the appropriate type for a value or object reference. - Pops a pointer off the evaluation stack, dereferences it and loads - a value of the specified type. - - - - - Emits a load opcode of the appropriate kind for a constant string or - primitive value. - - - - - Emits a load opcode of the appropriate kind for the constant default value of a - type, such as 0 for value types and null for reference types. - - - - - Emits a store indirectopcode of the appropriate type for a value or object reference. - Pops a value of the specified type and a pointer off the evaluation stack, and - stores the value. - - - - - Wraps a reference that is passed - ByRef and provides indirect load/store support. - - - - - Provides appropriate Stind.X opcode - for the type of primitive value to be stored indirectly. - - - - - Represents the scope of uniqueness of names for types and their members - - - - - Gets a unique name based on - - Name suggested by the caller - Unique name based on . - - Implementers should provide name as closely resembling as possible. - Generally if no collision occurs it is suggested to return suggested name, otherwise append sequential suffix. - Implementers must return deterministic names, that is when is called twice - with the same suggested name, the same returned name should be provided each time. Non-deterministic return - values, like appending random suffices will break serialization of proxies. - - - - - Returns new, disposable naming scope. It is responsibility of the caller to make sure that no naming collision - with enclosing scope, or other subscopes is possible. - - New naming scope. - - - - Generates the constructor for the class that extends - - - - - - Initializes a new instance of the class. - - The name. - Type declaring the original event being overridden, or null. - The event delegate type. - The add method. - The remove method. - The attributes. - - - - Returns the methods implemented by a type. Use this instead of Type.GetMethods() to work around a CLR issue - where duplicate MethodInfos are returned by Type.GetMethods() after a token of a generic type's method was loaded. - - - - - Exposes means to change target objects of proxies and invocations. - - - - - Changes the target object () of current . - - The new value of target of invocation. - - Although the method takes the actual instance must be of type assignable to , otherwise an will be thrown. - Also while it's technically legal to pass null reference (Nothing in Visual Basic) as , for obvious reasons Dynamic Proxy will not be able to call the intercepted method on such target. - In this case last interceptor in the pipeline mustn't call or a will be throws. - Also while it's technically legal to pass proxy itself as , this would create stack overflow. - In this case last interceptor in the pipeline mustn't call or a will be throws. - - Thrown when is not assignable to the proxied type. - - - - Permanently changes the target object of the proxy. This does not affect target of the current invocation. - - The new value of target of the proxy. - - Although the method takes the actual instance must be of type assignable to proxy's target type, otherwise an will be thrown. - Also while it's technically legal to pass null reference (Nothing in Visual Basic) as , for obvious reasons Dynamic Proxy will not be able to call the intercepted method on such target. - In this case last interceptor in the pipeline mustn't call or a will be throws. - Also while it's technically legal to pass proxy itself as , this would create stack overflow. - In this case last interceptor in the pipeline mustn't call or a will be throws. - - Thrown when is not assignable to the proxied type. - - - - Provides the main DynamicProxy extension point that allows member interception. - - - - - Provides an extension point that allows proxies to choose specific interceptors on - a per method basis. - - - - - Selects the interceptors that should intercept calls to the given . - - The type of the target object. - The method that will be intercepted. - All interceptors registered with the proxy. - An array of interceptors to invoke upon calling the . - - This method is called only once per proxy instance, upon the first call to the - . Either an empty array or null are valid return values to indicate - that no interceptor should intercept calls to the method. Although it is not advised, it is - legal to return other implementations than these provided in - . - - - - - Encapsulates an invocation of a proxied method. - - - - - Gets the arguments that the has been invoked with. - - The arguments the method was invoked with. - - - - Gets the generic arguments of the method. - - The generic arguments, or null if not a generic method. - - - - Gets the object on which the invocation is performed. This is different from proxy object - because most of the time this will be the proxy target object. - - - The invocation target. - - - - Gets the representing the method being invoked on the proxy. - - The representing the method being invoked. - - - - For interface proxies, this will point to the on the target class. - - The method invocation target. - - - - Gets the proxy object on which the intercepted method is invoked. - - Proxy object on which the intercepted method is invoked. - - - - Gets or sets the return value of the method. - - The return value of the method. - - - - Gets the type of the target object for the intercepted method. - - The type of the target object. - - - - Gets the value of the argument at the specified . - - The index. - The value of the argument at the specified . - - - - Returns the concrete instantiation of the on the proxy, with any generic - parameters bound to real types. - - - The concrete instantiation of the on the proxy, or the if - not a generic method. - - - Can be slower than calling . - - - - - Returns the concrete instantiation of , with any - generic parameters bound to real types. - For interface proxies, this will point to the on the target class. - - The concrete instantiation of , or - if not a generic method. - - In debug builds this can be slower than calling . - - - - - Proceeds the call to the next interceptor in line, and ultimately to the target method. - - - Since interface proxies without a target don't have the target implementation to proceed to, - it is important, that the last interceptor does not call this method, otherwise a - will be thrown. - - - - - Returns an object describing the operation for this - at this specific point during interception. - - - - - Overrides the value of an argument at the given with the - new provided. - - - This method accepts an , however the value provided must be compatible - with the type of the argument defined on the method, otherwise an exception will be thrown. - - The index of the argument to override. - The new value for the argument. - - - - Describes the operation for an - at a specific point during interception. - - - - - Executes the operation described by this instance. - - There is no interceptor, nor a proxy target object, to proceed to. - - - - Attributes should be replicated if they are non-inheritable, - but there are some special cases where the attributes means - something to the CLR, where they should be skipped. - - - - - Determines whether the specified method is internal. - - The method. - - true if the specified method is internal; otherwise, false. - - - - - Determines whether this assembly has internals visible to dynamic proxy. - - The assembly to inspect. - - - - Checks if the method is public or protected. - - - - - Returns list of all unique interfaces implemented given types, including their base interfaces. - - - - - Checks whether the specified is a delegate type (i.e. a direct subclass of ). - - - - - Abstracts the implementation of proxy type construction. - - - - - Gets or sets the that this logs to. - - - - - Gets the associated with this builder. - - The module scope associated with this builder. - - - - Creates a proxy type for given , implementing , using provided. - - The class type to proxy. - Additional interface types to proxy. - The proxy generation options. - The generated proxy type. - - Implementers should return a proxy type for the specified class and interfaces. - Additional interfaces should be only 'mark' interfaces, that is, they should work like interface proxy without target. (See method.) - - Thrown when or any of is a generic type definition. - Thrown when or any of is not public. - Note that to avoid this exception, you can mark offending type internal, and define - pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. - - - - - Creates a proxy type that proxies calls to members on , implementing , using provided. - - The interface type to proxy. - Additional interface types to proxy. - Type implementing on which calls to the interface members should be intercepted. - The proxy generation options. - The generated proxy type. - - Implementers should return a proxy type for the specified interface that 'proceeds' executions to the specified target. - Additional interfaces should be only 'mark' interfaces, that is, they should work like interface proxy without target. (See method.) - - Thrown when or any of is a generic type definition. - Thrown when or any of is not public. - Note that to avoid this exception, you can mark offending type internal, and define - pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. - - - - - Creates a proxy type for given and that delegates all calls to the provided interceptors and allows interceptors to switch the actual target of invocation. - - The interface type to proxy. - Additional interface types to proxy. - The proxy generation options. - The generated proxy type. - - Implementers should return a proxy type for the specified interface(s) that delegate all executions to the specified interceptors - and uses an instance of the interface as their targets (i.e. ), rather than a class. All classes should then implement interface, - to allow interceptors to switch invocation target with instance of another type implementing called interface. - - Thrown when or any of is a generic type definition. - Thrown when or any of is not public. - Note that to avoid this exception, you can mark offending type internal, and define - pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. - - - - - Creates a proxy type for given that delegates all calls to the provided interceptors. - - The interface type to proxy. - Additional interface types to proxy. - The proxy generation options. - The generated proxy type. - - Implementers should return a proxy type for the specified interface and additional interfaces that delegate all executions to the specified interceptors. - - Thrown when or any of is a generic type definition. - Thrown when or any of is not public. - Note that to avoid this exception, you can mark offending type internal, and define - pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. - - - - - Used during the target type inspection process. Implementors have a chance to customize the - proxy generation process. - - - - - Invoked by the generation process to notify that the whole process has completed. - - - - - Invoked by the generation process to notify that a member was not marked as virtual. - - The type which declares the non-virtual member. - The non-virtual member. - - This method gives an opportunity to inspect any non-proxyable member of a type that has - been requested to be proxied, and if appropriate - throw an exception to notify the caller. - - - - - Invoked by the generation process to determine if the specified method should be proxied. - - The type which declares the given method. - The method to inspect. - True if the given method should be proxied; false otherwise. - - - - Provides proxy objects for classes and interfaces. - - - - - Gets or sets the that this log to. - - - - - Gets the proxy builder instance used to generate proxy types. - - The proxy builder. - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - Object proxying calls to members of on object. - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of types on generated target object. - - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - As a result of that also at least one implementation must be provided. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of types on generated target object. - - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - As a result of that also at least one implementation must be provided. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of types on generated target object. - - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - As a result of that also at least one implementation must be provided. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The proxy generation options used to influence generated proxy type and object. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no parameterless constructor exists on type . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The proxy generation options used to influence generated proxy type and object. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no parameterless constructor exists on type . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The proxy generation options used to influence generated proxy type and object. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Exposes access to the target object and interceptors of proxy objects. - This is a DynamicProxy infrastructure interface and should not be implemented yourself. - - - - - Get the proxy target (note that null is a valid target!) - - - - - Set the proxy target. - - New proxy target. - - - - Gets the interceptors for the proxy - - - - - Because we need to cache the types based on the mixed in mixins, we do the following here: - - Get all the mixin interfaces - - Sort them by full name - - Return them by position - - The idea is to have reproducible behavior for the case that mixins are registered in different orders. - This method is here because it is required - - - - - The default file name used when the assembly is saved using . - - - - - The default assembly (simple) name used for the assemblies generated by a instance. - - - - - Initializes a new instance of the class; assemblies created by this instance will not be saved. - - - - - Initializes a new instance of the class, allowing to specify whether the assemblies generated by this instance - should be saved. - - If set to true saves the generated module. - - - - Initializes a new instance of the class, allowing to specify whether the assemblies generated by this instance - should be saved. - - If set to true saves the generated module. - If set to true disables ability to generate signed module. This should be used in cases where ran under constrained permissions. - - - - Initializes a new instance of the class, allowing to specify whether the assemblies generated by this instance - should be saved and what simple names are to be assigned to them. - - If set to true saves the generated module. - If set to true disables ability to generate signed module. This should be used in cases where ran under constrained permissions. - The simple name of the strong-named assembly generated by this . - The path and file name of the manifest module of the strong-named assembly generated by this . - The simple name of the weak-named assembly generated by this . - The path and file name of the manifest module of the weak-named assembly generated by this . - - - - Initializes a new instance of the class, allowing to specify whether the assemblies generated by this instance - should be saved and what simple names are to be assigned to them. - - If set to true saves the generated module. - If set to true disables ability to generate signed module. This should be used in cases where ran under constrained permissions. - Naming scope used to provide unique names to generated types and their members (usually via sub-scopes). - The simple name of the strong-named assembly generated by this . - The path and file name of the manifest module of the strong-named assembly generated by this . - The simple name of the weak-named assembly generated by this . - The path and file name of the manifest module of the weak-named assembly generated by this . - - - - Users of this should use this lock when accessing the cache. - - - - - Returns a type from this scope's type cache, or null if the key cannot be found. - - The key to be looked up in the cache. - The type from this scope's type cache matching the key, or null if the key cannot be found - - - - Registers a type in this scope's type cache. - - The key to be associated with the type. - The type to be stored in the cache. - - - - Gets the key pair used to sign the strong-named assembly generated by this . - - - - - Gets the strong-named module generated by this scope, or if none has yet been generated. - - The strong-named module generated by this scope, or if none has yet been generated. - - - - Gets the file name of the strongly named module generated by this scope. - - The file name of the strongly named module generated by this scope. - - - - Gets the directory where the strongly named module generated by this scope will be saved, or if the current directory - is used. - - The directory where the strongly named module generated by this scope will be saved when is called - (if this scope was created to save modules). - - - - Gets the weak-named module generated by this scope, or if none has yet been generated. - - The weak-named module generated by this scope, or if none has yet been generated. - - - - Gets the file name of the weakly named module generated by this scope. - - The file name of the weakly named module generated by this scope. - - - - Gets the directory where the weakly named module generated by this scope will be saved, or if the current directory - is used. - - The directory where the weakly named module generated by this scope will be saved when is called - (if this scope was created to save modules). - - - - Gets the specified module generated by this scope, creating a new one if none has yet been generated. - - If set to true, a strong-named module is returned; otherwise, a weak-named module is returned. - A strong-named or weak-named module generated by this scope, as specified by the parameter. - - - - Gets the strong-named module generated by this scope, creating a new one if none has yet been generated. - - A strong-named module generated by this scope. - - - - Gets the weak-named module generated by this scope, creating a new one if none has yet been generated. - - A weak-named module generated by this scope. - - - - Saves the generated assembly with the name and directory information given when this instance was created (or with - the and current directory if none was given). - - - - This method stores the generated assembly in the directory passed as part of the module information specified when this instance was - constructed (if any, else the current directory is used). If both a strong-named and a weak-named assembly - have been generated, it will throw an exception; in this case, use the overload. - - - If this was created without indicating that the assembly should be saved, this method does nothing. - - - Both a strong-named and a weak-named assembly have been generated. - The path of the generated assembly file, or null if no file has been generated. - - - - Saves the specified generated assembly with the name and directory information given when this instance was created - (or with the and current directory if none was given). - - True if the generated assembly with a strong name should be saved (see ); - false if the generated assembly without a strong name should be saved (see . - - - This method stores the specified generated assembly in the directory passed as part of the module information specified when this instance was - constructed (if any, else the current directory is used). - - - If this was created without indicating that the assembly should be saved, this method does nothing. - - - No assembly has been generated that matches the parameter. - - The path of the generated assembly file, or null if no file has been generated. - - - - Loads the generated types from the given assembly into this 's cache. - - The assembly to load types from. This assembly must have been saved via or - , or it must have the manually applied. - - This method can be used to load previously generated and persisted proxy types from disk into this scope's type cache, e.g. in order - to avoid the performance hit associated with proxy generation. - - - - - ProxyBuilder that persists the generated type. - - - The saved assembly contains just the last generated type. - - - - - Initializes a new instance of the class. - - - - - Saves the generated assembly to a physical file. Note that this renders the unusable. - - The path of the generated assembly file, or null if no assembly has been generated. - - This method does not support saving multiple files. If both a signed and an unsigned module have been generated, use the - respective methods of the . - - - - - allows customization of the behavior of proxies created by - an (or proxy types generated by an ). - - You should not modify an instance of once it has been - used to create a proxy (or proxy type). - - - - - - Initializes a new instance of the class. - - The hook. - - - - Initializes a new instance of the class. - - - - - Gets or sets the that should be used during proxy type - generation. Defaults to an instance of . - - You should not modify this property once this instance - has been used to create a proxy. - - - - - - Gets or sets the that should be used by created proxies - to determine which interceptors to use for an interception. If set to - (which is the default), created proxies will not use any selector. - - You should not modify this property once this instance - has been used to create a proxy. - - - - - - Gets or sets the class type from which generated interface proxy types will be derived. - Defaults to (). - - You should not modify this property once this instance - has been used to create a proxy. - - - - - - Gets the collection of additional custom attributes that will be put on generated proxy types. - This collection is initially empty. - - You should not modify this collection once this instance - has been used to create a proxy. - - - - - - Adds a delegate type to the list of mixins that will be added to generated proxies. - That is, generated proxies will have a `Invoke` method with a signature matching that - of the specified . - - You should not call this method once this instance - has been used to create a proxy. - - - The delegate type whose `Invoke` method should be reproduced in generated proxies. - is . - is not a delegate type. - - - - Adds a delegate to be mixed into generated proxies. The - will act as the target for calls to a `Invoke` method with a signature matching that - of the delegate. - - You should not call this method once this instance - has been used to create a proxy. - - - The delegate that should act as the target for calls to `Invoke` methods with a matching signature. - is . - - - - Mixes the interfaces implemented by the specified object into - created proxies, and uses as the target for these mixed-in interfaces. - - You should not call this method once this instance - has been used to create a proxy. - - - The object that should act as the target for all of its implemented interfaces' methods. - is . - is an instance of . - - - - Provides proxy objects for classes and interfaces. - - - - - Initializes a new instance of the class. - - Proxy types builder. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - If true forces all types to be generated into an unsigned module. - - - - Gets or sets the that this log to. - - - - - Gets the proxy builder instance used to generate proxy types. - - The proxy builder. - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - Object proxying calls to members of on object. - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of types on generated target object. - - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - As a result of that also at least one implementation must be provided. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of types on generated target object. - - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - As a result of that also at least one implementation must be provided. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of types on generated target object. - - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - As a result of that also at least one implementation must be provided. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The proxy generation options used to influence generated proxy type and object. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no parameterless constructor exists on type . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The proxy generation options used to influence generated proxy type and object. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no parameterless constructor exists on type . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The proxy generation options used to influence generated proxy type and object. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates the proxy type for class proxy with given class, implementing given and using provided . - - The base class for proxy type. - The interfaces that proxy type should implement. - The options for proxy generation process. - of proxy. - - - - Creates the proxy type for interface proxy with target for given interface, implementing given on given and using provided . - - The interface proxy type should implement. - The additional interfaces proxy type should implement. - Actual type that the proxy type will encompass. - The options for proxy generation process. - of proxy. - - - - Creates the proxy type for interface proxy with target interface for given interface, implementing given on given and using provided . - - The interface proxy type should implement. - The additional interfaces proxy type should implement. - The options for proxy generation process. - of proxy. - - - - Creates the proxy type for interface proxy without target for given interface, implementing given and using provided . - - The interface proxy type should implement. - The additional interfaces proxy type should implement. - The options for proxy generation process. - of proxy. - - - - Creates a delegate of the specified type to a suitable `Invoke` method - on the given instance. - - The proxy instance to which the delegate should be bound. - The type of delegate that should be created. - - The does not have an `Invoke` method that is compatible with - the requested type. - - - - - Creates a delegate of the specified type to a suitable `Invoke` method - on the given instance. - - The proxy instance to which the delegate should be bound. - The type of delegate that should be created. - - The does not have an `Invoke` method that is compatible with - the requested . - - - - - Checks whether the specified method is accessible to DynamicProxy. - The method to check. - true if the method is accessible to DynamicProxy, false otherwise. - - - - Checks whether the specified method is accessible to DynamicProxy. - The method to check. - If the method is accessible to DynamicProxy, null; otherwise, an explanation of why the method is not accessible. - true if the method is accessible to DynamicProxy, false otherwise. - - - - Checks whether the specified type is accessible to DynamicProxy. - The type to check. - true if the type is accessible to DynamicProxy, false otherwise. - - - - Determines whether this assembly has internals visible to DynamicProxy. - - The assembly to inspect. - - - - Checks whether the specified method is accessible to DynamicProxy. - Unlike with , the declaring type's accessibility is ignored. - - The method to check. - true if the method is accessible to DynamicProxy, false otherwise. - - - - Determines whether the specified method is internal. - - The method. - - true if the specified method is internal; otherwise, false. - - - - - Applied to the assemblies saved by in order to persist the cache data included in the persisted assembly. - - - - - Handles the deserialization of proxies. - - - - - Resets the used for deserialization to a new scope. - - - This is useful for test cases. - - - - - Resets the used for deserialization to a given . - - The scope to be used for deserialization. - - By default, the deserialization process uses a different scope than the rest of the application, which can lead to multiple proxies - being generated for the same type. By explicitly setting the deserialization scope to the application's scope, this can be avoided. - - - - - Gets the used for deserialization. - - As has no way of automatically determining the scope used by the application (and the application might use more than one scope at the same time), uses a dedicated scope instance for deserializing proxy types. This instance can be reset and set to a specific value via and . - - - - Holds objects representing methods of class. - - - - - Holds objects representing methods of class. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/packages/Castle.Core.4.4.1/lib/net40/Castle.Core.xml b/src/packages/Castle.Core.4.4.1/lib/net40/Castle.Core.xml deleted file mode 100644 index ec9d692..0000000 --- a/src/packages/Castle.Core.4.4.1/lib/net40/Castle.Core.xml +++ /dev/null @@ -1,6130 +0,0 @@ - - - - Castle.Core - - - - - Abstract adapter for the support - needed by the - - - - - Adds an element with the provided key and value to the object. - - The to use as the key of the element to add. - The to use as the value of the element to add. - An element with the same key already exists in the object. - key is null. - The is read-only.-or- The has a fixed size. - - - - Removes all elements from the object. - - The object is read-only. - - - - Determines whether the object contains an element with the specified key. - - The key to locate in the object. - - true if the contains an element with the key; otherwise, false. - - key is null. - - - - Returns an object for the object. - - - An object for the object. - - - - - Gets a value indicating whether the object has a fixed size. - - true if the object has a fixed size; otherwise, false. - - - - Gets a value indicating whether the object is read-only. - - true if the object is read-only; otherwise, false. - - - - Gets an object containing the keys of the object. - - An object containing the keys of the object. - - - - Removes the element with the specified key from the object. - - The key of the element to remove. - The object is read-only.-or- The has a fixed size. - key is null. - - - - Gets an object containing the values in the object. - - An object containing the values in the object. - - - - Gets or sets the with the specified key. - - - - - Copies the elements of the to an , starting at a particular index. - - The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. - The zero-based index in array at which copying begins. - array is null. - The type of the source cannot be cast automatically to the type of the destination array. - index is less than zero. - array is multidimensional.-or- index is equal to or greater than the length of array.-or- The number of elements in the source is greater than the available space from index to the end of the destination array. - - - - Gets the number of elements contained in the . - - The number of elements contained in the . - - - - Gets a value indicating whether access to the is synchronized (thread safe). - - true if access to the is synchronized (thread safe); otherwise, false. - - - - Gets an object that can be used to synchronize access to the . - - An object that can be used to synchronize access to the . - - - - Returns an enumerator that iterates through a collection. - - - An object that can be used to iterate through the collection. - - - - - Abstract implementation of . - - - - - Identifies a property should be represented as a nested component. - - - - - Applies no prefix. - - - - - Gets or sets the prefix. - - The prefix. - - - - Identifies the dictionary adapter types. - - - - - Assigns a specific dictionary key. - - - - - Identifies an interface or property to be pre-fetched. - - - - - Instructs fetching to occur. - - - - - Instructs fetching according to - - - - - Gets whether or not fetching should occur. - - - - - Assigns a property to a group. - - - - - Constructs a group assignment. - - The group name. - - - - Constructs a group assignment. - - The group name. - - - - Gets the group the property is assigned to. - - - - - Suppresses any on-demand behaviors. - - - - - Assigns a specific dictionary key. - - - - - Initializes a new instance of the class. - - The key. - - - - Initializes a new instance of the class. - - The compound key. - - - - Assigns a prefix to the keyed properties of an interface. - - - Key prefixes are not inherited by sub-interfaces. - - - - - Initializes a default instance of the class. - - - - - Initializes a new instance of the class. - - The prefix for the keyed properties of the interface. - - - - Gets the prefix key added to the properties of the interface. - - - - - Substitutes part of key with another string. - - - - - Initializes a new instance of the class. - - The old value. - The new value. - - - - Requests support for multi-level editing. - - - - - Generates a new GUID on demand. - - - - - Support for on-demand value resolution. - - - - - Specifies assignment by reference rather than by copying. - - - - - Removes a property if matches value. - - - - - Removes a property if null or empty string, guid or collection. - - - - - Provides simple string formatting from existing properties. - - - - - Gets the string format. - - - - - Gets the format properties. - - - - - Identifies a property should be represented as a delimited string value. - - - - - Gets the separator. - - - - - Converts all properties to strings. - - - - - Gets or sets the format. - - The format. - - - - Suppress property change notifications. - - - - - Assigns a prefix to the keyed properties using the interface name. - - - - - Indicates that underlying values are changeable and should not be cached. - - - - - Initializes a new instance of the class - that represents a child object in a larger object graph. - - - - - Manages conversion between property values. - - - - - Initializes a new instance of the class. - - The converter. - - - - - - - - - Gets the effective dictionary value. - - The dictionary adapter. - The key. - The stored value. - The property. - true if return only existing. - The effective property value. - - - - Uses Reflection.Emit to expose the properties of a dictionary - through a dynamic implementation of a typed interface. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Wraps a with a dynamic object to expose a bit better looking API. - The implementation is trivial and assumes keys are s. - - - - - Contract for manipulating the Dictionary adapter. - - - - - Defines the contract for building typed dictionary adapters. - - - - - Gets a typed adapter bound to the . - - The typed interface. - The underlying source of properties. - An implementation of the typed interface bound to the dictionary. - - The type represented by T must be an interface with properties. - - - - - Gets a typed adapter bound to the . - - The typed interface. - The underlying source of properties. - An implementation of the typed interface bound to the dictionary. - - The type represented by T must be an interface with properties. - - - - - Gets a typed adapter bound to the . - - The typed interface. - The underlying source of properties. - The property descriptor. - An implementation of the typed interface bound to the dictionary. - - The type represented by T must be an interface with properties. - - - - - Gets a typed adapter bound to the . - - The typed interface. - The underlying source of properties. - An implementation of the typed interface bound to the namedValues. - - The type represented by T must be an interface with properties. - - - - - Gets a typed adapter bound to the . - - The typed interface. - The underlying source of properties. - An implementation of the typed interface bound to the namedValues. - - The type represented by T must be an interface with properties. - - - - - Gets a typed adapter bound to the . - - The typed interface. - The underlying source of properties. - An implementation of the typed interface bound to the . - - The type represented by T must be an interface with properties. - - - - - Gets a typed adapter bound to the . - - The typed interface. - The underlying source of properties. - An implementation of the typed interface bound to the . - - The type represented by T must be an interface with properties. - - - - - Gets the associated with the type. - - The typed interface. - The adapter meta-data. - - - - Gets the associated with the type. - - The typed interface. - The property descriptor. - The adapter meta-data. - - - - Gets the associated with the type. - - The typed interface. - Another from which to copy behaviors. - The adapter meta-data. - - - - Contract for traversing a . - - - - - Defines the contract for customizing dictionary access. - - - - - Determines relative order to apply related behaviors. - - - - - Copies the dictionary behavior. - - null if should not be copied. Otherwise copy. - - - - Defines the contract for building s. - - - - - Builds the dictionary behaviors. - - - - - Contract for creating additional Dictionary adapters. - - - - - Contract for editing the Dictionary adapter. - - - - - Contract for dictionary initialization. - - - - - Performs any initialization of the - - The dictionary adapter. - The dictionary behaviors. - - - - Defines the contract for building typed dictionary keys. - - - - - Builds the specified key. - - The dictionary adapter. - The current key. - The property. - The updated key - - - - Contract for dictionary meta-data initialization. - - - - - Initializes the given object. - - The dictionary adapter factory. - The dictionary adapter meta. - - - - - Determines whether the given behavior should be included in a new - object. - - A dictionary behavior or annotation. - True if the behavior should be included; otherwise, false. - - behaviors are always included, - regardless of the result of this method. - - - - - - Contract for managing Dictionary adapter notifications. - - - - - Defines the contract for retrieving dictionary values. - - - - - Gets the effective dictionary value. - - The dictionary adapter. - The key. - The stored value. - The property. - true if return only existing. - The effective property value. - - - - Defines the contract for updating dictionary values. - - - - - Sets the stored dictionary value. - - The dictionary adapter. - The key. - The stored value. - The property. - true if the property should be stored. - - - - Contract for validating Dictionary adapter. - - - - - Contract for dictionary validation. - - - - - Determines if is valid. - - The dictionary adapter. - true if valid. - - - - Validates the . - - The dictionary adapter. - The error summary information. - - - - Validates the for a property. - - The dictionary adapter. - The property to validate. - The property summary information. - - - - Invalidates any results cached by the validator. - - The dictionary adapter. - - - - Contract for property descriptor initialization. - - - - - Performs any initialization of the - - The property descriptor. - The property behaviors. - - - - - - - - - Initializes a new instance of the class. - - The name values. - - - - Gets a value indicating whether the object is read-only. - - true if the object is read-only; otherwise, false. - - - - Determines whether the object contains an element with the specified key. - - The key to locate in the object. - - true if the contains an element with the key; otherwise, false. - - key is null. - - - - Gets or sets the with the specified key. - - - - - Adapts the specified name values. - - The name values. - - - - Describes a dictionary property. - - - - - Initializes an empty class. - - - - - Initializes a new instance of the class. - - The property. - The annotations. - - - - Initializes a new instance class. - - - - - Copies an existing instance of the class. - - - - - - - - - - Gets the property name. - - - - - Gets the property type. - - - - - Gets the property. - - The property. - - - - Returns true if the property is dynamic. - - - - - Gets additional state. - - - - - Determines if property should be fetched. - - - - - Determines if property must exist first. - - - - - Determines if notifications should occur. - - - - - Gets the property behaviors. - - - - - Gets the type converter. - - The type converter. - - - - Gets the extended properties. - - - - - Gets the setter. - - The setter. - - - - Gets the key builders. - - The key builders. - - - - Gets the setter. - - The setter. - - - - Gets the getter. - - The getter. - - - - Gets the initializers. - - The initializers. - - - - Gets the meta-data initializers. - - The meta-data initializers. - - - - Gets the key. - - The dictionary adapter. - The key. - The descriptor. - - - - Gets the property value. - - The dictionary adapter. - The key. - The stored value. - The descriptor. - true if return only existing. - - - - Sets the property value. - - The dictionary adapter. - The key. - The value. - The descriptor. - - - - Adds a single behavior. - - The behavior. - - - - Adds the behaviors. - - The behaviors. - - - - Adds the behaviors. - - The behaviors. - - - - Copies the behaviors to the other - - - - - Copies the - - - - - Provides a generic collection that supports data binding. - - - This class wraps the CLR - in order to implement the Castle-specific . - - The type of elements in the list. - - - - Initializes a new instance of the class - using default values. - - - - - Initializes a new instance of the class - with the specified list. - - - An of items - to be contained in the . - - - - - Initializes a new instance of the class - wrapping the specified instance. - - - A - to be wrapped by the . - - - - - Contract for value matching. - - - - - Contract for dynamic value resolution. - - - - - Contract for typed dynamic value resolution. - - - - - - This is an abstract implementation - that deals with methods that can be abstracted away - from underlying implementations. - - - AbstractConfiguration makes easier to implementers - to create a new version of - - - - - Gets node attributes. - - - All attributes of the node. - - - - - Gets all child nodes. - - The of child nodes. - - - - Gets the name of the . - - - The Name of the . - - - - - Gets the value of . - - - The Value of the . - - - - - Gets the value of the node and converts it - into specified . - - The - - The Default value returned if the conversion fails. - - The Value converted into the specified type. - - - - A collection of objects. - - - - - Creates a new instance of ConfigurationCollection. - - - - - Creates a new instance of ConfigurationCollection. - - - - - is a interface encapsulating a configuration node - used to retrieve configuration values. - - - - - Gets the name of the node. - - - The Name of the node. - - - - - Gets the value of the node. - - - The Value of the node. - - - - - Gets an of - elements containing all node children. - - The Collection of child nodes. - - - - Gets an of the configuration attributes. - - - - - Gets the value of the node and converts it - into specified . - - The - - The Default value returned if the conversion fails. - - The Value converted into the specified type. - - - - Initializes a new instance of the class. - - The name. - - - - Gets the value of . - - - The Value of the . - - - - - Deserializes the specified node into an abstract representation of configuration. - - The node. - - - - If a config value is an empty string we return null, this is to keep - backward compatibility with old code - - - - - Helper class for retrieving attributes. - - - - - Gets the attribute. - - The type. - The type attribute. - - - - Gets the attributes. Does not consider inherited attributes! - - The type. - The type attributes. - - - - Gets the attribute. - - The member. - The member attribute. - - - - Gets the attributes. Does not consider inherited attributes! - - The member. - The member attributes. - - - - Gets the type attribute. - - The type. - The type attribute. - - - - Gets the type attributes. - - The type. - The type attributes. - - - - Gets the type converter. - - The member. - - - - Checks whether or not collection is null or empty. Assumes collection can be safely enumerated multiple times. - - - - - Generates a HashCode for the contents for the list. Order of items does not matter. - - The type of object contained within the list. - The list. - The generated HashCode. - - - - Determines if two lists are equivalent. Equivalent lists have the same number of items and each item is found within the other regardless of respective position within each. - - The type of object contained within the list. - The first list. - The second list. - True if the two lists are equivalent. - - - - Constant to use when making assembly internals visible to Castle.Core - [assembly: InternalsVisibleTo(CoreInternalsVisible.ToCastleCore)] - - - - - Constant to use when making assembly internals visible to proxy types generated by DynamicProxy. Required when proxying internal types. - [assembly: InternalsVisibleTo(CoreInternalsVisible.ToDynamicProxyGenAssembly2)] - - - - - Creates a new lock. - - - - - Find the best available name to describe a type. - - - Usually the best name will be , but - sometimes that's null (see http://msdn.microsoft.com/en-us/library/system.type.fullname%28v=vs.110%29.aspx) - in which case the method falls back to . - - the type to name - the best name - - - - Defines that the implementation wants a - in order to - access other components. The creator must be aware - that the component might (or might not) implement - the interface. - - - Used by Castle Project components to, for example, - gather logging factories - - - - - Increments IServiceProvider with a generic service resolution operation. - - - - - This interface should be implemented by classes - that are available in a bigger context, exposing - the container to different areas in the same application. - - For example, in Web application, the (global) HttpApplication - subclasses should implement this interface to expose - the configured container - - - - - - Creates a new extended logger, getting the logger name from the specified type. - - - - - Creates a new extended logger. - - - - - Creates a new extended logger, getting the logger name from the specified type. - - - - - Creates a new extended logger. - - - - - Creates a new logger, getting the logger name from the specified type. - - - - - Creates a new logger. - - - - - Creates a new logger, getting the logger name from the specified type. - - - - - Creates a new logger. - - - - - Gets the configuration file. - - i.e. log4net.config - - - - Gets the configuration file. - - i.e. log4net.config - - - - The Logger sending everything to the standard output streams. - This is mainly for the cases when you have a utility that - does not have a logger to supply. - - - - - Creates a new ConsoleLogger with the Level - set to LoggerLevel.Debug and the Name - set to String.Empty. - - - - - Creates a new ConsoleLogger with the Name - set to String.Empty. - - The logs Level. - - - - Creates a new ConsoleLogger with the Level - set to LoggerLevel.Debug. - - The logs Name. - - - - Creates a new ConsoleLogger. - - The logs Name. - The logs Level. - - - - A Common method to log. - - The level of logging - The name of the logger - The Message - The Exception - - - - Returns a new ConsoleLogger with the name - added after this loggers name, with a dot in between. - - The added hierarchical name. - A new ConsoleLogger. - - - - The Logger using standard Diagnostics namespace. - - - - - Creates a logger based on . - - - - - - Creates a logger based on . - - - - - - - Creates a logger based on . - - - - - - - - Interface for Context Properties implementations - - - - This interface defines a basic property get set accessor. - - - Based on the ContextPropertiesBase of log4net, by Nicko Cadell. - - - - - - Gets or sets the value of a property - - - The value for the property with the specified key - - - - Gets or sets the value of a property - - - - - - Provides an interface that supports and - allows the storage and retrieval of Contexts. These are supported in - both log4net and NLog. - - - - - Exposes the Global Context of the extended logger. - - - - - Exposes the Thread Context of the extended logger. - - - - - Exposes the Thread Stack of the extended logger. - - - - - Provides a factory that can produce either or - classes. - - - - - Creates a new extended logger, getting the logger name from the specified type. - - - - - Creates a new extended logger. - - - - - Creates a new extended logger, getting the logger name from the specified type. - - - - - Creates a new extended logger. - - - - - Manages logging. - - - This is a facade for the different logging subsystems. - It offers a simplified interface that follows IOC patterns - and a simplified priority/level/severity abstraction. - - - - - Determines if messages of priority "trace" will be logged. - - True if "trace" messages will be logged. - - - - Determines if messages of priority "debug" will be logged. - - True if "debug" messages will be logged. - - - - Determines if messages of priority "error" will be logged. - - True if "error" messages will be logged. - - - - Determines if messages of priority "fatal" will be logged. - - True if "fatal" messages will be logged. - - - - Determines if messages of priority "info" will be logged. - - True if "info" messages will be logged. - - - - Determines if messages of priority "warn" will be logged. - - True if "warn" messages will be logged. - - - - Create a new child logger. - The name of the child logger is [current-loggers-name].[passed-in-name] - - The Subname of this logger. - The New ILogger instance. - If the name has an empty element name. - - - - Logs a trace message. - - The message to log - - - - Logs a trace message with lazily constructed message. The message will be constructed only if the is true. - - - - - Logs a trace message. - - The exception to log - The message to log - - - - Logs a trace message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a trace message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a trace message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a trace message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The message to log - - - - Logs a debug message with lazily constructed message. The message will be constructed only if the is true. - - - - - Logs a debug message. - - The exception to log - The message to log - - - - Logs a debug message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The message to log - - - - Logs an error message with lazily constructed message. The message will be constructed only if the is true. - - - - - Logs an error message. - - The exception to log - The message to log - - - - Logs an error message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The message to log - - - - Logs a fatal message with lazily constructed message. The message will be constructed only if the is true. - - - - - Logs a fatal message. - - The exception to log - The message to log - - - - Logs a fatal message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The message to log - - - - Logs a info message with lazily constructed message. The message will be constructed only if the is true. - - - - - Logs an info message. - - The exception to log - The message to log - - - - Logs an info message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The message to log - - - - Logs a warn message with lazily constructed message. The message will be constructed only if the is true. - - - - - Logs a warn message. - - The exception to log - The message to log - - - - Logs a warn message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Manages the instantiation of s. - - - - - Creates a new logger, getting the logger name from the specified type. - - - - - Creates a new logger. - - - - - Creates a new logger, getting the logger name from the specified type. - - - - - Creates a new logger. - - - - - The Level Filtered Logger class. This is a base class which - provides a LogLevel attribute and reroutes all functions into - one Log method. - - - - - Creates a new LevelFilteredLogger. - - - - - Keep the instance alive in a remoting scenario - - - - - The LoggerLevel that this logger - will be using. Defaults to LoggerLevel.Off - - - - - The name that this logger will be using. - Defaults to String.Empty - - - - - Logs a trace message. - - The message to log - - - - Logs a trace message. - - A functor to create the message - - - - Logs a trace message. - - The exception to log - The message to log - - - - Logs a trace message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a trace message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a trace message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a trace message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The message to log - - - - Logs a debug message. - - The exception to log - The message to log - - - - Logs a debug message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The message to log - - - - Logs an info message. - - The exception to log - The message to log - - - - Logs an info message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The message to log - - - - Logs a warn message. - - The exception to log - The message to log - - - - Logs a warn message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The message to log - - - - Logs an error message. - - The exception to log - The message to log - - - - Logs an error message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The message to log - - - - Logs a fatal message. - - The exception to log - The message to log - - - - Logs a fatal message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Determines if messages of priority "trace" will be logged. - - true if log level flags include the bit - - - - Determines if messages of priority "debug" will be logged. - - true if log level flags include the bit - - - - Determines if messages of priority "info" will be logged. - - true if log level flags include the bit - - - - Determines if messages of priority "warn" will be logged. - - true if log level flags include the bit - - - - Determines if messages of priority "error" will be logged. - - true if log level flags include the bit - - - - Determines if messages of priority "fatal" will be logged. - - true if log level flags include the bit - - - - Implementors output the log content by implementing this method only. - Note that exception can be null - - - - - Supporting Logger levels. - - - - - Logging will be off - - - - - Fatal logging level - - - - - Error logging level - - - - - Warn logging level - - - - - Info logging level - - - - - Debug logging level - - - - - Trace logging level - - - - - NullLogFactory used when logging is turned off. - - - - - Creates an instance of ILogger with the specified name. - - Name. - - - - Creates an instance of ILogger with the specified name and LoggerLevel. - - Name. - Level. - - - - The Null Logger class. This is useful for implementations where you need - to provide a logger to a utility class, but do not want any output from it. - It also helps when you have a utility that does not have a logger to supply. - - - - - Returns empty context properties. - - - - - Returns empty context properties. - - - - - Returns empty context stacks. - - - - - No-op. - - false - - - - No-op. - - false - - - - No-op. - - false - - - - No-op. - - false - - - - No-op. - - false - - - - No-op. - - false - - - - Returns this NullLogger. - - Ignored - This ILogger instance. - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - The Stream Logger class. This class can stream log information - to any stream, it is suitable for storing a log file to disk, - or to a MemoryStream for testing your components. - - - This logger is not thread safe. - - - - - Creates a new StreamLogger with default encoding - and buffer size. Initial Level is set to Debug. - - - The name of the log. - - - The stream that will be used for logging, - seeking while the logger is alive - - - - - Creates a new StreamLogger with default buffer size. - Initial Level is set to Debug. - - - The name of the log. - - - The stream that will be used for logging, - seeking while the logger is alive - - - The encoding that will be used for this stream. - - - - - - Creates a new StreamLogger. - Initial Level is set to Debug. - - - The name of the log. - - - The stream that will be used for logging, - seeking while the logger is alive - - - The encoding that will be used for this stream. - - - - The buffer size that will be used for this stream. - - - - - - Creates a new StreamLogger with - Debug as default Level. - - The name of the log. - The StreamWriter the log will write to. - - - - Creates outputting - to files. The name of the file is derived from the log name - plus the 'log' extension. - - - - - The TraceLogger sends all logging to the System.Diagnostics.TraceSource - built into the .net framework. - - - Logging can be configured in the system.diagnostics configuration - section. - - If logger doesn't find a source name with a full match it will - use source names which match the namespace partially. For example you can - configure from all castle components by adding a source name with the - name "Castle". - - If no portion of the namespace matches the source named "Default" will - be used. - - - - - Build a new trace logger based on the named TraceSource - - The name used to locate the best TraceSource. In most cases comes from the using type's fullname. - - - - Build a new trace logger based on the named TraceSource - - The name used to locate the best TraceSource. In most cases comes from the using type's fullname. - The default logging level at which this source should write messages. In almost all cases this - default value will be overridden in the config file. - - - - Create a new child logger. - The name of the child logger is [current-loggers-name].[passed-in-name] - - The Subname of this logger. - The New ILogger instance. - - - - Used to create the TraceLogger implementation of ILogger interface. See . - - - - - General purpose class to represent a standard pair of values. - - Type of the first value - Type of the second value - - - - Constructs a pair with its values - - - - - List of utility methods related to dynamic proxy operations - - - - - Determines whether the specified type is a proxy generated by - DynamicProxy (1 or 2). - - The type. - - true if it is a proxy; otherwise, false. - - - - - Readonly implementation of which uses an anonymous object as its source. Uses names of properties as keys, and property values as... well - values. Keys are not case sensitive. - - - - - Initializes a new instance of the class. - - The target. - - - - Gets the number of elements contained in the . - - The number of elements contained in the . - - - - Gets a value indicating whether access to the is synchronized (thread safe). - - true if access to the is synchronized (thread safe); otherwise, false. - - - - Gets an object that can be used to synchronize access to the . - - An object that can be used to synchronize access to the . - - - - Gets a value indicating whether the object is read-only. - - true if the object is read-only; otherwise, false. - - - - Gets or sets the with the specified key. - - - - - Gets an object containing the keys of the object. - - An object containing the keys of the object. - - - - Gets an object containing the values in the object. - - An object containing the values in the object. - - - - Gets a value indicating whether the object has a fixed size. - - true if the object has a fixed size; otherwise, false. - - - - Adds an element with the provided key and value to the object. - - The to use as the key of the element to add. - The to use as the value of the element to add. - - is null. - An element with the same key already exists in the object. - The is read-only.-or- The has a fixed size. - - - - Removes all elements from the object. - - The object is read-only. - - - - Determines whether the object contains an element with the specified key. - - The key to locate in the object. - - true if the contains an element with the key; otherwise, false. - - - is null. - - - - Removes the element with the specified key from the object. - - The key of the element to remove. - - is null. - The object is read-only.-or- The has a fixed size. - - - - Returns an enumerator that iterates through a collection. - - - An object that can be used to iterate through the collection. - - - - - Copies the elements of the to an , starting at a particular index. - - The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. - The zero-based index in at which copying begins. - - is null. - - is less than zero. - - is multidimensional.-or- is equal to or greater than the length of .-or- The number of elements in the source is greater than the available space from to the end of the destination . - The type of the source cannot be cast automatically to the type of the destination . - - - - Returns an object for the object. - - - An object for the object. - - - - - Reads values of properties from and inserts them into using property names as keys. - - - - - - - - - - This returns a new stream instance each time it is called. - It is the responsibility of the caller to dispose of this stream - - - - - - - - - - - - - - - Represents a 'streamable' resource. Can - be a file, a resource in an assembly. - - - - - Only valid for resources that - can be obtained through relative paths - - - - - Returns a reader for the stream - - - It's up to the caller to dispose the reader. - - - - - Returns a reader for the stream - - - It's up to the caller to dispose the reader. - - - - - Returns an instance of - created according to the relativePath - using itself as the root. - - - - - Depicts the contract for resource factories. - - - - - Used to check whether the resource factory - is able to deal with the given resource - identifier. - - - Implementors should return true - only if the given identifier is supported - by the resource factory - - - - - Creates an instance - for the given resource identifier - - - - - Creates an instance - for the given resource identifier - - - - - Adapts a static string content as an - - - - - Enable access to files on network shares - - - - - Default implementation. - - - - - Initializes a new instance of the class based on the configuration provided in the application configuration file. - - - This constructor is based on the default configuration in the application configuration file. - - - - - This service implementation - requires a host name in order to work - - The smtp server name - - - - Gets or sets the port used to - access the SMTP server - - - - - Gets the hostname. - - The hostname. - - - - Gets or sets a value which is used to - configure if emails are going to be sent asynchronously or not. - - - - - Gets or sets a value that specifies - the amount of time after which a synchronous Send call times out. - - - - - Gets or sets a value indicating whether the email should be sent using - a secure communication channel. - - true if should use SSL; otherwise, false. - - - - Sends a message. - - If any of the parameters is null - From field - To field - e-mail's subject - message's body - - - - Sends a message. - - If the message is null - Message instance - - - - Gets or sets the domain. - - The domain. - - - - Gets or sets the name of the user. - - The name of the user. - - - - Gets or sets the password. - - The password. - - - - Configures the sender - with port information and eventual credential - informed - - Message instance - - - - Gets a value indicating whether credentials were informed. - - - if this instance has credentials; otherwise, . - - - - - Email sender abstraction. - - - - - Sends a mail message. - - From field - To field - E-mail's subject - message's body - - - - Sends a message. - - Message instance - - - - Sends multiple messages. - - List of messages - - - - Interface describing elements composing generated type - - - - - Performs some basic screening and invokes the - to select methods. - - - - - Encapsulates the information needed to build an attribute. - - - Arrays passed to this class as constructor arguments or property or field values become owned by this class. - They should not be mutated after creation. - - - - - Default implementation of interface producing in-memory proxy assemblies. - - - - - Initializes a new instance of the class with new . - - - - - Initializes a new instance of the class. - - The module scope for generated proxy types. - - - - Provides instructions that a user could follow to make a type or method in - visible to DynamicProxy. - The assembly containing the type or method. - Instructions that a user could follow to make a type or method visible to DynamicProxy. - - - - Creates a message to inform clients that a proxy couldn't be created due to reliance on an - inaccessible type (perhaps itself). - - the inaccessible type that prevents proxy creation - the type that couldn't be proxied - - - - Base class that exposes the common functionalities - to proxy generation. - - - - - It is safe to add mapping (no mapping for the interface exists) - - - - - Generates a parameters constructor that initializes the proxy - state with just to make it non-null. - - This constructor is important to allow proxies to be XML serializable - - - - - - Initializes a new instance of the class. - - Target element. This is either target type or target method for invocation types. - The type of the proxy. This is base type for invocation types. - The interfaces. - The options. - - - - Initializes a new instance of the class. - - Type of the target. - The interfaces. - The options. - - - - Provides appropriate Ldc.X opcode for the type of primitive value to be loaded. - - - - - Provides appropriate Ldind.X opcode for - the type of primitive value to be loaded indirectly. - - - - - Emits a load indirect opcode of the appropriate type for a value or object reference. - Pops a pointer off the evaluation stack, dereferences it and loads - a value of the specified type. - - - - - Emits a load opcode of the appropriate kind for a constant string or - primitive value. - - - - - Emits a load opcode of the appropriate kind for the constant default value of a - type, such as 0 for value types and null for reference types. - - - - - Emits a store indirectopcode of the appropriate type for a value or object reference. - Pops a value of the specified type and a pointer off the evaluation stack, and - stores the value. - - - - - Wraps a reference that is passed - ByRef and provides indirect load/store support. - - - - - Provides appropriate Stind.X opcode - for the type of primitive value to be stored indirectly. - - - - - Represents the scope of uniqueness of names for types and their members - - - - - Gets a unique name based on - - Name suggested by the caller - Unique name based on . - - Implementers should provide name as closely resembling as possible. - Generally if no collision occurs it is suggested to return suggested name, otherwise append sequential suffix. - Implementers must return deterministic names, that is when is called twice - with the same suggested name, the same returned name should be provided each time. Non-deterministic return - values, like appending random suffices will break serialization of proxies. - - - - - Returns new, disposable naming scope. It is responsibility of the caller to make sure that no naming collision - with enclosing scope, or other subscopes is possible. - - New naming scope. - - - - Generates the constructor for the class that extends - - - - - - Initializes a new instance of the class. - - The name. - Type declaring the original event being overridden, or null. - The event delegate type. - The add method. - The remove method. - The attributes. - - - - Returns the methods implemented by a type. Use this instead of Type.GetMethods() to work around a CLR issue - where duplicate MethodInfos are returned by Type.GetMethods() after a token of a generic type's method was loaded. - - - - - Exposes means to change target objects of proxies and invocations. - - - - - Changes the target object () of current . - - The new value of target of invocation. - - Although the method takes the actual instance must be of type assignable to , otherwise an will be thrown. - Also while it's technically legal to pass null reference (Nothing in Visual Basic) as , for obvious reasons Dynamic Proxy will not be able to call the intercepted method on such target. - In this case last interceptor in the pipeline mustn't call or a will be throws. - Also while it's technically legal to pass proxy itself as , this would create stack overflow. - In this case last interceptor in the pipeline mustn't call or a will be throws. - - Thrown when is not assignable to the proxied type. - - - - Permanently changes the target object of the proxy. This does not affect target of the current invocation. - - The new value of target of the proxy. - - Although the method takes the actual instance must be of type assignable to proxy's target type, otherwise an will be thrown. - Also while it's technically legal to pass null reference (Nothing in Visual Basic) as , for obvious reasons Dynamic Proxy will not be able to call the intercepted method on such target. - In this case last interceptor in the pipeline mustn't call or a will be throws. - Also while it's technically legal to pass proxy itself as , this would create stack overflow. - In this case last interceptor in the pipeline mustn't call or a will be throws. - - Thrown when is not assignable to the proxied type. - - - - Provides the main DynamicProxy extension point that allows member interception. - - - - - Provides an extension point that allows proxies to choose specific interceptors on - a per method basis. - - - - - Selects the interceptors that should intercept calls to the given . - - The type of the target object. - The method that will be intercepted. - All interceptors registered with the proxy. - An array of interceptors to invoke upon calling the . - - This method is called only once per proxy instance, upon the first call to the - . Either an empty array or null are valid return values to indicate - that no interceptor should intercept calls to the method. Although it is not advised, it is - legal to return other implementations than these provided in - . - - - - - Encapsulates an invocation of a proxied method. - - - - - Gets the arguments that the has been invoked with. - - The arguments the method was invoked with. - - - - Gets the generic arguments of the method. - - The generic arguments, or null if not a generic method. - - - - Gets the object on which the invocation is performed. This is different from proxy object - because most of the time this will be the proxy target object. - - - The invocation target. - - - - Gets the representing the method being invoked on the proxy. - - The representing the method being invoked. - - - - For interface proxies, this will point to the on the target class. - - The method invocation target. - - - - Gets the proxy object on which the intercepted method is invoked. - - Proxy object on which the intercepted method is invoked. - - - - Gets or sets the return value of the method. - - The return value of the method. - - - - Gets the type of the target object for the intercepted method. - - The type of the target object. - - - - Gets the value of the argument at the specified . - - The index. - The value of the argument at the specified . - - - - Returns the concrete instantiation of the on the proxy, with any generic - parameters bound to real types. - - - The concrete instantiation of the on the proxy, or the if - not a generic method. - - - Can be slower than calling . - - - - - Returns the concrete instantiation of , with any - generic parameters bound to real types. - For interface proxies, this will point to the on the target class. - - The concrete instantiation of , or - if not a generic method. - - In debug builds this can be slower than calling . - - - - - Proceeds the call to the next interceptor in line, and ultimately to the target method. - - - Since interface proxies without a target don't have the target implementation to proceed to, - it is important, that the last interceptor does not call this method, otherwise a - will be thrown. - - - - - Returns an object describing the operation for this - at this specific point during interception. - - - - - Overrides the value of an argument at the given with the - new provided. - - - This method accepts an , however the value provided must be compatible - with the type of the argument defined on the method, otherwise an exception will be thrown. - - The index of the argument to override. - The new value for the argument. - - - - Describes the operation for an - at a specific point during interception. - - - - - Executes the operation described by this instance. - - There is no interceptor, nor a proxy target object, to proceed to. - - - - Attributes should be replicated if they are non-inheritable, - but there are some special cases where the attributes means - something to the CLR, where they should be skipped. - - - - - Determines whether the specified method is internal. - - The method. - - true if the specified method is internal; otherwise, false. - - - - - Determines whether this assembly has internals visible to dynamic proxy. - - The assembly to inspect. - - - - Checks if the method is public or protected. - - - - - Returns list of all unique interfaces implemented given types, including their base interfaces. - - - - - Checks whether the specified is a delegate type (i.e. a direct subclass of ). - - - - - Abstracts the implementation of proxy type construction. - - - - - Gets or sets the that this logs to. - - - - - Gets the associated with this builder. - - The module scope associated with this builder. - - - - Creates a proxy type for given , implementing , using provided. - - The class type to proxy. - Additional interface types to proxy. - The proxy generation options. - The generated proxy type. - - Implementers should return a proxy type for the specified class and interfaces. - Additional interfaces should be only 'mark' interfaces, that is, they should work like interface proxy without target. (See method.) - - Thrown when or any of is a generic type definition. - Thrown when or any of is not public. - Note that to avoid this exception, you can mark offending type internal, and define - pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. - - - - - Creates a proxy type that proxies calls to members on , implementing , using provided. - - The interface type to proxy. - Additional interface types to proxy. - Type implementing on which calls to the interface members should be intercepted. - The proxy generation options. - The generated proxy type. - - Implementers should return a proxy type for the specified interface that 'proceeds' executions to the specified target. - Additional interfaces should be only 'mark' interfaces, that is, they should work like interface proxy without target. (See method.) - - Thrown when or any of is a generic type definition. - Thrown when or any of is not public. - Note that to avoid this exception, you can mark offending type internal, and define - pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. - - - - - Creates a proxy type for given and that delegates all calls to the provided interceptors and allows interceptors to switch the actual target of invocation. - - The interface type to proxy. - Additional interface types to proxy. - The proxy generation options. - The generated proxy type. - - Implementers should return a proxy type for the specified interface(s) that delegate all executions to the specified interceptors - and uses an instance of the interface as their targets (i.e. ), rather than a class. All classes should then implement interface, - to allow interceptors to switch invocation target with instance of another type implementing called interface. - - Thrown when or any of is a generic type definition. - Thrown when or any of is not public. - Note that to avoid this exception, you can mark offending type internal, and define - pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. - - - - - Creates a proxy type for given that delegates all calls to the provided interceptors. - - The interface type to proxy. - Additional interface types to proxy. - The proxy generation options. - The generated proxy type. - - Implementers should return a proxy type for the specified interface and additional interfaces that delegate all executions to the specified interceptors. - - Thrown when or any of is a generic type definition. - Thrown when or any of is not public. - Note that to avoid this exception, you can mark offending type internal, and define - pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. - - - - - Used during the target type inspection process. Implementors have a chance to customize the - proxy generation process. - - - - - Invoked by the generation process to notify that the whole process has completed. - - - - - Invoked by the generation process to notify that a member was not marked as virtual. - - The type which declares the non-virtual member. - The non-virtual member. - - This method gives an opportunity to inspect any non-proxyable member of a type that has - been requested to be proxied, and if appropriate - throw an exception to notify the caller. - - - - - Invoked by the generation process to determine if the specified method should be proxied. - - The type which declares the given method. - The method to inspect. - True if the given method should be proxied; false otherwise. - - - - Provides proxy objects for classes and interfaces. - - - - - Gets or sets the that this log to. - - - - - Gets the proxy builder instance used to generate proxy types. - - The proxy builder. - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - Object proxying calls to members of on object. - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of types on generated target object. - - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - As a result of that also at least one implementation must be provided. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of types on generated target object. - - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - As a result of that also at least one implementation must be provided. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of types on generated target object. - - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - As a result of that also at least one implementation must be provided. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The proxy generation options used to influence generated proxy type and object. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no parameterless constructor exists on type . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The proxy generation options used to influence generated proxy type and object. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no parameterless constructor exists on type . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The proxy generation options used to influence generated proxy type and object. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Exposes access to the target object and interceptors of proxy objects. - This is a DynamicProxy infrastructure interface and should not be implemented yourself. - - - - - Get the proxy target (note that null is a valid target!) - - - - - Set the proxy target. - - New proxy target. - - - - Gets the interceptors for the proxy - - - - - Because we need to cache the types based on the mixed in mixins, we do the following here: - - Get all the mixin interfaces - - Sort them by full name - - Return them by position - - The idea is to have reproducible behavior for the case that mixins are registered in different orders. - This method is here because it is required - - - - - The default file name used when the assembly is saved using . - - - - - The default assembly (simple) name used for the assemblies generated by a instance. - - - - - Initializes a new instance of the class; assemblies created by this instance will not be saved. - - - - - Initializes a new instance of the class, allowing to specify whether the assemblies generated by this instance - should be saved. - - If set to true saves the generated module. - - - - Initializes a new instance of the class, allowing to specify whether the assemblies generated by this instance - should be saved. - - If set to true saves the generated module. - If set to true disables ability to generate signed module. This should be used in cases where ran under constrained permissions. - - - - Initializes a new instance of the class, allowing to specify whether the assemblies generated by this instance - should be saved and what simple names are to be assigned to them. - - If set to true saves the generated module. - If set to true disables ability to generate signed module. This should be used in cases where ran under constrained permissions. - The simple name of the strong-named assembly generated by this . - The path and file name of the manifest module of the strong-named assembly generated by this . - The simple name of the weak-named assembly generated by this . - The path and file name of the manifest module of the weak-named assembly generated by this . - - - - Initializes a new instance of the class, allowing to specify whether the assemblies generated by this instance - should be saved and what simple names are to be assigned to them. - - If set to true saves the generated module. - If set to true disables ability to generate signed module. This should be used in cases where ran under constrained permissions. - Naming scope used to provide unique names to generated types and their members (usually via sub-scopes). - The simple name of the strong-named assembly generated by this . - The path and file name of the manifest module of the strong-named assembly generated by this . - The simple name of the weak-named assembly generated by this . - The path and file name of the manifest module of the weak-named assembly generated by this . - - - - Users of this should use this lock when accessing the cache. - - - - - Returns a type from this scope's type cache, or null if the key cannot be found. - - The key to be looked up in the cache. - The type from this scope's type cache matching the key, or null if the key cannot be found - - - - Registers a type in this scope's type cache. - - The key to be associated with the type. - The type to be stored in the cache. - - - - Gets the key pair used to sign the strong-named assembly generated by this . - - - - - Gets the strong-named module generated by this scope, or if none has yet been generated. - - The strong-named module generated by this scope, or if none has yet been generated. - - - - Gets the file name of the strongly named module generated by this scope. - - The file name of the strongly named module generated by this scope. - - - - Gets the directory where the strongly named module generated by this scope will be saved, or if the current directory - is used. - - The directory where the strongly named module generated by this scope will be saved when is called - (if this scope was created to save modules). - - - - Gets the weak-named module generated by this scope, or if none has yet been generated. - - The weak-named module generated by this scope, or if none has yet been generated. - - - - Gets the file name of the weakly named module generated by this scope. - - The file name of the weakly named module generated by this scope. - - - - Gets the directory where the weakly named module generated by this scope will be saved, or if the current directory - is used. - - The directory where the weakly named module generated by this scope will be saved when is called - (if this scope was created to save modules). - - - - Gets the specified module generated by this scope, creating a new one if none has yet been generated. - - If set to true, a strong-named module is returned; otherwise, a weak-named module is returned. - A strong-named or weak-named module generated by this scope, as specified by the parameter. - - - - Gets the strong-named module generated by this scope, creating a new one if none has yet been generated. - - A strong-named module generated by this scope. - - - - Gets the weak-named module generated by this scope, creating a new one if none has yet been generated. - - A weak-named module generated by this scope. - - - - Saves the generated assembly with the name and directory information given when this instance was created (or with - the and current directory if none was given). - - - - This method stores the generated assembly in the directory passed as part of the module information specified when this instance was - constructed (if any, else the current directory is used). If both a strong-named and a weak-named assembly - have been generated, it will throw an exception; in this case, use the overload. - - - If this was created without indicating that the assembly should be saved, this method does nothing. - - - Both a strong-named and a weak-named assembly have been generated. - The path of the generated assembly file, or null if no file has been generated. - - - - Saves the specified generated assembly with the name and directory information given when this instance was created - (or with the and current directory if none was given). - - True if the generated assembly with a strong name should be saved (see ); - false if the generated assembly without a strong name should be saved (see . - - - This method stores the specified generated assembly in the directory passed as part of the module information specified when this instance was - constructed (if any, else the current directory is used). - - - If this was created without indicating that the assembly should be saved, this method does nothing. - - - No assembly has been generated that matches the parameter. - - The path of the generated assembly file, or null if no file has been generated. - - - - Loads the generated types from the given assembly into this 's cache. - - The assembly to load types from. This assembly must have been saved via or - , or it must have the manually applied. - - This method can be used to load previously generated and persisted proxy types from disk into this scope's type cache, e.g. in order - to avoid the performance hit associated with proxy generation. - - - - - ProxyBuilder that persists the generated type. - - - The saved assembly contains just the last generated type. - - - - - Initializes a new instance of the class. - - - - - Saves the generated assembly to a physical file. Note that this renders the unusable. - - The path of the generated assembly file, or null if no assembly has been generated. - - This method does not support saving multiple files. If both a signed and an unsigned module have been generated, use the - respective methods of the . - - - - - allows customization of the behavior of proxies created by - an (or proxy types generated by an ). - - You should not modify an instance of once it has been - used to create a proxy (or proxy type). - - - - - - Initializes a new instance of the class. - - The hook. - - - - Initializes a new instance of the class. - - - - - Gets or sets the that should be used during proxy type - generation. Defaults to an instance of . - - You should not modify this property once this instance - has been used to create a proxy. - - - - - - Gets or sets the that should be used by created proxies - to determine which interceptors to use for an interception. If set to - (which is the default), created proxies will not use any selector. - - You should not modify this property once this instance - has been used to create a proxy. - - - - - - Gets or sets the class type from which generated interface proxy types will be derived. - Defaults to (). - - You should not modify this property once this instance - has been used to create a proxy. - - - - - - Gets the collection of additional custom attributes that will be put on generated proxy types. - This collection is initially empty. - - You should not modify this collection once this instance - has been used to create a proxy. - - - - - - Adds a delegate type to the list of mixins that will be added to generated proxies. - That is, generated proxies will have a `Invoke` method with a signature matching that - of the specified . - - You should not call this method once this instance - has been used to create a proxy. - - - The delegate type whose `Invoke` method should be reproduced in generated proxies. - is . - is not a delegate type. - - - - Adds a delegate to be mixed into generated proxies. The - will act as the target for calls to a `Invoke` method with a signature matching that - of the delegate. - - You should not call this method once this instance - has been used to create a proxy. - - - The delegate that should act as the target for calls to `Invoke` methods with a matching signature. - is . - - - - Mixes the interfaces implemented by the specified object into - created proxies, and uses as the target for these mixed-in interfaces. - - You should not call this method once this instance - has been used to create a proxy. - - - The object that should act as the target for all of its implemented interfaces' methods. - is . - is an instance of . - - - - Provides proxy objects for classes and interfaces. - - - - - Initializes a new instance of the class. - - Proxy types builder. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - If true forces all types to be generated into an unsigned module. - - - - Gets or sets the that this log to. - - - - - Gets the proxy builder instance used to generate proxy types. - - The proxy builder. - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - Object proxying calls to members of on object. - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of types on generated target object. - - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - As a result of that also at least one implementation must be provided. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of types on generated target object. - - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - As a result of that also at least one implementation must be provided. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of types on generated target object. - - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - As a result of that also at least one implementation must be provided. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The proxy generation options used to influence generated proxy type and object. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no parameterless constructor exists on type . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The proxy generation options used to influence generated proxy type and object. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no parameterless constructor exists on type . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The proxy generation options used to influence generated proxy type and object. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates the proxy type for class proxy with given class, implementing given and using provided . - - The base class for proxy type. - The interfaces that proxy type should implement. - The options for proxy generation process. - of proxy. - - - - Creates the proxy type for interface proxy with target for given interface, implementing given on given and using provided . - - The interface proxy type should implement. - The additional interfaces proxy type should implement. - Actual type that the proxy type will encompass. - The options for proxy generation process. - of proxy. - - - - Creates the proxy type for interface proxy with target interface for given interface, implementing given on given and using provided . - - The interface proxy type should implement. - The additional interfaces proxy type should implement. - The options for proxy generation process. - of proxy. - - - - Creates the proxy type for interface proxy without target for given interface, implementing given and using provided . - - The interface proxy type should implement. - The additional interfaces proxy type should implement. - The options for proxy generation process. - of proxy. - - - - Creates a delegate of the specified type to a suitable `Invoke` method - on the given instance. - - The proxy instance to which the delegate should be bound. - The type of delegate that should be created. - - The does not have an `Invoke` method that is compatible with - the requested type. - - - - - Creates a delegate of the specified type to a suitable `Invoke` method - on the given instance. - - The proxy instance to which the delegate should be bound. - The type of delegate that should be created. - - The does not have an `Invoke` method that is compatible with - the requested . - - - - - Checks whether the specified method is accessible to DynamicProxy. - The method to check. - true if the method is accessible to DynamicProxy, false otherwise. - - - - Checks whether the specified method is accessible to DynamicProxy. - The method to check. - If the method is accessible to DynamicProxy, null; otherwise, an explanation of why the method is not accessible. - true if the method is accessible to DynamicProxy, false otherwise. - - - - Checks whether the specified type is accessible to DynamicProxy. - The type to check. - true if the type is accessible to DynamicProxy, false otherwise. - - - - Determines whether this assembly has internals visible to DynamicProxy. - - The assembly to inspect. - - - - Checks whether the specified method is accessible to DynamicProxy. - Unlike with , the declaring type's accessibility is ignored. - - The method to check. - true if the method is accessible to DynamicProxy, false otherwise. - - - - Determines whether the specified method is internal. - - The method. - - true if the specified method is internal; otherwise, false. - - - - - Applied to the assemblies saved by in order to persist the cache data included in the persisted assembly. - - - - - Handles the deserialization of proxies. - - - - - Resets the used for deserialization to a new scope. - - - This is useful for test cases. - - - - - Resets the used for deserialization to a given . - - The scope to be used for deserialization. - - By default, the deserialization process uses a different scope than the rest of the application, which can lead to multiple proxies - being generated for the same type. By explicitly setting the deserialization scope to the application's scope, this can be avoided. - - - - - Gets the used for deserialization. - - As has no way of automatically determining the scope used by the application (and the application might use more than one scope at the same time), uses a dedicated scope instance for deserializing proxy types. This instance can be reset and set to a specific value via and . - - - - Holds objects representing methods of class. - - - - - Holds objects representing methods of class. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/packages/Castle.Core.4.4.1/lib/net45/Castle.Core.xml b/src/packages/Castle.Core.4.4.1/lib/net45/Castle.Core.xml deleted file mode 100644 index ec9d692..0000000 --- a/src/packages/Castle.Core.4.4.1/lib/net45/Castle.Core.xml +++ /dev/null @@ -1,6130 +0,0 @@ - - - - Castle.Core - - - - - Abstract adapter for the support - needed by the - - - - - Adds an element with the provided key and value to the object. - - The to use as the key of the element to add. - The to use as the value of the element to add. - An element with the same key already exists in the object. - key is null. - The is read-only.-or- The has a fixed size. - - - - Removes all elements from the object. - - The object is read-only. - - - - Determines whether the object contains an element with the specified key. - - The key to locate in the object. - - true if the contains an element with the key; otherwise, false. - - key is null. - - - - Returns an object for the object. - - - An object for the object. - - - - - Gets a value indicating whether the object has a fixed size. - - true if the object has a fixed size; otherwise, false. - - - - Gets a value indicating whether the object is read-only. - - true if the object is read-only; otherwise, false. - - - - Gets an object containing the keys of the object. - - An object containing the keys of the object. - - - - Removes the element with the specified key from the object. - - The key of the element to remove. - The object is read-only.-or- The has a fixed size. - key is null. - - - - Gets an object containing the values in the object. - - An object containing the values in the object. - - - - Gets or sets the with the specified key. - - - - - Copies the elements of the to an , starting at a particular index. - - The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. - The zero-based index in array at which copying begins. - array is null. - The type of the source cannot be cast automatically to the type of the destination array. - index is less than zero. - array is multidimensional.-or- index is equal to or greater than the length of array.-or- The number of elements in the source is greater than the available space from index to the end of the destination array. - - - - Gets the number of elements contained in the . - - The number of elements contained in the . - - - - Gets a value indicating whether access to the is synchronized (thread safe). - - true if access to the is synchronized (thread safe); otherwise, false. - - - - Gets an object that can be used to synchronize access to the . - - An object that can be used to synchronize access to the . - - - - Returns an enumerator that iterates through a collection. - - - An object that can be used to iterate through the collection. - - - - - Abstract implementation of . - - - - - Identifies a property should be represented as a nested component. - - - - - Applies no prefix. - - - - - Gets or sets the prefix. - - The prefix. - - - - Identifies the dictionary adapter types. - - - - - Assigns a specific dictionary key. - - - - - Identifies an interface or property to be pre-fetched. - - - - - Instructs fetching to occur. - - - - - Instructs fetching according to - - - - - Gets whether or not fetching should occur. - - - - - Assigns a property to a group. - - - - - Constructs a group assignment. - - The group name. - - - - Constructs a group assignment. - - The group name. - - - - Gets the group the property is assigned to. - - - - - Suppresses any on-demand behaviors. - - - - - Assigns a specific dictionary key. - - - - - Initializes a new instance of the class. - - The key. - - - - Initializes a new instance of the class. - - The compound key. - - - - Assigns a prefix to the keyed properties of an interface. - - - Key prefixes are not inherited by sub-interfaces. - - - - - Initializes a default instance of the class. - - - - - Initializes a new instance of the class. - - The prefix for the keyed properties of the interface. - - - - Gets the prefix key added to the properties of the interface. - - - - - Substitutes part of key with another string. - - - - - Initializes a new instance of the class. - - The old value. - The new value. - - - - Requests support for multi-level editing. - - - - - Generates a new GUID on demand. - - - - - Support for on-demand value resolution. - - - - - Specifies assignment by reference rather than by copying. - - - - - Removes a property if matches value. - - - - - Removes a property if null or empty string, guid or collection. - - - - - Provides simple string formatting from existing properties. - - - - - Gets the string format. - - - - - Gets the format properties. - - - - - Identifies a property should be represented as a delimited string value. - - - - - Gets the separator. - - - - - Converts all properties to strings. - - - - - Gets or sets the format. - - The format. - - - - Suppress property change notifications. - - - - - Assigns a prefix to the keyed properties using the interface name. - - - - - Indicates that underlying values are changeable and should not be cached. - - - - - Initializes a new instance of the class - that represents a child object in a larger object graph. - - - - - Manages conversion between property values. - - - - - Initializes a new instance of the class. - - The converter. - - - - - - - - - Gets the effective dictionary value. - - The dictionary adapter. - The key. - The stored value. - The property. - true if return only existing. - The effective property value. - - - - Uses Reflection.Emit to expose the properties of a dictionary - through a dynamic implementation of a typed interface. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Wraps a with a dynamic object to expose a bit better looking API. - The implementation is trivial and assumes keys are s. - - - - - Contract for manipulating the Dictionary adapter. - - - - - Defines the contract for building typed dictionary adapters. - - - - - Gets a typed adapter bound to the . - - The typed interface. - The underlying source of properties. - An implementation of the typed interface bound to the dictionary. - - The type represented by T must be an interface with properties. - - - - - Gets a typed adapter bound to the . - - The typed interface. - The underlying source of properties. - An implementation of the typed interface bound to the dictionary. - - The type represented by T must be an interface with properties. - - - - - Gets a typed adapter bound to the . - - The typed interface. - The underlying source of properties. - The property descriptor. - An implementation of the typed interface bound to the dictionary. - - The type represented by T must be an interface with properties. - - - - - Gets a typed adapter bound to the . - - The typed interface. - The underlying source of properties. - An implementation of the typed interface bound to the namedValues. - - The type represented by T must be an interface with properties. - - - - - Gets a typed adapter bound to the . - - The typed interface. - The underlying source of properties. - An implementation of the typed interface bound to the namedValues. - - The type represented by T must be an interface with properties. - - - - - Gets a typed adapter bound to the . - - The typed interface. - The underlying source of properties. - An implementation of the typed interface bound to the . - - The type represented by T must be an interface with properties. - - - - - Gets a typed adapter bound to the . - - The typed interface. - The underlying source of properties. - An implementation of the typed interface bound to the . - - The type represented by T must be an interface with properties. - - - - - Gets the associated with the type. - - The typed interface. - The adapter meta-data. - - - - Gets the associated with the type. - - The typed interface. - The property descriptor. - The adapter meta-data. - - - - Gets the associated with the type. - - The typed interface. - Another from which to copy behaviors. - The adapter meta-data. - - - - Contract for traversing a . - - - - - Defines the contract for customizing dictionary access. - - - - - Determines relative order to apply related behaviors. - - - - - Copies the dictionary behavior. - - null if should not be copied. Otherwise copy. - - - - Defines the contract for building s. - - - - - Builds the dictionary behaviors. - - - - - Contract for creating additional Dictionary adapters. - - - - - Contract for editing the Dictionary adapter. - - - - - Contract for dictionary initialization. - - - - - Performs any initialization of the - - The dictionary adapter. - The dictionary behaviors. - - - - Defines the contract for building typed dictionary keys. - - - - - Builds the specified key. - - The dictionary adapter. - The current key. - The property. - The updated key - - - - Contract for dictionary meta-data initialization. - - - - - Initializes the given object. - - The dictionary adapter factory. - The dictionary adapter meta. - - - - - Determines whether the given behavior should be included in a new - object. - - A dictionary behavior or annotation. - True if the behavior should be included; otherwise, false. - - behaviors are always included, - regardless of the result of this method. - - - - - - Contract for managing Dictionary adapter notifications. - - - - - Defines the contract for retrieving dictionary values. - - - - - Gets the effective dictionary value. - - The dictionary adapter. - The key. - The stored value. - The property. - true if return only existing. - The effective property value. - - - - Defines the contract for updating dictionary values. - - - - - Sets the stored dictionary value. - - The dictionary adapter. - The key. - The stored value. - The property. - true if the property should be stored. - - - - Contract for validating Dictionary adapter. - - - - - Contract for dictionary validation. - - - - - Determines if is valid. - - The dictionary adapter. - true if valid. - - - - Validates the . - - The dictionary adapter. - The error summary information. - - - - Validates the for a property. - - The dictionary adapter. - The property to validate. - The property summary information. - - - - Invalidates any results cached by the validator. - - The dictionary adapter. - - - - Contract for property descriptor initialization. - - - - - Performs any initialization of the - - The property descriptor. - The property behaviors. - - - - - - - - - Initializes a new instance of the class. - - The name values. - - - - Gets a value indicating whether the object is read-only. - - true if the object is read-only; otherwise, false. - - - - Determines whether the object contains an element with the specified key. - - The key to locate in the object. - - true if the contains an element with the key; otherwise, false. - - key is null. - - - - Gets or sets the with the specified key. - - - - - Adapts the specified name values. - - The name values. - - - - Describes a dictionary property. - - - - - Initializes an empty class. - - - - - Initializes a new instance of the class. - - The property. - The annotations. - - - - Initializes a new instance class. - - - - - Copies an existing instance of the class. - - - - - - - - - - Gets the property name. - - - - - Gets the property type. - - - - - Gets the property. - - The property. - - - - Returns true if the property is dynamic. - - - - - Gets additional state. - - - - - Determines if property should be fetched. - - - - - Determines if property must exist first. - - - - - Determines if notifications should occur. - - - - - Gets the property behaviors. - - - - - Gets the type converter. - - The type converter. - - - - Gets the extended properties. - - - - - Gets the setter. - - The setter. - - - - Gets the key builders. - - The key builders. - - - - Gets the setter. - - The setter. - - - - Gets the getter. - - The getter. - - - - Gets the initializers. - - The initializers. - - - - Gets the meta-data initializers. - - The meta-data initializers. - - - - Gets the key. - - The dictionary adapter. - The key. - The descriptor. - - - - Gets the property value. - - The dictionary adapter. - The key. - The stored value. - The descriptor. - true if return only existing. - - - - Sets the property value. - - The dictionary adapter. - The key. - The value. - The descriptor. - - - - Adds a single behavior. - - The behavior. - - - - Adds the behaviors. - - The behaviors. - - - - Adds the behaviors. - - The behaviors. - - - - Copies the behaviors to the other - - - - - Copies the - - - - - Provides a generic collection that supports data binding. - - - This class wraps the CLR - in order to implement the Castle-specific . - - The type of elements in the list. - - - - Initializes a new instance of the class - using default values. - - - - - Initializes a new instance of the class - with the specified list. - - - An of items - to be contained in the . - - - - - Initializes a new instance of the class - wrapping the specified instance. - - - A - to be wrapped by the . - - - - - Contract for value matching. - - - - - Contract for dynamic value resolution. - - - - - Contract for typed dynamic value resolution. - - - - - - This is an abstract implementation - that deals with methods that can be abstracted away - from underlying implementations. - - - AbstractConfiguration makes easier to implementers - to create a new version of - - - - - Gets node attributes. - - - All attributes of the node. - - - - - Gets all child nodes. - - The of child nodes. - - - - Gets the name of the . - - - The Name of the . - - - - - Gets the value of . - - - The Value of the . - - - - - Gets the value of the node and converts it - into specified . - - The - - The Default value returned if the conversion fails. - - The Value converted into the specified type. - - - - A collection of objects. - - - - - Creates a new instance of ConfigurationCollection. - - - - - Creates a new instance of ConfigurationCollection. - - - - - is a interface encapsulating a configuration node - used to retrieve configuration values. - - - - - Gets the name of the node. - - - The Name of the node. - - - - - Gets the value of the node. - - - The Value of the node. - - - - - Gets an of - elements containing all node children. - - The Collection of child nodes. - - - - Gets an of the configuration attributes. - - - - - Gets the value of the node and converts it - into specified . - - The - - The Default value returned if the conversion fails. - - The Value converted into the specified type. - - - - Initializes a new instance of the class. - - The name. - - - - Gets the value of . - - - The Value of the . - - - - - Deserializes the specified node into an abstract representation of configuration. - - The node. - - - - If a config value is an empty string we return null, this is to keep - backward compatibility with old code - - - - - Helper class for retrieving attributes. - - - - - Gets the attribute. - - The type. - The type attribute. - - - - Gets the attributes. Does not consider inherited attributes! - - The type. - The type attributes. - - - - Gets the attribute. - - The member. - The member attribute. - - - - Gets the attributes. Does not consider inherited attributes! - - The member. - The member attributes. - - - - Gets the type attribute. - - The type. - The type attribute. - - - - Gets the type attributes. - - The type. - The type attributes. - - - - Gets the type converter. - - The member. - - - - Checks whether or not collection is null or empty. Assumes collection can be safely enumerated multiple times. - - - - - Generates a HashCode for the contents for the list. Order of items does not matter. - - The type of object contained within the list. - The list. - The generated HashCode. - - - - Determines if two lists are equivalent. Equivalent lists have the same number of items and each item is found within the other regardless of respective position within each. - - The type of object contained within the list. - The first list. - The second list. - True if the two lists are equivalent. - - - - Constant to use when making assembly internals visible to Castle.Core - [assembly: InternalsVisibleTo(CoreInternalsVisible.ToCastleCore)] - - - - - Constant to use when making assembly internals visible to proxy types generated by DynamicProxy. Required when proxying internal types. - [assembly: InternalsVisibleTo(CoreInternalsVisible.ToDynamicProxyGenAssembly2)] - - - - - Creates a new lock. - - - - - Find the best available name to describe a type. - - - Usually the best name will be , but - sometimes that's null (see http://msdn.microsoft.com/en-us/library/system.type.fullname%28v=vs.110%29.aspx) - in which case the method falls back to . - - the type to name - the best name - - - - Defines that the implementation wants a - in order to - access other components. The creator must be aware - that the component might (or might not) implement - the interface. - - - Used by Castle Project components to, for example, - gather logging factories - - - - - Increments IServiceProvider with a generic service resolution operation. - - - - - This interface should be implemented by classes - that are available in a bigger context, exposing - the container to different areas in the same application. - - For example, in Web application, the (global) HttpApplication - subclasses should implement this interface to expose - the configured container - - - - - - Creates a new extended logger, getting the logger name from the specified type. - - - - - Creates a new extended logger. - - - - - Creates a new extended logger, getting the logger name from the specified type. - - - - - Creates a new extended logger. - - - - - Creates a new logger, getting the logger name from the specified type. - - - - - Creates a new logger. - - - - - Creates a new logger, getting the logger name from the specified type. - - - - - Creates a new logger. - - - - - Gets the configuration file. - - i.e. log4net.config - - - - Gets the configuration file. - - i.e. log4net.config - - - - The Logger sending everything to the standard output streams. - This is mainly for the cases when you have a utility that - does not have a logger to supply. - - - - - Creates a new ConsoleLogger with the Level - set to LoggerLevel.Debug and the Name - set to String.Empty. - - - - - Creates a new ConsoleLogger with the Name - set to String.Empty. - - The logs Level. - - - - Creates a new ConsoleLogger with the Level - set to LoggerLevel.Debug. - - The logs Name. - - - - Creates a new ConsoleLogger. - - The logs Name. - The logs Level. - - - - A Common method to log. - - The level of logging - The name of the logger - The Message - The Exception - - - - Returns a new ConsoleLogger with the name - added after this loggers name, with a dot in between. - - The added hierarchical name. - A new ConsoleLogger. - - - - The Logger using standard Diagnostics namespace. - - - - - Creates a logger based on . - - - - - - Creates a logger based on . - - - - - - - Creates a logger based on . - - - - - - - - Interface for Context Properties implementations - - - - This interface defines a basic property get set accessor. - - - Based on the ContextPropertiesBase of log4net, by Nicko Cadell. - - - - - - Gets or sets the value of a property - - - The value for the property with the specified key - - - - Gets or sets the value of a property - - - - - - Provides an interface that supports and - allows the storage and retrieval of Contexts. These are supported in - both log4net and NLog. - - - - - Exposes the Global Context of the extended logger. - - - - - Exposes the Thread Context of the extended logger. - - - - - Exposes the Thread Stack of the extended logger. - - - - - Provides a factory that can produce either or - classes. - - - - - Creates a new extended logger, getting the logger name from the specified type. - - - - - Creates a new extended logger. - - - - - Creates a new extended logger, getting the logger name from the specified type. - - - - - Creates a new extended logger. - - - - - Manages logging. - - - This is a facade for the different logging subsystems. - It offers a simplified interface that follows IOC patterns - and a simplified priority/level/severity abstraction. - - - - - Determines if messages of priority "trace" will be logged. - - True if "trace" messages will be logged. - - - - Determines if messages of priority "debug" will be logged. - - True if "debug" messages will be logged. - - - - Determines if messages of priority "error" will be logged. - - True if "error" messages will be logged. - - - - Determines if messages of priority "fatal" will be logged. - - True if "fatal" messages will be logged. - - - - Determines if messages of priority "info" will be logged. - - True if "info" messages will be logged. - - - - Determines if messages of priority "warn" will be logged. - - True if "warn" messages will be logged. - - - - Create a new child logger. - The name of the child logger is [current-loggers-name].[passed-in-name] - - The Subname of this logger. - The New ILogger instance. - If the name has an empty element name. - - - - Logs a trace message. - - The message to log - - - - Logs a trace message with lazily constructed message. The message will be constructed only if the is true. - - - - - Logs a trace message. - - The exception to log - The message to log - - - - Logs a trace message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a trace message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a trace message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a trace message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The message to log - - - - Logs a debug message with lazily constructed message. The message will be constructed only if the is true. - - - - - Logs a debug message. - - The exception to log - The message to log - - - - Logs a debug message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The message to log - - - - Logs an error message with lazily constructed message. The message will be constructed only if the is true. - - - - - Logs an error message. - - The exception to log - The message to log - - - - Logs an error message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The message to log - - - - Logs a fatal message with lazily constructed message. The message will be constructed only if the is true. - - - - - Logs a fatal message. - - The exception to log - The message to log - - - - Logs a fatal message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The message to log - - - - Logs a info message with lazily constructed message. The message will be constructed only if the is true. - - - - - Logs an info message. - - The exception to log - The message to log - - - - Logs an info message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The message to log - - - - Logs a warn message with lazily constructed message. The message will be constructed only if the is true. - - - - - Logs a warn message. - - The exception to log - The message to log - - - - Logs a warn message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Manages the instantiation of s. - - - - - Creates a new logger, getting the logger name from the specified type. - - - - - Creates a new logger. - - - - - Creates a new logger, getting the logger name from the specified type. - - - - - Creates a new logger. - - - - - The Level Filtered Logger class. This is a base class which - provides a LogLevel attribute and reroutes all functions into - one Log method. - - - - - Creates a new LevelFilteredLogger. - - - - - Keep the instance alive in a remoting scenario - - - - - The LoggerLevel that this logger - will be using. Defaults to LoggerLevel.Off - - - - - The name that this logger will be using. - Defaults to String.Empty - - - - - Logs a trace message. - - The message to log - - - - Logs a trace message. - - A functor to create the message - - - - Logs a trace message. - - The exception to log - The message to log - - - - Logs a trace message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a trace message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a trace message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a trace message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The message to log - - - - Logs a debug message. - - The exception to log - The message to log - - - - Logs a debug message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The message to log - - - - Logs an info message. - - The exception to log - The message to log - - - - Logs an info message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The message to log - - - - Logs a warn message. - - The exception to log - The message to log - - - - Logs a warn message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The message to log - - - - Logs an error message. - - The exception to log - The message to log - - - - Logs an error message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The message to log - - - - Logs a fatal message. - - The exception to log - The message to log - - - - Logs a fatal message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Determines if messages of priority "trace" will be logged. - - true if log level flags include the bit - - - - Determines if messages of priority "debug" will be logged. - - true if log level flags include the bit - - - - Determines if messages of priority "info" will be logged. - - true if log level flags include the bit - - - - Determines if messages of priority "warn" will be logged. - - true if log level flags include the bit - - - - Determines if messages of priority "error" will be logged. - - true if log level flags include the bit - - - - Determines if messages of priority "fatal" will be logged. - - true if log level flags include the bit - - - - Implementors output the log content by implementing this method only. - Note that exception can be null - - - - - Supporting Logger levels. - - - - - Logging will be off - - - - - Fatal logging level - - - - - Error logging level - - - - - Warn logging level - - - - - Info logging level - - - - - Debug logging level - - - - - Trace logging level - - - - - NullLogFactory used when logging is turned off. - - - - - Creates an instance of ILogger with the specified name. - - Name. - - - - Creates an instance of ILogger with the specified name and LoggerLevel. - - Name. - Level. - - - - The Null Logger class. This is useful for implementations where you need - to provide a logger to a utility class, but do not want any output from it. - It also helps when you have a utility that does not have a logger to supply. - - - - - Returns empty context properties. - - - - - Returns empty context properties. - - - - - Returns empty context stacks. - - - - - No-op. - - false - - - - No-op. - - false - - - - No-op. - - false - - - - No-op. - - false - - - - No-op. - - false - - - - No-op. - - false - - - - Returns this NullLogger. - - Ignored - This ILogger instance. - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - The Stream Logger class. This class can stream log information - to any stream, it is suitable for storing a log file to disk, - or to a MemoryStream for testing your components. - - - This logger is not thread safe. - - - - - Creates a new StreamLogger with default encoding - and buffer size. Initial Level is set to Debug. - - - The name of the log. - - - The stream that will be used for logging, - seeking while the logger is alive - - - - - Creates a new StreamLogger with default buffer size. - Initial Level is set to Debug. - - - The name of the log. - - - The stream that will be used for logging, - seeking while the logger is alive - - - The encoding that will be used for this stream. - - - - - - Creates a new StreamLogger. - Initial Level is set to Debug. - - - The name of the log. - - - The stream that will be used for logging, - seeking while the logger is alive - - - The encoding that will be used for this stream. - - - - The buffer size that will be used for this stream. - - - - - - Creates a new StreamLogger with - Debug as default Level. - - The name of the log. - The StreamWriter the log will write to. - - - - Creates outputting - to files. The name of the file is derived from the log name - plus the 'log' extension. - - - - - The TraceLogger sends all logging to the System.Diagnostics.TraceSource - built into the .net framework. - - - Logging can be configured in the system.diagnostics configuration - section. - - If logger doesn't find a source name with a full match it will - use source names which match the namespace partially. For example you can - configure from all castle components by adding a source name with the - name "Castle". - - If no portion of the namespace matches the source named "Default" will - be used. - - - - - Build a new trace logger based on the named TraceSource - - The name used to locate the best TraceSource. In most cases comes from the using type's fullname. - - - - Build a new trace logger based on the named TraceSource - - The name used to locate the best TraceSource. In most cases comes from the using type's fullname. - The default logging level at which this source should write messages. In almost all cases this - default value will be overridden in the config file. - - - - Create a new child logger. - The name of the child logger is [current-loggers-name].[passed-in-name] - - The Subname of this logger. - The New ILogger instance. - - - - Used to create the TraceLogger implementation of ILogger interface. See . - - - - - General purpose class to represent a standard pair of values. - - Type of the first value - Type of the second value - - - - Constructs a pair with its values - - - - - List of utility methods related to dynamic proxy operations - - - - - Determines whether the specified type is a proxy generated by - DynamicProxy (1 or 2). - - The type. - - true if it is a proxy; otherwise, false. - - - - - Readonly implementation of which uses an anonymous object as its source. Uses names of properties as keys, and property values as... well - values. Keys are not case sensitive. - - - - - Initializes a new instance of the class. - - The target. - - - - Gets the number of elements contained in the . - - The number of elements contained in the . - - - - Gets a value indicating whether access to the is synchronized (thread safe). - - true if access to the is synchronized (thread safe); otherwise, false. - - - - Gets an object that can be used to synchronize access to the . - - An object that can be used to synchronize access to the . - - - - Gets a value indicating whether the object is read-only. - - true if the object is read-only; otherwise, false. - - - - Gets or sets the with the specified key. - - - - - Gets an object containing the keys of the object. - - An object containing the keys of the object. - - - - Gets an object containing the values in the object. - - An object containing the values in the object. - - - - Gets a value indicating whether the object has a fixed size. - - true if the object has a fixed size; otherwise, false. - - - - Adds an element with the provided key and value to the object. - - The to use as the key of the element to add. - The to use as the value of the element to add. - - is null. - An element with the same key already exists in the object. - The is read-only.-or- The has a fixed size. - - - - Removes all elements from the object. - - The object is read-only. - - - - Determines whether the object contains an element with the specified key. - - The key to locate in the object. - - true if the contains an element with the key; otherwise, false. - - - is null. - - - - Removes the element with the specified key from the object. - - The key of the element to remove. - - is null. - The object is read-only.-or- The has a fixed size. - - - - Returns an enumerator that iterates through a collection. - - - An object that can be used to iterate through the collection. - - - - - Copies the elements of the to an , starting at a particular index. - - The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. - The zero-based index in at which copying begins. - - is null. - - is less than zero. - - is multidimensional.-or- is equal to or greater than the length of .-or- The number of elements in the source is greater than the available space from to the end of the destination . - The type of the source cannot be cast automatically to the type of the destination . - - - - Returns an object for the object. - - - An object for the object. - - - - - Reads values of properties from and inserts them into using property names as keys. - - - - - - - - - - This returns a new stream instance each time it is called. - It is the responsibility of the caller to dispose of this stream - - - - - - - - - - - - - - - Represents a 'streamable' resource. Can - be a file, a resource in an assembly. - - - - - Only valid for resources that - can be obtained through relative paths - - - - - Returns a reader for the stream - - - It's up to the caller to dispose the reader. - - - - - Returns a reader for the stream - - - It's up to the caller to dispose the reader. - - - - - Returns an instance of - created according to the relativePath - using itself as the root. - - - - - Depicts the contract for resource factories. - - - - - Used to check whether the resource factory - is able to deal with the given resource - identifier. - - - Implementors should return true - only if the given identifier is supported - by the resource factory - - - - - Creates an instance - for the given resource identifier - - - - - Creates an instance - for the given resource identifier - - - - - Adapts a static string content as an - - - - - Enable access to files on network shares - - - - - Default implementation. - - - - - Initializes a new instance of the class based on the configuration provided in the application configuration file. - - - This constructor is based on the default configuration in the application configuration file. - - - - - This service implementation - requires a host name in order to work - - The smtp server name - - - - Gets or sets the port used to - access the SMTP server - - - - - Gets the hostname. - - The hostname. - - - - Gets or sets a value which is used to - configure if emails are going to be sent asynchronously or not. - - - - - Gets or sets a value that specifies - the amount of time after which a synchronous Send call times out. - - - - - Gets or sets a value indicating whether the email should be sent using - a secure communication channel. - - true if should use SSL; otherwise, false. - - - - Sends a message. - - If any of the parameters is null - From field - To field - e-mail's subject - message's body - - - - Sends a message. - - If the message is null - Message instance - - - - Gets or sets the domain. - - The domain. - - - - Gets or sets the name of the user. - - The name of the user. - - - - Gets or sets the password. - - The password. - - - - Configures the sender - with port information and eventual credential - informed - - Message instance - - - - Gets a value indicating whether credentials were informed. - - - if this instance has credentials; otherwise, . - - - - - Email sender abstraction. - - - - - Sends a mail message. - - From field - To field - E-mail's subject - message's body - - - - Sends a message. - - Message instance - - - - Sends multiple messages. - - List of messages - - - - Interface describing elements composing generated type - - - - - Performs some basic screening and invokes the - to select methods. - - - - - Encapsulates the information needed to build an attribute. - - - Arrays passed to this class as constructor arguments or property or field values become owned by this class. - They should not be mutated after creation. - - - - - Default implementation of interface producing in-memory proxy assemblies. - - - - - Initializes a new instance of the class with new . - - - - - Initializes a new instance of the class. - - The module scope for generated proxy types. - - - - Provides instructions that a user could follow to make a type or method in - visible to DynamicProxy. - The assembly containing the type or method. - Instructions that a user could follow to make a type or method visible to DynamicProxy. - - - - Creates a message to inform clients that a proxy couldn't be created due to reliance on an - inaccessible type (perhaps itself). - - the inaccessible type that prevents proxy creation - the type that couldn't be proxied - - - - Base class that exposes the common functionalities - to proxy generation. - - - - - It is safe to add mapping (no mapping for the interface exists) - - - - - Generates a parameters constructor that initializes the proxy - state with just to make it non-null. - - This constructor is important to allow proxies to be XML serializable - - - - - - Initializes a new instance of the class. - - Target element. This is either target type or target method for invocation types. - The type of the proxy. This is base type for invocation types. - The interfaces. - The options. - - - - Initializes a new instance of the class. - - Type of the target. - The interfaces. - The options. - - - - Provides appropriate Ldc.X opcode for the type of primitive value to be loaded. - - - - - Provides appropriate Ldind.X opcode for - the type of primitive value to be loaded indirectly. - - - - - Emits a load indirect opcode of the appropriate type for a value or object reference. - Pops a pointer off the evaluation stack, dereferences it and loads - a value of the specified type. - - - - - Emits a load opcode of the appropriate kind for a constant string or - primitive value. - - - - - Emits a load opcode of the appropriate kind for the constant default value of a - type, such as 0 for value types and null for reference types. - - - - - Emits a store indirectopcode of the appropriate type for a value or object reference. - Pops a value of the specified type and a pointer off the evaluation stack, and - stores the value. - - - - - Wraps a reference that is passed - ByRef and provides indirect load/store support. - - - - - Provides appropriate Stind.X opcode - for the type of primitive value to be stored indirectly. - - - - - Represents the scope of uniqueness of names for types and their members - - - - - Gets a unique name based on - - Name suggested by the caller - Unique name based on . - - Implementers should provide name as closely resembling as possible. - Generally if no collision occurs it is suggested to return suggested name, otherwise append sequential suffix. - Implementers must return deterministic names, that is when is called twice - with the same suggested name, the same returned name should be provided each time. Non-deterministic return - values, like appending random suffices will break serialization of proxies. - - - - - Returns new, disposable naming scope. It is responsibility of the caller to make sure that no naming collision - with enclosing scope, or other subscopes is possible. - - New naming scope. - - - - Generates the constructor for the class that extends - - - - - - Initializes a new instance of the class. - - The name. - Type declaring the original event being overridden, or null. - The event delegate type. - The add method. - The remove method. - The attributes. - - - - Returns the methods implemented by a type. Use this instead of Type.GetMethods() to work around a CLR issue - where duplicate MethodInfos are returned by Type.GetMethods() after a token of a generic type's method was loaded. - - - - - Exposes means to change target objects of proxies and invocations. - - - - - Changes the target object () of current . - - The new value of target of invocation. - - Although the method takes the actual instance must be of type assignable to , otherwise an will be thrown. - Also while it's technically legal to pass null reference (Nothing in Visual Basic) as , for obvious reasons Dynamic Proxy will not be able to call the intercepted method on such target. - In this case last interceptor in the pipeline mustn't call or a will be throws. - Also while it's technically legal to pass proxy itself as , this would create stack overflow. - In this case last interceptor in the pipeline mustn't call or a will be throws. - - Thrown when is not assignable to the proxied type. - - - - Permanently changes the target object of the proxy. This does not affect target of the current invocation. - - The new value of target of the proxy. - - Although the method takes the actual instance must be of type assignable to proxy's target type, otherwise an will be thrown. - Also while it's technically legal to pass null reference (Nothing in Visual Basic) as , for obvious reasons Dynamic Proxy will not be able to call the intercepted method on such target. - In this case last interceptor in the pipeline mustn't call or a will be throws. - Also while it's technically legal to pass proxy itself as , this would create stack overflow. - In this case last interceptor in the pipeline mustn't call or a will be throws. - - Thrown when is not assignable to the proxied type. - - - - Provides the main DynamicProxy extension point that allows member interception. - - - - - Provides an extension point that allows proxies to choose specific interceptors on - a per method basis. - - - - - Selects the interceptors that should intercept calls to the given . - - The type of the target object. - The method that will be intercepted. - All interceptors registered with the proxy. - An array of interceptors to invoke upon calling the . - - This method is called only once per proxy instance, upon the first call to the - . Either an empty array or null are valid return values to indicate - that no interceptor should intercept calls to the method. Although it is not advised, it is - legal to return other implementations than these provided in - . - - - - - Encapsulates an invocation of a proxied method. - - - - - Gets the arguments that the has been invoked with. - - The arguments the method was invoked with. - - - - Gets the generic arguments of the method. - - The generic arguments, or null if not a generic method. - - - - Gets the object on which the invocation is performed. This is different from proxy object - because most of the time this will be the proxy target object. - - - The invocation target. - - - - Gets the representing the method being invoked on the proxy. - - The representing the method being invoked. - - - - For interface proxies, this will point to the on the target class. - - The method invocation target. - - - - Gets the proxy object on which the intercepted method is invoked. - - Proxy object on which the intercepted method is invoked. - - - - Gets or sets the return value of the method. - - The return value of the method. - - - - Gets the type of the target object for the intercepted method. - - The type of the target object. - - - - Gets the value of the argument at the specified . - - The index. - The value of the argument at the specified . - - - - Returns the concrete instantiation of the on the proxy, with any generic - parameters bound to real types. - - - The concrete instantiation of the on the proxy, or the if - not a generic method. - - - Can be slower than calling . - - - - - Returns the concrete instantiation of , with any - generic parameters bound to real types. - For interface proxies, this will point to the on the target class. - - The concrete instantiation of , or - if not a generic method. - - In debug builds this can be slower than calling . - - - - - Proceeds the call to the next interceptor in line, and ultimately to the target method. - - - Since interface proxies without a target don't have the target implementation to proceed to, - it is important, that the last interceptor does not call this method, otherwise a - will be thrown. - - - - - Returns an object describing the operation for this - at this specific point during interception. - - - - - Overrides the value of an argument at the given with the - new provided. - - - This method accepts an , however the value provided must be compatible - with the type of the argument defined on the method, otherwise an exception will be thrown. - - The index of the argument to override. - The new value for the argument. - - - - Describes the operation for an - at a specific point during interception. - - - - - Executes the operation described by this instance. - - There is no interceptor, nor a proxy target object, to proceed to. - - - - Attributes should be replicated if they are non-inheritable, - but there are some special cases where the attributes means - something to the CLR, where they should be skipped. - - - - - Determines whether the specified method is internal. - - The method. - - true if the specified method is internal; otherwise, false. - - - - - Determines whether this assembly has internals visible to dynamic proxy. - - The assembly to inspect. - - - - Checks if the method is public or protected. - - - - - Returns list of all unique interfaces implemented given types, including their base interfaces. - - - - - Checks whether the specified is a delegate type (i.e. a direct subclass of ). - - - - - Abstracts the implementation of proxy type construction. - - - - - Gets or sets the that this logs to. - - - - - Gets the associated with this builder. - - The module scope associated with this builder. - - - - Creates a proxy type for given , implementing , using provided. - - The class type to proxy. - Additional interface types to proxy. - The proxy generation options. - The generated proxy type. - - Implementers should return a proxy type for the specified class and interfaces. - Additional interfaces should be only 'mark' interfaces, that is, they should work like interface proxy without target. (See method.) - - Thrown when or any of is a generic type definition. - Thrown when or any of is not public. - Note that to avoid this exception, you can mark offending type internal, and define - pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. - - - - - Creates a proxy type that proxies calls to members on , implementing , using provided. - - The interface type to proxy. - Additional interface types to proxy. - Type implementing on which calls to the interface members should be intercepted. - The proxy generation options. - The generated proxy type. - - Implementers should return a proxy type for the specified interface that 'proceeds' executions to the specified target. - Additional interfaces should be only 'mark' interfaces, that is, they should work like interface proxy without target. (See method.) - - Thrown when or any of is a generic type definition. - Thrown when or any of is not public. - Note that to avoid this exception, you can mark offending type internal, and define - pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. - - - - - Creates a proxy type for given and that delegates all calls to the provided interceptors and allows interceptors to switch the actual target of invocation. - - The interface type to proxy. - Additional interface types to proxy. - The proxy generation options. - The generated proxy type. - - Implementers should return a proxy type for the specified interface(s) that delegate all executions to the specified interceptors - and uses an instance of the interface as their targets (i.e. ), rather than a class. All classes should then implement interface, - to allow interceptors to switch invocation target with instance of another type implementing called interface. - - Thrown when or any of is a generic type definition. - Thrown when or any of is not public. - Note that to avoid this exception, you can mark offending type internal, and define - pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. - - - - - Creates a proxy type for given that delegates all calls to the provided interceptors. - - The interface type to proxy. - Additional interface types to proxy. - The proxy generation options. - The generated proxy type. - - Implementers should return a proxy type for the specified interface and additional interfaces that delegate all executions to the specified interceptors. - - Thrown when or any of is a generic type definition. - Thrown when or any of is not public. - Note that to avoid this exception, you can mark offending type internal, and define - pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. - - - - - Used during the target type inspection process. Implementors have a chance to customize the - proxy generation process. - - - - - Invoked by the generation process to notify that the whole process has completed. - - - - - Invoked by the generation process to notify that a member was not marked as virtual. - - The type which declares the non-virtual member. - The non-virtual member. - - This method gives an opportunity to inspect any non-proxyable member of a type that has - been requested to be proxied, and if appropriate - throw an exception to notify the caller. - - - - - Invoked by the generation process to determine if the specified method should be proxied. - - The type which declares the given method. - The method to inspect. - True if the given method should be proxied; false otherwise. - - - - Provides proxy objects for classes and interfaces. - - - - - Gets or sets the that this log to. - - - - - Gets the proxy builder instance used to generate proxy types. - - The proxy builder. - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - Object proxying calls to members of on object. - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of types on generated target object. - - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - As a result of that also at least one implementation must be provided. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of types on generated target object. - - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - As a result of that also at least one implementation must be provided. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of types on generated target object. - - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - As a result of that also at least one implementation must be provided. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The proxy generation options used to influence generated proxy type and object. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no parameterless constructor exists on type . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The proxy generation options used to influence generated proxy type and object. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no parameterless constructor exists on type . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The proxy generation options used to influence generated proxy type and object. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Exposes access to the target object and interceptors of proxy objects. - This is a DynamicProxy infrastructure interface and should not be implemented yourself. - - - - - Get the proxy target (note that null is a valid target!) - - - - - Set the proxy target. - - New proxy target. - - - - Gets the interceptors for the proxy - - - - - Because we need to cache the types based on the mixed in mixins, we do the following here: - - Get all the mixin interfaces - - Sort them by full name - - Return them by position - - The idea is to have reproducible behavior for the case that mixins are registered in different orders. - This method is here because it is required - - - - - The default file name used when the assembly is saved using . - - - - - The default assembly (simple) name used for the assemblies generated by a instance. - - - - - Initializes a new instance of the class; assemblies created by this instance will not be saved. - - - - - Initializes a new instance of the class, allowing to specify whether the assemblies generated by this instance - should be saved. - - If set to true saves the generated module. - - - - Initializes a new instance of the class, allowing to specify whether the assemblies generated by this instance - should be saved. - - If set to true saves the generated module. - If set to true disables ability to generate signed module. This should be used in cases where ran under constrained permissions. - - - - Initializes a new instance of the class, allowing to specify whether the assemblies generated by this instance - should be saved and what simple names are to be assigned to them. - - If set to true saves the generated module. - If set to true disables ability to generate signed module. This should be used in cases where ran under constrained permissions. - The simple name of the strong-named assembly generated by this . - The path and file name of the manifest module of the strong-named assembly generated by this . - The simple name of the weak-named assembly generated by this . - The path and file name of the manifest module of the weak-named assembly generated by this . - - - - Initializes a new instance of the class, allowing to specify whether the assemblies generated by this instance - should be saved and what simple names are to be assigned to them. - - If set to true saves the generated module. - If set to true disables ability to generate signed module. This should be used in cases where ran under constrained permissions. - Naming scope used to provide unique names to generated types and their members (usually via sub-scopes). - The simple name of the strong-named assembly generated by this . - The path and file name of the manifest module of the strong-named assembly generated by this . - The simple name of the weak-named assembly generated by this . - The path and file name of the manifest module of the weak-named assembly generated by this . - - - - Users of this should use this lock when accessing the cache. - - - - - Returns a type from this scope's type cache, or null if the key cannot be found. - - The key to be looked up in the cache. - The type from this scope's type cache matching the key, or null if the key cannot be found - - - - Registers a type in this scope's type cache. - - The key to be associated with the type. - The type to be stored in the cache. - - - - Gets the key pair used to sign the strong-named assembly generated by this . - - - - - Gets the strong-named module generated by this scope, or if none has yet been generated. - - The strong-named module generated by this scope, or if none has yet been generated. - - - - Gets the file name of the strongly named module generated by this scope. - - The file name of the strongly named module generated by this scope. - - - - Gets the directory where the strongly named module generated by this scope will be saved, or if the current directory - is used. - - The directory where the strongly named module generated by this scope will be saved when is called - (if this scope was created to save modules). - - - - Gets the weak-named module generated by this scope, or if none has yet been generated. - - The weak-named module generated by this scope, or if none has yet been generated. - - - - Gets the file name of the weakly named module generated by this scope. - - The file name of the weakly named module generated by this scope. - - - - Gets the directory where the weakly named module generated by this scope will be saved, or if the current directory - is used. - - The directory where the weakly named module generated by this scope will be saved when is called - (if this scope was created to save modules). - - - - Gets the specified module generated by this scope, creating a new one if none has yet been generated. - - If set to true, a strong-named module is returned; otherwise, a weak-named module is returned. - A strong-named or weak-named module generated by this scope, as specified by the parameter. - - - - Gets the strong-named module generated by this scope, creating a new one if none has yet been generated. - - A strong-named module generated by this scope. - - - - Gets the weak-named module generated by this scope, creating a new one if none has yet been generated. - - A weak-named module generated by this scope. - - - - Saves the generated assembly with the name and directory information given when this instance was created (or with - the and current directory if none was given). - - - - This method stores the generated assembly in the directory passed as part of the module information specified when this instance was - constructed (if any, else the current directory is used). If both a strong-named and a weak-named assembly - have been generated, it will throw an exception; in this case, use the overload. - - - If this was created without indicating that the assembly should be saved, this method does nothing. - - - Both a strong-named and a weak-named assembly have been generated. - The path of the generated assembly file, or null if no file has been generated. - - - - Saves the specified generated assembly with the name and directory information given when this instance was created - (or with the and current directory if none was given). - - True if the generated assembly with a strong name should be saved (see ); - false if the generated assembly without a strong name should be saved (see . - - - This method stores the specified generated assembly in the directory passed as part of the module information specified when this instance was - constructed (if any, else the current directory is used). - - - If this was created without indicating that the assembly should be saved, this method does nothing. - - - No assembly has been generated that matches the parameter. - - The path of the generated assembly file, or null if no file has been generated. - - - - Loads the generated types from the given assembly into this 's cache. - - The assembly to load types from. This assembly must have been saved via or - , or it must have the manually applied. - - This method can be used to load previously generated and persisted proxy types from disk into this scope's type cache, e.g. in order - to avoid the performance hit associated with proxy generation. - - - - - ProxyBuilder that persists the generated type. - - - The saved assembly contains just the last generated type. - - - - - Initializes a new instance of the class. - - - - - Saves the generated assembly to a physical file. Note that this renders the unusable. - - The path of the generated assembly file, or null if no assembly has been generated. - - This method does not support saving multiple files. If both a signed and an unsigned module have been generated, use the - respective methods of the . - - - - - allows customization of the behavior of proxies created by - an (or proxy types generated by an ). - - You should not modify an instance of once it has been - used to create a proxy (or proxy type). - - - - - - Initializes a new instance of the class. - - The hook. - - - - Initializes a new instance of the class. - - - - - Gets or sets the that should be used during proxy type - generation. Defaults to an instance of . - - You should not modify this property once this instance - has been used to create a proxy. - - - - - - Gets or sets the that should be used by created proxies - to determine which interceptors to use for an interception. If set to - (which is the default), created proxies will not use any selector. - - You should not modify this property once this instance - has been used to create a proxy. - - - - - - Gets or sets the class type from which generated interface proxy types will be derived. - Defaults to (). - - You should not modify this property once this instance - has been used to create a proxy. - - - - - - Gets the collection of additional custom attributes that will be put on generated proxy types. - This collection is initially empty. - - You should not modify this collection once this instance - has been used to create a proxy. - - - - - - Adds a delegate type to the list of mixins that will be added to generated proxies. - That is, generated proxies will have a `Invoke` method with a signature matching that - of the specified . - - You should not call this method once this instance - has been used to create a proxy. - - - The delegate type whose `Invoke` method should be reproduced in generated proxies. - is . - is not a delegate type. - - - - Adds a delegate to be mixed into generated proxies. The - will act as the target for calls to a `Invoke` method with a signature matching that - of the delegate. - - You should not call this method once this instance - has been used to create a proxy. - - - The delegate that should act as the target for calls to `Invoke` methods with a matching signature. - is . - - - - Mixes the interfaces implemented by the specified object into - created proxies, and uses as the target for these mixed-in interfaces. - - You should not call this method once this instance - has been used to create a proxy. - - - The object that should act as the target for all of its implemented interfaces' methods. - is . - is an instance of . - - - - Provides proxy objects for classes and interfaces. - - - - - Initializes a new instance of the class. - - Proxy types builder. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - If true forces all types to be generated into an unsigned module. - - - - Gets or sets the that this log to. - - - - - Gets the proxy builder instance used to generate proxy types. - - The proxy builder. - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - Object proxying calls to members of on object. - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of types on generated target object. - - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - As a result of that also at least one implementation must be provided. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of types on generated target object. - - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - As a result of that also at least one implementation must be provided. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of types on generated target object. - - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - As a result of that also at least one implementation must be provided. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The proxy generation options used to influence generated proxy type and object. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no parameterless constructor exists on type . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The proxy generation options used to influence generated proxy type and object. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no parameterless constructor exists on type . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The proxy generation options used to influence generated proxy type and object. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates the proxy type for class proxy with given class, implementing given and using provided . - - The base class for proxy type. - The interfaces that proxy type should implement. - The options for proxy generation process. - of proxy. - - - - Creates the proxy type for interface proxy with target for given interface, implementing given on given and using provided . - - The interface proxy type should implement. - The additional interfaces proxy type should implement. - Actual type that the proxy type will encompass. - The options for proxy generation process. - of proxy. - - - - Creates the proxy type for interface proxy with target interface for given interface, implementing given on given and using provided . - - The interface proxy type should implement. - The additional interfaces proxy type should implement. - The options for proxy generation process. - of proxy. - - - - Creates the proxy type for interface proxy without target for given interface, implementing given and using provided . - - The interface proxy type should implement. - The additional interfaces proxy type should implement. - The options for proxy generation process. - of proxy. - - - - Creates a delegate of the specified type to a suitable `Invoke` method - on the given instance. - - The proxy instance to which the delegate should be bound. - The type of delegate that should be created. - - The does not have an `Invoke` method that is compatible with - the requested type. - - - - - Creates a delegate of the specified type to a suitable `Invoke` method - on the given instance. - - The proxy instance to which the delegate should be bound. - The type of delegate that should be created. - - The does not have an `Invoke` method that is compatible with - the requested . - - - - - Checks whether the specified method is accessible to DynamicProxy. - The method to check. - true if the method is accessible to DynamicProxy, false otherwise. - - - - Checks whether the specified method is accessible to DynamicProxy. - The method to check. - If the method is accessible to DynamicProxy, null; otherwise, an explanation of why the method is not accessible. - true if the method is accessible to DynamicProxy, false otherwise. - - - - Checks whether the specified type is accessible to DynamicProxy. - The type to check. - true if the type is accessible to DynamicProxy, false otherwise. - - - - Determines whether this assembly has internals visible to DynamicProxy. - - The assembly to inspect. - - - - Checks whether the specified method is accessible to DynamicProxy. - Unlike with , the declaring type's accessibility is ignored. - - The method to check. - true if the method is accessible to DynamicProxy, false otherwise. - - - - Determines whether the specified method is internal. - - The method. - - true if the specified method is internal; otherwise, false. - - - - - Applied to the assemblies saved by in order to persist the cache data included in the persisted assembly. - - - - - Handles the deserialization of proxies. - - - - - Resets the used for deserialization to a new scope. - - - This is useful for test cases. - - - - - Resets the used for deserialization to a given . - - The scope to be used for deserialization. - - By default, the deserialization process uses a different scope than the rest of the application, which can lead to multiple proxies - being generated for the same type. By explicitly setting the deserialization scope to the application's scope, this can be avoided. - - - - - Gets the used for deserialization. - - As has no way of automatically determining the scope used by the application (and the application might use more than one scope at the same time), uses a dedicated scope instance for deserializing proxy types. This instance can be reset and set to a specific value via and . - - - - Holds objects representing methods of class. - - - - - Holds objects representing methods of class. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/packages/Castle.Core.4.4.1/lib/netstandard1.3/Castle.Core.xml b/src/packages/Castle.Core.4.4.1/lib/netstandard1.3/Castle.Core.xml deleted file mode 100644 index ae17928..0000000 --- a/src/packages/Castle.Core.4.4.1/lib/netstandard1.3/Castle.Core.xml +++ /dev/null @@ -1,5741 +0,0 @@ - - - - Castle.Core - - - - - Abstract adapter for the support - needed by the - - - - - Adds an element with the provided key and value to the object. - - The to use as the key of the element to add. - The to use as the value of the element to add. - An element with the same key already exists in the object. - key is null. - The is read-only.-or- The has a fixed size. - - - - Removes all elements from the object. - - The object is read-only. - - - - Determines whether the object contains an element with the specified key. - - The key to locate in the object. - - true if the contains an element with the key; otherwise, false. - - key is null. - - - - Returns an object for the object. - - - An object for the object. - - - - - Gets a value indicating whether the object has a fixed size. - - true if the object has a fixed size; otherwise, false. - - - - Gets a value indicating whether the object is read-only. - - true if the object is read-only; otherwise, false. - - - - Gets an object containing the keys of the object. - - An object containing the keys of the object. - - - - Removes the element with the specified key from the object. - - The key of the element to remove. - The object is read-only.-or- The has a fixed size. - key is null. - - - - Gets an object containing the values in the object. - - An object containing the values in the object. - - - - Gets or sets the with the specified key. - - - - - Copies the elements of the to an , starting at a particular index. - - The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. - The zero-based index in array at which copying begins. - array is null. - The type of the source cannot be cast automatically to the type of the destination array. - index is less than zero. - array is multidimensional.-or- index is equal to or greater than the length of array.-or- The number of elements in the source is greater than the available space from index to the end of the destination array. - - - - Gets the number of elements contained in the . - - The number of elements contained in the . - - - - Gets a value indicating whether access to the is synchronized (thread safe). - - true if access to the is synchronized (thread safe); otherwise, false. - - - - Gets an object that can be used to synchronize access to the . - - An object that can be used to synchronize access to the . - - - - Returns an enumerator that iterates through a collection. - - - An object that can be used to iterate through the collection. - - - - - Abstract implementation of . - - - - - Identifies a property should be represented as a nested component. - - - - - Applies no prefix. - - - - - Gets or sets the prefix. - - The prefix. - - - - Identifies the dictionary adapter types. - - - - - Assigns a specific dictionary key. - - - - - Identifies an interface or property to be pre-fetched. - - - - - Instructs fetching to occur. - - - - - Instructs fetching according to - - - - - Gets whether or not fetching should occur. - - - - - Assigns a property to a group. - - - - - Constructs a group assignment. - - The group name. - - - - Constructs a group assignment. - - The group name. - - - - Gets the group the property is assigned to. - - - - - Suppresses any on-demand behaviors. - - - - - Assigns a specific dictionary key. - - - - - Initializes a new instance of the class. - - The key. - - - - Initializes a new instance of the class. - - The compound key. - - - - Assigns a prefix to the keyed properties of an interface. - - - Key prefixes are not inherited by sub-interfaces. - - - - - Initializes a default instance of the class. - - - - - Initializes a new instance of the class. - - The prefix for the keyed properties of the interface. - - - - Gets the prefix key added to the properties of the interface. - - - - - Substitutes part of key with another string. - - - - - Initializes a new instance of the class. - - The old value. - The new value. - - - - Requests support for multi-level editing. - - - - - Generates a new GUID on demand. - - - - - Support for on-demand value resolution. - - - - - Specifies assignment by reference rather than by copying. - - - - - Removes a property if matches value. - - - - - Removes a property if null or empty string, guid or collection. - - - - - Provides simple string formatting from existing properties. - - - - - Gets the string format. - - - - - Gets the format properties. - - - - - Identifies a property should be represented as a delimited string value. - - - - - Gets the separator. - - - - - Converts all properties to strings. - - - - - Gets or sets the format. - - The format. - - - - Suppress property change notifications. - - - - - Assigns a prefix to the keyed properties using the interface name. - - - - - Indicates that underlying values are changeable and should not be cached. - - - - - Manages conversion between property values. - - - - - Initializes a new instance of the class. - - The converter. - - - - - - - - - Gets the effective dictionary value. - - The dictionary adapter. - The key. - The stored value. - The property. - true if return only existing. - The effective property value. - - - - Uses Reflection.Emit to expose the properties of a dictionary - through a dynamic implementation of a typed interface. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Wraps a with a dynamic object to expose a bit better looking API. - The implementation is trivial and assumes keys are s. - - - - - Contract for manipulating the Dictionary adapter. - - - - - Defines the contract for building typed dictionary adapters. - - - - - Gets a typed adapter bound to the . - - The typed interface. - The underlying source of properties. - An implementation of the typed interface bound to the dictionary. - - The type represented by T must be an interface with properties. - - - - - Gets a typed adapter bound to the . - - The typed interface. - The underlying source of properties. - An implementation of the typed interface bound to the dictionary. - - The type represented by T must be an interface with properties. - - - - - Gets a typed adapter bound to the . - - The typed interface. - The underlying source of properties. - The property descriptor. - An implementation of the typed interface bound to the dictionary. - - The type represented by T must be an interface with properties. - - - - - Gets a typed adapter bound to the . - - The typed interface. - The underlying source of properties. - An implementation of the typed interface bound to the namedValues. - - The type represented by T must be an interface with properties. - - - - - Gets a typed adapter bound to the . - - The typed interface. - The underlying source of properties. - An implementation of the typed interface bound to the namedValues. - - The type represented by T must be an interface with properties. - - - - - Gets the associated with the type. - - The typed interface. - The adapter meta-data. - - - - Gets the associated with the type. - - The typed interface. - The property descriptor. - The adapter meta-data. - - - - Gets the associated with the type. - - The typed interface. - Another from which to copy behaviors. - The adapter meta-data. - - - - Contract for traversing a . - - - - - Defines the contract for customizing dictionary access. - - - - - Determines relative order to apply related behaviors. - - - - - Copies the dictionary behavior. - - null if should not be copied. Otherwise copy. - - - - Defines the contract for building s. - - - - - Builds the dictionary behaviors. - - - - - Contract for creating additional Dictionary adapters. - - - - - Contract for editing the Dictionary adapter. - - - - - Contract for dictionary initialization. - - - - - Performs any initialization of the - - The dictionary adapter. - The dictionary behaviors. - - - - Defines the contract for building typed dictionary keys. - - - - - Builds the specified key. - - The dictionary adapter. - The current key. - The property. - The updated key - - - - Contract for dictionary meta-data initialization. - - - - - Initializes the given object. - - The dictionary adapter factory. - The dictionary adapter meta. - - - - - Determines whether the given behavior should be included in a new - object. - - A dictionary behavior or annotation. - True if the behavior should be included; otherwise, false. - - behaviors are always included, - regardless of the result of this method. - - - - - - Contract for managing Dictionary adapter notifications. - - - - - Defines the contract for retrieving dictionary values. - - - - - Gets the effective dictionary value. - - The dictionary adapter. - The key. - The stored value. - The property. - true if return only existing. - The effective property value. - - - - Defines the contract for updating dictionary values. - - - - - Sets the stored dictionary value. - - The dictionary adapter. - The key. - The stored value. - The property. - true if the property should be stored. - - - - Contract for validating Dictionary adapter. - - - - - Contract for dictionary validation. - - - - - Determines if is valid. - - The dictionary adapter. - true if valid. - - - - Validates the . - - The dictionary adapter. - The error summary information. - - - - Validates the for a property. - - The dictionary adapter. - The property to validate. - The property summary information. - - - - Invalidates any results cached by the validator. - - The dictionary adapter. - - - - Contract for property descriptor initialization. - - - - - Performs any initialization of the - - The property descriptor. - The property behaviors. - - - - - - - - - Initializes a new instance of the class. - - The name values. - - - - Gets a value indicating whether the object is read-only. - - true if the object is read-only; otherwise, false. - - - - Determines whether the object contains an element with the specified key. - - The key to locate in the object. - - true if the contains an element with the key; otherwise, false. - - key is null. - - - - Gets or sets the with the specified key. - - - - - Adapts the specified name values. - - The name values. - - - - Describes a dictionary property. - - - - - Initializes an empty class. - - - - - Initializes a new instance of the class. - - The property. - The annotations. - - - - Initializes a new instance class. - - - - - Copies an existing instance of the class. - - - - - - - - - - Gets the property name. - - - - - Gets the property type. - - - - - Gets the property. - - The property. - - - - Returns true if the property is dynamic. - - - - - Gets additional state. - - - - - Determines if property should be fetched. - - - - - Determines if property must exist first. - - - - - Determines if notifications should occur. - - - - - Gets the property behaviors. - - - - - Gets the type converter. - - The type converter. - - - - Gets the extended properties. - - - - - Gets the setter. - - The setter. - - - - Gets the key builders. - - The key builders. - - - - Gets the setter. - - The setter. - - - - Gets the getter. - - The getter. - - - - Gets the initializers. - - The initializers. - - - - Gets the meta-data initializers. - - The meta-data initializers. - - - - Gets the key. - - The dictionary adapter. - The key. - The descriptor. - - - - Gets the property value. - - The dictionary adapter. - The key. - The stored value. - The descriptor. - true if return only existing. - - - - Sets the property value. - - The dictionary adapter. - The key. - The value. - The descriptor. - - - - Adds a single behavior. - - The behavior. - - - - Adds the behaviors. - - The behaviors. - - - - Adds the behaviors. - - The behaviors. - - - - Copies the behaviors to the other - - - - - Copies the - - - - - Contract for value matching. - - - - - Contract for dynamic value resolution. - - - - - Contract for typed dynamic value resolution. - - - - - - This is an abstract implementation - that deals with methods that can be abstracted away - from underlying implementations. - - - AbstractConfiguration makes easier to implementers - to create a new version of - - - - - Gets node attributes. - - - All attributes of the node. - - - - - Gets all child nodes. - - The of child nodes. - - - - Gets the name of the . - - - The Name of the . - - - - - Gets the value of . - - - The Value of the . - - - - - Gets the value of the node and converts it - into specified . - - The - - The Default value returned if the conversion fails. - - The Value converted into the specified type. - - - - A collection of objects. - - - - - Creates a new instance of ConfigurationCollection. - - - - - Creates a new instance of ConfigurationCollection. - - - - - is a interface encapsulating a configuration node - used to retrieve configuration values. - - - - - Gets the name of the node. - - - The Name of the node. - - - - - Gets the value of the node. - - - The Value of the node. - - - - - Gets an of - elements containing all node children. - - The Collection of child nodes. - - - - Gets an of the configuration attributes. - - - - - Gets the value of the node and converts it - into specified . - - The - - The Default value returned if the conversion fails. - - The Value converted into the specified type. - - - - Initializes a new instance of the class. - - The name. - - - - Gets the value of . - - - The Value of the . - - - - - Deserializes the specified node into an abstract representation of configuration. - - The node. - - - - If a config value is an empty string we return null, this is to keep - backward compatibility with old code - - - - - Helper class for retrieving attributes. - - - - - Gets the attribute. - - The type. - The type attribute. - - - - Gets the attributes. Does not consider inherited attributes! - - The type. - The type attributes. - - - - Gets the attribute. - - The member. - The member attribute. - - - - Gets the attributes. Does not consider inherited attributes! - - The member. - The member attributes. - - - - Gets the type attribute. - - The type. - The type attribute. - - - - Gets the type attributes. - - The type. - The type attributes. - - - - Gets the type converter. - - The member. - - - - Checks whether or not collection is null or empty. Assumes collection can be safely enumerated multiple times. - - - - - Generates a HashCode for the contents for the list. Order of items does not matter. - - The type of object contained within the list. - The list. - The generated HashCode. - - - - Determines if two lists are equivalent. Equivalent lists have the same number of items and each item is found within the other regardless of respective position within each. - - The type of object contained within the list. - The first list. - The second list. - True if the two lists are equivalent. - - - - Constant to use when making assembly internals visible to Castle.Core - [assembly: InternalsVisibleTo(CoreInternalsVisible.ToCastleCore)] - - - - - Constant to use when making assembly internals visible to proxy types generated by DynamicProxy. Required when proxying internal types. - [assembly: InternalsVisibleTo(CoreInternalsVisible.ToDynamicProxyGenAssembly2)] - - - - - Creates a new lock. - - - - - Find the best available name to describe a type. - - - Usually the best name will be , but - sometimes that's null (see http://msdn.microsoft.com/en-us/library/system.type.fullname%28v=vs.110%29.aspx) - in which case the method falls back to . - - the type to name - the best name - - - - Defines that the implementation wants a - in order to - access other components. The creator must be aware - that the component might (or might not) implement - the interface. - - - Used by Castle Project components to, for example, - gather logging factories - - - - - Increments IServiceProvider with a generic service resolution operation. - - - - - This interface should be implemented by classes - that are available in a bigger context, exposing - the container to different areas in the same application. - - For example, in Web application, the (global) HttpApplication - subclasses should implement this interface to expose - the configured container - - - - - - Creates a new extended logger, getting the logger name from the specified type. - - - - - Creates a new extended logger. - - - - - Creates a new extended logger, getting the logger name from the specified type. - - - - - Creates a new extended logger. - - - - - Creates a new logger, getting the logger name from the specified type. - - - - - Creates a new logger. - - - - - Creates a new logger, getting the logger name from the specified type. - - - - - Creates a new logger. - - - - - Gets the configuration file. - - i.e. log4net.config - - - - Gets the configuration file. - - i.e. log4net.config - - - - The Logger sending everything to the standard output streams. - This is mainly for the cases when you have a utility that - does not have a logger to supply. - - - - - Creates a new ConsoleLogger with the Level - set to LoggerLevel.Debug and the Name - set to String.Empty. - - - - - Creates a new ConsoleLogger with the Name - set to String.Empty. - - The logs Level. - - - - Creates a new ConsoleLogger with the Level - set to LoggerLevel.Debug. - - The logs Name. - - - - Creates a new ConsoleLogger. - - The logs Name. - The logs Level. - - - - A Common method to log. - - The level of logging - The name of the logger - The Message - The Exception - - - - Returns a new ConsoleLogger with the name - added after this loggers name, with a dot in between. - - The added hierarchical name. - A new ConsoleLogger. - - - - Interface for Context Properties implementations - - - - This interface defines a basic property get set accessor. - - - Based on the ContextPropertiesBase of log4net, by Nicko Cadell. - - - - - - Gets or sets the value of a property - - - The value for the property with the specified key - - - - Gets or sets the value of a property - - - - - - Provides an interface that supports and - allows the storage and retrieval of Contexts. These are supported in - both log4net and NLog. - - - - - Exposes the Global Context of the extended logger. - - - - - Exposes the Thread Context of the extended logger. - - - - - Exposes the Thread Stack of the extended logger. - - - - - Provides a factory that can produce either or - classes. - - - - - Creates a new extended logger, getting the logger name from the specified type. - - - - - Creates a new extended logger. - - - - - Creates a new extended logger, getting the logger name from the specified type. - - - - - Creates a new extended logger. - - - - - Manages logging. - - - This is a facade for the different logging subsystems. - It offers a simplified interface that follows IOC patterns - and a simplified priority/level/severity abstraction. - - - - - Determines if messages of priority "trace" will be logged. - - True if "trace" messages will be logged. - - - - Determines if messages of priority "debug" will be logged. - - True if "debug" messages will be logged. - - - - Determines if messages of priority "error" will be logged. - - True if "error" messages will be logged. - - - - Determines if messages of priority "fatal" will be logged. - - True if "fatal" messages will be logged. - - - - Determines if messages of priority "info" will be logged. - - True if "info" messages will be logged. - - - - Determines if messages of priority "warn" will be logged. - - True if "warn" messages will be logged. - - - - Create a new child logger. - The name of the child logger is [current-loggers-name].[passed-in-name] - - The Subname of this logger. - The New ILogger instance. - If the name has an empty element name. - - - - Logs a trace message. - - The message to log - - - - Logs a trace message with lazily constructed message. The message will be constructed only if the is true. - - - - - Logs a trace message. - - The exception to log - The message to log - - - - Logs a trace message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a trace message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a trace message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a trace message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The message to log - - - - Logs a debug message with lazily constructed message. The message will be constructed only if the is true. - - - - - Logs a debug message. - - The exception to log - The message to log - - - - Logs a debug message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The message to log - - - - Logs an error message with lazily constructed message. The message will be constructed only if the is true. - - - - - Logs an error message. - - The exception to log - The message to log - - - - Logs an error message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The message to log - - - - Logs a fatal message with lazily constructed message. The message will be constructed only if the is true. - - - - - Logs a fatal message. - - The exception to log - The message to log - - - - Logs a fatal message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The message to log - - - - Logs a info message with lazily constructed message. The message will be constructed only if the is true. - - - - - Logs an info message. - - The exception to log - The message to log - - - - Logs an info message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The message to log - - - - Logs a warn message with lazily constructed message. The message will be constructed only if the is true. - - - - - Logs a warn message. - - The exception to log - The message to log - - - - Logs a warn message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Manages the instantiation of s. - - - - - Creates a new logger, getting the logger name from the specified type. - - - - - Creates a new logger. - - - - - Creates a new logger, getting the logger name from the specified type. - - - - - Creates a new logger. - - - - - The Level Filtered Logger class. This is a base class which - provides a LogLevel attribute and reroutes all functions into - one Log method. - - - - - Creates a new LevelFilteredLogger. - - - - - The LoggerLevel that this logger - will be using. Defaults to LoggerLevel.Off - - - - - The name that this logger will be using. - Defaults to String.Empty - - - - - Logs a trace message. - - The message to log - - - - Logs a trace message. - - A functor to create the message - - - - Logs a trace message. - - The exception to log - The message to log - - - - Logs a trace message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a trace message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a trace message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a trace message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The message to log - - - - Logs a debug message. - - The exception to log - The message to log - - - - Logs a debug message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The message to log - - - - Logs an info message. - - The exception to log - The message to log - - - - Logs an info message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The message to log - - - - Logs a warn message. - - The exception to log - The message to log - - - - Logs a warn message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The message to log - - - - Logs an error message. - - The exception to log - The message to log - - - - Logs an error message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The message to log - - - - Logs a fatal message. - - The exception to log - The message to log - - - - Logs a fatal message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Determines if messages of priority "trace" will be logged. - - true if log level flags include the bit - - - - Determines if messages of priority "debug" will be logged. - - true if log level flags include the bit - - - - Determines if messages of priority "info" will be logged. - - true if log level flags include the bit - - - - Determines if messages of priority "warn" will be logged. - - true if log level flags include the bit - - - - Determines if messages of priority "error" will be logged. - - true if log level flags include the bit - - - - Determines if messages of priority "fatal" will be logged. - - true if log level flags include the bit - - - - Implementors output the log content by implementing this method only. - Note that exception can be null - - - - - Supporting Logger levels. - - - - - Logging will be off - - - - - Fatal logging level - - - - - Error logging level - - - - - Warn logging level - - - - - Info logging level - - - - - Debug logging level - - - - - Trace logging level - - - - - NullLogFactory used when logging is turned off. - - - - - Creates an instance of ILogger with the specified name. - - Name. - - - - Creates an instance of ILogger with the specified name and LoggerLevel. - - Name. - Level. - - - - The Null Logger class. This is useful for implementations where you need - to provide a logger to a utility class, but do not want any output from it. - It also helps when you have a utility that does not have a logger to supply. - - - - - Returns empty context properties. - - - - - Returns empty context properties. - - - - - Returns empty context stacks. - - - - - No-op. - - false - - - - No-op. - - false - - - - No-op. - - false - - - - No-op. - - false - - - - No-op. - - false - - - - No-op. - - false - - - - Returns this NullLogger. - - Ignored - This ILogger instance. - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - The Stream Logger class. This class can stream log information - to any stream, it is suitable for storing a log file to disk, - or to a MemoryStream for testing your components. - - - This logger is not thread safe. - - - - - Creates a new StreamLogger with default encoding - and buffer size. Initial Level is set to Debug. - - - The name of the log. - - - The stream that will be used for logging, - seeking while the logger is alive - - - - - Creates a new StreamLogger with default buffer size. - Initial Level is set to Debug. - - - The name of the log. - - - The stream that will be used for logging, - seeking while the logger is alive - - - The encoding that will be used for this stream. - - - - - - Creates a new StreamLogger. - Initial Level is set to Debug. - - - The name of the log. - - - The stream that will be used for logging, - seeking while the logger is alive - - - The encoding that will be used for this stream. - - - - The buffer size that will be used for this stream. - - - - - - Creates a new StreamLogger with - Debug as default Level. - - The name of the log. - The StreamWriter the log will write to. - - - - Creates outputting - to files. The name of the file is derived from the log name - plus the 'log' extension. - - - - - The TraceLogger sends all logging to the System.Diagnostics.TraceSource - built into the .net framework. - - - Logging can be configured in the system.diagnostics configuration - section. - - If logger doesn't find a source name with a full match it will - use source names which match the namespace partially. For example you can - configure from all castle components by adding a source name with the - name "Castle". - - If no portion of the namespace matches the source named "Default" will - be used. - - - - - Build a new trace logger based on the named TraceSource - - The name used to locate the best TraceSource. In most cases comes from the using type's fullname. - - - - Build a new trace logger based on the named TraceSource - - The name used to locate the best TraceSource. In most cases comes from the using type's fullname. - The default logging level at which this source should write messages. In almost all cases this - default value will be overridden in the config file. - - - - Create a new child logger. - The name of the child logger is [current-loggers-name].[passed-in-name] - - The Subname of this logger. - The New ILogger instance. - - - - Used to create the TraceLogger implementation of ILogger interface. See . - - - - - General purpose class to represent a standard pair of values. - - Type of the first value - Type of the second value - - - - Constructs a pair with its values - - - - - List of utility methods related to dynamic proxy operations - - - - - Determines whether the specified type is a proxy generated by - DynamicProxy (1 or 2). - - The type. - - true if it is a proxy; otherwise, false. - - - - - Readonly implementation of which uses an anonymous object as its source. Uses names of properties as keys, and property values as... well - values. Keys are not case sensitive. - - - - - Initializes a new instance of the class. - - The target. - - - - Gets the number of elements contained in the . - - The number of elements contained in the . - - - - Gets a value indicating whether access to the is synchronized (thread safe). - - true if access to the is synchronized (thread safe); otherwise, false. - - - - Gets an object that can be used to synchronize access to the . - - An object that can be used to synchronize access to the . - - - - Gets a value indicating whether the object is read-only. - - true if the object is read-only; otherwise, false. - - - - Gets or sets the with the specified key. - - - - - Gets an object containing the keys of the object. - - An object containing the keys of the object. - - - - Gets an object containing the values in the object. - - An object containing the values in the object. - - - - Gets a value indicating whether the object has a fixed size. - - true if the object has a fixed size; otherwise, false. - - - - Adds an element with the provided key and value to the object. - - The to use as the key of the element to add. - The to use as the value of the element to add. - - is null. - An element with the same key already exists in the object. - The is read-only.-or- The has a fixed size. - - - - Removes all elements from the object. - - The object is read-only. - - - - Determines whether the object contains an element with the specified key. - - The key to locate in the object. - - true if the contains an element with the key; otherwise, false. - - - is null. - - - - Removes the element with the specified key from the object. - - The key of the element to remove. - - is null. - The object is read-only.-or- The has a fixed size. - - - - Returns an enumerator that iterates through a collection. - - - An object that can be used to iterate through the collection. - - - - - Copies the elements of the to an , starting at a particular index. - - The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. - The zero-based index in at which copying begins. - - is null. - - is less than zero. - - is multidimensional.-or- is equal to or greater than the length of .-or- The number of elements in the source is greater than the available space from to the end of the destination . - The type of the source cannot be cast automatically to the type of the destination . - - - - Returns an object for the object. - - - An object for the object. - - - - - Reads values of properties from and inserts them into using property names as keys. - - - - - - - - - - This returns a new stream instance each time it is called. - It is the responsibility of the caller to dispose of this stream - - - - - - - - - - - - - - - Represents a 'streamable' resource. Can - be a file, a resource in an assembly. - - - - - Only valid for resources that - can be obtained through relative paths - - - - - Returns a reader for the stream - - - It's up to the caller to dispose the reader. - - - - - Returns a reader for the stream - - - It's up to the caller to dispose the reader. - - - - - Returns an instance of - created according to the relativePath - using itself as the root. - - - - - Depicts the contract for resource factories. - - - - - Used to check whether the resource factory - is able to deal with the given resource - identifier. - - - Implementors should return true - only if the given identifier is supported - by the resource factory - - - - - Creates an instance - for the given resource identifier - - - - - Creates an instance - for the given resource identifier - - - - - Adapts a static string content as an - - - - - Enable access to files on network shares - - - - - Interface describing elements composing generated type - - - - - Performs some basic screening and invokes the - to select methods. - - - - - Encapsulates the information needed to build an attribute. - - - Arrays passed to this class as constructor arguments or property or field values become owned by this class. - They should not be mutated after creation. - - - - - Default implementation of interface producing in-memory proxy assemblies. - - - - - Initializes a new instance of the class with new . - - - - - Initializes a new instance of the class. - - The module scope for generated proxy types. - - - - Provides instructions that a user could follow to make a type or method in - visible to DynamicProxy. - The assembly containing the type or method. - Instructions that a user could follow to make a type or method visible to DynamicProxy. - - - - Creates a message to inform clients that a proxy couldn't be created due to reliance on an - inaccessible type (perhaps itself). - - the inaccessible type that prevents proxy creation - the type that couldn't be proxied - - - - Base class that exposes the common functionalities - to proxy generation. - - - - - It is safe to add mapping (no mapping for the interface exists) - - - - - Generates a parameters constructor that initializes the proxy - state with just to make it non-null. - - This constructor is important to allow proxies to be XML serializable - - - - - - Initializes a new instance of the class. - - Target element. This is either target type or target method for invocation types. - The type of the proxy. This is base type for invocation types. - The interfaces. - The options. - - - - Initializes a new instance of the class. - - Type of the target. - The interfaces. - The options. - - - - Provides appropriate Ldc.X opcode for the type of primitive value to be loaded. - - - - - Provides appropriate Ldind.X opcode for - the type of primitive value to be loaded indirectly. - - - - - Emits a load indirect opcode of the appropriate type for a value or object reference. - Pops a pointer off the evaluation stack, dereferences it and loads - a value of the specified type. - - - - - Emits a load opcode of the appropriate kind for a constant string or - primitive value. - - - - - Emits a load opcode of the appropriate kind for the constant default value of a - type, such as 0 for value types and null for reference types. - - - - - Emits a store indirectopcode of the appropriate type for a value or object reference. - Pops a value of the specified type and a pointer off the evaluation stack, and - stores the value. - - - - - Wraps a reference that is passed - ByRef and provides indirect load/store support. - - - - - Provides appropriate Stind.X opcode - for the type of primitive value to be stored indirectly. - - - - - Represents the scope of uniqueness of names for types and their members - - - - - Gets a unique name based on - - Name suggested by the caller - Unique name based on . - - Implementers should provide name as closely resembling as possible. - Generally if no collision occurs it is suggested to return suggested name, otherwise append sequential suffix. - Implementers must return deterministic names, that is when is called twice - with the same suggested name, the same returned name should be provided each time. Non-deterministic return - values, like appending random suffices will break serialization of proxies. - - - - - Returns new, disposable naming scope. It is responsibility of the caller to make sure that no naming collision - with enclosing scope, or other subscopes is possible. - - New naming scope. - - - - Generates the constructor for the class that extends - - - - - - Initializes a new instance of the class. - - The name. - Type declaring the original event being overridden, or null. - The event delegate type. - The add method. - The remove method. - The attributes. - - - - Returns the methods implemented by a type. Use this instead of Type.GetMethods() to work around a CLR issue - where duplicate MethodInfos are returned by Type.GetMethods() after a token of a generic type's method was loaded. - - - - - Exposes means to change target objects of proxies and invocations. - - - - - Changes the target object () of current . - - The new value of target of invocation. - - Although the method takes the actual instance must be of type assignable to , otherwise an will be thrown. - Also while it's technically legal to pass null reference (Nothing in Visual Basic) as , for obvious reasons Dynamic Proxy will not be able to call the intercepted method on such target. - In this case last interceptor in the pipeline mustn't call or a will be throws. - Also while it's technically legal to pass proxy itself as , this would create stack overflow. - In this case last interceptor in the pipeline mustn't call or a will be throws. - - Thrown when is not assignable to the proxied type. - - - - Permanently changes the target object of the proxy. This does not affect target of the current invocation. - - The new value of target of the proxy. - - Although the method takes the actual instance must be of type assignable to proxy's target type, otherwise an will be thrown. - Also while it's technically legal to pass null reference (Nothing in Visual Basic) as , for obvious reasons Dynamic Proxy will not be able to call the intercepted method on such target. - In this case last interceptor in the pipeline mustn't call or a will be throws. - Also while it's technically legal to pass proxy itself as , this would create stack overflow. - In this case last interceptor in the pipeline mustn't call or a will be throws. - - Thrown when is not assignable to the proxied type. - - - - Provides the main DynamicProxy extension point that allows member interception. - - - - - Provides an extension point that allows proxies to choose specific interceptors on - a per method basis. - - - - - Selects the interceptors that should intercept calls to the given . - - The type of the target object. - The method that will be intercepted. - All interceptors registered with the proxy. - An array of interceptors to invoke upon calling the . - - This method is called only once per proxy instance, upon the first call to the - . Either an empty array or null are valid return values to indicate - that no interceptor should intercept calls to the method. Although it is not advised, it is - legal to return other implementations than these provided in - . - - - - - Encapsulates an invocation of a proxied method. - - - - - Gets the arguments that the has been invoked with. - - The arguments the method was invoked with. - - - - Gets the generic arguments of the method. - - The generic arguments, or null if not a generic method. - - - - Gets the object on which the invocation is performed. This is different from proxy object - because most of the time this will be the proxy target object. - - - The invocation target. - - - - Gets the representing the method being invoked on the proxy. - - The representing the method being invoked. - - - - For interface proxies, this will point to the on the target class. - - The method invocation target. - - - - Gets the proxy object on which the intercepted method is invoked. - - Proxy object on which the intercepted method is invoked. - - - - Gets or sets the return value of the method. - - The return value of the method. - - - - Gets the type of the target object for the intercepted method. - - The type of the target object. - - - - Gets the value of the argument at the specified . - - The index. - The value of the argument at the specified . - - - - Returns the concrete instantiation of the on the proxy, with any generic - parameters bound to real types. - - - The concrete instantiation of the on the proxy, or the if - not a generic method. - - - Can be slower than calling . - - - - - Returns the concrete instantiation of , with any - generic parameters bound to real types. - For interface proxies, this will point to the on the target class. - - The concrete instantiation of , or - if not a generic method. - - In debug builds this can be slower than calling . - - - - - Proceeds the call to the next interceptor in line, and ultimately to the target method. - - - Since interface proxies without a target don't have the target implementation to proceed to, - it is important, that the last interceptor does not call this method, otherwise a - will be thrown. - - - - - Returns an object describing the operation for this - at this specific point during interception. - - - - - Overrides the value of an argument at the given with the - new provided. - - - This method accepts an , however the value provided must be compatible - with the type of the argument defined on the method, otherwise an exception will be thrown. - - The index of the argument to override. - The new value for the argument. - - - - Describes the operation for an - at a specific point during interception. - - - - - Executes the operation described by this instance. - - There is no interceptor, nor a proxy target object, to proceed to. - - - - Attributes should be replicated if they are non-inheritable, - but there are some special cases where the attributes means - something to the CLR, where they should be skipped. - - - - - Determines whether the specified method is internal. - - The method. - - true if the specified method is internal; otherwise, false. - - - - - Determines whether this assembly has internals visible to dynamic proxy. - - The assembly to inspect. - - - - Checks if the method is public or protected. - - - - - Returns list of all unique interfaces implemented given types, including their base interfaces. - - - - - Checks whether the specified is a delegate type (i.e. a direct subclass of ). - - - - - Abstracts the implementation of proxy type construction. - - - - - Gets or sets the that this logs to. - - - - - Gets the associated with this builder. - - The module scope associated with this builder. - - - - Creates a proxy type for given , implementing , using provided. - - The class type to proxy. - Additional interface types to proxy. - The proxy generation options. - The generated proxy type. - - Implementers should return a proxy type for the specified class and interfaces. - Additional interfaces should be only 'mark' interfaces, that is, they should work like interface proxy without target. (See method.) - - Thrown when or any of is a generic type definition. - Thrown when or any of is not public. - Note that to avoid this exception, you can mark offending type internal, and define - pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. - - - - - Creates a proxy type that proxies calls to members on , implementing , using provided. - - The interface type to proxy. - Additional interface types to proxy. - Type implementing on which calls to the interface members should be intercepted. - The proxy generation options. - The generated proxy type. - - Implementers should return a proxy type for the specified interface that 'proceeds' executions to the specified target. - Additional interfaces should be only 'mark' interfaces, that is, they should work like interface proxy without target. (See method.) - - Thrown when or any of is a generic type definition. - Thrown when or any of is not public. - Note that to avoid this exception, you can mark offending type internal, and define - pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. - - - - - Creates a proxy type for given and that delegates all calls to the provided interceptors and allows interceptors to switch the actual target of invocation. - - The interface type to proxy. - Additional interface types to proxy. - The proxy generation options. - The generated proxy type. - - Implementers should return a proxy type for the specified interface(s) that delegate all executions to the specified interceptors - and uses an instance of the interface as their targets (i.e. ), rather than a class. All classes should then implement interface, - to allow interceptors to switch invocation target with instance of another type implementing called interface. - - Thrown when or any of is a generic type definition. - Thrown when or any of is not public. - Note that to avoid this exception, you can mark offending type internal, and define - pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. - - - - - Creates a proxy type for given that delegates all calls to the provided interceptors. - - The interface type to proxy. - Additional interface types to proxy. - The proxy generation options. - The generated proxy type. - - Implementers should return a proxy type for the specified interface and additional interfaces that delegate all executions to the specified interceptors. - - Thrown when or any of is a generic type definition. - Thrown when or any of is not public. - Note that to avoid this exception, you can mark offending type internal, and define - pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. - - - - - Used during the target type inspection process. Implementors have a chance to customize the - proxy generation process. - - - - - Invoked by the generation process to notify that the whole process has completed. - - - - - Invoked by the generation process to notify that a member was not marked as virtual. - - The type which declares the non-virtual member. - The non-virtual member. - - This method gives an opportunity to inspect any non-proxyable member of a type that has - been requested to be proxied, and if appropriate - throw an exception to notify the caller. - - - - - Invoked by the generation process to determine if the specified method should be proxied. - - The type which declares the given method. - The method to inspect. - True if the given method should be proxied; false otherwise. - - - - Provides proxy objects for classes and interfaces. - - - - - Gets or sets the that this log to. - - - - - Gets the proxy builder instance used to generate proxy types. - - The proxy builder. - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - Object proxying calls to members of on object. - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of types on generated target object. - - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - As a result of that also at least one implementation must be provided. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of types on generated target object. - - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - As a result of that also at least one implementation must be provided. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of types on generated target object. - - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - As a result of that also at least one implementation must be provided. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The proxy generation options used to influence generated proxy type and object. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no parameterless constructor exists on type . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The proxy generation options used to influence generated proxy type and object. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no parameterless constructor exists on type . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The proxy generation options used to influence generated proxy type and object. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Exposes access to the target object and interceptors of proxy objects. - This is a DynamicProxy infrastructure interface and should not be implemented yourself. - - - - - Get the proxy target (note that null is a valid target!) - - - - - Set the proxy target. - - New proxy target. - - - - Gets the interceptors for the proxy - - - - - Because we need to cache the types based on the mixed in mixins, we do the following here: - - Get all the mixin interfaces - - Sort them by full name - - Return them by position - - The idea is to have reproducible behavior for the case that mixins are registered in different orders. - This method is here because it is required - - - - - The default file name used when the assembly is saved using . - - - - - The default assembly (simple) name used for the assemblies generated by a instance. - - - - - Initializes a new instance of the class; assemblies created by this instance will not be saved. - - - - - Initializes a new instance of the class, allowing to specify whether the assemblies generated by this instance - should be saved. - - If set to true saves the generated module. - - - - Initializes a new instance of the class, allowing to specify whether the assemblies generated by this instance - should be saved. - - If set to true saves the generated module. - If set to true disables ability to generate signed module. This should be used in cases where ran under constrained permissions. - - - - Initializes a new instance of the class, allowing to specify whether the assemblies generated by this instance - should be saved and what simple names are to be assigned to them. - - If set to true saves the generated module. - If set to true disables ability to generate signed module. This should be used in cases where ran under constrained permissions. - The simple name of the strong-named assembly generated by this . - The path and file name of the manifest module of the strong-named assembly generated by this . - The simple name of the weak-named assembly generated by this . - The path and file name of the manifest module of the weak-named assembly generated by this . - - - - Initializes a new instance of the class, allowing to specify whether the assemblies generated by this instance - should be saved and what simple names are to be assigned to them. - - If set to true saves the generated module. - If set to true disables ability to generate signed module. This should be used in cases where ran under constrained permissions. - Naming scope used to provide unique names to generated types and their members (usually via sub-scopes). - The simple name of the strong-named assembly generated by this . - The path and file name of the manifest module of the strong-named assembly generated by this . - The simple name of the weak-named assembly generated by this . - The path and file name of the manifest module of the weak-named assembly generated by this . - - - - Users of this should use this lock when accessing the cache. - - - - - Returns a type from this scope's type cache, or null if the key cannot be found. - - The key to be looked up in the cache. - The type from this scope's type cache matching the key, or null if the key cannot be found - - - - Registers a type in this scope's type cache. - - The key to be associated with the type. - The type to be stored in the cache. - - - - Gets the key pair used to sign the strong-named assembly generated by this . - - - - - Gets the strong-named module generated by this scope, or if none has yet been generated. - - The strong-named module generated by this scope, or if none has yet been generated. - - - - Gets the file name of the strongly named module generated by this scope. - - The file name of the strongly named module generated by this scope. - - - - Gets the weak-named module generated by this scope, or if none has yet been generated. - - The weak-named module generated by this scope, or if none has yet been generated. - - - - Gets the file name of the weakly named module generated by this scope. - - The file name of the weakly named module generated by this scope. - - - - Gets the specified module generated by this scope, creating a new one if none has yet been generated. - - If set to true, a strong-named module is returned; otherwise, a weak-named module is returned. - A strong-named or weak-named module generated by this scope, as specified by the parameter. - - - - Gets the strong-named module generated by this scope, creating a new one if none has yet been generated. - - A strong-named module generated by this scope. - - - - Gets the weak-named module generated by this scope, creating a new one if none has yet been generated. - - A weak-named module generated by this scope. - - - - allows customization of the behavior of proxies created by - an (or proxy types generated by an ). - - You should not modify an instance of once it has been - used to create a proxy (or proxy type). - - - - - - Initializes a new instance of the class. - - The hook. - - - - Initializes a new instance of the class. - - - - - Gets or sets the that should be used during proxy type - generation. Defaults to an instance of . - - You should not modify this property once this instance - has been used to create a proxy. - - - - - - Gets or sets the that should be used by created proxies - to determine which interceptors to use for an interception. If set to - (which is the default), created proxies will not use any selector. - - You should not modify this property once this instance - has been used to create a proxy. - - - - - - Gets or sets the class type from which generated interface proxy types will be derived. - Defaults to (). - - You should not modify this property once this instance - has been used to create a proxy. - - - - - - Gets the collection of additional custom attributes that will be put on generated proxy types. - This collection is initially empty. - - You should not modify this collection once this instance - has been used to create a proxy. - - - - - - Adds a delegate type to the list of mixins that will be added to generated proxies. - That is, generated proxies will have a `Invoke` method with a signature matching that - of the specified . - - You should not call this method once this instance - has been used to create a proxy. - - - The delegate type whose `Invoke` method should be reproduced in generated proxies. - is . - is not a delegate type. - - - - Adds a delegate to be mixed into generated proxies. The - will act as the target for calls to a `Invoke` method with a signature matching that - of the delegate. - - You should not call this method once this instance - has been used to create a proxy. - - - The delegate that should act as the target for calls to `Invoke` methods with a matching signature. - is . - - - - Mixes the interfaces implemented by the specified object into - created proxies, and uses as the target for these mixed-in interfaces. - - You should not call this method once this instance - has been used to create a proxy. - - - The object that should act as the target for all of its implemented interfaces' methods. - is . - is an instance of . - - - - Provides proxy objects for classes and interfaces. - - - - - Initializes a new instance of the class. - - Proxy types builder. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - If true forces all types to be generated into an unsigned module. - - - - Gets or sets the that this log to. - - - - - Gets the proxy builder instance used to generate proxy types. - - The proxy builder. - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - Object proxying calls to members of on object. - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of types on generated target object. - - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - As a result of that also at least one implementation must be provided. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of types on generated target object. - - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - As a result of that also at least one implementation must be provided. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of types on generated target object. - - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - As a result of that also at least one implementation must be provided. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The proxy generation options used to influence generated proxy type and object. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no parameterless constructor exists on type . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The proxy generation options used to influence generated proxy type and object. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no parameterless constructor exists on type . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The proxy generation options used to influence generated proxy type and object. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates the proxy type for class proxy with given class, implementing given and using provided . - - The base class for proxy type. - The interfaces that proxy type should implement. - The options for proxy generation process. - of proxy. - - - - Creates the proxy type for interface proxy with target for given interface, implementing given on given and using provided . - - The interface proxy type should implement. - The additional interfaces proxy type should implement. - Actual type that the proxy type will encompass. - The options for proxy generation process. - of proxy. - - - - Creates the proxy type for interface proxy with target interface for given interface, implementing given on given and using provided . - - The interface proxy type should implement. - The additional interfaces proxy type should implement. - The options for proxy generation process. - of proxy. - - - - Creates the proxy type for interface proxy without target for given interface, implementing given and using provided . - - The interface proxy type should implement. - The additional interfaces proxy type should implement. - The options for proxy generation process. - of proxy. - - - - Creates a delegate of the specified type to a suitable `Invoke` method - on the given instance. - - The proxy instance to which the delegate should be bound. - The type of delegate that should be created. - - The does not have an `Invoke` method that is compatible with - the requested type. - - - - - Creates a delegate of the specified type to a suitable `Invoke` method - on the given instance. - - The proxy instance to which the delegate should be bound. - The type of delegate that should be created. - - The does not have an `Invoke` method that is compatible with - the requested . - - - - - Checks whether the specified method is accessible to DynamicProxy. - The method to check. - true if the method is accessible to DynamicProxy, false otherwise. - - - - Checks whether the specified method is accessible to DynamicProxy. - The method to check. - If the method is accessible to DynamicProxy, null; otherwise, an explanation of why the method is not accessible. - true if the method is accessible to DynamicProxy, false otherwise. - - - - Checks whether the specified type is accessible to DynamicProxy. - The type to check. - true if the type is accessible to DynamicProxy, false otherwise. - - - - Determines whether this assembly has internals visible to DynamicProxy. - - The assembly to inspect. - - - - Checks whether the specified method is accessible to DynamicProxy. - Unlike with , the declaring type's accessibility is ignored. - - The method to check. - true if the method is accessible to DynamicProxy, false otherwise. - - - - Determines whether the specified method is internal. - - The method. - - true if the specified method is internal; otherwise, false. - - - - - Holds objects representing methods of class. - - - - diff --git a/src/packages/Castle.Core.4.4.1/lib/netstandard1.5/Castle.Core.xml b/src/packages/Castle.Core.4.4.1/lib/netstandard1.5/Castle.Core.xml deleted file mode 100644 index ae17928..0000000 --- a/src/packages/Castle.Core.4.4.1/lib/netstandard1.5/Castle.Core.xml +++ /dev/null @@ -1,5741 +0,0 @@ - - - - Castle.Core - - - - - Abstract adapter for the support - needed by the - - - - - Adds an element with the provided key and value to the object. - - The to use as the key of the element to add. - The to use as the value of the element to add. - An element with the same key already exists in the object. - key is null. - The is read-only.-or- The has a fixed size. - - - - Removes all elements from the object. - - The object is read-only. - - - - Determines whether the object contains an element with the specified key. - - The key to locate in the object. - - true if the contains an element with the key; otherwise, false. - - key is null. - - - - Returns an object for the object. - - - An object for the object. - - - - - Gets a value indicating whether the object has a fixed size. - - true if the object has a fixed size; otherwise, false. - - - - Gets a value indicating whether the object is read-only. - - true if the object is read-only; otherwise, false. - - - - Gets an object containing the keys of the object. - - An object containing the keys of the object. - - - - Removes the element with the specified key from the object. - - The key of the element to remove. - The object is read-only.-or- The has a fixed size. - key is null. - - - - Gets an object containing the values in the object. - - An object containing the values in the object. - - - - Gets or sets the with the specified key. - - - - - Copies the elements of the to an , starting at a particular index. - - The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. - The zero-based index in array at which copying begins. - array is null. - The type of the source cannot be cast automatically to the type of the destination array. - index is less than zero. - array is multidimensional.-or- index is equal to or greater than the length of array.-or- The number of elements in the source is greater than the available space from index to the end of the destination array. - - - - Gets the number of elements contained in the . - - The number of elements contained in the . - - - - Gets a value indicating whether access to the is synchronized (thread safe). - - true if access to the is synchronized (thread safe); otherwise, false. - - - - Gets an object that can be used to synchronize access to the . - - An object that can be used to synchronize access to the . - - - - Returns an enumerator that iterates through a collection. - - - An object that can be used to iterate through the collection. - - - - - Abstract implementation of . - - - - - Identifies a property should be represented as a nested component. - - - - - Applies no prefix. - - - - - Gets or sets the prefix. - - The prefix. - - - - Identifies the dictionary adapter types. - - - - - Assigns a specific dictionary key. - - - - - Identifies an interface or property to be pre-fetched. - - - - - Instructs fetching to occur. - - - - - Instructs fetching according to - - - - - Gets whether or not fetching should occur. - - - - - Assigns a property to a group. - - - - - Constructs a group assignment. - - The group name. - - - - Constructs a group assignment. - - The group name. - - - - Gets the group the property is assigned to. - - - - - Suppresses any on-demand behaviors. - - - - - Assigns a specific dictionary key. - - - - - Initializes a new instance of the class. - - The key. - - - - Initializes a new instance of the class. - - The compound key. - - - - Assigns a prefix to the keyed properties of an interface. - - - Key prefixes are not inherited by sub-interfaces. - - - - - Initializes a default instance of the class. - - - - - Initializes a new instance of the class. - - The prefix for the keyed properties of the interface. - - - - Gets the prefix key added to the properties of the interface. - - - - - Substitutes part of key with another string. - - - - - Initializes a new instance of the class. - - The old value. - The new value. - - - - Requests support for multi-level editing. - - - - - Generates a new GUID on demand. - - - - - Support for on-demand value resolution. - - - - - Specifies assignment by reference rather than by copying. - - - - - Removes a property if matches value. - - - - - Removes a property if null or empty string, guid or collection. - - - - - Provides simple string formatting from existing properties. - - - - - Gets the string format. - - - - - Gets the format properties. - - - - - Identifies a property should be represented as a delimited string value. - - - - - Gets the separator. - - - - - Converts all properties to strings. - - - - - Gets or sets the format. - - The format. - - - - Suppress property change notifications. - - - - - Assigns a prefix to the keyed properties using the interface name. - - - - - Indicates that underlying values are changeable and should not be cached. - - - - - Manages conversion between property values. - - - - - Initializes a new instance of the class. - - The converter. - - - - - - - - - Gets the effective dictionary value. - - The dictionary adapter. - The key. - The stored value. - The property. - true if return only existing. - The effective property value. - - - - Uses Reflection.Emit to expose the properties of a dictionary - through a dynamic implementation of a typed interface. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Wraps a with a dynamic object to expose a bit better looking API. - The implementation is trivial and assumes keys are s. - - - - - Contract for manipulating the Dictionary adapter. - - - - - Defines the contract for building typed dictionary adapters. - - - - - Gets a typed adapter bound to the . - - The typed interface. - The underlying source of properties. - An implementation of the typed interface bound to the dictionary. - - The type represented by T must be an interface with properties. - - - - - Gets a typed adapter bound to the . - - The typed interface. - The underlying source of properties. - An implementation of the typed interface bound to the dictionary. - - The type represented by T must be an interface with properties. - - - - - Gets a typed adapter bound to the . - - The typed interface. - The underlying source of properties. - The property descriptor. - An implementation of the typed interface bound to the dictionary. - - The type represented by T must be an interface with properties. - - - - - Gets a typed adapter bound to the . - - The typed interface. - The underlying source of properties. - An implementation of the typed interface bound to the namedValues. - - The type represented by T must be an interface with properties. - - - - - Gets a typed adapter bound to the . - - The typed interface. - The underlying source of properties. - An implementation of the typed interface bound to the namedValues. - - The type represented by T must be an interface with properties. - - - - - Gets the associated with the type. - - The typed interface. - The adapter meta-data. - - - - Gets the associated with the type. - - The typed interface. - The property descriptor. - The adapter meta-data. - - - - Gets the associated with the type. - - The typed interface. - Another from which to copy behaviors. - The adapter meta-data. - - - - Contract for traversing a . - - - - - Defines the contract for customizing dictionary access. - - - - - Determines relative order to apply related behaviors. - - - - - Copies the dictionary behavior. - - null if should not be copied. Otherwise copy. - - - - Defines the contract for building s. - - - - - Builds the dictionary behaviors. - - - - - Contract for creating additional Dictionary adapters. - - - - - Contract for editing the Dictionary adapter. - - - - - Contract for dictionary initialization. - - - - - Performs any initialization of the - - The dictionary adapter. - The dictionary behaviors. - - - - Defines the contract for building typed dictionary keys. - - - - - Builds the specified key. - - The dictionary adapter. - The current key. - The property. - The updated key - - - - Contract for dictionary meta-data initialization. - - - - - Initializes the given object. - - The dictionary adapter factory. - The dictionary adapter meta. - - - - - Determines whether the given behavior should be included in a new - object. - - A dictionary behavior or annotation. - True if the behavior should be included; otherwise, false. - - behaviors are always included, - regardless of the result of this method. - - - - - - Contract for managing Dictionary adapter notifications. - - - - - Defines the contract for retrieving dictionary values. - - - - - Gets the effective dictionary value. - - The dictionary adapter. - The key. - The stored value. - The property. - true if return only existing. - The effective property value. - - - - Defines the contract for updating dictionary values. - - - - - Sets the stored dictionary value. - - The dictionary adapter. - The key. - The stored value. - The property. - true if the property should be stored. - - - - Contract for validating Dictionary adapter. - - - - - Contract for dictionary validation. - - - - - Determines if is valid. - - The dictionary adapter. - true if valid. - - - - Validates the . - - The dictionary adapter. - The error summary information. - - - - Validates the for a property. - - The dictionary adapter. - The property to validate. - The property summary information. - - - - Invalidates any results cached by the validator. - - The dictionary adapter. - - - - Contract for property descriptor initialization. - - - - - Performs any initialization of the - - The property descriptor. - The property behaviors. - - - - - - - - - Initializes a new instance of the class. - - The name values. - - - - Gets a value indicating whether the object is read-only. - - true if the object is read-only; otherwise, false. - - - - Determines whether the object contains an element with the specified key. - - The key to locate in the object. - - true if the contains an element with the key; otherwise, false. - - key is null. - - - - Gets or sets the with the specified key. - - - - - Adapts the specified name values. - - The name values. - - - - Describes a dictionary property. - - - - - Initializes an empty class. - - - - - Initializes a new instance of the class. - - The property. - The annotations. - - - - Initializes a new instance class. - - - - - Copies an existing instance of the class. - - - - - - - - - - Gets the property name. - - - - - Gets the property type. - - - - - Gets the property. - - The property. - - - - Returns true if the property is dynamic. - - - - - Gets additional state. - - - - - Determines if property should be fetched. - - - - - Determines if property must exist first. - - - - - Determines if notifications should occur. - - - - - Gets the property behaviors. - - - - - Gets the type converter. - - The type converter. - - - - Gets the extended properties. - - - - - Gets the setter. - - The setter. - - - - Gets the key builders. - - The key builders. - - - - Gets the setter. - - The setter. - - - - Gets the getter. - - The getter. - - - - Gets the initializers. - - The initializers. - - - - Gets the meta-data initializers. - - The meta-data initializers. - - - - Gets the key. - - The dictionary adapter. - The key. - The descriptor. - - - - Gets the property value. - - The dictionary adapter. - The key. - The stored value. - The descriptor. - true if return only existing. - - - - Sets the property value. - - The dictionary adapter. - The key. - The value. - The descriptor. - - - - Adds a single behavior. - - The behavior. - - - - Adds the behaviors. - - The behaviors. - - - - Adds the behaviors. - - The behaviors. - - - - Copies the behaviors to the other - - - - - Copies the - - - - - Contract for value matching. - - - - - Contract for dynamic value resolution. - - - - - Contract for typed dynamic value resolution. - - - - - - This is an abstract implementation - that deals with methods that can be abstracted away - from underlying implementations. - - - AbstractConfiguration makes easier to implementers - to create a new version of - - - - - Gets node attributes. - - - All attributes of the node. - - - - - Gets all child nodes. - - The of child nodes. - - - - Gets the name of the . - - - The Name of the . - - - - - Gets the value of . - - - The Value of the . - - - - - Gets the value of the node and converts it - into specified . - - The - - The Default value returned if the conversion fails. - - The Value converted into the specified type. - - - - A collection of objects. - - - - - Creates a new instance of ConfigurationCollection. - - - - - Creates a new instance of ConfigurationCollection. - - - - - is a interface encapsulating a configuration node - used to retrieve configuration values. - - - - - Gets the name of the node. - - - The Name of the node. - - - - - Gets the value of the node. - - - The Value of the node. - - - - - Gets an of - elements containing all node children. - - The Collection of child nodes. - - - - Gets an of the configuration attributes. - - - - - Gets the value of the node and converts it - into specified . - - The - - The Default value returned if the conversion fails. - - The Value converted into the specified type. - - - - Initializes a new instance of the class. - - The name. - - - - Gets the value of . - - - The Value of the . - - - - - Deserializes the specified node into an abstract representation of configuration. - - The node. - - - - If a config value is an empty string we return null, this is to keep - backward compatibility with old code - - - - - Helper class for retrieving attributes. - - - - - Gets the attribute. - - The type. - The type attribute. - - - - Gets the attributes. Does not consider inherited attributes! - - The type. - The type attributes. - - - - Gets the attribute. - - The member. - The member attribute. - - - - Gets the attributes. Does not consider inherited attributes! - - The member. - The member attributes. - - - - Gets the type attribute. - - The type. - The type attribute. - - - - Gets the type attributes. - - The type. - The type attributes. - - - - Gets the type converter. - - The member. - - - - Checks whether or not collection is null or empty. Assumes collection can be safely enumerated multiple times. - - - - - Generates a HashCode for the contents for the list. Order of items does not matter. - - The type of object contained within the list. - The list. - The generated HashCode. - - - - Determines if two lists are equivalent. Equivalent lists have the same number of items and each item is found within the other regardless of respective position within each. - - The type of object contained within the list. - The first list. - The second list. - True if the two lists are equivalent. - - - - Constant to use when making assembly internals visible to Castle.Core - [assembly: InternalsVisibleTo(CoreInternalsVisible.ToCastleCore)] - - - - - Constant to use when making assembly internals visible to proxy types generated by DynamicProxy. Required when proxying internal types. - [assembly: InternalsVisibleTo(CoreInternalsVisible.ToDynamicProxyGenAssembly2)] - - - - - Creates a new lock. - - - - - Find the best available name to describe a type. - - - Usually the best name will be , but - sometimes that's null (see http://msdn.microsoft.com/en-us/library/system.type.fullname%28v=vs.110%29.aspx) - in which case the method falls back to . - - the type to name - the best name - - - - Defines that the implementation wants a - in order to - access other components. The creator must be aware - that the component might (or might not) implement - the interface. - - - Used by Castle Project components to, for example, - gather logging factories - - - - - Increments IServiceProvider with a generic service resolution operation. - - - - - This interface should be implemented by classes - that are available in a bigger context, exposing - the container to different areas in the same application. - - For example, in Web application, the (global) HttpApplication - subclasses should implement this interface to expose - the configured container - - - - - - Creates a new extended logger, getting the logger name from the specified type. - - - - - Creates a new extended logger. - - - - - Creates a new extended logger, getting the logger name from the specified type. - - - - - Creates a new extended logger. - - - - - Creates a new logger, getting the logger name from the specified type. - - - - - Creates a new logger. - - - - - Creates a new logger, getting the logger name from the specified type. - - - - - Creates a new logger. - - - - - Gets the configuration file. - - i.e. log4net.config - - - - Gets the configuration file. - - i.e. log4net.config - - - - The Logger sending everything to the standard output streams. - This is mainly for the cases when you have a utility that - does not have a logger to supply. - - - - - Creates a new ConsoleLogger with the Level - set to LoggerLevel.Debug and the Name - set to String.Empty. - - - - - Creates a new ConsoleLogger with the Name - set to String.Empty. - - The logs Level. - - - - Creates a new ConsoleLogger with the Level - set to LoggerLevel.Debug. - - The logs Name. - - - - Creates a new ConsoleLogger. - - The logs Name. - The logs Level. - - - - A Common method to log. - - The level of logging - The name of the logger - The Message - The Exception - - - - Returns a new ConsoleLogger with the name - added after this loggers name, with a dot in between. - - The added hierarchical name. - A new ConsoleLogger. - - - - Interface for Context Properties implementations - - - - This interface defines a basic property get set accessor. - - - Based on the ContextPropertiesBase of log4net, by Nicko Cadell. - - - - - - Gets or sets the value of a property - - - The value for the property with the specified key - - - - Gets or sets the value of a property - - - - - - Provides an interface that supports and - allows the storage and retrieval of Contexts. These are supported in - both log4net and NLog. - - - - - Exposes the Global Context of the extended logger. - - - - - Exposes the Thread Context of the extended logger. - - - - - Exposes the Thread Stack of the extended logger. - - - - - Provides a factory that can produce either or - classes. - - - - - Creates a new extended logger, getting the logger name from the specified type. - - - - - Creates a new extended logger. - - - - - Creates a new extended logger, getting the logger name from the specified type. - - - - - Creates a new extended logger. - - - - - Manages logging. - - - This is a facade for the different logging subsystems. - It offers a simplified interface that follows IOC patterns - and a simplified priority/level/severity abstraction. - - - - - Determines if messages of priority "trace" will be logged. - - True if "trace" messages will be logged. - - - - Determines if messages of priority "debug" will be logged. - - True if "debug" messages will be logged. - - - - Determines if messages of priority "error" will be logged. - - True if "error" messages will be logged. - - - - Determines if messages of priority "fatal" will be logged. - - True if "fatal" messages will be logged. - - - - Determines if messages of priority "info" will be logged. - - True if "info" messages will be logged. - - - - Determines if messages of priority "warn" will be logged. - - True if "warn" messages will be logged. - - - - Create a new child logger. - The name of the child logger is [current-loggers-name].[passed-in-name] - - The Subname of this logger. - The New ILogger instance. - If the name has an empty element name. - - - - Logs a trace message. - - The message to log - - - - Logs a trace message with lazily constructed message. The message will be constructed only if the is true. - - - - - Logs a trace message. - - The exception to log - The message to log - - - - Logs a trace message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a trace message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a trace message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a trace message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The message to log - - - - Logs a debug message with lazily constructed message. The message will be constructed only if the is true. - - - - - Logs a debug message. - - The exception to log - The message to log - - - - Logs a debug message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The message to log - - - - Logs an error message with lazily constructed message. The message will be constructed only if the is true. - - - - - Logs an error message. - - The exception to log - The message to log - - - - Logs an error message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The message to log - - - - Logs a fatal message with lazily constructed message. The message will be constructed only if the is true. - - - - - Logs a fatal message. - - The exception to log - The message to log - - - - Logs a fatal message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The message to log - - - - Logs a info message with lazily constructed message. The message will be constructed only if the is true. - - - - - Logs an info message. - - The exception to log - The message to log - - - - Logs an info message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The message to log - - - - Logs a warn message with lazily constructed message. The message will be constructed only if the is true. - - - - - Logs a warn message. - - The exception to log - The message to log - - - - Logs a warn message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Manages the instantiation of s. - - - - - Creates a new logger, getting the logger name from the specified type. - - - - - Creates a new logger. - - - - - Creates a new logger, getting the logger name from the specified type. - - - - - Creates a new logger. - - - - - The Level Filtered Logger class. This is a base class which - provides a LogLevel attribute and reroutes all functions into - one Log method. - - - - - Creates a new LevelFilteredLogger. - - - - - The LoggerLevel that this logger - will be using. Defaults to LoggerLevel.Off - - - - - The name that this logger will be using. - Defaults to String.Empty - - - - - Logs a trace message. - - The message to log - - - - Logs a trace message. - - A functor to create the message - - - - Logs a trace message. - - The exception to log - The message to log - - - - Logs a trace message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a trace message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a trace message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a trace message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The message to log - - - - Logs a debug message. - - The exception to log - The message to log - - - - Logs a debug message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The message to log - - - - Logs an info message. - - The exception to log - The message to log - - - - Logs an info message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The message to log - - - - Logs a warn message. - - The exception to log - The message to log - - - - Logs a warn message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The message to log - - - - Logs an error message. - - The exception to log - The message to log - - - - Logs an error message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The message to log - - - - Logs a fatal message. - - The exception to log - The message to log - - - - Logs a fatal message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Determines if messages of priority "trace" will be logged. - - true if log level flags include the bit - - - - Determines if messages of priority "debug" will be logged. - - true if log level flags include the bit - - - - Determines if messages of priority "info" will be logged. - - true if log level flags include the bit - - - - Determines if messages of priority "warn" will be logged. - - true if log level flags include the bit - - - - Determines if messages of priority "error" will be logged. - - true if log level flags include the bit - - - - Determines if messages of priority "fatal" will be logged. - - true if log level flags include the bit - - - - Implementors output the log content by implementing this method only. - Note that exception can be null - - - - - Supporting Logger levels. - - - - - Logging will be off - - - - - Fatal logging level - - - - - Error logging level - - - - - Warn logging level - - - - - Info logging level - - - - - Debug logging level - - - - - Trace logging level - - - - - NullLogFactory used when logging is turned off. - - - - - Creates an instance of ILogger with the specified name. - - Name. - - - - Creates an instance of ILogger with the specified name and LoggerLevel. - - Name. - Level. - - - - The Null Logger class. This is useful for implementations where you need - to provide a logger to a utility class, but do not want any output from it. - It also helps when you have a utility that does not have a logger to supply. - - - - - Returns empty context properties. - - - - - Returns empty context properties. - - - - - Returns empty context stacks. - - - - - No-op. - - false - - - - No-op. - - false - - - - No-op. - - false - - - - No-op. - - false - - - - No-op. - - false - - - - No-op. - - false - - - - Returns this NullLogger. - - Ignored - This ILogger instance. - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - The Stream Logger class. This class can stream log information - to any stream, it is suitable for storing a log file to disk, - or to a MemoryStream for testing your components. - - - This logger is not thread safe. - - - - - Creates a new StreamLogger with default encoding - and buffer size. Initial Level is set to Debug. - - - The name of the log. - - - The stream that will be used for logging, - seeking while the logger is alive - - - - - Creates a new StreamLogger with default buffer size. - Initial Level is set to Debug. - - - The name of the log. - - - The stream that will be used for logging, - seeking while the logger is alive - - - The encoding that will be used for this stream. - - - - - - Creates a new StreamLogger. - Initial Level is set to Debug. - - - The name of the log. - - - The stream that will be used for logging, - seeking while the logger is alive - - - The encoding that will be used for this stream. - - - - The buffer size that will be used for this stream. - - - - - - Creates a new StreamLogger with - Debug as default Level. - - The name of the log. - The StreamWriter the log will write to. - - - - Creates outputting - to files. The name of the file is derived from the log name - plus the 'log' extension. - - - - - The TraceLogger sends all logging to the System.Diagnostics.TraceSource - built into the .net framework. - - - Logging can be configured in the system.diagnostics configuration - section. - - If logger doesn't find a source name with a full match it will - use source names which match the namespace partially. For example you can - configure from all castle components by adding a source name with the - name "Castle". - - If no portion of the namespace matches the source named "Default" will - be used. - - - - - Build a new trace logger based on the named TraceSource - - The name used to locate the best TraceSource. In most cases comes from the using type's fullname. - - - - Build a new trace logger based on the named TraceSource - - The name used to locate the best TraceSource. In most cases comes from the using type's fullname. - The default logging level at which this source should write messages. In almost all cases this - default value will be overridden in the config file. - - - - Create a new child logger. - The name of the child logger is [current-loggers-name].[passed-in-name] - - The Subname of this logger. - The New ILogger instance. - - - - Used to create the TraceLogger implementation of ILogger interface. See . - - - - - General purpose class to represent a standard pair of values. - - Type of the first value - Type of the second value - - - - Constructs a pair with its values - - - - - List of utility methods related to dynamic proxy operations - - - - - Determines whether the specified type is a proxy generated by - DynamicProxy (1 or 2). - - The type. - - true if it is a proxy; otherwise, false. - - - - - Readonly implementation of which uses an anonymous object as its source. Uses names of properties as keys, and property values as... well - values. Keys are not case sensitive. - - - - - Initializes a new instance of the class. - - The target. - - - - Gets the number of elements contained in the . - - The number of elements contained in the . - - - - Gets a value indicating whether access to the is synchronized (thread safe). - - true if access to the is synchronized (thread safe); otherwise, false. - - - - Gets an object that can be used to synchronize access to the . - - An object that can be used to synchronize access to the . - - - - Gets a value indicating whether the object is read-only. - - true if the object is read-only; otherwise, false. - - - - Gets or sets the with the specified key. - - - - - Gets an object containing the keys of the object. - - An object containing the keys of the object. - - - - Gets an object containing the values in the object. - - An object containing the values in the object. - - - - Gets a value indicating whether the object has a fixed size. - - true if the object has a fixed size; otherwise, false. - - - - Adds an element with the provided key and value to the object. - - The to use as the key of the element to add. - The to use as the value of the element to add. - - is null. - An element with the same key already exists in the object. - The is read-only.-or- The has a fixed size. - - - - Removes all elements from the object. - - The object is read-only. - - - - Determines whether the object contains an element with the specified key. - - The key to locate in the object. - - true if the contains an element with the key; otherwise, false. - - - is null. - - - - Removes the element with the specified key from the object. - - The key of the element to remove. - - is null. - The object is read-only.-or- The has a fixed size. - - - - Returns an enumerator that iterates through a collection. - - - An object that can be used to iterate through the collection. - - - - - Copies the elements of the to an , starting at a particular index. - - The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. - The zero-based index in at which copying begins. - - is null. - - is less than zero. - - is multidimensional.-or- is equal to or greater than the length of .-or- The number of elements in the source is greater than the available space from to the end of the destination . - The type of the source cannot be cast automatically to the type of the destination . - - - - Returns an object for the object. - - - An object for the object. - - - - - Reads values of properties from and inserts them into using property names as keys. - - - - - - - - - - This returns a new stream instance each time it is called. - It is the responsibility of the caller to dispose of this stream - - - - - - - - - - - - - - - Represents a 'streamable' resource. Can - be a file, a resource in an assembly. - - - - - Only valid for resources that - can be obtained through relative paths - - - - - Returns a reader for the stream - - - It's up to the caller to dispose the reader. - - - - - Returns a reader for the stream - - - It's up to the caller to dispose the reader. - - - - - Returns an instance of - created according to the relativePath - using itself as the root. - - - - - Depicts the contract for resource factories. - - - - - Used to check whether the resource factory - is able to deal with the given resource - identifier. - - - Implementors should return true - only if the given identifier is supported - by the resource factory - - - - - Creates an instance - for the given resource identifier - - - - - Creates an instance - for the given resource identifier - - - - - Adapts a static string content as an - - - - - Enable access to files on network shares - - - - - Interface describing elements composing generated type - - - - - Performs some basic screening and invokes the - to select methods. - - - - - Encapsulates the information needed to build an attribute. - - - Arrays passed to this class as constructor arguments or property or field values become owned by this class. - They should not be mutated after creation. - - - - - Default implementation of interface producing in-memory proxy assemblies. - - - - - Initializes a new instance of the class with new . - - - - - Initializes a new instance of the class. - - The module scope for generated proxy types. - - - - Provides instructions that a user could follow to make a type or method in - visible to DynamicProxy. - The assembly containing the type or method. - Instructions that a user could follow to make a type or method visible to DynamicProxy. - - - - Creates a message to inform clients that a proxy couldn't be created due to reliance on an - inaccessible type (perhaps itself). - - the inaccessible type that prevents proxy creation - the type that couldn't be proxied - - - - Base class that exposes the common functionalities - to proxy generation. - - - - - It is safe to add mapping (no mapping for the interface exists) - - - - - Generates a parameters constructor that initializes the proxy - state with just to make it non-null. - - This constructor is important to allow proxies to be XML serializable - - - - - - Initializes a new instance of the class. - - Target element. This is either target type or target method for invocation types. - The type of the proxy. This is base type for invocation types. - The interfaces. - The options. - - - - Initializes a new instance of the class. - - Type of the target. - The interfaces. - The options. - - - - Provides appropriate Ldc.X opcode for the type of primitive value to be loaded. - - - - - Provides appropriate Ldind.X opcode for - the type of primitive value to be loaded indirectly. - - - - - Emits a load indirect opcode of the appropriate type for a value or object reference. - Pops a pointer off the evaluation stack, dereferences it and loads - a value of the specified type. - - - - - Emits a load opcode of the appropriate kind for a constant string or - primitive value. - - - - - Emits a load opcode of the appropriate kind for the constant default value of a - type, such as 0 for value types and null for reference types. - - - - - Emits a store indirectopcode of the appropriate type for a value or object reference. - Pops a value of the specified type and a pointer off the evaluation stack, and - stores the value. - - - - - Wraps a reference that is passed - ByRef and provides indirect load/store support. - - - - - Provides appropriate Stind.X opcode - for the type of primitive value to be stored indirectly. - - - - - Represents the scope of uniqueness of names for types and their members - - - - - Gets a unique name based on - - Name suggested by the caller - Unique name based on . - - Implementers should provide name as closely resembling as possible. - Generally if no collision occurs it is suggested to return suggested name, otherwise append sequential suffix. - Implementers must return deterministic names, that is when is called twice - with the same suggested name, the same returned name should be provided each time. Non-deterministic return - values, like appending random suffices will break serialization of proxies. - - - - - Returns new, disposable naming scope. It is responsibility of the caller to make sure that no naming collision - with enclosing scope, or other subscopes is possible. - - New naming scope. - - - - Generates the constructor for the class that extends - - - - - - Initializes a new instance of the class. - - The name. - Type declaring the original event being overridden, or null. - The event delegate type. - The add method. - The remove method. - The attributes. - - - - Returns the methods implemented by a type. Use this instead of Type.GetMethods() to work around a CLR issue - where duplicate MethodInfos are returned by Type.GetMethods() after a token of a generic type's method was loaded. - - - - - Exposes means to change target objects of proxies and invocations. - - - - - Changes the target object () of current . - - The new value of target of invocation. - - Although the method takes the actual instance must be of type assignable to , otherwise an will be thrown. - Also while it's technically legal to pass null reference (Nothing in Visual Basic) as , for obvious reasons Dynamic Proxy will not be able to call the intercepted method on such target. - In this case last interceptor in the pipeline mustn't call or a will be throws. - Also while it's technically legal to pass proxy itself as , this would create stack overflow. - In this case last interceptor in the pipeline mustn't call or a will be throws. - - Thrown when is not assignable to the proxied type. - - - - Permanently changes the target object of the proxy. This does not affect target of the current invocation. - - The new value of target of the proxy. - - Although the method takes the actual instance must be of type assignable to proxy's target type, otherwise an will be thrown. - Also while it's technically legal to pass null reference (Nothing in Visual Basic) as , for obvious reasons Dynamic Proxy will not be able to call the intercepted method on such target. - In this case last interceptor in the pipeline mustn't call or a will be throws. - Also while it's technically legal to pass proxy itself as , this would create stack overflow. - In this case last interceptor in the pipeline mustn't call or a will be throws. - - Thrown when is not assignable to the proxied type. - - - - Provides the main DynamicProxy extension point that allows member interception. - - - - - Provides an extension point that allows proxies to choose specific interceptors on - a per method basis. - - - - - Selects the interceptors that should intercept calls to the given . - - The type of the target object. - The method that will be intercepted. - All interceptors registered with the proxy. - An array of interceptors to invoke upon calling the . - - This method is called only once per proxy instance, upon the first call to the - . Either an empty array or null are valid return values to indicate - that no interceptor should intercept calls to the method. Although it is not advised, it is - legal to return other implementations than these provided in - . - - - - - Encapsulates an invocation of a proxied method. - - - - - Gets the arguments that the has been invoked with. - - The arguments the method was invoked with. - - - - Gets the generic arguments of the method. - - The generic arguments, or null if not a generic method. - - - - Gets the object on which the invocation is performed. This is different from proxy object - because most of the time this will be the proxy target object. - - - The invocation target. - - - - Gets the representing the method being invoked on the proxy. - - The representing the method being invoked. - - - - For interface proxies, this will point to the on the target class. - - The method invocation target. - - - - Gets the proxy object on which the intercepted method is invoked. - - Proxy object on which the intercepted method is invoked. - - - - Gets or sets the return value of the method. - - The return value of the method. - - - - Gets the type of the target object for the intercepted method. - - The type of the target object. - - - - Gets the value of the argument at the specified . - - The index. - The value of the argument at the specified . - - - - Returns the concrete instantiation of the on the proxy, with any generic - parameters bound to real types. - - - The concrete instantiation of the on the proxy, or the if - not a generic method. - - - Can be slower than calling . - - - - - Returns the concrete instantiation of , with any - generic parameters bound to real types. - For interface proxies, this will point to the on the target class. - - The concrete instantiation of , or - if not a generic method. - - In debug builds this can be slower than calling . - - - - - Proceeds the call to the next interceptor in line, and ultimately to the target method. - - - Since interface proxies without a target don't have the target implementation to proceed to, - it is important, that the last interceptor does not call this method, otherwise a - will be thrown. - - - - - Returns an object describing the operation for this - at this specific point during interception. - - - - - Overrides the value of an argument at the given with the - new provided. - - - This method accepts an , however the value provided must be compatible - with the type of the argument defined on the method, otherwise an exception will be thrown. - - The index of the argument to override. - The new value for the argument. - - - - Describes the operation for an - at a specific point during interception. - - - - - Executes the operation described by this instance. - - There is no interceptor, nor a proxy target object, to proceed to. - - - - Attributes should be replicated if they are non-inheritable, - but there are some special cases where the attributes means - something to the CLR, where they should be skipped. - - - - - Determines whether the specified method is internal. - - The method. - - true if the specified method is internal; otherwise, false. - - - - - Determines whether this assembly has internals visible to dynamic proxy. - - The assembly to inspect. - - - - Checks if the method is public or protected. - - - - - Returns list of all unique interfaces implemented given types, including their base interfaces. - - - - - Checks whether the specified is a delegate type (i.e. a direct subclass of ). - - - - - Abstracts the implementation of proxy type construction. - - - - - Gets or sets the that this logs to. - - - - - Gets the associated with this builder. - - The module scope associated with this builder. - - - - Creates a proxy type for given , implementing , using provided. - - The class type to proxy. - Additional interface types to proxy. - The proxy generation options. - The generated proxy type. - - Implementers should return a proxy type for the specified class and interfaces. - Additional interfaces should be only 'mark' interfaces, that is, they should work like interface proxy without target. (See method.) - - Thrown when or any of is a generic type definition. - Thrown when or any of is not public. - Note that to avoid this exception, you can mark offending type internal, and define - pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. - - - - - Creates a proxy type that proxies calls to members on , implementing , using provided. - - The interface type to proxy. - Additional interface types to proxy. - Type implementing on which calls to the interface members should be intercepted. - The proxy generation options. - The generated proxy type. - - Implementers should return a proxy type for the specified interface that 'proceeds' executions to the specified target. - Additional interfaces should be only 'mark' interfaces, that is, they should work like interface proxy without target. (See method.) - - Thrown when or any of is a generic type definition. - Thrown when or any of is not public. - Note that to avoid this exception, you can mark offending type internal, and define - pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. - - - - - Creates a proxy type for given and that delegates all calls to the provided interceptors and allows interceptors to switch the actual target of invocation. - - The interface type to proxy. - Additional interface types to proxy. - The proxy generation options. - The generated proxy type. - - Implementers should return a proxy type for the specified interface(s) that delegate all executions to the specified interceptors - and uses an instance of the interface as their targets (i.e. ), rather than a class. All classes should then implement interface, - to allow interceptors to switch invocation target with instance of another type implementing called interface. - - Thrown when or any of is a generic type definition. - Thrown when or any of is not public. - Note that to avoid this exception, you can mark offending type internal, and define - pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. - - - - - Creates a proxy type for given that delegates all calls to the provided interceptors. - - The interface type to proxy. - Additional interface types to proxy. - The proxy generation options. - The generated proxy type. - - Implementers should return a proxy type for the specified interface and additional interfaces that delegate all executions to the specified interceptors. - - Thrown when or any of is a generic type definition. - Thrown when or any of is not public. - Note that to avoid this exception, you can mark offending type internal, and define - pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. - - - - - Used during the target type inspection process. Implementors have a chance to customize the - proxy generation process. - - - - - Invoked by the generation process to notify that the whole process has completed. - - - - - Invoked by the generation process to notify that a member was not marked as virtual. - - The type which declares the non-virtual member. - The non-virtual member. - - This method gives an opportunity to inspect any non-proxyable member of a type that has - been requested to be proxied, and if appropriate - throw an exception to notify the caller. - - - - - Invoked by the generation process to determine if the specified method should be proxied. - - The type which declares the given method. - The method to inspect. - True if the given method should be proxied; false otherwise. - - - - Provides proxy objects for classes and interfaces. - - - - - Gets or sets the that this log to. - - - - - Gets the proxy builder instance used to generate proxy types. - - The proxy builder. - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - Object proxying calls to members of on object. - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of types on generated target object. - - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - As a result of that also at least one implementation must be provided. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of types on generated target object. - - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - As a result of that also at least one implementation must be provided. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of types on generated target object. - - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - As a result of that also at least one implementation must be provided. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The proxy generation options used to influence generated proxy type and object. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no parameterless constructor exists on type . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The proxy generation options used to influence generated proxy type and object. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no parameterless constructor exists on type . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The proxy generation options used to influence generated proxy type and object. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Exposes access to the target object and interceptors of proxy objects. - This is a DynamicProxy infrastructure interface and should not be implemented yourself. - - - - - Get the proxy target (note that null is a valid target!) - - - - - Set the proxy target. - - New proxy target. - - - - Gets the interceptors for the proxy - - - - - Because we need to cache the types based on the mixed in mixins, we do the following here: - - Get all the mixin interfaces - - Sort them by full name - - Return them by position - - The idea is to have reproducible behavior for the case that mixins are registered in different orders. - This method is here because it is required - - - - - The default file name used when the assembly is saved using . - - - - - The default assembly (simple) name used for the assemblies generated by a instance. - - - - - Initializes a new instance of the class; assemblies created by this instance will not be saved. - - - - - Initializes a new instance of the class, allowing to specify whether the assemblies generated by this instance - should be saved. - - If set to true saves the generated module. - - - - Initializes a new instance of the class, allowing to specify whether the assemblies generated by this instance - should be saved. - - If set to true saves the generated module. - If set to true disables ability to generate signed module. This should be used in cases where ran under constrained permissions. - - - - Initializes a new instance of the class, allowing to specify whether the assemblies generated by this instance - should be saved and what simple names are to be assigned to them. - - If set to true saves the generated module. - If set to true disables ability to generate signed module. This should be used in cases where ran under constrained permissions. - The simple name of the strong-named assembly generated by this . - The path and file name of the manifest module of the strong-named assembly generated by this . - The simple name of the weak-named assembly generated by this . - The path and file name of the manifest module of the weak-named assembly generated by this . - - - - Initializes a new instance of the class, allowing to specify whether the assemblies generated by this instance - should be saved and what simple names are to be assigned to them. - - If set to true saves the generated module. - If set to true disables ability to generate signed module. This should be used in cases where ran under constrained permissions. - Naming scope used to provide unique names to generated types and their members (usually via sub-scopes). - The simple name of the strong-named assembly generated by this . - The path and file name of the manifest module of the strong-named assembly generated by this . - The simple name of the weak-named assembly generated by this . - The path and file name of the manifest module of the weak-named assembly generated by this . - - - - Users of this should use this lock when accessing the cache. - - - - - Returns a type from this scope's type cache, or null if the key cannot be found. - - The key to be looked up in the cache. - The type from this scope's type cache matching the key, or null if the key cannot be found - - - - Registers a type in this scope's type cache. - - The key to be associated with the type. - The type to be stored in the cache. - - - - Gets the key pair used to sign the strong-named assembly generated by this . - - - - - Gets the strong-named module generated by this scope, or if none has yet been generated. - - The strong-named module generated by this scope, or if none has yet been generated. - - - - Gets the file name of the strongly named module generated by this scope. - - The file name of the strongly named module generated by this scope. - - - - Gets the weak-named module generated by this scope, or if none has yet been generated. - - The weak-named module generated by this scope, or if none has yet been generated. - - - - Gets the file name of the weakly named module generated by this scope. - - The file name of the weakly named module generated by this scope. - - - - Gets the specified module generated by this scope, creating a new one if none has yet been generated. - - If set to true, a strong-named module is returned; otherwise, a weak-named module is returned. - A strong-named or weak-named module generated by this scope, as specified by the parameter. - - - - Gets the strong-named module generated by this scope, creating a new one if none has yet been generated. - - A strong-named module generated by this scope. - - - - Gets the weak-named module generated by this scope, creating a new one if none has yet been generated. - - A weak-named module generated by this scope. - - - - allows customization of the behavior of proxies created by - an (or proxy types generated by an ). - - You should not modify an instance of once it has been - used to create a proxy (or proxy type). - - - - - - Initializes a new instance of the class. - - The hook. - - - - Initializes a new instance of the class. - - - - - Gets or sets the that should be used during proxy type - generation. Defaults to an instance of . - - You should not modify this property once this instance - has been used to create a proxy. - - - - - - Gets or sets the that should be used by created proxies - to determine which interceptors to use for an interception. If set to - (which is the default), created proxies will not use any selector. - - You should not modify this property once this instance - has been used to create a proxy. - - - - - - Gets or sets the class type from which generated interface proxy types will be derived. - Defaults to (). - - You should not modify this property once this instance - has been used to create a proxy. - - - - - - Gets the collection of additional custom attributes that will be put on generated proxy types. - This collection is initially empty. - - You should not modify this collection once this instance - has been used to create a proxy. - - - - - - Adds a delegate type to the list of mixins that will be added to generated proxies. - That is, generated proxies will have a `Invoke` method with a signature matching that - of the specified . - - You should not call this method once this instance - has been used to create a proxy. - - - The delegate type whose `Invoke` method should be reproduced in generated proxies. - is . - is not a delegate type. - - - - Adds a delegate to be mixed into generated proxies. The - will act as the target for calls to a `Invoke` method with a signature matching that - of the delegate. - - You should not call this method once this instance - has been used to create a proxy. - - - The delegate that should act as the target for calls to `Invoke` methods with a matching signature. - is . - - - - Mixes the interfaces implemented by the specified object into - created proxies, and uses as the target for these mixed-in interfaces. - - You should not call this method once this instance - has been used to create a proxy. - - - The object that should act as the target for all of its implemented interfaces' methods. - is . - is an instance of . - - - - Provides proxy objects for classes and interfaces. - - - - - Initializes a new instance of the class. - - Proxy types builder. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - If true forces all types to be generated into an unsigned module. - - - - Gets or sets the that this log to. - - - - - Gets the proxy builder instance used to generate proxy types. - - The proxy builder. - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - Object proxying calls to members of on object. - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of types on generated target object. - - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - As a result of that also at least one implementation must be provided. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of types on generated target object. - - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - As a result of that also at least one implementation must be provided. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of types on generated target object. - - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - As a result of that also at least one implementation must be provided. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The proxy generation options used to influence generated proxy type and object. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no parameterless constructor exists on type . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The proxy generation options used to influence generated proxy type and object. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no parameterless constructor exists on type . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The proxy generation options used to influence generated proxy type and object. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates the proxy type for class proxy with given class, implementing given and using provided . - - The base class for proxy type. - The interfaces that proxy type should implement. - The options for proxy generation process. - of proxy. - - - - Creates the proxy type for interface proxy with target for given interface, implementing given on given and using provided . - - The interface proxy type should implement. - The additional interfaces proxy type should implement. - Actual type that the proxy type will encompass. - The options for proxy generation process. - of proxy. - - - - Creates the proxy type for interface proxy with target interface for given interface, implementing given on given and using provided . - - The interface proxy type should implement. - The additional interfaces proxy type should implement. - The options for proxy generation process. - of proxy. - - - - Creates the proxy type for interface proxy without target for given interface, implementing given and using provided . - - The interface proxy type should implement. - The additional interfaces proxy type should implement. - The options for proxy generation process. - of proxy. - - - - Creates a delegate of the specified type to a suitable `Invoke` method - on the given instance. - - The proxy instance to which the delegate should be bound. - The type of delegate that should be created. - - The does not have an `Invoke` method that is compatible with - the requested type. - - - - - Creates a delegate of the specified type to a suitable `Invoke` method - on the given instance. - - The proxy instance to which the delegate should be bound. - The type of delegate that should be created. - - The does not have an `Invoke` method that is compatible with - the requested . - - - - - Checks whether the specified method is accessible to DynamicProxy. - The method to check. - true if the method is accessible to DynamicProxy, false otherwise. - - - - Checks whether the specified method is accessible to DynamicProxy. - The method to check. - If the method is accessible to DynamicProxy, null; otherwise, an explanation of why the method is not accessible. - true if the method is accessible to DynamicProxy, false otherwise. - - - - Checks whether the specified type is accessible to DynamicProxy. - The type to check. - true if the type is accessible to DynamicProxy, false otherwise. - - - - Determines whether this assembly has internals visible to DynamicProxy. - - The assembly to inspect. - - - - Checks whether the specified method is accessible to DynamicProxy. - Unlike with , the declaring type's accessibility is ignored. - - The method to check. - true if the method is accessible to DynamicProxy, false otherwise. - - - - Determines whether the specified method is internal. - - The method. - - true if the specified method is internal; otherwise, false. - - - - - Holds objects representing methods of class. - - - - diff --git a/src/packages/Castle.Core.4.4.1/readme.txt b/src/packages/Castle.Core.4.4.1/readme.txt deleted file mode 100644 index 59e0292..0000000 --- a/src/packages/Castle.Core.4.4.1/readme.txt +++ /dev/null @@ -1,10 +0,0 @@ -Thanks for downloading this Castle package. -You can find full list of changes in CHANGELOG.md - -Documentation (work in progress, contributions appreciated): -DictionaryAdapter: https://github.com/castleproject/Core/blob/master/docs/dictionaryadapter.md -DynamicProxy: https://github.com/castleproject/Core/blob/master/docs/dynamicproxy.md -Discussion group: http://groups.google.com/group/castle-project-users -StackOverflow tags: castle-dynamicproxy, castle-dictionaryadapter, castle - -Issue tracker: https://github.com/castleproject/Core/issues \ No newline at end of file diff --git a/src/packages/CommonServiceLocator.2.0.6/.signature.p7s b/src/packages/CommonServiceLocator.2.0.6/.signature.p7s deleted file mode 100644 index b57602ea6cede91d793f876842f07294bd4e9f5d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9488 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 diff --git a/src/packages/CommonServiceLocator.2.0.6/CommonServiceLocator.2.0.6.nupkg b/src/packages/CommonServiceLocator.2.0.6/CommonServiceLocator.2.0.6.nupkg deleted file mode 100644 index 91dfa7692fb49297b292c95a4aa762aca4d8fbed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 68423 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

pdi99-yYC?fyysNOh&- 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 aX9VgM6%0(|c@pps90LWV83V*el>Y-<2?N#u diff --git a/src/packages/Moq.4.16.1/.signature.p7s b/src/packages/Moq.4.16.1/.signature.p7s deleted file mode 100644 index 10c7b9295a757291c6a05e2c2bb65f600c4d7a88..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9469 zcmds-c|4SB|HsW@?EAittq|j$8G8yLOCcmnioswqW|$d!#f+^)NTNlSN_+O>I4YGT zqJ_v(a;$}lB1@h4-D5lHoZoZK^Lk#d=e&Nu{?T>c*LBS`_kDfe-_Q4R4Zu*EM{uYm zSSHN!K-i#p45cxEp)>-8z|edE4}!xp!4iUp!J!aV7QpBCj*vWOxYHgyg-Rfk4A7jM z7!+CurKbg;&?q#3MqyD}DDaYoC64NE;H({F%^q5@EiDlQWOOYYH%6l>h^pn+JnJpiqA9H@^;xb!}fr9rpZ9Y7)?A zu4`q*5LR$qcr+Klfq*%|5kgQWN3;ka#B6X1ahnnR2&Q-n4QWO4MoR!<%*$Lt{9$2X zC?D{aH+T!>O%6mW0Se4pFd?b65hhe>2nFwhv@%0FkjXTpsR$6Ub^*a!^tDp zrk{L9>Z`bTa?i!|TouX0;0!BDRN|77UgdIf$BIR!rrk(-6XEENj#HcA%f{%0w!H2& zyizc6;H&&62V7q+vQuuLq>lD_c2F3E1#-a~zyZAAOO@e+Ko;R}a3duE ze9X2Gv&{;?z(0Tt^8zni6fSH&UQjfBqM3o#us?SBvV6`|U?U$O$Goiw7Y9UR{=CEb zeF(k=2ulI)?Y@EclYq%K7u@MG z^n6RKmAOlnHbL@=#n_&Pi0gt~e)PD$Xb!`ZBR_9YN8Z^|rgC)FV^LusD^6|{Kau!r z-+e!;vVG&F9BShm-iO~kWVC6ja)WlD$5F^nR(o?HtY@!pQNG{uQ}lz6jm_l)h_2*11IN!Hz3KQ(`W zzL+=MSl=2U9%0f{w467;?3WZNn?O#ZzfvjQRXHMPI?)*j=;|l?~NOga;2CJ_-9J z9W`&)$iFapL>-xVOWHb-y^s6zfQ_g4-D`EFw}Q~V*x;=2vunb?<6hI0d)2=+|~Fg38jU_iv`{~-`~AP@j3t+oM3 zg1A487G$8QN%p1&t;-02=~^#ng6>K$ZyYmWP}gL&JZ?&5Qwpsjjp_%LRYR}H?330okgS^kaGi&_Jipa$;j1e;_H9C~59y>^+&|NL zB81ProOJ29+rWM$x-I|34@SYqy?KRp-0bu)i^-7?_YHGvOChfJGg{9wff3jy`X>Y zQ{!f1vr9sgBR<^9?AtJH39P629Sj~Eo@*Tejo)nKqok$<^Cz@eOee>UlUp(Vu zKLIjx7syP#6=t#tl=(Uj1ce0edZg>sx>@i?X8sef0<{lX571f@J0L*OU{h;_rvN>9 zJwb&40dV8N*@ZZrK?w*Fk47e;`IjOV&L+g>fcFU`lYG$3O$c`56q2_MvB1+%WQrfs z0Ut!B5@=*f1kx)4X+!X)kf~%}+G=0e-{||7Y`qd5c>jfO-9n8?hvc62Ge7zCoaPgn zvWQ5Fw-G3}c7dq7CX3nSxI8v3aC5|~G=_@=s2L{h;1*y%myz~5F()ia@+f6Ch$LKy z?)UTN%8d2X%Ih@_wdB7U>C|F-j>fA0AinWk$?4oHT5Xb)k^GD7yaLI7?w*mMv2))V zh;2TyWzNRCCuGIP8)#KP;ed9QR|AVQl|jKzXOwfXD*xmXHKcG;w0t7fj^{(-t4t%` zr=?{7!#z{wxm6F)J-#HRd+_7YxN1E={w}|Y?#U+P?fskY3vCTJmFjRo)+{n-p?}t` zvfAa6c%51pX-I}3l{8Py+$(ZDSWa1C#& zh94TlDe;fPen9B|GHmBE0nGtZKzF&G0SO3${96EIMbfpvSFJ6U-;!K`K6Z9ArxTw0T4?}{dB+9AF6E?9)*>> zFO^_nFgSWE{j}*$dDf<9_}x5YmbgN}%Tm>TgEl`$pSpo9u|~w4Q*k==BC!6Jjq_gl z*rz><*w)>A_EVia@dP=+qy45%(}Ek1@$Eld?x?q5nbqB#wHTpblRl*aeTshhE*N_7C6>c(X0hiHbVJiri@0Snm} z;XmEA>x>4t^;A zQsMmj1q2j8BDg_40*5ekcS9i%C=-O-Y~Dm1g%CpJh6O~1fa-CzqUC_272rq|JnYtX z&I5Y2Zv%DRZ@hVAD3-FTIB!pYT8d)K+nkaGKzrSk5VW$W;%W-V1rboB5Wi)dYKCGp z2_zqUIO+hEOakZ~-!D}YO|J*&4*+@%K)(%uUwEzBha-7C^gbWDf4dRUWo2iV_Vr0` z_Ob1uY#hxW8m8sX6p9=I=t)56McO|houT~yDn)_?F`NNmF{tM7C^RTxc=#NRZaquG zw>OKcy5UMRS%WhQ)Zw%{?UVYbI;&9&{(Z?L>CZS6kOncQ*w;X;57`M?9`+S;T`*z& z%rSJ>s;)v{5JuFI&maYJa7!a?KD2aCxHl#YnJ1rUJlu{TB?ey$zIqaCGIqwWC&IpI zS3|3oC{ZeXaWC<%>x;JYiO(xN&ya^1aqM2C71V!Owr z3WrT<+NN!!H*V3dGZ-TNPr92a zyN&7i2+jcv!D*)B!?SJ=fVn~IyU`Fh7$b_{qm=`1NP+tp!L=j`=gc8&VlV*Bq|n;_ z0p9_#OMdgDg4CXcnio*mY925!(86WH2-pDJS3l(8$Yp^u5$>pdw-sr$< zKKS^(&^`DyaXt(Hii_{U3oPDcp-9Dv&--cSV($^fVL9<!rPq;{r1?VyBm52-=wJb4&9U}s9BpTiuX-cL9ktsMD=v|@ZmIN*63W=`W-c1Ri z(vY@zS{RuU0Qx(tmEBqgCY!Z&kh=+ict;v8Fo;>uG4YJ2AT^K{*gOWGB`D{rKo={2 zMba5d*7?Yn3CY8FtA_+7>t%i*HbB3#e$irp$nv6jL642VoLimgVWGZT?&=NX`sEsc zG9Oe_Tta9SZ&f5%?dl;{doE7_E^#}Vg2aW;{K*tTBxrGkQ1M7Ii5LM2JRRm(n2_e` z5Tp}{5DL0{IO2*61{OdBUxN42vqPFJ&q0e=vc^Dp2rO0COZ7EY7nFu*3|3oTTi@;f z{P+8-TKyqTcYg^)>!nwx$k{~~w`4`d7oNw{JJYgbBS%~$^pfjmhJE783xdDCzf;xo z*oLLNQGD{b(#89r%sk_s`kOOio1$2BBTca3{n&vie#z)W^}92lXSWRu*Ccu!^kPRjgnz=%@v$sBK+m!k2>DMab0H0)Mo8N>4BI4ff-#w$1%MO|1S4N0g_k5Iz z^bN@N^u5?U(S~AtoSfhoGiwq#FaRTApWn!JVtF{je&A%4$E#nlALBgd_ihv@|4sB$ z^_~MU$|=iwl3ohXi~i`ct+(M2K;Wttf^frefJgqmyuE-c;0!p4au5P>et1nkf-fKs z$N_8!)=j)Hs3crCb@;ht!i|*U0kuzK4zyc}t4B$ofR&U77Oh0G9~lMiQvwx?6sDuA z8A@Hc#+>PQ@%mHP7lNfluA^YbgE2NtC|he5o5T;1xTKw|=jMuGBkF!pLnp($TSz5qOB@!dWxCGgCKdg0La z`7Q6SczCscG@ARB=DbNfhhAQ%(sMHFQqcGfnY(NPlN~R6hm$8eFvYPW&I746ck{2+ zY>}yG*Bk3Bb~ms)V3c~#m*{fGTw*|;wA#O$>C z@dThjyJm8+*6B#>jtSNih~Q5@XJ=Htd(6On)ElwO%2snr0qapc5Mam^ctx?6v|IVx zo6R;IZ96BC^M`u${{g(vIskgPlwF1wc!mMCSKt-4p3VPhLQw%WEK^qQUnZ2l;Sg54 z=D0f9sk*6Hy~8YjfP@*Hq=J3Z?&1{ti)O^KHA*= zx%BLg{v)R)Ki?b03cu)k81pjy!@}(o&Xlm}$5&bwI6i0S-pxF6p#If#$&U6XZ#mLE zD&iuvlfrLEU{V$DV@#x6d9Q9QX_#I-*;!hnzU+~F;ZkPwK57@h2zU%}PSFr@zVPdOV+6P6A2=w+^Vv2VV z6;NL51O+4{|Fjz=2nV26yMaZb0)PYygcU;)G#v$3%0KGT)IQ9qm+~%X6lww*z@|La zyp0LU>pCree#mMr)}VkM<5EfdCypoklBFUe00#+r5!|b*=Uy-&{x!j(fdRDiG_c>H zvB>+yqYJk2lwU93Hknc_(2I@<@ml8#{9Sg2j1_BiXi2zZ%olk3+wBU&?~^;ndSBU1 z zmNd;5oJ3pfyBFmdjXTr4E%lA%>v~_1j%FKHWM{p-im2phN_BKLNz?3?wXuEmh(DaT zjWqdF{T$BS;j`^bK+3Fji&V74r3q8LhbY@s*E51Vs83@ex%EXQuZM4SP28t#Pr5L9uT)TUjORA0SC&LO! zC6zfTiv5;Gjw2h`4d%a?Du!4DahG}QO=Xv%SUTfvilBzZv(vp8y$qva^};Dv#pamT zLN@dKP1iWZiB34@){jv2x{B+ch>C5wJbV(woAF+RZ?^IGlN`|3_jWbW90r|<3N=pA zM%I-Iq4;<2bUvNRq;F9FR-JtfqW8Q=+4wAnz)|G-c_=EGEk^5Cl5~)C!Jlz-$U?8)dK4sq5l@>jF~`{gX;sj zKiG3Lss`xUp~99Zw^Vj5F_h`iY3pdvsNikf62e58Gbl3;WxqeSVPB7P&{PatMJR~W z0Du6ft+qj=%C687{LrPNoF6_F*u2&kx@J3qeQ^ZbUo8+%`P(?v`3|R-gdkUQ<6ERi zqOu;F(bpn$SfXUs;q*^=``vN!>e0yd^F@9L|3ydX3un~V&Ck7RtWS!JFkU9@4qQ}O@Ov6;G=k;mE^y_a zmbG5Mx4do-7<5n#VX@wHsipbs+p9LS_6m#zUp1NMiO{>6&-1jrq-X1y$cGB`w8woG90_&5r7M?8 zof?g2f7?4o^CWp*+7rpsXy)>2WZqKv{BX@{mOEi3*}@cIrM`y(>T)bbwL63x{G?lC z5f{=t+;<<_I*8rN;H$4pfZ7J0h?yT?KnxdV94Gcw%Jt#qnC{N% z?`9xOkBpqe2a8WcydXMQ(o{rY=NtOz_2DB^w;S@<<3*=-aAup6 zOJ}|Mo8uSvZ#3>lY-acztaI(S#h=qRX++$6y7>WKue5hxeML|SzSqa(Yzhv410k;J LN*^2PL{$6_Lk=~> diff --git a/src/packages/Moq.4.16.1/Moq.4.16.1.nupkg b/src/packages/Moq.4.16.1/Moq.4.16.1.nupkg deleted file mode 100644 index 6c155abd99bda823bf23d15d439f9d44fee7e7d1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 565511 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

;{%5^n!3(2@b; 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�F+3V z4ThF(g97!o;}?#EpUx}-`9eo#P{ZN=5{6a?mR&LdKE1o-16z{o1ErFhfa^*!RWj>z z6V#zch}|WmO=@)bF!G}Ht$%wc6nFi#VxeIX>}~vI9PphKQ3+9E1sfOl>@^OeE9K$4 zW~xe;xoaIah^8NW7bf^KeX+zsfACp75gc!7>qxo3K_Gr!oJn zDRsFiZ5NA!a=*n=<1Jo~4ubzEX6cR4Olql{Ji6k3@n>e-Bbd&69DE+~00WH;m>0}r za8B^y;gAIiLXFZAtBsTHo9EL)X2T4@`bs31K^!Fl** z5}*kTmBR)qtdavBn_1~O{T(zCXZVfguSXPF>5c>>veB7Dozgfr-8A0gk8{?B42w}9yg(F@{ z!Pt8GPJByvrm9!$o$~D?Z8td@>F$h)cLB;BcX?=(?-KZ;G<6f#X>~1JH$(!}djGnj zR?)oL*v*QAwXMkSI1;-vG;EQ|`*)VHtIdpJCm6}i?xe!@fJba`+Z0^fS=0DSHX4{CurbXAljtzbvO!*^O5zi)ob6 zz)eX&N9wOp@c#y12QOa+&kmc4aF{Tr=Ud3?4FSwGI!by>RL8agk!xl*2Vq}PL2U)h z+C^F?VE!obze|y=f+&8w3Z9l?RI4(uTZL#l#^>z7ZYNpqhaEO+9DkQ8dIDpE;xtq` zJE{)MTrlFNq%e@t+QE*(p9@zP2jae}eh;OX;G{bDDd=E>ff`{aKpCX>s8UEQU1X;n`~pw21QMDVqD4$WZmzp0+4_ z!`*!3M(b{iqAp0~k+E8fixw`p%ClXGLqBdB!xYXfT{%{hVj)GNBnH*H?n51lp<>on zoumP9?3ZouO6lIjY_dnfvr2fVqto<;CVQL03g)1W zPuxkstx%3D&R1$Ns2a4z&7PX8vEW0Wgx`h8&XSMlLDjT||KZ>0%dP2%vZpu(9mgv$ zd!x)PFi-iofpfuDM(H9k*I!#v?c%v5M^3|&|e>NOGfA&m)WiyTPxLOj=tuI!8np|$K z`gBdNE5aB&I|^VIM*)2ro+aaWfj9W;Z2^j=y(3liEU}bTH`fBqUSxQU>=uzLieEMp zx4!N+1yz6Ly1z|yzM{sZjrzza z88Plb!`*;*TM6l{NY^W8PE3LW@6rJ4L7n)c(tC`}0}E%S3Krcr4^j0QD4B4-w48To zz9&V8LP^P1xEobx5=jcB5tA=e*(m_-)t=J(L<9F#^Vx(z_oMuDC+Ka2VOw(c3Q!Y5 z^`-;e(}RCBdJt77(m+>{4G&otVt#us)uE4Y5T7-x7CeE25C8LWqv!DlQi@ zakYp+tXgS#b1cGwr=kMR&j~U7J-Gx3W5SA2@GH;A-sG8RoUMRA*@e zu?;WQ5&ut-;s@5jAN(VH^6!8C;b6B>30oqhxdZ3s-vkf)9-Ur!Pxt!r%SK*%d`?AF z@W$aT`=*h~xMDg|a`N)M$KZ>lsp zBXj$JpQS>!i?VOKR6D@6?LsdIUaZUNa^``mQmNa!WWr=2g2e!eX;v>1>5R=*{ja*# zgG_aoR?6T?XQL>w(tFxQ0q;J**P3{!1c==Rqr3DW_N!}zmFvrDXyYTr8JLr?s*Bo) zw}~ji_jQPzyV;Gq0&b<~X;Ug#Lrf7d#M*4`EOi}@*Z?Y>Ke--My82Cx3sVWY+enI| z)_vdWTWCqPKf&0G@JbBdfb1Ne>8k17isWn3WgMbzsd;en;jBOI;#ej&Rk-KNRFalg z*;@YXZJivYdinLkSm%!dHN|_pT2kQd@u~Cr?m7G(#wnlQ_f;~<+*@{Ox?MMdoRdFQVF9lH#L+ z$}5%W))e#aRwCU*#wz7JQLQR1Wx0F5g8E!V8Ml@F3Z5Pxawi?Dp#zn45 zLG?-Fi1J#SgC4pXG=ut$>RiZGh|vRsjs$tcp~$S>&Z!6jA2mHzr2vEYDq~=&b=CTO zBVt@wuq4-qgvFg5)h)Z$DCw5L{D#VD1Xwb#XjOrf_ zU!~_Mz5|%~3s`g1+So!Xa;Fc6!$#MMA$FDGTq5>?m6-9;b%|^L{I=%r_=A_ewmlTQ zw7a!&fqu+RQkP|>1pnahAJ6{jYSCQ%dHOV%q=D2RVWV46OR1tkO6d&N4EnpPxc01Q zE9yD`^F>2z>AqdNt9ZDwpI@m~8tsEEoa|fO9Tkl^R37p=o?fNBGXFK{Evm8`GAZN^ zMGsNE0ItZPyPwj5a;H73&PH{vAF2` zPOT4@l}T!#M+ZQ)FHsG&E`Dhc3IP(lrrvTw@gSVyG=zqKkdSOV3^r`;6E))-)&;)wqtJq-seXapZ~gn(cyE!ANYyAGP`fw%ntth+B3Yp zFud9%-_$3`ucOQ}Rr>Kv^#L>0JuqbZ!#C@>GynQ#zfAg%%}g5p`^GcsN6V;dbNtZ( ztaOoCH&B$09dgZ=fHqH+a3_ zi+J}Abq@Q(pSM#$_}8EJtA~8oUJrr){_J%TuZwtHoc zUd8k(rhoUIzI*@FQ~Sg7XFE_<`48Xv@mogQp8 z^?T2KdY-pv)YH~x!+(5NA8)vM!_6CR-f;7VTR$^3(7(43&5ySby@lxC_3u9TcOR>D zS^BhT=ej;@P4#=vUGSc_Y=hU@=EQ$|(>!l@dc)Hjp5E~EhUdLDJnIuRFadAjnjdfB zdJEUT>)-vN-~BSI@|DQU^8ES-O{9eC8hutmX9yS$NGI(;c;*y zvQZF%jhDjz#c4Q^Bx*Ck06< z5XTpmf}|Ek%POoISa`$88~ZITzbgp`a$JZj0 z^|=OeF}_B9sJ?i``S74&^@qctq_5saajfCMs?s9MaIQ5_a4_B5>j>8ngQ6;fNhHU( z_a!3ID7BPsNrY3{Sk=SRpqVv;`V9~tOdP;GfP4U0*q{{hC|IV8KwhVdcoNJ>(dMJ3 z$ErkK&~iu^v4mIBn`k2H^NmCfS~qZ20Eapx8BRsMY`2j{B6n-*w8Q9X0V;C3$XQ`` z;s;?AGNO<)R%6l7aerT1nuFEikEQI+P*lu@uhR1rM*__J1xy1JqBdHQC>;)mE@6s4 z1+gdMHmDN&z_Kk~I+j!V`K^VlzX>yf%ZUcdOUry2zGWNlN0I-?Fw~F9!Qnri{qwIa zCV2WZn52Q!AYl_s$Q=LQm`pTs?+l9=7>+r@% za)KMMxtlba5Q`g}{>LE*I$9R~;e0XT?|=Sb`0n+^VS~4#kuh!SLr^ME@IP=22(DQ= ziKffSBsI{(ND|m`$+EA3*2UZmLLoo`Wx^{igj1ZRa2g<-#{9cVRF%=p)4*VW`&B8h z*=K-Ljh)Q0%qhzYbgs~?${+BX$dA;6u)c%Cnzrp`5`H;r77 zGZncF9*25H^P<|OK;4FKMk$6m?6oLB~U!fCE_x{5Ye z9vGKOydJ>_f*L;Y2`p=dPYrE$LkpLej*9aS{JOR7a_`sCe%cR3_9V16_j(u37#+)_)+v|d=r?&!9mYVAI0w>-g@8#l24zCc00@7p63*)dffoc1UJ%@&5TSoN*Fo5~L}^jIz)KY`RUTB5h?iVm za(&T~>&~Sf{kv&i=DtN>%VbI~2E7=3P-5^dawWZ}^`h2`+C99xg_x#)w@eJ#x6J-? z`vM4FZhN`y<@UNcc2eWOYX@FC@Y=xxdv|Nig8uz;FNvr7Rx`fqR%gkp8eY}#s>WVa zjoK``D5vE08L!WHedY^#w!9~u2dz)CoAxzc*Y&!t*LD57_xj!4 z>B;=-`5pAU*t^=?P?)fN2S~3wd)?XV&R%!+x^v?^J8AvsRdlbSdllWk`)J?Yxq8pP zT2#~Rt+U~lhO?~>7b_)LEYuS5a#TzT$Sn+{K$&-pul5mN&DS=kaFN#xph0zqjX# zA8*fjd(OY>-+l1!?#CA7Uz@fb>%$~ezxUq8?0L&RX01&_{Kt1a^Y)>)550Zp?Zf7I zynT4z?8Ev*4NSlrqQ#FlM7<&E-}Uc)(eLinh~-~fcINEGmQ}xZ+2-@2!KVFD$(aiUtSW95{DtI}&7Y7|T@2VYbEJ zf&jRD&LRL-43@GszTvEX1!V=RxK={W7obTc6ERuM#fZTu@5{>|&lbY><2K^+mqd=|oyl>Org0$iFc%GypZ|8ZH26a( z#pbk!ZyVZcar_%m1x_;TxK@0eSDJxP*GQ#EHy!;;jN4#qXNZ0bBPljzX7sY$DLB>o zhCEfBvmB{!UZeNyB)gK`Sq-`0@O5S*w^1Aei3J(XIH^#W;XuTpk^Rgz<03R+p@1D6 zpCqRbPmMyWE5saXQc%5^)=#LW%~| z8L+H81eDF#h^jEEM%PI=nIOZ1U&E8hWYB2Om8>-;(iPU4!r}7Z0Ovozq8D*|6c{8P zzMjqV<=tJ|wWTt$52_Tmfpp)Jy_qh(2eO+2%wV1Xf9GZr-tr=fC(KN3cWM>D z=sc}Zh$2{m4MGj6%>cD&RW5UJD^C0LE^zKWk<~x`xfzy?7cx(0UktJpJigA|;kN~m ziHOA&Xm7zFfwj<~{w+)|L-G zlDB(jEE~i#C}WK-P;!PAP&s@q?r&DPlI}AryS%KGz;$3a#=m$h_gLO{49}w`tXj3X z2ExL?GEZEdxb7KoZ4fT^sL8ojlw}1uW1OfbX;0E$JV|d75BsRONGOYkIEf zx#ljo=0=&9kD60|w*{xhEO5`QJ-7DU+H>p2!mVp_w#b@))B@r!TM7s)6XJ!07ZP4b zcp>41M1NDRFSPQg#nSU z^)4Oh+_2xSukA-67jb@2>b}Vx?^OrKX_n6PVJTg$VS?^@vxcB)lY04lGaZ(fiXGc% zpiT5s8iKL7GTIU9o}?qju=LwBo4h>0CTM^@P0F6T;~eiY2=Vx_AuOML8Oo}eA~x1+ z(M!(i1E<<$zWyx6i(Cv2=Ae}xxO=NqjB7LHpoJ zBqEE(%pna!WP2);j&AF6fu@cu8z%%Z)yEGh7Ev%L**CO(#b;@c<3*O?RP}KR*uyZ6 z72IA&xCHEwD1%8P$GG(+GKo=YadkA+Cgpuq+W{lGIAPiZ={G=eFmV9$073y=;Y5L{ z9|g;Ffh`&rV7UP|nhI_L$&Xc-sy--*P=p7T*qinynuz*zBh|_{2WY4xlHpY3%Xa%{ zR^t6ps#R|D`zn`LWWEUa4+-HD=t%jd#h6%RE=|Oeh_fnlm9wfZ_O0OM3~_lzOy$0*oRc zF)e_~YrN^=ItBhxdkmJHAX5)P<+)0j#}8nIi>vE07fMIr2v##mdCRz;$_!zxn|cJ; zCc?>KbuCSt#G$IZQM+vPZvRoTi{V$nRhBO1FAw+~S;GUP$CxQ5>R64(P_ed1 zk|rZ+{L9I{OrJ+;=B+dtVmEj+rzt=NB+ZzAuWpcAJPp)091g35)vP$-RAVPsEb&8o zby>{L|%D2S$?Ge6r<$XX1#_RnV zmm)y~w$kPic5yfxO~R7%? zV0;b8D1fx*pef@sse)HJ<7)>4y7G`PrJjxT%L1?1ezvzxJT=TRnC}{tJy=A=V~^|N z8EeS53o5f3#}@ZJ`ysaKQK>`LR~Cg5uN$gc3fHC{iMlVy7(D7TPJ-?V#Sm6FEFK0E zKtl;J7C+M;fLtO}Q5eJXXeR8fyW#7wEQnUq^wVMv=7G#fCs7myHp{I5=2MI(4WaOT zU3n;F7}6dl(G*N4JP+Ccyf_}G8Iotb90n(`Opk&j1zSi2*Xb<}sWh+3sN7<{I9~vQ zW+UX~lMz4`lp`^YLwYjG(Hw)V8eCAks61}LnW~J`X@GU&uG$7d{hQaXETNVBR_)Xl z?Bd!SK7Cibi01DZy9NS_;$6x2W%{lHMk*DFf<_Ikx*eDm%!68poSyQnAp>(6`DQod`irC{MAuc>%V#cL|}P*bVR z(xSMISBGduuMU;=?bRXw<~>lP><`~xEt~^m?J!3wNg% z)(LTaXri3>oyeV;?Oo{q5EqkYXqlISlMoVem-e~b}`Zv40`GC!x(x;}b2-_P! z>i2&8D?DG*V4oWol}-V*Yb&=+6{)n{rVeQ$Gln@jz8o6EoH-`w|` zkH%UneOl92s0Z6k{oZefqUSAI6t%VCz##O7oHyj0b9h6}8*<)|^M+iHhFpE72Kx6F zqqi8IX~+w1Rn%VvMAEl{v&y&3AwQ0E-p4E1KH zH$%M{`Vh^~`a}&(z}vgt-c>)|-t}+#H^0O;zX(gY^r=(B+g|Ku^?Qfib1&TX^N%9W zMRxghOB45%m_`X0xF{xGjJ42(RUQX7A{&u4I?vL%$ns@yC2~;nf#1uGP13g@GY*dN zUyxt;*G_892elH=HY~+PudiXKO+67Bl7=)cpLcg0I6MPwVOP_&SjVc2b`-z~y^sQ> zd~$W0W|Nl($s&#qo*p+TSZ;NPcM0kiph2E31mgfrX4D!R696`-`ovZ3VWpw~Fx9%k z`9jV`G7*zi+z1zP=Psz)!Izv+cjZ1(ZXko)n_|rlH1stH%? zV0;Z&C_sfJ>DpSxRpQZKAj5iw>vl( znu@6#6ta!sY-!aMm*E=CdgT!)tWlp=JNxe7M9xbmQt+7#U@h+jtR;!i*AQ>Gb(Y>1b~|4qOPXpdl+j)u5EwbU zcaugFdW*f&Z4CR(u%o)|A?~29)|V#J=xULv?I+@MPNt`pIA))qolnvrN%Lz^q1$4M z+nOO`DUIXw7PWD-4^X1n%iybYS_jMvu+-k~Lj-6=tF{+*WVCd3Q?AFz@etvUfR|%2 zcgfC`w$Zr)!(fIs&&+t^9sWLo{=o4);}Nou_x@y?8LH}>#4 zFIy|aT~KKKF?dw6Q08%lXqkfD=k}2tyRjuOCXJjh{YATJX5;WusuZkbhHLLfY+A% zjbASj{2d;4S2@4m)o$d?Ota`JN=$%A56i9cCkD!9hDOD(*oA$-Q*4W;giL*0$1Kdp*J5Qf-`4QGQy|Lcrd>m zj$*M>KCBlxEaq#u-nU`)N%P&}o*D!8Ef1a^ zD@E#Bj6Vet`b{H_bc|53%IXo0#hnE#X4c+=*v8z_Br;pS`L_7|ng*ywQy$D=IyZ)w z;v^h@FHZ6f&1?rAX{mlrbl+B_KNz%PV_9199y1}Ow&|u}6r(}@1tZ_V2V67=lSMqi zt3w?j5rpw=xRn3v;O%u$4Xx5&^*cvBt z%+qv{ko@4hT(^&X#(;jzewrpiUV#% zbi>j5N7_;cIofd%C|&dLlSrO~l;bjr5_sB<(UXhuHHyH?+3;le!(}jd`SLKh{Co+h zTpjZg_bP{_ZINn#afY))&@R3rH}zLI(orzr;I6~ZhnJgBS}dkOWIv=66D(GaECc}( zEapuVW{;F%8svcr*Dhj5N0$G8LioaOf#PE?!5JFd70t^S@=?s=a4hf-?+He~0Fr*d zDMT)^)@S?^GCgJZWNDf+qflXe5eApCeQUvOV6wp$aseD_c@&HmIbLHZ<>ClqnhX8! z;`=6~G|RQ31)d%s9#t19^E4wR55^OjzT1hE7C1#;Uc7`q5=1ZpQ5nC)?zUJ-ADYF5 z(SG5?QW?QkmTev9c@#%EZA`rwjN?#}gg~}rl%WNj)eN{r@X|Y7LC>_<735xNYEZ9X606xOe&S9tcxnf#e z3$wn`$!aM7Ag;rkD9zBw7=URpiKc`z7}6WE=cEdJGs>IVD8pAQCvY?sAD$-F5pboL zT#>44hT^pJ>7>~qp(@@*WDNZ!85QC9x_(}yfQ-aAozZ9_kMih7`JTiiN*6V)!OZie#<2>^@=b_9UJg$QmoVMl0%(7Dg4?WHHd7L_FuTl&T(BACxpqYiMTK8?~UNUruTjbGv|BdPfwqM+=6{D`I0Nc_TcEG0G5HZS3%{u6<;wIqg!z}3j}w; zGvSz)AQCIcg{rjDtx2;UzDnypdf1$LXoL@qK;lmvkJT0hmVP#lq)^!mhy~Zc09UD_2d5<~Qz>O>jz+4r74+WXWC~0B9Xth_b*t$R8ZWggV7l&J2kF zAxTc}q?(}(@4rhC?_-%V_W}+XE=v2vRWSOaX0Wtvy4qkg#3U6m`6>r%5BV#5@X2pN z=S>1i%}0Lt@``I5qamlI=0lQYCqGYC5gj#$nj-r+O{LjxMWS#}c;SaqhqDXH{t1_H z&k36_)jCNeQg)P1SRuL<8gOOcw;|S5j^6)k?NZ*ozbGwd&5Wlyj-gKe>*v~V+fD3e z)y6mDMZ|+CMx&9a3Ehs27qIp|GH&wWr~(u~6H_t;P=#f41=zeM@7n8%iHXmk9v271 zL~m~1WHq@=aWr~93t{3+hnQ$3h|I*QvbKix)__`LyEOve1^3-0Z&Rvb)#zZDDfMNf zIL(n(3C)dzevqt_s;bIvx-p^7zBC$5gVucp+6+K;w;>!Kaq!Jp<$4y}8}npHE}enw zJ5f0{_a4*tpx=_DUSVW(_RW$^T{ORo7e+R#!d(sfVc4h49xiT}ZAE5j~FfUEFUH-od zybiPNjsSj#@U~&C`P{*=-mwkxM(6*1Ie^jYXKW&%b+6WK~LvvIpR^ z0^m&W3w6Cvn3=+Y;g@mzM_(G%_lypYhoK~*ihN3^LTMJW$j^U}Q-t0&gu8Q`v zD;ku6r(E8f)ht*Exs3(r4q(|HE&IaCdv_XlC>wWtfP0o;kMU$T7JCotsJ~n`z~^K_ zRQh1gdap_oF{iOeCL)XJQt?+4zfulv=`T*sxy>R9XNztAl7*`JfJhcIOfduuiKyxc zV7uAbj<-TFD%))1Eyw0_*(ul$U=z6~l`5&~)6#Vlm3kWz@P51a{iuH5muF!jvBV3# zS{yDT0F4<23H%*KR6sL-uE2@zgp0g^1k_*(aGC^@C<79Rmvrk2w2Z^_7+6_>@_*oE z?Z&`8OCrnxi~g;{Rw|ywLg}x@;waaleeqoNyl3bF1UTrR1U4m1JwD5AwE<(T&QDB8 zvqT-$fotGd^%}|}@|7+nDzv%@$6Z<=(#JogfSuyLz2f~}cAm$1<4zOAX*k(D{)vdO ztv!g|Xvw&*S6?>_xzb-MMakeRkJP96*MUf+_cHFl!j#^*_&|IC()$!!pYG%FDfW2k z-j(NoG4$#UfQ5k_TW7*Yso0Ef<_)mRGbQX%t{mWrnk!wLdmDHv#Fmpf7={n=hNWr~Wv zgBg~!k(%KRT8#SFODp?s)jXnUR1$uS6DM)pP=>kd*15SFHeNKGq>djHl*} zXmj$zk7`sc=CIPokuA^c?=?;82ROm%cXDV@`Ol4(@XBn>UIY$WOL)TgD3oHD_YqeQ zBXB1tGy|Oi_4EmA97t6CHgn`uN=5VTqU5^r5D~#|w(lQB?)v+{1#tqg>Wa4Yu3M8DkgM7+#4*PA}j|N&n)>In&Er50fL#anKcfY8-=LW(GQB zmZPW`_$eM7u@HP1`D-3VRHb2MEGqt-sqzcP4~c9$&2^U55t3wyX0dyMMW$>6V~Lyz zrmxh&dlQAdQ%pPLaOLZ?&C6}GKJsI4;I-z&L{qy;DUr1tomL_Z=!FiZ$0`Wh98Ei5 z6mLrsTveoD?B!He;6r4JT9noeOEP8oWF z!=doPqFN3~^dl-I(YSd+06>%lDHi6qvYtg57bR2)|0oc{;A+@;X{Tu%3zk>Iv)9JN zfyXgy9z*8ci*67*Yh7#lz_@a073Wd;!(?q;gM!68N^^zLb)wiYI{+O{eQz@5OG?~F zF;(y@Qt8icF4Bgw1viTk8ZNF?^>B5kH+wX6x$$Vu^liFcPt*)xM=ugrF(d3brV43oa|w^Bb2VAk=s(dH z@mwzeE2S@Fp3Y4BH7t~=-6mY@fPF-0j;fS4FpKQ;{JQ0&Z5~tkLtprh7Ezo(fdj2U z?JPIyGW!yi=>p`*ZBiTDH0(Ah!Pz3Nn@>$h(d-y8)me*?sgMdMpieYeAa+wmVTiUI z>>;=NYU@NtM3CA93|-Wvn0^SLL*0xMoc z@vjg1Y5=b^$j4KguD}%oK+|lCFx4bgPP0gWK8YxazVYUs-v~WNejEMF7o!+doA()x za3+6P% zfbqen1eq`q3p<*v;#F8kGc;5QM_e0C;DdDkL#Xe#LQ|Iv${WsAaOk$6{6byTZ!$W9 z6KsY-bfca=8}Ye{So%mNsmb7^yx)D3@*BeeQJ;-(0B7v`|EVb2)uy_}!RTu8Yb znEhzr#L*{CZ8h1>4m5FFS8It};x*Y=$)xv9OK+m`@*tMsQlfP%hS7IMADa>V)2f_}^iPZb5X<1+m%5sUW2;RLY; zo-;C^7{q2w0rRhEUn-ZJ0sdPs91eruT{~^6%~(Xs)Dd7FML=2R5#J`ZmMqd@%> zS}>}1CA}NZWQ)R|jBsz699_X36LA9uP~}@?z!aWBnF2?dFS2>cu{|trwAyH{?8@c5 z%42GlU{&_wP}-X0SDlO_sjms^1?p?7?gWmticH(f&T2fh-lJjjg|1VyR>8V$Txp^@ z98eEafML#-;_AGGXje2c|C8^{J>gW^7E$VGnqh{KN$$WW7QyZFz z$!;cD-P4JtG~+8Y73wUA9jRiSqyUoVpdfycWf*eL^}}Vo_@pXs`eJ;nRN8!aCQlM# z%-mK1|8L-O5cZ9Hw&$Il>_-m&ypG4Z-^jTEHm-J_R~+H zNcfUTGi+6;raqfeAGE^2^-rn%NTC`_nT{h0W1DM-=vR_mwQQM~uh~}w=fS;=;$?k8 z<){Kc7tv_NMlW!KQ9>HBR4OvAAr7hMDpeVzIn)W^0^k`Ci^5^YarLFbbTV)PIcF4a zQt&I5Jsjh0ntg)bSM0lBU|177&eQEb@5XehgLYy*vnKuiu`Y(ygmhMq^}7qbQanBkrdfYm$<@UF0v;%h4uug zdRu!lF-bsLY($zfMqEcDhKoG{6Pt@pSJPdi^oZ9XfuxDPQ;&3i(~yGF;IFCf0IKn_ z2w4N2X(SnyT!T}@>XB(wWwxlAxHkH33xE&bC-hB$MHDy|p&jp#o*K|733-94uB(bI z3HU^I9#mA_1>om9@j1W1whuYj#;x&4cLFW#L61V>-D-==1q#`96BdsJSEOAM`Xx#w zO6m$hs0;j|?1!UamCeRdWVKocU{LcPdJLRifBLN{a59mVK#%(68eMi_tS9xgwDz>S zEnQ?wz=oefnOC;(JQK*d@XS4VjOW&m}Waor&5ONCRFd-owP^L%b z>V>sTo?;WramLq*h_8xBR~<(g$;5=F-ttZpl~VOTCpj2%pvepMxpmJhqyFYdQQF5? z1VDzeNdc}nmr71M>P}^ZP33 z{enCbEdMcHNJi7|`D|D(DxZp)uX-5Nm;xwCw_#ice6fKXx!<-DMKys|==y$cbPHCh z!G34G*Hw_ETE~Brr8>GQa2eIsO?wy8PC~+L6zVe)aE0C~;H_qv6#QW;R9y7iD*0W0 z8B{Qiy_%RR;C&pH0|HdNwQZsjIVc3Hiq)FLjQw_`cdZULg^Y2yjKKRv?A|j#3MKeh zJykI7u3F{z-y%zkU`iF62OqhuXps%XdH_WX*5Wh!0-A2d(Kg12;Xz1K)Dz}-89`Ra zn&uyTNPYK#*&;LPq%Iwsg2Kxo61oj+Inb&+I2AuhlP3r-3aC=}K>D32oI%YEh?S{q z39H(6?G_n_lOl|ZsH($~(atH5{estO=i3UVMGb5&eT{*pyj|UDcS*6R=pmeEX!XQP z)i|o6BGL0!Np5^YH3dH6KbHFLpm+fAihR7C9d{B;BAG{^ZP^?~4yKuE1=zSR+Bzq`qk$y_ zopCX?GJ%o0U}+d$byW>uQDIv-XZx{EM&XHQZO5Q>r<8;$zp5nB9@QyJ%>*M(qt8Ox z5n(E*MISgJFq|SbGz=Y)9%SH|by29IE1jfgOV}n<_>_qY0NDFPoWgS0_#yQQKk93Y zPQ4w=Hgc(-cY&2ele)uM9L*vf*j~$4TGJR5eGjGqI2=NT&bpkq2O5y=x_oX0x_1aE zxe9Xk8;q3(o~r>`w%=#r=V-Q=ZP1x>BZ$9C-zu-J1#&C-rFPr)6ZzTeJsR1JpwMaZ z0PXmIR&``HoA}2+3HH+{nIHo$DbE8HMsb^^plue=ww_Vao$p)9r(|_Y-rdQt@l3vY zv#6b*deLKx0<06=>7r~vs1T9@2nDEi1p_P7;Ul|kC;Nnl&QiUh%geAFf@tD$?hrnI zPZU!rP=)?)cMS11l(r_gtBswevr&}5X*)8SRAQB#+4Ng&gx|}2sXIVQmiH}X1?#5l zk<G{9QK4GrJBV zGg2z+p^xB%z;7VU^#ceuqFk|9bj?z|$E?&xv1BLk8h1w!x;s?CBI-h|4K@|;cL*Zs zLwdbS-=jrR7RQzxt9gLP_rparj8WDPWqxo#_)Pw69p`I2&DJ^N9J5mR^y!+WfD?sw zRE$bA3$id$IIElM>VwgcCLFaC#wz>@MTGJ?^i0BfiJ&rqqGIvQ zc1xzWq>2=S_rBubdL7*sCF6K8p=R8w8=*Y1TcvA9q^%H=H`^p`iW|Ju=JfnbxgkTk z$;Lp5lCro_)M}AkNown@E@P4l?Ixmn6R`Ge3A7C9s+j5oZjO*B#F+sG>(c5hdIN_G z)_p*yAeD2f+c0i>74kO`&+!&bw?StWJERmwEMqptd#wBx#rjMqdC6W0M=yB8;x8D1 zLCd6-_o{K2m7OlfaWw8yGCPp!U8Q+p*Kv$Y?A0-^*T-kr_VQ2XYY9z8hB1;V$5kR? zt{0isuSZHa*3V5&9T#{^ZFJOV38VTk*&LbvUB|7pS`oTKYT3L6=UKOTZ8y8h3)!El%NT_># z6|*kwtk?=3KU{=$udoD9b^WWWNgy3#B5**PsPDXv|0-s$g#V7$8h;#lWwezRwH7La zoFyM|(Sv74!SiSE4}Ajl1WYm+-H7IFU-~grIt}A`hv^oO>g{t@gDw z_nWHqG%@j}+5~UN$EJhL8We=q?c29N6ea+?v)=z9RA-{wsd76qyJ$cmZuKoFS8)vn z@6l8sCZcXW8Z$nnwr_?l-23#sZAZZhSU>SLn`C&=o&Iif4)n?+Yht@}UpOQ5nwXafBhQ2=BCaTImGE`mU03}b-EOD5L5-zyYc2%znc5k2Mbk0E zn)_biJNT+=v5$l!Fw&_iwTf4_N1VnWmiiV!gfarT0cV)xI%c#|!6_JsAsiUxYhaEI zJQI?WgCdlB_X1p`95A_2$QzDVVq1N$?tNmyf?7u!6w51P3m2~L8&%FhTw%fD)+un9 zdxgGf^&XRNluTp3!6ql9j)Y*c=28{arDMHM#Hw_jb1kYMU2yIW;7W*@H6XLF3N3Z8 zp&>c{EAQWxbRr#P4Oi9I#xe%>U1#;`RbBY;4XLT&pzf&nlHY1|;i{3o;!3vhjssHj%H&$8spN# z80&m2Iqp;Sz(V!_N>h?@6t0!dsIQbK6TY{sgJ{LQ>`9D;5}XQ-@lH}v1FU;pxwuvf z%FX??%WY13)o&MPNj@V}H_1R&UFvLqb6UHOFLq<96j|5gDOM%R?d0v1x9>%0Ypr)k zrTC~SjK3DXR&oKy;oE>7qVA;zY`>O9AAiF|9&daN4r1aZRe#pU)}9vXgu7}}4Hetn zH;zVc=S^rcdWP)LK(S7W$wbvE3XxB_8m^qZiX>upd7d1qZoUbsie1WI$HK6H}(-@Gj}5HM!KZnvaxUUoO08 z+xx@d!esuZvnVGu5~JO<)(8fP$TD3rK@qW9>go>Ro^aJqo%~9%H3t`|Eoql{<@3gPH|vV;=!h$minVupE4yKw8$?q3?U6@N)-+gUY-YB7Phc+#B^i z9IE+((DY<7xob2{R8nj>*~ol?*IJ-wsIC@hsvTma*~-JkMMMGZ7{J~9jgyswKfDYE zSlN#v1%CVeZt+qD&hH5|xq1C2*vW6UKu~`04snzxe7I<;Fv5kYPxgtaS_i#jBiZ!B zGICx!6^A)6-w-!})>Om+*I1C;bO_sgCa9ku$b2yxp=WZVi14|w3G~TS8noi@8(0|C z)w?W?BZo;bcdTMyN`vZN!S?NEJ-VaO5@|_YXWaCNt3}&aw5qN*ep4*;#rT-QjIb40 z4PTa~zbL{Hk)jCwD{kH@&5?=2)^5AHy1M@c%cq64aCPf*8{8mIxEa!WEg3@)oJ_f; zgg{u7#zUB}yue#fy8Vo#TwrZnO*}{#KoVIbZs4Pf-`bHVnz8cPNOMWj8d?Qdf*XC! z#Z1w({2JFE6?~wbiVE?W8f1d)NPYKXH-eJ8A zSSJLI0!Q9alOX6*64Y3KZL+qapc!nPgh4aE$6${#5n=sLnS;Sm2`hGt3h%yyBjfkb z7*VB7xR!XG0l7}!h^arVUH6|>$f@0id7Q+tLWZby;HOjAAQH{ZNVc8Yk2(*dMOj_) zz}K^`vIp1KuTsxJTjiDx$g)L( z{^08Cth+aN=xJBhQ>h@HsqO-@!qvx!Dyx;B;HD)MvaJj6V^C^hh0j#SFg&i{BSqs~ zf%rnvqnaLz=pc00I~a-L>J+qX#ooaS(P>$w_iBc`QOl;5W|bY$^15VCaa?kv0aT9_ceEqAC?m5j4DW_biy&@oyVwPw zogwH{Gn!usB?eJj8WibDMi0mAw%42X< zLZWk5bPd|Y7)>wyy*}!6XWIHUT&C!3(q5F^CAZlbv*{c>*MZfP#-Kho%vUPSZ!lp) z#l9BSu(DV3Ft<=q_|tN$Sv|21nO^`??rVSf)= z>OOP~kG}U5eRsje_edUJws5GZKAz}2(Rrd0Z}L=m4X-f+;MOO4(vN9f`s1YA`x! zB|12;=-^?h@sHB+_n?)H-FW97unKb@^p~D1Ky^@Bitz6cW6r~s`uklw+&X3lSyOCN zm*y*}vDH;}#j6)<)r$&FQFe|7b(B9cT|)1V{(2@);}pBsHfQ>k6br1D)u3DGq3&Gn zZ^w)J@ZfdfNv&k@uI1>avVO~4_`BeDUM$}q&zz?VPZy7fF1ED^SCYfgJvQrhXm&k5 zLfKQ8VP9I%gGToIDjz&Cd8yNrHsE@ylhn;^Ti0a0_O8#~-O|6O z&gIeh^{76`1}?qx^)9`}GQ>Of>^TXvcZc0-LcJGqZ7VkLWkl4tab>3-Esr>l9&xr0 zvRZ{P4QlpQ@lji93_FUF+KVFMbq@Nu|2hXXplnn-)`cbo7@cGWQx%TF_%>WhVwOBs zXsR}H6|B3DPgINddAi}^htTt^{BfU>b7fO(_V+uEkJPNrf2$g zew|9k8t>HUu3+(*T&sQ`#4#2lInJUHACNw_$EI@WO=={3pD1mKd&aC*ypS{+oIPfo zKfDaia!|rfk|plmZmYukzjMvWNzgs`fw~a(y$~szvyCs9^Y`rp@>ugFVa=90?Mh_n zU#H#TsQ0LF?kQwujaYe@7;ul7i8pC_M%A5K;~sB4-foSzt$TKEW{q~cjXt4(ukYI@Hs^CtT4**I@Q=l4R&Y{f;sY>}`_ zGu`9QmxDh&s=ZFM>0kBT?$EzHyM4XTdAPW6zZs0Tg!)I?J2T=v273(N27}+F?_p8d zDXgz;Ytu3|;@eRKTxw6KzDnwgM~T#!_)9Bd&V=@LLiIN(U z&@&e8JUzBLHM0p{eI{~Zvml*3DYpsFwe0OEetRb^nX@WD2JWBL6oZ9HCsDwkSoamSrf3R439ks z>(+izi}baI_Gvns1C}TG+jJu0;n}-12Wr;2Xs6VJc`~eg#(nqYs`)t*w>0;f2Hi{_ zpV9a6xw;9XcICuw#xMd@`wWniw(@KYe*!D?SLYMpGjTbTpiK}o& zp{@+ZaVTYN^a#6e-T=UuWm>J7BYY>#0MX{y(-SZQkxnEO)|z4p=Qu~XKuxvr&-jAO z!(41|gm`4tV|-6V|L`x(=ZNnY%i;m}y$|}^fgWFVA#dTjd-^mu#j1jZ)3TW3n#5)x zMJ%{JFMvQ*=5>su+JwIYOd6OmhUfIMn9xewt%q>cV!P_BP1(QVoF`#kr_;bdSz*0u zM}Mxjq0#;iHrmtr46+Bm@fS9j2M4qC*8{BR`0OzFz1>#cA@-JFO1M;9_|Oj7DSRuq z?|7&Hjy4|7y8_f{-UZtBtK7_8?Wo~>x zc9JKS)G#vIb}qwfPcTo|?aS_36~xC{B;EdCqiOMBs87A(XXC#g_t zouH;$9b3^e2!&)4W)lzt$M!J;u^iWAMU$x5T-euT{o5riqmc0|#*czgn!=~AzpW4B zB<$_!`ZZalyKTPeX=}NA^krObrjrQN5Jkw$7m77`4bf5 zwxGpDp5-WD$P{1|a+xl&AiYfrFvj$Ph`p7iANi)4Yf+wr*nGWXixyw~Gsxfre5*^>6)HDz?FoJzx zJOj$T2^NW;MTvkj6y$RXv8xBH3l6Y6mgNnKiu((N1k!{$NRcn*LpBE+&S)mk7>nc# zS2A5-`4;gx7m18Uu^0xM?==&o`sBAMR=@{E2u{MF>G!l|#LfueufBDh5I&YI5_BBu zr>Z9sM>40nF)t5Buzr!(s3-!muYQN1K0d81;Kft=y7K5mVB7?2NPkynB?0(yx-4%a z6TdE^Ot9Xkb-l`-w1+BqC&Wb8qc^0S(kxU&2QXPgH{|k8mXp)N{8Q*QC8g2sRiW&+elzM>qthg!Y98%aQtVmYoUS{#L|Gr^BdoT_>vj>%DB zPpkfd;5Ukk`u(rAvA7BA1WO`7ogO*t5-`cK;#P}Y zC-BU_z+f{H$>wt9@yzVRq~Xcv3fLB$!moPWxEy8Z>5180sG{}C<1rs(jGN%ihhq9Q z@oO{V|G&L&ZEo907X5tx1is0U85X zW^(i2Z$D-RgBJ;c07c2j2SBG1@qEyL9fV%qWBsFEeDi7AR6jmIJP7dI2(s4+-WnI<+)Pb>@CFi#8TS6%ag7KxSxASxT7pI_m@h zZHdL28F+M*#R0Qz8%>?5Tk(X7P;!;pvN01pLbPaNxBRRev=lzlRsfc6j9r<;=@fa% zh?GuL5QHmz(p1T|WQYJV#l_>VF)68f!c3!D!MGed|D|Se0~tAB%lTdfW+hy7(m6mt zx?vb$lE|SGi0~%4U0PmGrE|vALWfx`ZiBdI;nd*;pVH8?3=&19-;e=4j!aEa%;ljvg;M);U@*K%a&!7%+sGC0BX%2}(TIdm#C<2QuVzwnd0q;jNqT3*-ocUoYNQ5bEun=}ajS!K6Z;wPm zauqEC*t}aOZV?)cIONfNdZ1tW?VT01Z0z492k$XCc#rSbQ(fAmDPA<}a`RobOFHer zbq~8a1H%PaWWzQ5ocMvCES(vDrQ|b^Au=kW#*lTaOam#iR>`Uhz6)fHx@#^2wB+Xn zP0^2)V-QtX_UknvV|re#)_^)}mZ%n`Yzy|#f!dwMoUDstY(ypp{$AFG_4>*l_$X^o zjmqMIKXW{PMhORrPR3lJXjZhje!(d>IGS>kqFqu@p)BJ_WJjfsCW;TOi-(-XOEGYF zdRsm$Rr(y*ECpah;wL^Prl71B9;R;vZTK2BzH~-u7y$h`psmKS?|FhUozOP`E2J?`>glYH$KtF*afJZq3Xl6dGR@U{6)mb%lmy~y~#go`Y2Q?7c9p)_PfdIrR z9ireoQ+{kTS<)n$qXJ7VB1R}2&qp>uN5VRwTMd29fsTqv5p{~8Mx;#NQ$rl&Nac!F zuv*ij;i3qJn&r-o6v(qEs?^l*qlp_=fArjq8)%rI+JzB^I}%RORyo|L?H?TK3q5RS zmp%nu=}vsb+=`NNTvCoK-iYy*JGWRK6n3iA+8HK<%*HRG@?BQgnR;o0FHOdm!mD_# zv?z1oSG#|Z#*4Wzh4m=#soD!c08lFre4;$Di^#{MAlM{Bedo73!z*CdFkC>}Yrdv9Gg$vkQ zGUmuqc63OR>M{eXId?(>%Yt?jx*Xdap|FhqwRRn^-(2U`vS!9pH^5+JBFdD$ey%oq zu46N+cHNHW5Ue_Ejz%t=f=Jyr_SzVzDKNme^~Fmiyqcz40)m`W4LwhL+MuCW^0& zw2H^>DP+v*MNZf)sGd4hfk?A^Jw+2;KC8gQA&Ez~V2SJbY&T3&-F;Lj)wd$iEIwU# zB?War~zw zUUGfz%BD%9|FFWJ6BpG|9{!^rbMzhQ8C~t_s;~Cwu=p+`yoyqjM*`@H@I#3e6Rz;a zj&iz?ql;h}xZ%xR6nki32eA5z6w6M)qbB|Z<$OaBU8xW?V?dF}NIPRK0uep0NDxR0 zL>HRyaAwy?G*2zFp#QzUC6|zBN&-XxuotNbp+o?cgX0yH5HD>^?c5i@A5106&mhLm z%@~2YpleYXso8l>4A5#2_5(BgxoJ4Ya0#Y-+Ax`2cNlTegf}lx1MU$Q-?oUO-e-$?I#>iN-RdQeWmgxRMK+ z(!Q!P<7$+NQio4aAt(bl(lu{t+iNmG%4a9Ex5`~`jy$?l`PCYis(%wkF&2P`E12<~ zx+<*@GWisROjfGjRUWyPy7V@9d(iTJ=e;4aveea7MFy#raw`O5CFbaSchW+(3u;~K zOBBSdl9+ni&U}@ZF~M{U&Stk)!fUHakF8j(%H`Bq)o#KU^0iH({39$xEAw~V#UeoM zggl4nWn|rJM4EZ#S!tS_v;}9#RjtJIunn>t zf9LYBTPaXs=7&>vcnONd$~*QkQwohAPJ`4_HMt5rTVIn=o;kzAty@TIEkli{J66^J z5$!UZuiW{>bFFJ3>LzkE^s+@{qV1ZQKpWm^oyTWy1)U;0CIUV<#2f~ike`+eqmi>- zqk3@G5*=lSO4_*&-^g5kXF+FESr{9}BRf|oaxqLTnDj!M3;j1bWuiiDv{i}KgxBH- z8EZBzFpF%qoFjs_UEvQaJ?KpjDj$B&)~y$OROS{9D$>3Qg+q!|Y;p=*PcL8H>85(Q ziMlY}Nio{9qC2$>xCa<-0OJqkZ%5bx~s>WKOPED z7V0_bHyan@Iwu=dmMnHoIpk3(`vZ22ml`Ts5anw`)dfpY}{#Ol5c|?o80C}IJr|@UO{{k(-h6I8@zv4G`|dp z+Q=2gHhndTv2MeAfhzt^-S2!Q4D|&-Odf2QVnEM5@zIN>)f0HtcMRFYB*T5CGeb>@ ziTpsu>7x^T;8XWK+8Za;=T=%yL&B+sXAd_Eo043XRpP4r7^~$7M*C5f;=D<+#7fsi zuu-^)dgBlY7Ve0}jT?J>-)2UIl*v5X{$^K1wLmZ?ABrrY2a^D_az(X8N((A`eTeG0 zeEl6>URA{o$~96ZLep8f076q2m#(+1bW^4CnPdUynkxkaODCH9Nx~@YC+dzC<}-*m zwp&kF6;oFzxOKX5UgvD2ALF~sepG!}QrivCsg_#<-B_%*cV#Zosc@3@4J2|7F4j$& zn3eS@D$b&0(03e=d_Y<+4YW88KQu0sB*=dIaWEE&IwBbQ;~e(Ia4^>D|wDOW2ramkR#)Ka0ep^VdQ&9OFUD7kqz$#RsU zrnjWtFT2rdFDwyG81ER-6IP;;)Y!u`pK9n=ReqEWdP}ZuB6)N)9*;{OG-x7;M~Z(q zm#S}MO)l0vvxku6t(K8Q`dQaVJV3&%cs%{|4r1 zJ$#JJv%B_a1518bEP3PR&D$xg`LWcwa9u^TCpd58)~<3`XpA>#xn_$4qc%vew~Tt5 z$=Hj9kS%qDtYW$q?I9aVke%`A7QI8M0Yi({p>3t&AWF6uB|FpeyA&)OW*IC8`fm_O zgFqStQl|o`9}{a3bBw@O;sf2H-8l05lL!`qlcyw)K^>QJSEzNNbqv=rB6N3Ww!Cm1 z;^F7Jk4Rkd-dzn3LI#G!2)GRVjsQap*d-K>TSGy&?c1c++FNF;vH%56XCN@_2nu`{ z@a4*pDj$N2E~9Mm9Ti&Nb(lU2ZGABB=b4$+n~Y&+dP;3?}u3$E1@Y!crgW#*cAsK zB3x>i#3KRD*1TeXM+FagKtN%e>aBMBphei!o^qTMFp$}d{dyJ);kcf=Kwp%}&rIlE z4SCq!nK{nGS@h3;y>r|+c9-0T68?-co2MP_jLlkKpynW>G@fpNq}+7jAT;pyvPacF!y9-*B-8F{QdMon{B+@lfV0i(_9;b*6Z2dw zJ?9jL%5L^icSC*Qpy~bcZ8miZbe6_VtI#>l8*`JIwv)!H=K)gaSJFA<2S1;yaWij+ z>he$=&m1(KE?y|H`U+{BaH?>kXSkejY22(Vr`H%nuV5z8dH z7#+{L6fZfTv+MbU4DNI)_&ziyCi3k&D|`6FY+_N5i^xGofKWXodZqX zbvwmwXUTK%a=u8KUPWsRH{$;28AJCeHYg4qf%B+WceO{=mJD6wud!b#{oXl_s2)&X zx{FAD_uDtW^AFUSJEX!8cwO&X=Om;Wnf}yIxCLiSE=#U!hqbKHkO(jQSf7#d-F96@4i*ro?U7x}! zT{r+fW(rIc9_X7*tAeVUvar|pKm6qOg}~Ht4n;N>w~hDBlUl?^@`)l@dS-Qz zr}zDb3FwF{N{IuUMe#3@-#J%?i5Rarw3Y8~j2&Gt^|TaYq)p5 z@yaSC*~zQ!LkI(Jw?|(BL4Sna90rCB>>LQMqvR|~!_G1PBx_k>SK!cheDZB+r3qlp za4i+r#`=Z`(1E*Doc~9HZ=tMJ76rn6r&?@djo~X$UGN`uK`lhK43V-<_ zjgs&568SeRW?1!@qHjW~7f}kSmkv(9IK(^P{OeUZ(a(Q*K7Rf3`p|G|)j`cDbws5y zBYK!injkgGK5PZek=flIknvxf0&7Vwd^zt!wJsmbmA(LLx|;*I5YG+B4&cXStAv$hJ6MT62cTge-WM?M8ICzHeDnKiINmeNGLCT1K(kUgN+#ec_*HzTZMz+T z677*6MS?Ia!mb{88|dh`b=YO>i;wwobeXCWv7dy1fK*HwHQJKJ?@3|7I_^o~QZ%wt zZ26{cf?D+pYRetI4FnrXlE*c5$zZwYgwbqO%R*+p-#TzEg^@0W0<}&~j77F+)8rjg zw2yA=lh074(wx4!9ARf=?o!X2&+ZcIC1524;`_d88J?9TQWyMX3Zka0t@MQ{$~(GV zI^U~gR;yegn8PUidW~?#csKP4e{d4|72x#+z5A038fHiq815V0PyHRyH5Fyac$wOI zfK;ZIj;Vg2a8Kaaw8Dub?C!wtgn3fW{SXFxqx@`r>fQ(o@ga2skco^yKm4E&$sm}1 z0JQzfbM8f}3XT~L#=HdnqQrq~dOQ2!LhJPEy%Kt}nIwPTUn$Z^pOOkNBzh1Kvl z#h5;%B3_!zXI)0e6tHl94zo|P=iichrT-JWAOh<1{!h&^ic&mpAnkIyzi@A* z9!*3*J8Y98t>Q5z={IK~>NZaYs!T7HpwpNJqIiN$jHk(cVv2IapBNAKnd=9_dqKU# zvpru5ySQHunopF1nT;^>P(aN6P!~3eV+smkS1&3~rJJf7MTEOvDfOF3GfLdxkUhG7 zXdP0L)hDS^P)JHnX(5!XtwWY>=%gX6BDx7_^~ABWV8jT1#_I?86Y$KKstk`D3Ql+; zq+e7Ko_PfP9mCZqUY$vbu`LIWMypxazAR2y(@9zF651ON?>UKZ=e_GMEDym#z{p(Z zfgfH3A~u`=^%kaMr(UCd^9kk==kjej3H)jISbUMW&vA3uH;HCq2N6eoRUW`g>amq6 zWy)n#xFwTS@v%zyz|iHUxBVjpZmlPzcujrD5^g#+&jXR&uy>>(B9EfZR1Q(9j>BaJ z(!x|uGw$4j-=6kwXIsKY;)<>#cCzr*pJQT)rsCK5x9DqdeYo z_fz&t??_|cqcXRBx<(c4&$ccL=}0HJ1WZZbvOwGc2D}!Zl>JpSzWOjTLYPh4SMDrP zjXBBcqPlxUlPmmMX>cPTH8;S^lh}2ZG`k9_(sfjO#+%oX6*NQlLN8G>;K`+W^+q`& zrriHN&$D{3Z}r{99`_)LXn;u%R!gy!rybJ7Mj)tpCd4Mx z)n>c`jX_W#e}43BQM=d;EZ&6O2f`b}1Jh(PP=uHWW!+`oIY2I=d%+DdSWvatAJjld z+!JOHH1ddXZ-96%k~<+n&>wCILtq)8|5vfEQGFuZ{SP!;N)cg)%M=jy)3>nORPx*FZ?U#0k)TOp=cNY;@87ufe! z(Cr-@w+oDN!G<}Ie0Qt)7^rdP$8d)~jXr7ZiZ>phz}Y<&N= z?~SReBR`6yuVhj^McIR`NcV>8x$kJFSNFJ6xvQPBV_3V1`q}NZ&Zf!l(xfQZ{%KrC zRRF2`dwH{+@+p{aulSU8DdJLmNd35b?@z`7LG=dp@-a}fXrT|gA{3ycY#OpINTE`SZKne`Jx}LX-2z73Umtr3EV#L*LGNuW4xzDV) zR_~k4F0pc;XqVf(BI&VwH*hrmHqOB5dFc zObT4N6w=a>Ec!VC**8`9&U*&R&!JGpKBr&Q@wx3op4X8s&1$-TVb+i)h=N`_a p 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 Am;e9( diff --git a/src/packages/Moq.4.16.1/lib/net45/Moq.xml b/src/packages/Moq.4.16.1/lib/net45/Moq.xml deleted file mode 100644 index 4370de0..0000000 --- a/src/packages/Moq.4.16.1/lib/net45/Moq.xml +++ /dev/null @@ -1,7815 +0,0 @@ - - - - Moq - - - -

- is a kind of that works by - applying a delegate to a light-weight proxy that records the invocation - happening to it, and auto-generates the same kind of recording proxy for its return value. - That way, a chain of invocation records is generated from which a LINQ expression tree can be - reconstructed. - - - - - Recursively gets the result of (i.e. "unwraps") completed awaitables - until a value is found that isn't a successfully completed awaitable. - - - As an example, given := Task.FromResult(Task.FromResult(42)), - this method will return 42. - - The (possibly awaitable) object to be "unwrapped". - - - - Abstract base class that facilitates type-safe implementation of - for awaitables that do not produce a result when awaited. - - - - - Abstract base class that facilitates type-safe implementation of - for awaitables that produce a result when awaited. - - - - - Allows to create parameter captures in setup expressions. - - - - - Creates a parameter capture that will store values in a collection. - - The captured object type - The collection that will store captured parameter values - - Arrange code: - - var parameters = new List{string}(); - mock.Setup(x => x.DoSomething(Capture.In(parameters))); - - Assert code: - - Assert.Equal("Hello!", parameters.Single()); - - - - - - Creates a parameter capture that will store specific values in a collection. - - The captured object type - The collection that will store captured parameter values - A predicate used to filter captured parameters - - Arrange code: - - var parameters = new List{string}(); - mock.Setup(x => x.DoSomething(Capture.In(parameters, p => p.StartsWith("W")))); - - Assert code: - - Assert.Equal("Hello!", parameters.Single()); - - - - - - Creates a parameter capture using specified . - - The captured object type - - Arrange code: - - var capturedValue = string.Empty; - var match = new CaptureMatch{string}(x => capturedValue = x); - mock.Setup(x => x.DoSomething(Capture.With(match))); - - Assert code: - - Assert.Equal("Hello!", capturedValue); - - - - - - Allows creation custom matchers that can be used on setups to capture parameter values. - - - - - - Initializes an instance of the capture match. - - An action to run on captured value - - - - Initializes an instance of the capture match. - - An action to run on captured value - A predicate used to filter captured parameters - - - - Determines the way default values are generated - calculated for loose mocks. - - - - - Default behavior, which generates empty values for - value types (i.e. default(int)), empty array and - enumerables, and nulls for all other reference types. - - - - - Whenever the default value generated by - is null, replaces this value with a mock (if the type - can be mocked). - - - For sealed classes, a null value will be generated. - - - - - - All default value generation strategies other than or - are represented by this enumeration value. - - - Do not set (nor ) to this value. - If you want to set up a custom default value generation strategy, set - or instead. - - - - - - - - is the abstract base class for default value providers. - These are responsible for producing e. g. return values when mock methods or properties get invoked unexpectedly. - In other words, whenever there is no setup that would determine the return value for a particular invocation, - Moq asks the mock's default value provider to produce a return value. - - - - - Gets the corresponding to ; - that is, a default value provider returning "empty" values e. g. for collection types. - - - - - Gets the corresponding to ; - that is, a default value provider returning mocked objects or "empty" values for unmockable types. - - - - - Initializes a new instance of the class. - - - - - Gets the enumeration value that corresponds to this default value provider. - Must be overridden by Moq's internal providers that have their own corresponding . - - - - - Produces a default value of the specified type. - Must be overridden in derived classes. - - The of the requested default value. - The on which an unexpected invocation has occurred. - - Implementations may assume that all parameters have valid, non-, non- values. - - - - - - Produces a default argument value for the specified method parameter. - May be overridden in derived classes. - - - By default, this method will delegate to . - - - The describing the method parameter for which a default argument value should be produced. - The on which an unexpected invocation has occurred. - - Implementations may assume that all parameters have valid, non-, non- values. - - - - - - Produces a default return value for the specified method. - May be overridden in derived classes. - - - By default, this method will delegate to . - - - The describing the method for which a default return value should be produced. - The on which an unexpected invocation has occurred. - - Implementations may assume that all parameters have valid, non-, non- values. - - - - - A that returns an empty default value - for invocations that do not have setups or return values, with loose mocks. - This is the default behavior for a mock. - - - - - Provides partial evaluation of subtrees, whenever they can be evaluated locally. - - Matt Warren: http://blogs.msdn.com/mattwar - Documented by InSTEDD: http://www.instedd.org - - - - Performs evaluation and replacement of independent sub-trees - - The root of the expression tree. - A function that decides whether a given expression - node can be part of the local function. - A new tree with sub-trees evaluated and replaced. - - - - Performs evaluation and replacement of independent sub-trees - - The root of the expression tree. - A new tree with sub-trees evaluated and replaced. - - - - Evaluates and replaces sub-trees when first candidate is reached (top-down) - - - - - Performs bottom-up analysis to determine which nodes can possibly - be part of an evaluated sub-tree. - - - - - An compiles LINQ expression trees () to delegates. - Whenever Moq needs to compile an expression tree, it uses the instance set up by . - - - - - The default instance, which simply delegates to the framework's . - - - - - Gets or sets the instance that Moq uses to compile (LINQ expression trees). - Defaults to . - - - - - Initializes a new instance of the class. - - - - - Compiles the specified LINQ expression tree. - - The LINQ expression tree that should be compiled. - - - - Compiles the specified LINQ expression tree. - - The type of delegate to which the expression will be compiled. - The LINQ expression tree that should be compiled. - - - - Wraps this in a node if needed. - - The which should be wrapped. - The with which to make the compatible. - - LINQ expression trees generally enforce type compatibility rules that are stricter than - the assignment-compatibility used by e.g. . For - example, while is assignable-to , you - will need a conversion in a LINQ expression tree to model the value-type boxing operation. - - - - - Checks whether the given expression can be split by . - - - - - Splits an expression such as `m => m.A.B(x).C[y] = z` into a chain of parts - that can be set up one at a time: - - `m => m.A`, - `... => ....B(x)`, - `... => ....C`, - `... => ...[y] = z`. - - - The split points are chosen such that each part has exactly one associated - and optionally some argument expressions. - - - - It was not possible to completely split up the expression. - - - - - Converts the body of the lambda expression into the referenced by it. - - - - - Checks whether the body of the lambda expression is a property access. - - - - - Checks whether the body of the lambda expression is a indexer access. - - - - - TODO: remove this code when https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=331583 - is fixed. - - - - - Applies the specified to this expression tree. - - The to which should be applied. - The that should be applied to . - - - - A reconstructs LINQ expression trees () - from delegates. It is the counterpart to . - - - - - Reconstructs a from the given delegate. - - The delegate for which to reconstruct a LINQ expression tree. - Arguments to pass to a parameterized constructor of . (Optional.) - - - - Extracts the arguments from a lambda expression that calls a constructor. - - The constructor expression. - Extracted argument values. - - - - Evaluates variables that have been closed over by a lambda function. - - - - - Replaces nodes for property or indexer accessor methods - with equivalent nodes. - - - - In the case of getter accessors such as `x.get_Property()`, the result will be - a single node: `x.Property`. - - - In the case of setter accessors such as `x.set_Property(y)`, the result will be - a combination of and : - `x.Property = y`. - - - - - - - - Gets the default value for the specified type. This is the Reflection counterpart of C#'s operator. - - - - - Gets the least-derived in the given type that provides - the implementation for the given . - - - - - Gets whether the given is a delegate type. - - - - - Visits all constituent parts of , replacing all type matchers - that match the type argument at the corresponding position in . - - The type to be matched. May be, or contain, type matchers. - The type argument to match against . - - - - Ensures the given is not null. - Throws otherwise. - - - - - Ensures the given string is not null or empty. - Throws in the first case, or - in the latter. - - - - - Provides information about an invocation of a mock object. - - - - - Gets the method of the invocation. - - - - - Gets the arguments of the invocation. - - - - - Gets the setup that matched this invocation (or if there was no matching setup). - - - - - Gets whether this invocation was successfully verified by any of the various `Verify` methods. - - - - - The value being returned for a non-void method if no exception was thrown. - - - - - Optional exception if the method invocation results in an exception being thrown. - - - - - A list of invocations which have been performed on a mock. - - - - - Resets all invocations recorded for this mock. - - - - - Covariant interface for such that casts between IMock<Employee> to IMock<Person> - are possible. Only covers the covariant members of . - - - - - Exposes the mocked object instance. - - - - - Behavior of the mock, according to the value set in the constructor. - - - - - Whether the base member virtual implementation will be called for mocked classes if no setup is matched. - Defaults to . - - - - - Specifies the behavior to use when returning default values for unexpected invocations on loose mocks. - - - - - Implemented by all generated mock object instances. - - - - - Reference the Mock that contains this as the mock.Object value. - - - - - Implemented by all generated mock object instances. - - - - - Reference the Mock that contains this as the mock.Object value. - - - - - This role interface represents a 's ability to intercept method invocations for its . - It is meant for use by . - - - - - Base class for mocks and static helper class with methods that apply to mocked objects, - such as to retrieve a from an object instance. - - - - - Creates a mock object of the indicated type. - - The type of the mocked object. - The mocked object created. - - - - Creates a mock object of the indicated type. - - Behavior of the mock. - The type of the mocked object. - The mocked object created. - - - - Creates a mock object of the indicated type. - - The predicate with the specification of how the mocked object should behave. - The type of the mocked object. - The mocked object created. - - - - Creates a mock object of the indicated type. - - The predicate with the specification of how the mocked object should behave. - Behavior of the mock. - The type of the mocked object. - The mocked object created. - - - - Initializes a new instance of the class. - - - - - Retrieves the mock object for the given object instance. - - The instance of the mocked object. - - Type of the mock to retrieve. - Can be omitted as it's inferred from the object instance passed in as the instance. - - The mock associated with the mocked object. - The received instance was not created by Moq. - - The following example shows how to add a new setup to an object instance - which is not the original but rather the object associated with it: - - // Typed instance, not the mock, is retrieved from some test API. - HttpContextBase context = GetMockContext(); - - // context.Request is the typed object from the "real" API - // so in order to add a setup to it, we need to get - // the mock that "owns" it - Mock<HttpRequestBase> request = Mock.Get(context.Request); - - request.Setup(req => req.AppRelativeCurrentExecutionFilePath) - .Returns(tempUrl); - - - - - - Verifies that all verifiable expectations have been met. - - Not all verifiable expectations were met. - - - - Verifies all expectations regardless of whether they have been flagged as verifiable. - - At least one expectation was not met. - - - - Gets the interfaces additionally implemented by the mock object. - - - This list may be modified by calls to up until the first call to . - - - - - Behavior of the mock, according to the value set in the constructor. - - - - - Whether the base member virtual implementation will be called for mocked classes if no setup is matched. - Defaults to . - - - - - Specifies the behavior to use when returning default values for unexpected invocations on loose mocks. - - - - - Gets the mocked object instance. - - - - - Gets the interfaces directly inherited from the mocked type (). - - - - - Gets list of invocations which have been performed on this mock. - - - - - Returns the mocked object value. - - - - - Retrieves the type of the mocked object, its generic type argument. - This is used in the auto-mocking of hierarchy access. - - - - - Gets or sets the instance that will be used - e. g. to produce default return values for unexpected invocations. - - - - - The used to initialize automatically stubbed properties. - It is equal to the value of at the time when - was last called. - - - - - Gets the setups that have been configured on this mock, - in chronological order (that is, oldest setup first, most recent setup last). - - - - - A set of switches that influence how this mock will operate. - You can opt in or out of certain features via this property. - - - - - Verifies that all verifiable expectations have been met. - - Not all verifiable expectations were met. - - This example sets up an expectation and marks it as verifiable. - After the mock is used, a Verify() call is issued on the mock - to ensure the method in the setup was invoked: - - var mock = new Mock<IWarehouse>(); - this.Setup(x => x.HasInventory(TALISKER, 50)) - .Returns(true) - .Verifiable(); - - ... - - // Will throw if the test code did not call HasInventory. - this.Verify(); - - - - - - Verifies all expectations regardless of whether they have been flagged as verifiable. - - At least one expectation was not met. - - This example sets up an expectation without marking it as verifiable. - After the mock is used, a call is issued on the mock - to ensure that all expectations are met: - - var mock = new Mock<IWarehouse>(); - this.Setup(x => x.HasInventory(TALISKER, 50)) - .Returns(true); - - ... - - // Will throw if the test code did not call HasInventory, - // even though that expectation was not marked as verifiable. - mock.VerifyAll(); - - - - - - Adds an interface implementation to the mock, allowing setups to be specified for it. - - - This method can only be called before the first use of the mock property, - at which point the runtime type has already been generated and no more interfaces can be added to it. - - Also, must be an interface and not a class, - which must be specified when creating the mock instead. - - - Type of interface to cast the mock to. - The specified is not an interface. - - The mock type has already been generated by accessing the property. - - - - - Defines the default return value for all mocked methods or properties with return type . - - The return type for which to define a default value. - The default return value. - - Default return value is respected only when there is no matching setup for a method call. - - - - - Initializes a new instance of the class. - - The of the concrete proxy object on which a method is being invoked. - The method being invoked. - The arguments with which the specified is being invoked. - - - - Gets the method of the invocation. - - - - - Gets the arguments of the invocation. - - - Arguments may be modified. Derived classes must ensure that by-reference parameters are written back - when the invocation is ended by a call to any of the three Returns methods. - - - - - Calls the method implementation - and returns its return value (or for methods). - - - - - - - - Internal type to mark invocation results as "exception occurred during execution". The type just - wraps the Exception so a thrown exception can be distinguished from an - return value. - - - - - A delegate-like type for use with `setup.Callback` which instructs the `Callback` verb - to provide the callback with the current , instead of - with a list of arguments. - - This type is useful in scenarios involving generic type argument matchers (such as - ) as allows the discovery of both - arguments and type arguments. - - - - - - Initializes a new instance of the type. - - The delegate that should be wrapped by this instance. - - - - A delegate-like type for use with `setup.Returns` which instructs the `Returns` verb - to provide the callback with the current , instead of - with a list of arguments. - - This type is useful in scenarios involving generic type argument matchers (such as - ) as allows the discovery of both - arguments and type arguments. - - - - - - Initializes a new instance of the type. - - The delegate that should be wrapped by this instance. - - - - Describes the "shape" of an invocation against which concrete s can be matched. - - This shape is described by which has the general form - `mock => mock.Method(...arguments)`. Because the method and arguments are frequently needed, - they are cached in and - for faster access. - - - - - - A setup configured on a mock. - - - - - - The setup expression. - - - - - Gets the inner mock of this setup (if present and known). - - An "inner mock" is the instance associated with a setup's return value, - if that setup is configured to return a mock object. - - - This property will be if a setup either does not return a mock object, - or if Moq cannot safely determine its return value without risking any side effects. For instance, - Moq is able to inspect the return value if it is a constant (e.g. `.Returns(value)`); - if, on the other hand, it gets computed by a factory function (e.g. `.Returns(() => value)`), - Moq will not attempt to retrieve that value just to find the inner mock, - since calling a user-provided function could have effects beyond Moq's understanding and control. - - - - - - Gets whether this setup is conditional. - - - - - - Gets whether this setup was matched by at least one invocation on the mock. - - - - - Gets whether this setup has been overridden - (that is, whether it is being shadowed by a more recent non-conditional setup with an equal expression). - - - - - Gets whether this setup is "verifiable". - - - This property gets sets by the `.Verifiable()` setup verb. - - Note that setups can be verified even if this property is : - completely ignores this property. - , however, will only verify setups where this property is . - - - - - - Returns the instance to which this setup belongs. - - - - - Returns the original setup expression from which this setup resulted. - - For setups doing a simple member access or method invocation (such as `mock => mock.Member`), - this property will be equal to . - - - For setups whose expression involves member chaining (such as `parent => parent.Child.Member`), - Moq does not create a single setup, but one for each member access/invocation. - The example just given will result in two setups: - - a setup for `parent => parent.Child` on the parent mock; and - on its inner mock, a setup for `(child) => (child).Member`. - - These are the setups that will be put in the mocks' collections; - their will return the partial expression for just a single member access, - while their will return the original, full expression. - - - This property may also return if this setup was created automatically, - e.g. by or by . - - - - - - Verifies this setup and optionally all verifiable setups of its inner mock (if present and known). - - If is set to , - the semantics of this method are essentially the same as those of , - except that this setup (instead of a mock) is used as the starting point for verification, - and will always be verified itself (even if not flagged as verifiable). - - - - Specifies whether recursive verification should be performed. - - - Verification failed due to one or more unmatched setups. - - - - - - - Verifies this setup and all setups of its inner mock (if present and known), - regardless of whether they have been flagged as verifiable. - - The semantics of this method are essentially the same as those of , - except that this setup (instead of a mock) is used as the starting point for verification. - - - - Verification failed due to one or more unmatched setups. - - - - - - - A list of setups that have been configured on a mock, - in chronological order (that is, oldest setup first, most recent setup last). - - - - - Allows the specification of a matching condition for an argument in a method invocation, - rather than a specific argument value. "It" refers to the argument being matched. - - - This class allows the setup to match a method invocation with an arbitrary value, - with a value in a specified range, or even one that matches a given predicate. - - - - - Contains matchers for (C#) / (VB.NET) parameters of type . - - The parameter type. - - - - Matches any value that is assignment-compatible with type . - - - - - Matches any value of the given type. - - Type of the value. - - Typically used when the actual argument value for a method call is not relevant. - - - - // Throws an exception for a call to Remove with any string value. - mock.Setup(x => x.Remove(It.IsAny<string>())).Throws(new InvalidOperationException()); - - - - - - A type matcher that matches any generic type argument. - - If the generic type parameter is constrained to (C#) / - (VB.NET), use instead. - - - If the generic type parameter has more specific constraints, - you can define your own type matcher inheriting from the type to which the type parameter is constrained. - See and . - - - - - - Matches any value of the given type, except null. - - Type of the value. - - - - Matches any value that satisfies the given predicate. - - The predicate used to match the method argument. - Type of the argument to check. - - Allows the specification of a predicate to perform matching of method call arguments. - - - This example shows how to return the value 1 whenever the argument to - the Do method is an even number. - - mock.Setup(x => x.Do(It.Is<int>(i => i % 2 == 0))) - .Returns(1); - - - - This example shows how to throw an exception if the argument to the method - is a negative number: - - mock.Setup(x => x.GetUser(It.Is<int>(i => i < 0))) - .Throws(new ArgumentException()); - - - - - - Matches any value that satisfies the given predicate. - - Use this overload when you specify a type matcher for . - The callback you provide will then receive the actual parameter type - as well as the invocation argument. - - - The predicate used to match the method argument. - Type of the argument to check. - - Allows the specification of a predicate to perform matching of method call arguments. - - - - - Matches any value that equals the using the . - To use the default comparer for the specified object, specify the value inline, - i.e. mock.Verify(service => service.DoWork(value)). - - Use this overload when you specify a value and a comparer. - - - The value to match with. - An with which the values should be compared. - Type of the argument to check. - - - - Matches any value that is in the range specified. - - The lower bound of the range. - The upper bound of the range. - The kind of range. See . - Type of the argument to check. - - The following example shows how to expect a method call with an integer argument - within the 0..100 range. - - mock.Setup(x => x.HasInventory( - It.IsAny<string>(), - It.IsInRange(0, 100, Range.Inclusive))) - .Returns(false); - - - - - - Matches any value that is present in the sequence specified. - - The sequence of possible values. - Type of the argument to check. - - The following example shows how to expect a method call with an integer argument - with value from a list. - - var values = new List<int> { 1, 2, 3 }; - - mock.Setup(x => x.HasInventory( - It.IsAny<string>(), - It.IsIn(values))) - .Returns(false); - - - - - - Matches any value that is present in the sequence specified. - - The sequence of possible values. - An with which the values should be compared. - Type of the argument to check. - - - - Matches any value that is present in the sequence specified. - - The sequence of possible values. - Type of the argument to check. - - The following example shows how to expect a method call with an integer argument - with a value of 1, 2, or 3. - - mock.Setup(x => x.HasInventory( - It.IsAny<string>(), - It.IsIn(1, 2, 3))) - .Returns(false); - - - - - - Matches any value that is not found in the sequence specified. - - The sequence of disallowed values. - Type of the argument to check. - - The following example shows how to expect a method call with an integer argument - with value not found from a list. - - var values = new List<int> { 1, 2, 3 }; - - mock.Setup(x => x.HasInventory( - It.IsAny<string>(), - It.IsNotIn(values))) - .Returns(false); - - - - - - Matches any value that is not found in the sequence specified. - - The sequence of disallowed values. - An with which the values should be compared. - Type of the argument to check. - - - - Matches any value that is not found in the sequence specified. - - The sequence of disallowed values. - Type of the argument to check. - - The following example shows how to expect a method call with an integer argument - of any value except 1, 2, or 3. - - mock.Setup(x => x.HasInventory( - It.IsAny<string>(), - It.IsNotIn(1, 2, 3))) - .Returns(false); - - - - - - Matches a string argument if it matches the given regular expression pattern. - - The pattern to use to match the string argument value. - - The following example shows how to expect a call to a method where the string argument - matches the given regular expression: - - mock.Setup(x => x.Check(It.IsRegex("[a-z]+"))) - .Returns(1); - - - - - - Matches a string argument if it matches the given regular expression pattern. - - The pattern to use to match the string argument value. - The options used to interpret the pattern. - - The following example shows how to expect a call to a method where the string argument - matches the given regular expression, in a case insensitive way: - - mock.Setup(x => x.Check(It.IsRegex("[a-z]+", RegexOptions.IgnoreCase))) - .Returns(1); - - - - - - A type matcher that matches subtypes of , as well as itself. - - The type whose subtypes should match. - - - - A type matcher that matches any value type. - - - - - Types that implement this interface represent a criterion against which generic type arguments are matched. - - To be used in combination with . - - - - - - Matches the provided type argument against the criterion represented by this type matcher. - - - The generic type argument that should be matched. - - - if the provided type argument matched the criterion represented by this instance; - otherwise, . - - - - - Implements the fluent API. - - - - - Implements the fluent API. - - - - - Implements the fluent API. - - - - - Implements the fluent API. - - - - - Implements the fluent API. - - - - - Implements the fluent API. - - - - - Implements the fluent API. - - - - - Implements the fluent API. - - - - - Implements the fluent API. - - - - - Implements the fluent API. - - - - - Defines the Callback verb and overloads. - - - - - Specifies a callback to invoke when the method is called that receives the original . - - This overload is intended to be used in scenarios involving generic type argument matchers - (such as ). The callback will receive the current , - which allows discovery of both arguments and type arguments. - - - For all other use cases, you should prefer the other Callback overloads as they provide - better static type safety. - - - - - Figure out the generic type argument used for a mocked method call: - mock.Setup(m => m.DoSomethingWith<It.IsAnyType>(...)) - .Callback(new InvocationAction(invocation => - { - var typeArgument = invocation.Method.GetGenericArguments()[0]; - // do something interesting with the type argument - }); - mock.Object.DoSomethingWith<Something>(); - - - - - - Specifies a callback of any delegate type to invoke when the method is called. - This overload specifically allows you to define callbacks for methods with by-ref parameters. - By-ref parameters can be assigned to. - - The callback method to invoke. Must have return type void (C#) or be a Sub (VB.NET). - - Invokes the given callback with the concrete invocation argument value. You can modify - by-ref parameters inside the callback. - - delegate void ExecuteAction(ref Command command); - - Command c = ...; - mock.Setup(x => x.Execute(ref c)) - .Callback(new ExecuteAction((ref Command command) => Console.WriteLine("Executing command..."))); - - - - - - Specifies a callback to invoke when the method is called. - - The callback method to invoke. - - The following example specifies a callback to set a boolean - value that can be used later: - - var called = false; - mock.Setup(x => x.Execute()) - .Callback(() => called = true); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The argument type of the invoked method. - The callback method to invoke. - - Invokes the given callback with the concrete invocation argument value. - - Notice how the specific string argument is retrieved by simply declaring - it as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute(It.IsAny<string>())) - .Callback((string command) => Console.WriteLine(command)); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((string arg1, string arg2) => Console.WriteLine(arg1 + arg2)); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((string arg1, string arg2, string arg3) => Console.WriteLine(arg1 + arg2 + arg3)); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((string arg1, string arg2, string arg3, string arg4) => Console.WriteLine(arg1 + arg2 + arg3 + arg4)); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((string arg1, string arg2, string arg3, string arg4, string arg5) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5)); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6)); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7)); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8)); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the ninth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9)); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the ninth argument of the invoked method. - The type of the tenth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10)); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the ninth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11)); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the ninth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The type of the twelfth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12)); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the ninth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The type of the twelfth argument of the invoked method. - The type of the thirteenth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12, string arg13) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13)); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the ninth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The type of the twelfth argument of the invoked method. - The type of the thirteenth argument of the invoked method. - The type of the fourteenth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12, string arg13, string arg14) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13 + arg14)); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the ninth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The type of the twelfth argument of the invoked method. - The type of the thirteenth argument of the invoked method. - The type of the fourteenth argument of the invoked method. - The type of the fifteenth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12, string arg13, string arg14, string arg15) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13 + arg14 + arg15)); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the ninth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The type of the twelfth argument of the invoked method. - The type of the thirteenth argument of the invoked method. - The type of the fourteenth argument of the invoked method. - The type of the fifteenth argument of the invoked method. - The type of the sixteenth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12, string arg13, string arg14, string arg15, string arg16) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13 + arg14 + arg15 + arg16)); - - - - - - Defines the Callback verb and overloads for callbacks on - setups that return a value. - - Mocked type. - Type of the return value of the setup. - - - - Specifies a callback to invoke when the method is called that receives the original . - - This overload is intended to be used in scenarios involving generic type argument matchers - (such as ). The callback will receive the current , - which allows discovery of both arguments and type arguments. - - - For all other use cases, you should prefer the other Callback overloads as they provide - better static type safety. - - - - Figure out the generic type argument used for a mocked method call: - - mock.Setup(m => m.DoSomethingWith<It.IsAnyType>(...)) - .Callback(new InvocationAction(invocation => - { - var typeArgument = invocation.Method.GetGenericArguments()[0]; - // do something interesting with the type argument - }); - mock.Object.DoSomethingWith<Something>(); - - - - - - Specifies a callback of any delegate type to invoke when the method is called. - This overload specifically allows you to define callbacks for methods with by-ref parameters. - By-ref parameters can be assigned to. - - The callback method to invoke. Must have return type void (C#) or be a Sub (VB.NET). - - Invokes the given callback with the concrete invocation argument value. You can modify - by-ref parameters inside the callback. - - delegate void ExecuteAction(ref Command command); - - Command c = ...; - mock.Setup(x => x.Execute(ref c)) - .Callback(new ExecuteAction((ref Command command) => Console.WriteLine("Executing command..."))); - - - - - - Specifies a callback to invoke when the method is called. - - The callback method to invoke. - - The following example specifies a callback to set a boolean value that can be used later: - - var called = false; - mock.Setup(x => x.Execute()) - .Callback(() => called = true) - .Returns(true); - - Note that in the case of value-returning methods, after the Callback - call you can still specify the return value. - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the argument of the invoked method. - Callback method to invoke. - - Invokes the given callback with the concrete invocation argument value. - - Notice how the specific string argument is retrieved by simply declaring - it as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute(It.IsAny<string>())) - .Callback(command => Console.WriteLine(command)) - .Returns(true); - - - - - - Specifies a callback to invoke when the method is called that receives the original - arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((arg1, arg2) => Console.WriteLine(arg1 + arg2)); - - - - - - Specifies a callback to invoke when the method is called that receives the original - arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((arg1, arg2, arg3) => Console.WriteLine(arg1 + arg2 + arg3)); - - - - - - Specifies a callback to invoke when the method is called that receives the original - arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((arg1, arg2, arg3, arg4) => Console.WriteLine(arg1 + arg2 + arg3 + arg4)); - - - - - - Specifies a callback to invoke when the method is called that receives the original - arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((arg1, arg2, arg3, arg4, arg5) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5)); - - - - - - Specifies a callback to invoke when the method is called that receives the original - arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((arg1, arg2, arg3, arg4, arg5, arg6) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6)); - - - - - - Specifies a callback to invoke when the method is called that receives the original - arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7)); - - - - - - Specifies a callback to invoke when the method is called that receives the original - arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8)); - - - - - - Specifies a callback to invoke when the method is called that receives the original - arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the ninth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9)); - - - - - - Specifies a callback to invoke when the method is called that receives the original - arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the ninth argument of the invoked method. - The type of the tenth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10)); - - - - - - Specifies a callback to invoke when the method is called that receives the original - arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the ninth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11)); - - - - - - Specifies a callback to invoke when the method is called that receives the original - arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the ninth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The type of the twelfth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12)); - - - - - - Specifies a callback to invoke when the method is called that receives the original - arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the ninth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The type of the twelfth argument of the invoked method. - The type of the thirteenth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13)); - - - - - - Specifies a callback to invoke when the method is called that receives the original - arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the ninth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The type of the twelfth argument of the invoked method. - The type of the thirteenth argument of the invoked method. - The type of the fourteenth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13 + arg14)); - - - - - - Specifies a callback to invoke when the method is called that receives the original - arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the ninth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The type of the twelfth argument of the invoked method. - The type of the thirteenth argument of the invoked method. - The type of the fourteenth argument of the invoked method. - The type of the fifteenth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13 + arg14 + arg15)); - - - - - - Specifies a callback to invoke when the method is called that receives the original - arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the ninth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The type of the twelfth argument of the invoked method. - The type of the thirteenth argument of the invoked method. - The type of the fourteenth argument of the invoked method. - The type of the fifteenth argument of the invoked method. - The type of the sixteenth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13 + arg14 + arg15 + arg16)); - - - - - - Defines the Callback verb for property getter setups. - - - Mocked type. - Type of the property. - - - - Specifies a callback to invoke when the property is retrieved. - - Callback method to invoke. - - Invokes the given callback with the property value being set. - - mock.SetupGet(x => x.Suspended) - .Callback(() => called = true) - .Returns(true); - - - - - - Defines the Callback verb for property setter setups. - - Type of the property. - - - - Specifies a callback to invoke when the property is set that receives the - property value being set. - - Callback method to invoke. - - Invokes the given callback with the property value being set. - - mock.SetupSet(x => x.Suspended) - .Callback((bool state) => Console.WriteLine(state)); - - - - - - Defines the CallBase verb. - - - - - Calls the real method of the object. - - - - - Defines the Raises verb. - - - - - Specifies the event that will be raised - when the setup is met. - - An expression that represents an event attach or detach action. - The event arguments to pass for the raised event. - - The following example shows how to raise an event when - the setup is met: - - var mock = new Mock<IContainer>(); - - mock.Setup(add => add.Add(It.IsAny<string>(), It.IsAny<object>())) - .Raises(add => add.Added += null, EventArgs.Empty); - - - - - - Specifies the event that will be raised - when the setup is matched. - - An expression that represents an event attach or detach action. - A function that will build the - to pass when raising the event. - - - - - Specifies the custom event that will be raised - when the setup is matched. - - An expression that represents an event attach or detach action. - The arguments to pass to the custom delegate (non EventHandler-compatible). - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - The type of the second argument received by the expected invocation. - - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - The type of the second argument received by the expected invocation. - The type of the third argument received by the expected invocation. - - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - The type of the second argument received by the expected invocation. - The type of the third argument received by the expected invocation. - The type of the fourth argument received by the expected invocation. - - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - The type of the second argument received by the expected invocation. - The type of the third argument received by the expected invocation. - The type of the fourth argument received by the expected invocation. - The type of the fifth argument received by the expected invocation. - - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - The type of the second argument received by the expected invocation. - The type of the third argument received by the expected invocation. - The type of the fourth argument received by the expected invocation. - The type of the fifth argument received by the expected invocation. - The type of the sixth argument received by the expected invocation. - - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - The type of the second argument received by the expected invocation. - The type of the third argument received by the expected invocation. - The type of the fourth argument received by the expected invocation. - The type of the fifth argument received by the expected invocation. - The type of the sixth argument received by the expected invocation. - The type of the seventh argument received by the expected invocation. - - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - The type of the second argument received by the expected invocation. - The type of the third argument received by the expected invocation. - The type of the fourth argument received by the expected invocation. - The type of the fifth argument received by the expected invocation. - The type of the sixth argument received by the expected invocation. - The type of the seventh argument received by the expected invocation. - The type of the eighth argument received by the expected invocation. - - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - The type of the second argument received by the expected invocation. - The type of the third argument received by the expected invocation. - The type of the fourth argument received by the expected invocation. - The type of the fifth argument received by the expected invocation. - The type of the sixth argument received by the expected invocation. - The type of the seventh argument received by the expected invocation. - The type of the eighth argument received by the expected invocation. - The type of the ninth argument received by the expected invocation. - - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - The type of the second argument received by the expected invocation. - The type of the third argument received by the expected invocation. - The type of the fourth argument received by the expected invocation. - The type of the fifth argument received by the expected invocation. - The type of the sixth argument received by the expected invocation. - The type of the seventh argument received by the expected invocation. - The type of the eighth argument received by the expected invocation. - The type of the ninth argument received by the expected invocation. - The type of the tenth argument received by the expected invocation. - - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - The type of the second argument received by the expected invocation. - The type of the third argument received by the expected invocation. - The type of the fourth argument received by the expected invocation. - The type of the fifth argument received by the expected invocation. - The type of the sixth argument received by the expected invocation. - The type of the seventh argument received by the expected invocation. - The type of the eighth argument received by the expected invocation. - The type of the ninth argument received by the expected invocation. - The type of the tenth argument received by the expected invocation. - The type of the eleventh argument received by the expected invocation. - - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - The type of the second argument received by the expected invocation. - The type of the third argument received by the expected invocation. - The type of the fourth argument received by the expected invocation. - The type of the fifth argument received by the expected invocation. - The type of the sixth argument received by the expected invocation. - The type of the seventh argument received by the expected invocation. - The type of the eighth argument received by the expected invocation. - The type of the ninth argument received by the expected invocation. - The type of the tenth argument received by the expected invocation. - The type of the eleventh argument received by the expected invocation. - The type of the twelfth argument received by the expected invocation. - - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - The type of the second argument received by the expected invocation. - The type of the third argument received by the expected invocation. - The type of the fourth argument received by the expected invocation. - The type of the fifth argument received by the expected invocation. - The type of the sixth argument received by the expected invocation. - The type of the seventh argument received by the expected invocation. - The type of the eighth argument received by the expected invocation. - The type of the ninth argument received by the expected invocation. - The type of the tenth argument received by the expected invocation. - The type of the eleventh argument received by the expected invocation. - The type of the twelfth argument received by the expected invocation. - The type of the thirteenth argument received by the expected invocation. - - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - The type of the second argument received by the expected invocation. - The type of the third argument received by the expected invocation. - The type of the fourth argument received by the expected invocation. - The type of the fifth argument received by the expected invocation. - The type of the sixth argument received by the expected invocation. - The type of the seventh argument received by the expected invocation. - The type of the eighth argument received by the expected invocation. - The type of the ninth argument received by the expected invocation. - The type of the tenth argument received by the expected invocation. - The type of the eleventh argument received by the expected invocation. - The type of the twelfth argument received by the expected invocation. - The type of the thirteenth argument received by the expected invocation. - The type of the fourteenth argument received by the expected invocation. - - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - The type of the second argument received by the expected invocation. - The type of the third argument received by the expected invocation. - The type of the fourth argument received by the expected invocation. - The type of the fifth argument received by the expected invocation. - The type of the sixth argument received by the expected invocation. - The type of the seventh argument received by the expected invocation. - The type of the eighth argument received by the expected invocation. - The type of the ninth argument received by the expected invocation. - The type of the tenth argument received by the expected invocation. - The type of the eleventh argument received by the expected invocation. - The type of the twelfth argument received by the expected invocation. - The type of the thirteenth argument received by the expected invocation. - The type of the fourteenth argument received by the expected invocation. - The type of the fifteenth argument received by the expected invocation. - - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - The type of the second argument received by the expected invocation. - The type of the third argument received by the expected invocation. - The type of the fourth argument received by the expected invocation. - The type of the fifth argument received by the expected invocation. - The type of the sixth argument received by the expected invocation. - The type of the seventh argument received by the expected invocation. - The type of the eighth argument received by the expected invocation. - The type of the ninth argument received by the expected invocation. - The type of the tenth argument received by the expected invocation. - The type of the eleventh argument received by the expected invocation. - The type of the twelfth argument received by the expected invocation. - The type of the thirteenth argument received by the expected invocation. - The type of the fourteenth argument received by the expected invocation. - The type of the fifteenth argument received by the expected invocation. - The type of the sixteenth argument received by the expected invocation. - - - - - Defines the Returns verb. - - Mocked type. - Type of the return value from the expression. - - - - Specifies the value to return. - - The value to return, or . - - Return a true value from the method call: - - mock.Setup(x => x.Execute("ping")) - .Returns(true); - - - - - - Specifies a function that will calculate the value to return from the method. - - This overload is intended to be used in scenarios involving generic type argument matchers, - such as . The function will receive the current , - which allows discovery of both arguments and type arguments. - - - For all other use cases, you should prefer the other Returns overloads as they provide - better static type safety. - - - - Mock a method to act like a generic factory method: - - factory.Setup(m => m.Create<It.IsAnyType>()) - .Returns(new InvocationFunc(invocation => - { - var typeArgument = invocation.Method.GetGenericArguments()[0]; - return Activator.CreateInstance(typeArgument); - }); - var something = factory.Object.Create<Something>(); - - - - - - Specifies a function that will calculate the value to return from the method. - This overload specifically allows you to specify a function with by-ref parameters. - Those by-ref parameters can be assigned to (though you should probably do that from - a Callback instead). - - The function that will calculate the return value. - - Return a calculated value when the method is called: - - delegate bool ExecuteFunc(ref Command command); - - Command c = ...; - mock.Setup(x => x.Execute(ref c)) - .Returns(new ExecuteFunc((ref Command command) => command.IsExecutable)); - - - - - - Specifies a function that will calculate the value to return from the method. - - The function that will calculate the return value. - - Return a calculated value when the method is called: - - mock.Setup(x => x.Execute("ping")) - .Returns(() => returnValues[0]); - - The lambda expression to retrieve the return value is lazy-executed, - meaning that its value may change depending on the moment the method - is executed and the value the returnValues array has at - that moment. - - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the argument of the invoked method. - The function that will calculate the return value. - - Return a calculated value which is evaluated lazily at the time of the invocation. - - The lookup list can change between invocations and the setup - will return different values accordingly. Also, notice how the specific - string argument is retrieved by simply declaring it as part of the lambda - expression: - - - mock.Setup(x => x.Execute(It.IsAny<string>())) - .Returns((string command) => returnValues[command]); - - - - - - Calls the real method of the object and returns its return value. - - The value calculated by the real method of the object. - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The function that will calculate the return value. - Returns a calculated value which is evaluated lazily at the time of the invocation. - - - The return value is calculated from the value of the actual method invocation arguments. - Notice how the arguments are retrieved by simply declaring them as part of the lambda - expression: - - - mock.Setup(x => x.Execute( - It.IsAny<int>(), - It.IsAny<int>())) - .Returns((string arg1, string arg2) => arg1 + arg2); - - - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The function that will calculate the return value. - Returns a calculated value which is evaluated lazily at the time of the invocation. - - - The return value is calculated from the value of the actual method invocation arguments. - Notice how the arguments are retrieved by simply declaring them as part of the lambda - expression: - - - mock.Setup(x => x.Execute( - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>())) - .Returns((string arg1, string arg2, string arg3) => arg1 + arg2 + arg3); - - - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The function that will calculate the return value. - Returns a calculated value which is evaluated lazily at the time of the invocation. - - - The return value is calculated from the value of the actual method invocation arguments. - Notice how the arguments are retrieved by simply declaring them as part of the lambda - expression: - - - mock.Setup(x => x.Execute( - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>())) - .Returns((string arg1, string arg2, string arg3, string arg4) => arg1 + arg2 + arg3 + arg4); - - - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The function that will calculate the return value. - Returns a calculated value which is evaluated lazily at the time of the invocation. - - - The return value is calculated from the value of the actual method invocation arguments. - Notice how the arguments are retrieved by simply declaring them as part of the lambda - expression: - - - mock.Setup(x => x.Execute( - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>())) - .Returns((string arg1, string arg2, string arg3, string arg4, string arg5) => arg1 + arg2 + arg3 + arg4 + arg5); - - - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The function that will calculate the return value. - Returns a calculated value which is evaluated lazily at the time of the invocation. - - - The return value is calculated from the value of the actual method invocation arguments. - Notice how the arguments are retrieved by simply declaring them as part of the lambda - expression: - - - mock.Setup(x => x.Execute( - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>())) - .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6); - - - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The function that will calculate the return value. - Returns a calculated value which is evaluated lazily at the time of the invocation. - - - The return value is calculated from the value of the actual method invocation arguments. - Notice how the arguments are retrieved by simply declaring them as part of the lambda - expression: - - - mock.Setup(x => x.Execute( - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>())) - .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7); - - - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The function that will calculate the return value. - Returns a calculated value which is evaluated lazily at the time of the invocation. - - - The return value is calculated from the value of the actual method invocation arguments. - Notice how the arguments are retrieved by simply declaring them as part of the lambda - expression: - - - mock.Setup(x => x.Execute( - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>())) - .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8); - - - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the ninth argument of the invoked method. - The function that will calculate the return value. - Returns a calculated value which is evaluated lazily at the time of the invocation. - - - The return value is calculated from the value of the actual method invocation arguments. - Notice how the arguments are retrieved by simply declaring them as part of the lambda - expression: - - - mock.Setup(x => x.Execute( - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>())) - .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9); - - - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the ninth argument of the invoked method. - The type of the tenth argument of the invoked method. - The function that will calculate the return value. - Returns a calculated value which is evaluated lazily at the time of the invocation. - - - The return value is calculated from the value of the actual method invocation arguments. - Notice how the arguments are retrieved by simply declaring them as part of the lambda - expression: - - - mock.Setup(x => x.Execute( - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>())) - .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10); - - - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the ninth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The function that will calculate the return value. - Returns a calculated value which is evaluated lazily at the time of the invocation. - - - The return value is calculated from the value of the actual method invocation arguments. - Notice how the arguments are retrieved by simply declaring them as part of the lambda - expression: - - - mock.Setup(x => x.Execute( - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>())) - .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11); - - - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the ninth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The type of the twelfth argument of the invoked method. - The function that will calculate the return value. - Returns a calculated value which is evaluated lazily at the time of the invocation. - - - The return value is calculated from the value of the actual method invocation arguments. - Notice how the arguments are retrieved by simply declaring them as part of the lambda - expression: - - - mock.Setup(x => x.Execute( - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>())) - .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12); - - - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the ninth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The type of the twelfth argument of the invoked method. - The type of the thirteenth argument of the invoked method. - The function that will calculate the return value. - Returns a calculated value which is evaluated lazily at the time of the invocation. - - - The return value is calculated from the value of the actual method invocation arguments. - Notice how the arguments are retrieved by simply declaring them as part of the lambda - expression: - - - mock.Setup(x => x.Execute( - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>())) - .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12, string arg13) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13); - - - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the ninth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The type of the twelfth argument of the invoked method. - The type of the thirteenth argument of the invoked method. - The type of the fourteenth argument of the invoked method. - The function that will calculate the return value. - Returns a calculated value which is evaluated lazily at the time of the invocation. - - - The return value is calculated from the value of the actual method invocation arguments. - Notice how the arguments are retrieved by simply declaring them as part of the lambda - expression: - - - mock.Setup(x => x.Execute( - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>())) - .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12, string arg13, string arg14) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13 + arg14); - - - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the ninth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The type of the twelfth argument of the invoked method. - The type of the thirteenth argument of the invoked method. - The type of the fourteenth argument of the invoked method. - The type of the fifteenth argument of the invoked method. - The function that will calculate the return value. - Returns a calculated value which is evaluated lazily at the time of the invocation. - - - The return value is calculated from the value of the actual method invocation arguments. - Notice how the arguments are retrieved by simply declaring them as part of the lambda - expression: - - - mock.Setup(x => x.Execute( - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>())) - .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12, string arg13, string arg14, string arg15) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13 + arg14 + arg15); - - - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the ninth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The type of the twelfth argument of the invoked method. - The type of the thirteenth argument of the invoked method. - The type of the fourteenth argument of the invoked method. - The type of the fifteenth argument of the invoked method. - The type of the sixteenth argument of the invoked method. - The function that will calculate the return value. - Returns a calculated value which is evaluated lazily at the time of the invocation. - - - The return value is calculated from the value of the actual method invocation arguments. - Notice how the arguments are retrieved by simply declaring them as part of the lambda - expression: - - - mock.Setup(x => x.Execute( - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>())) - .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12, string arg13, string arg14, string arg15, string arg16) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13 + arg14 + arg15 + arg16); - - - - - - Defines the Returns verb for property get setups. - - Mocked type. - Type of the property. - - - - Specifies the value to return. - - The value to return, or . - - Return a true value from the property getter call: - - mock.SetupGet(x => x.Suspended) - .Returns(true); - - - - - - Specifies a function that will calculate the value to return for the property. - - The function that will calculate the return value. - - Return a calculated value when the property is retrieved: - - mock.SetupGet(x => x.Suspended) - .Returns(() => returnValues[0]); - - The lambda expression to retrieve the return value is lazy-executed, - meaning that its value may change depending on the moment the property - is retrieved and the value the returnValues array has at - that moment. - - - - - Calls the real property of the object and returns its return value. - - The value calculated by the real property of the object. - - - - Implements the fluent API. - - - - - The expectation will be considered only in the former condition. - - - - - - - The expectation will be considered only in the former condition. - - - - - - - - Setups the get. - - The type of the property. - The expression. - - - - - Setups the set. - - The type of the property. - The setter expression. - - - - - Setups the set. - - The setter expression. - - - - - Defines the Pass and Throws verbs for sequence setups - on void methods. - - - - - Configures the next call in the sequence to do nothing. - - - The following code configures the first call to Execute() - to do nothing, and the second call to throw an exception. - - mock.SetupSequence(m => m.Execute()) - .Pass() - .Throws<InvalidOperationException>(); - - - - - - Configures the next call in the sequence to throw an exception. - - - The following code configures the first call to Execute() - to do nothing, and the second call to throw an exception. - - mock.SetupSequence(m => m.Execute()) - .Pass() - .Throws<InvalidOperationException>(); - - - - - - Configures the next call in the sequence to throw an exception. - - - The following code configures the first call to Execute() - to do nothing, and the second call to throw an exception. - - mock.SetupSequence(m => m.Execute()) - .Pass() - .Throws(new InvalidOperationException()); - - - - - - Language for ReturnSequence - - - - - Returns value - - - - - Uses delegate to get return value - - The function that will calculate the return value. - - - - Throws an exception - - - - - Throws an exception - - - - - Calls original method - - - - - Defines the Throws verb. - - - - - Specifies the exception to throw when the method is invoked. - - Exception instance to throw. - - This example shows how to throw an exception when the method is - invoked with an empty string argument: - - mock.Setup(x => x.Execute("")) - .Throws(new ArgumentException()); - - - - - - Specifies the type of exception to throw when the method is invoked. - - Type of exception to instantiate and throw when the setup is matched. - - This example shows how to throw an exception when the method is - invoked with an empty string argument: - - mock.Setup(x => x.Execute("")) - .Throws<ArgumentException>(); - - - - - - Defines the Verifiable verb. - - - - - Marks the expectation as verifiable, meaning that a call - to will check if this particular - expectation was met. - - - The following example marks the expectation as verifiable: - - mock.Expect(x => x.Execute("ping")) - .Returns(true) - .Verifiable(); - - - - - - Marks the expectation as verifiable, meaning that a call - to will check if this particular - expectation was met, and specifies a message for failures. - - - The following example marks the expectation as verifiable: - - mock.Expect(x => x.Execute("ping")) - .Returns(true) - .Verifiable("Ping should be executed always!"); - - - - - - Defines occurrence members to constraint setups. - - - - - The expected invocation can happen at most once. - - - - var mock = new Mock<ICommand>(); - mock.Setup(foo => foo.Execute("ping")) - .AtMostOnce(); - - - - - - The expected invocation can happen at most specified number of times. - - The number of times to accept calls. - - - var mock = new Mock<ICommand>(); - mock.Setup(foo => foo.Execute("ping")) - .AtMost( 5 ); - - - - - - A default implementation of IQueryable for use with QueryProvider - - - - - Converts a taken-apart binary expression such as `m.A.B` (==) `x` to - `Mocks.SetupReturns(Mock.Get(m), m' => m'.A.B, (object)x)`. - - Body of the expression to set up. - Return value to be configured for . - - - - Locates the root mock object in a setup expression (which is usually, but not always, a ), - stores a reference to it, and finally replaces it with a new . - - - - - Utility repository class to use to construct multiple - mocks when consistent verification is - desired for all of them. - - - If multiple mocks will be created during a test, passing - the desired (if different than the - or the one - passed to the repository constructor) and later verifying each - mock can become repetitive and tedious. - - This repository class helps in that scenario by providing a - simplified creation of multiple mocks with a default - (unless overridden by calling - ) and posterior verification. - - - - The following is a straightforward example on how to - create and automatically verify strict mocks using a : - - var repository = new MockRepository(MockBehavior.Strict); - - var foo = repository.Create<IFoo>(); - var bar = repository.Create<IBar>(); - - // no need to call Verifiable() on the setup - // as we'll be validating all of them anyway. - foo.Setup(f => f.Do()); - bar.Setup(b => b.Redo()); - - // exercise the mocks here - - repository.VerifyAll(); - // At this point all setups are already checked - // and an optional MockException might be thrown. - // Note also that because the mocks are strict, any invocation - // that doesn't have a matching setup will also throw a MockException. - - The following examples shows how to setup the repository - to create loose mocks and later verify only verifiable setups: - - var repository = new MockRepository(MockBehavior.Loose); - - var foo = repository.Create<IFoo>(); - var bar = repository.Create<IBar>(); - - // this setup will be verified when we verify the repository - foo.Setup(f => f.Do()).Verifiable(); - - // this setup will NOT be verified - foo.Setup(f => f.Calculate()); - - // this setup will be verified when we verify the repository - bar.Setup(b => b.Redo()).Verifiable(); - - // exercise the mocks here - // note that because the mocks are Loose, members - // called in the interfaces for which no matching - // setups exist will NOT throw exceptions, - // and will rather return default values. - - repository.Verify(); - // At this point verifiable setups are already checked - // and an optional MockException might be thrown. - - The following examples shows how to setup the repository with a - default strict behavior, overriding that default for a - specific mock: - - var repository = new MockRepository(MockBehavior.Strict); - - // this particular one we want loose - var foo = repository.Create<IFoo>(MockBehavior.Loose); - var bar = repository.Create<IBar>(); - - // specify setups - - // exercise the mocks here - - repository.Verify(); - - - - - - - Access the universe of mocks of the given type, to retrieve those - that behave according to the LINQ query specification. - - The type of the mocked object to query. - - - - Access the universe of mocks of the given type, to retrieve those - that behave according to the LINQ query specification. - - Behavior of the mocks. - The type of the mocked object to query. - - - - Access the universe of mocks of the given type, to retrieve those - that behave according to the LINQ query specification. - - The predicate with the setup expressions. - The type of the mocked object to query. - - - - Access the universe of mocks of the given type, to retrieve those - that behave according to the LINQ query specification. - - The predicate with the setup expressions. - Behavior of the mocks. - The type of the mocked object to query. - - - - Creates a mock object of the indicated type. - - The type of the mocked object. - The mocked object created. - - - - Creates a mock object of the indicated type. - - Behavior of the mock. - The type of the mocked object. - The mocked object created. - - - - Creates a mock object of the indicated type. - - The predicate with the setup expressions. - The type of the mocked object. - The mocked object created. - - - - Creates a mock object of the indicated type. - - The predicate with the setup expressions. - Behavior of the mock. - The type of the mocked object. - The mocked object created. - - - - Creates the mock query with the underlying queryable implementation. - - - - - Wraps the enumerator inside a queryable. - - - - - Method that is turned into the actual call from .Query{T}, to - transform the queryable query into a normal enumerable query. - This method is never used directly by consumers. - - - - - Initializes the repository with the given - for newly created mocks from the repository. - - The behavior to use for mocks created - using the repository method if not overridden - by using the overload. - - - - Allows querying the universe of mocks for those that behave - according to the LINQ query specification. - - - - - Access the universe of mocks of the given type, to retrieve those - that behave according to the LINQ query specification. - - The type of the mocked object to query. - - - - Access the universe of mocks of the given type, to retrieve those - that behave according to the LINQ query specification. - - Behavior of the mocks. - The type of the mocked object to query. - - - - Access the universe of mocks of the given type, to retrieve those - that behave according to the LINQ query specification. - - The predicate with the setup expressions. - The type of the mocked object to query. - - - - Access the universe of mocks of the given type, to retrieve those - that behave according to the LINQ query specification. - - The predicate with the setup expressions. - Behavior of the mocks. - The type of the mocked object to query. - - - - Creates a mock object of the indicated type. - - The type of the mocked object. - The mocked object created. - - - - Creates a mock object of the indicated type. - - The predicate with the setup expressions. - The type of the mocked object. - The mocked object created. - - - - Creates the mock query with the underlying queryable implementation. - - - - - Wraps the enumerator inside a queryable. - - - - - Method that is turned into the actual call from .Query{T}, to - transform the queryable query into a normal enumerable query. - This method is never used directly by consumers. - - - - - Abstract base class for default value providers that look up and delegate to value factory functions for the requested type(s). - If a request cannot be satisfied by any registered factory, the default value gets produced by a fallback strategy. - - - - Derived classes can register and deregister factory functions with and , - respectively. - - - The fallback value generation strategy is implemented by the overridable method. - - - This base class sets up factory functions for task types (, , - and ) that produce completed tasks containing default values. - If this behavior is not desired, derived classes may deregister those standard factory functions via . - - - - - - Initializes a new instance of the class. - - - - - Deregisters any factory function that might currently be registered for the given type(s). - Subsequent requests for values of the given type(s) will be handled by the fallback strategy. - - The type(s) for which to remove any registered factory function. - - - - Registers a factory function for the given type(s). - Subsequent requests for values of the given type(s) will be handled by the specified function. - - - - The type(s) for which to register the given function. - - - All array types are represented by (). - Generic types are represented by their open generic type definition, e. g. (<>). - - - The factory function responsible for producing values for the given type. - - - - - - - - - - - - - Determines the default value for the given when no suitable factory is registered for it. - May be overridden in derived classes. - - The type of which to produce a value. - The on which an unexpected invocation has occurred. - - - - Allows creating custom value matchers that can be used on setups and verification, - completely replacing the built-in class with your own - argument matching rules. - - - Argument matching is used to determine whether a concrete invocation in the mock - matches a given setup. This matching mechanism is fully extensible. - - - Creating a custom matcher is straightforward. You just need to create a method - that returns a value from a call to - with your matching condition and optional friendly render expression: - - public Order IsBigOrder() - { - return Match.Create<Order>( - o => o.GrandTotal >= 5000, - () => IsBigOrder()); // a friendly expression to render on failures - } - - This method can be used in any mock setup invocation: - - mock.Setup(m => m.Submit(IsBigOrder()) - .Throws<UnauthorizedAccessException>(); - - At runtime, Moq knows that the return value was a matcher and - evaluates your predicate with the actual value passed into your predicate. - - Another example might be a case where you want to match a lists of orders - that contains a particular one. You might create matcher like the following: - - - public static class Orders - { - public static IEnumerable<Order> Contains(Order order) - { - return Match.Create<IEnumerable<Order>>(orders => orders.Contains(order)); - } - } - - Now we can invoke this static method instead of an argument in an invocation: - - var order = new Order { ... }; - var mock = new Mock<IRepository<Order>>(); - - mock.Setup(x => x.Save(Orders.Contains(order))) - .Throws<ArgumentException>(); - - - - - - Provided for the sole purpose of rendering the delegate passed to the - matcher constructor if no friendly render lambda is provided. - - - - - Initializes the matcher with the condition that will be checked - in order to match invocation values. - - The condition to match against actual values. - - - - Initializes the matcher with the condition that will be checked - in order to match invocation values. - - The condition to match against actual values. - - A lambda representation of the matcher, to be used when rendering error messages, - such as () => It.IsAny<string<(). - - - - - Initializes the matcher with the condition that will be checked in order to match invocation values. - - The predicate of this overload will not only be provided with a - method argument, but also with the associated parameter's type. This parameter type essentially - overrides in cases where the latter is a type matcher. Therefore, - use this method overload if you want your custom matcher to work together with type matchers. - - - - The condition to match against actual values. - - This function will be passed the invocation argument, as well as the type of the associated parameter. - - - - A lambda representation of the matcher. - - - - - Allows creating custom value matchers that can be used on setups and verification, - completely replacing the built-in class with your own - argument matching rules. - - Type of the value to match. - - - - - - - - - - - - - A per-thread observer that records invocations to matchers for later inspection. - - - - This component requires the active cooperation of the respective subsystem. - That is, invoked matchers call into if an - observer is active on the current thread. - - - - - - Returns the current timestamp. The next call will return a timestamp greater than this one, - allowing you to order invocations and matcher observations. - - - - - Adds the specified as an observation. - - - - - Checks whether at least one observation is available, - and if so, returns the last one. - - The observed matcher observed last. - - - - Matcher to treat static functions as matchers. - - mock.Setup(x => x.StringMethod(A.MagicString())); - - public static class A - { - [Matcher] - public static string MagicString() { return null; } - public static bool MagicString(string arg) - { - return arg == "magic"; - } - } - - Will succeed if: mock.Object.StringMethod("magic"); - and fail with any other call. - - - - - Options to customize the behavior of the mock. - - - - - Causes the mock to always throw - an exception for invocations that don't have a - corresponding setup. - - - - - Will never throw exceptions, returning default - values when necessary (null for reference types, - zero for value types or empty enumerables and arrays). - - - - - Default mock behavior, which equals . - - - - - A that returns an empty default value - for non-mockable types, and mocks for all other types (interfaces and - non-sealed classes) that can be mocked. - - - - - Exception thrown by mocks when they are not properly set up, - when setups are not matched, when verification fails, etc. - - - A distinct exception type is provided so that exceptions - thrown by a mock can be distinguished from other exceptions - that might be thrown in tests. - - Moq does not provide a richer hierarchy of exception types, as - tests typically should not catch or expect exceptions - from mocks. These are typically the result of changes - in the tested class or its collaborators' implementation, and - result in fixes in the mock setup so that they disappear and - allow the test to pass. - - - - - - Returns the exception to be thrown when a setup limited by is matched more often than once. - - - - - Returns the exception to be thrown when a setup limited by is matched more often than the specified maximum number of times. - - - - - Returns the exception to be thrown when finds no invocations (or the wrong number of invocations) that match the specified expectation. - - - - - Returns the exception to be thrown when a strict mock has no setup corresponding to the specified invocation. - - - - - Returns the exception to be thrown when a strict mock has no setup that provides a return value for the specified invocation. - - - - - Returns the exception to be thrown when a setup was not matched. - - - - - Returns an exception whose message is the concatenation of the given ' messages - and whose reason(s) is the combination of the given ' reason(s). - Used by when it finds one or more mocks with verification errors. - - - - - Returns the exception to be thrown when finds invocations that have not been verified. - - - - - Indicates whether this exception is a verification fault raised by Verify() - - - - - Supports the serialization infrastructure. - - Serialization information. - Streaming context. - - - - Supports the serialization infrastructure. - - Serialization information. - Streaming context. - - - - Provides additional methods on mocks. - - - - - Resets this mock's state. This includes its setups, configured default return values, registered event handlers, and all recorded invocations. - - The mock whose state should be reset. - - - - Resets all invocations recorded for this mock. - - The mock whose recorded invocations should be reset. - - - - Helper class to setup a full trace between many mocks - - - - - Initialize a trace setup - - - - - Allow sequence to be repeated - - - - - Contains extension methods that are related to . - - - - - Perform an expectation in the trace. - - - - - Provides a mock implementation of . - - Type to mock, which can be an interface, a class, or a delegate. - - Any interface type can be used for mocking, but for classes, only abstract and virtual members can be mocked. - - The behavior of the mock with regards to the setups and the actual calls is determined by the optional - that can be passed to the constructor. - - - - The following example shows establishing setups with specific values for method invocations: - - // Arrange - var order = new Order(TALISKER, 50); - var warehouse = new Mock<IWarehouse>(); - warehouse.Setup(w => w.HasInventory(TALISKER, 50)).Returns(true); - - // Act - order.Fill(warehouse.Object); - - // Assert - Assert.True(order.IsFilled); - - - - The following example shows how to use the class - to specify conditions for arguments instead of specific values: - - // Arrange - var order = new Order(TALISKER, 50); - var warehouse = new Mock<IWarehouse>(); - - // shows how to expect a value within a range: - warehouse.Setup(x => x.HasInventory( - It.IsAny<string>(), - It.IsInRange(0, 100, Range.Inclusive))) - .Returns(false); - - // shows how to throw for unexpected calls. - warehouse.Setup(x => x.Remove( - It.IsAny<string>(), - It.IsAny<int>())) - .Throws(new InvalidOperationException()); - - // Act - order.Fill(warehouse.Object); - - // Assert - Assert.False(order.IsFilled); - - - - - - Ctor invoked by AsTInterface exclusively. - - - - - Initializes an instance of the mock with behavior. - - - - var mock = new Mock<IFormatProvider>(); - - - - - - Initializes an instance of the mock with behavior - and with the given constructor arguments for the class. (Only valid when is a class.) - - Optional constructor arguments if the mocked type is a class. - - The mock will try to find the best match constructor given the constructor arguments, - and invoke that to initialize the instance.This applies only for classes, not interfaces. - - - - var mock = new Mock<MyProvider>(someArgument, 25); - - - - - - Initializes an instance of the mock with the specified behavior. - - Behavior of the mock. - - - var mock = new Mock<IFormatProvider>(MockBehavior.Strict); - - - - - - Initializes an instance of the mock with a specific behavior - and with the given constructor arguments for the class. - - Behavior of the mock. - Optional constructor arguments if the mocked type is a class. - - The mock will try to find the best match constructor given the constructor arguments, - and invoke that to initialize the instance. This applies only to classes, not interfaces. - - - - - Initializes an instance of the mock using the given constructor call including its - argument values and with a specific behavior. - - Lambda expression that creates an instance of . - Behavior of the mock. - - var mock = new Mock<MyProvider>(() => new MyProvider(someArgument, 25), MockBehavior.Loose); - - - - - - - - - - - Gets or sets the instance that will be used - e. g. to produce default return values for unexpected invocations. - - - - - Exposes the mocked object instance. - - - - - Allows naming of your mocks, so they can be easily identified in error messages (e.g. from failed assertions). - - - - - Returns the name of the mock. - - - - - Returns the mocked object value. - - - - - A set of switches that influence how this mock will operate. - You can opt in or out of certain features via this property. - - - - - Adds an interface implementation to the mock, allowing setups to be specified for it. - - - This method can only be called before the first use of the mock property, - at which point the runtime type has already been generated and no more interfaces can be added to it. - - Also, must be an interface and not a class, - which must be specified when creating the mock instead. - - - Type of interface to cast the mock to. - The specified is not an interface. - - The mock type has already been generated by accessing the property. - - - The following example creates a mock for the main interface - and later adds to it to verify it's called by the consumer code: - - var mock = new Mock<IProcessor>(); - mock.Setup(x => x.Execute("ping")); - - // add IDisposable interface - var disposable = mock.As<IDisposable>(); - disposable.Setup(d => d.Dispose()) - .Verifiable(); - - - - - - Specifies a setup on the mocked type for a call to a method. - - Lambda expression that specifies the expected method invocation. - - If more than one setup is specified for the same method or property, - the latest one wins and is the one that will be executed. - - - - var mock = new Mock<IProcessor>(); - mock.Setup(x => x.Execute("ping")); - - - - - - Specifies a setup on the mocked type for a call to a non- (value-returning) method. - - Lambda expression that specifies the method invocation. - Type of the return value. Typically omitted as it can be inferred from the expression. - - If more than one setup is specified for the same method or property, - the latest one wins and is the one that will be executed. - - - - mock.Setup(x => x.HasInventory("Talisker", 50)) - .Returns(true); - - - - - - Specifies a setup on the mocked type for a call to a property getter. - - Lambda expression that specifies the property getter. - Type of the property. Typically omitted as it can be inferred from the expression. - - If more than one setup is set for the same property getter, - the latest one wins and is the one that will be executed. - - - - mock.SetupGet(x => x.Suspended) - .Returns(true); - - - - - - Specifies a setup on the mocked type for a call to a property setter. - - The Lambda expression that sets a property to a value. - Type of the property. Typically omitted as it can be inferred from the expression. - - If more than one setup is set for the same property setter, - the latest one wins and is the one that will be executed. - - This overloads allows the use of a callback already typed for the property type. - - - - - mock.SetupSet(x => x.Suspended = true); - - - - - - Specifies a setup on the mocked type for a call to a property setter. - - Lambda expression that sets a property to a value. - - If more than one setup is set for the same property setter, - the latest one wins and is the one that will be executed. - - - - mock.SetupSet(x => x.Suspended = true); - - - - - - Specifies a setup on the mocked type for a call to an event add. - - Lambda expression that adds an event. - - If more than one setup is set for the same event add, - the latest one wins and is the one that will be executed. - - - - mock.SetupAdd(x => x.EventHandler += (s, e) => {}); - - - - - - Specifies a setup on the mocked type for a call to an event remove. - - Lambda expression that removes an event. - - If more than one setup is set for the same event remove, - the latest one wins and is the one that will be executed. - - - - mock.SetupRemove(x => x.EventHandler -= (s, e) => {}); - - - - - - Specifies that the given property should have "property behavior", - meaning that setting its value will cause it to be saved and later returned when the property is requested. - (This is also known as "stubbing".) - - Property expression to stub. - - Type of the property, inferred from the property expression (does not need to be specified). - - - If you have an interface with an int property Value, - you might stub it using the following straightforward call: - - var mock = new Mock<IHaveValue>(); - mock.SetupProperty(v => v.Value); - - After the SetupProperty call has been issued, setting and retrieving - the object value will behave as expected: - - IHaveValue v = mock.Object; - v.Value = 5; - Assert.Equal(5, v.Value); - - - - - - Specifies that the given property should have "property behavior", - meaning that setting its value will cause it to be saved and later returned when the property is requested. - This overload allows setting the initial value for the property. - (This is also known as "stubbing".) - - Property expression to stub. - Initial value for the property. - - Type of the property, inferred from the property expression (does not need to be specified). - - - If you have an interface with an int property Value, - you might stub it using the following straightforward call: - - var mock = new Mock<IHaveValue>(); - mock.SetupProperty(v => v.Value, 5); - - After the SetupProperty call has been issued, setting and retrieving the object value - will behave as expected: - - IHaveValue v = mock.Object; - Assert.Equal(5, v.Value); // Initial value was stored - - // New value set which changes the initial value - v.Value = 6; - Assert.Equal(6, v.Value); - - - - - - Specifies that the all properties on the mock should have "property behavior", - meaning that setting their value will cause them to be saved and later returned when the properties is requested. - (This is also known as "stubbing".) - The default value for each property will be the one generated as specified by the - property for the mock. - - - If the mock's is set to , - the mocked default values will also get all properties setup recursively. - - - - - Return a sequence of values, once per call. - - - - - Performs a sequence of actions, one per call. - - - - - Allows setting up a conditional setup. - Conditional setups are only matched by an invocation - when the specified condition evaluates to - at the time when the invocation occurs. - - - The condition that should be checked - when a setup is being matched against an invocation. - - - - - Verifies that a specific invocation matching the given expression was performed on the mock. - Use in conjunction with the default . - - Expression to verify. - The invocation was not performed on the mock. - - This example assumes that the mock has been used, and later we want to verify - that a given invocation with specific parameters was performed: - - var mock = new Mock<IProcessor>(); - - ... // exercise mock - - // Will throw if the test code didn't call Execute with a "ping" string argument. - mock.Verify(proc => proc.Execute("ping")); - - - - - - Verifies that a specific invocation matching the given expression was performed on the mock. - Use in conjunction with the default . - - Expression to verify. - The number of times a method is expected to be called. - - The invocation was not called the number of times specified by . - - - - - Verifies that a specific invocation matching the given expression was performed on the mock. - Use in conjunction with the default . - - Expression to verify. - The number of times a method is expected to be called. - - The invocation was not called the number of times specified by . - - - - - Verifies that a specific invocation matching the given expression was performed on the mock, - specifying a failure error message. - Use in conjunction with the default . - - Expression to verify. - Message to show if verification fails. - The invocation was not performed on the mock. - - - - Verifies that a specific invocation matching the given expression was performed on the mock, - specifying a failure error message. - Use in conjunction with the default . - - Expression to verify. - The number of times a method is expected to be called. - Message to show if verification fails. - - The invocation was not called the number of times specified by . - - - - - Verifies that a specific invocation matching the given expression was performed on the mock, - specifying a failure error message. - Use in conjunction with the default . - - Expression to verify. - The number of times a method is expected to be called. - Message to show if verification fails. - - The invocation was not called the number of times specified by . - - - - - Verifies that a specific invocation matching the given expression was performed on the mock. - Use in conjunction with the default . - - Expression to verify. - Type of return value from the expression. - The invocation was not performed on the mock. - - This example assumes that the mock has been used, and later we want to verify - that a given invocation with specific parameters was performed: - - var mock = new Mock<IWarehouse>(); - - ... // exercise mock - - // Will throw if the test code didn't call HasInventory. - mock.Verify(warehouse => warehouse.HasInventory(TALISKER, 50)); - - - - - - Verifies that a specific invocation matching the given expression was performed on the mock. - Use in conjunction with the default . - - Expression to verify. - The number of times a method is expected to be called. - Type of return value from the expression. - - The invocation was not called the number of times specified by . - - - - - Verifies that a specific invocation matching the given expression was performed on the mock. - Use in conjunction with the default . - - Expression to verify. - The number of times a method is expected to be called. - Type of return value from the expression. - - The invocation was not called the number of times specified by . - - - - - Verifies that a specific invocation matching the given expression was performed on the mock, - specifying a failure error message. - - Expression to verify. - Message to show if verification fails. - Type of return value from the expression. - The invocation was not performed on the mock. - - This example assumes that the mock has been used, and later we want to verify - that a given invocation with specific parameters was performed: - - var mock = new Mock<IWarehouse>(); - - ... // exercise mock - - // Will throw if the test code didn't call HasInventory. - mock.Verify(warehouse => warehouse.HasInventory(TALISKER, 50), - "When filling orders, inventory has to be checked"); - - - - - - Verifies that a specific invocation matching the given expression was performed on the mock, - specifying a failure error message. - - Expression to verify. - The number of times a method is expected to be called. - Message to show if verification fails. - Type of return value from the expression. - - The invocation was not called the number times specified by . - - - - - Verifies that a property was read on the mock. - - Expression to verify. - - Type of the property to verify. Typically omitted as it can be inferred from the expression's return type. - - The invocation was not performed on the mock. - - This example assumes that the mock has been used, and later we want to verify - that a given property was retrieved from it: - - var mock = new Mock<IWarehouse>(); - - ... // exercise mock - - // Will throw if the test code didn't retrieve the IsClosed property. - mock.VerifyGet(warehouse => warehouse.IsClosed); - - - - - - Verifies that a property was read on the mock. - - The number of times a method is expected to be called. - Expression to verify. - - Type of the property to verify. Typically omitted as it can be inferred from the expression's return type. - - - The invocation was not called the number times specified by . - - - - - Verifies that a property was read on the mock. - - The number of times a method is expected to be called. - Expression to verify. - - Type of the property to verify. Typically omitted as it can be inferred from the expression's return type. - - - The invocation was not called the number times specified by . - - - - - Verifies that a property was read on the mock, specifying a failure error message. - - Expression to verify. - Message to show if verification fails. - - Type of the property to verify. Typically omitted as it can be inferred from the expression's return type. - - The invocation was not performed on the mock. - - - - Verifies that a property was read on the mock, specifying a failure error message. - - The number of times a method is expected to be called. - Expression to verify. - Message to show if verification fails. - - Type of the property to verify. Typically omitted as it can be inferred from the expression's return type. - - - The invocation was not called the number times specified by . - - - - - Verifies that a property was read on the mock, specifying a failure error message. - - The number of times a method is expected to be called. - Expression to verify. - Message to show if verification fails. - - Type of the property to verify. Typically omitted as it can be inferred from the expression's return type. - - - The invocation was not called the number times specified by . - - - - - Verifies that a property was set on the mock. - - Expression to verify. - The invocation was not performed on the mock. - - This example assumes that the mock has been used, and later we want to verify - that a given property was set on it: - - var mock = new Mock<IWarehouse>(); - - ... // exercise mock - - // Will throw if the test code didn't set the IsClosed property. - mock.VerifySet(warehouse => warehouse.IsClosed = true); - - - - - - Verifies that a property was set on the mock. - - The number of times a method is expected to be called. - Expression to verify. - - The invocation was not called the number of times specified by . - - - - - Verifies that a property was set on the mock. - - The number of times a method is expected to be called. - Expression to verify. - - The invocation was not called the number of times specified by . - - - - - Verifies that a property was set on the mock, specifying a failure message. - - Expression to verify. - Message to show if verification fails. - The invocation was not performed on the mock. - - This example assumes that the mock has been used, and later we want to verify - that a given property was set on it: - - var mock = new Mock<IWarehouse>(); - - ... // exercise mock - - // Will throw if the test code didn't set the IsClosed property. - mock.VerifySet(warehouse => warehouse.IsClosed = true, - "Warehouse should always be closed after the action"); - - - - - - Verifies that a property was set on the mock, specifying a failure message. - - The number of times a method is expected to be called. - Expression to verify. - Message to show if verification fails. - - The invocation was not called the number of times specified by . - - - - - Verifies that a property was set on the mock, specifying a failure message. - - The number of times a method is expected to be called. - Expression to verify. - Message to show if verification fails. - - The invocation was not called the number of times specified by . - - - - - Verifies that an event was added to the mock. - - Expression to verify. - The invocation was not performed on the mock. - - This example assumes that the mock has been used, and later we want to verify - that a given event handler was subscribed to an event: - - var mock = new Mock<IWarehouse>(); - - ... // exercise mock - - // Will throw if the test code didn't subscribe to the OnClosed event. - mock.VerifyAdd(warehouse => warehouse.OnClosed += It.IsAny<EventHandler>()); - - - - - - Verifies that an event was added to the mock. - - The number of times a method is expected to be called. - Expression to verify. - - The invocation was not called the number of times specified by . - - - - - Verifies that an event was added to the mock. - - The number of times a method is expected to be called. - Expression to verify. - - The invocation was not called the number of times specified by . - - - - - Verifies that an event was added to the mock, specifying a failure message. - - Expression to verify. - Message to show if verification fails. - The invocation was not performed on the mock. - - - - Verifies that an event was added to the mock, specifying a failure message. - - The number of times a method is expected to be called. - Expression to verify. - Message to show if verification fails. - - The invocation was not called the number of times specified by . - - - - - Verifies that an event was added to the mock, specifying a failure message. - - The number of times a method is expected to be called. - Expression to verify. - Message to show if verification fails. - - The invocation was not called the number of times specified by . - - - - - Verifies that an event was removed from the mock. - - Expression to verify. - The invocation was not performed on the mock. - - This example assumes that the mock has been used, and later we want to verify - that a given event handler was removed from an event: - - var mock = new Mock<IWarehouse>(); - - ... // exercise mock - - // Will throw if the test code didn't unsubscribe from the OnClosed event. - mock.VerifyRemove(warehouse => warehouse.OnClose -= It.IsAny<EventHandler>()); - - - - - - Verifies that an event was removed from the mock. - - The number of times a method is expected to be called. - Expression to verify. - - The invocation was not called the number of times specified by . - - - - - Verifies that an event was removed from the mock. - - The number of times a method is expected to be called. - Expression to verify. - - The invocation was not called the number of times specified by . - - - - - Verifies that an event was removed from the mock, specifying a failure message. - - Expression to verify. - Message to show if verification fails. - The invocation was not performed on the mock. - - - - Verifies that an event was removed from the mock, specifying a failure message. - - The number of times a method is expected to be called. - Expression to verify. - Message to show if verification fails. - - The invocation was not called the number of times specified by . - - - - - Verifies that an event was removed from the mock, specifying a failure message. - - The number of times a method is expected to be called. - Expression to verify. - Message to show if verification fails. - - The invocation was not called the number of times specified by . - - - - - Verifies that there were no calls other than those already verified. - - There was at least one invocation not previously verified. - - - - Raises the event referenced in using the given argument. - - - The argument is invalid for the target event invocation, - or the is not an event attach or detach expression. - - - The following example shows how to raise a - event: - - var mock = new Mock<IViewModel>(); - mock.Raise(x => x.PropertyChanged -= null, new PropertyChangedEventArgs("Name")); - - - - This example shows how to invoke an event with a custom event arguments class - in a view that will cause its corresponding presenter to react by changing its state: - - var mockView = new Mock<IOrdersView>(); - var presenter = new OrdersPresenter(mockView.Object); - - // Check that the presenter has no selection by default - Assert.Null(presenter.SelectedOrder); - - // Raise the event with a specific arguments data - mockView.Raise(v => v.SelectionChanged += null, new OrderEventArgs { Order = new Order("moq", 500) }); - - // Now the presenter reacted to the event, and we have a selected order - Assert.NotNull(presenter.SelectedOrder); - Assert.Equal("moq", presenter.SelectedOrder.ProductName); - - - - - - Raises the event referenced in using the given argument for a non--typed event. - - - The arguments are invalid for the target event invocation, - or the is not an event attach or detach expression. - - - The following example shows how to raise a custom event that does not adhere - to the standard EventHandler: - - var mock = new Mock<IViewModel>(); - mock.Raise(x => x.MyEvent -= null, "Name", bool, 25); - - - - - - Obsolete. - - - - - Obsolete. - - - - - Obsolete. - - - - - Obsolete. - - - - - Obsolete. - - - - - Marks a method as a matcher, which allows complete replacement - of the built-in class with your own argument - matching rules. - - - - This feature has been deprecated in favor of the new - and simpler . - - - - The argument matching is used to determine whether a concrete - invocation in the mock matches a given setup. This - matching mechanism is fully extensible. - - - There are two parts of a matcher: the compiler matcher - and the runtime matcher. - - - Compiler matcher - Used to satisfy the compiler requirements for the - argument. Needs to be a method optionally receiving any arguments - you might need for the matching, but with a return type that - matches that of the argument. - - Let's say I want to match a lists of orders that contains - a particular one. I might create a compiler matcher like the following: - - - public static class Orders - { - [Matcher] - public static IEnumerable<Order> Contains(Order order) - { - return null; - } - } - - Now we can invoke this static method instead of an argument in an - invocation: - - var order = new Order { ... }; - var mock = new Mock<IRepository<Order>>(); - - mock.Setup(x => x.Save(Orders.Contains(order))) - .Throws<ArgumentException>(); - - Note that the return value from the compiler matcher is irrelevant. - This method will never be called, and is just used to satisfy the - compiler and to signal Moq that this is not a method that we want - to be invoked at runtime. - - - - Runtime matcher - - The runtime matcher is the one that will actually perform evaluation - when the test is run, and is defined by convention to have the - same signature as the compiler matcher, but where the return - value is the first argument to the call, which contains the - object received by the actual invocation at runtime: - - public static bool Contains(IEnumerable<Order> orders, Order order) - { - return orders.Contains(order); - } - - At runtime, the mocked method will be invoked with a specific - list of orders. This value will be passed to this runtime - matcher as the first argument, while the second argument is the - one specified in the setup (x.Save(Orders.Contains(order))). - - The boolean returned determines whether the given argument has been - matched. If all arguments to the expected method are matched, then - the setup matches and is evaluated. - - - - - - Using this extensible infrastructure, you can easily replace the entire - set of matchers with your own. You can also avoid the - typical (and annoying) lengthy expressions that result when you have - multiple arguments that use generics. - - - The following is the complete example explained above: - - public static class Orders - { - [Matcher] - public static IEnumerable<Order> Contains(Order order) - { - return null; - } - - public static bool Contains(IEnumerable<Order> orders, Order order) - { - return orders.Contains(order); - } - } - - And the concrete test using this matcher: - - var order = new Order { ... }; - var mock = new Mock<IRepository<Order>>(); - - mock.Setup(x => x.Save(Orders.Contains(order))) - .Throws<ArgumentException>(); - - // use mock, invoke Save, and have the matcher filter. - - - - - - Contains obsolete API members as extension methods so that existing code continues to compile, - but new code doesn't see them. - - - - - Obsolete. - - - - - Obsolete. - - - - - Obsolete. - - - - - Utility factory class to use to construct multiple - mocks when consistent verification is - desired for all of them. - - - If multiple mocks will be created during a test, passing - the desired (if different than the - or the one - passed to the factory constructor) and later verifying each - mock can become repetitive and tedious. - - This factory class helps in that scenario by providing a - simplified creation of multiple mocks with a default - (unless overridden by calling - ) and posterior verification. - - - - The following is a straightforward example on how to - create and automatically verify strict mocks using a : - - var factory = new MockFactory(MockBehavior.Strict); - - var foo = factory.Create<IFoo>(); - var bar = factory.Create<IBar>(); - - // no need to call Verifiable() on the setup - // as we'll be validating all of them anyway. - foo.Setup(f => f.Do()); - bar.Setup(b => b.Redo()); - - // exercise the mocks here - - factory.VerifyAll(); - // At this point all setups are already checked - // and an optional MockException might be thrown. - // Note also that because the mocks are strict, any invocation - // that doesn't have a matching setup will also throw a MockException. - - The following examples shows how to setup the factory - to create loose mocks and later verify only verifiable setups: - - var factory = new MockFactory(MockBehavior.Loose); - - var foo = factory.Create<IFoo>(); - var bar = factory.Create<IBar>(); - - // this setup will be verified when we verify the factory - foo.Setup(f => f.Do()).Verifiable(); - - // this setup will NOT be verified - foo.Setup(f => f.Calculate()); - - // this setup will be verified when we verify the factory - bar.Setup(b => b.Redo()).Verifiable(); - - // exercise the mocks here - // note that because the mocks are Loose, members - // called in the interfaces for which no matching - // setups exist will NOT throw exceptions, - // and will rather return default values. - - factory.Verify(); - // At this point verifiable setups are already checked - // and an optional MockException might be thrown. - - The following examples shows how to setup the factory with a - default strict behavior, overriding that default for a - specific mock: - - var factory = new MockFactory(MockBehavior.Strict); - - // this particular one we want loose - var foo = factory.Create<IFoo>(MockBehavior.Loose); - var bar = factory.Create<IBar>(); - - // specify setups - - // exercise the mocks here - - factory.Verify(); - - - - - - - Initializes the factory with the given - for newly created mocks from the factory. - - The behavior to use for mocks created - using the factory method if not overridden - by using the overload. - - - - Gets the default of mocks created by this repository. - - - - - Whether the base member virtual implementation will be called - for mocked classes if no setup is matched. Defaults to . - - - - - Specifies the behavior to use when returning default values for - unexpected invocations on loose mocks. - - - - - Gets or sets the instance that will be used - e. g. to produce default return values for unexpected invocations. - - - - - Gets the mocks that have been created by this factory and - that will get verified together. - - - - - A set of switches that influence how mocks created by this factory will operate. - You can opt in or out of certain features via this property. - - - - - Creates a new mock with the default - specified at factory construction time. - - Type to mock. - A new . - - - var factory = new MockFactory(MockBehavior.Strict); - - var foo = factory.Create<IFoo>(); - // use mock on tests - - factory.VerifyAll(); - - - - - - Creates a new mock with the default - specified at factory construction time and with the - the given constructor arguments for the class. - - - The mock will try to find the best match constructor given the - constructor arguments, and invoke that to initialize the instance. - This applies only to classes, not interfaces. - - Type to mock. - Constructor arguments for mocked classes. - A new . - - - var factory = new MockFactory(MockBehavior.Default); - - var mock = factory.Create<MyBase>("Foo", 25, true); - // use mock on tests - - factory.Verify(); - - - - - - Creates a new mock with the given . - - Type to mock. - Behavior to use for the mock, which overrides - the default behavior specified at factory construction time. - A new . - - The following example shows how to create a mock with a different - behavior to that specified as the default for the factory: - - var factory = new MockFactory(MockBehavior.Strict); - - var foo = factory.Create<IFoo>(MockBehavior.Loose); - - - - - - Creates a new mock with the given - and with the given constructor arguments for the class. - - - The mock will try to find the best match constructor given the - constructor arguments, and invoke that to initialize the instance. - This applies only to classes, not interfaces. - - Type to mock. - Behavior to use for the mock, which overrides - the default behavior specified at factory construction time. - Constructor arguments for mocked classes. - A new . - - The following example shows how to create a mock with a different - behavior to that specified as the default for the factory, passing - constructor arguments: - - var factory = new MockFactory(MockBehavior.Default); - - var mock = factory.Create<MyBase>(MockBehavior.Strict, "Foo", 25, true); - - - - - - Creates an instance of the mock using the given constructor call including its - argument values and with a specific behavior. - - Type to mock. - Lambda expression that creates an instance of . - Behavior of the mock. - A new . - - - var factory = new MockFactory(MockBehavior.Default); - - var mock = factory.Create<MyClass>(() => new MyClass("Foo", 25, true), MockBehavior.Loose); - // use mock on tests - - factory.Verify(); - - - - - - Implements creation of a new mock within the factory. - - Type to mock. - The behavior for the new mock. - Optional arguments for the construction of the mock. - - - - Verifies all verifiable setups on all mocks created by this factory. - - - One or more mocks had setups that were not satisfied. - - - - Verifies all setups on all mocks created by this factory. - - - One or more mocks had setups that were not satisfied. - - - - Calls on all mocks created by this factory. - - - One or more mocks had invocations that were not verified. - - - - Invokes for each mock - in , and accumulates the resulting - verification exceptions that might be - thrown from the action. - - The action to execute against - each mock. - - - - Provides additional methods on mocks. - - - Provided as extension methods as they confuse the compiler - with the overloads taking Action. - - - - - Specifies a setup on the mocked type for a call to - to a property setter, regardless of its value. - - - If more than one setup is set for the same property setter, - the latest one wins and is the one that will be executed. - - Type of the property. Typically omitted as it can be inferred from the expression. - Type of the mock. - The target mock for the setup. - Lambda expression that specifies the property setter. - - - mock.SetupSet(x => x.Suspended); - - - - This method is not legacy, but must be on an extension method to avoid - confusing the compiler with the new Action syntax. - - - - - Verifies that a property has been set on the mock, regardless of its value. - - - This example assumes that the mock has been used, - and later we want to verify that a given invocation - with specific parameters was performed: - - var mock = new Mock<IWarehouse>(); - // exercise mock - //... - // Will throw if the test code didn't set the IsClosed property. - mock.VerifySet(warehouse => warehouse.IsClosed); - - - The invocation was not performed on the mock. - Expression to verify. - The mock instance. - Mocked type. - Type of the property to verify. Typically omitted as it can - be inferred from the expression's return type. - - - - Verifies that a property has been set on the mock, specifying a failure - error message. - - - This example assumes that the mock has been used, - and later we want to verify that a given invocation - with specific parameters was performed: - - var mock = new Mock<IWarehouse>(); - // exercise mock - //... - // Will throw if the test code didn't set the IsClosed property. - mock.VerifySet(warehouse => warehouse.IsClosed); - - - The invocation was not performed on the mock. - Expression to verify. - Message to show if verification fails. - The mock instance. - Mocked type. - Type of the property to verify. Typically omitted as it can - be inferred from the expression's return type. - - - - Verifies that a property has been set on the mock, regardless - of the value but only the specified number of times. - - - This example assumes that the mock has been used, - and later we want to verify that a given invocation - with specific parameters was performed: - - var mock = new Mock<IWarehouse>(); - // exercise mock - //... - // Will throw if the test code didn't set the IsClosed property. - mock.VerifySet(warehouse => warehouse.IsClosed); - - - The invocation was not performed on the mock. - The invocation was not call the times specified by - . - The mock instance. - Mocked type. - The number of times a method is allowed to be called. - Expression to verify. - Type of the property to verify. Typically omitted as it can - be inferred from the expression's return type. - - - - Verifies that a property has been set on the mock, regardless - of the value but only the specified number of times, and specifying a failure - error message. - - - This example assumes that the mock has been used, - and later we want to verify that a given invocation - with specific parameters was performed: - - var mock = new Mock<IWarehouse>(); - // exercise mock - //... - // Will throw if the test code didn't set the IsClosed property. - mock.VerifySet(warehouse => warehouse.IsClosed); - - - The invocation was not performed on the mock. - The invocation was not call the times specified by - . - The mock instance. - Mocked type. - The number of times a method is allowed to be called. - Message to show if verification fails. - Expression to verify. - Type of the property to verify. Typically omitted as it can - be inferred from the expression's return type. - - - - Helper for sequencing return values in the same method. - - - - - Return a sequence of values, once per call. - - - - - Performs a sequence of actions, one per call. - - - - - Return a sequence of tasks, once per call. - - - - - Return a sequence of tasks, once per call. - - - - - Return a sequence of tasks, once per call. - - - - - Return a sequence of tasks, once per call. - - - - - Return a sequence of tasks, once per call. - - - - - Return a sequence of tasks, once per call. - - - - - Throws a sequence of exceptions, once per call. - - - - - Throws a sequence of exceptions, once per call. - - - - - Throws a sequence of exceptions, once per call. - - - - - Throws a sequence of exceptions, once per call. - - - - - Allocation-free adapter type for treating a `ParameterInfo[]` array like a `Type[]` array. - - - - - A strongly-typed resource class, for looking up localized strings, etc. - - - - - Returns the cached ResourceManager instance used by this class. - - - - - Overrides the current thread's CurrentUICulture property for all - resource lookups using this strongly typed resource class. - - - - - Looks up a localized string similar to Mock type has already been initialized by accessing its Object property. Adding interfaces must be done before that.. - - - - - Looks up a localized string similar to Value cannot be an empty string.. - - - - - Looks up a localized string similar to Matcher '{0}' is unmatchable: An implicit conversion operator will convert arguments of type '{1}' to the parameter's type '{2}', which is assignment-incompatible.. - - - - - Looks up a localized string similar to Can only add interfaces to the mock.. - - - - - Looks up a localized string similar to CallBase cannot be used with Delegate mocks.. - - - - - Looks up a localized string similar to Can't set return value for void method {0}.. - - - - - Looks up a localized string similar to Constructor arguments cannot be passed for delegate mocks.. - - - - - Looks up a localized string similar to Constructor arguments cannot be passed for interface mocks.. - - - - - Looks up a localized string similar to A matching constructor for the given arguments was not found on the mocked type.. - - - - - Looks up a localized string similar to Delays have to be greater than zero to ensure an async callback is used.. - - - - - Looks up a localized string similar to Expression {0} involves a field access, which is not supported. Use properties instead.. - - - - - Looks up a localized string similar to Invalid callback. This overload of the "Callback" method only accepts "void" (C#) or "Sub" (VB.NET) delegates with parameter types matching those of the set up method.. - - - - - Looks up a localized string similar to Invalid callback. Setup on method with {0} parameter(s) cannot invoke callback with different number of parameters ({1}).. - - - - - Looks up a localized string similar to Invalid callback. Setup on method with parameters ({0}) cannot invoke callback with parameters ({1}).. - - - - - Looks up a localized string similar to Invalid callback. Setup on method with return type '{0}' cannot invoke callback with return type '{1}'.. - - - - - Looks up a localized string similar to Cannot retrieve a mock with the given object type {0} as it's not the main type of the mock or any of its additional interfaces. - Please cast the argument to one of the supported types: {1}. - Remember that there's no generics covariance in the CLR, so your object must be one of these types in order for the call to succeed.. - - - - - Looks up a localized string similar to Invalid callback. This overload of the "Returns" method only accepts non-"void" (C#) or "Function" (VB.NET) delegates with parameter types matching those of the set up method.. - - - - - Looks up a localized string similar to The return type of the last member shown above is not mockable.. - - - - - Looks up a localized string similar to The equals ("==" or "=" in VB) and the conditional 'and' ("&&" or "AndAlso" in VB) operators are the only ones supported in the query specification expression. Unsupported expression: {0}. - - - - - Looks up a localized string similar to LINQ method '{0}' not supported.. - - - - - Looks up a localized string similar to Expression contains a call to a method which is not virtual (overridable in VB) or abstract. Unsupported expression: {0}. - - - - - Looks up a localized string similar to Could not determine the correct positions for all argument matchers ({0} in total) used in a call to this method: {1}. - This could be caused by an unrecognized type conversion, coercion, narrowing, or widening, and is most likely a bug in Moq. Please report your use case to the Moq team.. - - - - - Looks up a localized string similar to Member {0}.{1} does not exist.. - - - - - Looks up a localized string similar to Method {0}.{1} is public. Use strong-typed Expect overload instead: - mock.Setup(x => x.{1}()); - . - - - - - Looks up a localized string similar to No protected method {0}.{1} found whose signature is compatible with the provided arguments ({2}).. - - - - - Looks up a localized string similar to Cannot set up {0}.{1} because it is not accessible to the proxy generator used by Moq: - {2}. - - - - - Looks up a localized string similar to Minimum delay has to be lower than maximum delay.. - - - - - Looks up a localized string similar to {0} invocation failed with mock behavior {1}. - {2}. - - - - - Looks up a localized string similar to The next member after the last one shown above is non-virtual, sealed, or not visible to the proxy factory.. - - - - - Looks up a localized string similar to No constructor call could be found.. - - - - - Looks up a localized string similar to No invocations performed.. - - - - - Looks up a localized string similar to Expected invocation on the mock at least {0} times, but was {2} times: . - - - - - Looks up a localized string similar to Expected invocation on the mock at least once, but was never performed: . - - - - - Looks up a localized string similar to Expected invocation on the mock at most {1} times, but was {2} times: . - - - - - Looks up a localized string similar to Expected invocation on the mock at most once, but was {2} times: . - - - - - Looks up a localized string similar to Expected invocation on the mock between {0} and {1} times (Exclusive), but was {2} times: . - - - - - Looks up a localized string similar to Expected invocation on the mock between {0} and {1} times (Inclusive), but was {2} times: . - - - - - Looks up a localized string similar to Expected invocation on the mock exactly {0} times, but was {2} times: . - - - - - Looks up a localized string similar to Expected invocation on the mock should never have been performed, but was {2} times: . - - - - - Looks up a localized string similar to Expected invocation on the mock once, but was {2} times: . - - - - - Looks up a localized string similar to All invocations on the mock must have a corresponding setup.. - - - - - Looks up a localized string similar to Object instance was not created by Moq.. - - - - - Looks up a localized string similar to Out expression must evaluate to a constant value.. - - - - - Looks up a localized string similar to Performed invocations:. - - - - - Looks up a localized string similar to Property {0}.{1} does not have a getter.. - - - - - Looks up a localized string similar to Property {0}.{1} does not have a setter.. - - - - - Looks up a localized string similar to Type {0} does not have matching protected member: {1}. - - - - - Looks up a localized string similar to Ref expression must evaluate to a constant value.. - - - - - Looks up a localized string similar to Invocation needs to return a value and therefore must have a corresponding setup that provides it.. - - - - - Looks up a localized string similar to Expression is not an event add: {0}. - - - - - Looks up a localized string similar to Expression is not an event remove: {0}. - - - - - Looks up a localized string similar to Expression is not a property access: {0}. - - - - - Looks up a localized string similar to Expression is not a setter: {0}. - - - - - Looks up a localized string similar to Type {0} does not have a default (public parameterless) constructor.. - - - - - Looks up a localized string similar to Type {0} does not implement required interface {1}. - - - - - Looks up a localized string similar to Type to mock ({0}) must be an interface, a delegate, or a non-sealed, non-static class.. - - - - - Looks up a localized string similar to To specify a setup for public property {0}.{1}, use the typed overloads, such as: - mock.Setup(x => x.{1}).Returns(value); - mock.SetupGet(x => x.{1}).Returns(value); //equivalent to previous one - mock.SetupSet(x => x.{1}).Callback(callbackDelegate); - . - - - - - Looks up a localized string similar to Unexpected translation of a member access: {0}. - - - - - Looks up a localized string similar to Unhandled binding type: {0}. - - - - - Looks up a localized string similar to Unhandled expression type: {0}. - - - - - Looks up a localized string similar to {0}: - This setup was not matched.. - - - - - Looks up a localized string similar to Unsupported expression: {0}. - - - - - Looks up a localized string similar to Unsupported expression: {0} - {1}. - - - - - Looks up a localized string similar to Extension methods (here: {0}) may not be used in setup / verification expressions.. - - - - - Looks up a localized string similar to Member {0} is not supported for protected mocking.. - - - - - Looks up a localized string similar to Non-overridable members (here: {0}) may not be used in setup / verification expressions.. - - - - - Looks up a localized string similar to Static members (here: {0}) may not be used in setup / verification expressions.. - - - - - Looks up a localized string similar to {0}: - This mock failed verification due to the following unverified invocations:. - - - - - Looks up a localized string similar to Use ItExpr.IsNull<TValue> rather than a null argument value, as it prevents proper method lookup.. - - - - - Looks up a localized string similar to It is impossible to call the provided strongly-typed predicate due to the use of a type matcher. Provide a weakly-typed predicate with two parameters (object, Type) instead.. - - - - - Looks up a localized string similar to {0}:. - - - - - Looks up a localized string similar to {0}: - This mock failed verification due to the following:. - - - - - Looks up a localized string similar to The mock repository failed verification due to the following:. - - - - - Allows setups to be specified for protected members (methods and properties) - seen through another type with corresponding members (that is, members - having identical signatures as the ones to be set up). - - Type of the mocked object. - - Any type with members whose signatures are identical to the mock's protected members (except for their accessibility level). - - - - - Specifies a setup on the mocked type for a call to a method. - - Lambda expression that specifies the expected method invocation. - - - - - Specifies a setup on the mocked type for a call to a value-returning method. - - Type of the return value. Typically omitted as it can be inferred from the expression. - Lambda expression that specifies the expected method invocation. - - - - - Specifies a setup on the mocked type for a call to a property getter. - - Type of the property. Typically omitted as it can be inferred from the expression. - Lambda expression that specifies the property getter. - - - - Specifies that the given property should have "property behavior", - meaning that setting its value will cause it to be saved and later returned when the property is requested. - (This is also known as "stubbing".) - - Type of the property. Typically omitted as it can be inferred from the expression. - Lambda expression that specifies the property. - Initial value for the property. - - - - Return a sequence of values, once per call. - - Type of the return value. Typically omitted as it can be inferred from the expression. - Lambda expression that specifies the expected method invocation. - - - - Performs a sequence of actions, one per call. - - Lambda expression that specifies the expected method invocation. - - - - Verifies that a specific invocation matching the given expression was performed on the mock. - Use in conjunction with the default . - - Lambda expression that specifies the method invocation. - - Number of times that the invocation is expected to have occurred. - If omitted, assumed to be . - - Message to include in the thrown if verification fails. - The specified invocation did not occur (or did not occur the specified number of times). - - - - Verifies that a specific invocation matching the given expression was performed on the mock. - Use in conjunction with the default . - - Type of the return value. Typically omitted as it can be inferred from the expression. - Lambda expression that specifies the method invocation. - - Number of times that the invocation is expected to have occurred. - If omitted, assumed to be . - - Message to include in the thrown if verification fails. - The specified invocation did not occur (or did not occur the specified number of times). - - - - Verifies that a property was read on the mock. - - Type of the property. Typically omitted as it can be inferred from the expression. - Lambda expression that specifies the method invocation. - - Number of times that the invocation is expected to have occurred. - If omitted, assumed to be . - - Message to include in the thrown if verification fails. - The specified invocation did not occur (or did not occur the specified number of times). - - - - Allows setups to be specified for protected members by using their - name as a string, rather than strong-typing them which is not possible - due to their visibility. - - - - - Set up protected members (methods and properties) seen through another type with identical member signatures. - - - Any type with members whose signatures are identical to the mock's protected members (except for their accessibility level). - - - - - Specifies a setup for a void method invocation with the given - , optionally specifying arguments for the method call. - - The name of the void method to be invoked. - The optional arguments for the invocation. If argument matchers are used, - remember to use rather than . - - - - Specifies a setup for a void method invocation with the given - , optionally specifying arguments for the method call. - - The name of the void method to be invoked. - Should the parameter types match exactly types that were provided - The optional arguments for the invocation. If argument matchers are used, - remember to use rather than . - - - - Specifies a setup for a void method invocation with the given - , optionally specifying arguments for the method call. - - The name of the void method to be invoked. - An array of types to be substituted for the type parameters of the current generic method definition. - Should the parameter types match exactly types that were provided - The optional arguments for the invocation. If argument matchers are used, - remember to use rather than . - - - - Specifies a setup for an invocation on a property or a non void method with the given - , optionally specifying arguments for the method call. - - The name of the method or property to be invoked. - The optional arguments for the invocation. If argument matchers are used, - remember to use rather than . - The return type of the method or property. - - - - Specifies a setup for an invocation on a property or a non void method with the given - , optionally specifying arguments for the method call. - - The name of the method or property to be invoked. - The optional arguments for the invocation. If argument matchers are used, - remember to use rather than . - Should the parameter types match exactly types that were provided - The return type of the method or property. - - - - Specifies a setup for an invocation on a property or a non void method with the given - , optionally specifying arguments for the method call. - - The name of the method or property to be invoked. - An array of types to be substituted for the type parameters of the current generic method definition. - The optional arguments for the invocation. If argument matchers are used, - remember to use rather than . - Should the parameter types match exactly types that were provided - The return type of the method or property. - - - - Specifies a setup for an invocation on a property getter with the given - . - - The name of the property. - The type of the property. - - - - Specifies a setup for an invocation on a property setter with the given - . - - The name of the property. - The property value. If argument matchers are used, - remember to use rather than . - The type of the property. - - - - Performs a sequence of actions, one per call. - - Name of the method or property being set up. - The optional arguments for the invocation. If argument matchers are used, - remember to use rather than . - - - - Performs a sequence of actions, one per call. - - Name of the method or property being set up. - Determines whether the parameter types should exactly match the types provided. - The optional arguments for the invocation. If argument matchers are used, - remember to use rather than . - - - - Performs a sequence of actions, one per call. - - Name of the method or property being set up. - An array of types to be substituted for the type parameters of the current generic method definition. - Determines whether the parameter types should exactly match the types provided. - The optional arguments for the invocation. If argument matchers are used, - remember to use rather than . - - - - Return a sequence of values, once per call. - - Name of the method or property being set up. - The optional arguments for the invocation. If argument matchers are used, - remember to use rather than . - Return type of the method or property being set up. - - - - Return a sequence of values, once per call. - - Name of the method or property being set up. - Determines whether the parameter types should exactly match the types provided. - The optional arguments for the invocation. If argument matchers are used, - remember to use rather than . - Return type of the method or property being set up. - - - - Return a sequence of values, once per call. - - Name of the method or property being set up. - An array of types to be substituted for the type parameters of the current generic method definition. - Determines whether the parameter types should exactly match the types provided. - The optional arguments for the invocation. If argument matchers are used, - remember to use rather than . - Return type of the method or property being set up. - - - - Specifies a verify for a void method with the given , - optionally specifying arguments for the method call. Use in conjunction with the default - . - - The invocation was not call the times specified by - . - The name of the void method to be verified. - The number of times a method is allowed to be called. - The optional arguments for the invocation. If argument matchers are used, - remember to use rather than . - - - - Specifies a verify for a void method with the given , - optionally specifying arguments for the method call. Use in conjunction with the default - . - - The invocation was not call the times specified by - . - The name of the void method to be verified. - An array of types to be substituted for the type parameters of the current generic method definition. - The number of times a method is allowed to be called. - The optional arguments for the invocation. If argument matchers are used, - remember to use rather than . - - - - Specifies a verify for a void method with the given , - optionally specifying arguments for the method call. Use in conjunction with the default - . - - The invocation was not call the times specified by - . - The name of the void method to be verified. - The number of times a method is allowed to be called. - Should the parameter types match exactly types that were provided - The optional arguments for the invocation. If argument matchers are used, - remember to use rather than . - - - - Specifies a verify for a void method with the given , - optionally specifying arguments for the method call. Use in conjunction with the default - . - - The invocation was not call the times specified by - . - The name of the void method to be verified. - An array of types to be substituted for the type parameters of the current generic method definition. - The number of times a method is allowed to be called. - Should the parameter types match exactly types that were provided - The optional arguments for the invocation. If argument matchers are used, - remember to use rather than . - - - - Specifies a verify for an invocation on a property or a non void method with the given - , optionally specifying arguments for the method call. - - The invocation was not call the times specified by - . - The name of the method or property to be invoked. - The optional arguments for the invocation. If argument matchers are used, - remember to use rather than . - The number of times a method is allowed to be called. - The type of return value from the expression. - - - - Specifies a verify for an invocation on a property or a non void method with the given - , optionally specifying arguments for the method call. - - The invocation was not call the times specified by - . - The name of the method or property to be invoked. - An array of types to be substituted for the type parameters of the current generic method definition. - The optional arguments for the invocation. If argument matchers are used, - remember to use rather than . - The number of times a method is allowed to be called. - The type of return value from the expression. - - - - Specifies a verify for an invocation on a property or a non void method with the given - , optionally specifying arguments for the method call. - - The invocation was not call the times specified by - . - The name of the method or property to be invoked. - Should the parameter types match exactly types that were provided - The optional arguments for the invocation. If argument matchers are used, - remember to use rather than . - The number of times a method is allowed to be called. - The type of return value from the expression. - - - - Specifies a verify for an invocation on a property or a non void method with the given - , optionally specifying arguments for the method call. - - The invocation was not call the times specified by - . - The name of the method or property to be invoked. - An array of types to be substituted for the type parameters of the current generic method definition. - Should the parameter types match exactly types that were provided - The optional arguments for the invocation. If argument matchers are used, - remember to use rather than . - The number of times a method is allowed to be called. - The type of return value from the expression. - - - - Specifies a verify for an invocation on a property getter with the given - . - The invocation was not call the times specified by - . - - The name of the property. - The number of times a method is allowed to be called. - The type of the property. - - - - Specifies a setup for an invocation on a property setter with the given - . - - The invocation was not call the times specified by - . - The name of the property. - The number of times a method is allowed to be called. - The property value. - The type of the property. If argument matchers are used, - remember to use rather than . - - - - Allows the specification of a matching condition for an - argument in a protected member setup, rather than a specific - argument value. "ItExpr" refers to the argument being matched. - - - Use this variant of argument matching instead of - for protected setups. - This class allows the setup to match a method invocation - with an arbitrary value, with a value in a specified range, or - even one that matches a given predicate, or null. - - - - - Contains matchers for (C#) / (VB.NET) parameters of type . - - The parameter type. - - - - Matches any value that is assignment-compatible with type . - - - - - - Matches a null value of the given type. - - - Required for protected mocks as the null value cannot be used - directly as it prevents proper method overload selection. - - - - // Throws an exception for a call to Remove with a null string value. - mock.Protected() - .Setup("Remove", ItExpr.IsNull<string>()) - .Throws(new InvalidOperationException()); - - - Type of the value. - - - - Matches any value of the given type. - - - Typically used when the actual argument value for a method - call is not relevant. - - - - // Throws an exception for a call to Remove with any string value. - mock.Protected() - .Setup("Remove", ItExpr.IsAny<string>()) - .Throws(new InvalidOperationException()); - - - Type of the value. - - - - Matches any value that satisfies the given predicate. - - Type of the argument to check. - The predicate used to match the method argument. - - Allows the specification of a predicate to perform matching - of method call arguments. - - - This example shows how to return the value 1 whenever the argument to the - Do method is an even number. - - mock.Protected() - .Setup("Do", ItExpr.Is<int>(i => i % 2 == 0)) - .Returns(1); - - This example shows how to throw an exception if the argument to the - method is a negative number: - - mock.Protected() - .Setup("GetUser", ItExpr.Is<int>(i => i < 0)) - .Throws(new ArgumentException()); - - - - - - Matches any value that is in the range specified. - - Type of the argument to check. - The lower bound of the range. - The upper bound of the range. - The kind of range. See . - - The following example shows how to expect a method call - with an integer argument within the 0..100 range. - - mock.Protected() - .Setup("HasInventory", - ItExpr.IsAny<string>(), - ItExpr.IsInRange(0, 100, Range.Inclusive)) - .Returns(false); - - - - - - Matches a string argument if it matches the given regular expression pattern. - - The pattern to use to match the string argument value. - - The following example shows how to expect a call to a method where the - string argument matches the given regular expression: - - mock.Protected() - .Setup("Check", ItExpr.IsRegex("[a-z]+")) - .Returns(1); - - - - - - Matches a string argument if it matches the given regular expression pattern. - - The pattern to use to match the string argument value. - The options used to interpret the pattern. - - The following example shows how to expect a call to a method where the - string argument matches the given regular expression, in a case insensitive way: - - mock.Protected() - .Setup("Check", ItExpr.IsRegex("[a-z]+", RegexOptions.IgnoreCase)) - .Returns(1); - - - - - - used to replace occurrences of `TAnalog.Member` sub-expressions with `T.Member`. - - - - - Enables the Protected() method on , - allowing setups to be set for protected members by using their - name as a string, rather than strong-typing them which is not possible - due to their visibility. - - - - - Enable protected setups for the mock. - - Mocked object type. Typically omitted as it can be inferred from the mock instance. - The mock to set the protected setups on. - - - - An implementation of that is based on Castle DynamicProxy. - - - - - - - - This hook tells Castle DynamicProxy to proxy the default methods it suggests, - plus some of the methods defined by , e.g. so we can intercept - and give mocks useful default names. - - - - Do not use. (Moq requires this class so that methods can be set up on interface mocks.) - - - - - - - - - - - - Do not use. (Moq requires this interface so that methods can be set up on interface mocks.) - - - - - - - Gets the global instance used by Moq. - - - - - Kind of range to use in a filter specified through - . - - - - - The range includes the to and - from values. - - - - - The range does not include the to and - from values. - - - - - Defines async extension methods on IReturns. - - - - - Specifies the value to return from an asynchronous method. - - Mocked type. - Type of the return value. - Returns verb which represents the mocked type and the task of return type - The value to return, or . - - - - Specifies the value to return from an asynchronous method. - - Mocked type. - Type of the return value. - Returns verb which represents the mocked type and the task of return type - The value to return, or . - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Mocked type. - Type of the return value. - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Mocked type. - Type of the return value. - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Specifies the exception to throw when the asynchronous method is invoked. - - Mocked type. - Returns verb which represents the mocked type and the task return type - Exception instance to throw. - - - - Specifies the exception to throw when the asynchronous method is invoked. - - Mocked type. - Type of the return value. - Returns verb which represents the mocked type and the task of return type - Exception instance to throw. - - - - Specifies the exception to throw when the asynchronous method is invoked. - - Mocked type. - Type of the return value. - Returns verb which represents the mocked type and the task of return type - Exception instance to throw. - - - - Allows to specify the delayed return value of an asynchronous method. - - - - - Allows to specify the delayed return value of an asynchronous method. - - - - - Allows to specify the delayed return value of an asynchronous method. - - - - - Allows to specify the delayed return value of an asynchronous method. - - - - - Allows to specify the delayed return value of an asynchronous method. - Use the argument to pass in (seeded) random generators used across your unit test. - - - - - Allows to specify the delayed return value of an asynchronous method. - Use the argument to pass in (seeded) random generators used across your unit test. - - - - - Allows to specify the exception thrown by an asynchronous method. - - - - - Allows to specify the exception thrown by an asynchronous method. - - - - - Allows to specify the exception thrown by an asynchronous method. - - - - - Allows to specify the exception thrown by an asynchronous method. - - - - - Allows to specify the exception thrown by an asynchronous method. - Use the argument to pass in (seeded) random generators used across your unit test. - - - - - Allows to specify the exception thrown by an asynchronous method. - Use the argument to pass in (seeded) random generators used across your unit test. - - - - - Defines async extension methods on IReturns. - - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Type of the function parameter. - Mocked type. - Type of the return value. - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Type of the function parameter. - Mocked type. - Type of the return value. - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Programmable setup used by . - - - - - Attempts to get this setup's return value without invoking user code - (which could have side effects beyond Moq's understanding and control). - - - - - Verifies this setup and those of its inner mock (if present and known). - - - Specifies whether recursive verification should be performed. - - - Specifies which setups should be verified. - - - The set of mocks that have already been verified. - - - This setup or any of its inner mock (if present and known) failed verification. - - - - - Setup used by for property getters. - - - - - Setup used by for property setters. - - - - - Represents a switch, or a combination of switches, that can be either enabled or disabled. - When set via or , they determine how a mock will operate. - - - - - The default set of switches. The switches covered by this enumeration value may change between different versions of Moq. - - - - - When enabled, specifies that source file information should be collected for each setup. - This results in more helpful error messages, but may affect performance. - - - - - Defines the number of invocations allowed by a mocked method. - - - - Deconstructs this instance. - This output parameter will receive the minimum required number of calls satisfying this instance (i.e. the lower inclusive bound). - This output parameter will receive the maximum allowed number of calls satisfying this instance (i.e. the upper inclusive bound). - - - - Specifies that a mocked method should be invoked times - as minimum. - - The minimum number of times. - An object defining the allowed number of invocations. - - - - Specifies that a mocked method should be invoked one time as minimum. - - An object defining the allowed number of invocations. - - - - Specifies that a mocked method should be invoked times - as maximum. - - The maximum number of times. - An object defining the allowed number of invocations. - - - - Specifies that a mocked method should be invoked one time as maximum. - - An object defining the allowed number of invocations. - - - - Specifies that a mocked method should be invoked between - and times. - - The minimum number of times. - The maximum number of times. - The kind of range. See . - An object defining the allowed number of invocations. - - - - Specifies that a mocked method should be invoked exactly - times. - - The times that a method or property can be called. - An object defining the allowed number of invocations. - - - - Specifies that a mocked method should not be invoked. - - An object defining the allowed number of invocations. - - - - Specifies that a mocked method should be invoked exactly one time. - - An object defining the allowed number of invocations. - - - - Returns a value indicating whether this instance is equal to a specified value. - - A value to compare to this instance. - - if has the same value as this instance; - otherwise, . - - - - - Returns a value indicating whether this instance is equal to a specified value. - - An object to compare to this instance. - - if has the same value as this instance; - otherwise, . - - - - - 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. - - - - - Determines whether two specified objects have the same value. - - The first . - The second . - - if has the same value as ; - otherwise, . - - - - - Determines whether two specified objects have different values. - - The first . - The second . - - if the value of is different from - 's; otherwise, . - - - - - - - - Checks whether the specified number of invocations matches the constraint described by this instance. - - The number of invocations to check. - - if matches the constraint described by this instance; - otherwise, . - - - - - Marks a type as a type matcher, optionally specifying another type that will perform the matching. - - Type matchers preferably implement themselves. Use the parameterized form of this attribute - where this is not possible, such as when the type matcher needs to be a or - type in order to satisfy generic type constraints of the method where it is used. - - - - - - Initializes a new instance of the class. - - Use this constructor overload if the type on which this attribute is placed implements itself. - - - - - - Initializes a new instance of the class. - - Use this constructor overload if the type on which this attribute is placed does not implement . - The specified type will instead provide the implementation of . - - - The of a type that implements . - - - - Interface that is used to build fluent interfaces by hiding methods declared by from IntelliSense. - - - Code that consumes implementations of this interface should expect one of two things: - - When referencing the interface from within the same solution (project reference), you will still see the methods this interface is meant to hide. - When referencing the interface through the compiled output assembly (external reference), the standard Object methods will be hidden as intended. - When using Resharper, be sure to configure it to respect the attribute: Options, go to Environment | IntelliSense | Completion Appearance and check "Filter members by [EditorBrowsable] attribute". - - See https://kzu.github.io/IFluentInterface for more information. - - - - - - Redeclaration that hides the method from IntelliSense. - - - - - Redeclaration that hides the method from IntelliSense. - - - - - Redeclaration that hides the method from IntelliSense. - - - - - Redeclaration that hides the method from IntelliSense. - - - - - Contains the two extension methods - and - . - - - - - Appends a string representation of the specified type to this instance. - - The instance to which to append. - The of which a string representation should be appended. - Any combination of formatting options that should be applied. (Optional.) - A reference to this instance after the append operation has completed. - - - - Gets a string representation of this instance. - - The of which a string representation is requested. - Any combination of formatting options that should be applied. (Optional.) - A string representation of this instance. - - - - Replacement for - which may be slow or even unavailable on earlier target frameworks. - - - - - Allows uniform reflection across all target frameworks. - - - - - Allows uniform reflection across all target frameworks. - - - - - Allows uniform reflection across all target frameworks. - - - - - Allows uniform reflection across all target frameworks. - - - - - An enumeration of available options when a name's string representation is requested. - - - - - The default type name formatting options. - - - - - Specifies that a type's namespace should be included. - - For example, the type is formatted as "Action" by default. - When this flag is specified, it will be formatted as "System.Action". - - - - - - Specifies that anonymous types should not be transformed to C#-like syntax. - - For example, the anonymous type of "new { Name = "Blob", Count = 17 }" is formatted as - "{string Name, int Count}" by default. When this flag is specified, it will be formatted as - the raw "display class" name, which looks something like "<>f__AnonymousType5<string, int>". - - - - - - Specifies that an open generic type's parameter names should be omitted. - - For example, the open generic type is formatted as "IEquatable<T>" by default. - When this flag is specified, it will be formatted as "IEquatable<>". - - - - - - Specifies that primitive types should not be mapped to their corresponding C# language keywords. - - For example, the type is formatted as "int" by default. - When this flag is specified, it will be formatted as "Int32". - - - - - - Specifies that nullable types should not be simplified to C# question mark syntax. - - For example, the type of is formatted as "int?" by default. - When this flag is specified, it will be formatted as "Nullable<int>". - - - - - - Specifies that value tuple types should not be transformed to C# tuple syntax. - - For example, the type of , - is formatted as "(bool, int)" by default. When this flag is specified, - it will be formatted as "ValueTuple<bool, int>". - - - - - diff --git a/src/packages/Moq.4.16.1/lib/netstandard2.0/Moq.xml b/src/packages/Moq.4.16.1/lib/netstandard2.0/Moq.xml deleted file mode 100644 index 4370de0..0000000 --- a/src/packages/Moq.4.16.1/lib/netstandard2.0/Moq.xml +++ /dev/null @@ -1,7815 +0,0 @@ - - - - Moq - - - - - is a kind of that works by - applying a delegate to a light-weight proxy that records the invocation - happening to it, and auto-generates the same kind of recording proxy for its return value. - That way, a chain of invocation records is generated from which a LINQ expression tree can be - reconstructed. - - - - - Recursively gets the result of (i.e. "unwraps") completed awaitables - until a value is found that isn't a successfully completed awaitable. - - - As an example, given := Task.FromResult(Task.FromResult(42)), - this method will return 42. - - The (possibly awaitable) object to be "unwrapped". - - - - Abstract base class that facilitates type-safe implementation of - for awaitables that do not produce a result when awaited. - - - - - Abstract base class that facilitates type-safe implementation of - for awaitables that produce a result when awaited. - - - - - Allows to create parameter captures in setup expressions. - - - - - Creates a parameter capture that will store values in a collection. - - The captured object type - The collection that will store captured parameter values - - Arrange code: - - var parameters = new List{string}(); - mock.Setup(x => x.DoSomething(Capture.In(parameters))); - - Assert code: - - Assert.Equal("Hello!", parameters.Single()); - - - - - - Creates a parameter capture that will store specific values in a collection. - - The captured object type - The collection that will store captured parameter values - A predicate used to filter captured parameters - - Arrange code: - - var parameters = new List{string}(); - mock.Setup(x => x.DoSomething(Capture.In(parameters, p => p.StartsWith("W")))); - - Assert code: - - Assert.Equal("Hello!", parameters.Single()); - - - - - - Creates a parameter capture using specified . - - The captured object type - - Arrange code: - - var capturedValue = string.Empty; - var match = new CaptureMatch{string}(x => capturedValue = x); - mock.Setup(x => x.DoSomething(Capture.With(match))); - - Assert code: - - Assert.Equal("Hello!", capturedValue); - - - - - - Allows creation custom matchers that can be used on setups to capture parameter values. - - - - - - Initializes an instance of the capture match. - - An action to run on captured value - - - - Initializes an instance of the capture match. - - An action to run on captured value - A predicate used to filter captured parameters - - - - Determines the way default values are generated - calculated for loose mocks. - - - - - Default behavior, which generates empty values for - value types (i.e. default(int)), empty array and - enumerables, and nulls for all other reference types. - - - - - Whenever the default value generated by - is null, replaces this value with a mock (if the type - can be mocked). - - - For sealed classes, a null value will be generated. - - - - - - All default value generation strategies other than or - are represented by this enumeration value. - - - Do not set (nor ) to this value. - If you want to set up a custom default value generation strategy, set - or instead. - - - - - - - - is the abstract base class for default value providers. - These are responsible for producing e. g. return values when mock methods or properties get invoked unexpectedly. - In other words, whenever there is no setup that would determine the return value for a particular invocation, - Moq asks the mock's default value provider to produce a return value. - - - - - Gets the corresponding to ; - that is, a default value provider returning "empty" values e. g. for collection types. - - - - - Gets the corresponding to ; - that is, a default value provider returning mocked objects or "empty" values for unmockable types. - - - - - Initializes a new instance of the class. - - - - - Gets the enumeration value that corresponds to this default value provider. - Must be overridden by Moq's internal providers that have their own corresponding . - - - - - Produces a default value of the specified type. - Must be overridden in derived classes. - - The of the requested default value. - The on which an unexpected invocation has occurred. - - Implementations may assume that all parameters have valid, non-, non- values. - - - - - - Produces a default argument value for the specified method parameter. - May be overridden in derived classes. - - - By default, this method will delegate to . - - - The describing the method parameter for which a default argument value should be produced. - The on which an unexpected invocation has occurred. - - Implementations may assume that all parameters have valid, non-, non- values. - - - - - - Produces a default return value for the specified method. - May be overridden in derived classes. - - - By default, this method will delegate to . - - - The describing the method for which a default return value should be produced. - The on which an unexpected invocation has occurred. - - Implementations may assume that all parameters have valid, non-, non- values. - - - - - A that returns an empty default value - for invocations that do not have setups or return values, with loose mocks. - This is the default behavior for a mock. - - - - - Provides partial evaluation of subtrees, whenever they can be evaluated locally. - - Matt Warren: http://blogs.msdn.com/mattwar - Documented by InSTEDD: http://www.instedd.org - - - - Performs evaluation and replacement of independent sub-trees - - The root of the expression tree. - A function that decides whether a given expression - node can be part of the local function. - A new tree with sub-trees evaluated and replaced. - - - - Performs evaluation and replacement of independent sub-trees - - The root of the expression tree. - A new tree with sub-trees evaluated and replaced. - - - - Evaluates and replaces sub-trees when first candidate is reached (top-down) - - - - - Performs bottom-up analysis to determine which nodes can possibly - be part of an evaluated sub-tree. - - - - - An compiles LINQ expression trees () to delegates. - Whenever Moq needs to compile an expression tree, it uses the instance set up by . - - - - - The default instance, which simply delegates to the framework's . - - - - - Gets or sets the instance that Moq uses to compile (LINQ expression trees). - Defaults to . - - - - - Initializes a new instance of the class. - - - - - Compiles the specified LINQ expression tree. - - The LINQ expression tree that should be compiled. - - - - Compiles the specified LINQ expression tree. - - The type of delegate to which the expression will be compiled. - The LINQ expression tree that should be compiled. - - - - Wraps this in a node if needed. - - The which should be wrapped. - The with which to make the compatible. - - LINQ expression trees generally enforce type compatibility rules that are stricter than - the assignment-compatibility used by e.g. . For - example, while is assignable-to , you - will need a conversion in a LINQ expression tree to model the value-type boxing operation. - - - - - Checks whether the given expression can be split by . - - - - - Splits an expression such as `m => m.A.B(x).C[y] = z` into a chain of parts - that can be set up one at a time: - - `m => m.A`, - `... => ....B(x)`, - `... => ....C`, - `... => ...[y] = z`. - - - The split points are chosen such that each part has exactly one associated - and optionally some argument expressions. - - - - It was not possible to completely split up the expression. - - - - - Converts the body of the lambda expression into the referenced by it. - - - - - Checks whether the body of the lambda expression is a property access. - - - - - Checks whether the body of the lambda expression is a indexer access. - - - - - TODO: remove this code when https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=331583 - is fixed. - - - - - Applies the specified to this expression tree. - - The to which should be applied. - The that should be applied to . - - - - A reconstructs LINQ expression trees () - from delegates. It is the counterpart to . - - - - - Reconstructs a from the given delegate. - - The delegate for which to reconstruct a LINQ expression tree. - Arguments to pass to a parameterized constructor of . (Optional.) - - - - Extracts the arguments from a lambda expression that calls a constructor. - - The constructor expression. - Extracted argument values. - - - - Evaluates variables that have been closed over by a lambda function. - - - - - Replaces nodes for property or indexer accessor methods - with equivalent nodes. - - - - In the case of getter accessors such as `x.get_Property()`, the result will be - a single node: `x.Property`. - - - In the case of setter accessors such as `x.set_Property(y)`, the result will be - a combination of and : - `x.Property = y`. - - - - - - - - Gets the default value for the specified type. This is the Reflection counterpart of C#'s operator. - - - - - Gets the least-derived in the given type that provides - the implementation for the given . - - - - - Gets whether the given is a delegate type. - - - - - Visits all constituent parts of , replacing all type matchers - that match the type argument at the corresponding position in . - - The type to be matched. May be, or contain, type matchers. - The type argument to match against . - - - - Ensures the given is not null. - Throws otherwise. - - - - - Ensures the given string is not null or empty. - Throws in the first case, or - in the latter. - - - - - Provides information about an invocation of a mock object. - - - - - Gets the method of the invocation. - - - - - Gets the arguments of the invocation. - - - - - Gets the setup that matched this invocation (or if there was no matching setup). - - - - - Gets whether this invocation was successfully verified by any of the various `Verify` methods. - - - - - The value being returned for a non-void method if no exception was thrown. - - - - - Optional exception if the method invocation results in an exception being thrown. - - - - - A list of invocations which have been performed on a mock. - - - - - Resets all invocations recorded for this mock. - - - - - Covariant interface for such that casts between IMock<Employee> to IMock<Person> - are possible. Only covers the covariant members of . - - - - - Exposes the mocked object instance. - - - - - Behavior of the mock, according to the value set in the constructor. - - - - - Whether the base member virtual implementation will be called for mocked classes if no setup is matched. - Defaults to . - - - - - Specifies the behavior to use when returning default values for unexpected invocations on loose mocks. - - - - - Implemented by all generated mock object instances. - - - - - Reference the Mock that contains this as the mock.Object value. - - - - - Implemented by all generated mock object instances. - - - - - Reference the Mock that contains this as the mock.Object value. - - - - - This role interface represents a 's ability to intercept method invocations for its . - It is meant for use by . - - - - - Base class for mocks and static helper class with methods that apply to mocked objects, - such as to retrieve a from an object instance. - - - - - Creates a mock object of the indicated type. - - The type of the mocked object. - The mocked object created. - - - - Creates a mock object of the indicated type. - - Behavior of the mock. - The type of the mocked object. - The mocked object created. - - - - Creates a mock object of the indicated type. - - The predicate with the specification of how the mocked object should behave. - The type of the mocked object. - The mocked object created. - - - - Creates a mock object of the indicated type. - - The predicate with the specification of how the mocked object should behave. - Behavior of the mock. - The type of the mocked object. - The mocked object created. - - - - Initializes a new instance of the class. - - - - - Retrieves the mock object for the given object instance. - - The instance of the mocked object. - - Type of the mock to retrieve. - Can be omitted as it's inferred from the object instance passed in as the instance. - - The mock associated with the mocked object. - The received instance was not created by Moq. - - The following example shows how to add a new setup to an object instance - which is not the original but rather the object associated with it: - - // Typed instance, not the mock, is retrieved from some test API. - HttpContextBase context = GetMockContext(); - - // context.Request is the typed object from the "real" API - // so in order to add a setup to it, we need to get - // the mock that "owns" it - Mock<HttpRequestBase> request = Mock.Get(context.Request); - - request.Setup(req => req.AppRelativeCurrentExecutionFilePath) - .Returns(tempUrl); - - - - - - Verifies that all verifiable expectations have been met. - - Not all verifiable expectations were met. - - - - Verifies all expectations regardless of whether they have been flagged as verifiable. - - At least one expectation was not met. - - - - Gets the interfaces additionally implemented by the mock object. - - - This list may be modified by calls to up until the first call to . - - - - - Behavior of the mock, according to the value set in the constructor. - - - - - Whether the base member virtual implementation will be called for mocked classes if no setup is matched. - Defaults to . - - - - - Specifies the behavior to use when returning default values for unexpected invocations on loose mocks. - - - - - Gets the mocked object instance. - - - - - Gets the interfaces directly inherited from the mocked type (). - - - - - Gets list of invocations which have been performed on this mock. - - - - - Returns the mocked object value. - - - - - Retrieves the type of the mocked object, its generic type argument. - This is used in the auto-mocking of hierarchy access. - - - - - Gets or sets the instance that will be used - e. g. to produce default return values for unexpected invocations. - - - - - The used to initialize automatically stubbed properties. - It is equal to the value of at the time when - was last called. - - - - - Gets the setups that have been configured on this mock, - in chronological order (that is, oldest setup first, most recent setup last). - - - - - A set of switches that influence how this mock will operate. - You can opt in or out of certain features via this property. - - - - - Verifies that all verifiable expectations have been met. - - Not all verifiable expectations were met. - - This example sets up an expectation and marks it as verifiable. - After the mock is used, a Verify() call is issued on the mock - to ensure the method in the setup was invoked: - - var mock = new Mock<IWarehouse>(); - this.Setup(x => x.HasInventory(TALISKER, 50)) - .Returns(true) - .Verifiable(); - - ... - - // Will throw if the test code did not call HasInventory. - this.Verify(); - - - - - - Verifies all expectations regardless of whether they have been flagged as verifiable. - - At least one expectation was not met. - - This example sets up an expectation without marking it as verifiable. - After the mock is used, a call is issued on the mock - to ensure that all expectations are met: - - var mock = new Mock<IWarehouse>(); - this.Setup(x => x.HasInventory(TALISKER, 50)) - .Returns(true); - - ... - - // Will throw if the test code did not call HasInventory, - // even though that expectation was not marked as verifiable. - mock.VerifyAll(); - - - - - - Adds an interface implementation to the mock, allowing setups to be specified for it. - - - This method can only be called before the first use of the mock property, - at which point the runtime type has already been generated and no more interfaces can be added to it. - - Also, must be an interface and not a class, - which must be specified when creating the mock instead. - - - Type of interface to cast the mock to. - The specified is not an interface. - - The mock type has already been generated by accessing the property. - - - - - Defines the default return value for all mocked methods or properties with return type . - - The return type for which to define a default value. - The default return value. - - Default return value is respected only when there is no matching setup for a method call. - - - - - Initializes a new instance of the class. - - The of the concrete proxy object on which a method is being invoked. - The method being invoked. - The arguments with which the specified is being invoked. - - - - Gets the method of the invocation. - - - - - Gets the arguments of the invocation. - - - Arguments may be modified. Derived classes must ensure that by-reference parameters are written back - when the invocation is ended by a call to any of the three Returns methods. - - - - - Calls the method implementation - and returns its return value (or for methods). - - - - - - - - Internal type to mark invocation results as "exception occurred during execution". The type just - wraps the Exception so a thrown exception can be distinguished from an - return value. - - - - - A delegate-like type for use with `setup.Callback` which instructs the `Callback` verb - to provide the callback with the current , instead of - with a list of arguments. - - This type is useful in scenarios involving generic type argument matchers (such as - ) as allows the discovery of both - arguments and type arguments. - - - - - - Initializes a new instance of the type. - - The delegate that should be wrapped by this instance. - - - - A delegate-like type for use with `setup.Returns` which instructs the `Returns` verb - to provide the callback with the current , instead of - with a list of arguments. - - This type is useful in scenarios involving generic type argument matchers (such as - ) as allows the discovery of both - arguments and type arguments. - - - - - - Initializes a new instance of the type. - - The delegate that should be wrapped by this instance. - - - - Describes the "shape" of an invocation against which concrete s can be matched. - - This shape is described by which has the general form - `mock => mock.Method(...arguments)`. Because the method and arguments are frequently needed, - they are cached in and - for faster access. - - - - - - A setup configured on a mock. - - - - - - The setup expression. - - - - - Gets the inner mock of this setup (if present and known). - - An "inner mock" is the instance associated with a setup's return value, - if that setup is configured to return a mock object. - - - This property will be if a setup either does not return a mock object, - or if Moq cannot safely determine its return value without risking any side effects. For instance, - Moq is able to inspect the return value if it is a constant (e.g. `.Returns(value)`); - if, on the other hand, it gets computed by a factory function (e.g. `.Returns(() => value)`), - Moq will not attempt to retrieve that value just to find the inner mock, - since calling a user-provided function could have effects beyond Moq's understanding and control. - - - - - - Gets whether this setup is conditional. - - - - - - Gets whether this setup was matched by at least one invocation on the mock. - - - - - Gets whether this setup has been overridden - (that is, whether it is being shadowed by a more recent non-conditional setup with an equal expression). - - - - - Gets whether this setup is "verifiable". - - - This property gets sets by the `.Verifiable()` setup verb. - - Note that setups can be verified even if this property is : - completely ignores this property. - , however, will only verify setups where this property is . - - - - - - Returns the instance to which this setup belongs. - - - - - Returns the original setup expression from which this setup resulted. - - For setups doing a simple member access or method invocation (such as `mock => mock.Member`), - this property will be equal to . - - - For setups whose expression involves member chaining (such as `parent => parent.Child.Member`), - Moq does not create a single setup, but one for each member access/invocation. - The example just given will result in two setups: - - a setup for `parent => parent.Child` on the parent mock; and - on its inner mock, a setup for `(child) => (child).Member`. - - These are the setups that will be put in the mocks' collections; - their will return the partial expression for just a single member access, - while their will return the original, full expression. - - - This property may also return if this setup was created automatically, - e.g. by or by . - - - - - - Verifies this setup and optionally all verifiable setups of its inner mock (if present and known). - - If is set to , - the semantics of this method are essentially the same as those of , - except that this setup (instead of a mock) is used as the starting point for verification, - and will always be verified itself (even if not flagged as verifiable). - - - - Specifies whether recursive verification should be performed. - - - Verification failed due to one or more unmatched setups. - - - - - - - Verifies this setup and all setups of its inner mock (if present and known), - regardless of whether they have been flagged as verifiable. - - The semantics of this method are essentially the same as those of , - except that this setup (instead of a mock) is used as the starting point for verification. - - - - Verification failed due to one or more unmatched setups. - - - - - - - A list of setups that have been configured on a mock, - in chronological order (that is, oldest setup first, most recent setup last). - - - - - Allows the specification of a matching condition for an argument in a method invocation, - rather than a specific argument value. "It" refers to the argument being matched. - - - This class allows the setup to match a method invocation with an arbitrary value, - with a value in a specified range, or even one that matches a given predicate. - - - - - Contains matchers for (C#) / (VB.NET) parameters of type . - - The parameter type. - - - - Matches any value that is assignment-compatible with type . - - - - - Matches any value of the given type. - - Type of the value. - - Typically used when the actual argument value for a method call is not relevant. - - - - // Throws an exception for a call to Remove with any string value. - mock.Setup(x => x.Remove(It.IsAny<string>())).Throws(new InvalidOperationException()); - - - - - - A type matcher that matches any generic type argument. - - If the generic type parameter is constrained to (C#) / - (VB.NET), use instead. - - - If the generic type parameter has more specific constraints, - you can define your own type matcher inheriting from the type to which the type parameter is constrained. - See and . - - - - - - Matches any value of the given type, except null. - - Type of the value. - - - - Matches any value that satisfies the given predicate. - - The predicate used to match the method argument. - Type of the argument to check. - - Allows the specification of a predicate to perform matching of method call arguments. - - - This example shows how to return the value 1 whenever the argument to - the Do method is an even number. - - mock.Setup(x => x.Do(It.Is<int>(i => i % 2 == 0))) - .Returns(1); - - - - This example shows how to throw an exception if the argument to the method - is a negative number: - - mock.Setup(x => x.GetUser(It.Is<int>(i => i < 0))) - .Throws(new ArgumentException()); - - - - - - Matches any value that satisfies the given predicate. - - Use this overload when you specify a type matcher for . - The callback you provide will then receive the actual parameter type - as well as the invocation argument. - - - The predicate used to match the method argument. - Type of the argument to check. - - Allows the specification of a predicate to perform matching of method call arguments. - - - - - Matches any value that equals the using the . - To use the default comparer for the specified object, specify the value inline, - i.e. mock.Verify(service => service.DoWork(value)). - - Use this overload when you specify a value and a comparer. - - - The value to match with. - An with which the values should be compared. - Type of the argument to check. - - - - Matches any value that is in the range specified. - - The lower bound of the range. - The upper bound of the range. - The kind of range. See . - Type of the argument to check. - - The following example shows how to expect a method call with an integer argument - within the 0..100 range. - - mock.Setup(x => x.HasInventory( - It.IsAny<string>(), - It.IsInRange(0, 100, Range.Inclusive))) - .Returns(false); - - - - - - Matches any value that is present in the sequence specified. - - The sequence of possible values. - Type of the argument to check. - - The following example shows how to expect a method call with an integer argument - with value from a list. - - var values = new List<int> { 1, 2, 3 }; - - mock.Setup(x => x.HasInventory( - It.IsAny<string>(), - It.IsIn(values))) - .Returns(false); - - - - - - Matches any value that is present in the sequence specified. - - The sequence of possible values. - An with which the values should be compared. - Type of the argument to check. - - - - Matches any value that is present in the sequence specified. - - The sequence of possible values. - Type of the argument to check. - - The following example shows how to expect a method call with an integer argument - with a value of 1, 2, or 3. - - mock.Setup(x => x.HasInventory( - It.IsAny<string>(), - It.IsIn(1, 2, 3))) - .Returns(false); - - - - - - Matches any value that is not found in the sequence specified. - - The sequence of disallowed values. - Type of the argument to check. - - The following example shows how to expect a method call with an integer argument - with value not found from a list. - - var values = new List<int> { 1, 2, 3 }; - - mock.Setup(x => x.HasInventory( - It.IsAny<string>(), - It.IsNotIn(values))) - .Returns(false); - - - - - - Matches any value that is not found in the sequence specified. - - The sequence of disallowed values. - An with which the values should be compared. - Type of the argument to check. - - - - Matches any value that is not found in the sequence specified. - - The sequence of disallowed values. - Type of the argument to check. - - The following example shows how to expect a method call with an integer argument - of any value except 1, 2, or 3. - - mock.Setup(x => x.HasInventory( - It.IsAny<string>(), - It.IsNotIn(1, 2, 3))) - .Returns(false); - - - - - - Matches a string argument if it matches the given regular expression pattern. - - The pattern to use to match the string argument value. - - The following example shows how to expect a call to a method where the string argument - matches the given regular expression: - - mock.Setup(x => x.Check(It.IsRegex("[a-z]+"))) - .Returns(1); - - - - - - Matches a string argument if it matches the given regular expression pattern. - - The pattern to use to match the string argument value. - The options used to interpret the pattern. - - The following example shows how to expect a call to a method where the string argument - matches the given regular expression, in a case insensitive way: - - mock.Setup(x => x.Check(It.IsRegex("[a-z]+", RegexOptions.IgnoreCase))) - .Returns(1); - - - - - - A type matcher that matches subtypes of , as well as itself. - - The type whose subtypes should match. - - - - A type matcher that matches any value type. - - - - - Types that implement this interface represent a criterion against which generic type arguments are matched. - - To be used in combination with . - - - - - - Matches the provided type argument against the criterion represented by this type matcher. - - - The generic type argument that should be matched. - - - if the provided type argument matched the criterion represented by this instance; - otherwise, . - - - - - Implements the fluent API. - - - - - Implements the fluent API. - - - - - Implements the fluent API. - - - - - Implements the fluent API. - - - - - Implements the fluent API. - - - - - Implements the fluent API. - - - - - Implements the fluent API. - - - - - Implements the fluent API. - - - - - Implements the fluent API. - - - - - Implements the fluent API. - - - - - Defines the Callback verb and overloads. - - - - - Specifies a callback to invoke when the method is called that receives the original . - - This overload is intended to be used in scenarios involving generic type argument matchers - (such as ). The callback will receive the current , - which allows discovery of both arguments and type arguments. - - - For all other use cases, you should prefer the other Callback overloads as they provide - better static type safety. - - - - - Figure out the generic type argument used for a mocked method call: - mock.Setup(m => m.DoSomethingWith<It.IsAnyType>(...)) - .Callback(new InvocationAction(invocation => - { - var typeArgument = invocation.Method.GetGenericArguments()[0]; - // do something interesting with the type argument - }); - mock.Object.DoSomethingWith<Something>(); - - - - - - Specifies a callback of any delegate type to invoke when the method is called. - This overload specifically allows you to define callbacks for methods with by-ref parameters. - By-ref parameters can be assigned to. - - The callback method to invoke. Must have return type void (C#) or be a Sub (VB.NET). - - Invokes the given callback with the concrete invocation argument value. You can modify - by-ref parameters inside the callback. - - delegate void ExecuteAction(ref Command command); - - Command c = ...; - mock.Setup(x => x.Execute(ref c)) - .Callback(new ExecuteAction((ref Command command) => Console.WriteLine("Executing command..."))); - - - - - - Specifies a callback to invoke when the method is called. - - The callback method to invoke. - - The following example specifies a callback to set a boolean - value that can be used later: - - var called = false; - mock.Setup(x => x.Execute()) - .Callback(() => called = true); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The argument type of the invoked method. - The callback method to invoke. - - Invokes the given callback with the concrete invocation argument value. - - Notice how the specific string argument is retrieved by simply declaring - it as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute(It.IsAny<string>())) - .Callback((string command) => Console.WriteLine(command)); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((string arg1, string arg2) => Console.WriteLine(arg1 + arg2)); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((string arg1, string arg2, string arg3) => Console.WriteLine(arg1 + arg2 + arg3)); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((string arg1, string arg2, string arg3, string arg4) => Console.WriteLine(arg1 + arg2 + arg3 + arg4)); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((string arg1, string arg2, string arg3, string arg4, string arg5) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5)); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6)); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7)); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8)); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the ninth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9)); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the ninth argument of the invoked method. - The type of the tenth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10)); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the ninth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11)); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the ninth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The type of the twelfth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12)); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the ninth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The type of the twelfth argument of the invoked method. - The type of the thirteenth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12, string arg13) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13)); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the ninth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The type of the twelfth argument of the invoked method. - The type of the thirteenth argument of the invoked method. - The type of the fourteenth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12, string arg13, string arg14) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13 + arg14)); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the ninth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The type of the twelfth argument of the invoked method. - The type of the thirteenth argument of the invoked method. - The type of the fourteenth argument of the invoked method. - The type of the fifteenth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12, string arg13, string arg14, string arg15) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13 + arg14 + arg15)); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the ninth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The type of the twelfth argument of the invoked method. - The type of the thirteenth argument of the invoked method. - The type of the fourteenth argument of the invoked method. - The type of the fifteenth argument of the invoked method. - The type of the sixteenth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12, string arg13, string arg14, string arg15, string arg16) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13 + arg14 + arg15 + arg16)); - - - - - - Defines the Callback verb and overloads for callbacks on - setups that return a value. - - Mocked type. - Type of the return value of the setup. - - - - Specifies a callback to invoke when the method is called that receives the original . - - This overload is intended to be used in scenarios involving generic type argument matchers - (such as ). The callback will receive the current , - which allows discovery of both arguments and type arguments. - - - For all other use cases, you should prefer the other Callback overloads as they provide - better static type safety. - - - - Figure out the generic type argument used for a mocked method call: - - mock.Setup(m => m.DoSomethingWith<It.IsAnyType>(...)) - .Callback(new InvocationAction(invocation => - { - var typeArgument = invocation.Method.GetGenericArguments()[0]; - // do something interesting with the type argument - }); - mock.Object.DoSomethingWith<Something>(); - - - - - - Specifies a callback of any delegate type to invoke when the method is called. - This overload specifically allows you to define callbacks for methods with by-ref parameters. - By-ref parameters can be assigned to. - - The callback method to invoke. Must have return type void (C#) or be a Sub (VB.NET). - - Invokes the given callback with the concrete invocation argument value. You can modify - by-ref parameters inside the callback. - - delegate void ExecuteAction(ref Command command); - - Command c = ...; - mock.Setup(x => x.Execute(ref c)) - .Callback(new ExecuteAction((ref Command command) => Console.WriteLine("Executing command..."))); - - - - - - Specifies a callback to invoke when the method is called. - - The callback method to invoke. - - The following example specifies a callback to set a boolean value that can be used later: - - var called = false; - mock.Setup(x => x.Execute()) - .Callback(() => called = true) - .Returns(true); - - Note that in the case of value-returning methods, after the Callback - call you can still specify the return value. - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the argument of the invoked method. - Callback method to invoke. - - Invokes the given callback with the concrete invocation argument value. - - Notice how the specific string argument is retrieved by simply declaring - it as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute(It.IsAny<string>())) - .Callback(command => Console.WriteLine(command)) - .Returns(true); - - - - - - Specifies a callback to invoke when the method is called that receives the original - arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((arg1, arg2) => Console.WriteLine(arg1 + arg2)); - - - - - - Specifies a callback to invoke when the method is called that receives the original - arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((arg1, arg2, arg3) => Console.WriteLine(arg1 + arg2 + arg3)); - - - - - - Specifies a callback to invoke when the method is called that receives the original - arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((arg1, arg2, arg3, arg4) => Console.WriteLine(arg1 + arg2 + arg3 + arg4)); - - - - - - Specifies a callback to invoke when the method is called that receives the original - arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((arg1, arg2, arg3, arg4, arg5) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5)); - - - - - - Specifies a callback to invoke when the method is called that receives the original - arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((arg1, arg2, arg3, arg4, arg5, arg6) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6)); - - - - - - Specifies a callback to invoke when the method is called that receives the original - arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7)); - - - - - - Specifies a callback to invoke when the method is called that receives the original - arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8)); - - - - - - Specifies a callback to invoke when the method is called that receives the original - arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the ninth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9)); - - - - - - Specifies a callback to invoke when the method is called that receives the original - arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the ninth argument of the invoked method. - The type of the tenth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10)); - - - - - - Specifies a callback to invoke when the method is called that receives the original - arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the ninth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11)); - - - - - - Specifies a callback to invoke when the method is called that receives the original - arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the ninth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The type of the twelfth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12)); - - - - - - Specifies a callback to invoke when the method is called that receives the original - arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the ninth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The type of the twelfth argument of the invoked method. - The type of the thirteenth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13)); - - - - - - Specifies a callback to invoke when the method is called that receives the original - arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the ninth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The type of the twelfth argument of the invoked method. - The type of the thirteenth argument of the invoked method. - The type of the fourteenth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13 + arg14)); - - - - - - Specifies a callback to invoke when the method is called that receives the original - arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the ninth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The type of the twelfth argument of the invoked method. - The type of the thirteenth argument of the invoked method. - The type of the fourteenth argument of the invoked method. - The type of the fifteenth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13 + arg14 + arg15)); - - - - - - Specifies a callback to invoke when the method is called that receives the original - arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the ninth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The type of the twelfth argument of the invoked method. - The type of the thirteenth argument of the invoked method. - The type of the fourteenth argument of the invoked method. - The type of the fifteenth argument of the invoked method. - The type of the sixteenth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13 + arg14 + arg15 + arg16)); - - - - - - Defines the Callback verb for property getter setups. - - - Mocked type. - Type of the property. - - - - Specifies a callback to invoke when the property is retrieved. - - Callback method to invoke. - - Invokes the given callback with the property value being set. - - mock.SetupGet(x => x.Suspended) - .Callback(() => called = true) - .Returns(true); - - - - - - Defines the Callback verb for property setter setups. - - Type of the property. - - - - Specifies a callback to invoke when the property is set that receives the - property value being set. - - Callback method to invoke. - - Invokes the given callback with the property value being set. - - mock.SetupSet(x => x.Suspended) - .Callback((bool state) => Console.WriteLine(state)); - - - - - - Defines the CallBase verb. - - - - - Calls the real method of the object. - - - - - Defines the Raises verb. - - - - - Specifies the event that will be raised - when the setup is met. - - An expression that represents an event attach or detach action. - The event arguments to pass for the raised event. - - The following example shows how to raise an event when - the setup is met: - - var mock = new Mock<IContainer>(); - - mock.Setup(add => add.Add(It.IsAny<string>(), It.IsAny<object>())) - .Raises(add => add.Added += null, EventArgs.Empty); - - - - - - Specifies the event that will be raised - when the setup is matched. - - An expression that represents an event attach or detach action. - A function that will build the - to pass when raising the event. - - - - - Specifies the custom event that will be raised - when the setup is matched. - - An expression that represents an event attach or detach action. - The arguments to pass to the custom delegate (non EventHandler-compatible). - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - The type of the second argument received by the expected invocation. - - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - The type of the second argument received by the expected invocation. - The type of the third argument received by the expected invocation. - - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - The type of the second argument received by the expected invocation. - The type of the third argument received by the expected invocation. - The type of the fourth argument received by the expected invocation. - - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - The type of the second argument received by the expected invocation. - The type of the third argument received by the expected invocation. - The type of the fourth argument received by the expected invocation. - The type of the fifth argument received by the expected invocation. - - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - The type of the second argument received by the expected invocation. - The type of the third argument received by the expected invocation. - The type of the fourth argument received by the expected invocation. - The type of the fifth argument received by the expected invocation. - The type of the sixth argument received by the expected invocation. - - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - The type of the second argument received by the expected invocation. - The type of the third argument received by the expected invocation. - The type of the fourth argument received by the expected invocation. - The type of the fifth argument received by the expected invocation. - The type of the sixth argument received by the expected invocation. - The type of the seventh argument received by the expected invocation. - - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - The type of the second argument received by the expected invocation. - The type of the third argument received by the expected invocation. - The type of the fourth argument received by the expected invocation. - The type of the fifth argument received by the expected invocation. - The type of the sixth argument received by the expected invocation. - The type of the seventh argument received by the expected invocation. - The type of the eighth argument received by the expected invocation. - - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - The type of the second argument received by the expected invocation. - The type of the third argument received by the expected invocation. - The type of the fourth argument received by the expected invocation. - The type of the fifth argument received by the expected invocation. - The type of the sixth argument received by the expected invocation. - The type of the seventh argument received by the expected invocation. - The type of the eighth argument received by the expected invocation. - The type of the ninth argument received by the expected invocation. - - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - The type of the second argument received by the expected invocation. - The type of the third argument received by the expected invocation. - The type of the fourth argument received by the expected invocation. - The type of the fifth argument received by the expected invocation. - The type of the sixth argument received by the expected invocation. - The type of the seventh argument received by the expected invocation. - The type of the eighth argument received by the expected invocation. - The type of the ninth argument received by the expected invocation. - The type of the tenth argument received by the expected invocation. - - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - The type of the second argument received by the expected invocation. - The type of the third argument received by the expected invocation. - The type of the fourth argument received by the expected invocation. - The type of the fifth argument received by the expected invocation. - The type of the sixth argument received by the expected invocation. - The type of the seventh argument received by the expected invocation. - The type of the eighth argument received by the expected invocation. - The type of the ninth argument received by the expected invocation. - The type of the tenth argument received by the expected invocation. - The type of the eleventh argument received by the expected invocation. - - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - The type of the second argument received by the expected invocation. - The type of the third argument received by the expected invocation. - The type of the fourth argument received by the expected invocation. - The type of the fifth argument received by the expected invocation. - The type of the sixth argument received by the expected invocation. - The type of the seventh argument received by the expected invocation. - The type of the eighth argument received by the expected invocation. - The type of the ninth argument received by the expected invocation. - The type of the tenth argument received by the expected invocation. - The type of the eleventh argument received by the expected invocation. - The type of the twelfth argument received by the expected invocation. - - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - The type of the second argument received by the expected invocation. - The type of the third argument received by the expected invocation. - The type of the fourth argument received by the expected invocation. - The type of the fifth argument received by the expected invocation. - The type of the sixth argument received by the expected invocation. - The type of the seventh argument received by the expected invocation. - The type of the eighth argument received by the expected invocation. - The type of the ninth argument received by the expected invocation. - The type of the tenth argument received by the expected invocation. - The type of the eleventh argument received by the expected invocation. - The type of the twelfth argument received by the expected invocation. - The type of the thirteenth argument received by the expected invocation. - - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - The type of the second argument received by the expected invocation. - The type of the third argument received by the expected invocation. - The type of the fourth argument received by the expected invocation. - The type of the fifth argument received by the expected invocation. - The type of the sixth argument received by the expected invocation. - The type of the seventh argument received by the expected invocation. - The type of the eighth argument received by the expected invocation. - The type of the ninth argument received by the expected invocation. - The type of the tenth argument received by the expected invocation. - The type of the eleventh argument received by the expected invocation. - The type of the twelfth argument received by the expected invocation. - The type of the thirteenth argument received by the expected invocation. - The type of the fourteenth argument received by the expected invocation. - - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - The type of the second argument received by the expected invocation. - The type of the third argument received by the expected invocation. - The type of the fourth argument received by the expected invocation. - The type of the fifth argument received by the expected invocation. - The type of the sixth argument received by the expected invocation. - The type of the seventh argument received by the expected invocation. - The type of the eighth argument received by the expected invocation. - The type of the ninth argument received by the expected invocation. - The type of the tenth argument received by the expected invocation. - The type of the eleventh argument received by the expected invocation. - The type of the twelfth argument received by the expected invocation. - The type of the thirteenth argument received by the expected invocation. - The type of the fourteenth argument received by the expected invocation. - The type of the fifteenth argument received by the expected invocation. - - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - The type of the second argument received by the expected invocation. - The type of the third argument received by the expected invocation. - The type of the fourth argument received by the expected invocation. - The type of the fifth argument received by the expected invocation. - The type of the sixth argument received by the expected invocation. - The type of the seventh argument received by the expected invocation. - The type of the eighth argument received by the expected invocation. - The type of the ninth argument received by the expected invocation. - The type of the tenth argument received by the expected invocation. - The type of the eleventh argument received by the expected invocation. - The type of the twelfth argument received by the expected invocation. - The type of the thirteenth argument received by the expected invocation. - The type of the fourteenth argument received by the expected invocation. - The type of the fifteenth argument received by the expected invocation. - The type of the sixteenth argument received by the expected invocation. - - - - - Defines the Returns verb. - - Mocked type. - Type of the return value from the expression. - - - - Specifies the value to return. - - The value to return, or . - - Return a true value from the method call: - - mock.Setup(x => x.Execute("ping")) - .Returns(true); - - - - - - Specifies a function that will calculate the value to return from the method. - - This overload is intended to be used in scenarios involving generic type argument matchers, - such as . The function will receive the current , - which allows discovery of both arguments and type arguments. - - - For all other use cases, you should prefer the other Returns overloads as they provide - better static type safety. - - - - Mock a method to act like a generic factory method: - - factory.Setup(m => m.Create<It.IsAnyType>()) - .Returns(new InvocationFunc(invocation => - { - var typeArgument = invocation.Method.GetGenericArguments()[0]; - return Activator.CreateInstance(typeArgument); - }); - var something = factory.Object.Create<Something>(); - - - - - - Specifies a function that will calculate the value to return from the method. - This overload specifically allows you to specify a function with by-ref parameters. - Those by-ref parameters can be assigned to (though you should probably do that from - a Callback instead). - - The function that will calculate the return value. - - Return a calculated value when the method is called: - - delegate bool ExecuteFunc(ref Command command); - - Command c = ...; - mock.Setup(x => x.Execute(ref c)) - .Returns(new ExecuteFunc((ref Command command) => command.IsExecutable)); - - - - - - Specifies a function that will calculate the value to return from the method. - - The function that will calculate the return value. - - Return a calculated value when the method is called: - - mock.Setup(x => x.Execute("ping")) - .Returns(() => returnValues[0]); - - The lambda expression to retrieve the return value is lazy-executed, - meaning that its value may change depending on the moment the method - is executed and the value the returnValues array has at - that moment. - - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the argument of the invoked method. - The function that will calculate the return value. - - Return a calculated value which is evaluated lazily at the time of the invocation. - - The lookup list can change between invocations and the setup - will return different values accordingly. Also, notice how the specific - string argument is retrieved by simply declaring it as part of the lambda - expression: - - - mock.Setup(x => x.Execute(It.IsAny<string>())) - .Returns((string command) => returnValues[command]); - - - - - - Calls the real method of the object and returns its return value. - - The value calculated by the real method of the object. - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The function that will calculate the return value. - Returns a calculated value which is evaluated lazily at the time of the invocation. - - - The return value is calculated from the value of the actual method invocation arguments. - Notice how the arguments are retrieved by simply declaring them as part of the lambda - expression: - - - mock.Setup(x => x.Execute( - It.IsAny<int>(), - It.IsAny<int>())) - .Returns((string arg1, string arg2) => arg1 + arg2); - - - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The function that will calculate the return value. - Returns a calculated value which is evaluated lazily at the time of the invocation. - - - The return value is calculated from the value of the actual method invocation arguments. - Notice how the arguments are retrieved by simply declaring them as part of the lambda - expression: - - - mock.Setup(x => x.Execute( - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>())) - .Returns((string arg1, string arg2, string arg3) => arg1 + arg2 + arg3); - - - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The function that will calculate the return value. - Returns a calculated value which is evaluated lazily at the time of the invocation. - - - The return value is calculated from the value of the actual method invocation arguments. - Notice how the arguments are retrieved by simply declaring them as part of the lambda - expression: - - - mock.Setup(x => x.Execute( - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>())) - .Returns((string arg1, string arg2, string arg3, string arg4) => arg1 + arg2 + arg3 + arg4); - - - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The function that will calculate the return value. - Returns a calculated value which is evaluated lazily at the time of the invocation. - - - The return value is calculated from the value of the actual method invocation arguments. - Notice how the arguments are retrieved by simply declaring them as part of the lambda - expression: - - - mock.Setup(x => x.Execute( - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>())) - .Returns((string arg1, string arg2, string arg3, string arg4, string arg5) => arg1 + arg2 + arg3 + arg4 + arg5); - - - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The function that will calculate the return value. - Returns a calculated value which is evaluated lazily at the time of the invocation. - - - The return value is calculated from the value of the actual method invocation arguments. - Notice how the arguments are retrieved by simply declaring them as part of the lambda - expression: - - - mock.Setup(x => x.Execute( - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>())) - .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6); - - - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The function that will calculate the return value. - Returns a calculated value which is evaluated lazily at the time of the invocation. - - - The return value is calculated from the value of the actual method invocation arguments. - Notice how the arguments are retrieved by simply declaring them as part of the lambda - expression: - - - mock.Setup(x => x.Execute( - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>())) - .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7); - - - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The function that will calculate the return value. - Returns a calculated value which is evaluated lazily at the time of the invocation. - - - The return value is calculated from the value of the actual method invocation arguments. - Notice how the arguments are retrieved by simply declaring them as part of the lambda - expression: - - - mock.Setup(x => x.Execute( - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>())) - .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8); - - - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the ninth argument of the invoked method. - The function that will calculate the return value. - Returns a calculated value which is evaluated lazily at the time of the invocation. - - - The return value is calculated from the value of the actual method invocation arguments. - Notice how the arguments are retrieved by simply declaring them as part of the lambda - expression: - - - mock.Setup(x => x.Execute( - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>())) - .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9); - - - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the ninth argument of the invoked method. - The type of the tenth argument of the invoked method. - The function that will calculate the return value. - Returns a calculated value which is evaluated lazily at the time of the invocation. - - - The return value is calculated from the value of the actual method invocation arguments. - Notice how the arguments are retrieved by simply declaring them as part of the lambda - expression: - - - mock.Setup(x => x.Execute( - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>())) - .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10); - - - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the ninth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The function that will calculate the return value. - Returns a calculated value which is evaluated lazily at the time of the invocation. - - - The return value is calculated from the value of the actual method invocation arguments. - Notice how the arguments are retrieved by simply declaring them as part of the lambda - expression: - - - mock.Setup(x => x.Execute( - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>())) - .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11); - - - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the ninth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The type of the twelfth argument of the invoked method. - The function that will calculate the return value. - Returns a calculated value which is evaluated lazily at the time of the invocation. - - - The return value is calculated from the value of the actual method invocation arguments. - Notice how the arguments are retrieved by simply declaring them as part of the lambda - expression: - - - mock.Setup(x => x.Execute( - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>())) - .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12); - - - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the ninth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The type of the twelfth argument of the invoked method. - The type of the thirteenth argument of the invoked method. - The function that will calculate the return value. - Returns a calculated value which is evaluated lazily at the time of the invocation. - - - The return value is calculated from the value of the actual method invocation arguments. - Notice how the arguments are retrieved by simply declaring them as part of the lambda - expression: - - - mock.Setup(x => x.Execute( - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>())) - .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12, string arg13) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13); - - - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the ninth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The type of the twelfth argument of the invoked method. - The type of the thirteenth argument of the invoked method. - The type of the fourteenth argument of the invoked method. - The function that will calculate the return value. - Returns a calculated value which is evaluated lazily at the time of the invocation. - - - The return value is calculated from the value of the actual method invocation arguments. - Notice how the arguments are retrieved by simply declaring them as part of the lambda - expression: - - - mock.Setup(x => x.Execute( - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>())) - .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12, string arg13, string arg14) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13 + arg14); - - - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the ninth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The type of the twelfth argument of the invoked method. - The type of the thirteenth argument of the invoked method. - The type of the fourteenth argument of the invoked method. - The type of the fifteenth argument of the invoked method. - The function that will calculate the return value. - Returns a calculated value which is evaluated lazily at the time of the invocation. - - - The return value is calculated from the value of the actual method invocation arguments. - Notice how the arguments are retrieved by simply declaring them as part of the lambda - expression: - - - mock.Setup(x => x.Execute( - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>())) - .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12, string arg13, string arg14, string arg15) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13 + arg14 + arg15); - - - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the ninth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The type of the twelfth argument of the invoked method. - The type of the thirteenth argument of the invoked method. - The type of the fourteenth argument of the invoked method. - The type of the fifteenth argument of the invoked method. - The type of the sixteenth argument of the invoked method. - The function that will calculate the return value. - Returns a calculated value which is evaluated lazily at the time of the invocation. - - - The return value is calculated from the value of the actual method invocation arguments. - Notice how the arguments are retrieved by simply declaring them as part of the lambda - expression: - - - mock.Setup(x => x.Execute( - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>())) - .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12, string arg13, string arg14, string arg15, string arg16) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13 + arg14 + arg15 + arg16); - - - - - - Defines the Returns verb for property get setups. - - Mocked type. - Type of the property. - - - - Specifies the value to return. - - The value to return, or . - - Return a true value from the property getter call: - - mock.SetupGet(x => x.Suspended) - .Returns(true); - - - - - - Specifies a function that will calculate the value to return for the property. - - The function that will calculate the return value. - - Return a calculated value when the property is retrieved: - - mock.SetupGet(x => x.Suspended) - .Returns(() => returnValues[0]); - - The lambda expression to retrieve the return value is lazy-executed, - meaning that its value may change depending on the moment the property - is retrieved and the value the returnValues array has at - that moment. - - - - - Calls the real property of the object and returns its return value. - - The value calculated by the real property of the object. - - - - Implements the fluent API. - - - - - The expectation will be considered only in the former condition. - - - - - - - The expectation will be considered only in the former condition. - - - - - - - - Setups the get. - - The type of the property. - The expression. - - - - - Setups the set. - - The type of the property. - The setter expression. - - - - - Setups the set. - - The setter expression. - - - - - Defines the Pass and Throws verbs for sequence setups - on void methods. - - - - - Configures the next call in the sequence to do nothing. - - - The following code configures the first call to Execute() - to do nothing, and the second call to throw an exception. - - mock.SetupSequence(m => m.Execute()) - .Pass() - .Throws<InvalidOperationException>(); - - - - - - Configures the next call in the sequence to throw an exception. - - - The following code configures the first call to Execute() - to do nothing, and the second call to throw an exception. - - mock.SetupSequence(m => m.Execute()) - .Pass() - .Throws<InvalidOperationException>(); - - - - - - Configures the next call in the sequence to throw an exception. - - - The following code configures the first call to Execute() - to do nothing, and the second call to throw an exception. - - mock.SetupSequence(m => m.Execute()) - .Pass() - .Throws(new InvalidOperationException()); - - - - - - Language for ReturnSequence - - - - - Returns value - - - - - Uses delegate to get return value - - The function that will calculate the return value. - - - - Throws an exception - - - - - Throws an exception - - - - - Calls original method - - - - - Defines the Throws verb. - - - - - Specifies the exception to throw when the method is invoked. - - Exception instance to throw. - - This example shows how to throw an exception when the method is - invoked with an empty string argument: - - mock.Setup(x => x.Execute("")) - .Throws(new ArgumentException()); - - - - - - Specifies the type of exception to throw when the method is invoked. - - Type of exception to instantiate and throw when the setup is matched. - - This example shows how to throw an exception when the method is - invoked with an empty string argument: - - mock.Setup(x => x.Execute("")) - .Throws<ArgumentException>(); - - - - - - Defines the Verifiable verb. - - - - - Marks the expectation as verifiable, meaning that a call - to will check if this particular - expectation was met. - - - The following example marks the expectation as verifiable: - - mock.Expect(x => x.Execute("ping")) - .Returns(true) - .Verifiable(); - - - - - - Marks the expectation as verifiable, meaning that a call - to will check if this particular - expectation was met, and specifies a message for failures. - - - The following example marks the expectation as verifiable: - - mock.Expect(x => x.Execute("ping")) - .Returns(true) - .Verifiable("Ping should be executed always!"); - - - - - - Defines occurrence members to constraint setups. - - - - - The expected invocation can happen at most once. - - - - var mock = new Mock<ICommand>(); - mock.Setup(foo => foo.Execute("ping")) - .AtMostOnce(); - - - - - - The expected invocation can happen at most specified number of times. - - The number of times to accept calls. - - - var mock = new Mock<ICommand>(); - mock.Setup(foo => foo.Execute("ping")) - .AtMost( 5 ); - - - - - - A default implementation of IQueryable for use with QueryProvider - - - - - Converts a taken-apart binary expression such as `m.A.B` (==) `x` to - `Mocks.SetupReturns(Mock.Get(m), m' => m'.A.B, (object)x)`. - - Body of the expression to set up. - Return value to be configured for . - - - - Locates the root mock object in a setup expression (which is usually, but not always, a ), - stores a reference to it, and finally replaces it with a new . - - - - - Utility repository class to use to construct multiple - mocks when consistent verification is - desired for all of them. - - - If multiple mocks will be created during a test, passing - the desired (if different than the - or the one - passed to the repository constructor) and later verifying each - mock can become repetitive and tedious. - - This repository class helps in that scenario by providing a - simplified creation of multiple mocks with a default - (unless overridden by calling - ) and posterior verification. - - - - The following is a straightforward example on how to - create and automatically verify strict mocks using a : - - var repository = new MockRepository(MockBehavior.Strict); - - var foo = repository.Create<IFoo>(); - var bar = repository.Create<IBar>(); - - // no need to call Verifiable() on the setup - // as we'll be validating all of them anyway. - foo.Setup(f => f.Do()); - bar.Setup(b => b.Redo()); - - // exercise the mocks here - - repository.VerifyAll(); - // At this point all setups are already checked - // and an optional MockException might be thrown. - // Note also that because the mocks are strict, any invocation - // that doesn't have a matching setup will also throw a MockException. - - The following examples shows how to setup the repository - to create loose mocks and later verify only verifiable setups: - - var repository = new MockRepository(MockBehavior.Loose); - - var foo = repository.Create<IFoo>(); - var bar = repository.Create<IBar>(); - - // this setup will be verified when we verify the repository - foo.Setup(f => f.Do()).Verifiable(); - - // this setup will NOT be verified - foo.Setup(f => f.Calculate()); - - // this setup will be verified when we verify the repository - bar.Setup(b => b.Redo()).Verifiable(); - - // exercise the mocks here - // note that because the mocks are Loose, members - // called in the interfaces for which no matching - // setups exist will NOT throw exceptions, - // and will rather return default values. - - repository.Verify(); - // At this point verifiable setups are already checked - // and an optional MockException might be thrown. - - The following examples shows how to setup the repository with a - default strict behavior, overriding that default for a - specific mock: - - var repository = new MockRepository(MockBehavior.Strict); - - // this particular one we want loose - var foo = repository.Create<IFoo>(MockBehavior.Loose); - var bar = repository.Create<IBar>(); - - // specify setups - - // exercise the mocks here - - repository.Verify(); - - - - - - - Access the universe of mocks of the given type, to retrieve those - that behave according to the LINQ query specification. - - The type of the mocked object to query. - - - - Access the universe of mocks of the given type, to retrieve those - that behave according to the LINQ query specification. - - Behavior of the mocks. - The type of the mocked object to query. - - - - Access the universe of mocks of the given type, to retrieve those - that behave according to the LINQ query specification. - - The predicate with the setup expressions. - The type of the mocked object to query. - - - - Access the universe of mocks of the given type, to retrieve those - that behave according to the LINQ query specification. - - The predicate with the setup expressions. - Behavior of the mocks. - The type of the mocked object to query. - - - - Creates a mock object of the indicated type. - - The type of the mocked object. - The mocked object created. - - - - Creates a mock object of the indicated type. - - Behavior of the mock. - The type of the mocked object. - The mocked object created. - - - - Creates a mock object of the indicated type. - - The predicate with the setup expressions. - The type of the mocked object. - The mocked object created. - - - - Creates a mock object of the indicated type. - - The predicate with the setup expressions. - Behavior of the mock. - The type of the mocked object. - The mocked object created. - - - - Creates the mock query with the underlying queryable implementation. - - - - - Wraps the enumerator inside a queryable. - - - - - Method that is turned into the actual call from .Query{T}, to - transform the queryable query into a normal enumerable query. - This method is never used directly by consumers. - - - - - Initializes the repository with the given - for newly created mocks from the repository. - - The behavior to use for mocks created - using the repository method if not overridden - by using the overload. - - - - Allows querying the universe of mocks for those that behave - according to the LINQ query specification. - - - - - Access the universe of mocks of the given type, to retrieve those - that behave according to the LINQ query specification. - - The type of the mocked object to query. - - - - Access the universe of mocks of the given type, to retrieve those - that behave according to the LINQ query specification. - - Behavior of the mocks. - The type of the mocked object to query. - - - - Access the universe of mocks of the given type, to retrieve those - that behave according to the LINQ query specification. - - The predicate with the setup expressions. - The type of the mocked object to query. - - - - Access the universe of mocks of the given type, to retrieve those - that behave according to the LINQ query specification. - - The predicate with the setup expressions. - Behavior of the mocks. - The type of the mocked object to query. - - - - Creates a mock object of the indicated type. - - The type of the mocked object. - The mocked object created. - - - - Creates a mock object of the indicated type. - - The predicate with the setup expressions. - The type of the mocked object. - The mocked object created. - - - - Creates the mock query with the underlying queryable implementation. - - - - - Wraps the enumerator inside a queryable. - - - - - Method that is turned into the actual call from .Query{T}, to - transform the queryable query into a normal enumerable query. - This method is never used directly by consumers. - - - - - Abstract base class for default value providers that look up and delegate to value factory functions for the requested type(s). - If a request cannot be satisfied by any registered factory, the default value gets produced by a fallback strategy. - - - - Derived classes can register and deregister factory functions with and , - respectively. - - - The fallback value generation strategy is implemented by the overridable method. - - - This base class sets up factory functions for task types (, , - and ) that produce completed tasks containing default values. - If this behavior is not desired, derived classes may deregister those standard factory functions via . - - - - - - Initializes a new instance of the class. - - - - - Deregisters any factory function that might currently be registered for the given type(s). - Subsequent requests for values of the given type(s) will be handled by the fallback strategy. - - The type(s) for which to remove any registered factory function. - - - - Registers a factory function for the given type(s). - Subsequent requests for values of the given type(s) will be handled by the specified function. - - - - The type(s) for which to register the given function. - - - All array types are represented by (). - Generic types are represented by their open generic type definition, e. g. (<>). - - - The factory function responsible for producing values for the given type. - - - - - - - - - - - - - Determines the default value for the given when no suitable factory is registered for it. - May be overridden in derived classes. - - The type of which to produce a value. - The on which an unexpected invocation has occurred. - - - - Allows creating custom value matchers that can be used on setups and verification, - completely replacing the built-in class with your own - argument matching rules. - - - Argument matching is used to determine whether a concrete invocation in the mock - matches a given setup. This matching mechanism is fully extensible. - - - Creating a custom matcher is straightforward. You just need to create a method - that returns a value from a call to - with your matching condition and optional friendly render expression: - - public Order IsBigOrder() - { - return Match.Create<Order>( - o => o.GrandTotal >= 5000, - () => IsBigOrder()); // a friendly expression to render on failures - } - - This method can be used in any mock setup invocation: - - mock.Setup(m => m.Submit(IsBigOrder()) - .Throws<UnauthorizedAccessException>(); - - At runtime, Moq knows that the return value was a matcher and - evaluates your predicate with the actual value passed into your predicate. - - Another example might be a case where you want to match a lists of orders - that contains a particular one. You might create matcher like the following: - - - public static class Orders - { - public static IEnumerable<Order> Contains(Order order) - { - return Match.Create<IEnumerable<Order>>(orders => orders.Contains(order)); - } - } - - Now we can invoke this static method instead of an argument in an invocation: - - var order = new Order { ... }; - var mock = new Mock<IRepository<Order>>(); - - mock.Setup(x => x.Save(Orders.Contains(order))) - .Throws<ArgumentException>(); - - - - - - Provided for the sole purpose of rendering the delegate passed to the - matcher constructor if no friendly render lambda is provided. - - - - - Initializes the matcher with the condition that will be checked - in order to match invocation values. - - The condition to match against actual values. - - - - Initializes the matcher with the condition that will be checked - in order to match invocation values. - - The condition to match against actual values. - - A lambda representation of the matcher, to be used when rendering error messages, - such as () => It.IsAny<string<(). - - - - - Initializes the matcher with the condition that will be checked in order to match invocation values. - - The predicate of this overload will not only be provided with a - method argument, but also with the associated parameter's type. This parameter type essentially - overrides in cases where the latter is a type matcher. Therefore, - use this method overload if you want your custom matcher to work together with type matchers. - - - - The condition to match against actual values. - - This function will be passed the invocation argument, as well as the type of the associated parameter. - - - - A lambda representation of the matcher. - - - - - Allows creating custom value matchers that can be used on setups and verification, - completely replacing the built-in class with your own - argument matching rules. - - Type of the value to match. - - - - - - - - - - - - - A per-thread observer that records invocations to matchers for later inspection. - - - - This component requires the active cooperation of the respective subsystem. - That is, invoked matchers call into if an - observer is active on the current thread. - - - - - - Returns the current timestamp. The next call will return a timestamp greater than this one, - allowing you to order invocations and matcher observations. - - - - - Adds the specified as an observation. - - - - - Checks whether at least one observation is available, - and if so, returns the last one. - - The observed matcher observed last. - - - - Matcher to treat static functions as matchers. - - mock.Setup(x => x.StringMethod(A.MagicString())); - - public static class A - { - [Matcher] - public static string MagicString() { return null; } - public static bool MagicString(string arg) - { - return arg == "magic"; - } - } - - Will succeed if: mock.Object.StringMethod("magic"); - and fail with any other call. - - - - - Options to customize the behavior of the mock. - - - - - Causes the mock to always throw - an exception for invocations that don't have a - corresponding setup. - - - - - Will never throw exceptions, returning default - values when necessary (null for reference types, - zero for value types or empty enumerables and arrays). - - - - - Default mock behavior, which equals . - - - - - A that returns an empty default value - for non-mockable types, and mocks for all other types (interfaces and - non-sealed classes) that can be mocked. - - - - - Exception thrown by mocks when they are not properly set up, - when setups are not matched, when verification fails, etc. - - - A distinct exception type is provided so that exceptions - thrown by a mock can be distinguished from other exceptions - that might be thrown in tests. - - Moq does not provide a richer hierarchy of exception types, as - tests typically should not catch or expect exceptions - from mocks. These are typically the result of changes - in the tested class or its collaborators' implementation, and - result in fixes in the mock setup so that they disappear and - allow the test to pass. - - - - - - Returns the exception to be thrown when a setup limited by is matched more often than once. - - - - - Returns the exception to be thrown when a setup limited by is matched more often than the specified maximum number of times. - - - - - Returns the exception to be thrown when finds no invocations (or the wrong number of invocations) that match the specified expectation. - - - - - Returns the exception to be thrown when a strict mock has no setup corresponding to the specified invocation. - - - - - Returns the exception to be thrown when a strict mock has no setup that provides a return value for the specified invocation. - - - - - Returns the exception to be thrown when a setup was not matched. - - - - - Returns an exception whose message is the concatenation of the given ' messages - and whose reason(s) is the combination of the given ' reason(s). - Used by when it finds one or more mocks with verification errors. - - - - - Returns the exception to be thrown when finds invocations that have not been verified. - - - - - Indicates whether this exception is a verification fault raised by Verify() - - - - - Supports the serialization infrastructure. - - Serialization information. - Streaming context. - - - - Supports the serialization infrastructure. - - Serialization information. - Streaming context. - - - - Provides additional methods on mocks. - - - - - Resets this mock's state. This includes its setups, configured default return values, registered event handlers, and all recorded invocations. - - The mock whose state should be reset. - - - - Resets all invocations recorded for this mock. - - The mock whose recorded invocations should be reset. - - - - Helper class to setup a full trace between many mocks - - - - - Initialize a trace setup - - - - - Allow sequence to be repeated - - - - - Contains extension methods that are related to . - - - - - Perform an expectation in the trace. - - - - - Provides a mock implementation of . - - Type to mock, which can be an interface, a class, or a delegate. - - Any interface type can be used for mocking, but for classes, only abstract and virtual members can be mocked. - - The behavior of the mock with regards to the setups and the actual calls is determined by the optional - that can be passed to the constructor. - - - - The following example shows establishing setups with specific values for method invocations: - - // Arrange - var order = new Order(TALISKER, 50); - var warehouse = new Mock<IWarehouse>(); - warehouse.Setup(w => w.HasInventory(TALISKER, 50)).Returns(true); - - // Act - order.Fill(warehouse.Object); - - // Assert - Assert.True(order.IsFilled); - - - - The following example shows how to use the class - to specify conditions for arguments instead of specific values: - - // Arrange - var order = new Order(TALISKER, 50); - var warehouse = new Mock<IWarehouse>(); - - // shows how to expect a value within a range: - warehouse.Setup(x => x.HasInventory( - It.IsAny<string>(), - It.IsInRange(0, 100, Range.Inclusive))) - .Returns(false); - - // shows how to throw for unexpected calls. - warehouse.Setup(x => x.Remove( - It.IsAny<string>(), - It.IsAny<int>())) - .Throws(new InvalidOperationException()); - - // Act - order.Fill(warehouse.Object); - - // Assert - Assert.False(order.IsFilled); - - - - - - Ctor invoked by AsTInterface exclusively. - - - - - Initializes an instance of the mock with behavior. - - - - var mock = new Mock<IFormatProvider>(); - - - - - - Initializes an instance of the mock with behavior - and with the given constructor arguments for the class. (Only valid when is a class.) - - Optional constructor arguments if the mocked type is a class. - - The mock will try to find the best match constructor given the constructor arguments, - and invoke that to initialize the instance.This applies only for classes, not interfaces. - - - - var mock = new Mock<MyProvider>(someArgument, 25); - - - - - - Initializes an instance of the mock with the specified behavior. - - Behavior of the mock. - - - var mock = new Mock<IFormatProvider>(MockBehavior.Strict); - - - - - - Initializes an instance of the mock with a specific behavior - and with the given constructor arguments for the class. - - Behavior of the mock. - Optional constructor arguments if the mocked type is a class. - - The mock will try to find the best match constructor given the constructor arguments, - and invoke that to initialize the instance. This applies only to classes, not interfaces. - - - - - Initializes an instance of the mock using the given constructor call including its - argument values and with a specific behavior. - - Lambda expression that creates an instance of . - Behavior of the mock. - - var mock = new Mock<MyProvider>(() => new MyProvider(someArgument, 25), MockBehavior.Loose); - - - - - - - - - - - Gets or sets the instance that will be used - e. g. to produce default return values for unexpected invocations. - - - - - Exposes the mocked object instance. - - - - - Allows naming of your mocks, so they can be easily identified in error messages (e.g. from failed assertions). - - - - - Returns the name of the mock. - - - - - Returns the mocked object value. - - - - - A set of switches that influence how this mock will operate. - You can opt in or out of certain features via this property. - - - - - Adds an interface implementation to the mock, allowing setups to be specified for it. - - - This method can only be called before the first use of the mock property, - at which point the runtime type has already been generated and no more interfaces can be added to it. - - Also, must be an interface and not a class, - which must be specified when creating the mock instead. - - - Type of interface to cast the mock to. - The specified is not an interface. - - The mock type has already been generated by accessing the property. - - - The following example creates a mock for the main interface - and later adds to it to verify it's called by the consumer code: - - var mock = new Mock<IProcessor>(); - mock.Setup(x => x.Execute("ping")); - - // add IDisposable interface - var disposable = mock.As<IDisposable>(); - disposable.Setup(d => d.Dispose()) - .Verifiable(); - - - - - - Specifies a setup on the mocked type for a call to a method. - - Lambda expression that specifies the expected method invocation. - - If more than one setup is specified for the same method or property, - the latest one wins and is the one that will be executed. - - - - var mock = new Mock<IProcessor>(); - mock.Setup(x => x.Execute("ping")); - - - - - - Specifies a setup on the mocked type for a call to a non- (value-returning) method. - - Lambda expression that specifies the method invocation. - Type of the return value. Typically omitted as it can be inferred from the expression. - - If more than one setup is specified for the same method or property, - the latest one wins and is the one that will be executed. - - - - mock.Setup(x => x.HasInventory("Talisker", 50)) - .Returns(true); - - - - - - Specifies a setup on the mocked type for a call to a property getter. - - Lambda expression that specifies the property getter. - Type of the property. Typically omitted as it can be inferred from the expression. - - If more than one setup is set for the same property getter, - the latest one wins and is the one that will be executed. - - - - mock.SetupGet(x => x.Suspended) - .Returns(true); - - - - - - Specifies a setup on the mocked type for a call to a property setter. - - The Lambda expression that sets a property to a value. - Type of the property. Typically omitted as it can be inferred from the expression. - - If more than one setup is set for the same property setter, - the latest one wins and is the one that will be executed. - - This overloads allows the use of a callback already typed for the property type. - - - - - mock.SetupSet(x => x.Suspended = true); - - - - - - Specifies a setup on the mocked type for a call to a property setter. - - Lambda expression that sets a property to a value. - - If more than one setup is set for the same property setter, - the latest one wins and is the one that will be executed. - - - - mock.SetupSet(x => x.Suspended = true); - - - - - - Specifies a setup on the mocked type for a call to an event add. - - Lambda expression that adds an event. - - If more than one setup is set for the same event add, - the latest one wins and is the one that will be executed. - - - - mock.SetupAdd(x => x.EventHandler += (s, e) => {}); - - - - - - Specifies a setup on the mocked type for a call to an event remove. - - Lambda expression that removes an event. - - If more than one setup is set for the same event remove, - the latest one wins and is the one that will be executed. - - - - mock.SetupRemove(x => x.EventHandler -= (s, e) => {}); - - - - - - Specifies that the given property should have "property behavior", - meaning that setting its value will cause it to be saved and later returned when the property is requested. - (This is also known as "stubbing".) - - Property expression to stub. - - Type of the property, inferred from the property expression (does not need to be specified). - - - If you have an interface with an int property Value, - you might stub it using the following straightforward call: - - var mock = new Mock<IHaveValue>(); - mock.SetupProperty(v => v.Value); - - After the SetupProperty call has been issued, setting and retrieving - the object value will behave as expected: - - IHaveValue v = mock.Object; - v.Value = 5; - Assert.Equal(5, v.Value); - - - - - - Specifies that the given property should have "property behavior", - meaning that setting its value will cause it to be saved and later returned when the property is requested. - This overload allows setting the initial value for the property. - (This is also known as "stubbing".) - - Property expression to stub. - Initial value for the property. - - Type of the property, inferred from the property expression (does not need to be specified). - - - If you have an interface with an int property Value, - you might stub it using the following straightforward call: - - var mock = new Mock<IHaveValue>(); - mock.SetupProperty(v => v.Value, 5); - - After the SetupProperty call has been issued, setting and retrieving the object value - will behave as expected: - - IHaveValue v = mock.Object; - Assert.Equal(5, v.Value); // Initial value was stored - - // New value set which changes the initial value - v.Value = 6; - Assert.Equal(6, v.Value); - - - - - - Specifies that the all properties on the mock should have "property behavior", - meaning that setting their value will cause them to be saved and later returned when the properties is requested. - (This is also known as "stubbing".) - The default value for each property will be the one generated as specified by the - property for the mock. - - - If the mock's is set to , - the mocked default values will also get all properties setup recursively. - - - - - Return a sequence of values, once per call. - - - - - Performs a sequence of actions, one per call. - - - - - Allows setting up a conditional setup. - Conditional setups are only matched by an invocation - when the specified condition evaluates to - at the time when the invocation occurs. - - - The condition that should be checked - when a setup is being matched against an invocation. - - - - - Verifies that a specific invocation matching the given expression was performed on the mock. - Use in conjunction with the default . - - Expression to verify. - The invocation was not performed on the mock. - - This example assumes that the mock has been used, and later we want to verify - that a given invocation with specific parameters was performed: - - var mock = new Mock<IProcessor>(); - - ... // exercise mock - - // Will throw if the test code didn't call Execute with a "ping" string argument. - mock.Verify(proc => proc.Execute("ping")); - - - - - - Verifies that a specific invocation matching the given expression was performed on the mock. - Use in conjunction with the default . - - Expression to verify. - The number of times a method is expected to be called. - - The invocation was not called the number of times specified by . - - - - - Verifies that a specific invocation matching the given expression was performed on the mock. - Use in conjunction with the default . - - Expression to verify. - The number of times a method is expected to be called. - - The invocation was not called the number of times specified by . - - - - - Verifies that a specific invocation matching the given expression was performed on the mock, - specifying a failure error message. - Use in conjunction with the default . - - Expression to verify. - Message to show if verification fails. - The invocation was not performed on the mock. - - - - Verifies that a specific invocation matching the given expression was performed on the mock, - specifying a failure error message. - Use in conjunction with the default . - - Expression to verify. - The number of times a method is expected to be called. - Message to show if verification fails. - - The invocation was not called the number of times specified by . - - - - - Verifies that a specific invocation matching the given expression was performed on the mock, - specifying a failure error message. - Use in conjunction with the default . - - Expression to verify. - The number of times a method is expected to be called. - Message to show if verification fails. - - The invocation was not called the number of times specified by . - - - - - Verifies that a specific invocation matching the given expression was performed on the mock. - Use in conjunction with the default . - - Expression to verify. - Type of return value from the expression. - The invocation was not performed on the mock. - - This example assumes that the mock has been used, and later we want to verify - that a given invocation with specific parameters was performed: - - var mock = new Mock<IWarehouse>(); - - ... // exercise mock - - // Will throw if the test code didn't call HasInventory. - mock.Verify(warehouse => warehouse.HasInventory(TALISKER, 50)); - - - - - - Verifies that a specific invocation matching the given expression was performed on the mock. - Use in conjunction with the default . - - Expression to verify. - The number of times a method is expected to be called. - Type of return value from the expression. - - The invocation was not called the number of times specified by . - - - - - Verifies that a specific invocation matching the given expression was performed on the mock. - Use in conjunction with the default . - - Expression to verify. - The number of times a method is expected to be called. - Type of return value from the expression. - - The invocation was not called the number of times specified by . - - - - - Verifies that a specific invocation matching the given expression was performed on the mock, - specifying a failure error message. - - Expression to verify. - Message to show if verification fails. - Type of return value from the expression. - The invocation was not performed on the mock. - - This example assumes that the mock has been used, and later we want to verify - that a given invocation with specific parameters was performed: - - var mock = new Mock<IWarehouse>(); - - ... // exercise mock - - // Will throw if the test code didn't call HasInventory. - mock.Verify(warehouse => warehouse.HasInventory(TALISKER, 50), - "When filling orders, inventory has to be checked"); - - - - - - Verifies that a specific invocation matching the given expression was performed on the mock, - specifying a failure error message. - - Expression to verify. - The number of times a method is expected to be called. - Message to show if verification fails. - Type of return value from the expression. - - The invocation was not called the number times specified by . - - - - - Verifies that a property was read on the mock. - - Expression to verify. - - Type of the property to verify. Typically omitted as it can be inferred from the expression's return type. - - The invocation was not performed on the mock. - - This example assumes that the mock has been used, and later we want to verify - that a given property was retrieved from it: - - var mock = new Mock<IWarehouse>(); - - ... // exercise mock - - // Will throw if the test code didn't retrieve the IsClosed property. - mock.VerifyGet(warehouse => warehouse.IsClosed); - - - - - - Verifies that a property was read on the mock. - - The number of times a method is expected to be called. - Expression to verify. - - Type of the property to verify. Typically omitted as it can be inferred from the expression's return type. - - - The invocation was not called the number times specified by . - - - - - Verifies that a property was read on the mock. - - The number of times a method is expected to be called. - Expression to verify. - - Type of the property to verify. Typically omitted as it can be inferred from the expression's return type. - - - The invocation was not called the number times specified by . - - - - - Verifies that a property was read on the mock, specifying a failure error message. - - Expression to verify. - Message to show if verification fails. - - Type of the property to verify. Typically omitted as it can be inferred from the expression's return type. - - The invocation was not performed on the mock. - - - - Verifies that a property was read on the mock, specifying a failure error message. - - The number of times a method is expected to be called. - Expression to verify. - Message to show if verification fails. - - Type of the property to verify. Typically omitted as it can be inferred from the expression's return type. - - - The invocation was not called the number times specified by . - - - - - Verifies that a property was read on the mock, specifying a failure error message. - - The number of times a method is expected to be called. - Expression to verify. - Message to show if verification fails. - - Type of the property to verify. Typically omitted as it can be inferred from the expression's return type. - - - The invocation was not called the number times specified by . - - - - - Verifies that a property was set on the mock. - - Expression to verify. - The invocation was not performed on the mock. - - This example assumes that the mock has been used, and later we want to verify - that a given property was set on it: - - var mock = new Mock<IWarehouse>(); - - ... // exercise mock - - // Will throw if the test code didn't set the IsClosed property. - mock.VerifySet(warehouse => warehouse.IsClosed = true); - - - - - - Verifies that a property was set on the mock. - - The number of times a method is expected to be called. - Expression to verify. - - The invocation was not called the number of times specified by . - - - - - Verifies that a property was set on the mock. - - The number of times a method is expected to be called. - Expression to verify. - - The invocation was not called the number of times specified by . - - - - - Verifies that a property was set on the mock, specifying a failure message. - - Expression to verify. - Message to show if verification fails. - The invocation was not performed on the mock. - - This example assumes that the mock has been used, and later we want to verify - that a given property was set on it: - - var mock = new Mock<IWarehouse>(); - - ... // exercise mock - - // Will throw if the test code didn't set the IsClosed property. - mock.VerifySet(warehouse => warehouse.IsClosed = true, - "Warehouse should always be closed after the action"); - - - - - - Verifies that a property was set on the mock, specifying a failure message. - - The number of times a method is expected to be called. - Expression to verify. - Message to show if verification fails. - - The invocation was not called the number of times specified by . - - - - - Verifies that a property was set on the mock, specifying a failure message. - - The number of times a method is expected to be called. - Expression to verify. - Message to show if verification fails. - - The invocation was not called the number of times specified by . - - - - - Verifies that an event was added to the mock. - - Expression to verify. - The invocation was not performed on the mock. - - This example assumes that the mock has been used, and later we want to verify - that a given event handler was subscribed to an event: - - var mock = new Mock<IWarehouse>(); - - ... // exercise mock - - // Will throw if the test code didn't subscribe to the OnClosed event. - mock.VerifyAdd(warehouse => warehouse.OnClosed += It.IsAny<EventHandler>()); - - - - - - Verifies that an event was added to the mock. - - The number of times a method is expected to be called. - Expression to verify. - - The invocation was not called the number of times specified by . - - - - - Verifies that an event was added to the mock. - - The number of times a method is expected to be called. - Expression to verify. - - The invocation was not called the number of times specified by . - - - - - Verifies that an event was added to the mock, specifying a failure message. - - Expression to verify. - Message to show if verification fails. - The invocation was not performed on the mock. - - - - Verifies that an event was added to the mock, specifying a failure message. - - The number of times a method is expected to be called. - Expression to verify. - Message to show if verification fails. - - The invocation was not called the number of times specified by . - - - - - Verifies that an event was added to the mock, specifying a failure message. - - The number of times a method is expected to be called. - Expression to verify. - Message to show if verification fails. - - The invocation was not called the number of times specified by . - - - - - Verifies that an event was removed from the mock. - - Expression to verify. - The invocation was not performed on the mock. - - This example assumes that the mock has been used, and later we want to verify - that a given event handler was removed from an event: - - var mock = new Mock<IWarehouse>(); - - ... // exercise mock - - // Will throw if the test code didn't unsubscribe from the OnClosed event. - mock.VerifyRemove(warehouse => warehouse.OnClose -= It.IsAny<EventHandler>()); - - - - - - Verifies that an event was removed from the mock. - - The number of times a method is expected to be called. - Expression to verify. - - The invocation was not called the number of times specified by . - - - - - Verifies that an event was removed from the mock. - - The number of times a method is expected to be called. - Expression to verify. - - The invocation was not called the number of times specified by . - - - - - Verifies that an event was removed from the mock, specifying a failure message. - - Expression to verify. - Message to show if verification fails. - The invocation was not performed on the mock. - - - - Verifies that an event was removed from the mock, specifying a failure message. - - The number of times a method is expected to be called. - Expression to verify. - Message to show if verification fails. - - The invocation was not called the number of times specified by . - - - - - Verifies that an event was removed from the mock, specifying a failure message. - - The number of times a method is expected to be called. - Expression to verify. - Message to show if verification fails. - - The invocation was not called the number of times specified by . - - - - - Verifies that there were no calls other than those already verified. - - There was at least one invocation not previously verified. - - - - Raises the event referenced in using the given argument. - - - The argument is invalid for the target event invocation, - or the is not an event attach or detach expression. - - - The following example shows how to raise a - event: - - var mock = new Mock<IViewModel>(); - mock.Raise(x => x.PropertyChanged -= null, new PropertyChangedEventArgs("Name")); - - - - This example shows how to invoke an event with a custom event arguments class - in a view that will cause its corresponding presenter to react by changing its state: - - var mockView = new Mock<IOrdersView>(); - var presenter = new OrdersPresenter(mockView.Object); - - // Check that the presenter has no selection by default - Assert.Null(presenter.SelectedOrder); - - // Raise the event with a specific arguments data - mockView.Raise(v => v.SelectionChanged += null, new OrderEventArgs { Order = new Order("moq", 500) }); - - // Now the presenter reacted to the event, and we have a selected order - Assert.NotNull(presenter.SelectedOrder); - Assert.Equal("moq", presenter.SelectedOrder.ProductName); - - - - - - Raises the event referenced in using the given argument for a non--typed event. - - - The arguments are invalid for the target event invocation, - or the is not an event attach or detach expression. - - - The following example shows how to raise a custom event that does not adhere - to the standard EventHandler: - - var mock = new Mock<IViewModel>(); - mock.Raise(x => x.MyEvent -= null, "Name", bool, 25); - - - - - - Obsolete. - - - - - Obsolete. - - - - - Obsolete. - - - - - Obsolete. - - - - - Obsolete. - - - - - Marks a method as a matcher, which allows complete replacement - of the built-in class with your own argument - matching rules. - - - - This feature has been deprecated in favor of the new - and simpler . - - - - The argument matching is used to determine whether a concrete - invocation in the mock matches a given setup. This - matching mechanism is fully extensible. - - - There are two parts of a matcher: the compiler matcher - and the runtime matcher. - - - Compiler matcher - Used to satisfy the compiler requirements for the - argument. Needs to be a method optionally receiving any arguments - you might need for the matching, but with a return type that - matches that of the argument. - - Let's say I want to match a lists of orders that contains - a particular one. I might create a compiler matcher like the following: - - - public static class Orders - { - [Matcher] - public static IEnumerable<Order> Contains(Order order) - { - return null; - } - } - - Now we can invoke this static method instead of an argument in an - invocation: - - var order = new Order { ... }; - var mock = new Mock<IRepository<Order>>(); - - mock.Setup(x => x.Save(Orders.Contains(order))) - .Throws<ArgumentException>(); - - Note that the return value from the compiler matcher is irrelevant. - This method will never be called, and is just used to satisfy the - compiler and to signal Moq that this is not a method that we want - to be invoked at runtime. - - - - Runtime matcher - - The runtime matcher is the one that will actually perform evaluation - when the test is run, and is defined by convention to have the - same signature as the compiler matcher, but where the return - value is the first argument to the call, which contains the - object received by the actual invocation at runtime: - - public static bool Contains(IEnumerable<Order> orders, Order order) - { - return orders.Contains(order); - } - - At runtime, the mocked method will be invoked with a specific - list of orders. This value will be passed to this runtime - matcher as the first argument, while the second argument is the - one specified in the setup (x.Save(Orders.Contains(order))). - - The boolean returned determines whether the given argument has been - matched. If all arguments to the expected method are matched, then - the setup matches and is evaluated. - - - - - - Using this extensible infrastructure, you can easily replace the entire - set of matchers with your own. You can also avoid the - typical (and annoying) lengthy expressions that result when you have - multiple arguments that use generics. - - - The following is the complete example explained above: - - public static class Orders - { - [Matcher] - public static IEnumerable<Order> Contains(Order order) - { - return null; - } - - public static bool Contains(IEnumerable<Order> orders, Order order) - { - return orders.Contains(order); - } - } - - And the concrete test using this matcher: - - var order = new Order { ... }; - var mock = new Mock<IRepository<Order>>(); - - mock.Setup(x => x.Save(Orders.Contains(order))) - .Throws<ArgumentException>(); - - // use mock, invoke Save, and have the matcher filter. - - - - - - Contains obsolete API members as extension methods so that existing code continues to compile, - but new code doesn't see them. - - - - - Obsolete. - - - - - Obsolete. - - - - - Obsolete. - - - - - Utility factory class to use to construct multiple - mocks when consistent verification is - desired for all of them. - - - If multiple mocks will be created during a test, passing - the desired (if different than the - or the one - passed to the factory constructor) and later verifying each - mock can become repetitive and tedious. - - This factory class helps in that scenario by providing a - simplified creation of multiple mocks with a default - (unless overridden by calling - ) and posterior verification. - - - - The following is a straightforward example on how to - create and automatically verify strict mocks using a : - - var factory = new MockFactory(MockBehavior.Strict); - - var foo = factory.Create<IFoo>(); - var bar = factory.Create<IBar>(); - - // no need to call Verifiable() on the setup - // as we'll be validating all of them anyway. - foo.Setup(f => f.Do()); - bar.Setup(b => b.Redo()); - - // exercise the mocks here - - factory.VerifyAll(); - // At this point all setups are already checked - // and an optional MockException might be thrown. - // Note also that because the mocks are strict, any invocation - // that doesn't have a matching setup will also throw a MockException. - - The following examples shows how to setup the factory - to create loose mocks and later verify only verifiable setups: - - var factory = new MockFactory(MockBehavior.Loose); - - var foo = factory.Create<IFoo>(); - var bar = factory.Create<IBar>(); - - // this setup will be verified when we verify the factory - foo.Setup(f => f.Do()).Verifiable(); - - // this setup will NOT be verified - foo.Setup(f => f.Calculate()); - - // this setup will be verified when we verify the factory - bar.Setup(b => b.Redo()).Verifiable(); - - // exercise the mocks here - // note that because the mocks are Loose, members - // called in the interfaces for which no matching - // setups exist will NOT throw exceptions, - // and will rather return default values. - - factory.Verify(); - // At this point verifiable setups are already checked - // and an optional MockException might be thrown. - - The following examples shows how to setup the factory with a - default strict behavior, overriding that default for a - specific mock: - - var factory = new MockFactory(MockBehavior.Strict); - - // this particular one we want loose - var foo = factory.Create<IFoo>(MockBehavior.Loose); - var bar = factory.Create<IBar>(); - - // specify setups - - // exercise the mocks here - - factory.Verify(); - - - - - - - Initializes the factory with the given - for newly created mocks from the factory. - - The behavior to use for mocks created - using the factory method if not overridden - by using the overload. - - - - Gets the default of mocks created by this repository. - - - - - Whether the base member virtual implementation will be called - for mocked classes if no setup is matched. Defaults to . - - - - - Specifies the behavior to use when returning default values for - unexpected invocations on loose mocks. - - - - - Gets or sets the instance that will be used - e. g. to produce default return values for unexpected invocations. - - - - - Gets the mocks that have been created by this factory and - that will get verified together. - - - - - A set of switches that influence how mocks created by this factory will operate. - You can opt in or out of certain features via this property. - - - - - Creates a new mock with the default - specified at factory construction time. - - Type to mock. - A new . - - - var factory = new MockFactory(MockBehavior.Strict); - - var foo = factory.Create<IFoo>(); - // use mock on tests - - factory.VerifyAll(); - - - - - - Creates a new mock with the default - specified at factory construction time and with the - the given constructor arguments for the class. - - - The mock will try to find the best match constructor given the - constructor arguments, and invoke that to initialize the instance. - This applies only to classes, not interfaces. - - Type to mock. - Constructor arguments for mocked classes. - A new . - - - var factory = new MockFactory(MockBehavior.Default); - - var mock = factory.Create<MyBase>("Foo", 25, true); - // use mock on tests - - factory.Verify(); - - - - - - Creates a new mock with the given . - - Type to mock. - Behavior to use for the mock, which overrides - the default behavior specified at factory construction time. - A new . - - The following example shows how to create a mock with a different - behavior to that specified as the default for the factory: - - var factory = new MockFactory(MockBehavior.Strict); - - var foo = factory.Create<IFoo>(MockBehavior.Loose); - - - - - - Creates a new mock with the given - and with the given constructor arguments for the class. - - - The mock will try to find the best match constructor given the - constructor arguments, and invoke that to initialize the instance. - This applies only to classes, not interfaces. - - Type to mock. - Behavior to use for the mock, which overrides - the default behavior specified at factory construction time. - Constructor arguments for mocked classes. - A new . - - The following example shows how to create a mock with a different - behavior to that specified as the default for the factory, passing - constructor arguments: - - var factory = new MockFactory(MockBehavior.Default); - - var mock = factory.Create<MyBase>(MockBehavior.Strict, "Foo", 25, true); - - - - - - Creates an instance of the mock using the given constructor call including its - argument values and with a specific behavior. - - Type to mock. - Lambda expression that creates an instance of . - Behavior of the mock. - A new . - - - var factory = new MockFactory(MockBehavior.Default); - - var mock = factory.Create<MyClass>(() => new MyClass("Foo", 25, true), MockBehavior.Loose); - // use mock on tests - - factory.Verify(); - - - - - - Implements creation of a new mock within the factory. - - Type to mock. - The behavior for the new mock. - Optional arguments for the construction of the mock. - - - - Verifies all verifiable setups on all mocks created by this factory. - - - One or more mocks had setups that were not satisfied. - - - - Verifies all setups on all mocks created by this factory. - - - One or more mocks had setups that were not satisfied. - - - - Calls on all mocks created by this factory. - - - One or more mocks had invocations that were not verified. - - - - Invokes for each mock - in , and accumulates the resulting - verification exceptions that might be - thrown from the action. - - The action to execute against - each mock. - - - - Provides additional methods on mocks. - - - Provided as extension methods as they confuse the compiler - with the overloads taking Action. - - - - - Specifies a setup on the mocked type for a call to - to a property setter, regardless of its value. - - - If more than one setup is set for the same property setter, - the latest one wins and is the one that will be executed. - - Type of the property. Typically omitted as it can be inferred from the expression. - Type of the mock. - The target mock for the setup. - Lambda expression that specifies the property setter. - - - mock.SetupSet(x => x.Suspended); - - - - This method is not legacy, but must be on an extension method to avoid - confusing the compiler with the new Action syntax. - - - - - Verifies that a property has been set on the mock, regardless of its value. - - - This example assumes that the mock has been used, - and later we want to verify that a given invocation - with specific parameters was performed: - - var mock = new Mock<IWarehouse>(); - // exercise mock - //... - // Will throw if the test code didn't set the IsClosed property. - mock.VerifySet(warehouse => warehouse.IsClosed); - - - The invocation was not performed on the mock. - Expression to verify. - The mock instance. - Mocked type. - Type of the property to verify. Typically omitted as it can - be inferred from the expression's return type. - - - - Verifies that a property has been set on the mock, specifying a failure - error message. - - - This example assumes that the mock has been used, - and later we want to verify that a given invocation - with specific parameters was performed: - - var mock = new Mock<IWarehouse>(); - // exercise mock - //... - // Will throw if the test code didn't set the IsClosed property. - mock.VerifySet(warehouse => warehouse.IsClosed); - - - The invocation was not performed on the mock. - Expression to verify. - Message to show if verification fails. - The mock instance. - Mocked type. - Type of the property to verify. Typically omitted as it can - be inferred from the expression's return type. - - - - Verifies that a property has been set on the mock, regardless - of the value but only the specified number of times. - - - This example assumes that the mock has been used, - and later we want to verify that a given invocation - with specific parameters was performed: - - var mock = new Mock<IWarehouse>(); - // exercise mock - //... - // Will throw if the test code didn't set the IsClosed property. - mock.VerifySet(warehouse => warehouse.IsClosed); - - - The invocation was not performed on the mock. - The invocation was not call the times specified by - . - The mock instance. - Mocked type. - The number of times a method is allowed to be called. - Expression to verify. - Type of the property to verify. Typically omitted as it can - be inferred from the expression's return type. - - - - Verifies that a property has been set on the mock, regardless - of the value but only the specified number of times, and specifying a failure - error message. - - - This example assumes that the mock has been used, - and later we want to verify that a given invocation - with specific parameters was performed: - - var mock = new Mock<IWarehouse>(); - // exercise mock - //... - // Will throw if the test code didn't set the IsClosed property. - mock.VerifySet(warehouse => warehouse.IsClosed); - - - The invocation was not performed on the mock. - The invocation was not call the times specified by - . - The mock instance. - Mocked type. - The number of times a method is allowed to be called. - Message to show if verification fails. - Expression to verify. - Type of the property to verify. Typically omitted as it can - be inferred from the expression's return type. - - - - Helper for sequencing return values in the same method. - - - - - Return a sequence of values, once per call. - - - - - Performs a sequence of actions, one per call. - - - - - Return a sequence of tasks, once per call. - - - - - Return a sequence of tasks, once per call. - - - - - Return a sequence of tasks, once per call. - - - - - Return a sequence of tasks, once per call. - - - - - Return a sequence of tasks, once per call. - - - - - Return a sequence of tasks, once per call. - - - - - Throws a sequence of exceptions, once per call. - - - - - Throws a sequence of exceptions, once per call. - - - - - Throws a sequence of exceptions, once per call. - - - - - Throws a sequence of exceptions, once per call. - - - - - Allocation-free adapter type for treating a `ParameterInfo[]` array like a `Type[]` array. - - - - - A strongly-typed resource class, for looking up localized strings, etc. - - - - - Returns the cached ResourceManager instance used by this class. - - - - - Overrides the current thread's CurrentUICulture property for all - resource lookups using this strongly typed resource class. - - - - - Looks up a localized string similar to Mock type has already been initialized by accessing its Object property. Adding interfaces must be done before that.. - - - - - Looks up a localized string similar to Value cannot be an empty string.. - - - - - Looks up a localized string similar to Matcher '{0}' is unmatchable: An implicit conversion operator will convert arguments of type '{1}' to the parameter's type '{2}', which is assignment-incompatible.. - - - - - Looks up a localized string similar to Can only add interfaces to the mock.. - - - - - Looks up a localized string similar to CallBase cannot be used with Delegate mocks.. - - - - - Looks up a localized string similar to Can't set return value for void method {0}.. - - - - - Looks up a localized string similar to Constructor arguments cannot be passed for delegate mocks.. - - - - - Looks up a localized string similar to Constructor arguments cannot be passed for interface mocks.. - - - - - Looks up a localized string similar to A matching constructor for the given arguments was not found on the mocked type.. - - - - - Looks up a localized string similar to Delays have to be greater than zero to ensure an async callback is used.. - - - - - Looks up a localized string similar to Expression {0} involves a field access, which is not supported. Use properties instead.. - - - - - Looks up a localized string similar to Invalid callback. This overload of the "Callback" method only accepts "void" (C#) or "Sub" (VB.NET) delegates with parameter types matching those of the set up method.. - - - - - Looks up a localized string similar to Invalid callback. Setup on method with {0} parameter(s) cannot invoke callback with different number of parameters ({1}).. - - - - - Looks up a localized string similar to Invalid callback. Setup on method with parameters ({0}) cannot invoke callback with parameters ({1}).. - - - - - Looks up a localized string similar to Invalid callback. Setup on method with return type '{0}' cannot invoke callback with return type '{1}'.. - - - - - Looks up a localized string similar to Cannot retrieve a mock with the given object type {0} as it's not the main type of the mock or any of its additional interfaces. - Please cast the argument to one of the supported types: {1}. - Remember that there's no generics covariance in the CLR, so your object must be one of these types in order for the call to succeed.. - - - - - Looks up a localized string similar to Invalid callback. This overload of the "Returns" method only accepts non-"void" (C#) or "Function" (VB.NET) delegates with parameter types matching those of the set up method.. - - - - - Looks up a localized string similar to The return type of the last member shown above is not mockable.. - - - - - Looks up a localized string similar to The equals ("==" or "=" in VB) and the conditional 'and' ("&&" or "AndAlso" in VB) operators are the only ones supported in the query specification expression. Unsupported expression: {0}. - - - - - Looks up a localized string similar to LINQ method '{0}' not supported.. - - - - - Looks up a localized string similar to Expression contains a call to a method which is not virtual (overridable in VB) or abstract. Unsupported expression: {0}. - - - - - Looks up a localized string similar to Could not determine the correct positions for all argument matchers ({0} in total) used in a call to this method: {1}. - This could be caused by an unrecognized type conversion, coercion, narrowing, or widening, and is most likely a bug in Moq. Please report your use case to the Moq team.. - - - - - Looks up a localized string similar to Member {0}.{1} does not exist.. - - - - - Looks up a localized string similar to Method {0}.{1} is public. Use strong-typed Expect overload instead: - mock.Setup(x => x.{1}()); - . - - - - - Looks up a localized string similar to No protected method {0}.{1} found whose signature is compatible with the provided arguments ({2}).. - - - - - Looks up a localized string similar to Cannot set up {0}.{1} because it is not accessible to the proxy generator used by Moq: - {2}. - - - - - Looks up a localized string similar to Minimum delay has to be lower than maximum delay.. - - - - - Looks up a localized string similar to {0} invocation failed with mock behavior {1}. - {2}. - - - - - Looks up a localized string similar to The next member after the last one shown above is non-virtual, sealed, or not visible to the proxy factory.. - - - - - Looks up a localized string similar to No constructor call could be found.. - - - - - Looks up a localized string similar to No invocations performed.. - - - - - Looks up a localized string similar to Expected invocation on the mock at least {0} times, but was {2} times: . - - - - - Looks up a localized string similar to Expected invocation on the mock at least once, but was never performed: . - - - - - Looks up a localized string similar to Expected invocation on the mock at most {1} times, but was {2} times: . - - - - - Looks up a localized string similar to Expected invocation on the mock at most once, but was {2} times: . - - - - - Looks up a localized string similar to Expected invocation on the mock between {0} and {1} times (Exclusive), but was {2} times: . - - - - - Looks up a localized string similar to Expected invocation on the mock between {0} and {1} times (Inclusive), but was {2} times: . - - - - - Looks up a localized string similar to Expected invocation on the mock exactly {0} times, but was {2} times: . - - - - - Looks up a localized string similar to Expected invocation on the mock should never have been performed, but was {2} times: . - - - - - Looks up a localized string similar to Expected invocation on the mock once, but was {2} times: . - - - - - Looks up a localized string similar to All invocations on the mock must have a corresponding setup.. - - - - - Looks up a localized string similar to Object instance was not created by Moq.. - - - - - Looks up a localized string similar to Out expression must evaluate to a constant value.. - - - - - Looks up a localized string similar to Performed invocations:. - - - - - Looks up a localized string similar to Property {0}.{1} does not have a getter.. - - - - - Looks up a localized string similar to Property {0}.{1} does not have a setter.. - - - - - Looks up a localized string similar to Type {0} does not have matching protected member: {1}. - - - - - Looks up a localized string similar to Ref expression must evaluate to a constant value.. - - - - - Looks up a localized string similar to Invocation needs to return a value and therefore must have a corresponding setup that provides it.. - - - - - Looks up a localized string similar to Expression is not an event add: {0}. - - - - - Looks up a localized string similar to Expression is not an event remove: {0}. - - - - - Looks up a localized string similar to Expression is not a property access: {0}. - - - - - Looks up a localized string similar to Expression is not a setter: {0}. - - - - - Looks up a localized string similar to Type {0} does not have a default (public parameterless) constructor.. - - - - - Looks up a localized string similar to Type {0} does not implement required interface {1}. - - - - - Looks up a localized string similar to Type to mock ({0}) must be an interface, a delegate, or a non-sealed, non-static class.. - - - - - Looks up a localized string similar to To specify a setup for public property {0}.{1}, use the typed overloads, such as: - mock.Setup(x => x.{1}).Returns(value); - mock.SetupGet(x => x.{1}).Returns(value); //equivalent to previous one - mock.SetupSet(x => x.{1}).Callback(callbackDelegate); - . - - - - - Looks up a localized string similar to Unexpected translation of a member access: {0}. - - - - - Looks up a localized string similar to Unhandled binding type: {0}. - - - - - Looks up a localized string similar to Unhandled expression type: {0}. - - - - - Looks up a localized string similar to {0}: - This setup was not matched.. - - - - - Looks up a localized string similar to Unsupported expression: {0}. - - - - - Looks up a localized string similar to Unsupported expression: {0} - {1}. - - - - - Looks up a localized string similar to Extension methods (here: {0}) may not be used in setup / verification expressions.. - - - - - Looks up a localized string similar to Member {0} is not supported for protected mocking.. - - - - - Looks up a localized string similar to Non-overridable members (here: {0}) may not be used in setup / verification expressions.. - - - - - Looks up a localized string similar to Static members (here: {0}) may not be used in setup / verification expressions.. - - - - - Looks up a localized string similar to {0}: - This mock failed verification due to the following unverified invocations:. - - - - - Looks up a localized string similar to Use ItExpr.IsNull<TValue> rather than a null argument value, as it prevents proper method lookup.. - - - - - Looks up a localized string similar to It is impossible to call the provided strongly-typed predicate due to the use of a type matcher. Provide a weakly-typed predicate with two parameters (object, Type) instead.. - - - - - Looks up a localized string similar to {0}:. - - - - - Looks up a localized string similar to {0}: - This mock failed verification due to the following:. - - - - - Looks up a localized string similar to The mock repository failed verification due to the following:. - - - - - Allows setups to be specified for protected members (methods and properties) - seen through another type with corresponding members (that is, members - having identical signatures as the ones to be set up). - - Type of the mocked object. - - Any type with members whose signatures are identical to the mock's protected members (except for their accessibility level). - - - - - Specifies a setup on the mocked type for a call to a method. - - Lambda expression that specifies the expected method invocation. - - - - - Specifies a setup on the mocked type for a call to a value-returning method. - - Type of the return value. Typically omitted as it can be inferred from the expression. - Lambda expression that specifies the expected method invocation. - - - - - Specifies a setup on the mocked type for a call to a property getter. - - Type of the property. Typically omitted as it can be inferred from the expression. - Lambda expression that specifies the property getter. - - - - Specifies that the given property should have "property behavior", - meaning that setting its value will cause it to be saved and later returned when the property is requested. - (This is also known as "stubbing".) - - Type of the property. Typically omitted as it can be inferred from the expression. - Lambda expression that specifies the property. - Initial value for the property. - - - - Return a sequence of values, once per call. - - Type of the return value. Typically omitted as it can be inferred from the expression. - Lambda expression that specifies the expected method invocation. - - - - Performs a sequence of actions, one per call. - - Lambda expression that specifies the expected method invocation. - - - - Verifies that a specific invocation matching the given expression was performed on the mock. - Use in conjunction with the default . - - Lambda expression that specifies the method invocation. - - Number of times that the invocation is expected to have occurred. - If omitted, assumed to be . - - Message to include in the thrown if verification fails. - The specified invocation did not occur (or did not occur the specified number of times). - - - - Verifies that a specific invocation matching the given expression was performed on the mock. - Use in conjunction with the default . - - Type of the return value. Typically omitted as it can be inferred from the expression. - Lambda expression that specifies the method invocation. - - Number of times that the invocation is expected to have occurred. - If omitted, assumed to be . - - Message to include in the thrown if verification fails. - The specified invocation did not occur (or did not occur the specified number of times). - - - - Verifies that a property was read on the mock. - - Type of the property. Typically omitted as it can be inferred from the expression. - Lambda expression that specifies the method invocation. - - Number of times that the invocation is expected to have occurred. - If omitted, assumed to be . - - Message to include in the thrown if verification fails. - The specified invocation did not occur (or did not occur the specified number of times). - - - - Allows setups to be specified for protected members by using their - name as a string, rather than strong-typing them which is not possible - due to their visibility. - - - - - Set up protected members (methods and properties) seen through another type with identical member signatures. - - - Any type with members whose signatures are identical to the mock's protected members (except for their accessibility level). - - - - - Specifies a setup for a void method invocation with the given - , optionally specifying arguments for the method call. - - The name of the void method to be invoked. - The optional arguments for the invocation. If argument matchers are used, - remember to use rather than . - - - - Specifies a setup for a void method invocation with the given - , optionally specifying arguments for the method call. - - The name of the void method to be invoked. - Should the parameter types match exactly types that were provided - The optional arguments for the invocation. If argument matchers are used, - remember to use rather than . - - - - Specifies a setup for a void method invocation with the given - , optionally specifying arguments for the method call. - - The name of the void method to be invoked. - An array of types to be substituted for the type parameters of the current generic method definition. - Should the parameter types match exactly types that were provided - The optional arguments for the invocation. If argument matchers are used, - remember to use rather than . - - - - Specifies a setup for an invocation on a property or a non void method with the given - , optionally specifying arguments for the method call. - - The name of the method or property to be invoked. - The optional arguments for the invocation. If argument matchers are used, - remember to use rather than . - The return type of the method or property. - - - - Specifies a setup for an invocation on a property or a non void method with the given - , optionally specifying arguments for the method call. - - The name of the method or property to be invoked. - The optional arguments for the invocation. If argument matchers are used, - remember to use rather than . - Should the parameter types match exactly types that were provided - The return type of the method or property. - - - - Specifies a setup for an invocation on a property or a non void method with the given - , optionally specifying arguments for the method call. - - The name of the method or property to be invoked. - An array of types to be substituted for the type parameters of the current generic method definition. - The optional arguments for the invocation. If argument matchers are used, - remember to use rather than . - Should the parameter types match exactly types that were provided - The return type of the method or property. - - - - Specifies a setup for an invocation on a property getter with the given - . - - The name of the property. - The type of the property. - - - - Specifies a setup for an invocation on a property setter with the given - . - - The name of the property. - The property value. If argument matchers are used, - remember to use rather than . - The type of the property. - - - - Performs a sequence of actions, one per call. - - Name of the method or property being set up. - The optional arguments for the invocation. If argument matchers are used, - remember to use rather than . - - - - Performs a sequence of actions, one per call. - - Name of the method or property being set up. - Determines whether the parameter types should exactly match the types provided. - The optional arguments for the invocation. If argument matchers are used, - remember to use rather than . - - - - Performs a sequence of actions, one per call. - - Name of the method or property being set up. - An array of types to be substituted for the type parameters of the current generic method definition. - Determines whether the parameter types should exactly match the types provided. - The optional arguments for the invocation. If argument matchers are used, - remember to use rather than . - - - - Return a sequence of values, once per call. - - Name of the method or property being set up. - The optional arguments for the invocation. If argument matchers are used, - remember to use rather than . - Return type of the method or property being set up. - - - - Return a sequence of values, once per call. - - Name of the method or property being set up. - Determines whether the parameter types should exactly match the types provided. - The optional arguments for the invocation. If argument matchers are used, - remember to use rather than . - Return type of the method or property being set up. - - - - Return a sequence of values, once per call. - - Name of the method or property being set up. - An array of types to be substituted for the type parameters of the current generic method definition. - Determines whether the parameter types should exactly match the types provided. - The optional arguments for the invocation. If argument matchers are used, - remember to use rather than . - Return type of the method or property being set up. - - - - Specifies a verify for a void method with the given , - optionally specifying arguments for the method call. Use in conjunction with the default - . - - The invocation was not call the times specified by - . - The name of the void method to be verified. - The number of times a method is allowed to be called. - The optional arguments for the invocation. If argument matchers are used, - remember to use rather than . - - - - Specifies a verify for a void method with the given , - optionally specifying arguments for the method call. Use in conjunction with the default - . - - The invocation was not call the times specified by - . - The name of the void method to be verified. - An array of types to be substituted for the type parameters of the current generic method definition. - The number of times a method is allowed to be called. - The optional arguments for the invocation. If argument matchers are used, - remember to use rather than . - - - - Specifies a verify for a void method with the given , - optionally specifying arguments for the method call. Use in conjunction with the default - . - - The invocation was not call the times specified by - . - The name of the void method to be verified. - The number of times a method is allowed to be called. - Should the parameter types match exactly types that were provided - The optional arguments for the invocation. If argument matchers are used, - remember to use rather than . - - - - Specifies a verify for a void method with the given , - optionally specifying arguments for the method call. Use in conjunction with the default - . - - The invocation was not call the times specified by - . - The name of the void method to be verified. - An array of types to be substituted for the type parameters of the current generic method definition. - The number of times a method is allowed to be called. - Should the parameter types match exactly types that were provided - The optional arguments for the invocation. If argument matchers are used, - remember to use rather than . - - - - Specifies a verify for an invocation on a property or a non void method with the given - , optionally specifying arguments for the method call. - - The invocation was not call the times specified by - . - The name of the method or property to be invoked. - The optional arguments for the invocation. If argument matchers are used, - remember to use rather than . - The number of times a method is allowed to be called. - The type of return value from the expression. - - - - Specifies a verify for an invocation on a property or a non void method with the given - , optionally specifying arguments for the method call. - - The invocation was not call the times specified by - . - The name of the method or property to be invoked. - An array of types to be substituted for the type parameters of the current generic method definition. - The optional arguments for the invocation. If argument matchers are used, - remember to use rather than . - The number of times a method is allowed to be called. - The type of return value from the expression. - - - - Specifies a verify for an invocation on a property or a non void method with the given - , optionally specifying arguments for the method call. - - The invocation was not call the times specified by - . - The name of the method or property to be invoked. - Should the parameter types match exactly types that were provided - The optional arguments for the invocation. If argument matchers are used, - remember to use rather than . - The number of times a method is allowed to be called. - The type of return value from the expression. - - - - Specifies a verify for an invocation on a property or a non void method with the given - , optionally specifying arguments for the method call. - - The invocation was not call the times specified by - . - The name of the method or property to be invoked. - An array of types to be substituted for the type parameters of the current generic method definition. - Should the parameter types match exactly types that were provided - The optional arguments for the invocation. If argument matchers are used, - remember to use rather than . - The number of times a method is allowed to be called. - The type of return value from the expression. - - - - Specifies a verify for an invocation on a property getter with the given - . - The invocation was not call the times specified by - . - - The name of the property. - The number of times a method is allowed to be called. - The type of the property. - - - - Specifies a setup for an invocation on a property setter with the given - . - - The invocation was not call the times specified by - . - The name of the property. - The number of times a method is allowed to be called. - The property value. - The type of the property. If argument matchers are used, - remember to use rather than . - - - - Allows the specification of a matching condition for an - argument in a protected member setup, rather than a specific - argument value. "ItExpr" refers to the argument being matched. - - - Use this variant of argument matching instead of - for protected setups. - This class allows the setup to match a method invocation - with an arbitrary value, with a value in a specified range, or - even one that matches a given predicate, or null. - - - - - Contains matchers for (C#) / (VB.NET) parameters of type . - - The parameter type. - - - - Matches any value that is assignment-compatible with type . - - - - - - Matches a null value of the given type. - - - Required for protected mocks as the null value cannot be used - directly as it prevents proper method overload selection. - - - - // Throws an exception for a call to Remove with a null string value. - mock.Protected() - .Setup("Remove", ItExpr.IsNull<string>()) - .Throws(new InvalidOperationException()); - - - Type of the value. - - - - Matches any value of the given type. - - - Typically used when the actual argument value for a method - call is not relevant. - - - - // Throws an exception for a call to Remove with any string value. - mock.Protected() - .Setup("Remove", ItExpr.IsAny<string>()) - .Throws(new InvalidOperationException()); - - - Type of the value. - - - - Matches any value that satisfies the given predicate. - - Type of the argument to check. - The predicate used to match the method argument. - - Allows the specification of a predicate to perform matching - of method call arguments. - - - This example shows how to return the value 1 whenever the argument to the - Do method is an even number. - - mock.Protected() - .Setup("Do", ItExpr.Is<int>(i => i % 2 == 0)) - .Returns(1); - - This example shows how to throw an exception if the argument to the - method is a negative number: - - mock.Protected() - .Setup("GetUser", ItExpr.Is<int>(i => i < 0)) - .Throws(new ArgumentException()); - - - - - - Matches any value that is in the range specified. - - Type of the argument to check. - The lower bound of the range. - The upper bound of the range. - The kind of range. See . - - The following example shows how to expect a method call - with an integer argument within the 0..100 range. - - mock.Protected() - .Setup("HasInventory", - ItExpr.IsAny<string>(), - ItExpr.IsInRange(0, 100, Range.Inclusive)) - .Returns(false); - - - - - - Matches a string argument if it matches the given regular expression pattern. - - The pattern to use to match the string argument value. - - The following example shows how to expect a call to a method where the - string argument matches the given regular expression: - - mock.Protected() - .Setup("Check", ItExpr.IsRegex("[a-z]+")) - .Returns(1); - - - - - - Matches a string argument if it matches the given regular expression pattern. - - The pattern to use to match the string argument value. - The options used to interpret the pattern. - - The following example shows how to expect a call to a method where the - string argument matches the given regular expression, in a case insensitive way: - - mock.Protected() - .Setup("Check", ItExpr.IsRegex("[a-z]+", RegexOptions.IgnoreCase)) - .Returns(1); - - - - - - used to replace occurrences of `TAnalog.Member` sub-expressions with `T.Member`. - - - - - Enables the Protected() method on , - allowing setups to be set for protected members by using their - name as a string, rather than strong-typing them which is not possible - due to their visibility. - - - - - Enable protected setups for the mock. - - Mocked object type. Typically omitted as it can be inferred from the mock instance. - The mock to set the protected setups on. - - - - An implementation of that is based on Castle DynamicProxy. - - - - - - - - This hook tells Castle DynamicProxy to proxy the default methods it suggests, - plus some of the methods defined by , e.g. so we can intercept - and give mocks useful default names. - - - - Do not use. (Moq requires this class so that methods can be set up on interface mocks.) - - - - - - - - - - - - Do not use. (Moq requires this interface so that methods can be set up on interface mocks.) - - - - - - - Gets the global instance used by Moq. - - - - - Kind of range to use in a filter specified through - . - - - - - The range includes the to and - from values. - - - - - The range does not include the to and - from values. - - - - - Defines async extension methods on IReturns. - - - - - Specifies the value to return from an asynchronous method. - - Mocked type. - Type of the return value. - Returns verb which represents the mocked type and the task of return type - The value to return, or . - - - - Specifies the value to return from an asynchronous method. - - Mocked type. - Type of the return value. - Returns verb which represents the mocked type and the task of return type - The value to return, or . - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Mocked type. - Type of the return value. - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Mocked type. - Type of the return value. - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Specifies the exception to throw when the asynchronous method is invoked. - - Mocked type. - Returns verb which represents the mocked type and the task return type - Exception instance to throw. - - - - Specifies the exception to throw when the asynchronous method is invoked. - - Mocked type. - Type of the return value. - Returns verb which represents the mocked type and the task of return type - Exception instance to throw. - - - - Specifies the exception to throw when the asynchronous method is invoked. - - Mocked type. - Type of the return value. - Returns verb which represents the mocked type and the task of return type - Exception instance to throw. - - - - Allows to specify the delayed return value of an asynchronous method. - - - - - Allows to specify the delayed return value of an asynchronous method. - - - - - Allows to specify the delayed return value of an asynchronous method. - - - - - Allows to specify the delayed return value of an asynchronous method. - - - - - Allows to specify the delayed return value of an asynchronous method. - Use the argument to pass in (seeded) random generators used across your unit test. - - - - - Allows to specify the delayed return value of an asynchronous method. - Use the argument to pass in (seeded) random generators used across your unit test. - - - - - Allows to specify the exception thrown by an asynchronous method. - - - - - Allows to specify the exception thrown by an asynchronous method. - - - - - Allows to specify the exception thrown by an asynchronous method. - - - - - Allows to specify the exception thrown by an asynchronous method. - - - - - Allows to specify the exception thrown by an asynchronous method. - Use the argument to pass in (seeded) random generators used across your unit test. - - - - - Allows to specify the exception thrown by an asynchronous method. - Use the argument to pass in (seeded) random generators used across your unit test. - - - - - Defines async extension methods on IReturns. - - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Type of the function parameter. - Mocked type. - Type of the return value. - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Type of the function parameter. - Mocked type. - Type of the return value. - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Programmable setup used by . - - - - - Attempts to get this setup's return value without invoking user code - (which could have side effects beyond Moq's understanding and control). - - - - - Verifies this setup and those of its inner mock (if present and known). - - - Specifies whether recursive verification should be performed. - - - Specifies which setups should be verified. - - - The set of mocks that have already been verified. - - - This setup or any of its inner mock (if present and known) failed verification. - - - - - Setup used by for property getters. - - - - - Setup used by for property setters. - - - - - Represents a switch, or a combination of switches, that can be either enabled or disabled. - When set via or , they determine how a mock will operate. - - - - - The default set of switches. The switches covered by this enumeration value may change between different versions of Moq. - - - - - When enabled, specifies that source file information should be collected for each setup. - This results in more helpful error messages, but may affect performance. - - - - - Defines the number of invocations allowed by a mocked method. - - - - Deconstructs this instance. - This output parameter will receive the minimum required number of calls satisfying this instance (i.e. the lower inclusive bound). - This output parameter will receive the maximum allowed number of calls satisfying this instance (i.e. the upper inclusive bound). - - - - Specifies that a mocked method should be invoked times - as minimum. - - The minimum number of times. - An object defining the allowed number of invocations. - - - - Specifies that a mocked method should be invoked one time as minimum. - - An object defining the allowed number of invocations. - - - - Specifies that a mocked method should be invoked times - as maximum. - - The maximum number of times. - An object defining the allowed number of invocations. - - - - Specifies that a mocked method should be invoked one time as maximum. - - An object defining the allowed number of invocations. - - - - Specifies that a mocked method should be invoked between - and times. - - The minimum number of times. - The maximum number of times. - The kind of range. See . - An object defining the allowed number of invocations. - - - - Specifies that a mocked method should be invoked exactly - times. - - The times that a method or property can be called. - An object defining the allowed number of invocations. - - - - Specifies that a mocked method should not be invoked. - - An object defining the allowed number of invocations. - - - - Specifies that a mocked method should be invoked exactly one time. - - An object defining the allowed number of invocations. - - - - Returns a value indicating whether this instance is equal to a specified value. - - A value to compare to this instance. - - if has the same value as this instance; - otherwise, . - - - - - Returns a value indicating whether this instance is equal to a specified value. - - An object to compare to this instance. - - if has the same value as this instance; - otherwise, . - - - - - 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. - - - - - Determines whether two specified objects have the same value. - - The first . - The second . - - if has the same value as ; - otherwise, . - - - - - Determines whether two specified objects have different values. - - The first . - The second . - - if the value of is different from - 's; otherwise, . - - - - - - - - Checks whether the specified number of invocations matches the constraint described by this instance. - - The number of invocations to check. - - if matches the constraint described by this instance; - otherwise, . - - - - - Marks a type as a type matcher, optionally specifying another type that will perform the matching. - - Type matchers preferably implement themselves. Use the parameterized form of this attribute - where this is not possible, such as when the type matcher needs to be a or - type in order to satisfy generic type constraints of the method where it is used. - - - - - - Initializes a new instance of the class. - - Use this constructor overload if the type on which this attribute is placed implements itself. - - - - - - Initializes a new instance of the class. - - Use this constructor overload if the type on which this attribute is placed does not implement . - The specified type will instead provide the implementation of . - - - The of a type that implements . - - - - Interface that is used to build fluent interfaces by hiding methods declared by from IntelliSense. - - - Code that consumes implementations of this interface should expect one of two things: - - When referencing the interface from within the same solution (project reference), you will still see the methods this interface is meant to hide. - When referencing the interface through the compiled output assembly (external reference), the standard Object methods will be hidden as intended. - When using Resharper, be sure to configure it to respect the attribute: Options, go to Environment | IntelliSense | Completion Appearance and check "Filter members by [EditorBrowsable] attribute". - - See https://kzu.github.io/IFluentInterface for more information. - - - - - - Redeclaration that hides the method from IntelliSense. - - - - - Redeclaration that hides the method from IntelliSense. - - - - - Redeclaration that hides the method from IntelliSense. - - - - - Redeclaration that hides the method from IntelliSense. - - - - - Contains the two extension methods - and - . - - - - - Appends a string representation of the specified type to this instance. - - The instance to which to append. - The of which a string representation should be appended. - Any combination of formatting options that should be applied. (Optional.) - A reference to this instance after the append operation has completed. - - - - Gets a string representation of this instance. - - The of which a string representation is requested. - Any combination of formatting options that should be applied. (Optional.) - A string representation of this instance. - - - - Replacement for - which may be slow or even unavailable on earlier target frameworks. - - - - - Allows uniform reflection across all target frameworks. - - - - - Allows uniform reflection across all target frameworks. - - - - - Allows uniform reflection across all target frameworks. - - - - - Allows uniform reflection across all target frameworks. - - - - - An enumeration of available options when a name's string representation is requested. - - - - - The default type name formatting options. - - - - - Specifies that a type's namespace should be included. - - For example, the type is formatted as "Action" by default. - When this flag is specified, it will be formatted as "System.Action". - - - - - - Specifies that anonymous types should not be transformed to C#-like syntax. - - For example, the anonymous type of "new { Name = "Blob", Count = 17 }" is formatted as - "{string Name, int Count}" by default. When this flag is specified, it will be formatted as - the raw "display class" name, which looks something like "<>f__AnonymousType5<string, int>". - - - - - - Specifies that an open generic type's parameter names should be omitted. - - For example, the open generic type is formatted as "IEquatable<T>" by default. - When this flag is specified, it will be formatted as "IEquatable<>". - - - - - - Specifies that primitive types should not be mapped to their corresponding C# language keywords. - - For example, the type is formatted as "int" by default. - When this flag is specified, it will be formatted as "Int32". - - - - - - Specifies that nullable types should not be simplified to C# question mark syntax. - - For example, the type of is formatted as "int?" by default. - When this flag is specified, it will be formatted as "Nullable<int>". - - - - - - Specifies that value tuple types should not be transformed to C# tuple syntax. - - For example, the type of , - is formatted as "(bool, int)" by default. When this flag is specified, - it will be formatted as "ValueTuple<bool, int>". - - - - - diff --git a/src/packages/Moq.4.16.1/lib/netstandard2.1/Moq.xml b/src/packages/Moq.4.16.1/lib/netstandard2.1/Moq.xml deleted file mode 100644 index 1c1eeac..0000000 --- a/src/packages/Moq.4.16.1/lib/netstandard2.1/Moq.xml +++ /dev/null @@ -1,7827 +0,0 @@ - - - - Moq - - - - - is a kind of that works by - applying a delegate to a light-weight proxy that records the invocation - happening to it, and auto-generates the same kind of recording proxy for its return value. - That way, a chain of invocation records is generated from which a LINQ expression tree can be - reconstructed. - - - - - Recursively gets the result of (i.e. "unwraps") completed awaitables - until a value is found that isn't a successfully completed awaitable. - - - As an example, given := Task.FromResult(Task.FromResult(42)), - this method will return 42. - - The (possibly awaitable) object to be "unwrapped". - - - - Abstract base class that facilitates type-safe implementation of - for awaitables that do not produce a result when awaited. - - - - - Abstract base class that facilitates type-safe implementation of - for awaitables that produce a result when awaited. - - - - - Allows to create parameter captures in setup expressions. - - - - - Creates a parameter capture that will store values in a collection. - - The captured object type - The collection that will store captured parameter values - - Arrange code: - - var parameters = new List{string}(); - mock.Setup(x => x.DoSomething(Capture.In(parameters))); - - Assert code: - - Assert.Equal("Hello!", parameters.Single()); - - - - - - Creates a parameter capture that will store specific values in a collection. - - The captured object type - The collection that will store captured parameter values - A predicate used to filter captured parameters - - Arrange code: - - var parameters = new List{string}(); - mock.Setup(x => x.DoSomething(Capture.In(parameters, p => p.StartsWith("W")))); - - Assert code: - - Assert.Equal("Hello!", parameters.Single()); - - - - - - Creates a parameter capture using specified . - - The captured object type - - Arrange code: - - var capturedValue = string.Empty; - var match = new CaptureMatch{string}(x => capturedValue = x); - mock.Setup(x => x.DoSomething(Capture.With(match))); - - Assert code: - - Assert.Equal("Hello!", capturedValue); - - - - - - Allows creation custom matchers that can be used on setups to capture parameter values. - - - - - - Initializes an instance of the capture match. - - An action to run on captured value - - - - Initializes an instance of the capture match. - - An action to run on captured value - A predicate used to filter captured parameters - - - - Determines the way default values are generated - calculated for loose mocks. - - - - - Default behavior, which generates empty values for - value types (i.e. default(int)), empty array and - enumerables, and nulls for all other reference types. - - - - - Whenever the default value generated by - is null, replaces this value with a mock (if the type - can be mocked). - - - For sealed classes, a null value will be generated. - - - - - - All default value generation strategies other than or - are represented by this enumeration value. - - - Do not set (nor ) to this value. - If you want to set up a custom default value generation strategy, set - or instead. - - - - - - - - is the abstract base class for default value providers. - These are responsible for producing e. g. return values when mock methods or properties get invoked unexpectedly. - In other words, whenever there is no setup that would determine the return value for a particular invocation, - Moq asks the mock's default value provider to produce a return value. - - - - - Gets the corresponding to ; - that is, a default value provider returning "empty" values e. g. for collection types. - - - - - Gets the corresponding to ; - that is, a default value provider returning mocked objects or "empty" values for unmockable types. - - - - - Initializes a new instance of the class. - - - - - Gets the enumeration value that corresponds to this default value provider. - Must be overridden by Moq's internal providers that have their own corresponding . - - - - - Produces a default value of the specified type. - Must be overridden in derived classes. - - The of the requested default value. - The on which an unexpected invocation has occurred. - - Implementations may assume that all parameters have valid, non-, non- values. - - - - - - Produces a default argument value for the specified method parameter. - May be overridden in derived classes. - - - By default, this method will delegate to . - - - The describing the method parameter for which a default argument value should be produced. - The on which an unexpected invocation has occurred. - - Implementations may assume that all parameters have valid, non-, non- values. - - - - - - Produces a default return value for the specified method. - May be overridden in derived classes. - - - By default, this method will delegate to . - - - The describing the method for which a default return value should be produced. - The on which an unexpected invocation has occurred. - - Implementations may assume that all parameters have valid, non-, non- values. - - - - - A that returns an empty default value - for invocations that do not have setups or return values, with loose mocks. - This is the default behavior for a mock. - - - - - Provides partial evaluation of subtrees, whenever they can be evaluated locally. - - Matt Warren: http://blogs.msdn.com/mattwar - Documented by InSTEDD: http://www.instedd.org - - - - Performs evaluation and replacement of independent sub-trees - - The root of the expression tree. - A function that decides whether a given expression - node can be part of the local function. - A new tree with sub-trees evaluated and replaced. - - - - Performs evaluation and replacement of independent sub-trees - - The root of the expression tree. - A new tree with sub-trees evaluated and replaced. - - - - Evaluates and replaces sub-trees when first candidate is reached (top-down) - - - - - Performs bottom-up analysis to determine which nodes can possibly - be part of an evaluated sub-tree. - - - - - An compiles LINQ expression trees () to delegates. - Whenever Moq needs to compile an expression tree, it uses the instance set up by . - - - - - The default instance, which simply delegates to the framework's . - - - - - Gets or sets the instance that Moq uses to compile (LINQ expression trees). - Defaults to . - - - - - Initializes a new instance of the class. - - - - - Compiles the specified LINQ expression tree. - - The LINQ expression tree that should be compiled. - - - - Compiles the specified LINQ expression tree. - - The type of delegate to which the expression will be compiled. - The LINQ expression tree that should be compiled. - - - - Wraps this in a node if needed. - - The which should be wrapped. - The with which to make the compatible. - - LINQ expression trees generally enforce type compatibility rules that are stricter than - the assignment-compatibility used by e.g. . For - example, while is assignable-to , you - will need a conversion in a LINQ expression tree to model the value-type boxing operation. - - - - - Checks whether the given expression can be split by . - - - - - Splits an expression such as `m => m.A.B(x).C[y] = z` into a chain of parts - that can be set up one at a time: - - `m => m.A`, - `... => ....B(x)`, - `... => ....C`, - `... => ...[y] = z`. - - - The split points are chosen such that each part has exactly one associated - and optionally some argument expressions. - - - - It was not possible to completely split up the expression. - - - - - Converts the body of the lambda expression into the referenced by it. - - - - - Checks whether the body of the lambda expression is a property access. - - - - - Checks whether the body of the lambda expression is a indexer access. - - - - - TODO: remove this code when https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=331583 - is fixed. - - - - - Applies the specified to this expression tree. - - The to which should be applied. - The that should be applied to . - - - - A reconstructs LINQ expression trees () - from delegates. It is the counterpart to . - - - - - Reconstructs a from the given delegate. - - The delegate for which to reconstruct a LINQ expression tree. - Arguments to pass to a parameterized constructor of . (Optional.) - - - - Extracts the arguments from a lambda expression that calls a constructor. - - The constructor expression. - Extracted argument values. - - - - Evaluates variables that have been closed over by a lambda function. - - - - - Replaces nodes for property or indexer accessor methods - with equivalent nodes. - - - - In the case of getter accessors such as `x.get_Property()`, the result will be - a single node: `x.Property`. - - - In the case of setter accessors such as `x.set_Property(y)`, the result will be - a combination of and : - `x.Property = y`. - - - - - - - - Gets the default value for the specified type. This is the Reflection counterpart of C#'s operator. - - - - - Gets the least-derived in the given type that provides - the implementation for the given . - - - - - Gets whether the given is a delegate type. - - - - - Visits all constituent parts of , replacing all type matchers - that match the type argument at the corresponding position in . - - The type to be matched. May be, or contain, type matchers. - The type argument to match against . - - - - Ensures the given is not null. - Throws otherwise. - - - - - Ensures the given string is not null or empty. - Throws in the first case, or - in the latter. - - - - - Provides information about an invocation of a mock object. - - - - - Gets the method of the invocation. - - - - - Gets the arguments of the invocation. - - - - - Gets the setup that matched this invocation (or if there was no matching setup). - - - - - Gets whether this invocation was successfully verified by any of the various `Verify` methods. - - - - - The value being returned for a non-void method if no exception was thrown. - - - - - Optional exception if the method invocation results in an exception being thrown. - - - - - A list of invocations which have been performed on a mock. - - - - - Resets all invocations recorded for this mock. - - - - - Covariant interface for such that casts between IMock<Employee> to IMock<Person> - are possible. Only covers the covariant members of . - - - - - Exposes the mocked object instance. - - - - - Behavior of the mock, according to the value set in the constructor. - - - - - Whether the base member virtual implementation will be called for mocked classes if no setup is matched. - Defaults to . - - - - - Specifies the behavior to use when returning default values for unexpected invocations on loose mocks. - - - - - Implemented by all generated mock object instances. - - - - - Reference the Mock that contains this as the mock.Object value. - - - - - Implemented by all generated mock object instances. - - - - - Reference the Mock that contains this as the mock.Object value. - - - - - This role interface represents a 's ability to intercept method invocations for its . - It is meant for use by . - - - - - Base class for mocks and static helper class with methods that apply to mocked objects, - such as to retrieve a from an object instance. - - - - - Creates a mock object of the indicated type. - - The type of the mocked object. - The mocked object created. - - - - Creates a mock object of the indicated type. - - Behavior of the mock. - The type of the mocked object. - The mocked object created. - - - - Creates a mock object of the indicated type. - - The predicate with the specification of how the mocked object should behave. - The type of the mocked object. - The mocked object created. - - - - Creates a mock object of the indicated type. - - The predicate with the specification of how the mocked object should behave. - Behavior of the mock. - The type of the mocked object. - The mocked object created. - - - - Initializes a new instance of the class. - - - - - Retrieves the mock object for the given object instance. - - The instance of the mocked object. - - Type of the mock to retrieve. - Can be omitted as it's inferred from the object instance passed in as the instance. - - The mock associated with the mocked object. - The received instance was not created by Moq. - - The following example shows how to add a new setup to an object instance - which is not the original but rather the object associated with it: - - // Typed instance, not the mock, is retrieved from some test API. - HttpContextBase context = GetMockContext(); - - // context.Request is the typed object from the "real" API - // so in order to add a setup to it, we need to get - // the mock that "owns" it - Mock<HttpRequestBase> request = Mock.Get(context.Request); - - request.Setup(req => req.AppRelativeCurrentExecutionFilePath) - .Returns(tempUrl); - - - - - - Verifies that all verifiable expectations have been met. - - Not all verifiable expectations were met. - - - - Verifies all expectations regardless of whether they have been flagged as verifiable. - - At least one expectation was not met. - - - - Gets the interfaces additionally implemented by the mock object. - - - This list may be modified by calls to up until the first call to . - - - - - Behavior of the mock, according to the value set in the constructor. - - - - - Whether the base member virtual implementation will be called for mocked classes if no setup is matched. - Defaults to . - - - - - Specifies the behavior to use when returning default values for unexpected invocations on loose mocks. - - - - - Gets the mocked object instance. - - - - - Gets the interfaces directly inherited from the mocked type (). - - - - - Gets list of invocations which have been performed on this mock. - - - - - Returns the mocked object value. - - - - - Retrieves the type of the mocked object, its generic type argument. - This is used in the auto-mocking of hierarchy access. - - - - - Gets or sets the instance that will be used - e. g. to produce default return values for unexpected invocations. - - - - - The used to initialize automatically stubbed properties. - It is equal to the value of at the time when - was last called. - - - - - Gets the setups that have been configured on this mock, - in chronological order (that is, oldest setup first, most recent setup last). - - - - - A set of switches that influence how this mock will operate. - You can opt in or out of certain features via this property. - - - - - Verifies that all verifiable expectations have been met. - - Not all verifiable expectations were met. - - This example sets up an expectation and marks it as verifiable. - After the mock is used, a Verify() call is issued on the mock - to ensure the method in the setup was invoked: - - var mock = new Mock<IWarehouse>(); - this.Setup(x => x.HasInventory(TALISKER, 50)) - .Returns(true) - .Verifiable(); - - ... - - // Will throw if the test code did not call HasInventory. - this.Verify(); - - - - - - Verifies all expectations regardless of whether they have been flagged as verifiable. - - At least one expectation was not met. - - This example sets up an expectation without marking it as verifiable. - After the mock is used, a call is issued on the mock - to ensure that all expectations are met: - - var mock = new Mock<IWarehouse>(); - this.Setup(x => x.HasInventory(TALISKER, 50)) - .Returns(true); - - ... - - // Will throw if the test code did not call HasInventory, - // even though that expectation was not marked as verifiable. - mock.VerifyAll(); - - - - - - Adds an interface implementation to the mock, allowing setups to be specified for it. - - - This method can only be called before the first use of the mock property, - at which point the runtime type has already been generated and no more interfaces can be added to it. - - Also, must be an interface and not a class, - which must be specified when creating the mock instead. - - - Type of interface to cast the mock to. - The specified is not an interface. - - The mock type has already been generated by accessing the property. - - - - - Defines the default return value for all mocked methods or properties with return type . - - The return type for which to define a default value. - The default return value. - - Default return value is respected only when there is no matching setup for a method call. - - - - - Initializes a new instance of the class. - - The of the concrete proxy object on which a method is being invoked. - The method being invoked. - The arguments with which the specified is being invoked. - - - - Gets the method of the invocation. - - - - - Gets the arguments of the invocation. - - - Arguments may be modified. Derived classes must ensure that by-reference parameters are written back - when the invocation is ended by a call to any of the three Returns methods. - - - - - Calls the method implementation - and returns its return value (or for methods). - - - - - - - - Internal type to mark invocation results as "exception occurred during execution". The type just - wraps the Exception so a thrown exception can be distinguished from an - return value. - - - - - A delegate-like type for use with `setup.Callback` which instructs the `Callback` verb - to provide the callback with the current , instead of - with a list of arguments. - - This type is useful in scenarios involving generic type argument matchers (such as - ) as allows the discovery of both - arguments and type arguments. - - - - - - Initializes a new instance of the type. - - The delegate that should be wrapped by this instance. - - - - A delegate-like type for use with `setup.Returns` which instructs the `Returns` verb - to provide the callback with the current , instead of - with a list of arguments. - - This type is useful in scenarios involving generic type argument matchers (such as - ) as allows the discovery of both - arguments and type arguments. - - - - - - Initializes a new instance of the type. - - The delegate that should be wrapped by this instance. - - - - Describes the "shape" of an invocation against which concrete s can be matched. - - This shape is described by which has the general form - `mock => mock.Method(...arguments)`. Because the method and arguments are frequently needed, - they are cached in and - for faster access. - - - - - - A setup configured on a mock. - - - - - - The setup expression. - - - - - Gets the inner mock of this setup (if present and known). - - An "inner mock" is the instance associated with a setup's return value, - if that setup is configured to return a mock object. - - - This property will be if a setup either does not return a mock object, - or if Moq cannot safely determine its return value without risking any side effects. For instance, - Moq is able to inspect the return value if it is a constant (e.g. `.Returns(value)`); - if, on the other hand, it gets computed by a factory function (e.g. `.Returns(() => value)`), - Moq will not attempt to retrieve that value just to find the inner mock, - since calling a user-provided function could have effects beyond Moq's understanding and control. - - - - - - Gets whether this setup is conditional. - - - - - - Gets whether this setup was matched by at least one invocation on the mock. - - - - - Gets whether this setup has been overridden - (that is, whether it is being shadowed by a more recent non-conditional setup with an equal expression). - - - - - Gets whether this setup is "verifiable". - - - This property gets sets by the `.Verifiable()` setup verb. - - Note that setups can be verified even if this property is : - completely ignores this property. - , however, will only verify setups where this property is . - - - - - - Returns the instance to which this setup belongs. - - - - - Returns the original setup expression from which this setup resulted. - - For setups doing a simple member access or method invocation (such as `mock => mock.Member`), - this property will be equal to . - - - For setups whose expression involves member chaining (such as `parent => parent.Child.Member`), - Moq does not create a single setup, but one for each member access/invocation. - The example just given will result in two setups: - - a setup for `parent => parent.Child` on the parent mock; and - on its inner mock, a setup for `(child) => (child).Member`. - - These are the setups that will be put in the mocks' collections; - their will return the partial expression for just a single member access, - while their will return the original, full expression. - - - This property may also return if this setup was created automatically, - e.g. by or by . - - - - - - Verifies this setup and optionally all verifiable setups of its inner mock (if present and known). - - If is set to , - the semantics of this method are essentially the same as those of , - except that this setup (instead of a mock) is used as the starting point for verification, - and will always be verified itself (even if not flagged as verifiable). - - - - Specifies whether recursive verification should be performed. - - - Verification failed due to one or more unmatched setups. - - - - - - - Verifies this setup and all setups of its inner mock (if present and known), - regardless of whether they have been flagged as verifiable. - - The semantics of this method are essentially the same as those of , - except that this setup (instead of a mock) is used as the starting point for verification. - - - - Verification failed due to one or more unmatched setups. - - - - - - - A list of setups that have been configured on a mock, - in chronological order (that is, oldest setup first, most recent setup last). - - - - - Allows the specification of a matching condition for an argument in a method invocation, - rather than a specific argument value. "It" refers to the argument being matched. - - - This class allows the setup to match a method invocation with an arbitrary value, - with a value in a specified range, or even one that matches a given predicate. - - - - - Contains matchers for (C#) / (VB.NET) parameters of type . - - The parameter type. - - - - Matches any value that is assignment-compatible with type . - - - - - Matches any value of the given type. - - Type of the value. - - Typically used when the actual argument value for a method call is not relevant. - - - - // Throws an exception for a call to Remove with any string value. - mock.Setup(x => x.Remove(It.IsAny<string>())).Throws(new InvalidOperationException()); - - - - - - A type matcher that matches any generic type argument. - - If the generic type parameter is constrained to (C#) / - (VB.NET), use instead. - - - If the generic type parameter has more specific constraints, - you can define your own type matcher inheriting from the type to which the type parameter is constrained. - See and . - - - - - - Matches any value of the given type, except null. - - Type of the value. - - - - Matches any value that satisfies the given predicate. - - The predicate used to match the method argument. - Type of the argument to check. - - Allows the specification of a predicate to perform matching of method call arguments. - - - This example shows how to return the value 1 whenever the argument to - the Do method is an even number. - - mock.Setup(x => x.Do(It.Is<int>(i => i % 2 == 0))) - .Returns(1); - - - - This example shows how to throw an exception if the argument to the method - is a negative number: - - mock.Setup(x => x.GetUser(It.Is<int>(i => i < 0))) - .Throws(new ArgumentException()); - - - - - - Matches any value that satisfies the given predicate. - - Use this overload when you specify a type matcher for . - The callback you provide will then receive the actual parameter type - as well as the invocation argument. - - - The predicate used to match the method argument. - Type of the argument to check. - - Allows the specification of a predicate to perform matching of method call arguments. - - - - - Matches any value that equals the using the . - To use the default comparer for the specified object, specify the value inline, - i.e. mock.Verify(service => service.DoWork(value)). - - Use this overload when you specify a value and a comparer. - - - The value to match with. - An with which the values should be compared. - Type of the argument to check. - - - - Matches any value that is in the range specified. - - The lower bound of the range. - The upper bound of the range. - The kind of range. See . - Type of the argument to check. - - The following example shows how to expect a method call with an integer argument - within the 0..100 range. - - mock.Setup(x => x.HasInventory( - It.IsAny<string>(), - It.IsInRange(0, 100, Range.Inclusive))) - .Returns(false); - - - - - - Matches any value that is present in the sequence specified. - - The sequence of possible values. - Type of the argument to check. - - The following example shows how to expect a method call with an integer argument - with value from a list. - - var values = new List<int> { 1, 2, 3 }; - - mock.Setup(x => x.HasInventory( - It.IsAny<string>(), - It.IsIn(values))) - .Returns(false); - - - - - - Matches any value that is present in the sequence specified. - - The sequence of possible values. - An with which the values should be compared. - Type of the argument to check. - - - - Matches any value that is present in the sequence specified. - - The sequence of possible values. - Type of the argument to check. - - The following example shows how to expect a method call with an integer argument - with a value of 1, 2, or 3. - - mock.Setup(x => x.HasInventory( - It.IsAny<string>(), - It.IsIn(1, 2, 3))) - .Returns(false); - - - - - - Matches any value that is not found in the sequence specified. - - The sequence of disallowed values. - Type of the argument to check. - - The following example shows how to expect a method call with an integer argument - with value not found from a list. - - var values = new List<int> { 1, 2, 3 }; - - mock.Setup(x => x.HasInventory( - It.IsAny<string>(), - It.IsNotIn(values))) - .Returns(false); - - - - - - Matches any value that is not found in the sequence specified. - - The sequence of disallowed values. - An with which the values should be compared. - Type of the argument to check. - - - - Matches any value that is not found in the sequence specified. - - The sequence of disallowed values. - Type of the argument to check. - - The following example shows how to expect a method call with an integer argument - of any value except 1, 2, or 3. - - mock.Setup(x => x.HasInventory( - It.IsAny<string>(), - It.IsNotIn(1, 2, 3))) - .Returns(false); - - - - - - Matches a string argument if it matches the given regular expression pattern. - - The pattern to use to match the string argument value. - - The following example shows how to expect a call to a method where the string argument - matches the given regular expression: - - mock.Setup(x => x.Check(It.IsRegex("[a-z]+"))) - .Returns(1); - - - - - - Matches a string argument if it matches the given regular expression pattern. - - The pattern to use to match the string argument value. - The options used to interpret the pattern. - - The following example shows how to expect a call to a method where the string argument - matches the given regular expression, in a case insensitive way: - - mock.Setup(x => x.Check(It.IsRegex("[a-z]+", RegexOptions.IgnoreCase))) - .Returns(1); - - - - - - A type matcher that matches subtypes of , as well as itself. - - The type whose subtypes should match. - - - - A type matcher that matches any value type. - - - - - Types that implement this interface represent a criterion against which generic type arguments are matched. - - To be used in combination with . - - - - - - Matches the provided type argument against the criterion represented by this type matcher. - - - The generic type argument that should be matched. - - - if the provided type argument matched the criterion represented by this instance; - otherwise, . - - - - - Implements the fluent API. - - - - - Implements the fluent API. - - - - - Implements the fluent API. - - - - - Implements the fluent API. - - - - - Implements the fluent API. - - - - - Implements the fluent API. - - - - - Implements the fluent API. - - - - - Implements the fluent API. - - - - - Implements the fluent API. - - - - - Implements the fluent API. - - - - - Defines the Callback verb and overloads. - - - - - Specifies a callback to invoke when the method is called that receives the original . - - This overload is intended to be used in scenarios involving generic type argument matchers - (such as ). The callback will receive the current , - which allows discovery of both arguments and type arguments. - - - For all other use cases, you should prefer the other Callback overloads as they provide - better static type safety. - - - - - Figure out the generic type argument used for a mocked method call: - mock.Setup(m => m.DoSomethingWith<It.IsAnyType>(...)) - .Callback(new InvocationAction(invocation => - { - var typeArgument = invocation.Method.GetGenericArguments()[0]; - // do something interesting with the type argument - }); - mock.Object.DoSomethingWith<Something>(); - - - - - - Specifies a callback of any delegate type to invoke when the method is called. - This overload specifically allows you to define callbacks for methods with by-ref parameters. - By-ref parameters can be assigned to. - - The callback method to invoke. Must have return type void (C#) or be a Sub (VB.NET). - - Invokes the given callback with the concrete invocation argument value. You can modify - by-ref parameters inside the callback. - - delegate void ExecuteAction(ref Command command); - - Command c = ...; - mock.Setup(x => x.Execute(ref c)) - .Callback(new ExecuteAction((ref Command command) => Console.WriteLine("Executing command..."))); - - - - - - Specifies a callback to invoke when the method is called. - - The callback method to invoke. - - The following example specifies a callback to set a boolean - value that can be used later: - - var called = false; - mock.Setup(x => x.Execute()) - .Callback(() => called = true); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The argument type of the invoked method. - The callback method to invoke. - - Invokes the given callback with the concrete invocation argument value. - - Notice how the specific string argument is retrieved by simply declaring - it as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute(It.IsAny<string>())) - .Callback((string command) => Console.WriteLine(command)); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((string arg1, string arg2) => Console.WriteLine(arg1 + arg2)); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((string arg1, string arg2, string arg3) => Console.WriteLine(arg1 + arg2 + arg3)); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((string arg1, string arg2, string arg3, string arg4) => Console.WriteLine(arg1 + arg2 + arg3 + arg4)); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((string arg1, string arg2, string arg3, string arg4, string arg5) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5)); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6)); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7)); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8)); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the ninth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9)); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the ninth argument of the invoked method. - The type of the tenth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10)); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the ninth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11)); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the ninth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The type of the twelfth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12)); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the ninth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The type of the twelfth argument of the invoked method. - The type of the thirteenth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12, string arg13) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13)); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the ninth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The type of the twelfth argument of the invoked method. - The type of the thirteenth argument of the invoked method. - The type of the fourteenth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12, string arg13, string arg14) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13 + arg14)); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the ninth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The type of the twelfth argument of the invoked method. - The type of the thirteenth argument of the invoked method. - The type of the fourteenth argument of the invoked method. - The type of the fifteenth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12, string arg13, string arg14, string arg15) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13 + arg14 + arg15)); - - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the ninth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The type of the twelfth argument of the invoked method. - The type of the thirteenth argument of the invoked method. - The type of the fourteenth argument of the invoked method. - The type of the fifteenth argument of the invoked method. - The type of the sixteenth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12, string arg13, string arg14, string arg15, string arg16) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13 + arg14 + arg15 + arg16)); - - - - - - Defines the Callback verb and overloads for callbacks on - setups that return a value. - - Mocked type. - Type of the return value of the setup. - - - - Specifies a callback to invoke when the method is called that receives the original . - - This overload is intended to be used in scenarios involving generic type argument matchers - (such as ). The callback will receive the current , - which allows discovery of both arguments and type arguments. - - - For all other use cases, you should prefer the other Callback overloads as they provide - better static type safety. - - - - Figure out the generic type argument used for a mocked method call: - - mock.Setup(m => m.DoSomethingWith<It.IsAnyType>(...)) - .Callback(new InvocationAction(invocation => - { - var typeArgument = invocation.Method.GetGenericArguments()[0]; - // do something interesting with the type argument - }); - mock.Object.DoSomethingWith<Something>(); - - - - - - Specifies a callback of any delegate type to invoke when the method is called. - This overload specifically allows you to define callbacks for methods with by-ref parameters. - By-ref parameters can be assigned to. - - The callback method to invoke. Must have return type void (C#) or be a Sub (VB.NET). - - Invokes the given callback with the concrete invocation argument value. You can modify - by-ref parameters inside the callback. - - delegate void ExecuteAction(ref Command command); - - Command c = ...; - mock.Setup(x => x.Execute(ref c)) - .Callback(new ExecuteAction((ref Command command) => Console.WriteLine("Executing command..."))); - - - - - - Specifies a callback to invoke when the method is called. - - The callback method to invoke. - - The following example specifies a callback to set a boolean value that can be used later: - - var called = false; - mock.Setup(x => x.Execute()) - .Callback(() => called = true) - .Returns(true); - - Note that in the case of value-returning methods, after the Callback - call you can still specify the return value. - - - - - Specifies a callback to invoke when the method is called that receives the original arguments. - - The type of the argument of the invoked method. - Callback method to invoke. - - Invokes the given callback with the concrete invocation argument value. - - Notice how the specific string argument is retrieved by simply declaring - it as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute(It.IsAny<string>())) - .Callback(command => Console.WriteLine(command)) - .Returns(true); - - - - - - Specifies a callback to invoke when the method is called that receives the original - arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((arg1, arg2) => Console.WriteLine(arg1 + arg2)); - - - - - - Specifies a callback to invoke when the method is called that receives the original - arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((arg1, arg2, arg3) => Console.WriteLine(arg1 + arg2 + arg3)); - - - - - - Specifies a callback to invoke when the method is called that receives the original - arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((arg1, arg2, arg3, arg4) => Console.WriteLine(arg1 + arg2 + arg3 + arg4)); - - - - - - Specifies a callback to invoke when the method is called that receives the original - arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((arg1, arg2, arg3, arg4, arg5) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5)); - - - - - - Specifies a callback to invoke when the method is called that receives the original - arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((arg1, arg2, arg3, arg4, arg5, arg6) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6)); - - - - - - Specifies a callback to invoke when the method is called that receives the original - arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7)); - - - - - - Specifies a callback to invoke when the method is called that receives the original - arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8)); - - - - - - Specifies a callback to invoke when the method is called that receives the original - arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the ninth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9)); - - - - - - Specifies a callback to invoke when the method is called that receives the original - arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the ninth argument of the invoked method. - The type of the tenth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10)); - - - - - - Specifies a callback to invoke when the method is called that receives the original - arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the ninth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11)); - - - - - - Specifies a callback to invoke when the method is called that receives the original - arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the ninth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The type of the twelfth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12)); - - - - - - Specifies a callback to invoke when the method is called that receives the original - arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the ninth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The type of the twelfth argument of the invoked method. - The type of the thirteenth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13)); - - - - - - Specifies a callback to invoke when the method is called that receives the original - arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the ninth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The type of the twelfth argument of the invoked method. - The type of the thirteenth argument of the invoked method. - The type of the fourteenth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13 + arg14)); - - - - - - Specifies a callback to invoke when the method is called that receives the original - arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the ninth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The type of the twelfth argument of the invoked method. - The type of the thirteenth argument of the invoked method. - The type of the fourteenth argument of the invoked method. - The type of the fifteenth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13 + arg14 + arg15)); - - - - - - Specifies a callback to invoke when the method is called that receives the original - arguments. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the ninth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The type of the twelfth argument of the invoked method. - The type of the thirteenth argument of the invoked method. - The type of the fourteenth argument of the invoked method. - The type of the fifteenth argument of the invoked method. - The type of the sixteenth argument of the invoked method. - The callback method to invoke. - A reference to interface. - - Invokes the given callback with the concrete invocation arguments values. - - Notice how the specific arguments are retrieved by simply declaring - them as part of the lambda expression for the callback: - - - mock.Setup(x => x.Execute( - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>(), - It.IsAny<string>())) - .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13 + arg14 + arg15 + arg16)); - - - - - - Defines the Callback verb for property getter setups. - - - Mocked type. - Type of the property. - - - - Specifies a callback to invoke when the property is retrieved. - - Callback method to invoke. - - Invokes the given callback with the property value being set. - - mock.SetupGet(x => x.Suspended) - .Callback(() => called = true) - .Returns(true); - - - - - - Defines the Callback verb for property setter setups. - - Type of the property. - - - - Specifies a callback to invoke when the property is set that receives the - property value being set. - - Callback method to invoke. - - Invokes the given callback with the property value being set. - - mock.SetupSet(x => x.Suspended) - .Callback((bool state) => Console.WriteLine(state)); - - - - - - Defines the CallBase verb. - - - - - Calls the real method of the object. - - - - - Defines the Raises verb. - - - - - Specifies the event that will be raised - when the setup is met. - - An expression that represents an event attach or detach action. - The event arguments to pass for the raised event. - - The following example shows how to raise an event when - the setup is met: - - var mock = new Mock<IContainer>(); - - mock.Setup(add => add.Add(It.IsAny<string>(), It.IsAny<object>())) - .Raises(add => add.Added += null, EventArgs.Empty); - - - - - - Specifies the event that will be raised - when the setup is matched. - - An expression that represents an event attach or detach action. - A function that will build the - to pass when raising the event. - - - - - Specifies the custom event that will be raised - when the setup is matched. - - An expression that represents an event attach or detach action. - The arguments to pass to the custom delegate (non EventHandler-compatible). - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - The type of the second argument received by the expected invocation. - - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - The type of the second argument received by the expected invocation. - The type of the third argument received by the expected invocation. - - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - The type of the second argument received by the expected invocation. - The type of the third argument received by the expected invocation. - The type of the fourth argument received by the expected invocation. - - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - The type of the second argument received by the expected invocation. - The type of the third argument received by the expected invocation. - The type of the fourth argument received by the expected invocation. - The type of the fifth argument received by the expected invocation. - - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - The type of the second argument received by the expected invocation. - The type of the third argument received by the expected invocation. - The type of the fourth argument received by the expected invocation. - The type of the fifth argument received by the expected invocation. - The type of the sixth argument received by the expected invocation. - - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - The type of the second argument received by the expected invocation. - The type of the third argument received by the expected invocation. - The type of the fourth argument received by the expected invocation. - The type of the fifth argument received by the expected invocation. - The type of the sixth argument received by the expected invocation. - The type of the seventh argument received by the expected invocation. - - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - The type of the second argument received by the expected invocation. - The type of the third argument received by the expected invocation. - The type of the fourth argument received by the expected invocation. - The type of the fifth argument received by the expected invocation. - The type of the sixth argument received by the expected invocation. - The type of the seventh argument received by the expected invocation. - The type of the eighth argument received by the expected invocation. - - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - The type of the second argument received by the expected invocation. - The type of the third argument received by the expected invocation. - The type of the fourth argument received by the expected invocation. - The type of the fifth argument received by the expected invocation. - The type of the sixth argument received by the expected invocation. - The type of the seventh argument received by the expected invocation. - The type of the eighth argument received by the expected invocation. - The type of the ninth argument received by the expected invocation. - - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - The type of the second argument received by the expected invocation. - The type of the third argument received by the expected invocation. - The type of the fourth argument received by the expected invocation. - The type of the fifth argument received by the expected invocation. - The type of the sixth argument received by the expected invocation. - The type of the seventh argument received by the expected invocation. - The type of the eighth argument received by the expected invocation. - The type of the ninth argument received by the expected invocation. - The type of the tenth argument received by the expected invocation. - - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - The type of the second argument received by the expected invocation. - The type of the third argument received by the expected invocation. - The type of the fourth argument received by the expected invocation. - The type of the fifth argument received by the expected invocation. - The type of the sixth argument received by the expected invocation. - The type of the seventh argument received by the expected invocation. - The type of the eighth argument received by the expected invocation. - The type of the ninth argument received by the expected invocation. - The type of the tenth argument received by the expected invocation. - The type of the eleventh argument received by the expected invocation. - - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - The type of the second argument received by the expected invocation. - The type of the third argument received by the expected invocation. - The type of the fourth argument received by the expected invocation. - The type of the fifth argument received by the expected invocation. - The type of the sixth argument received by the expected invocation. - The type of the seventh argument received by the expected invocation. - The type of the eighth argument received by the expected invocation. - The type of the ninth argument received by the expected invocation. - The type of the tenth argument received by the expected invocation. - The type of the eleventh argument received by the expected invocation. - The type of the twelfth argument received by the expected invocation. - - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - The type of the second argument received by the expected invocation. - The type of the third argument received by the expected invocation. - The type of the fourth argument received by the expected invocation. - The type of the fifth argument received by the expected invocation. - The type of the sixth argument received by the expected invocation. - The type of the seventh argument received by the expected invocation. - The type of the eighth argument received by the expected invocation. - The type of the ninth argument received by the expected invocation. - The type of the tenth argument received by the expected invocation. - The type of the eleventh argument received by the expected invocation. - The type of the twelfth argument received by the expected invocation. - The type of the thirteenth argument received by the expected invocation. - - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - The type of the second argument received by the expected invocation. - The type of the third argument received by the expected invocation. - The type of the fourth argument received by the expected invocation. - The type of the fifth argument received by the expected invocation. - The type of the sixth argument received by the expected invocation. - The type of the seventh argument received by the expected invocation. - The type of the eighth argument received by the expected invocation. - The type of the ninth argument received by the expected invocation. - The type of the tenth argument received by the expected invocation. - The type of the eleventh argument received by the expected invocation. - The type of the twelfth argument received by the expected invocation. - The type of the thirteenth argument received by the expected invocation. - The type of the fourteenth argument received by the expected invocation. - - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - The type of the second argument received by the expected invocation. - The type of the third argument received by the expected invocation. - The type of the fourth argument received by the expected invocation. - The type of the fifth argument received by the expected invocation. - The type of the sixth argument received by the expected invocation. - The type of the seventh argument received by the expected invocation. - The type of the eighth argument received by the expected invocation. - The type of the ninth argument received by the expected invocation. - The type of the tenth argument received by the expected invocation. - The type of the eleventh argument received by the expected invocation. - The type of the twelfth argument received by the expected invocation. - The type of the thirteenth argument received by the expected invocation. - The type of the fourteenth argument received by the expected invocation. - The type of the fifteenth argument received by the expected invocation. - - - - - Specifies the event that will be raised when the setup is matched. - - The expression that represents an event attach or detach action. - The function that will build the - to pass when raising the event. - The type of the first argument received by the expected invocation. - The type of the second argument received by the expected invocation. - The type of the third argument received by the expected invocation. - The type of the fourth argument received by the expected invocation. - The type of the fifth argument received by the expected invocation. - The type of the sixth argument received by the expected invocation. - The type of the seventh argument received by the expected invocation. - The type of the eighth argument received by the expected invocation. - The type of the ninth argument received by the expected invocation. - The type of the tenth argument received by the expected invocation. - The type of the eleventh argument received by the expected invocation. - The type of the twelfth argument received by the expected invocation. - The type of the thirteenth argument received by the expected invocation. - The type of the fourteenth argument received by the expected invocation. - The type of the fifteenth argument received by the expected invocation. - The type of the sixteenth argument received by the expected invocation. - - - - - Defines the Returns verb. - - Mocked type. - Type of the return value from the expression. - - - - Specifies the value to return. - - The value to return, or . - - Return a true value from the method call: - - mock.Setup(x => x.Execute("ping")) - .Returns(true); - - - - - - Specifies a function that will calculate the value to return from the method. - - This overload is intended to be used in scenarios involving generic type argument matchers, - such as . The function will receive the current , - which allows discovery of both arguments and type arguments. - - - For all other use cases, you should prefer the other Returns overloads as they provide - better static type safety. - - - - Mock a method to act like a generic factory method: - - factory.Setup(m => m.Create<It.IsAnyType>()) - .Returns(new InvocationFunc(invocation => - { - var typeArgument = invocation.Method.GetGenericArguments()[0]; - return Activator.CreateInstance(typeArgument); - }); - var something = factory.Object.Create<Something>(); - - - - - - Specifies a function that will calculate the value to return from the method. - This overload specifically allows you to specify a function with by-ref parameters. - Those by-ref parameters can be assigned to (though you should probably do that from - a Callback instead). - - The function that will calculate the return value. - - Return a calculated value when the method is called: - - delegate bool ExecuteFunc(ref Command command); - - Command c = ...; - mock.Setup(x => x.Execute(ref c)) - .Returns(new ExecuteFunc((ref Command command) => command.IsExecutable)); - - - - - - Specifies a function that will calculate the value to return from the method. - - The function that will calculate the return value. - - Return a calculated value when the method is called: - - mock.Setup(x => x.Execute("ping")) - .Returns(() => returnValues[0]); - - The lambda expression to retrieve the return value is lazy-executed, - meaning that its value may change depending on the moment the method - is executed and the value the returnValues array has at - that moment. - - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the argument of the invoked method. - The function that will calculate the return value. - - Return a calculated value which is evaluated lazily at the time of the invocation. - - The lookup list can change between invocations and the setup - will return different values accordingly. Also, notice how the specific - string argument is retrieved by simply declaring it as part of the lambda - expression: - - - mock.Setup(x => x.Execute(It.IsAny<string>())) - .Returns((string command) => returnValues[command]); - - - - - - Calls the real method of the object and returns its return value. - - The value calculated by the real method of the object. - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The function that will calculate the return value. - Returns a calculated value which is evaluated lazily at the time of the invocation. - - - The return value is calculated from the value of the actual method invocation arguments. - Notice how the arguments are retrieved by simply declaring them as part of the lambda - expression: - - - mock.Setup(x => x.Execute( - It.IsAny<int>(), - It.IsAny<int>())) - .Returns((string arg1, string arg2) => arg1 + arg2); - - - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The function that will calculate the return value. - Returns a calculated value which is evaluated lazily at the time of the invocation. - - - The return value is calculated from the value of the actual method invocation arguments. - Notice how the arguments are retrieved by simply declaring them as part of the lambda - expression: - - - mock.Setup(x => x.Execute( - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>())) - .Returns((string arg1, string arg2, string arg3) => arg1 + arg2 + arg3); - - - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The function that will calculate the return value. - Returns a calculated value which is evaluated lazily at the time of the invocation. - - - The return value is calculated from the value of the actual method invocation arguments. - Notice how the arguments are retrieved by simply declaring them as part of the lambda - expression: - - - mock.Setup(x => x.Execute( - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>())) - .Returns((string arg1, string arg2, string arg3, string arg4) => arg1 + arg2 + arg3 + arg4); - - - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The function that will calculate the return value. - Returns a calculated value which is evaluated lazily at the time of the invocation. - - - The return value is calculated from the value of the actual method invocation arguments. - Notice how the arguments are retrieved by simply declaring them as part of the lambda - expression: - - - mock.Setup(x => x.Execute( - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>())) - .Returns((string arg1, string arg2, string arg3, string arg4, string arg5) => arg1 + arg2 + arg3 + arg4 + arg5); - - - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The function that will calculate the return value. - Returns a calculated value which is evaluated lazily at the time of the invocation. - - - The return value is calculated from the value of the actual method invocation arguments. - Notice how the arguments are retrieved by simply declaring them as part of the lambda - expression: - - - mock.Setup(x => x.Execute( - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>())) - .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6); - - - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The function that will calculate the return value. - Returns a calculated value which is evaluated lazily at the time of the invocation. - - - The return value is calculated from the value of the actual method invocation arguments. - Notice how the arguments are retrieved by simply declaring them as part of the lambda - expression: - - - mock.Setup(x => x.Execute( - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>())) - .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7); - - - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The function that will calculate the return value. - Returns a calculated value which is evaluated lazily at the time of the invocation. - - - The return value is calculated from the value of the actual method invocation arguments. - Notice how the arguments are retrieved by simply declaring them as part of the lambda - expression: - - - mock.Setup(x => x.Execute( - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>())) - .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8); - - - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the ninth argument of the invoked method. - The function that will calculate the return value. - Returns a calculated value which is evaluated lazily at the time of the invocation. - - - The return value is calculated from the value of the actual method invocation arguments. - Notice how the arguments are retrieved by simply declaring them as part of the lambda - expression: - - - mock.Setup(x => x.Execute( - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>())) - .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9); - - - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the ninth argument of the invoked method. - The type of the tenth argument of the invoked method. - The function that will calculate the return value. - Returns a calculated value which is evaluated lazily at the time of the invocation. - - - The return value is calculated from the value of the actual method invocation arguments. - Notice how the arguments are retrieved by simply declaring them as part of the lambda - expression: - - - mock.Setup(x => x.Execute( - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>())) - .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10); - - - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the ninth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The function that will calculate the return value. - Returns a calculated value which is evaluated lazily at the time of the invocation. - - - The return value is calculated from the value of the actual method invocation arguments. - Notice how the arguments are retrieved by simply declaring them as part of the lambda - expression: - - - mock.Setup(x => x.Execute( - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>())) - .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11); - - - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the ninth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The type of the twelfth argument of the invoked method. - The function that will calculate the return value. - Returns a calculated value which is evaluated lazily at the time of the invocation. - - - The return value is calculated from the value of the actual method invocation arguments. - Notice how the arguments are retrieved by simply declaring them as part of the lambda - expression: - - - mock.Setup(x => x.Execute( - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>())) - .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12); - - - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the ninth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The type of the twelfth argument of the invoked method. - The type of the thirteenth argument of the invoked method. - The function that will calculate the return value. - Returns a calculated value which is evaluated lazily at the time of the invocation. - - - The return value is calculated from the value of the actual method invocation arguments. - Notice how the arguments are retrieved by simply declaring them as part of the lambda - expression: - - - mock.Setup(x => x.Execute( - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>())) - .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12, string arg13) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13); - - - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the ninth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The type of the twelfth argument of the invoked method. - The type of the thirteenth argument of the invoked method. - The type of the fourteenth argument of the invoked method. - The function that will calculate the return value. - Returns a calculated value which is evaluated lazily at the time of the invocation. - - - The return value is calculated from the value of the actual method invocation arguments. - Notice how the arguments are retrieved by simply declaring them as part of the lambda - expression: - - - mock.Setup(x => x.Execute( - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>())) - .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12, string arg13, string arg14) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13 + arg14); - - - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the ninth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The type of the twelfth argument of the invoked method. - The type of the thirteenth argument of the invoked method. - The type of the fourteenth argument of the invoked method. - The type of the fifteenth argument of the invoked method. - The function that will calculate the return value. - Returns a calculated value which is evaluated lazily at the time of the invocation. - - - The return value is calculated from the value of the actual method invocation arguments. - Notice how the arguments are retrieved by simply declaring them as part of the lambda - expression: - - - mock.Setup(x => x.Execute( - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>())) - .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12, string arg13, string arg14, string arg15) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13 + arg14 + arg15); - - - - - - Specifies a function that will calculate the value to return from the method, - retrieving the arguments for the invocation. - - The type of the first argument of the invoked method. - The type of the second argument of the invoked method. - The type of the third argument of the invoked method. - The type of the fourth argument of the invoked method. - The type of the fifth argument of the invoked method. - The type of the sixth argument of the invoked method. - The type of the seventh argument of the invoked method. - The type of the eighth argument of the invoked method. - The type of the ninth argument of the invoked method. - The type of the tenth argument of the invoked method. - The type of the eleventh argument of the invoked method. - The type of the twelfth argument of the invoked method. - The type of the thirteenth argument of the invoked method. - The type of the fourteenth argument of the invoked method. - The type of the fifteenth argument of the invoked method. - The type of the sixteenth argument of the invoked method. - The function that will calculate the return value. - Returns a calculated value which is evaluated lazily at the time of the invocation. - - - The return value is calculated from the value of the actual method invocation arguments. - Notice how the arguments are retrieved by simply declaring them as part of the lambda - expression: - - - mock.Setup(x => x.Execute( - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>(), - It.IsAny<int>())) - .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12, string arg13, string arg14, string arg15, string arg16) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13 + arg14 + arg15 + arg16); - - - - - - Defines the Returns verb for property get setups. - - Mocked type. - Type of the property. - - - - Specifies the value to return. - - The value to return, or . - - Return a true value from the property getter call: - - mock.SetupGet(x => x.Suspended) - .Returns(true); - - - - - - Specifies a function that will calculate the value to return for the property. - - The function that will calculate the return value. - - Return a calculated value when the property is retrieved: - - mock.SetupGet(x => x.Suspended) - .Returns(() => returnValues[0]); - - The lambda expression to retrieve the return value is lazy-executed, - meaning that its value may change depending on the moment the property - is retrieved and the value the returnValues array has at - that moment. - - - - - Calls the real property of the object and returns its return value. - - The value calculated by the real property of the object. - - - - Implements the fluent API. - - - - - The expectation will be considered only in the former condition. - - - - - - - The expectation will be considered only in the former condition. - - - - - - - - Setups the get. - - The type of the property. - The expression. - - - - - Setups the set. - - The type of the property. - The setter expression. - - - - - Setups the set. - - The setter expression. - - - - - Defines the Pass and Throws verbs for sequence setups - on void methods. - - - - - Configures the next call in the sequence to do nothing. - - - The following code configures the first call to Execute() - to do nothing, and the second call to throw an exception. - - mock.SetupSequence(m => m.Execute()) - .Pass() - .Throws<InvalidOperationException>(); - - - - - - Configures the next call in the sequence to throw an exception. - - - The following code configures the first call to Execute() - to do nothing, and the second call to throw an exception. - - mock.SetupSequence(m => m.Execute()) - .Pass() - .Throws<InvalidOperationException>(); - - - - - - Configures the next call in the sequence to throw an exception. - - - The following code configures the first call to Execute() - to do nothing, and the second call to throw an exception. - - mock.SetupSequence(m => m.Execute()) - .Pass() - .Throws(new InvalidOperationException()); - - - - - - Language for ReturnSequence - - - - - Returns value - - - - - Uses delegate to get return value - - The function that will calculate the return value. - - - - Throws an exception - - - - - Throws an exception - - - - - Calls original method - - - - - Defines the Throws verb. - - - - - Specifies the exception to throw when the method is invoked. - - Exception instance to throw. - - This example shows how to throw an exception when the method is - invoked with an empty string argument: - - mock.Setup(x => x.Execute("")) - .Throws(new ArgumentException()); - - - - - - Specifies the type of exception to throw when the method is invoked. - - Type of exception to instantiate and throw when the setup is matched. - - This example shows how to throw an exception when the method is - invoked with an empty string argument: - - mock.Setup(x => x.Execute("")) - .Throws<ArgumentException>(); - - - - - - Defines the Verifiable verb. - - - - - Marks the expectation as verifiable, meaning that a call - to will check if this particular - expectation was met. - - - The following example marks the expectation as verifiable: - - mock.Expect(x => x.Execute("ping")) - .Returns(true) - .Verifiable(); - - - - - - Marks the expectation as verifiable, meaning that a call - to will check if this particular - expectation was met, and specifies a message for failures. - - - The following example marks the expectation as verifiable: - - mock.Expect(x => x.Execute("ping")) - .Returns(true) - .Verifiable("Ping should be executed always!"); - - - - - - Defines occurrence members to constraint setups. - - - - - The expected invocation can happen at most once. - - - - var mock = new Mock<ICommand>(); - mock.Setup(foo => foo.Execute("ping")) - .AtMostOnce(); - - - - - - The expected invocation can happen at most specified number of times. - - The number of times to accept calls. - - - var mock = new Mock<ICommand>(); - mock.Setup(foo => foo.Execute("ping")) - .AtMost( 5 ); - - - - - - A default implementation of IQueryable for use with QueryProvider - - - - - Converts a taken-apart binary expression such as `m.A.B` (==) `x` to - `Mocks.SetupReturns(Mock.Get(m), m' => m'.A.B, (object)x)`. - - Body of the expression to set up. - Return value to be configured for . - - - - Locates the root mock object in a setup expression (which is usually, but not always, a ), - stores a reference to it, and finally replaces it with a new . - - - - - Utility repository class to use to construct multiple - mocks when consistent verification is - desired for all of them. - - - If multiple mocks will be created during a test, passing - the desired (if different than the - or the one - passed to the repository constructor) and later verifying each - mock can become repetitive and tedious. - - This repository class helps in that scenario by providing a - simplified creation of multiple mocks with a default - (unless overridden by calling - ) and posterior verification. - - - - The following is a straightforward example on how to - create and automatically verify strict mocks using a : - - var repository = new MockRepository(MockBehavior.Strict); - - var foo = repository.Create<IFoo>(); - var bar = repository.Create<IBar>(); - - // no need to call Verifiable() on the setup - // as we'll be validating all of them anyway. - foo.Setup(f => f.Do()); - bar.Setup(b => b.Redo()); - - // exercise the mocks here - - repository.VerifyAll(); - // At this point all setups are already checked - // and an optional MockException might be thrown. - // Note also that because the mocks are strict, any invocation - // that doesn't have a matching setup will also throw a MockException. - - The following examples shows how to setup the repository - to create loose mocks and later verify only verifiable setups: - - var repository = new MockRepository(MockBehavior.Loose); - - var foo = repository.Create<IFoo>(); - var bar = repository.Create<IBar>(); - - // this setup will be verified when we verify the repository - foo.Setup(f => f.Do()).Verifiable(); - - // this setup will NOT be verified - foo.Setup(f => f.Calculate()); - - // this setup will be verified when we verify the repository - bar.Setup(b => b.Redo()).Verifiable(); - - // exercise the mocks here - // note that because the mocks are Loose, members - // called in the interfaces for which no matching - // setups exist will NOT throw exceptions, - // and will rather return default values. - - repository.Verify(); - // At this point verifiable setups are already checked - // and an optional MockException might be thrown. - - The following examples shows how to setup the repository with a - default strict behavior, overriding that default for a - specific mock: - - var repository = new MockRepository(MockBehavior.Strict); - - // this particular one we want loose - var foo = repository.Create<IFoo>(MockBehavior.Loose); - var bar = repository.Create<IBar>(); - - // specify setups - - // exercise the mocks here - - repository.Verify(); - - - - - - - Access the universe of mocks of the given type, to retrieve those - that behave according to the LINQ query specification. - - The type of the mocked object to query. - - - - Access the universe of mocks of the given type, to retrieve those - that behave according to the LINQ query specification. - - Behavior of the mocks. - The type of the mocked object to query. - - - - Access the universe of mocks of the given type, to retrieve those - that behave according to the LINQ query specification. - - The predicate with the setup expressions. - The type of the mocked object to query. - - - - Access the universe of mocks of the given type, to retrieve those - that behave according to the LINQ query specification. - - The predicate with the setup expressions. - Behavior of the mocks. - The type of the mocked object to query. - - - - Creates a mock object of the indicated type. - - The type of the mocked object. - The mocked object created. - - - - Creates a mock object of the indicated type. - - Behavior of the mock. - The type of the mocked object. - The mocked object created. - - - - Creates a mock object of the indicated type. - - The predicate with the setup expressions. - The type of the mocked object. - The mocked object created. - - - - Creates a mock object of the indicated type. - - The predicate with the setup expressions. - Behavior of the mock. - The type of the mocked object. - The mocked object created. - - - - Creates the mock query with the underlying queryable implementation. - - - - - Wraps the enumerator inside a queryable. - - - - - Method that is turned into the actual call from .Query{T}, to - transform the queryable query into a normal enumerable query. - This method is never used directly by consumers. - - - - - Initializes the repository with the given - for newly created mocks from the repository. - - The behavior to use for mocks created - using the repository method if not overridden - by using the overload. - - - - Allows querying the universe of mocks for those that behave - according to the LINQ query specification. - - - - - Access the universe of mocks of the given type, to retrieve those - that behave according to the LINQ query specification. - - The type of the mocked object to query. - - - - Access the universe of mocks of the given type, to retrieve those - that behave according to the LINQ query specification. - - Behavior of the mocks. - The type of the mocked object to query. - - - - Access the universe of mocks of the given type, to retrieve those - that behave according to the LINQ query specification. - - The predicate with the setup expressions. - The type of the mocked object to query. - - - - Access the universe of mocks of the given type, to retrieve those - that behave according to the LINQ query specification. - - The predicate with the setup expressions. - Behavior of the mocks. - The type of the mocked object to query. - - - - Creates a mock object of the indicated type. - - The type of the mocked object. - The mocked object created. - - - - Creates a mock object of the indicated type. - - The predicate with the setup expressions. - The type of the mocked object. - The mocked object created. - - - - Creates the mock query with the underlying queryable implementation. - - - - - Wraps the enumerator inside a queryable. - - - - - Method that is turned into the actual call from .Query{T}, to - transform the queryable query into a normal enumerable query. - This method is never used directly by consumers. - - - - - Abstract base class for default value providers that look up and delegate to value factory functions for the requested type(s). - If a request cannot be satisfied by any registered factory, the default value gets produced by a fallback strategy. - - - - Derived classes can register and deregister factory functions with and , - respectively. - - - The fallback value generation strategy is implemented by the overridable method. - - - This base class sets up factory functions for task types (, , - and ) that produce completed tasks containing default values. - If this behavior is not desired, derived classes may deregister those standard factory functions via . - - - - - - Initializes a new instance of the class. - - - - - Deregisters any factory function that might currently be registered for the given type(s). - Subsequent requests for values of the given type(s) will be handled by the fallback strategy. - - The type(s) for which to remove any registered factory function. - - - - Registers a factory function for the given type(s). - Subsequent requests for values of the given type(s) will be handled by the specified function. - - - - The type(s) for which to register the given function. - - - All array types are represented by (). - Generic types are represented by their open generic type definition, e. g. (<>). - - - The factory function responsible for producing values for the given type. - - - - - - - - - - - - - Determines the default value for the given when no suitable factory is registered for it. - May be overridden in derived classes. - - The type of which to produce a value. - The on which an unexpected invocation has occurred. - - - - Allows creating custom value matchers that can be used on setups and verification, - completely replacing the built-in class with your own - argument matching rules. - - - Argument matching is used to determine whether a concrete invocation in the mock - matches a given setup. This matching mechanism is fully extensible. - - - Creating a custom matcher is straightforward. You just need to create a method - that returns a value from a call to - with your matching condition and optional friendly render expression: - - public Order IsBigOrder() - { - return Match.Create<Order>( - o => o.GrandTotal >= 5000, - () => IsBigOrder()); // a friendly expression to render on failures - } - - This method can be used in any mock setup invocation: - - mock.Setup(m => m.Submit(IsBigOrder()) - .Throws<UnauthorizedAccessException>(); - - At runtime, Moq knows that the return value was a matcher and - evaluates your predicate with the actual value passed into your predicate. - - Another example might be a case where you want to match a lists of orders - that contains a particular one. You might create matcher like the following: - - - public static class Orders - { - public static IEnumerable<Order> Contains(Order order) - { - return Match.Create<IEnumerable<Order>>(orders => orders.Contains(order)); - } - } - - Now we can invoke this static method instead of an argument in an invocation: - - var order = new Order { ... }; - var mock = new Mock<IRepository<Order>>(); - - mock.Setup(x => x.Save(Orders.Contains(order))) - .Throws<ArgumentException>(); - - - - - - Provided for the sole purpose of rendering the delegate passed to the - matcher constructor if no friendly render lambda is provided. - - - - - Initializes the matcher with the condition that will be checked - in order to match invocation values. - - The condition to match against actual values. - - - - Initializes the matcher with the condition that will be checked - in order to match invocation values. - - The condition to match against actual values. - - A lambda representation of the matcher, to be used when rendering error messages, - such as () => It.IsAny<string<(). - - - - - Initializes the matcher with the condition that will be checked in order to match invocation values. - - The predicate of this overload will not only be provided with a - method argument, but also with the associated parameter's type. This parameter type essentially - overrides in cases where the latter is a type matcher. Therefore, - use this method overload if you want your custom matcher to work together with type matchers. - - - - The condition to match against actual values. - - This function will be passed the invocation argument, as well as the type of the associated parameter. - - - - A lambda representation of the matcher. - - - - - Allows creating custom value matchers that can be used on setups and verification, - completely replacing the built-in class with your own - argument matching rules. - - Type of the value to match. - - - - - - - - - - - - - A per-thread observer that records invocations to matchers for later inspection. - - - - This component requires the active cooperation of the respective subsystem. - That is, invoked matchers call into if an - observer is active on the current thread. - - - - - - Returns the current timestamp. The next call will return a timestamp greater than this one, - allowing you to order invocations and matcher observations. - - - - - Adds the specified as an observation. - - - - - Checks whether at least one observation is available, - and if so, returns the last one. - - The observed matcher observed last. - - - - Matcher to treat static functions as matchers. - - mock.Setup(x => x.StringMethod(A.MagicString())); - - public static class A - { - [Matcher] - public static string MagicString() { return null; } - public static bool MagicString(string arg) - { - return arg == "magic"; - } - } - - Will succeed if: mock.Object.StringMethod("magic"); - and fail with any other call. - - - - - Options to customize the behavior of the mock. - - - - - Causes the mock to always throw - an exception for invocations that don't have a - corresponding setup. - - - - - Will never throw exceptions, returning default - values when necessary (null for reference types, - zero for value types or empty enumerables and arrays). - - - - - Default mock behavior, which equals . - - - - - A that returns an empty default value - for non-mockable types, and mocks for all other types (interfaces and - non-sealed classes) that can be mocked. - - - - - Exception thrown by mocks when they are not properly set up, - when setups are not matched, when verification fails, etc. - - - A distinct exception type is provided so that exceptions - thrown by a mock can be distinguished from other exceptions - that might be thrown in tests. - - Moq does not provide a richer hierarchy of exception types, as - tests typically should not catch or expect exceptions - from mocks. These are typically the result of changes - in the tested class or its collaborators' implementation, and - result in fixes in the mock setup so that they disappear and - allow the test to pass. - - - - - - Returns the exception to be thrown when a setup limited by is matched more often than once. - - - - - Returns the exception to be thrown when a setup limited by is matched more often than the specified maximum number of times. - - - - - Returns the exception to be thrown when finds no invocations (or the wrong number of invocations) that match the specified expectation. - - - - - Returns the exception to be thrown when a strict mock has no setup corresponding to the specified invocation. - - - - - Returns the exception to be thrown when a strict mock has no setup that provides a return value for the specified invocation. - - - - - Returns the exception to be thrown when a setup was not matched. - - - - - Returns an exception whose message is the concatenation of the given ' messages - and whose reason(s) is the combination of the given ' reason(s). - Used by when it finds one or more mocks with verification errors. - - - - - Returns the exception to be thrown when finds invocations that have not been verified. - - - - - Indicates whether this exception is a verification fault raised by Verify() - - - - - Supports the serialization infrastructure. - - Serialization information. - Streaming context. - - - - Supports the serialization infrastructure. - - Serialization information. - Streaming context. - - - - Provides additional methods on mocks. - - - - - Resets this mock's state. This includes its setups, configured default return values, registered event handlers, and all recorded invocations. - - The mock whose state should be reset. - - - - Resets all invocations recorded for this mock. - - The mock whose recorded invocations should be reset. - - - - Helper class to setup a full trace between many mocks - - - - - Initialize a trace setup - - - - - Allow sequence to be repeated - - - - - Contains extension methods that are related to . - - - - - Perform an expectation in the trace. - - - - - Provides a mock implementation of . - - Type to mock, which can be an interface, a class, or a delegate. - - Any interface type can be used for mocking, but for classes, only abstract and virtual members can be mocked. - - The behavior of the mock with regards to the setups and the actual calls is determined by the optional - that can be passed to the constructor. - - - - The following example shows establishing setups with specific values for method invocations: - - // Arrange - var order = new Order(TALISKER, 50); - var warehouse = new Mock<IWarehouse>(); - warehouse.Setup(w => w.HasInventory(TALISKER, 50)).Returns(true); - - // Act - order.Fill(warehouse.Object); - - // Assert - Assert.True(order.IsFilled); - - - - The following example shows how to use the class - to specify conditions for arguments instead of specific values: - - // Arrange - var order = new Order(TALISKER, 50); - var warehouse = new Mock<IWarehouse>(); - - // shows how to expect a value within a range: - warehouse.Setup(x => x.HasInventory( - It.IsAny<string>(), - It.IsInRange(0, 100, Range.Inclusive))) - .Returns(false); - - // shows how to throw for unexpected calls. - warehouse.Setup(x => x.Remove( - It.IsAny<string>(), - It.IsAny<int>())) - .Throws(new InvalidOperationException()); - - // Act - order.Fill(warehouse.Object); - - // Assert - Assert.False(order.IsFilled); - - - - - - Ctor invoked by AsTInterface exclusively. - - - - - Initializes an instance of the mock with behavior. - - - - var mock = new Mock<IFormatProvider>(); - - - - - - Initializes an instance of the mock with behavior - and with the given constructor arguments for the class. (Only valid when is a class.) - - Optional constructor arguments if the mocked type is a class. - - The mock will try to find the best match constructor given the constructor arguments, - and invoke that to initialize the instance.This applies only for classes, not interfaces. - - - - var mock = new Mock<MyProvider>(someArgument, 25); - - - - - - Initializes an instance of the mock with the specified behavior. - - Behavior of the mock. - - - var mock = new Mock<IFormatProvider>(MockBehavior.Strict); - - - - - - Initializes an instance of the mock with a specific behavior - and with the given constructor arguments for the class. - - Behavior of the mock. - Optional constructor arguments if the mocked type is a class. - - The mock will try to find the best match constructor given the constructor arguments, - and invoke that to initialize the instance. This applies only to classes, not interfaces. - - - - - Initializes an instance of the mock using the given constructor call including its - argument values and with a specific behavior. - - Lambda expression that creates an instance of . - Behavior of the mock. - - var mock = new Mock<MyProvider>(() => new MyProvider(someArgument, 25), MockBehavior.Loose); - - - - - - - - - - - Gets or sets the instance that will be used - e. g. to produce default return values for unexpected invocations. - - - - - Exposes the mocked object instance. - - - - - Allows naming of your mocks, so they can be easily identified in error messages (e.g. from failed assertions). - - - - - Returns the name of the mock. - - - - - Returns the mocked object value. - - - - - A set of switches that influence how this mock will operate. - You can opt in or out of certain features via this property. - - - - - Adds an interface implementation to the mock, allowing setups to be specified for it. - - - This method can only be called before the first use of the mock property, - at which point the runtime type has already been generated and no more interfaces can be added to it. - - Also, must be an interface and not a class, - which must be specified when creating the mock instead. - - - Type of interface to cast the mock to. - The specified is not an interface. - - The mock type has already been generated by accessing the property. - - - The following example creates a mock for the main interface - and later adds to it to verify it's called by the consumer code: - - var mock = new Mock<IProcessor>(); - mock.Setup(x => x.Execute("ping")); - - // add IDisposable interface - var disposable = mock.As<IDisposable>(); - disposable.Setup(d => d.Dispose()) - .Verifiable(); - - - - - - Specifies a setup on the mocked type for a call to a method. - - Lambda expression that specifies the expected method invocation. - - If more than one setup is specified for the same method or property, - the latest one wins and is the one that will be executed. - - - - var mock = new Mock<IProcessor>(); - mock.Setup(x => x.Execute("ping")); - - - - - - Specifies a setup on the mocked type for a call to a non- (value-returning) method. - - Lambda expression that specifies the method invocation. - Type of the return value. Typically omitted as it can be inferred from the expression. - - If more than one setup is specified for the same method or property, - the latest one wins and is the one that will be executed. - - - - mock.Setup(x => x.HasInventory("Talisker", 50)) - .Returns(true); - - - - - - Specifies a setup on the mocked type for a call to a property getter. - - Lambda expression that specifies the property getter. - Type of the property. Typically omitted as it can be inferred from the expression. - - If more than one setup is set for the same property getter, - the latest one wins and is the one that will be executed. - - - - mock.SetupGet(x => x.Suspended) - .Returns(true); - - - - - - Specifies a setup on the mocked type for a call to a property setter. - - The Lambda expression that sets a property to a value. - Type of the property. Typically omitted as it can be inferred from the expression. - - If more than one setup is set for the same property setter, - the latest one wins and is the one that will be executed. - - This overloads allows the use of a callback already typed for the property type. - - - - - mock.SetupSet(x => x.Suspended = true); - - - - - - Specifies a setup on the mocked type for a call to a property setter. - - Lambda expression that sets a property to a value. - - If more than one setup is set for the same property setter, - the latest one wins and is the one that will be executed. - - - - mock.SetupSet(x => x.Suspended = true); - - - - - - Specifies a setup on the mocked type for a call to an event add. - - Lambda expression that adds an event. - - If more than one setup is set for the same event add, - the latest one wins and is the one that will be executed. - - - - mock.SetupAdd(x => x.EventHandler += (s, e) => {}); - - - - - - Specifies a setup on the mocked type for a call to an event remove. - - Lambda expression that removes an event. - - If more than one setup is set for the same event remove, - the latest one wins and is the one that will be executed. - - - - mock.SetupRemove(x => x.EventHandler -= (s, e) => {}); - - - - - - Specifies that the given property should have "property behavior", - meaning that setting its value will cause it to be saved and later returned when the property is requested. - (This is also known as "stubbing".) - - Property expression to stub. - - Type of the property, inferred from the property expression (does not need to be specified). - - - If you have an interface with an int property Value, - you might stub it using the following straightforward call: - - var mock = new Mock<IHaveValue>(); - mock.SetupProperty(v => v.Value); - - After the SetupProperty call has been issued, setting and retrieving - the object value will behave as expected: - - IHaveValue v = mock.Object; - v.Value = 5; - Assert.Equal(5, v.Value); - - - - - - Specifies that the given property should have "property behavior", - meaning that setting its value will cause it to be saved and later returned when the property is requested. - This overload allows setting the initial value for the property. - (This is also known as "stubbing".) - - Property expression to stub. - Initial value for the property. - - Type of the property, inferred from the property expression (does not need to be specified). - - - If you have an interface with an int property Value, - you might stub it using the following straightforward call: - - var mock = new Mock<IHaveValue>(); - mock.SetupProperty(v => v.Value, 5); - - After the SetupProperty call has been issued, setting and retrieving the object value - will behave as expected: - - IHaveValue v = mock.Object; - Assert.Equal(5, v.Value); // Initial value was stored - - // New value set which changes the initial value - v.Value = 6; - Assert.Equal(6, v.Value); - - - - - - Specifies that the all properties on the mock should have "property behavior", - meaning that setting their value will cause them to be saved and later returned when the properties is requested. - (This is also known as "stubbing".) - The default value for each property will be the one generated as specified by the - property for the mock. - - - If the mock's is set to , - the mocked default values will also get all properties setup recursively. - - - - - Return a sequence of values, once per call. - - - - - Performs a sequence of actions, one per call. - - - - - Allows setting up a conditional setup. - Conditional setups are only matched by an invocation - when the specified condition evaluates to - at the time when the invocation occurs. - - - The condition that should be checked - when a setup is being matched against an invocation. - - - - - Verifies that a specific invocation matching the given expression was performed on the mock. - Use in conjunction with the default . - - Expression to verify. - The invocation was not performed on the mock. - - This example assumes that the mock has been used, and later we want to verify - that a given invocation with specific parameters was performed: - - var mock = new Mock<IProcessor>(); - - ... // exercise mock - - // Will throw if the test code didn't call Execute with a "ping" string argument. - mock.Verify(proc => proc.Execute("ping")); - - - - - - Verifies that a specific invocation matching the given expression was performed on the mock. - Use in conjunction with the default . - - Expression to verify. - The number of times a method is expected to be called. - - The invocation was not called the number of times specified by . - - - - - Verifies that a specific invocation matching the given expression was performed on the mock. - Use in conjunction with the default . - - Expression to verify. - The number of times a method is expected to be called. - - The invocation was not called the number of times specified by . - - - - - Verifies that a specific invocation matching the given expression was performed on the mock, - specifying a failure error message. - Use in conjunction with the default . - - Expression to verify. - Message to show if verification fails. - The invocation was not performed on the mock. - - - - Verifies that a specific invocation matching the given expression was performed on the mock, - specifying a failure error message. - Use in conjunction with the default . - - Expression to verify. - The number of times a method is expected to be called. - Message to show if verification fails. - - The invocation was not called the number of times specified by . - - - - - Verifies that a specific invocation matching the given expression was performed on the mock, - specifying a failure error message. - Use in conjunction with the default . - - Expression to verify. - The number of times a method is expected to be called. - Message to show if verification fails. - - The invocation was not called the number of times specified by . - - - - - Verifies that a specific invocation matching the given expression was performed on the mock. - Use in conjunction with the default . - - Expression to verify. - Type of return value from the expression. - The invocation was not performed on the mock. - - This example assumes that the mock has been used, and later we want to verify - that a given invocation with specific parameters was performed: - - var mock = new Mock<IWarehouse>(); - - ... // exercise mock - - // Will throw if the test code didn't call HasInventory. - mock.Verify(warehouse => warehouse.HasInventory(TALISKER, 50)); - - - - - - Verifies that a specific invocation matching the given expression was performed on the mock. - Use in conjunction with the default . - - Expression to verify. - The number of times a method is expected to be called. - Type of return value from the expression. - - The invocation was not called the number of times specified by . - - - - - Verifies that a specific invocation matching the given expression was performed on the mock. - Use in conjunction with the default . - - Expression to verify. - The number of times a method is expected to be called. - Type of return value from the expression. - - The invocation was not called the number of times specified by . - - - - - Verifies that a specific invocation matching the given expression was performed on the mock, - specifying a failure error message. - - Expression to verify. - Message to show if verification fails. - Type of return value from the expression. - The invocation was not performed on the mock. - - This example assumes that the mock has been used, and later we want to verify - that a given invocation with specific parameters was performed: - - var mock = new Mock<IWarehouse>(); - - ... // exercise mock - - // Will throw if the test code didn't call HasInventory. - mock.Verify(warehouse => warehouse.HasInventory(TALISKER, 50), - "When filling orders, inventory has to be checked"); - - - - - - Verifies that a specific invocation matching the given expression was performed on the mock, - specifying a failure error message. - - Expression to verify. - The number of times a method is expected to be called. - Message to show if verification fails. - Type of return value from the expression. - - The invocation was not called the number times specified by . - - - - - Verifies that a property was read on the mock. - - Expression to verify. - - Type of the property to verify. Typically omitted as it can be inferred from the expression's return type. - - The invocation was not performed on the mock. - - This example assumes that the mock has been used, and later we want to verify - that a given property was retrieved from it: - - var mock = new Mock<IWarehouse>(); - - ... // exercise mock - - // Will throw if the test code didn't retrieve the IsClosed property. - mock.VerifyGet(warehouse => warehouse.IsClosed); - - - - - - Verifies that a property was read on the mock. - - The number of times a method is expected to be called. - Expression to verify. - - Type of the property to verify. Typically omitted as it can be inferred from the expression's return type. - - - The invocation was not called the number times specified by . - - - - - Verifies that a property was read on the mock. - - The number of times a method is expected to be called. - Expression to verify. - - Type of the property to verify. Typically omitted as it can be inferred from the expression's return type. - - - The invocation was not called the number times specified by . - - - - - Verifies that a property was read on the mock, specifying a failure error message. - - Expression to verify. - Message to show if verification fails. - - Type of the property to verify. Typically omitted as it can be inferred from the expression's return type. - - The invocation was not performed on the mock. - - - - Verifies that a property was read on the mock, specifying a failure error message. - - The number of times a method is expected to be called. - Expression to verify. - Message to show if verification fails. - - Type of the property to verify. Typically omitted as it can be inferred from the expression's return type. - - - The invocation was not called the number times specified by . - - - - - Verifies that a property was read on the mock, specifying a failure error message. - - The number of times a method is expected to be called. - Expression to verify. - Message to show if verification fails. - - Type of the property to verify. Typically omitted as it can be inferred from the expression's return type. - - - The invocation was not called the number times specified by . - - - - - Verifies that a property was set on the mock. - - Expression to verify. - The invocation was not performed on the mock. - - This example assumes that the mock has been used, and later we want to verify - that a given property was set on it: - - var mock = new Mock<IWarehouse>(); - - ... // exercise mock - - // Will throw if the test code didn't set the IsClosed property. - mock.VerifySet(warehouse => warehouse.IsClosed = true); - - - - - - Verifies that a property was set on the mock. - - The number of times a method is expected to be called. - Expression to verify. - - The invocation was not called the number of times specified by . - - - - - Verifies that a property was set on the mock. - - The number of times a method is expected to be called. - Expression to verify. - - The invocation was not called the number of times specified by . - - - - - Verifies that a property was set on the mock, specifying a failure message. - - Expression to verify. - Message to show if verification fails. - The invocation was not performed on the mock. - - This example assumes that the mock has been used, and later we want to verify - that a given property was set on it: - - var mock = new Mock<IWarehouse>(); - - ... // exercise mock - - // Will throw if the test code didn't set the IsClosed property. - mock.VerifySet(warehouse => warehouse.IsClosed = true, - "Warehouse should always be closed after the action"); - - - - - - Verifies that a property was set on the mock, specifying a failure message. - - The number of times a method is expected to be called. - Expression to verify. - Message to show if verification fails. - - The invocation was not called the number of times specified by . - - - - - Verifies that a property was set on the mock, specifying a failure message. - - The number of times a method is expected to be called. - Expression to verify. - Message to show if verification fails. - - The invocation was not called the number of times specified by . - - - - - Verifies that an event was added to the mock. - - Expression to verify. - The invocation was not performed on the mock. - - This example assumes that the mock has been used, and later we want to verify - that a given event handler was subscribed to an event: - - var mock = new Mock<IWarehouse>(); - - ... // exercise mock - - // Will throw if the test code didn't subscribe to the OnClosed event. - mock.VerifyAdd(warehouse => warehouse.OnClosed += It.IsAny<EventHandler>()); - - - - - - Verifies that an event was added to the mock. - - The number of times a method is expected to be called. - Expression to verify. - - The invocation was not called the number of times specified by . - - - - - Verifies that an event was added to the mock. - - The number of times a method is expected to be called. - Expression to verify. - - The invocation was not called the number of times specified by . - - - - - Verifies that an event was added to the mock, specifying a failure message. - - Expression to verify. - Message to show if verification fails. - The invocation was not performed on the mock. - - - - Verifies that an event was added to the mock, specifying a failure message. - - The number of times a method is expected to be called. - Expression to verify. - Message to show if verification fails. - - The invocation was not called the number of times specified by . - - - - - Verifies that an event was added to the mock, specifying a failure message. - - The number of times a method is expected to be called. - Expression to verify. - Message to show if verification fails. - - The invocation was not called the number of times specified by . - - - - - Verifies that an event was removed from the mock. - - Expression to verify. - The invocation was not performed on the mock. - - This example assumes that the mock has been used, and later we want to verify - that a given event handler was removed from an event: - - var mock = new Mock<IWarehouse>(); - - ... // exercise mock - - // Will throw if the test code didn't unsubscribe from the OnClosed event. - mock.VerifyRemove(warehouse => warehouse.OnClose -= It.IsAny<EventHandler>()); - - - - - - Verifies that an event was removed from the mock. - - The number of times a method is expected to be called. - Expression to verify. - - The invocation was not called the number of times specified by . - - - - - Verifies that an event was removed from the mock. - - The number of times a method is expected to be called. - Expression to verify. - - The invocation was not called the number of times specified by . - - - - - Verifies that an event was removed from the mock, specifying a failure message. - - Expression to verify. - Message to show if verification fails. - The invocation was not performed on the mock. - - - - Verifies that an event was removed from the mock, specifying a failure message. - - The number of times a method is expected to be called. - Expression to verify. - Message to show if verification fails. - - The invocation was not called the number of times specified by . - - - - - Verifies that an event was removed from the mock, specifying a failure message. - - The number of times a method is expected to be called. - Expression to verify. - Message to show if verification fails. - - The invocation was not called the number of times specified by . - - - - - Verifies that there were no calls other than those already verified. - - There was at least one invocation not previously verified. - - - - Raises the event referenced in using the given argument. - - - The argument is invalid for the target event invocation, - or the is not an event attach or detach expression. - - - The following example shows how to raise a - event: - - var mock = new Mock<IViewModel>(); - mock.Raise(x => x.PropertyChanged -= null, new PropertyChangedEventArgs("Name")); - - - - This example shows how to invoke an event with a custom event arguments class - in a view that will cause its corresponding presenter to react by changing its state: - - var mockView = new Mock<IOrdersView>(); - var presenter = new OrdersPresenter(mockView.Object); - - // Check that the presenter has no selection by default - Assert.Null(presenter.SelectedOrder); - - // Raise the event with a specific arguments data - mockView.Raise(v => v.SelectionChanged += null, new OrderEventArgs { Order = new Order("moq", 500) }); - - // Now the presenter reacted to the event, and we have a selected order - Assert.NotNull(presenter.SelectedOrder); - Assert.Equal("moq", presenter.SelectedOrder.ProductName); - - - - - - Raises the event referenced in using the given argument for a non--typed event. - - - The arguments are invalid for the target event invocation, - or the is not an event attach or detach expression. - - - The following example shows how to raise a custom event that does not adhere - to the standard EventHandler: - - var mock = new Mock<IViewModel>(); - mock.Raise(x => x.MyEvent -= null, "Name", bool, 25); - - - - - - Obsolete. - - - - - Obsolete. - - - - - Obsolete. - - - - - Obsolete. - - - - - Obsolete. - - - - - Marks a method as a matcher, which allows complete replacement - of the built-in class with your own argument - matching rules. - - - - This feature has been deprecated in favor of the new - and simpler . - - - - The argument matching is used to determine whether a concrete - invocation in the mock matches a given setup. This - matching mechanism is fully extensible. - - - There are two parts of a matcher: the compiler matcher - and the runtime matcher. - - - Compiler matcher - Used to satisfy the compiler requirements for the - argument. Needs to be a method optionally receiving any arguments - you might need for the matching, but with a return type that - matches that of the argument. - - Let's say I want to match a lists of orders that contains - a particular one. I might create a compiler matcher like the following: - - - public static class Orders - { - [Matcher] - public static IEnumerable<Order> Contains(Order order) - { - return null; - } - } - - Now we can invoke this static method instead of an argument in an - invocation: - - var order = new Order { ... }; - var mock = new Mock<IRepository<Order>>(); - - mock.Setup(x => x.Save(Orders.Contains(order))) - .Throws<ArgumentException>(); - - Note that the return value from the compiler matcher is irrelevant. - This method will never be called, and is just used to satisfy the - compiler and to signal Moq that this is not a method that we want - to be invoked at runtime. - - - - Runtime matcher - - The runtime matcher is the one that will actually perform evaluation - when the test is run, and is defined by convention to have the - same signature as the compiler matcher, but where the return - value is the first argument to the call, which contains the - object received by the actual invocation at runtime: - - public static bool Contains(IEnumerable<Order> orders, Order order) - { - return orders.Contains(order); - } - - At runtime, the mocked method will be invoked with a specific - list of orders. This value will be passed to this runtime - matcher as the first argument, while the second argument is the - one specified in the setup (x.Save(Orders.Contains(order))). - - The boolean returned determines whether the given argument has been - matched. If all arguments to the expected method are matched, then - the setup matches and is evaluated. - - - - - - Using this extensible infrastructure, you can easily replace the entire - set of matchers with your own. You can also avoid the - typical (and annoying) lengthy expressions that result when you have - multiple arguments that use generics. - - - The following is the complete example explained above: - - public static class Orders - { - [Matcher] - public static IEnumerable<Order> Contains(Order order) - { - return null; - } - - public static bool Contains(IEnumerable<Order> orders, Order order) - { - return orders.Contains(order); - } - } - - And the concrete test using this matcher: - - var order = new Order { ... }; - var mock = new Mock<IRepository<Order>>(); - - mock.Setup(x => x.Save(Orders.Contains(order))) - .Throws<ArgumentException>(); - - // use mock, invoke Save, and have the matcher filter. - - - - - - Contains obsolete API members as extension methods so that existing code continues to compile, - but new code doesn't see them. - - - - - Obsolete. - - - - - Obsolete. - - - - - Obsolete. - - - - - Utility factory class to use to construct multiple - mocks when consistent verification is - desired for all of them. - - - If multiple mocks will be created during a test, passing - the desired (if different than the - or the one - passed to the factory constructor) and later verifying each - mock can become repetitive and tedious. - - This factory class helps in that scenario by providing a - simplified creation of multiple mocks with a default - (unless overridden by calling - ) and posterior verification. - - - - The following is a straightforward example on how to - create and automatically verify strict mocks using a : - - var factory = new MockFactory(MockBehavior.Strict); - - var foo = factory.Create<IFoo>(); - var bar = factory.Create<IBar>(); - - // no need to call Verifiable() on the setup - // as we'll be validating all of them anyway. - foo.Setup(f => f.Do()); - bar.Setup(b => b.Redo()); - - // exercise the mocks here - - factory.VerifyAll(); - // At this point all setups are already checked - // and an optional MockException might be thrown. - // Note also that because the mocks are strict, any invocation - // that doesn't have a matching setup will also throw a MockException. - - The following examples shows how to setup the factory - to create loose mocks and later verify only verifiable setups: - - var factory = new MockFactory(MockBehavior.Loose); - - var foo = factory.Create<IFoo>(); - var bar = factory.Create<IBar>(); - - // this setup will be verified when we verify the factory - foo.Setup(f => f.Do()).Verifiable(); - - // this setup will NOT be verified - foo.Setup(f => f.Calculate()); - - // this setup will be verified when we verify the factory - bar.Setup(b => b.Redo()).Verifiable(); - - // exercise the mocks here - // note that because the mocks are Loose, members - // called in the interfaces for which no matching - // setups exist will NOT throw exceptions, - // and will rather return default values. - - factory.Verify(); - // At this point verifiable setups are already checked - // and an optional MockException might be thrown. - - The following examples shows how to setup the factory with a - default strict behavior, overriding that default for a - specific mock: - - var factory = new MockFactory(MockBehavior.Strict); - - // this particular one we want loose - var foo = factory.Create<IFoo>(MockBehavior.Loose); - var bar = factory.Create<IBar>(); - - // specify setups - - // exercise the mocks here - - factory.Verify(); - - - - - - - Initializes the factory with the given - for newly created mocks from the factory. - - The behavior to use for mocks created - using the factory method if not overridden - by using the overload. - - - - Gets the default of mocks created by this repository. - - - - - Whether the base member virtual implementation will be called - for mocked classes if no setup is matched. Defaults to . - - - - - Specifies the behavior to use when returning default values for - unexpected invocations on loose mocks. - - - - - Gets or sets the instance that will be used - e. g. to produce default return values for unexpected invocations. - - - - - Gets the mocks that have been created by this factory and - that will get verified together. - - - - - A set of switches that influence how mocks created by this factory will operate. - You can opt in or out of certain features via this property. - - - - - Creates a new mock with the default - specified at factory construction time. - - Type to mock. - A new . - - - var factory = new MockFactory(MockBehavior.Strict); - - var foo = factory.Create<IFoo>(); - // use mock on tests - - factory.VerifyAll(); - - - - - - Creates a new mock with the default - specified at factory construction time and with the - the given constructor arguments for the class. - - - The mock will try to find the best match constructor given the - constructor arguments, and invoke that to initialize the instance. - This applies only to classes, not interfaces. - - Type to mock. - Constructor arguments for mocked classes. - A new . - - - var factory = new MockFactory(MockBehavior.Default); - - var mock = factory.Create<MyBase>("Foo", 25, true); - // use mock on tests - - factory.Verify(); - - - - - - Creates a new mock with the given . - - Type to mock. - Behavior to use for the mock, which overrides - the default behavior specified at factory construction time. - A new . - - The following example shows how to create a mock with a different - behavior to that specified as the default for the factory: - - var factory = new MockFactory(MockBehavior.Strict); - - var foo = factory.Create<IFoo>(MockBehavior.Loose); - - - - - - Creates a new mock with the given - and with the given constructor arguments for the class. - - - The mock will try to find the best match constructor given the - constructor arguments, and invoke that to initialize the instance. - This applies only to classes, not interfaces. - - Type to mock. - Behavior to use for the mock, which overrides - the default behavior specified at factory construction time. - Constructor arguments for mocked classes. - A new . - - The following example shows how to create a mock with a different - behavior to that specified as the default for the factory, passing - constructor arguments: - - var factory = new MockFactory(MockBehavior.Default); - - var mock = factory.Create<MyBase>(MockBehavior.Strict, "Foo", 25, true); - - - - - - Creates an instance of the mock using the given constructor call including its - argument values and with a specific behavior. - - Type to mock. - Lambda expression that creates an instance of . - Behavior of the mock. - A new . - - - var factory = new MockFactory(MockBehavior.Default); - - var mock = factory.Create<MyClass>(() => new MyClass("Foo", 25, true), MockBehavior.Loose); - // use mock on tests - - factory.Verify(); - - - - - - Implements creation of a new mock within the factory. - - Type to mock. - The behavior for the new mock. - Optional arguments for the construction of the mock. - - - - Verifies all verifiable setups on all mocks created by this factory. - - - One or more mocks had setups that were not satisfied. - - - - Verifies all setups on all mocks created by this factory. - - - One or more mocks had setups that were not satisfied. - - - - Calls on all mocks created by this factory. - - - One or more mocks had invocations that were not verified. - - - - Invokes for each mock - in , and accumulates the resulting - verification exceptions that might be - thrown from the action. - - The action to execute against - each mock. - - - - Provides additional methods on mocks. - - - Provided as extension methods as they confuse the compiler - with the overloads taking Action. - - - - - Specifies a setup on the mocked type for a call to - to a property setter, regardless of its value. - - - If more than one setup is set for the same property setter, - the latest one wins and is the one that will be executed. - - Type of the property. Typically omitted as it can be inferred from the expression. - Type of the mock. - The target mock for the setup. - Lambda expression that specifies the property setter. - - - mock.SetupSet(x => x.Suspended); - - - - This method is not legacy, but must be on an extension method to avoid - confusing the compiler with the new Action syntax. - - - - - Verifies that a property has been set on the mock, regardless of its value. - - - This example assumes that the mock has been used, - and later we want to verify that a given invocation - with specific parameters was performed: - - var mock = new Mock<IWarehouse>(); - // exercise mock - //... - // Will throw if the test code didn't set the IsClosed property. - mock.VerifySet(warehouse => warehouse.IsClosed); - - - The invocation was not performed on the mock. - Expression to verify. - The mock instance. - Mocked type. - Type of the property to verify. Typically omitted as it can - be inferred from the expression's return type. - - - - Verifies that a property has been set on the mock, specifying a failure - error message. - - - This example assumes that the mock has been used, - and later we want to verify that a given invocation - with specific parameters was performed: - - var mock = new Mock<IWarehouse>(); - // exercise mock - //... - // Will throw if the test code didn't set the IsClosed property. - mock.VerifySet(warehouse => warehouse.IsClosed); - - - The invocation was not performed on the mock. - Expression to verify. - Message to show if verification fails. - The mock instance. - Mocked type. - Type of the property to verify. Typically omitted as it can - be inferred from the expression's return type. - - - - Verifies that a property has been set on the mock, regardless - of the value but only the specified number of times. - - - This example assumes that the mock has been used, - and later we want to verify that a given invocation - with specific parameters was performed: - - var mock = new Mock<IWarehouse>(); - // exercise mock - //... - // Will throw if the test code didn't set the IsClosed property. - mock.VerifySet(warehouse => warehouse.IsClosed); - - - The invocation was not performed on the mock. - The invocation was not call the times specified by - . - The mock instance. - Mocked type. - The number of times a method is allowed to be called. - Expression to verify. - Type of the property to verify. Typically omitted as it can - be inferred from the expression's return type. - - - - Verifies that a property has been set on the mock, regardless - of the value but only the specified number of times, and specifying a failure - error message. - - - This example assumes that the mock has been used, - and later we want to verify that a given invocation - with specific parameters was performed: - - var mock = new Mock<IWarehouse>(); - // exercise mock - //... - // Will throw if the test code didn't set the IsClosed property. - mock.VerifySet(warehouse => warehouse.IsClosed); - - - The invocation was not performed on the mock. - The invocation was not call the times specified by - . - The mock instance. - Mocked type. - The number of times a method is allowed to be called. - Message to show if verification fails. - Expression to verify. - Type of the property to verify. Typically omitted as it can - be inferred from the expression's return type. - - - - Helper for sequencing return values in the same method. - - - - - Return a sequence of values, once per call. - - - - - Performs a sequence of actions, one per call. - - - - - Return a sequence of tasks, once per call. - - - - - Return a sequence of tasks, once per call. - - - - - Return a sequence of tasks, once per call. - - - - - Return a sequence of tasks, once per call. - - - - - Return a sequence of tasks, once per call. - - - - - Return a sequence of tasks, once per call. - - - - - Throws a sequence of exceptions, once per call. - - - - - Throws a sequence of exceptions, once per call. - - - - - Throws a sequence of exceptions, once per call. - - - - - Throws a sequence of exceptions, once per call. - - - - - Allocation-free adapter type for treating a `ParameterInfo[]` array like a `Type[]` array. - - - - - A strongly-typed resource class, for looking up localized strings, etc. - - - - - Returns the cached ResourceManager instance used by this class. - - - - - Overrides the current thread's CurrentUICulture property for all - resource lookups using this strongly typed resource class. - - - - - Looks up a localized string similar to Mock type has already been initialized by accessing its Object property. Adding interfaces must be done before that.. - - - - - Looks up a localized string similar to Value cannot be an empty string.. - - - - - Looks up a localized string similar to Matcher '{0}' is unmatchable: An implicit conversion operator will convert arguments of type '{1}' to the parameter's type '{2}', which is assignment-incompatible.. - - - - - Looks up a localized string similar to Can only add interfaces to the mock.. - - - - - Looks up a localized string similar to CallBase cannot be used with Delegate mocks.. - - - - - Looks up a localized string similar to Can't set return value for void method {0}.. - - - - - Looks up a localized string similar to Constructor arguments cannot be passed for delegate mocks.. - - - - - Looks up a localized string similar to Constructor arguments cannot be passed for interface mocks.. - - - - - Looks up a localized string similar to A matching constructor for the given arguments was not found on the mocked type.. - - - - - Looks up a localized string similar to Delays have to be greater than zero to ensure an async callback is used.. - - - - - Looks up a localized string similar to Expression {0} involves a field access, which is not supported. Use properties instead.. - - - - - Looks up a localized string similar to Invalid callback. This overload of the "Callback" method only accepts "void" (C#) or "Sub" (VB.NET) delegates with parameter types matching those of the set up method.. - - - - - Looks up a localized string similar to Invalid callback. Setup on method with {0} parameter(s) cannot invoke callback with different number of parameters ({1}).. - - - - - Looks up a localized string similar to Invalid callback. Setup on method with parameters ({0}) cannot invoke callback with parameters ({1}).. - - - - - Looks up a localized string similar to Invalid callback. Setup on method with return type '{0}' cannot invoke callback with return type '{1}'.. - - - - - Looks up a localized string similar to Cannot retrieve a mock with the given object type {0} as it's not the main type of the mock or any of its additional interfaces. - Please cast the argument to one of the supported types: {1}. - Remember that there's no generics covariance in the CLR, so your object must be one of these types in order for the call to succeed.. - - - - - Looks up a localized string similar to Invalid callback. This overload of the "Returns" method only accepts non-"void" (C#) or "Function" (VB.NET) delegates with parameter types matching those of the set up method.. - - - - - Looks up a localized string similar to The return type of the last member shown above is not mockable.. - - - - - Looks up a localized string similar to The equals ("==" or "=" in VB) and the conditional 'and' ("&&" or "AndAlso" in VB) operators are the only ones supported in the query specification expression. Unsupported expression: {0}. - - - - - Looks up a localized string similar to LINQ method '{0}' not supported.. - - - - - Looks up a localized string similar to Expression contains a call to a method which is not virtual (overridable in VB) or abstract. Unsupported expression: {0}. - - - - - Looks up a localized string similar to Could not determine the correct positions for all argument matchers ({0} in total) used in a call to this method: {1}. - This could be caused by an unrecognized type conversion, coercion, narrowing, or widening, and is most likely a bug in Moq. Please report your use case to the Moq team.. - - - - - Looks up a localized string similar to Member {0}.{1} does not exist.. - - - - - Looks up a localized string similar to Method {0}.{1} is public. Use strong-typed Expect overload instead: - mock.Setup(x => x.{1}()); - . - - - - - Looks up a localized string similar to No protected method {0}.{1} found whose signature is compatible with the provided arguments ({2}).. - - - - - Looks up a localized string similar to Cannot set up {0}.{1} because it is not accessible to the proxy generator used by Moq: - {2}. - - - - - Looks up a localized string similar to Minimum delay has to be lower than maximum delay.. - - - - - Looks up a localized string similar to {0} invocation failed with mock behavior {1}. - {2}. - - - - - Looks up a localized string similar to The next member after the last one shown above is non-virtual, sealed, or not visible to the proxy factory.. - - - - - Looks up a localized string similar to No constructor call could be found.. - - - - - Looks up a localized string similar to No invocations performed.. - - - - - Looks up a localized string similar to Expected invocation on the mock at least {0} times, but was {2} times: . - - - - - Looks up a localized string similar to Expected invocation on the mock at least once, but was never performed: . - - - - - Looks up a localized string similar to Expected invocation on the mock at most {1} times, but was {2} times: . - - - - - Looks up a localized string similar to Expected invocation on the mock at most once, but was {2} times: . - - - - - Looks up a localized string similar to Expected invocation on the mock between {0} and {1} times (Exclusive), but was {2} times: . - - - - - Looks up a localized string similar to Expected invocation on the mock between {0} and {1} times (Inclusive), but was {2} times: . - - - - - Looks up a localized string similar to Expected invocation on the mock exactly {0} times, but was {2} times: . - - - - - Looks up a localized string similar to Expected invocation on the mock should never have been performed, but was {2} times: . - - - - - Looks up a localized string similar to Expected invocation on the mock once, but was {2} times: . - - - - - Looks up a localized string similar to All invocations on the mock must have a corresponding setup.. - - - - - Looks up a localized string similar to Object instance was not created by Moq.. - - - - - Looks up a localized string similar to Out expression must evaluate to a constant value.. - - - - - Looks up a localized string similar to Performed invocations:. - - - - - Looks up a localized string similar to Property {0}.{1} does not have a getter.. - - - - - Looks up a localized string similar to Property {0}.{1} does not have a setter.. - - - - - Looks up a localized string similar to Type {0} does not have matching protected member: {1}. - - - - - Looks up a localized string similar to Ref expression must evaluate to a constant value.. - - - - - Looks up a localized string similar to Invocation needs to return a value and therefore must have a corresponding setup that provides it.. - - - - - Looks up a localized string similar to Expression is not an event add: {0}. - - - - - Looks up a localized string similar to Expression is not an event remove: {0}. - - - - - Looks up a localized string similar to Expression is not a property access: {0}. - - - - - Looks up a localized string similar to Expression is not a setter: {0}. - - - - - Looks up a localized string similar to Type {0} does not have a default (public parameterless) constructor.. - - - - - Looks up a localized string similar to Type {0} does not implement required interface {1}. - - - - - Looks up a localized string similar to Type to mock ({0}) must be an interface, a delegate, or a non-sealed, non-static class.. - - - - - Looks up a localized string similar to To specify a setup for public property {0}.{1}, use the typed overloads, such as: - mock.Setup(x => x.{1}).Returns(value); - mock.SetupGet(x => x.{1}).Returns(value); //equivalent to previous one - mock.SetupSet(x => x.{1}).Callback(callbackDelegate); - . - - - - - Looks up a localized string similar to Unexpected translation of a member access: {0}. - - - - - Looks up a localized string similar to Unhandled binding type: {0}. - - - - - Looks up a localized string similar to Unhandled expression type: {0}. - - - - - Looks up a localized string similar to {0}: - This setup was not matched.. - - - - - Looks up a localized string similar to Unsupported expression: {0}. - - - - - Looks up a localized string similar to Unsupported expression: {0} - {1}. - - - - - Looks up a localized string similar to Extension methods (here: {0}) may not be used in setup / verification expressions.. - - - - - Looks up a localized string similar to Member {0} is not supported for protected mocking.. - - - - - Looks up a localized string similar to Non-overridable members (here: {0}) may not be used in setup / verification expressions.. - - - - - Looks up a localized string similar to Static members (here: {0}) may not be used in setup / verification expressions.. - - - - - Looks up a localized string similar to {0}: - This mock failed verification due to the following unverified invocations:. - - - - - Looks up a localized string similar to Use ItExpr.IsNull<TValue> rather than a null argument value, as it prevents proper method lookup.. - - - - - Looks up a localized string similar to It is impossible to call the provided strongly-typed predicate due to the use of a type matcher. Provide a weakly-typed predicate with two parameters (object, Type) instead.. - - - - - Looks up a localized string similar to {0}:. - - - - - Looks up a localized string similar to {0}: - This mock failed verification due to the following:. - - - - - Looks up a localized string similar to The mock repository failed verification due to the following:. - - - - - Allows setups to be specified for protected members (methods and properties) - seen through another type with corresponding members (that is, members - having identical signatures as the ones to be set up). - - Type of the mocked object. - - Any type with members whose signatures are identical to the mock's protected members (except for their accessibility level). - - - - - Specifies a setup on the mocked type for a call to a method. - - Lambda expression that specifies the expected method invocation. - - - - - Specifies a setup on the mocked type for a call to a value-returning method. - - Type of the return value. Typically omitted as it can be inferred from the expression. - Lambda expression that specifies the expected method invocation. - - - - - Specifies a setup on the mocked type for a call to a property getter. - - Type of the property. Typically omitted as it can be inferred from the expression. - Lambda expression that specifies the property getter. - - - - Specifies that the given property should have "property behavior", - meaning that setting its value will cause it to be saved and later returned when the property is requested. - (This is also known as "stubbing".) - - Type of the property. Typically omitted as it can be inferred from the expression. - Lambda expression that specifies the property. - Initial value for the property. - - - - Return a sequence of values, once per call. - - Type of the return value. Typically omitted as it can be inferred from the expression. - Lambda expression that specifies the expected method invocation. - - - - Performs a sequence of actions, one per call. - - Lambda expression that specifies the expected method invocation. - - - - Verifies that a specific invocation matching the given expression was performed on the mock. - Use in conjunction with the default . - - Lambda expression that specifies the method invocation. - - Number of times that the invocation is expected to have occurred. - If omitted, assumed to be . - - Message to include in the thrown if verification fails. - The specified invocation did not occur (or did not occur the specified number of times). - - - - Verifies that a specific invocation matching the given expression was performed on the mock. - Use in conjunction with the default . - - Type of the return value. Typically omitted as it can be inferred from the expression. - Lambda expression that specifies the method invocation. - - Number of times that the invocation is expected to have occurred. - If omitted, assumed to be . - - Message to include in the thrown if verification fails. - The specified invocation did not occur (or did not occur the specified number of times). - - - - Verifies that a property was read on the mock. - - Type of the property. Typically omitted as it can be inferred from the expression. - Lambda expression that specifies the method invocation. - - Number of times that the invocation is expected to have occurred. - If omitted, assumed to be . - - Message to include in the thrown if verification fails. - The specified invocation did not occur (or did not occur the specified number of times). - - - - Allows setups to be specified for protected members by using their - name as a string, rather than strong-typing them which is not possible - due to their visibility. - - - - - Set up protected members (methods and properties) seen through another type with identical member signatures. - - - Any type with members whose signatures are identical to the mock's protected members (except for their accessibility level). - - - - - Specifies a setup for a void method invocation with the given - , optionally specifying arguments for the method call. - - The name of the void method to be invoked. - The optional arguments for the invocation. If argument matchers are used, - remember to use rather than . - - - - Specifies a setup for a void method invocation with the given - , optionally specifying arguments for the method call. - - The name of the void method to be invoked. - Should the parameter types match exactly types that were provided - The optional arguments for the invocation. If argument matchers are used, - remember to use rather than . - - - - Specifies a setup for a void method invocation with the given - , optionally specifying arguments for the method call. - - The name of the void method to be invoked. - An array of types to be substituted for the type parameters of the current generic method definition. - Should the parameter types match exactly types that were provided - The optional arguments for the invocation. If argument matchers are used, - remember to use rather than . - - - - Specifies a setup for an invocation on a property or a non void method with the given - , optionally specifying arguments for the method call. - - The name of the method or property to be invoked. - The optional arguments for the invocation. If argument matchers are used, - remember to use rather than . - The return type of the method or property. - - - - Specifies a setup for an invocation on a property or a non void method with the given - , optionally specifying arguments for the method call. - - The name of the method or property to be invoked. - The optional arguments for the invocation. If argument matchers are used, - remember to use rather than . - Should the parameter types match exactly types that were provided - The return type of the method or property. - - - - Specifies a setup for an invocation on a property or a non void method with the given - , optionally specifying arguments for the method call. - - The name of the method or property to be invoked. - An array of types to be substituted for the type parameters of the current generic method definition. - The optional arguments for the invocation. If argument matchers are used, - remember to use rather than . - Should the parameter types match exactly types that were provided - The return type of the method or property. - - - - Specifies a setup for an invocation on a property getter with the given - . - - The name of the property. - The type of the property. - - - - Specifies a setup for an invocation on a property setter with the given - . - - The name of the property. - The property value. If argument matchers are used, - remember to use rather than . - The type of the property. - - - - Performs a sequence of actions, one per call. - - Name of the method or property being set up. - The optional arguments for the invocation. If argument matchers are used, - remember to use rather than . - - - - Performs a sequence of actions, one per call. - - Name of the method or property being set up. - Determines whether the parameter types should exactly match the types provided. - The optional arguments for the invocation. If argument matchers are used, - remember to use rather than . - - - - Performs a sequence of actions, one per call. - - Name of the method or property being set up. - An array of types to be substituted for the type parameters of the current generic method definition. - Determines whether the parameter types should exactly match the types provided. - The optional arguments for the invocation. If argument matchers are used, - remember to use rather than . - - - - Return a sequence of values, once per call. - - Name of the method or property being set up. - The optional arguments for the invocation. If argument matchers are used, - remember to use rather than . - Return type of the method or property being set up. - - - - Return a sequence of values, once per call. - - Name of the method or property being set up. - Determines whether the parameter types should exactly match the types provided. - The optional arguments for the invocation. If argument matchers are used, - remember to use rather than . - Return type of the method or property being set up. - - - - Return a sequence of values, once per call. - - Name of the method or property being set up. - An array of types to be substituted for the type parameters of the current generic method definition. - Determines whether the parameter types should exactly match the types provided. - The optional arguments for the invocation. If argument matchers are used, - remember to use rather than . - Return type of the method or property being set up. - - - - Specifies a verify for a void method with the given , - optionally specifying arguments for the method call. Use in conjunction with the default - . - - The invocation was not call the times specified by - . - The name of the void method to be verified. - The number of times a method is allowed to be called. - The optional arguments for the invocation. If argument matchers are used, - remember to use rather than . - - - - Specifies a verify for a void method with the given , - optionally specifying arguments for the method call. Use in conjunction with the default - . - - The invocation was not call the times specified by - . - The name of the void method to be verified. - An array of types to be substituted for the type parameters of the current generic method definition. - The number of times a method is allowed to be called. - The optional arguments for the invocation. If argument matchers are used, - remember to use rather than . - - - - Specifies a verify for a void method with the given , - optionally specifying arguments for the method call. Use in conjunction with the default - . - - The invocation was not call the times specified by - . - The name of the void method to be verified. - The number of times a method is allowed to be called. - Should the parameter types match exactly types that were provided - The optional arguments for the invocation. If argument matchers are used, - remember to use rather than . - - - - Specifies a verify for a void method with the given , - optionally specifying arguments for the method call. Use in conjunction with the default - . - - The invocation was not call the times specified by - . - The name of the void method to be verified. - An array of types to be substituted for the type parameters of the current generic method definition. - The number of times a method is allowed to be called. - Should the parameter types match exactly types that were provided - The optional arguments for the invocation. If argument matchers are used, - remember to use rather than . - - - - Specifies a verify for an invocation on a property or a non void method with the given - , optionally specifying arguments for the method call. - - The invocation was not call the times specified by - . - The name of the method or property to be invoked. - The optional arguments for the invocation. If argument matchers are used, - remember to use rather than . - The number of times a method is allowed to be called. - The type of return value from the expression. - - - - Specifies a verify for an invocation on a property or a non void method with the given - , optionally specifying arguments for the method call. - - The invocation was not call the times specified by - . - The name of the method or property to be invoked. - An array of types to be substituted for the type parameters of the current generic method definition. - The optional arguments for the invocation. If argument matchers are used, - remember to use rather than . - The number of times a method is allowed to be called. - The type of return value from the expression. - - - - Specifies a verify for an invocation on a property or a non void method with the given - , optionally specifying arguments for the method call. - - The invocation was not call the times specified by - . - The name of the method or property to be invoked. - Should the parameter types match exactly types that were provided - The optional arguments for the invocation. If argument matchers are used, - remember to use rather than . - The number of times a method is allowed to be called. - The type of return value from the expression. - - - - Specifies a verify for an invocation on a property or a non void method with the given - , optionally specifying arguments for the method call. - - The invocation was not call the times specified by - . - The name of the method or property to be invoked. - An array of types to be substituted for the type parameters of the current generic method definition. - Should the parameter types match exactly types that were provided - The optional arguments for the invocation. If argument matchers are used, - remember to use rather than . - The number of times a method is allowed to be called. - The type of return value from the expression. - - - - Specifies a verify for an invocation on a property getter with the given - . - The invocation was not call the times specified by - . - - The name of the property. - The number of times a method is allowed to be called. - The type of the property. - - - - Specifies a setup for an invocation on a property setter with the given - . - - The invocation was not call the times specified by - . - The name of the property. - The number of times a method is allowed to be called. - The property value. - The type of the property. If argument matchers are used, - remember to use rather than . - - - - Allows the specification of a matching condition for an - argument in a protected member setup, rather than a specific - argument value. "ItExpr" refers to the argument being matched. - - - Use this variant of argument matching instead of - for protected setups. - This class allows the setup to match a method invocation - with an arbitrary value, with a value in a specified range, or - even one that matches a given predicate, or null. - - - - - Contains matchers for (C#) / (VB.NET) parameters of type . - - The parameter type. - - - - Matches any value that is assignment-compatible with type . - - - - - - Matches a null value of the given type. - - - Required for protected mocks as the null value cannot be used - directly as it prevents proper method overload selection. - - - - // Throws an exception for a call to Remove with a null string value. - mock.Protected() - .Setup("Remove", ItExpr.IsNull<string>()) - .Throws(new InvalidOperationException()); - - - Type of the value. - - - - Matches any value of the given type. - - - Typically used when the actual argument value for a method - call is not relevant. - - - - // Throws an exception for a call to Remove with any string value. - mock.Protected() - .Setup("Remove", ItExpr.IsAny<string>()) - .Throws(new InvalidOperationException()); - - - Type of the value. - - - - Matches any value that satisfies the given predicate. - - Type of the argument to check. - The predicate used to match the method argument. - - Allows the specification of a predicate to perform matching - of method call arguments. - - - This example shows how to return the value 1 whenever the argument to the - Do method is an even number. - - mock.Protected() - .Setup("Do", ItExpr.Is<int>(i => i % 2 == 0)) - .Returns(1); - - This example shows how to throw an exception if the argument to the - method is a negative number: - - mock.Protected() - .Setup("GetUser", ItExpr.Is<int>(i => i < 0)) - .Throws(new ArgumentException()); - - - - - - Matches any value that is in the range specified. - - Type of the argument to check. - The lower bound of the range. - The upper bound of the range. - The kind of range. See . - - The following example shows how to expect a method call - with an integer argument within the 0..100 range. - - mock.Protected() - .Setup("HasInventory", - ItExpr.IsAny<string>(), - ItExpr.IsInRange(0, 100, Range.Inclusive)) - .Returns(false); - - - - - - Matches a string argument if it matches the given regular expression pattern. - - The pattern to use to match the string argument value. - - The following example shows how to expect a call to a method where the - string argument matches the given regular expression: - - mock.Protected() - .Setup("Check", ItExpr.IsRegex("[a-z]+")) - .Returns(1); - - - - - - Matches a string argument if it matches the given regular expression pattern. - - The pattern to use to match the string argument value. - The options used to interpret the pattern. - - The following example shows how to expect a call to a method where the - string argument matches the given regular expression, in a case insensitive way: - - mock.Protected() - .Setup("Check", ItExpr.IsRegex("[a-z]+", RegexOptions.IgnoreCase)) - .Returns(1); - - - - - - used to replace occurrences of `TAnalog.Member` sub-expressions with `T.Member`. - - - - - Enables the Protected() method on , - allowing setups to be set for protected members by using their - name as a string, rather than strong-typing them which is not possible - due to their visibility. - - - - - Enable protected setups for the mock. - - Mocked object type. Typically omitted as it can be inferred from the mock instance. - The mock to set the protected setups on. - - - - An implementation of that is based on Castle DynamicProxy. - - - - - - - - Attempts to find the most specific override for the given method - in the type chains (base class, interfaces) of the given . - - - - - Performs a non-virtual (non-polymorphic) call to the given - using the specified object and . - - - - - This hook tells Castle DynamicProxy to proxy the default methods it suggests, - plus some of the methods defined by , e.g. so we can intercept - and give mocks useful default names. - - - - Do not use. (Moq requires this class so that methods can be set up on interface mocks.) - - - - - - - - - - - - Do not use. (Moq requires this interface so that methods can be set up on interface mocks.) - - - - - - - Gets the global instance used by Moq. - - - - - Kind of range to use in a filter specified through - . - - - - - The range includes the to and - from values. - - - - - The range does not include the to and - from values. - - - - - Defines async extension methods on IReturns. - - - - - Specifies the value to return from an asynchronous method. - - Mocked type. - Type of the return value. - Returns verb which represents the mocked type and the task of return type - The value to return, or . - - - - Specifies the value to return from an asynchronous method. - - Mocked type. - Type of the return value. - Returns verb which represents the mocked type and the task of return type - The value to return, or . - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Mocked type. - Type of the return value. - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Mocked type. - Type of the return value. - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Specifies the exception to throw when the asynchronous method is invoked. - - Mocked type. - Returns verb which represents the mocked type and the task return type - Exception instance to throw. - - - - Specifies the exception to throw when the asynchronous method is invoked. - - Mocked type. - Type of the return value. - Returns verb which represents the mocked type and the task of return type - Exception instance to throw. - - - - Specifies the exception to throw when the asynchronous method is invoked. - - Mocked type. - Type of the return value. - Returns verb which represents the mocked type and the task of return type - Exception instance to throw. - - - - Allows to specify the delayed return value of an asynchronous method. - - - - - Allows to specify the delayed return value of an asynchronous method. - - - - - Allows to specify the delayed return value of an asynchronous method. - - - - - Allows to specify the delayed return value of an asynchronous method. - - - - - Allows to specify the delayed return value of an asynchronous method. - Use the argument to pass in (seeded) random generators used across your unit test. - - - - - Allows to specify the delayed return value of an asynchronous method. - Use the argument to pass in (seeded) random generators used across your unit test. - - - - - Allows to specify the exception thrown by an asynchronous method. - - - - - Allows to specify the exception thrown by an asynchronous method. - - - - - Allows to specify the exception thrown by an asynchronous method. - - - - - Allows to specify the exception thrown by an asynchronous method. - - - - - Allows to specify the exception thrown by an asynchronous method. - Use the argument to pass in (seeded) random generators used across your unit test. - - - - - Allows to specify the exception thrown by an asynchronous method. - Use the argument to pass in (seeded) random generators used across your unit test. - - - - - Defines async extension methods on IReturns. - - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Type of the function parameter. - Mocked type. - Type of the return value. - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Type of the function parameter. - Mocked type. - Type of the return value. - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Specifies a function that will calculate the value to return from the asynchronous method. - - Returns verb which represents the mocked type and the task of return type - The function that will calculate the return value. - - - - Programmable setup used by . - - - - - Attempts to get this setup's return value without invoking user code - (which could have side effects beyond Moq's understanding and control). - - - - - Verifies this setup and those of its inner mock (if present and known). - - - Specifies whether recursive verification should be performed. - - - Specifies which setups should be verified. - - - The set of mocks that have already been verified. - - - This setup or any of its inner mock (if present and known) failed verification. - - - - - Setup used by for property getters. - - - - - Setup used by for property setters. - - - - - Represents a switch, or a combination of switches, that can be either enabled or disabled. - When set via or , they determine how a mock will operate. - - - - - The default set of switches. The switches covered by this enumeration value may change between different versions of Moq. - - - - - When enabled, specifies that source file information should be collected for each setup. - This results in more helpful error messages, but may affect performance. - - - - - Defines the number of invocations allowed by a mocked method. - - - - Deconstructs this instance. - This output parameter will receive the minimum required number of calls satisfying this instance (i.e. the lower inclusive bound). - This output parameter will receive the maximum allowed number of calls satisfying this instance (i.e. the upper inclusive bound). - - - - Specifies that a mocked method should be invoked times - as minimum. - - The minimum number of times. - An object defining the allowed number of invocations. - - - - Specifies that a mocked method should be invoked one time as minimum. - - An object defining the allowed number of invocations. - - - - Specifies that a mocked method should be invoked times - as maximum. - - The maximum number of times. - An object defining the allowed number of invocations. - - - - Specifies that a mocked method should be invoked one time as maximum. - - An object defining the allowed number of invocations. - - - - Specifies that a mocked method should be invoked between - and times. - - The minimum number of times. - The maximum number of times. - The kind of range. See . - An object defining the allowed number of invocations. - - - - Specifies that a mocked method should be invoked exactly - times. - - The times that a method or property can be called. - An object defining the allowed number of invocations. - - - - Specifies that a mocked method should not be invoked. - - An object defining the allowed number of invocations. - - - - Specifies that a mocked method should be invoked exactly one time. - - An object defining the allowed number of invocations. - - - - Returns a value indicating whether this instance is equal to a specified value. - - A value to compare to this instance. - - if has the same value as this instance; - otherwise, . - - - - - Returns a value indicating whether this instance is equal to a specified value. - - An object to compare to this instance. - - if has the same value as this instance; - otherwise, . - - - - - 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. - - - - - Determines whether two specified objects have the same value. - - The first . - The second . - - if has the same value as ; - otherwise, . - - - - - Determines whether two specified objects have different values. - - The first . - The second . - - if the value of is different from - 's; otherwise, . - - - - - - - - Checks whether the specified number of invocations matches the constraint described by this instance. - - The number of invocations to check. - - if matches the constraint described by this instance; - otherwise, . - - - - - Marks a type as a type matcher, optionally specifying another type that will perform the matching. - - Type matchers preferably implement themselves. Use the parameterized form of this attribute - where this is not possible, such as when the type matcher needs to be a or - type in order to satisfy generic type constraints of the method where it is used. - - - - - - Initializes a new instance of the class. - - Use this constructor overload if the type on which this attribute is placed implements itself. - - - - - - Initializes a new instance of the class. - - Use this constructor overload if the type on which this attribute is placed does not implement . - The specified type will instead provide the implementation of . - - - The of a type that implements . - - - - Interface that is used to build fluent interfaces by hiding methods declared by from IntelliSense. - - - Code that consumes implementations of this interface should expect one of two things: - - When referencing the interface from within the same solution (project reference), you will still see the methods this interface is meant to hide. - When referencing the interface through the compiled output assembly (external reference), the standard Object methods will be hidden as intended. - When using Resharper, be sure to configure it to respect the attribute: Options, go to Environment | IntelliSense | Completion Appearance and check "Filter members by [EditorBrowsable] attribute". - - See https://kzu.github.io/IFluentInterface for more information. - - - - - - Redeclaration that hides the method from IntelliSense. - - - - - Redeclaration that hides the method from IntelliSense. - - - - - Redeclaration that hides the method from IntelliSense. - - - - - Redeclaration that hides the method from IntelliSense. - - - - - Contains the two extension methods - and - . - - - - - Appends a string representation of the specified type to this instance. - - The instance to which to append. - The of which a string representation should be appended. - Any combination of formatting options that should be applied. (Optional.) - A reference to this instance after the append operation has completed. - - - - Gets a string representation of this instance. - - The of which a string representation is requested. - Any combination of formatting options that should be applied. (Optional.) - A string representation of this instance. - - - - Replacement for - which may be slow or even unavailable on earlier target frameworks. - - - - - Allows uniform reflection across all target frameworks. - - - - - Allows uniform reflection across all target frameworks. - - - - - Allows uniform reflection across all target frameworks. - - - - - Allows uniform reflection across all target frameworks. - - - - - An enumeration of available options when a name's string representation is requested. - - - - - The default type name formatting options. - - - - - Specifies that a type's namespace should be included. - - For example, the type is formatted as "Action" by default. - When this flag is specified, it will be formatted as "System.Action". - - - - - - Specifies that anonymous types should not be transformed to C#-like syntax. - - For example, the anonymous type of "new { Name = "Blob", Count = 17 }" is formatted as - "{string Name, int Count}" by default. When this flag is specified, it will be formatted as - the raw "display class" name, which looks something like "<>f__AnonymousType5<string, int>". - - - - - - Specifies that an open generic type's parameter names should be omitted. - - For example, the open generic type is formatted as "IEquatable<T>" by default. - When this flag is specified, it will be formatted as "IEquatable<>". - - - - - - Specifies that primitive types should not be mapped to their corresponding C# language keywords. - - For example, the type is formatted as "int" by default. - When this flag is specified, it will be formatted as "Int32". - - - - - - Specifies that nullable types should not be simplified to C# question mark syntax. - - For example, the type of is formatted as "int?" by default. - When this flag is specified, it will be formatted as "Nullable<int>". - - - - - - Specifies that value tuple types should not be transformed to C# tuple syntax. - - For example, the type of , - is formatted as "(bool, int)" by default. When this flag is specified, - it will be formatted as "ValueTuple<bool, int>". - - - - - diff --git a/src/packages/Moq.4.16.1/moq.png b/src/packages/Moq.4.16.1/moq.png deleted file mode 100644 index 41cf4062f3028f6aed379ac62d7cc65b2c14b25a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6829 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 b00960reLzkUBjK-00000NkvXXu0mjfsqI4` diff --git a/src/packages/NUnit.3.13.2/.signature.p7s b/src/packages/NUnit.3.13.2/.signature.p7s deleted file mode 100644 index 56c2cbd874c1a29c12a978abb020ae57d9cfbe54..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9476 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 (block element) instead of `` (inline element) -* 3485 Should we make MultipleAssertException.TestResult maybe-null or obsolete two constructors? -* 3496 Adding data dictionary should not add a trailing newline -* 3497 Fix mixed line endings in Git -* 3503 Remove implicit cast from ITestResult to TestResult -* 3505 Better failure messages for Subset and Superset constraints -* 3506 ValueTuple tests now running if not targeting NET35 -* 3536 Reduce newly added API surface -* 3542 Update NuGet Package Icons -* 3547 DelayedConstraint constrains does not preserve original result additional information -* 3551 Add PrivateAssets="all" to analyzer dependency -* 3552 MessagePumpStrategy does not work for WPF on netcoreapp3.0 and upwards -* 3559 Disables the DOC100 suggestion and reverts the added paragraph elements -* 3563 `[Suggestion]` Improve TextMessageWriter output for numeric values -* 3565 .NET 5 issue with PlatformAttribute -* 3583 Avoid using a culture-sensitive EndsWith in common code -* 3592 Add classname and methodname to the start-test event -* 3594 Reduce memory overhead of TestNameGenerator -* 3596 AreAlmostEqualUlps throws OverflowException for -0 -* 3598 Fix typo -* 3608 `[Platform]` attribute fails with DllNotFoundException in WASM -* 3616 Extend Is.Empty to work for Guid.Empty -* 3618 NUnit has a P/Invoke whose native function doesn't exist on all platforms -* 3622 EmptyDirectoryConstraint doesn't need to enumerate entire directory contents -* 3632 Assert.Inconclusive() reports failed when timeout used -* 3636 NUnitLite filtering fails if space in test name before ( -* 3641 Type implementing `IComparable` (or any `IComparable`) fails comparison. -* 3647 Fix exception under blazor 5 -* 3650 Build issue with the latest .NET SDK 5.0.100-rc.2 -* 3657 Add Framework Version to the XML -* 3662 TestContext.CurrentContext.CurrentRepeatCount only contains retry count not the repeat count -* 3667 Create FrameworkPackageSetting to set CurrentCulture and CurrentUICulture -* 3676 Parallelizeable tests sometimes shares memory -* 3679 Issue 3390: Do not prefilter relevant SetUpFixtures -* 3694 Async tests causes double failure messages -* 3699 Compilation of netcoreapp3.1 targets fails on CI (both AppVeyor and Azure Pipelines) - -### NUnit 3.12 - May 14, 2019 - -This release of NUnit finally drops support for .NET 2.0. If your application still -targets .NET 2.0, your tests will need to target at least .NET 3.5. Microsoft ended -support for .NET 2.0 on July 12, 2011. Microsoft recommends that everyone migrate -to at least .NET Framework 3.5 SP1 for security and performance fixes. - -This release dramatically improves NUnit support for async tests including returning -ValueTask and custom tasks from tests, improved handling of SynchronizationContexts -and better exception handling. - -The .NET Standard 2.0 version of NUnit continues to gain more functionality that -is found in the .NET 4.5 version of the framework like setting the ApartmentState -and enabling Timeout on tests. - -### Issues Resolved - - * 474 TypeHelperTests.cs is orphaned - * 999 Support multiple TestOf attributes per test - * 1638 TimeoutAttribute not available when targeting netcoreapp framework - * 2168 ThrowsAsync reports OperationCanceledException as TaskCanceledException - * 2194 How to use `Contains.Substring` with `And` - * 2286 Add support for custom Task (i.e. ValueTask) - * 2579 AppVeyor Test Failures under .NET 3.5 - * 2614 TestExecutionContext.CurrentContext is saved in Remoting CallContext between test runs - * 2696 Getting WorkerId fails in debug - * 2772 Random failing of parallel test run: Unhandled Exception: System.InvalidOperationException: Stack empty. - * 2975 ComparisonConstraints are allocating string on construction - * 3014 Timeout failures on MacOS - * 3023 NUnit runner fails when test method returns ValueTask<> - * 3035 Apartment state can't be used for .NET Standard 2.0 tests - * 3036 Apartment state can't be used for .NET Standard 2.0 tests - * 3038 TestName in TestCase attribute not validated to be not empty - * 3042 RequiresThreadAttribute allows ApartmentState.Unknown, unlike ApartmentAttribute - * 3048 Add .idea folder to .gitignore - * 3053 Conversion from TestCase string parameter to DateTimeOffset - * 3059 Constraint Throws.Exception does not work with async return value - * 3068 First Chance Exception in RuntimeFramework - * 3070 End support for .NET Framework 2.0 (released in 2005) - * 3073 CollectionAssert.AreEquivalent fails for ValueTuple Wrapped Dictionary - * 3079 Regression from 3.10 to 3.11: Range in bytes - * 3082 Is.Ordered.By - * 3085 XML Test-Suite Assembly does not contain DLL path anymore - * 3089 Remove outdated comment - * 3093 Tests having TaskLike objects as their return type throws Exception - * 3094 Bad error message if collections have different types - * 3104 Removed NET20 compile output - * 3105 Add tests for use of ApartmentState.Unknown in RequiresThreadAttribute - * 3107 Declare class in Program.cs provided with NUnitLite Nuget package static - * 3109 Azure DevOps build fails in Save package artifacts - * 3124 Switch copyright notice - * 3128 Correct documentation on ParallelScope - * 3137 Fix doc-comments in NUnitTestAssemblyRunner - * 3138 Assert.Ignore breaks when a Task is returned w/o using async/await - * 3139 Add Azure pipelines badge to frontpage - * 3144 Retry attribute should not derive from PropertyAttribute - * 3145 Capture additional exception details in the test output - * 3156 UnexpectedExceptionTests should tolerate Mono on Azure DevOps Ubuntu - * 3159 Make tests more tolerant - * 3161 https url repo - * 3166 Allow static SetUpFixture classes - * 3171 Incorrect type for Test Fixtures when using running explore with a filter - * 3175 Improve user-facing messages - * 3181 Template Based Test Naming - Incorrect truncation for individual arguments - * 3186 Fix licenseUrl element in nuspec, will be deprecated - * 3193 Cake Build Fails with Visual Studio 2019 - * 3195 Drop or at least make Travis not required? - * 3231 Breaking change in filter functionality between framework 2.7 and 3.11 - * 3209 Test fail when posting to SynchronizationContext.Current - * 3211 Fix logging - * 3218 Remove todos from the code base - * 3222 Our build script tests hang when run with Mono on Windows - * 3233 AndConstraint should write additional information from failed constraint - -### NUnit 3.11 - October 6, 2018 - - * More informative assertion messages - * PlatformAttribute is available on .NET Standard and now detects .NET Core - * ValuesAttribute now works with nullable types - * Async tests detecting and running Windows Forms or WPF message pumps rather than deadlocking - * Support for UWP 10.0 is back via .NET Standard 1.4 - -### Issues Resolved - - * 352 Test with infinite loop in TearDown cannot be aborted - * 452 Deprecate the existing Chocolatey framework package - * 660 Order dependence of And and Or constraints should be documented - * 1200 async test + Apartment(ApartmentState.STA) => await not returning on STA thread - * 2123 Task.Run inside a test will result in deadlock if a control was created previously - * 2146 Assert.That with a Throws constraint does not provide as much info as Assert.Throws - * 2427 PropertyConstraint throws away the more helpful message in the base constraint result - * 2432 Ability to exclude/include the platform .NET Core - * 2450 NullReferenceException in ExceptionHelper.BuildMessage on Mono - * 2536 SetArgDisplayNames for TestCaseData and TestFixtureData - * 2611 Enable .NET Standard 1.6 tests on non-Windows - * 2693 Ensure that resharper settings are consistent with the editorconfig configuration - * 2757 Broken `char` comparison in v3.7 and higher - * 2759 Test fails with "No arguments were provided" error when no values returned from IParameterDataSource - * 2761 Infinite loop in nunit 3.9 - * 2781 Fixed precompiler typo - * 2786 Timeout value not resetting on Retry of failed test - * 2790 Removing ITypeInfo abstraction - * 2798 [Request] Show actual count value when test fail on Has.Exactly(x).Items - * 2814 Remove public marker types - * 2819 Only run AppVeyor PR build against open PRs - * 2821 Save and restore the SynchronizationContext before and after each test case - * 2823 SetUp failed for test fixture - Array was not a one-dimensional array. Issue seems related to byte[,] method parameters - * 2829 Obsoletion warning for DataAttribute - * 2831 Regular "BusyExecIdle after 200 milliseconds delay" CI failures - * 2833 Use longer BusyExecIdle to avoid CI failures - * 2836 NUnit.Framework.Does cannot be extended - * 2837 DictionaryContainsKeyConstraint behaviour is inconstant with Dictionary.ContainsKey when the dictionary uses a custom Comparer - * 2842 Supporting inheritance of Assert and related classes - * 2854 Has.All.../Has.None... - show non-matching items in error message - * 2863 Make tests robust without depending on the order of attributes - * 2867 Skip executing TestCaseSources for tests which are not included in the filter - * 2876 Implement Discovery-time filtering for NUnitLite - * 2883 Our public ConcurrentQueue causes type conflicts - * 2885 Copy/paste error in Assert.That documentation - * 2887 NETStandard 1.3 support dropped in NUnit 3.10 - * 2896 Some tests are silently skipped on netstandard1.x since #2796 - * 2898 AssemblyPath contains invalid charaters - * 2901 Values attribute support for nullable bool and enum types - * 2923 Update outdated CategoryAttribute xmldoc - * 2928 Improve error message on EmptyConstraint - * 2929 Added NUnit XML schemas - * 2940 Increase StackTracesAreFiltered amount to 5 - * 2955 Potential threading issue in IsolatedContext - * 2965 NuGet Package : Add `repository` metadata. - * 2970 InvalidCastException @ NUnit.Framework.TestFixtureSourceAttribute.BuildFrom - * 2979 Warn.If in Assert.Multiple - * 2994 Error in .NET Standard 1.4 DictionaryContainsKeyConstraint MetadataToken compatibility methods - * 2996 Remove unused enum - * 3009 Fix failing CI Builds by upgrading to NUnit Console 3.9.0 - * 3020 Upgrade nunit-vs-adapter to 3.10 for nUnit 3.11 - * 3024 Unable to add `.IgnoreCase` modifier to an `AnyOf` constraint in collection constraints - * 3032 APIs to restore before 3.11 - -### NUnit 3.10.1 - March 12, 2018 - -Added a namespace to the props file included in the NuGet package to make it -compatible with versions of Visual Studio prior to VS 2017. - -### NUnit 3.10 - March 12, 2018 - -This release adds a .NET Standard 2.0 version of the framework which re-enables -most of the features that have been missing in our earlier .NET Standard builds -like parallelism, timeouts, directory and path based asserts, etc. It also contains -numerous bug fixes and smaller enhancements. We've improved our XML docs, -fixed performance issues and added more detail to Multiple Asserts. - -This release also contains source-indexed PDB files allowing developers to debug -into the NUnit Framework. This allows you to track down errors or see how the -framework works. - -In order to support the .NET Standard 2.0 version, the NUnit project switched to -the new CSPROJ format and now requires Visual Studio 2017 to compile. This only -effects people contributing to the project. NUnit still supports building and -compiling your tests in older .NET IDEs and NUnit still supports older versions -of the .NET Framework back to 2.0. For contributors, NUnit can now compile all -supported targets on Windows, Linux and Mac using the Cake command line build. - -### Issues Resolved - - * 1373 Setting with a null value - * 1382 Use array argument contents in name of parameterized tests rather than just array type. - * 1578 TestContext.CurrentTest exposes too much internal info - * 1678 Result Message: OneTimeSetUp: Category name must not contain ',', '!', '+' or '-' - * 1944 Removing Compact Framework workarounds - * 1958 System.Reflection.TargetInvocationException after run finished - * 2033 Nameof refactor - * 2202 Best practices for XML doc comments - * 2325 Retry attribute doesn't retry the test. - * 2331 Repo does not build in VS without running `build -t build` first - * 2405 Improve PropertyConstraint error output - * 2421 Publishing symbols with releases - * 2494 CollectionAssert.AllItemsAreUnique() very slow - * 2515 Retarget Solution to use the New CSPROJ Format - * 2518 Bug in CollectionAssert.AreEqual for ValueTuples. - * 2530 Running tests on main thread. Revisiting #2483 - * 2542 NUnit does not support parallelism on .NET Core 2.0 - * 2555 CI timeout: NUnit.Framework.Assertions.CollectionAssertTest.PerformanceTests - * 2564 Add minClientVersion to .nuspec files - * 2566 Refactor `SimpleEnumerableWithIEquatable` test object - * 2577 Warning in TearDown is inconsistent with Assertion failure - * 2580 Remove unused defines - * 2591 NUnitEqualityComparer.Default should be replaced with new NUnitEqualityComparer() - * 2592 Add .props with ProjectCapability to suppress test project service GUID item - * 2608 Culture differences on .NET Core on non-Windows causes test failures - * 2622 Fix flakey test - * 2624 Prevent emails for successful builds on Travis - * 2626 SetUp/TearDown methods are invoked multiple times before/after test in .NET Standard targeted projects - * 2627 Breaking change in CollectionAssert.AllItemsAreUnique with NUnit 3.9 - * 2628 Error during installing tools when running build script - * 2630 Framework throws NullReferenceException if test parameter is marked with [Values(null)] - * 2632 Parallel tests are loading 100% CPU when nested SetUpFixture exists - * 2639 ValuesAttribute causes ExpectedResult to have no effect - * 2647 Add Current Attempt indicator in TestContext for use with RetryAttribute - * 2654 Address feedback from @oznetmaster - * 2656 NuGet package links to outdated license - * 2659 Naming Errors - * 2662 NullReferenceException after parallel tests have finished executing - * 2663 Building NUnit .NET 4.5 in VS2017 fails - * 2669 Removed vestigial build script helper method - * 2670 Invalid assemblies no longer give an error message - * 2671 Ensure that FailureSite.Child is used where appropriate. - * 2685 Remove Rebracer file - * 2688 Assert.Throws swallows console output - * 2695 MultipleAssertException doesn't provide proper details on failures - * 2698 Syntax suggestions errors as warnings - * 2704 Add Constraint to test whether actual item is contained in expected collection - * 2711 NUnitLite: Add support for --nocolor option - * 2714 AnyOfConstraint enumerates multiple times - * 2725 Enable 'strict' compilation flag - * 2726 Replace the ConcurrentQueue and SpinWait compatibility classes - * 2727 Avoid treating warnings as errors inside the IDE - * 2734 TestCaseAttribute: ExpectedResult should support same value conversion as normal method arguments - * 2742 FailureSite not correctly set on containing suites when tests are ignored. - * 2749 Update Travis SDK versions - -### NUnit 3.9 - November 10, 2017 - -This release addresses numerous parallelization issues that were introduced in 3.8 -when method level parallelization was added. Most of the parallelization issues -resolved were tests never completing when using some combinations of parallel tests -and `ApartmentState` not being properly applied to tests in all cases. - -### Issues Resolved - - * 893 Inconsistent Tuple behavior. - * 1239 NUnit3 sometimes hangs if SetUpFixtures are run in parallel - * 1346 NullReferenceException when [TestFixtureSource] refers to data in a generic class. - * 1473 Allow Is.Ordered to Compare Null Values - * 1899 Constraint Throws.Exception does not catch exception with async lambdas - * 1905 SetupFixture without namespace will make assembly-level Parallelizable attribute useless - * 2091 When a native exception of corrupted state is thrown, nunit test thread crashes and the nunit-console process hangs - * 2102 NUnitLite incorrectly reports Win 10 OS name - * 2271 When CollectionAssert.AreEqual do compare each element, it will ignore the IEquatable of the element too - * 2289 ResolveTypeNameDifference does not handle generic types well - * 2311 Resolve test projects' namespace situation - * 2319 Add .editorconfig to set file encodings so that people don't have to think about it - * 2364 Parallelizable attribute not invalidating invalid parallel scope combinations - * 2372 Create testing for compounded ConstraintFilters - * 2388 Parallelization causes test cases to stop respecting fixture's apartment state - * 2395 NUnit 3.8+ does not finish running tests - * 2398 NUnit CI spurious failures, NUnit.Framework.Internal.ThreadUtilityTests.Kill - * 2402 --labels=All doesn't show anything in console output executing NUnitLite Console Runner - * 2406 Summary descriptions replaced by more detailed ones - * 2411 And constraint on Has.Member throws - * 2412 Using fluent syntax unintentionally removed in 3.8 - * 2418 Support equality comparison delegate - * 2422 Has.Property causes AmbiguousMatchException for shadowing properties - * 2425 XML doc typo fix - * 2426 Regression in 3.8.1: ApartmentAttribute no longer works when applied to an assembly - * 2428 Fix NullReferenceExceptions caused by WorkItemQueue not being thread-safe - * 2429 Stack trace shown for Assert.Warn - * 2438 [Parallelizable] hangs after a few tests - * 2441 Allows to override load-time/execution-time interfaces in built-in tests attributes - * 2446 CI failure in mono Warning tests - * 2448 Inherited Test SetUp, TearDown, etc. are not executed in .NET Core if they are not public - * 2451 Compile RegEx to improve performance - * 2454 SetUpFixture not respecting NonParallelizable tag on TestFixtures. - * 2459 [Parallelizable(ParallelScope.Children)] Unable to finish tests - * 2465 Possible wrong properties are returned by reflection in ReflectionExtensions.cs - * 2467 Test execution hangs when using [SetUpFixture] with NUnit 3.8.x - * 2469 Allow RangeAttribute to be specified multiple times for the same argument - * 2471 Parametrized testcases not running in parallel - * 2475 Framework incorrectly identifies Win 10 in xml results - * 2478 Attributes on SetUpFixture are not applied - * 2486 Message when asserting null with Is.EquivalentTo could be more helpful - * 2497 Use ConstraintUtils.RequireActual through out the codebase - * 2504 Support changing test display name on TestFixtureData - * 2508 Correct divergence from shadowed Is / Has members. - * 2516 When test writes something to the stdErr there is no guaranteed way to link a test-output event to a target test using ITestEventListener - * 2525 Remove unwanted space from comment - * 2526 SerializationException in low trust floating point equality test - * 2533 Matches(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 parallelization -and fixes crashes in NCrunch prior to version 3.9. - -### Issues Resolved - - * 2205 Ncrunch: System.Xml.XmlException: Root element is missing, when adding NUnit 3.7.0 - * 2209 NUnit occasionally hangs when parallelizable TestFixture has OneTimeSetUp and OneTimeTearDown - -### NUnit 3.7 - May 29, 2017 - -This release of NUnit expands on parallel test execution to allow test methods to -be run in parallel. Please see the [Parallelizable Attribute](https://github.com/nunit/docs/wiki/Parallelizable-Attribute) -for more information. - -NUnit 3.7 also drops the Portable build of the framework and replaces it with a -.NET Standard 1.3 version to compliment the .NET Standard 1.6 version. This change -enables several constraints and other features in the .NET Standard builds that -weren't available in portable like Path and Directory based asserts. - -The AssertionHelper class has been deprecated because it is seldom used and has -not received any of the updates that Asserts and Constraints receive. If your code -is using the AssertionHelper class, we recommend that you migrate your asserts. - -### Issues Resolved - - * 164 Run test methods within a fixture in parallel - * 391 Multiple Assertions - * 652 Add ability to execute test actions before SetUp or OneTimeSetUp - * 1000 Support multiple Author attributes per test - * 1096 Treat OneTimeSetup and OneTimeTearDown as separate work items - * 1143 NUnitLite - Explore flag does not apply where filter to output - * 1238 Feature request: Print LoaderExceptions when fixture loading fails - * 1363 Make Timeouts work without running test on its own thread - * 1474 Several SetUpFixtures at the same level may be active at the same time - * 1819 TestContext.Progress.Write writes new line - * 1830 Add --labels switch changes to nunilite and nunitlite tests - * 1859 ConcurrentQueue is duplicate with System.Threading.dll package - * 1877 Resolve differences between NUnit Console and NUnitLite implementations of @filename - * 1885 Test parameter containing a semicolon - * 1896 Test has passed however Reason with an empty message is printed in the xml - * 1918 Changing DefaultFloatingPointTolerance breaks tests running in parallel - * 1932 NUnit Warn class should be removed from stack trace by filter - * 1934 NullReferenceException when null arguments are used in TestFixtureAttribute - * 1952 TestContext.Out null when used in task with .NET Core - * 1963 Investigate removing SpecialValue - * 1965 TestContext does not flow in async method - * 1971 Switch CHANGES.txt to Markdown - * 1973 Implemented TestExecutionContext to use AsyncLocal<> for NETSTANDARD1_6 - * 1975 TestFixtureSource doesn't work with a class that has no namespace - * 1983 Add missing ConstraintExpression.Contain overload - * 1990 Add namespace filter - * 1997 Remove unused --verbose and --full command line options - * 1999 Author Tests assume ICustomAttributeProvider.GetCustomAttributes return order is defined - * 2003 Better user info about ParallelizableAttribute and ParallelScope - * 2005 Exclude empty failure messages from results xml - * 2007 3.6 Multiple assertion backwards compatibility - * 2010 Add DelayedConstraint in NetStandard 1.6 build - * 2020 Better message when timeout fails - * 2023 Ability to abort threads running a message pump - * 2025 NullReferenceException using Is.EqualTo on two unequal strings - * 2030 Add method to mark tests as invalid with a reason - * 2031 Limit Language level to C#6 - * 2034 Remove silverlight project - no longer used - * 2035 NullReferenceException inside failing Assert.That call - * 2040 Cannot catch AssertionException - * 2045 NUnitlite-runner crashes if no file is provided - * 2050 Creation of TestExecutionContext should be explicit - * 2052 NullReferenceException with TestCaseSource if a property has no setter - * 2061 TestContext.WorkDirectory not initialized during build process - * 2079 Make TestMethod.Arguments public or otherwise accessible (e.g. TestContext) - * 2080 Allow comments in @FILE files - * 2087 Enhance error message: Test is not runnable in single-threaded context. Timeout - * 2092 Convert Portable library to .NET Standard 1.3 - * 2095 Extend use of tolerance to ComparisonConstraints - * 2099 Include type in start-suite/start-test report elements - * 2110 NullReferenceException when getting TestDirectory from TestContext - * 2115 Mark AssertionHelper as Obsolete - * 2121 Chained PropertyConstraint constraints report incorrect ActualValue - * 2131 Remove "Version 3" suffix from NUnitLite NuGet Package - * 2132 TestFixtureTests.CapturesArgumentsForConstructorWithMultipleArgsSupplied assumes order of custom attributes - * 2143 Non-parallel fixture with parallel children runs in parallel with other fixtures - * 2147 Test Assembly using NUnitLite & Nunit 3.6.1 hangs under .NET Core when `--timeout` is supplied on command line - * 2150 Add portable-slow-tests to Cake file - * 2152 Allow attaching files to TestResults - * 2154 Fix execution of non-parallel test fixtures - * 2157 Getting WorkerId inside Assert.Throws / DoesNotThrow returns null instead of previous non-null value - * 2158 Update SetupFixtureAttribute XML Docs - * 2159 Prevent crash in .NET standard with log file path - * 2165 Trying to install NUnit 3.6.1 on .NET Framework asks for download of 20 more packages - * 2169 Incorrect xmldocs for SetUpAttribute - * 2170 Cake build fails if only Visual Studio 2017 installed - * 2173 Remove PreTestAttribute and PostTestAttribute - * 2186 Replace special characters as part of converting branch names to package versions - * 2191 System.Reflection.TargetInvocationException with nunit3-console --debug on Mono - -### NUnit 3.6.1 - February 26, 2017 - -This is a hotfix release of the framework that addresses critical issues found in -the 3.6 release. - -### Issues Resolved - - * 1962 A Theory with no data passes - * 1986 NUnitLite ignores --workers option - * 1994 NUnitLite runner crashing when --trace is specified - * 2017 Two NUnit project's tests fail on systems with comma decimal mark settings - * 2043 Regression in 3.6.0 when catching AssertionException - -### NUnit 3.6 - January 9, 2017 - -This release of the framework no longer includes builds for Compact Framework or -for SilverLight, but adds a .NET Standard 1.6 build. If anyone still using -Compact Framework or SilverLight and would like to continue development on those -versions of the framework, please contact the NUnit team. - -### Framework - - * .NET Standard 1.6 is now supported - * Adds support for Multiple Assert blocks - * Added the --params option to NUnitLite - * Theories now support Nullable enums - * Improved assert error messages to help differentiate differences in values - * Added warnings with Warn.If(), Warn.Unless() and Assert.Warn() - * Enabled Path, File and Directory Asserts/Contraints for .NET Core testing - * Added NonTestAssemblyAttribute for use by third-party developers to indicate - that their assemblies reference the NUnit framework, but do not contain tests - -### Issues Resolved - - * 406 Warning-level Assertions - * 890 Allow file references anywhere in the command line. - * 1380 Appveyor Failures when branch name is too long - * 1589 Split the nunit repository into multiple repositories - * 1599 Move Compact Framework to separate project - * 1601 Move Silverlight to a separate project - * 1609 Upgrade Cake build to latest version - * 1661 Create .NET Standard Framework Build - * 1668 Need implementation-independent way to test number of items in a collection - * 1743 Provide multiple results for a test case in the XML output - * 1758 No direct inverse for Contains.Key - * 1765 TestCaseSourceAttribute constructor for method with parameters - * 1802 Design Multiple Assert syntax as seen by users - * 1808 Disambiguate error messages from EqualConstraint - * 1811 Build.ps1 fails if spaces in path - * 1823 Remove engine nuspecs and old global.json - * 1827 Remove unused repository paths from repositories.config - * 1828 Add Retry for failed tests only - * 1829 NUnitLite accepts --params option but does not make any use of it. - * 1836 Support nullable enums in Theories - * 1837 [Request] AfterContraint to support more readable usage - * 1840 Remove SL and CF #Defined source - * 1866 [Request] More readable way to set polling interval in After constraint - * 1870 EqualConstraint result failure message for DateTime doesn't show sufficient resolution - * 1872 Parameterized method being called with no parameter - * 1876 What should we do about Env.cs - * 1880 AttributeUsage for various Attributes - * 1889 Modify nunitlite to display multiple assert information - * 1891 TestContext.Progress and TestContext.Error silently drop text that is not properly XML encoded - * 1901 Make nunitlite-runner Prefer32Bit option consistent across Debug/Release - * 1904 Add .NET Standard 1.6 Dependencies to the Nuspec Files - * 1907 Handle early termination of multiple assert block - * 1911 Changing misleading comment that implies that every `ICollection` 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. - -### 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/src/packages/NUnit.3.13.2/LICENSE.txt b/src/packages/NUnit.3.13.2/LICENSE.txt deleted file mode 100644 index 29f0e2e..0000000 --- a/src/packages/NUnit.3.13.2/LICENSE.txt +++ /dev/null @@ -1,20 +0,0 @@ -Copyright (c) 2021 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/src/packages/NUnit.3.13.2/NOTICES.txt b/src/packages/NUnit.3.13.2/NOTICES.txt deleted file mode 100644 index 02f3f84..0000000 --- a/src/packages/NUnit.3.13.2/NOTICES.txt +++ /dev/null @@ -1,5 +0,0 @@ -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/src/packages/NUnit.3.13.2/NUnit.3.13.2.nupkg b/src/packages/NUnit.3.13.2/NUnit.3.13.2.nupkg deleted file mode 100644 index cf753705d73c290c79901d8a583cdb3c56c620e0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1292603 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%0A{MO}FxdLbp@m0OrvAeeEz2$ItaHO$A! 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 z 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

I4_ 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⁢V9m7sKQrf4aZLX&ArFLQ9dxob;`DfpR-!_d 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

heiN#7}G3-%J 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≪B~Q0-bWtK(>{dn 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≺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

IY;X(x?@{WX*q4 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
L(aq(JCVZju@uLVB+@^- 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�-> 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

2K@?9fY(Bnoedi#lPwnXa*UdY2ocJs{qWfp2qA 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 ND9kXwxl1AczX0nBys`iQ diff --git a/src/packages/NUnit.3.13.2/build/NUnit.props b/src/packages/NUnit.3.13.2/build/NUnit.props deleted file mode 100644 index 79c80b8..0000000 --- a/src/packages/NUnit.3.13.2/build/NUnit.props +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/src/packages/NUnit.3.13.2/icon.png b/src/packages/NUnit.3.13.2/icon.png deleted file mode 100644 index ad14c1603eab311ff5326908fa6e839f1299083b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16371 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 diff --git a/src/packages/NUnit.3.13.2/lib/net35/nunit.framework.xml b/src/packages/NUnit.3.13.2/lib/net35/nunit.framework.xml deleted file mode 100644 index b76e164..0000000 --- a/src/packages/NUnit.3.13.2/lib/net35/nunit.framework.xml +++ /dev/null @@ -1,21818 +0,0 @@ - - - - nunit.framework - - - -

- The different targets a test action attribute can be applied to - - - - - Default target, which is determined by where the action attribute is attached - - - - - Target a individual test case - - - - - Target a suite of test cases - - - - - DefaultTestAssemblyBuilder loads a single assembly and builds a TestSuite - containing test fixtures present in the assembly. - - - - - The default suite builder used by the test assembly builder. - - - - - Initializes a new instance of the class. - - - - - Build a suite of tests from a provided assembly - - The assembly from which tests are to be built - A dictionary of options to use in building the suite - - A TestSuite containing the tests found in the assembly - - - - - Build a suite of tests given the name or the location of an assembly - - The name or the location of the assembly. - A dictionary of options to use in building the suite - - A TestSuite containing the tests found in the assembly - - - - - FrameworkController provides a facade for use in loading, browsing - and running tests without requiring a reference to the NUnit - framework. All calls are encapsulated in constructors for - this class and its nested classes, which only require the - types of the Common Type System as arguments. - - The controller supports four actions: Load, Explore, Count and Run. - They are intended to be called by a driver, which should allow for - proper sequencing of calls. Load must be called before any of the - other actions. The driver may support other actions, such as - reload on run, by combining these calls. - - - - - Construct a FrameworkController using the default builder and runner. - - The AssemblyName or path to the test assembly - A prefix used for all test ids created under this controller. - A Dictionary of settings to use in loading and running the tests - - - - Construct a FrameworkController using the default builder and runner. - - The test assembly - A prefix used for all test ids created under this controller. - A Dictionary of settings to use in loading and running the tests - - - - Construct a FrameworkController, specifying the types to be used - for the runner and builder. This constructor is provided for - purposes of development. - - The full AssemblyName or the path to the test assembly - A prefix used for all test ids created under this controller. - A Dictionary of settings to use in loading and running the tests - The Type of the test runner - The Type of the test builder - - - - Construct a FrameworkController, specifying the types to be used - for the runner and builder. This constructor is provided for - purposes of development. - - The test assembly - A prefix used for all test ids created under this controller. - A Dictionary of settings to use in loading and running the tests - The Type of the test runner - The Type of the test builder - - - - Gets the ITestAssemblyBuilder used by this controller instance. - - The builder. - - - - Gets the ITestAssemblyRunner used by this controller instance. - - The runner. - - - - Gets the AssemblyName or the path for which this FrameworkController was created - - - - - Gets the Assembly for which this - - - - - Gets a dictionary of settings for the FrameworkController - - - - - Loads the tests in the assembly - - - - - - Returns info about the tests in an assembly - - A string containing the XML representation of the filter to use - The XML result of exploring the tests - - - - Runs the tests in an assembly - - A string containing the XML representation of the filter to use - The XML result of the test run - - - - Runs the tests in an assembly synchronously reporting back the test results through the callback - or through the return value - - The callback that receives the test results - A string containing the XML representation of the filter to use - The XML result of the test run - - - - Runs the tests in an assembly asynchronously reporting back the test results through the callback - - The callback that receives the test results - A string containing the XML representation of the filter to use - - - - Stops the test run - - True to force the stop, false for a cooperative stop - - - - Counts the number of test cases in the loaded TestSuite - - A string containing the XML representation of the filter to use - The number of tests - - - - Inserts the environment and settings elements - - Target node - The updated target node - - - - Inserts environment element - - Target node - The new node - - - - Inserts settings element - - Target node - Settings dictionary - The new node - - - - FrameworkControllerAction is the base class for all actions - performed against a FrameworkController. - - - - - LoadTestsAction loads a test into the FrameworkController - - - - - LoadTestsAction loads the tests in an assembly. - - The controller. - The callback handler. - - - - ExploreTestsAction returns info about the tests in an assembly - - - - - Initializes a new instance of the class. - - The controller for which this action is being performed. - Filter used to control which tests are included (NYI) - The callback handler. - - - - CountTestsAction counts the number of test cases in the loaded TestSuite - held by the FrameworkController. - - - - - Construct a CountsTestAction and perform the count of test cases. - - A FrameworkController holding the TestSuite whose cases are to be counted - A string containing the XML representation of the filter to use - A callback handler used to report results - - - - RunTestsAction runs the loaded TestSuite held by the FrameworkController. - - - - - Construct a RunTestsAction and run all tests in the loaded TestSuite. - - A FrameworkController holding the TestSuite to run - A string containing the XML representation of the filter to use - A callback handler used to report results - - - - RunAsyncAction initiates an asynchronous test run, returning immediately - - - - - Construct a RunAsyncAction and run all tests in the loaded TestSuite. - - A FrameworkController holding the TestSuite to run - A string containing the XML representation of the filter to use - A callback handler used to report results - - - - StopRunAction stops an ongoing run. - - - - - Construct a StopRunAction and stop any ongoing run. If no - run is in process, no error is raised. - - The FrameworkController for which a run is to be stopped. - True the stop should be forced, false for a cooperative stop. - >A callback handler used to report results - A forced stop will cause threads and processes to be killed as needed. - - - - The ITestAssemblyBuilder interface is implemented by a class - that is able to build a suite of tests given an assembly or - an assembly filename. - - - - - Build a suite of tests from a provided assembly - - The assembly from which tests are to be built - A dictionary of options to use in building the suite - A TestSuite containing the tests found in the assembly - - - - Build a suite of tests given the filename of an assembly - - The filename of the assembly from which tests are to be built - A dictionary of options to use in building the suite - A TestSuite containing the tests found in the assembly - - - - The ITestAssemblyRunner interface is implemented by classes - that are able to execute a suite of tests loaded - from an assembly. - - - - - Gets the tree of loaded tests, or null if - no tests have been loaded. - - - - - Gets the tree of test results, if the test - run is completed, otherwise null. - - - - - Indicates whether a test has been loaded - - - - - Indicates whether a test is currently running - - - - - Indicates whether a test run is complete - - - - - Loads the tests found in an Assembly, returning an - indication of whether or not the load succeeded. - - File name of the assembly to load - Dictionary of options to use in loading the test - An ITest representing the loaded tests - - - - Loads the tests found in an Assembly, returning an - indication of whether or not the load succeeded. - - The assembly to load - Dictionary of options to use in loading the test - An ITest representing the loaded tests - - - - Count Test Cases using a filter - - The filter to apply - The number of test cases found - - - - Explore the test cases using a filter - - The filter to apply - Test Assembly with test cases that matches the filter - - - - Run selected tests and return a test result. The test is run synchronously, - and the listener interface is notified as it progresses. - - Interface to receive ITestListener notifications. - A test filter used to select tests to be run - - - - Run selected tests asynchronously, notifying the listener interface as it progresses. - - Interface to receive EventListener notifications. - A test filter used to select tests to be run - - - - Wait for the ongoing run to complete. - - Time to wait in milliseconds - True if the run completed, otherwise false - - - - Signal any test run that is in process to stop. Return without error if no test is running. - - If true, kill any test-running threads - - - - Implementation of ITestAssemblyRunner - - - - - Initializes a new instance of the class. - - The builder. - - - - Gets the default level of parallel execution (worker threads) - - - - - The tree of tests that was loaded by the builder - - - - - The test result, if a run has completed - - - - - Indicates whether a test is loaded - - - - - Indicates whether a test is running - - - - - Indicates whether a test run is complete - - - - - Our settings, specified when loading the assembly - - - - - The top level WorkItem created for the assembly as a whole - - - - - The TestExecutionContext for the top level WorkItem - - - - - Loads the tests found in an Assembly - - File name or path of the assembly to load - Dictionary of option settings for loading the assembly - A Test Assembly containing all loaded tests - - - - Loads the tests found in an Assembly - - The assembly to load - Dictionary of option settings for loading the assembly - A Test Assembly containing all loaded tests - - - - Count Test Cases using a filter - - The filter to apply - The number of test cases found - - - - Explore the test cases using a filter - - The filter to apply - Test Assembly with test cases that matches the filter - - - - Run selected tests and return a test result. The test is run synchronously, - and the listener interface is notified as it progresses. - - Interface to receive EventListener notifications. - A test filter used to select tests to be run - The test results from the run - - - - Run selected tests asynchronously, notifying the listener interface as it progresses. - - Interface to receive EventListener notifications. - A test filter used to select tests to be run - - RunAsync is a template method, calling various abstract and - virtual methods to be overridden by derived classes. - - - - - Wait for the ongoing run to complete. - - Time to wait in milliseconds - True if the run completed, otherwise false - - - - Signal any test run that is in process to stop. Return without error if no test is running. - - If true, kill any tests that are currently running - - - - Initiate the test run. - - - - - Create the initial TestExecutionContext used to run tests - - The ITestListener specified in the RunAsync call - - - - Handle the Completed event for the top level work item - - - - - Executes the action within an - which ensures the is cleaned up - suitably at the end of the test run. This method only has an effect running - the full .NET Framework. - - - - - The Assert class contains a collection of static methods that - implement the most common assertions used in NUnit. - - - The Assert class contains a collection of static methods that - implement the most common assertions used in NUnit. - - - - - Verifies that the first int is greater than the second - int. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first int is greater than the second - int. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - - - - Verifies that the first value is greater than the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is greater than the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - - - - Verifies that the first value is greater than the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is greater than the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - - - - Verifies that the first value is greater than the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is greater than the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - - - - Verifies that the first value is greater than the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is greater than the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - - - - Verifies that the first value is greater than the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is greater than the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - - - - Verifies that the first value is greater than the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is greater than the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - - - - Verifies that the first value is greater than the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is greater than the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - - - - Verifies that the first value is less than the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is less than the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - - - - Verifies that the first value is less than the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is less than the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - - - - Verifies that the first value is less than the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is less than the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - - - - Verifies that the first value is less than the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is less than the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - - - - Verifies that the first value is less than the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is less than the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - - - - Verifies that the first value is less than the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is less than the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - - - - Verifies that the first value is less than the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is less than the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - - - - Verifies that the first value is less than the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is less than the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - - - - Verifies that the first value is greater than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is greater than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - - - - Verifies that the first value is greater than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is greater than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - - - - Verifies that the first value is greater than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is greater than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - - - - Verifies that the first value is greater than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is greater than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - - - - Verifies that the first value is greater than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is greater than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - - - - Verifies that the first value is greater than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is greater than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - - - - Verifies that the first value is greater than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is greater than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - - - - Verifies that the first value is greater than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is greater than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - - - - Verifies that the first value is less than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is less than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - - - - Verifies that the first value is less than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is less than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - - - - Verifies that the first value is less than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is less than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - - - - Verifies that the first value is less than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is less than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - - - - Verifies that the first value is less than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is less than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - - - - Verifies that the first value is less than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is less than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - - - - Verifies that the first value is less than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is less than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - - - - Verifies that the first value is less than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is less than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - - - - Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. - - The evaluated condition - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. - - The evaluated condition - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. - - The evaluated condition - - - - Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. - - The evaluated condition - - - - Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. - - The evaluated condition - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. - - The evaluated condition - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. - - The evaluated condition - - - - Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. - - The evaluated condition - - - - Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert - block. - - The evaluated condition - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert - block. - - The evaluated condition - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert block. - - The evaluated condition - - - - Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert - block. - - The evaluated condition - - - - Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert - block. - - The evaluated condition - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert - block. - - The evaluated condition - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert - block. - - The evaluated condition - - - - Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert - block. - - The evaluated condition - - - - Verifies that the object that is passed in is not equal to . Returns without throwing an - exception when inside a multiple assert block. - - The object that is to be tested - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the object that is passed in is not equal to . Returns without throwing an - exception when inside a multiple assert block. - - The object that is to be tested - - - - Verifies that the object that is passed in is not equal to . Returns without throwing an - exception when inside a multiple assert block. - - The object that is to be tested - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the object that is passed in is not equal to . Returns without throwing an - exception when inside a multiple assert block. - - The object that is to be tested - - - - Verifies that the object that is passed in is equal to . Returns without throwing an - exception when inside a multiple assert block. - - The object that is to be tested - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the object that is passed in is equal to . Returns without throwing an - exception when inside a multiple assert block. - - The object that is to be tested - - - - Verifies that the object that is passed in is equal to . Returns without throwing an - exception when inside a multiple assert block. - - The object that is to be tested - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the object that is passed in is equal to . Returns without throwing an - exception when inside a multiple assert block. - - The object that is to be tested - - - - Verifies that the double that is passed in is an NaN. Returns without throwing an - exception when inside a multiple assert block. - - The value that is to be tested - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the double that is passed in is an NaN value. Returns without throwing an - exception when inside a multiple assert block. - - The value that is to be tested - - - - Verifies that the double that is passed in is an NaN value. Returns without throwing an - exception when inside a multiple assert block. - - The value that is to be tested - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the double that is passed in is an NaN value. Returns without throwing an - exception when inside a multiple assert block. - - The value that is to be tested - - - - Assert that a string is empty. Returns without throwing an exception when inside a multiple assert block. - - The string to be tested - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Assert that a string is empty. Returns without throwing an exception when inside a multiple assert block. - - The string to be tested - - - - Assert that an array, list or other collection is empty. Returns without throwing an exception when inside a - multiple assert block. - - An array, list or other collection implementing ICollection - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Assert that an array, list or other collection is empty. Returns without throwing an exception when inside a - multiple assert block. - - An array, list or other collection implementing ICollection - - - - Assert that a string is not empty. Returns without throwing an exception when inside a multiple assert - block. - - The string to be tested - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Assert that a string is not empty. Returns without throwing an exception when inside a multiple assert - block. - - The string to be tested - - - - Assert that an array, list or other collection is not empty. Returns without throwing an exception when - inside a multiple assert block. - - An array, list or other collection implementing ICollection - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Assert that an array, list or other collection is not empty. Returns without throwing an exception when - inside a multiple assert block. - - An array, list or other collection implementing ICollection - - - - Asserts that an int is zero. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - - - - Asserts that an int is zero. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an unsigned int is zero. Returns without throwing an exception when inside a multiple assert - block. - - The number to be examined - - - - Asserts that an unsigned int is zero. Returns without throwing an exception when inside a multiple assert - block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a Long is zero. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - - - - Asserts that a Long is zero. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an unsigned Long is zero. Returns without throwing an exception when inside a multiple assert - block. - - The number to be examined - - - - Asserts that an unsigned Long is zero. Returns without throwing an exception when inside a multiple assert - block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a decimal is zero. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - - - - Asserts that a decimal is zero. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a double is zero. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - - - - Asserts that a double is zero. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a float is zero. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - - - - Asserts that a float is zero. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an int is not zero. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - - - - Asserts that an int is not zero. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an unsigned int is not zero. Returns without throwing an exception when inside a multiple - assert block. - - The number to be examined - - - - Asserts that an unsigned int is not zero. Returns without throwing an exception when inside a multiple - assert block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a Long is not zero. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - - - - Asserts that a Long is not zero. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an unsigned Long is not zero. Returns without throwing an exception when inside a multiple - assert block. - - The number to be examined - - - - Asserts that an unsigned Long is not zero. Returns without throwing an exception when inside a multiple - assert block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a decimal is zero. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - - - - Asserts that a decimal is zero. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a double is zero. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - - - - Asserts that a double is zero. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a float is zero. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - - - - Asserts that a float is zero. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an int is positive. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - - - - Asserts that an int is positive. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an unsigned int is positive. Returns without throwing an exception when inside a multiple - assert block. - - The number to be examined - - - - Asserts that an unsigned int is positive. Returns without throwing an exception when inside a multiple - assert block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a Long is positive. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - - - - Asserts that a Long is positive. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an unsigned Long is positive. Returns without throwing an exception when inside a multiple - assert block. - - The number to be examined - - - - Asserts that an unsigned Long is positive. Returns without throwing an exception when inside a multiple - assert block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a decimal is positive. Returns without throwing an exception when inside a multiple assert - block. - - The number to be examined - - - - Asserts that a decimal is positive. Returns without throwing an exception when inside a multiple assert - block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a double is positive. Returns without throwing an exception when inside a multiple assert - block. - - The number to be examined - - - - Asserts that a double is positive. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a float is positive. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - - - - Asserts that a float is positive. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an int is negative. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - - - - Asserts that an int is negative. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an unsigned int is negative. Returns without throwing an exception when inside a multiple - assert block. - - The number to be examined - - - - Asserts that an unsigned int is negative. Returns without throwing an exception when inside a multiple - assert block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a Long is negative. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - - - - Asserts that a Long is negative. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an unsigned Long is negative. Returns without throwing an exception when inside a multiple - assert block. - - The number to be examined - - - - Asserts that an unsigned Long is negative. Returns without throwing an exception when inside a multiple - assert block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a decimal is negative. Returns without throwing an exception when inside a multiple assert - block. - - The number to be examined - - - - Asserts that a decimal is negative. Returns without throwing an exception when inside a multiple assert - block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a double is negative. Returns without throwing an exception when inside a multiple assert - block. - - The number to be examined - - - - Asserts that a double is negative. Returns without throwing an exception when inside a multiple assert - block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a float is negative. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - - - - Asserts that a float is negative. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - DO NOT USE! Use Assert.AreEqual(...) instead. - The Equals method throws an InvalidOperationException. This is done - to make sure there is no mistake by calling this function. - - - - - - - DO NOT USE! - The ReferenceEquals method throws an InvalidOperationException. This is done - to make sure there is no mistake by calling this function. - - - - - - - Throws a with the message and arguments - that are passed in. This allows a test to be cut short, with a result - of success returned to NUnit. - - The message to initialize the with. - Arguments to be used in formatting the message - - - - Throws a with the message and arguments - that are passed in. This allows a test to be cut short, with a result - of success returned to NUnit. - - The message to initialize the with. - - - - Throws a with the message and arguments - that are passed in. This allows a test to be cut short, with a result - of success returned to NUnit. - - - - - Marks the test as failed with the message and arguments that are passed in. Returns without throwing an - exception when inside a multiple assert block. - - The message to initialize the with. - Arguments to be used in formatting the message - - - - Marks the test as failed with the message that is passed in. Returns without throwing an exception when - inside a multiple assert block. - - The message to initialize the with. - - - - Marks the test as failed. Returns without throwing an exception when inside a multiple assert block. - - - - - Issues a warning using the message and arguments provided. - - The message to display. - Arguments to be used in formatting the message - - - - Issues a warning using the message provided. - - The message to display. - - - - Throws an with the message and arguments - that are passed in. This causes the test to be reported as ignored. - - The message to initialize the with. - Arguments to be used in formatting the message - - - - Throws an with the message that is - passed in. This causes the test to be reported as ignored. - - The message to initialize the with. - - - - Throws an . - This causes the test to be reported as ignored. - - - - - Throws an with the message and arguments - that are passed in. This causes the test to be reported as inconclusive. - - The message to initialize the with. - Arguments to be used in formatting the message - - - - Throws an with the message that is - passed in. This causes the test to be reported as inconclusive. - - The message to initialize the with. - - - - Throws an . - This causes the test to be reported as Inconclusive. - - - - - Asserts that an object is contained in a collection. Returns without throwing an exception when inside a - multiple assert block. - - The expected object - The collection to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an object is contained in a collection. Returns without throwing an exception when inside a - multiple assert block. - - The expected object - The collection to be examined - - - - Wraps code containing a series of assertions, which should all - be executed, even if they fail. Failed results are saved and - reported at the end of the code block. - - A TestDelegate to be executed in Multiple Assertion mode. - - - - If throws, returns "SomeException was thrown by the - Environment.StackTrace property." See also . - - - - - Verifies that two doubles are equal considering a delta. If the expected value is infinity then the delta - value is ignored. Returns without throwing an exception when inside a multiple assert block. - - The expected value - The actual value - The maximum acceptable difference between the the expected and the actual - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that two doubles are equal considering a delta. If the expected value is infinity then the delta - value is ignored. Returns without throwing an exception when inside a multiple assert block. - - The expected value - The actual value - The maximum acceptable difference between the the expected and the actual - - - - Verifies that two doubles are equal considering a delta. If the expected value is infinity then the delta - value is ignored. Returns without throwing an exception when inside a multiple assert block. - - The expected value - The actual value - The maximum acceptable difference between the the expected and the actual - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that two doubles are equal considering a delta. If the expected value is infinity then the delta - value is ignored. Returns without throwing an exception when inside a multiple assert block. - - The expected value - The actual value - The maximum acceptable difference between the the expected and the actual - - - - Verifies that two objects are equal. Two objects are considered equal if both are null, or if both have the - same value. NUnit has special semantics for some object types. Returns without throwing an exception when - inside a multiple assert block. - - The value that is expected - The actual value - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that two objects are equal. Two objects are considered equal if both are null, or if both have the - same value. NUnit has special semantics for some object types. Returns without throwing an exception when - inside a multiple assert block. - - The value that is expected - The actual value - - - - Verifies that two objects are not equal. Two objects are considered equal if both are null, or if both have - the same value. NUnit has special semantics for some object types. Returns without throwing an exception - when inside a multiple assert block. - - The value that is expected - The actual value - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that two objects are not equal. Two objects are considered equal if both are null, or if both have - the same value. NUnit has special semantics for some object types. Returns without throwing an exception - when inside a multiple assert block. - - The value that is expected - The actual value - - - - Asserts that two objects refer to the same object. Returns without throwing an exception when inside a - multiple assert block. - - The expected object - The actual object - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that two objects refer to the same object. Returns without throwing an exception when inside a - multiple assert block. - - The expected object - The actual object - - - - Asserts that two objects do not refer to the same object. Returns without throwing an exception when inside - a multiple assert block. - - The expected object - The actual object - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that two objects do not refer to the same object. Returns without throwing an exception when inside - a multiple assert block. - - The expected object - The actual object - - - - Helper for Assert.AreEqual(double expected, double actual, ...) - allowing code generation to work consistently. - - The expected value - The actual value - The maximum acceptable difference between the - the expected and the actual - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that a delegate throws a particular exception when called. The returned exception may be when inside a multiple assert block. - - A constraint to be satisfied by the exception - A TestSnippet delegate - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Verifies that a delegate throws a particular exception when called. The returned exception may be when inside a multiple assert block. - - A constraint to be satisfied by the exception - A TestSnippet delegate - - - - Verifies that a delegate throws a particular exception when called. The returned exception may be when inside a multiple assert block. - - The exception Type expected - A TestDelegate - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Verifies that a delegate throws a particular exception when called. The returned exception may be when inside a multiple assert block. - - The exception Type expected - A TestDelegate - - - - Verifies that a delegate throws a particular exception when called. The returned exception may be when inside a multiple assert block. - - Type of the expected exception - A TestDelegate - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Verifies that a delegate throws a particular exception when called. The returned exception may be when inside a multiple assert block. - - Type of the expected exception - A TestDelegate - - - - Verifies that a delegate throws an exception when called and returns it. The returned exception may be when inside a multiple assert block. - - A TestDelegate - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Verifies that a delegate throws an exception when called and returns it. The returned exception may be when inside a multiple assert block. - - A TestDelegate - - - - Verifies that a delegate throws an exception of a certain Type or one derived from it when called and - returns it. The returned exception may be when inside a multiple assert block. - - The expected Exception Type - A TestDelegate - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Verifies that a delegate throws an exception of a certain Type or one derived from it when called and - returns it. The returned exception may be when inside a multiple assert block. - - The expected Exception Type - A TestDelegate - - - - Verifies that a delegate throws an exception of a certain Type or one derived from it when called and - returns it. The returned exception may be when inside a multiple assert block. - - A TestDelegate - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Verifies that a delegate throws an exception of a certain Type or one derived from it when called and - returns it. The returned exception may be when inside a multiple assert block. - - A TestDelegate - - - - Verifies that a delegate does not throw an exception - - A TestDelegate - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Verifies that a delegate does not throw an exception. - - A TestDelegate - - - - Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. - - The evaluated condition - The message to display if the condition is false - Arguments to be used in formatting the message - - - - Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. - - The evaluated condition - - - - Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. - - The evaluated condition - A function to build the message included with the Exception - - - - Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. - - A lambda that returns a Boolean - The message to display if the condition is false - Arguments to be used in formatting the message - - - - Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. - - A lambda that returns a Boolean - - - - Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. - - A lambda that returns a Boolean - A function to build the message included with the Exception - - - - Apply a constraint to a delegate. Returns without throwing an exception when inside a multiple assert block. - - The Type being compared. - An ActualValueDelegate returning the value to be tested - A Constraint expression to be applied - - - - Apply a constraint to a delegate. Returns without throwing an exception when inside a multiple assert block. - - The Type being compared. - An ActualValueDelegate returning the value to be tested - A Constraint expression to be applied - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Apply a constraint to a delegate. Returns without throwing an exception when inside a multiple assert block. - - The Type being compared. - An ActualValueDelegate returning the value to be tested - A Constraint expression to be applied - A function to build the message included with the Exception - - - - Apply a constraint to a delegate. Returns without throwing an exception when inside a multiple assert block. - - A TestDelegate to be executed - A Constraint expression to be applied - - - - Apply a constraint to a delegate. Returns without throwing an exception when inside a multiple assert block. - - A TestDelegate to be executed - A Constraint expression to be applied - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Apply a constraint to a delegate. Returns without throwing an exception when inside a multiple assert block. - - A TestDelegate to be executed - A Constraint expression to be applied - A function to build the message included with the Exception - - - - Apply a constraint to an actual value. Returns without throwing an exception when inside a multiple assert - block. - - The Type being compared. - The actual value to test - A Constraint expression to be applied - - - - Apply a constraint to an actual value. Returns without throwing an exception when inside a multiple assert - block. - - The Type being compared. - The actual value to test - A Constraint expression to be applied - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Apply a constraint to an actual value. Returns without throwing an exception when inside a multiple assert - block. - - The Type being compared. - The actual value to test - A Constraint expression to be applied - A function to build the message included with the Exception - - - - Apply a constraint to an actual value. Returns without throwing an exception when inside a multiple assert - block. Used as a synonym for That in rare cases where a private setter causes a Visual Basic compilation - error. - - The actual value to test - A Constraint expression to be applied - - - - Apply a constraint to an actual value. Returns without throwing an exception when inside a multiple assert - block. Used as a synonym for That in rare cases where a private setter causes a Visual Basic compilation - error. - - - This method is provided for use by VB developers needing to test the value of properties with private - setters. - - The actual value to test - A Constraint expression to be applied - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Asserts that an object may be assigned a value of a given Type. Returns without throwing an exception when - inside a multiple assert block. - - The expected Type. - The object under examination - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an object may be assigned a value of a given Type. Returns without throwing an exception when - inside a multiple assert block. - - The expected Type. - The object under examination - - - - Asserts that an object may be assigned a value of a given Type. Returns without throwing an exception when - inside a multiple assert block. - - The expected Type. - The object under examination - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an object may be assigned a value of a given Type. Returns without throwing an exception when - inside a multiple assert block. - - The expected Type. - The object under examination - - - - Asserts that an object may not be assigned a value of a given Type. Returns without throwing an exception - when inside a multiple assert block. - - The expected Type. - The object under examination - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an object may not be assigned a value of a given Type. Returns without throwing an exception - when inside a multiple assert block. - - The expected Type. - The object under examination - - - - Asserts that an object may not be assigned a value of a given Type. Returns without throwing an exception - when inside a multiple assert block. - - The expected Type. - The object under examination - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an object may not be assigned a value of a given Type. Returns without throwing an exception - when inside a multiple assert block. - - The expected Type. - The object under examination - - - - Asserts that an object is an instance of a given type. Returns without throwing an exception when inside a - multiple assert block. - - The expected Type - The object being examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an object is an instance of a given type. Returns without throwing an exception when inside a - multiple assert block. - - The expected Type - The object being examined - - - - Asserts that an object is an instance of a given type. Returns without throwing an exception when inside a - multiple assert block. - - The expected Type - The object being examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an object is an instance of a given type. Returns without throwing an exception when inside a - multiple assert block. - - The expected Type - The object being examined - - - - Asserts that an object is not an instance of a given type. Returns without throwing an exception when inside - a multiple assert block. - - The expected Type - The object being examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an object is not an instance of a given type. Returns without throwing an exception when inside - a multiple assert block. - - The expected Type - The object being examined - - - - Asserts that an object is not an instance of a given type. Returns without throwing an exception when inside - a multiple assert block. - - The expected Type - The object being examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an object is not an instance of a given type. Returns without throwing an exception when inside - a multiple assert block. - - The expected Type - The object being examined - - - - Delegate used by tests that execute code and - capture any thrown exception. - - - - - AssertionHelper is an optional base class for user tests, - allowing the use of shorter names in making asserts. - - - - - Asserts that a condition is true. If the condition is false the method throws - an . Works Identically to - . - - The evaluated condition - The message to display if the condition is false - Arguments to be used in formatting the message - - - - Asserts that a condition is true. If the condition is false the method throws - an . Works Identically to . - - The evaluated condition - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and throwing an assertion exception on failure. - - A Constraint expression to be applied - An ActualValueDelegate returning the value to be tested - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and throwing an assertion exception on failure. - - An ActualValueDelegate returning the value to be tested - A Constraint expression to be applied - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Asserts that the code represented by a delegate throws an exception - that satisfies the constraint provided. - - A TestDelegate to be executed - A Constraint expression to be applied - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and throwing an assertion exception on failure. - - A Constraint expression to be applied - The actual value to test - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and throwing an assertion exception on failure. - - A Constraint expression to be applied - The actual value to test - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Returns a ListMapper based on a collection. - - The original collection - - - - Returns a ConstraintExpression that negates any - following constraint. - - - - - Returns a ConstraintExpression that negates any - following constraint. - - - - - Returns a ConstraintExpression, which will apply - the following constraint to all members of a collection, - succeeding if all of them succeed. - - - - - Returns a ConstraintExpression, which will apply - the following constraint to all members of a collection, - succeeding if at least one of them succeeds. - - - - - Returns a ConstraintExpression, which will apply - the following constraint to all members of a collection, - succeeding if all of them fail. - - - - - Returns a ConstraintExpression, which will apply - the following constraint to all members of a collection, - succeeding only if a specified number of them succeed. - - - - - Returns a new PropertyConstraintExpression, which will either - test for the existence of the named property on the object - being tested or apply any following constraint to that property. - - - - - Returns a new ConstraintExpression, which will apply the following - constraint to the Length property of the object being tested. - - - - - Returns a new ConstraintExpression, which will apply the following - constraint to the Count property of the object being tested. - - - - - Returns a new ConstraintExpression, which will apply the following - constraint to the Message property of the object being tested. - - - - - Returns a new ConstraintExpression, which will apply the following - constraint to the InnerException property of the object being tested. - - - - - Returns a new AttributeConstraint checking for the - presence of a particular attribute on an object. - - - - - Returns a new AttributeConstraint checking for the - presence of a particular attribute on an object. - - - - - Returns a constraint that tests for null - - - - - Returns a constraint that tests for True - - - - - Returns a constraint that tests for False - - - - - Returns a constraint that tests for a positive value - - - - - Returns a constraint that tests for a negative value - - - - - Returns a constraint that tests for equality with zero - - - - - Returns a constraint that tests for NaN - - - - - Returns a constraint that tests for empty - - - - - Returns a constraint that tests whether a collection - contains all unique items. - - - - - Returns a constraint that tests whether an object graph is serializable in binary format. - - - - - Returns a constraint that tests whether an object graph is serializable in XML format. - - - - - Returns a constraint that tests two items for equality - - - - - Returns a constraint that tests that two references are the same object - - - - - Returns a constraint that tests whether the - actual value is greater than the supplied argument - - - - - Returns a constraint that tests whether the - actual value is greater than or equal to the supplied argument - - - - - Returns a constraint that tests whether the - actual value is greater than or equal to the supplied argument - - - - - Returns a constraint that tests whether the - actual value is less than the supplied argument - - - - - Returns a constraint that tests whether the - actual value is less than or equal to the supplied argument - - - - - Returns a constraint that tests whether the - actual value is less than or equal to the supplied argument - - - - - Returns a constraint that tests whether the actual - value is of the exact type supplied as an argument. - - - - - Returns a constraint that tests whether the actual - value is of the exact type supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is of the type supplied as an argument or a derived type. - - - - - Returns a constraint that tests whether the actual value - is of the type supplied as an argument or a derived type. - - - - - Returns a constraint that tests whether the actual value - is assignable from the type supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is assignable from the type supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is assignable from the type supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is assignable from the type supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is a collection containing the same elements as the - collection supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is a subset of the collection supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is a superset of the collection supplied as an argument. - - - - - Returns a constraint that tests whether a collection is ordered - - - - - Returns a new checking for the - presence of a particular object in the collection. - - - - - - Returns a new checking for the - presence of a particular object in the collection. - - - To search for a substring instead of a collection element, use the - overload. - - - - - - - Returns a new ContainsConstraint. This constraint - will, in turn, make use of the appropriate second-level - constraint, depending on the type of the actual argument. - - - To search for a collection element instead of a substring, use the - overload. - - - - - - Returns a constraint that succeeds if the actual - value contains the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value contains the substring supplied as an argument. - - - - - Returns a constraint that fails if the actual - value contains the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value starts with the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value starts with the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value starts with the substring supplied as an argument. - - - - - Returns a constraint that fails if the actual - value starts with the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value ends with the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value ends with the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value ends with the substring supplied as an argument. - - - - - Returns a constraint that fails if the actual - value ends with the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value matches the regular expression supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value matches the regular expression supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value matches the regular expression supplied as an argument. - - - - - Returns a constraint that fails if the actual - value matches the pattern supplied as an argument. - - - - - Returns a constraint that tests whether the path provided - is the same as an expected path after canonicalization. - - - - - Returns a constraint that tests whether the path provided - is a subpath of the expected path after canonicalization. - - - - - Returns a constraint that tests whether the path provided - is the same path or under an expected path after canonicalization. - - - - - Returns a constraint that tests whether the actual value falls - within a specified range. - - - - - Provides static methods to express the assumptions - that must be met for a test to give a meaningful - result. If an assumption is not met, the test - should produce an inconclusive result. - - - - - DO NOT USE! - The Equals method throws an InvalidOperationException. This is done - to make sure there is no mistake by calling this function. - - The left object. - The right object. - Not applicable - - - - DO NOT USE! - The ReferenceEquals method throws an InvalidOperationException. This is done - to make sure there is no mistake by calling this function. - - The left object. - The right object. - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and throwing an InconclusiveException on failure. - - The Type being compared. - An ActualValueDelegate returning the value to be tested - A Constraint expression to be applied - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and throwing an InconclusiveException on failure. - - The Type being compared. - An ActualValueDelegate returning the value to be tested - A Constraint expression to be applied - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and throwing an InconclusiveException on failure. - - The Type being compared. - An ActualValueDelegate returning the value to be tested - A Constraint expression to be applied - A function to build the message included with the Exception - - - - Asserts that a condition is true. If the condition is false, the method throws - an . - - The evaluated condition - The message to display if the condition is false - Arguments to be used in formatting the message - - - - Asserts that a condition is true. If the condition is false, the - method throws an . - - The evaluated condition - - - - Asserts that a condition is true. If the condition is false, the method throws - an . - - The evaluated condition - A function to build the message included with the Exception - - - - Asserts that a condition is true. If the condition is false, the method throws - an . - - A lambda that returns a Boolean - The message to display if the condition is false - Arguments to be used in formatting the message - - - - Asserts that a condition is true. If the condition is false, the method throws - an . - - A lambda that returns a Boolean - - - - Asserts that a condition is true. If the condition is false, the method throws - an . - - A lambda that returns a Boolean - A function to build the message included with the Exception - - - - Asserts that the code represented by a delegate throws an exception - that satisfies the constraint provided. - - A TestDelegate to be executed - A ThrowsConstraint used in the test - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and throwing an InconclusiveException on failure. - - The Type being compared. - The actual value to test - A Constraint expression to be applied - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and throwing an InconclusiveException on failure. - - The Type being compared. - The actual value to test - A Constraint expression to be applied - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and throwing an InconclusiveException on failure. - - The Type being compared. - The actual value to test - A Constraint expression to be applied - A function to build the message included with the Exception - - - - Marks a test as needing to be run in a particular threading apartment state. This will cause it - to run in a separate thread if necessary. - - - - - Construct an ApartmentAttribute - - The apartment state that this test must be run under. You must pass in a valid apartment state. - - - - Provides the author of a test or test fixture. - - - - - Initializes a new instance of the class. - - The name of the author. - - - - Initializes a new instance of the class. - - The name of the author. - The email address of the author. - - - - Applies a category to a test - - - - - The name of the category - - - - - Construct attribute for a given category based on - a name. The name may not contain the characters ',', - '+', '-' or '!'. However, this is not checked in the - constructor since it would cause an error to arise at - as the test was loaded without giving a clear indication - of where the problem is located. The error is handled - in NUnitFramework.cs by marking the test as not - runnable. - - The name of the category - - - - Protected constructor uses the Type name as the name - of the category. - - - - - The name of the category - - - - - Modifies a test by adding a category to it. - - The test to modify - - - - Marks a test to use a combinatorial join of any argument data provided. - Since this is the default, the attribute is optional. - - - - - Default constructor - - - - - Marks a test as using a particular CombiningStrategy to join any supplied parameter data. - Since this is the default, the attribute is optional. - - - - - Construct a CombiningStrategyAttribute incorporating an - ICombiningStrategy and an IParameterDataProvider. - - Combining strategy to be used in combining data - An IParameterDataProvider to supply data - - - - Construct a CombiningStrategyAttribute incorporating an object - that implements ICombiningStrategy and an IParameterDataProvider. - This constructor is provided for CLS compliance. - - Combining strategy to be used in combining data - An IParameterDataProvider to supply data - - - - Builds any number of tests from the specified method and context. - - The MethodInfo for which tests are to be constructed. - The suite to which the tests will be added. - - - - Modify the test by adding the name of the combining strategy - to the properties. - - The test to modify - - - - Marks an assembly, test fixture or test method as applying to a specific Culture. - - - - - Constructor with no cultures specified, for use - with named property syntax. - - - - - Constructor taking one or more cultures - - Comma-delimited list of cultures - - - - Causes a test to be skipped if this CultureAttribute is not satisfied. - - The test to modify - - - - Tests to determine if the current culture is supported - based on the properties of this attribute. - - True, if the current culture is supported - - - - Test to determine if the a particular culture or comma- - delimited set of cultures is in use. - - Name of the culture or comma-separated list of culture ids - True if the culture is in use on the system - - - - Test to determine if one of a collection of cultures - is being used currently. - - - - - - - Abstract base class for all data-providing attributes defined by NUnit. - Used to select all data sources for a method, class or parameter. - - - - - Default constructor - - - - - Marks a field for use as a datapoint when executing a theory within - the same fixture that requires an argument of the field's Type. - - - - - Marks a field, property or method as providing a set of datapoints for use - in executing any theories within the same fixture that require an argument of - the provided Type. The data source may provide an array of the required Type - or an . Synonymous with . - - - - - Marks a field, property or method as providing a set of datapoints for use - in executing any theories within the same fixture that require an argument - of the provided type. The data source may provide an array of the required - Type or an . Synonymous with . - - - - - Sets the tolerance used by default when checking the equality of floating point values - within the test assembly, fixture or method. - - - - - Construct specifying an amount - - - - - - Apply changes to the TestExecutionContext - - The TestExecutionContext - - - - Provides the descriptive text relating to the assembly, test fixture or test method. - - - - - Construct a description Attribute - - The text of the description - - - - Marks an assembly, test fixture or test method such that it will only run if explicitly - executed from the GUI, command line or included within a test filter. - The test will not be run simply because an enclosing suite is run. - - - - - Default constructor - - - - - Constructor with a reason - - The reason test is marked explicit - - - - Modifies a test by marking it as explicit. - - The test to modify - - - - Specify the life cycle of a Fixture - - - - - Construct a FixtureLifeCycleAttribute with a specified . - - - - - Defines the life cycle for this test fixture or assembly. - - - - - Overridden to set a TestFixture's . - - - - - Marks an assembly, test fixture or test method as being ignored. Ignored tests result in a warning message when the tests are run. - - - - - Constructs the attribute giving a reason for ignoring the test - - The reason for ignoring the test - - - - The date in the future to stop ignoring the test as a string in UTC time. - For example for a date and time, "2014-12-25 08:10:00Z" or for just a date, - "2014-12-25". If just a date is given, the Ignore will expire at midnight UTC. - - - Once the ignore until date has passed, the test will be marked - as runnable. Tests with an ignore until date will have an IgnoreUntilDate - property set which will appear in the test results. - - The string does not contain a valid string representation of a date and time. - - - - Modifies a test by marking it as Ignored. - - The test to modify - - - - Abstract base for attributes that are used to include tests in - the test run based on environmental settings. - - - - - Constructor with no included items specified, for use - with named property syntax. - - - - - Constructor taking one or more included items - - Comma-delimited list of included items - - - - Name of the item that is needed in order for - a test to run. Multiple items may be given, - separated by a comma. - - - - - Name of the item to be excluded. Multiple items - may be given, separated by a comma. - - - - - The reason for including or excluding the test - - - - - Sets the number of worker threads that may be allocated by the framework - for running tests. - - - - - Construct a LevelOfParallelismAttribute. - - The number of worker threads to be created by the framework. - - - - Specifies the life cycle for a test fixture. - - - - - A single instance is created and shared for all test cases. - - - - - A new instance is created for each test case. - - - - - Specifies the maximum time (in milliseconds) for a test case to succeed. - - - - - Construct a MaxTimeAttribute, given a time in milliseconds. - - The maximum elapsed time in milliseconds - - - - Marks tests that should NOT be run in parallel. - - - - - Construct a NonParallelizableAttribute. - - - - - Used by third-party frameworks, or other software, that reference - the NUnit framework but do not contain any tests. Applying the - attribute indicates that the assembly is not a test assembly and - may prevent errors if certain runners attempt to load the assembly. - Note that recognition of the attribute depends on each individual runner. - - - - - Abstract base class for all custom attributes defined by NUnit. - - - - - Default constructor - - - - - Identifies a method that is called once to perform setup before any child tests are run. - - - - - Identifies a method to be called once after all the child tests have run. - The method is guaranteed to be called, even if an exception is thrown. - - - - - Defines the order that the test will run in - - - - - Defines the order that the test will run in - - - - - Defines the order that the test will run in - - - - - - Modifies a test as defined for the specific attribute. - - The test to modify - - - - Marks a test as using a pairwise join of any supplied argument data. Arguments will be - combined in such a way that all possible pairs of arguments are used. - - - - - Default constructor - - - - - Marks a test assembly, fixture or method that may be run in parallel. - - - - - Construct a ParallelizableAttribute using default ParallelScope.Self. - - - - - Construct a ParallelizableAttribute with a specified scope. - - The ParallelScope associated with this attribute. - - - - Defines the degree to which this test and its descendants may be run in parallel - - - - - Overridden to check for invalid combinations of settings - - - - - - Modify the context to be used for child tests - - The current TestExecutionContext - - - - Specifies the degree to which a test, and its descendants, - may be run in parallel. - - - - - No ParallelScope was specified on the test - - - - - The test may be run in parallel with others at the same level. - Valid on classes and methods but has no effect on assemblies. - - - - - Test may not be run in parallel with any others. Valid on - classes and methods but not assemblies. - - - - - Mask used to extract the flags that apply to the item on which a - ParallelizableAttribute has been placed, as opposed to descendants. - - - - - Descendants of the test may be run in parallel with one another. - Valid on assemblies and classes but not on non-parameterized methods. - - - - - Descendants of the test down to the level of TestFixtures may be - run in parallel with one another. Valid on assemblies and classes - but not on methods. - - - - - Mask used to extract all the flags that impact descendants of a - test and place them in the TestExecutionContext. - - - - - The test and its descendants may be run in parallel with others at - the same level. Valid on classes and parameterized methods. - For assemblies it is recommended to use - instead, as has no effect on assemblies. - - - - - Marks an assembly, test fixture or test method as applying to a specific platform. - - - - - Constructor with no platforms specified, for use - with named property syntax. - - - - - Constructor taking one or more platforms - - Comma-delimited list of platforms - - - - Causes a test to be skipped if this PlatformAttribute is not satisfied. - - The test to modify - - - - Attaches information to a test assembly, fixture or method as a name/value pair. - - - - - Construct a PropertyAttribute with a name and string value - - The name of the property - The property value - - - - Construct a PropertyAttribute with a name and int value - - The name of the property - The property value - - - - Construct a PropertyAttribute with a name and double value - - The name of the property - The property value - - - - Constructor for derived classes that set the - property dictionary directly. - - - - - Constructor for use by derived classes that use the - name of the type as the property name. Derived classes - must ensure that the Type of the property value is - a standard type supported by the BCL. Any custom - types will cause a serialization Exception when - in the client. - - - - - Gets the property dictionary for this attribute - - - - - Modifies a test by adding properties to it. - - The test to modify - - - - Supplies a set of random values to a single parameter of a parameterized test. - - - - - If true, no value will be repeated. - - - - - Construct a random set of values appropriate for the Type of the - parameter on which the attribute appears, specifying only the count. - - - - - - Generates values within a specified range. - - - - - Generates values within a specified range. - - - - - Generates values within a specified range. - - - - - Generates values within a specified range. - - - - - Generates values within a specified range. - - - - - Generates values within a specified range. - - - - - Generates values within a specified range. - - - - - Generates values within a specified range. - - - - - Generates values within a specified range. - - - - - Generates values within a specified range. - - - - - Retrieves a list of arguments which can be passed to the specified parameter. - - The parameter of a parameterized test. - - - - Supplies a range of values to an individual parameter of a parameterized test. - - - - - Constructs a range of values using the default step of 1. - - - - - Constructs a range of values with the specified step size. - - - - - Constructs a range of values using the default step of 1. - - - - - Constructs a range of values with the specified step size. - - - - - Constructs a range of values using a default step of 1. - - - - - Constructs a range of values with the specified step size. - - - - - Constructs a range of values using the default step of 1. - - - - - Constructs a range of values with the specified step size. - - - - - Constructs a range of values with the specified step size. - - - - - Constructs a range of values with the specified step size. - - - - - Retrieves a list of arguments which can be passed to the specified parameter. - - The parameter of a parameterized test. - - - Returns a string that represents the current object. - - - - Specifies that a test should be run multiple times. - - - - - Construct a RepeatAttribute - - The number of times to run the test - - - - Wrap a command and return the result. - - The command to be wrapped - The wrapped command - - - - The test command for the RepeatAttribute - - - - - Initializes a new instance of the class. - - The inner command. - The number of repetitions - - - - Runs the test, saving a TestResult in the supplied TestExecutionContext. - - The context in which the test should run. - A TestResult - - - - Marks a test that must run on a separate thread. - - - - - Construct a RequiresThreadAttribute - - - - - Construct a RequiresThreadAttribute, specifying the apartment - - - - - Specifies that a test method should be rerun on failure up to the specified - maximum number of times. - - - - - Construct a - - The maximum number of times the test should be run if it fails - - - - Wrap a command and return the result. - - The command to be wrapped - The wrapped command - - - - The test command for the - - - - - Initializes a new instance of the class. - - The inner command. - The maximum number of repetitions - - - - Runs the test, saving a TestResult in the supplied TestExecutionContext. - - The context in which the test should run. - A TestResult - - - - Marks a test to use a sequential join of any provided argument data. - Arguments will be combined into test cases, taking the next value of - each argument until all are used. - - - - - Default constructor - - - - - Sets the current Culture on an assembly, test fixture or test method for - the duration of a test. The culture remains set until the test or fixture - completes and is then reset to its original value. - - - - - - Construct given the name of a culture - - - - - - Sets the current UI Culture on an assembly, test fixture or test method - for the duration of a test. The UI culture remains set until the test or - fixture completes and is then reset to its original value. - - - - - - Construct given the name of a culture - - - - - - Identifies a method to be called immediately before each test is run. - - - - - Identifies a class as containing or - methods for all the test fixtures - under a given namespace. - - - - - Builds a from the specified type. - - The type info of the fixture to be used. - - - - Marks a test fixture as requiring all child tests to be run on the - same thread as the OneTimeSetUp and OneTimeTearDown. A flag in the - is set forcing all child tests - to be run sequentially on the current thread. - Any setting is ignored. - - - - - Apply changes to the TestExecutionContext - - The TestExecutionContext - - - - Identifies a method to be called immediately after each test is run. - The method is guaranteed to be called, even if an exception is thrown. - - - - - Abstract attribute providing actions to execute before and after tests. - - - - - Executed before each test is run - - The test that is going to be run. - - - - Executed after each test is run - - The test that has just been run. - - - - Provides the target for the action attribute - - - - - Marks a test assembly as needing a special assembly resolution hook that will - explicitly search the test assembly's directory for dependent assemblies. - This works around a conflict between mixed-mode assembly initialization and - tests running in their own AppDomain in some cases. - - - - - Marks the method as callable from the NUnit test runner. - - - - [TestFixture] - public class Fixture - { - [Test] - public void MethodToTest() - {} - - [Test(Description = "more detailed description")] - public void TestDescriptionMethod() - {} - } - - - - - - Descriptive text for this test - - - - - The author of this test - - - - - The type that this test is testing - - - - - Gets or sets the expected result. Not valid if the test - method has parameters. - - The result. - - - - Modifies a test by adding a description, if not already set. - - The test to modify - - - - Builds a single test from the specified method and context. - - The method for which a test is to be constructed. - The suite to which the test will be added. - - - - Marks a method as a parameterized test suite and provides arguments for each test case. - - - - - Construct a TestCaseAttribute with a list of arguments. - This constructor is not CLS-Compliant - - - - - - Construct a TestCaseAttribute with a single argument - - - - - - Construct a TestCaseAttribute with a two arguments - - - - - - - Construct a TestCaseAttribute with a three arguments - - - - - - - - Gets or sets the name of the test. - - The name of the test. - - - - Gets or sets the RunState of this test case. - - - - - Gets the list of arguments to a test case - - - - - Gets the properties of the test case - - - - - Gets or sets the expected result. - - The result. - - - - Returns true if the expected result has been set - - - - - Gets or sets the description. - - The description. - - - - The author of this test - - - - - The type that this test is testing - - - - - Gets or sets the reason for ignoring the test - - - - - Gets or sets a value indicating whether this is explicit. - - - if explicit; otherwise, . - - - - - Gets or sets the reason for not running the test. - - The reason. - - - - Gets or sets the ignore reason. When set to a non-null - non-empty value, the test is marked as ignored. - - The ignore reason. - - - - Comma-delimited list of platforms to run the test for - - - - - Comma-delimited list of platforms to not run the test for - - - - - Gets and sets the category for this test case. - May be a comma-separated list of categories. - - - - - Gets and sets the ignore until date for this test case. - - - - - Performs several special conversions allowed by NUnit in order to - permit arguments with types that cannot be used in the constructor - of an Attribute such as TestCaseAttribute or to simplify their use. - - The arguments to be converted - The ParameterInfo array for the method - - - - Builds a single test from the specified method and context. - - The MethodInfo for which tests are to be constructed. - The suite to which the tests will be added. - - - - Indicates the source to be used to provide test fixture instances for a test class. - - - - - Construct with the name of the method, property or field that will provide data - - The name of a static method, property or field that will provide data. - - - - Construct with a Type and name - - The Type that will provide data - The name of a static method, property or field that will provide data. - A set of parameters passed to the method, works only if the Source Name is a method. - If the source name is a field or property has no effect. - - - - Construct with a Type and name - - The Type that will provide data - The name of a static method, property or field that will provide data. - - - - Construct with a name - - The name of a static method, property or field that will provide data. - A set of parameters passed to the method, works only if the Source Name is a method. - If the source name is a field or property has no effect. - - - - Construct with a Type - - The type that will provide data - - - - A set of parameters passed to the method, works only if the Source Name is a method. - If the source name is a field or property has no effect. - - - - - The name of a the method, property or field to be used as a source - - - - - A Type to be used as a source - - - - - Gets or sets the category associated with every fixture created from - this attribute. May be a single category or a comma-separated list. - - - - - Builds any number of tests from the specified method and context. - - The IMethod for which tests are to be constructed. - The suite to which the tests will be added. - - - - Marks the class as a TestFixture. - - - - - Default constructor - - - - - Construct with a object[] representing a set of arguments. - The arguments may later be separated into type arguments and constructor arguments. - - - - - - Gets or sets the name of the test. - - The name of the test. - - - - Gets or sets the RunState of this test fixture. - - - - - The arguments originally provided to the attribute - - - - - Properties pertaining to this fixture - - - - - Get or set the type arguments. If not set - explicitly, any leading arguments that are - Types are taken as type arguments. - - - - - Descriptive text for this fixture - - - - - The author of this fixture - - - - - The type that this fixture is testing - - - - - Gets or sets the ignore reason. May set RunState as a side effect. - - The ignore reason. - - - - Gets or sets the reason for not running the fixture. - - The reason. - - - - Gets or sets the ignore reason. When set to a non-null - non-empty value, the test is marked as ignored. - - The ignore reason. - - - - Gets or sets a value indicating whether this is explicit. - - - if explicit; otherwise, . - - - - - Gets and sets the category for this fixture. - May be a comma-separated list of categories. - - - - - Builds a single test fixture from the specified type. - - - - - Builds a single test fixture from the specified type. - - The type info of the fixture to be used. - Filter used to select methods as tests. - - - - Identifies the source used to provide test fixture instances for a test class. - - - - - Error message string is public so the tests can use it - - - - - Construct with the name of the method, property or field that will provide data - - The name of a static method, property or field that will provide data. - - - - Construct with a Type and name - - The Type that will provide data - The name of a static method, property or field that will provide data. - - - - Construct with a Type - - The type that will provide data - - - - The name of a the method, property or field to be used as a source - - - - - A Type to be used as a source - - - - - Gets or sets the category associated with every fixture created from - this attribute. May be a single category or a comma-separated list. - - - - - Builds any number of test fixtures from the specified type. - - The TypeInfo for which fixtures are to be constructed. - - - - Builds any number of test fixtures from the specified type. - - The TypeInfo for which fixtures are to be constructed. - PreFilter used to select methods as tests. - - - - Returns a set of ITestFixtureData items for use as arguments - to a parameterized test fixture. - - The type for which data is needed. - - - - - Indicates the method or class the assembly, test fixture or test method is testing. - - - - - Initializes a new instance of the class. - - The type that is being tested. - - - - Initializes a new instance of the class. - - The type that is being tested. - - - - Adding this attribute to a method within a - class makes the method callable from the NUnit test runner. There is a property - called Description which is optional which you can provide a more detailed test - description. This class cannot be inherited. - - - - [TestFixture] - public class Fixture - { - [Test] - public void MethodToTest() - {} - - [Test(Description = "more detailed description")] - public void TestDescriptionMethod() - {} - } - - - - - - Construct the attribute, specifying a combining strategy and source of parameter data. - - - - - Applies a timeout in milliseconds to a test. - When applied to a method, the test is cancelled if the timeout is exceeded. - When applied to a class or assembly, the default timeout is set for all contained test methods. - - - - - Construct a TimeoutAttribute given a time in milliseconds - - The timeout value in milliseconds - - - - Provides literal arguments for an individual parameter of a test. - - - - - The collection of data to be returned. Must - be set by any derived attribute classes. - We use an object[] so that the individual - elements may have their type changed in GetData - if necessary - - - - - Constructs for use with an Enum parameter. Will pass every enum - value in to the test. - - - - - Construct with one argument - - - - - - Construct with two arguments - - - - - - - Construct with three arguments - - - - - - - - Construct with an array of arguments - - - - - - Retrieves a list of arguments which can be passed to the specified parameter. - - The parameter of a parameterized test. - - - - To generate data for Values attribute, in case no data is provided. - - - - - To Check if type is nullable enum. - - - - - Indicates the source used to provide data for one parameter of a test method. - - - - - Construct with the name of the factory - for use with languages - that don't support params arrays. - - The name of a static method, property or field that will provide data. - - - - Construct with a Type and name - for use with languages - that don't support params arrays. - - The Type that will provide data - The name of a static method, property or field that will provide data. - - - - The name of a the method, property or field to be used as a source - - - - - A Type to be used as a source - - - - - Retrieves a list of arguments which can be passed to the specified parameter. - - The parameter of a parameterized test. - - - - A set of Assert methods operating on one or more collections - - - - - DO NOT USE! Use CollectionAssert.AreEqual(...) instead. - The Equals method throws an InvalidOperationException. This is done - to make sure there is no mistake by calling this function. - - - - - - - DO NOT USE! - The ReferenceEquals method throws an InvalidOperationException. This is done - to make sure there is no mistake by calling this function. - - - - - - - Asserts that all items contained in collection are of the type specified by expectedType. - - IEnumerable containing objects to be considered - System.Type that all objects in collection must be instances of - - - - Asserts that all items contained in collection are of the type specified by expectedType. - - IEnumerable containing objects to be considered - System.Type that all objects in collection must be instances of - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Asserts that all items contained in collection are not equal to null. - - IEnumerable containing objects to be considered - - - - Asserts that all items contained in collection are not equal to null. - - IEnumerable of objects to be considered - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Ensures that every object contained in collection exists within the collection - once and only once. - - IEnumerable of objects to be considered - - - - Ensures that every object contained in collection exists within the collection - once and only once. - - IEnumerable of objects to be considered - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Asserts that expected and actual are exactly equal. The collections must have the same count, - and contain the exact same objects in the same order. - - The first IEnumerable of objects to be considered - The second IEnumerable of objects to be considered - - - - Asserts that expected and actual are exactly equal. The collections must have the same count, - and contain the exact same objects in the same order. - If comparer is not null then it will be used to compare the objects. - - The first IEnumerable of objects to be considered - The second IEnumerable of objects to be considered - The IComparer to use in comparing objects from each IEnumerable - - - - Asserts that expected and actual are exactly equal. The collections must have the same count, - and contain the exact same objects in the same order. - - The first IEnumerable of objects to be considered - The second IEnumerable of objects to be considered - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Asserts that expected and actual are exactly equal. The collections must have the same count, - and contain the exact same objects in the same order. - If comparer is not null then it will be used to compare the objects. - - The first IEnumerable of objects to be considered - The second IEnumerable of objects to be considered - The IComparer to use in comparing objects from each IEnumerable - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Asserts that expected and actual are equivalent, containing the same objects but the match may be in any order. - - The first IEnumerable of objects to be considered - The second IEnumerable of objects to be considered - - - - Asserts that expected and actual are equivalent, containing the same objects but the match may be in any order. - - The first IEnumerable of objects to be considered - The second IEnumerable of objects to be considered - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Asserts that expected and actual are not exactly equal. - - The first IEnumerable of objects to be considered - The second IEnumerable of objects to be considered - - - - Asserts that expected and actual are not exactly equal. - If comparer is not null then it will be used to compare the objects. - - The first IEnumerable of objects to be considered - The second IEnumerable of objects to be considered - The IComparer to use in comparing objects from each IEnumerable - - - - Asserts that expected and actual are not exactly equal. - - The first IEnumerable of objects to be considered - The second IEnumerable of objects to be considered - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Asserts that expected and actual are not exactly equal. - If comparer is not null then it will be used to compare the objects. - - The first IEnumerable of objects to be considered - The second IEnumerable of objects to be considered - The IComparer to use in comparing objects from each IEnumerable - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Asserts that expected and actual are not equivalent. - - The first IEnumerable of objects to be considered - The second IEnumerable of objects to be considered - - - - Asserts that expected and actual are not equivalent. - - The first IEnumerable of objects to be considered - The second IEnumerable of objects to be considered - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Asserts that collection contains actual as an item. - - IEnumerable of objects to be considered - Object to be found within collection - - - - Asserts that collection contains actual as an item. - - IEnumerable of objects to be considered - Object to be found within collection - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Asserts that collection does not contain actual as an item. - - IEnumerable of objects to be considered - Object that cannot exist within collection - - - - Asserts that collection does not contain actual as an item. - - IEnumerable of objects to be considered - Object that cannot exist within collection - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Asserts that the superset does not contain the subset - - The IEnumerable subset to be considered - The IEnumerable superset to be considered - - - - Asserts that the superset does not contain the subset - - The IEnumerable subset to be considered - The IEnumerable superset to be considered - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Asserts that the superset contains the subset. - - The IEnumerable subset to be considered - The IEnumerable superset to be considered - - - - Asserts that the superset contains the subset. - - The IEnumerable subset to be considered - The IEnumerable superset to be considered - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Asserts that the subset does not contain the superset - - The IEnumerable superset to be considered - The IEnumerable subset to be considered - - - - Asserts that the subset does not contain the superset - - The IEnumerable superset to be considered - The IEnumerable subset to be considered - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Asserts that the subset contains the superset. - - The IEnumerable superset to be considered - The IEnumerable subset to be considered - - - - Asserts that the subset contains the superset. - - The IEnumerable superset to be considered - The IEnumerable subset to be considered - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Assert that an array, list or other collection is empty - - An array, list or other collection implementing IEnumerable - The message to be displayed on failure - Arguments to be used in formatting the message - - - - Assert that an array,list or other collection is empty - - An array, list or other collection implementing IEnumerable - - - - Assert that an array, list or other collection is empty - - An array, list or other collection implementing IEnumerable - The message to be displayed on failure - Arguments to be used in formatting the message - - - - Assert that an array,list or other collection is empty - - An array, list or other collection implementing IEnumerable - - - - Assert that an array, list or other collection is ordered - - An array, list or other collection implementing IEnumerable - The message to be displayed on failure - Arguments to be used in formatting the message - - - - Assert that an array, list or other collection is ordered - - An array, list or other collection implementing IEnumerable - - - - Assert that an array, list or other collection is ordered - - An array, list or other collection implementing IEnumerable - A custom comparer to perform the comparisons - The message to be displayed on failure - Arguments to be used in formatting the message - - - - Assert that an array, list or other collection is ordered - - An array, list or other collection implementing IEnumerable - A custom comparer to perform the comparisons - - - - AllItemsConstraint applies another constraint to each - item in a collection, succeeding if they all succeed. - - - - - Construct an AllItemsConstraint on top of an existing constraint - - - - - - The display name of this Constraint for use by ToString(). - The default value is the name of the constraint with - trailing "Constraint" removed. Derived classes may set - this to another name in their constructors. - - - - - Apply the item constraint to each item in the collection, - failing if any item fails. - - - - - - - AndConstraint succeeds only if both members succeed. - - - - - Create an AndConstraint from two other constraints - - The first constraint - The second constraint - - - - Gets text describing a constraint - - - - - Apply both member constraints to an actual value, succeeding - succeeding only if both of them succeed. - - The actual value - True if the constraints both succeeded - - - - Write the actual value for a failing constraint test to a - MessageWriter. The default implementation simply writes - the raw value of actual, leaving it to the writer to - perform any formatting. - - The writer on which the actual value is displayed - - - - is used to determine whether the value is equal to any of the expected values. - - - - - Construct a - - Collection of expected values - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Test whether item is present in expected collection - - Actual item type - Actual item - - - - Flag the constraint to ignore case and return self. - - - - - Flag the constraint to use the supplied IComparer object. - - The IComparer object to use. - - - - Flag the constraint to use the supplied IComparer object. - - The IComparer object to use. - - - - Flag the constraint to use the supplied Comparison object. - - The Comparison object to use. - - - - Flag the constraint to use the supplied IEqualityComparer object. - - The IEqualityComparer object to use. - - - - Flag the constraint to use the supplied IEqualityComparer object. - - The IComparer object to use. - - - - Flag the constraint to use the supplied boolean-returning delegate. - - The supplied boolean-returning delegate to use. - - - - AssignableFromConstraint is used to test that an object - can be assigned from a given Type. - - - - - Construct an AssignableFromConstraint for the type provided - - - - - - Apply the constraint to an actual value, returning true if it succeeds - - The actual argument - True if the constraint succeeds, otherwise false. - - - - AssignableToConstraint is used to test that an object - can be assigned to a given Type. - - - - - Construct an AssignableToConstraint for the type provided - - - - - - Apply the constraint to an actual value, returning true if it succeeds - - The actual argument - True if the constraint succeeds, otherwise false. - - - - AttributeConstraint tests that a specified attribute is present - on a Type or other provider and that the value of the attribute - satisfies some other constraint. - - - - - Constructs an AttributeConstraint for a specified attribute - Type and base constraint. - - - - - - - Determines whether the Type or other provider has the - expected attribute and if its value matches the - additional constraint specified. - - - - - Returns a string representation of the constraint. - - - - - AttributeExistsConstraint tests for the presence of a - specified attribute on a Type. - - - - - Constructs an AttributeExistsConstraint for a specific attribute Type - - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Tests whether the object provides the expected attribute. - - A Type, MethodInfo, or other ICustomAttributeProvider - True if the expected attribute is present, otherwise false - - - - BinaryConstraint is the abstract base of all constraints - that combine two other constraints in some fashion. - - - - - The first constraint being combined - - - - - The second constraint being combined - - - - - Construct a BinaryConstraint from two other constraints - - The first constraint - The second constraint - - - - BinarySerializableConstraint tests whether - an object is serializable in binary format. - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - Returns the string representation - - - - - CollectionConstraint is the abstract base class for - constraints that operate on collections. - - - - - Construct an empty CollectionConstraint - - - - - Construct a CollectionConstraint - - - - - - Determines whether the specified enumerable is empty. - - The enumerable. - - if the specified enumerable is empty; otherwise, . - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - Protected method to be implemented by derived classes - - - - - - - CollectionContainsConstraint is used to test whether a collection - contains an expected object as a member. - - - - - Construct a CollectionContainsConstraint - - - - - - The display name of this Constraint for use by ToString(). - The default value is the name of the constraint with - trailing "Constraint" removed. Derived classes may set - this to another name in their constructors. - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Gets the expected object - - - - - Test whether the expected item is contained in the collection - - - - - - - Flag the constraint to use the supplied predicate function - - The comparison function to use. - Self. - - - - CollectionEquivalentConstraint is used to determine whether two - collections are equivalent. - - - - The result of the from the collections - under comparison. - - - Construct a CollectionEquivalentConstraint - Expected collection. - - - - The display name of this Constraint for use by ToString(). - The default value is the name of the constraint with - trailing "Constraint" removed. Derived classes may set - this to another name in their constructors. - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Test whether two collections are equivalent - - - - - - - Test whether the collection is equivalent to the expected. - - - Actual collection type. - - - Actual collection to compare. - - - A indicating whether or not - the two collections are equivalent. - - - - - Flag the constraint to use the supplied predicate function - - The comparison function to use. - Self. - - - Provides a for the . - - - Result of a of the collections to compare for equivalence. - - - Construct a using a . - Source . - Result of the collection comparison. - Actual collection to compare. - Whether or not the succeeded. - - - Write any additional lines (following Expected: and But was:) for a failing constraint. - The to write the failure message to. - - - - CollectionItemsEqualConstraint is the abstract base class for all - collection constraints that apply some notion of item equality - as a part of their operation. - - - - - The NUnitEqualityComparer in use for this constraint - - - - - Construct an empty CollectionConstraint - - - - - Construct a CollectionConstraint - - - - - - Get a flag indicating whether the user requested us to ignore case. - - - - - Get a flag indicating whether any external comparers are in use. - - - - - Flag the constraint to ignore case and return self. - - - - - Flag the constraint to use the supplied IComparer object. - - The IComparer object to use. - - - - Flag the constraint to use the supplied IComparer object. - - The IComparer object to use. - - - - Flag the constraint to use the supplied Comparison object. - - The Comparison object to use. - - - - Flag the constraint to use the supplied IEqualityComparer object. - - The IComparer object to use. - - - - Flag the constraint to use the supplied IEqualityComparer object. - - The IComparer object to use. - - - - Flag the constraint to use the supplied boolean-returning delegate. - - The supplied boolean-returning delegate to use. - - - - Compares two collection members for equality - - - - - Return a new CollectionTally for use in making tests - - The collection to be included in the tally - - - - CollectionOrderedConstraint is used to test whether a collection is ordered. - - - - - Construct a CollectionOrderedConstraint - - - - - The display name of this Constraint for use by ToString(). - The default value is the name of the constraint with - trailing "Constraint" removed. Derived classes may set - this to another name in their constructors. - - - - - If used performs a default ascending comparison - - - - - If used performs a reverse comparison - - - - - Modifies the constraint to use an and returns self. - - - - - Modifies the constraint to use an and returns self. - - - - - Modifies the constraint to use a and returns self. - - - - - Modifies the constraint to test ordering by the value of - a specified property and returns self. - - - - - Then signals a break between two ordering steps - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - Test whether the collection is ordered - - - - - Returns the string representation of the constraint. - - - - - - An OrderingStep represents one stage of the sort - - - - - Constructor for success result. - - The Constraint to which this result applies. - The actual value to which the Constraint was applied. - - - - Constructor for failure result. - - The Constraint to which this result applies. - The actual value to which the Constraint was applied. - Index at which collection order breaks. - Value at which collection order breaks. - - - - CollectionSubsetConstraint is used to determine whether - one collection is a subset of another - - - - - Construct a CollectionSubsetConstraint - - The collection that the actual value is expected to be a subset of - - - - The display name of this Constraint for use by ToString(). - The default value is the name of the constraint with - trailing "Constraint" removed. Derived classes may set - this to another name in their constructors. - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Test whether the actual collection is a subset of - the expected collection provided. - - - - - - - Test whether the constraint is satisfied by a given value. - - - - - Flag the constraint to use the supplied predicate function - - The comparison function to use. - Self. - - - - CollectionSupersetConstraint is used to determine whether - one collection is a superset of another - - - - - Construct a CollectionSupersetConstraint - - The collection that the actual value is expected to be a superset of - - - - The display name of this Constraint for use by ToString(). - The default value is the name of the constraint with - trailing "Constraint" removed. Derived classes may set - this to another name in their constructors. - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Test whether the actual collection is a superset of - the expected collection provided. - - - - - - - Test whether the constraint is satisfied by a given value. - - - - - Flag the constraint to use the supplied predicate function - - The comparison function to use. - Self. - - - counts (tallies) the number of occurrences - of each object in one or more enumerations. - - - The result of a . - - - Items that were not in the expected collection. - - - Items that were not accounted for in the expected collection. - - - Initializes a new instance of the class with the given fields. - - - The result of the comparison between the two collections. - - - Construct a CollectionTally object from a comparer and a collection. - The comparer to use for equality. - The expected collection to compare against. - - - Try to remove an object from the tally. - The object to remove. - - - Try to remove a set of objects from the tally. - The objects to remove. - - - - Comparator for two s. - - - - - Comparator for two s. - - - - - Flag indicating whether or not this is the top level comparison. - - - - - A list of tracked comparisons - - - - - Comparator for two s. - - - - - Comparator for two s. - - - - - Comparator for two s. - - - - - Comparator for two s. - - - - - Comparator for two s. - - - - - Comparator for two types related by . - - - - - Interface for comparing two s. - - - - - Method for comparing two objects with a tolerance. - - The first object to compare. - The second object to compare. - The tolerance to use when comparing the objects. - The evaluation state of the comparison. - - if the objects cannot be compared using the method. - Otherwise the result of the comparison is returned. - - - - - Comparator for two s. - - - - - Comparator for two s. - - - - - Comparator for two s. - - - - - Comparator for two s. - - - - - Comparator for two s or s. - - - - - Comparator for two Tuples. - - - - - Base class for comparators for tuples (both regular Tuples and ValueTuples). - - - - - Comparator for two ValueTuples. - - - - - ComparisonAdapter class centralizes all comparisons of - values in NUnit, adapting to the use of any provided - , - or . - - - - - Gets the default ComparisonAdapter, which wraps an - NUnitComparer object. - - - - - Returns a ComparisonAdapter that wraps an - - - - - Returns a ComparisonAdapter that wraps an - - - - - Returns a ComparisonAdapter that wraps a - - - - - Compares two objects - - - - - Construct a default ComparisonAdapter - - - - - Construct a ComparisonAdapter for an - - - - - Compares two objects - - - - - - - - ComparerAdapter extends and - allows use of an or - to actually perform the comparison. - - - - - Construct a ComparisonAdapter for an - - - - - Compare a Type T to an object - - - - - Construct a ComparisonAdapter for a - - - - - Compare a Type T to an object - - - - - Abstract base class for constraints that compare values to - determine if one is greater than, equal to or less than - the other. - - - - - The value against which a comparison is to be made - - - - - Tolerance used in making the comparison - - - - - ComparisonAdapter to be used in making the comparison - - - - - Initializes a new instance of the class. - - The value against which to make a comparison. - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - A ConstraintResult - - - - Protected function overridden by derived class to actually perform the comparison - - - - - Modifies the constraint to use an and returns self - - The comparer used for comparison tests - A constraint modified to use the given comparer - - - - Modifies the constraint to use an and returns self - - The comparer used for comparison tests - A constraint modified to use the given comparer - - - - Modifies the constraint to use a and returns self - - The comparer used for comparison tests - A constraint modified to use the given comparer - - - - Set the tolerance for use in this comparison - - - - - Switches the .Within() modifier to interpret its tolerance as - a percentage that the actual values is allowed to deviate from - the expected value. - - Self - - - - Provides standard description of what the constraint tests - based on comparison text. - - Describes the comparison being tested, throws - if null - Is thrown when null passed to a method - - - - Delegate used to delay evaluation of the actual value - to be used in evaluating a constraint - - - - - The Constraint class is the base of all built-in constraints - within NUnit. It provides the operator overloads used to combine - constraints. - - - - - Construct a constraint with optional arguments - - Arguments to be saved - - - - The display name of this Constraint for use by ToString(). - The default value is the name of the constraint with - trailing "Constraint" removed. Derived classes may set - this to another name in their constructors. - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Arguments provided to this Constraint, for use in - formatting the description. - - - - - The ConstraintBuilder holding this constraint - - - - - Applies the constraint to an actual value, returning a ConstraintResult. - - The value to be tested - A ConstraintResult - - - - Applies the constraint to an ActualValueDelegate that returns - the value to be tested. The default implementation simply evaluates - the delegate but derived classes may override it to provide for - delayed processing. - - An ActualValueDelegate - A ConstraintResult - - - - Test whether the constraint is satisfied by a given reference. - The default implementation simply dereferences the value but - derived classes may override it to provide for delayed processing. - - A reference to the value to be tested - A ConstraintResult - - - - Retrieves the value to be tested from an ActualValueDelegate. - The default implementation simply evaluates the delegate but derived - classes may override it to provide for delayed processing. - - An ActualValueDelegate - Delegate evaluation result - - - - Default override of ToString returns the constraint DisplayName - followed by any arguments within angle brackets. - - - - - - Returns the string representation of this constraint - - - - - This operator creates a constraint that is satisfied only if both - argument constraints are satisfied. - - - - - This operator creates a constraint that is satisfied if either - of the argument constraints is satisfied. - - - - - This operator creates a constraint that is satisfied if the - argument constraint is not satisfied. - - - - - Returns a ConstraintExpression by appending And - to the current constraint. - - - - - Returns a ConstraintExpression by appending And - to the current constraint. - - - - - Returns a ConstraintExpression by appending Or - to the current constraint. - - - - - Returns a DelayedConstraint.WithRawDelayInterval with the specified delay time. - - The delay, which defaults to milliseconds. - - - - - Returns a DelayedConstraint with the specified delay time - and polling interval. - - The delay in milliseconds. - The interval at which to test the constraint. - - - - - Resolves any pending operators and returns the resolved constraint. - - - - - ConstraintBuilder maintains the stacks that are used in - processing a ConstraintExpression. An OperatorStack - is used to hold operators that are waiting for their - operands to be reorganized. a ConstraintStack holds - input constraints as well as the results of each - operator applied. - - - - - OperatorStack is a type-safe stack for holding ConstraintOperators - - - - - Initializes a new instance of the class. - - The ConstraintBuilder using this stack. - - - - Gets a value indicating whether this is empty. - - if empty; otherwise, . - - - - Gets the topmost operator without modifying the stack. - - - - - Pushes the specified operator onto the stack. - - The operator to put onto the stack. - - - - Pops the topmost operator from the stack. - - The topmost operator on the stack - - - - ConstraintStack is a type-safe stack for holding Constraints - - - - - Initializes a new instance of the class. - - The ConstraintBuilder using this stack. - - - - Gets a value indicating whether this is empty. - - if empty; otherwise, . - - - - Pushes the specified constraint. As a side effect, - the constraint's Builder field is set to the - ConstraintBuilder owning this stack. - - The constraint to put onto the stack - - - - Pops this topmost constraint from the stack. - As a side effect, the constraint's Builder - field is set to null. - - The topmost constraint on the stack - - - - Initializes a new instance of the class. - - - - - Appends the specified operator to the expression by first - reducing the operator stack and then pushing the new - operator on the stack. - - The operator to push. - - - - Appends the specified constraint to the expression by pushing - it on the constraint stack. - - The constraint to push. - - - - Sets the top operator right context. - - The right context. - - - - Reduces the operator stack until the topmost item - precedence is greater than or equal to the target precedence. - - The target precedence. - - - - Resolves this instance, returning a Constraint. If the Builder - is not currently in a resolvable state, an exception is thrown. - - The resolved constraint - - - - Gets a value indicating whether this instance is resolvable. - - - if this instance is resolvable; otherwise, . - - - - - ConstraintExpression represents a compound constraint in the - process of being constructed from a series of syntactic elements. - - Individual elements are appended to the expression as they are - reorganized. When a constraint is appended, it is returned as the - value of the operation so that modifiers may be applied. However, - any partially built expression is attached to the constraint for - later resolution. When an operator is appended, the partial - expression is returned. If it's a self-resolving operator, then - a ResolvableConstraintExpression is returned. - - - - - The ConstraintBuilder holding the elements recognized so far - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the - class passing in a ConstraintBuilder, which may be pre-populated. - - The builder. - - - - Returns a string representation of the expression as it - currently stands. This should only be used for testing, - since it has the side-effect of resolving the expression. - - - - - - Appends an operator to the expression and returns the - resulting expression itself. - - - - - Appends a self-resolving operator to the expression and - returns a new ResolvableConstraintExpression. - - - - - Appends a constraint to the expression and returns that - constraint, which is associated with the current state - of the expression being built. Note that the constraint - is not reduced at this time. For example, if there - is a NotOperator on the stack we don't reduce and - return a NotConstraint. The original constraint must - be returned because it may support modifiers that - are yet to be applied. - - - - - Returns a ConstraintExpression that negates any - following constraint. - - - - - Returns a ConstraintExpression that negates any - following constraint. - - - - - Returns a ConstraintExpression, which will apply - the following constraint to all members of a collection, - succeeding if all of them succeed. - - - - - Returns a ConstraintExpression, which will apply - the following constraint to all members of a collection, - succeeding if at least one of them succeeds. - - - - - Returns a ConstraintExpression, which will apply - the following constraint to all members of a collection, - succeeding if all of them fail. - - - - - Returns a ConstraintExpression, which will apply - the following constraint to all members of a collection, - succeeding only if a specified number of them succeed. - - - - - Returns a , which will - apply the following constraint to a collection of length one, succeeding - only if exactly one of them succeeds. - - - - - Returns a new PropertyConstraintExpression, which will either - test for the existence of the named property on the object - being tested or apply any following constraint to that property. - - - - - Returns a new ConstraintExpression, which will apply the following - constraint to the Length property of the object being tested. - - - - - Returns a new ConstraintExpression, which will apply the following - constraint to the Count property of the object being tested. - - - - - Returns a new ConstraintExpression, which will apply the following - constraint to the Message property of the object being tested. - - - - - Returns a new ConstraintExpression, which will apply the following - constraint to the InnerException property of the object being tested. - - - - - Returns a new AttributeConstraint checking for the - presence of a particular attribute on an object. - - - - - Returns a new AttributeConstraint checking for the - presence of a particular attribute on an object. - - - - - With is currently a NOP - reserved for future use. - - - - - Returns the constraint provided as an argument - used to allow custom - custom constraints to easily participate in the syntax. - - - - - Returns the constraint provided as an argument - used to allow custom - custom constraints to easily participate in the syntax. - - - - - Returns a constraint that tests for null - - - - - Returns a constraint that tests for True - - - - - Returns a constraint that tests for False - - - - - Returns a constraint that tests for a positive value - - - - - Returns a constraint that tests for a negative value - - - - - Returns a constraint that tests if item is equal to zero - - - - - Returns a constraint that tests for NaN - - - - - Returns a constraint that tests for empty - - - - - Returns a constraint that tests whether a collection - contains all unique items. - - - - - Returns a constraint that tests whether an object graph is serializable in binary format. - - - - - Returns a constraint that tests whether an object graph is serializable in XML format. - - - - - Returns a constraint that tests two items for equality - - - - - Returns a constraint that tests that two references are the same object - - - - - Returns a constraint that tests whether the - actual value is greater than the supplied argument - - - - - Returns a constraint that tests whether the - actual value is greater than or equal to the supplied argument - - - - - Returns a constraint that tests whether the - actual value is greater than or equal to the supplied argument - - - - - Returns a constraint that tests whether the - actual value is less than the supplied argument - - - - - Returns a constraint that tests whether the - actual value is less than or equal to the supplied argument - - - - - Returns a constraint that tests whether the - actual value is less than or equal to the supplied argument - - - - - Returns a constraint that tests whether the actual - value is of the exact type supplied as an argument. - - - - - Returns a constraint that tests whether the actual - value is of the exact type supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is of the type supplied as an argument or a derived type. - - - - - Returns a constraint that tests whether the actual value - is of the type supplied as an argument or a derived type. - - - - - Returns a constraint that tests whether the actual value - is assignable from the type supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is assignable from the type supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is assignable from the type supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is assignable from the type supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is a collection containing the same elements as the - collection supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is a subset of the collection supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is a superset of the collection supplied as an argument. - - - - - Returns a constraint that tests whether a collection is ordered - - - - - Returns a new checking for the - presence of a particular object in the collection. - - - - - - Returns a new checking for the - presence of a particular object in the collection. - - - To search for a substring instead of a collection element, use the - overload. - - - - - - - Returns a new ContainsConstraint. This constraint - will, in turn, make use of the appropriate second-level - constraint, depending on the type of the actual argument. - - - To search for a collection element instead of a substring, use the - overload. - - - - - - Returns a new checking for the - presence of a particular object in the collection. - - - - - Returns a new ContainsConstraint. This constraint - will, in turn, make use of the appropriate second-level - constraint, depending on the type of the actual argument. - This overload is only used if the item sought is a string, - since any other type implies that we are looking for a - collection member. - - - - - Returns a new DictionaryContainsKeyConstraint checking for the - presence of a particular key in the Dictionary key collection. - - The key to be matched in the Dictionary key collection - - - - Returns a new DictionaryContainsValueConstraint checking for the - presence of a particular value in the Dictionary value collection. - - The value to be matched in the Dictionary value collection - - - - Returns a constraint that succeeds if the actual - value contains the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value contains the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value starts with the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value starts with the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value starts with the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value ends with the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value ends with the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value ends with the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value matches the regular expression supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value matches the regular expression supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value matches the regular expression supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value matches the regular expression supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value matches the regular expression supplied as an argument. - - - - - Returns a constraint that tests whether the path provided - is the same as an expected path after canonicalization. - - - - - Returns a constraint that tests whether the path provided - is the a subpath of the expected path after canonicalization. - - - - - Returns a constraint that tests whether the path provided - is the same path or under an expected path after canonicalization. - - - - - Returns a constraint that tests whether the actual value falls - inclusively within a specified range. - - Inclusive beginning of the range. - Inclusive end of the range. - - - - Returns a constraint that succeeds if the value - is a file or directory and it exists. - - - - - Returns a constraint that tests if an item is equal to any of parameters - - Expected values - - - - Returns a new IndexerConstraintExpression, which will - apply any following constraint to that indexer value. - - Index accessor values. - - - - ConstraintStatus represents the status of a ConstraintResult - returned by a Constraint being applied to an actual value. - - - - - The status has not yet been set - - - - - The constraint succeeded - - - - - The constraint failed - - - - - An error occurred in applying the constraint (reserved for future use) - - - - - Contains the result of matching a against an actual value. - - - - - Constructs a for a particular . - - The Constraint to which this result applies. - The actual value to which the Constraint was applied. - - - - Constructs a for a particular . - - The Constraint to which this result applies. - The actual value to which the Constraint was applied. - The status of the new ConstraintResult. - - - - Constructs a for a particular . - - The Constraint to which this result applies. - The actual value to which the Constraint was applied. - If true, applies a status of Success to the result, otherwise Failure. - - - - The actual value that was passed to the method. - - - - - Gets and sets the ResultStatus for this result. - - - - - True if actual value meets the Constraint criteria otherwise false. - - - - - Display friendly name of the constraint. - - - - - Description of the constraint may be affected by the state the constraint had - when was performed against the actual value. - - - - - Write the failure message to the MessageWriter provided - as an argument. The default implementation simply passes - the result and the actual value to the writer, which - then displays the constraint description and the value. - - Constraints that need to provide additional details, - such as where the error occurred, can override this. - - The MessageWriter on which to display the message - - - - Write some additional failure message. - - The MessageWriter on which to display the message - - - - Write the actual value for a failing constraint test to a - MessageWriter. The default implementation simply writes - the raw value of actual, leaving it to the writer to - perform any formatting. - - The writer on which the actual value is displayed - - - - ContainsConstraint tests a whether a string contains a substring - or a collection contains an object. It postpones the decision of - which test to use until the type of the actual argument is known. - This allows testing whether a string is contained in a collection - or as a substring of another string using the same syntax. - - - - - Initializes a new instance of the class. - - The expected value contained within the string/collection. - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Flag the constraint to ignore case and return self. - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - The DateTimes class contains common operations on Date and Time values. - - - - - Applies a delay to the match so that a match can be evaluated in the future. - - - - - Allows only changing the time dimension of delay interval and setting a polling interval of a DelayedConstraint - - - - - Creates a new DelayedConstraint.WithRawDelayInterval - - Parent DelayedConstraint on which delay interval dimension is required to be set - - - - Changes delay interval dimension to minutes - - - - - Changes delay interval dimension to seconds - - - - - Changes delay interval dimension to milliseconds - - - - - Set polling interval, in milliseconds - - A time interval, in milliseconds - - - - - Allows only setting the polling interval of a DelayedConstraint - - - - - Creates a new DelayedConstraint.WithDimensionedDelayInterval - - Parent DelayedConstraint on which polling interval is required to be set - - - - Set polling interval, in milliseconds - - A time interval, in milliseconds - - - - - Allows only changing the time dimension of the polling interval of a DelayedConstraint - - - - - Creates a new DelayedConstraint.WithRawPollingInterval - - Parent DelayedConstraint on which polling dimension is required to be set - - - - Changes polling interval dimension to minutes - - - - - Changes polling interval dimension to seconds - - - - - Changes polling interval dimension to milliseconds - - - - - Delay value store as an Interval object - - - - - Polling value stored as an Interval object - - - - - Creates a new DelayedConstraint - - The inner constraint to decorate - The time interval after which the match is performed - If the value of is less than 0 - - - - Creates a new DelayedConstraint - - The inner constraint to decorate - The time interval after which the match is performed, in milliseconds - The time interval used for polling, in milliseconds - If the value of is less than 0 - - - - Gets text describing a constraint - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for if the base constraint fails, false if it succeeds - - - - Test whether the constraint is satisfied by a delegate - - The delegate whose value is to be tested - A ConstraintResult - - - - Test whether the constraint is satisfied by a given reference. - Overridden to wait for the specified delay period before - calling the base constraint with the dereferenced value. - - A reference to the value to be tested - True for success, false for failure - - - - Returns the string representation of the constraint. - - - - - Adjusts a Timestamp by a given TimeSpan - - - - - - - - Returns the difference between two Timestamps as a TimeSpan - - - - - - - - DictionaryContainsKeyConstraint is used to test whether a dictionary - contains an expected object as a key. - - - - - Construct a DictionaryContainsKeyConstraint - - - - - - The display name of this Constraint for use by ToString(). - The default value is the name of the constraint with - trailing "Constraint" removed. Derived classes may set - this to another name in their constructors. - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Gets the expected object - - - - - Returns a new DictionaryContainsKeyValuePairConstraint checking for the - presence of a particular key-value-pair in the dictionary. - - - - - Flag the constraint to ignore case and return self. - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - - - - Test whether the expected key is contained in the dictionary - - - - - Flag the constraint to use the supplied predicate function - - The comparison function to use. - - - - Flag the constraint to use the supplied Comparison object. - - The Comparison object to use. - - - - Flag the constraint to use the supplied IComparer object. - - The IComparer object to use. - - - - Flag the constraint to use the supplied IComparer object. - - The IComparer object to use. - - - - Flag the constraint to use the supplied IEqualityComparer object. - - The IComparer object to use. - - - - Flag the constraint to use the supplied IEqualityComparer object. - - The IComparer object to use. - - - - Flag the constraint to use the supplied boolean-returning delegate. - - The supplied boolean-returning delegate to use. - - - - DictionaryContainsKeyValuePairConstraint is used to test whether a dictionary - contains an expected object as a key-value-pair. - - - - - Construct a DictionaryContainsKeyValuePairConstraint - - - - - The display name of this Constraint for use by ToString(). - The default value is the name of the constraint with - trailing "Constraint" removed. Derived classes may set - this to another name in their constructors. - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - - - - Test whether the expected key is contained in the dictionary - - - - - DictionaryContainsValueConstraint is used to test whether a dictionary - contains an expected object as a value. - - - - - Construct a DictionaryContainsValueConstraint - - - - - - The display name of this Constraint for use by ToString(). - The default value is the name of the constraint with - trailing "Constraint" removed. Derived classes may set - this to another name in their constructors. - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Gets the expected object - - - - - Test whether the expected value is contained in the dictionary - - - - - Flag the constraint to use the supplied predicate function - - The comparison function to use. - Self. - - - - Provides a for the constraints - that are applied to each item in the collection - - - - - Constructs a for a particular - Only used for Failure - - The Constraint to which this result applies - The actual value to which the Constraint was applied - Actual item that does not match expected condition - Non matching item index - - - - Write constraint description, actual items, and non-matching item - - The MessageWriter on which to display the message - - - - EmptyCollectionConstraint tests whether a collection is empty. - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Check that the collection is empty - - - - - - - EmptyConstraint tests a whether a string or collection is empty, - postponing the decision about which test is applied until the - type of the actual argument is known. - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - EmptyDirectoryConstraint is used to test that a directory is empty - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - EmptyGuidConstraint tests whether a Guid is empty. - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - EmptyStringConstraint tests whether a string is empty. - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - EndsWithConstraint can test whether a string ends - with an expected substring. - - - - - Initializes a new instance of the class. - - The expected string - - - - Test whether the constraint is matched by the actual value. - This is a template method, which calls the IsMatch method - of the derived class. - - - - - - - EqualConstraint is able to compare an actual value with the - expected value provided in its constructor. Two objects are - considered equal if both are null, or if both have the same - value. NUnit has special semantics for some object types. - - - - - NUnitEqualityComparer used to test equality. - - - - - Initializes a new instance of the class. - - The expected value. - - - - Gets the tolerance for this comparison. - - - The tolerance. - - - - - Gets a value indicating whether to compare case insensitive. - - - if comparing case insensitive; otherwise, . - - - - - Gets a value indicating whether or not to clip strings. - - - if set to clip strings otherwise, . - - - - - Gets the failure points. - - - The failure points. - - - - - Flag the constraint to ignore case and return self. - - - - - Flag the constraint to suppress string clipping - and return self. - - - - - Flag the constraint to compare arrays as collections - and return self. - - - - - Flag the constraint to use a tolerance when determining equality. - - Tolerance value to be used - Self. - - - - Flags the constraint to include - property in comparison of two values. - - - Using this modifier does not allow to use the - constraint modifier. - - - - - Switches the .Within() modifier to interpret its tolerance as - a distance in representable values (see remarks). - - Self. - - Ulp stands for "unit in the last place" and describes the minimum - amount a given value can change. For any integers, an ulp is 1 whole - digit. For floating point values, the accuracy of which is better - for smaller numbers and worse for larger numbers, an ulp depends - on the size of the number. Using ulps for comparison of floating - point results instead of fixed tolerances is safer because it will - automatically compensate for the added inaccuracy of larger numbers. - - - - - Switches the .Within() modifier to interpret its tolerance as - a percentage that the actual values is allowed to deviate from - the expected value. - - Self - - - - Causes the tolerance to be interpreted as a TimeSpan in days. - - Self - - - - Causes the tolerance to be interpreted as a TimeSpan in hours. - - Self - - - - Causes the tolerance to be interpreted as a TimeSpan in minutes. - - Self - - - - Causes the tolerance to be interpreted as a TimeSpan in seconds. - - Self - - - - Causes the tolerance to be interpreted as a TimeSpan in milliseconds. - - Self - - - - Causes the tolerance to be interpreted as a TimeSpan in clock ticks. - - Self - - - - Flag the constraint to use the supplied IComparer object. - - The IComparer object to use. - Self. - - - - Flag the constraint to use the supplied IComparer object. - - The IComparer object to use. - Self. - - - - Flag the constraint to use the supplied boolean-returning delegate. - - The boolean-returning delegate to use. - Self. - - - - Flag the constraint to use the supplied Comparison object. - - The IComparer object to use. - Self. - - - - Flag the constraint to use the supplied IEqualityComparer object. - - The IComparer object to use. - Self. - - - - Flag the constraint to use the supplied IEqualityComparer object. - - The IComparer object to use. - Self. - - - - Flag the constraint to use the supplied predicate function - - The comparison function to use. - Self. - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - The EqualConstraintResult class is tailored for formatting - and displaying the result of an EqualConstraint. - - - - - Construct an EqualConstraintResult - - - - - Write a failure message. Overridden to provide custom - failure messages for EqualConstraint. - - The MessageWriter to write to - - - - Display the failure information for two collections that did not match. - - The MessageWriter on which to display - The expected collection. - The actual collection - The depth of this failure in a set of nested collections - - - - Displays a single line showing the types and sizes of the expected - and actual collections or arrays. If both are identical, the value is - only shown once. - - The MessageWriter on which to display - The expected collection or array - The actual collection or array - The indentation level for the message line - - - - Displays a single line showing the point in the expected and actual - arrays at which the comparison failed. If the arrays have different - structures or dimensions, both values are shown. - - The MessageWriter on which to display - The expected array - The actual array - Index of the failure point in the underlying collections - The indentation level for the message line - - - - Display the failure information for two IEnumerables that did not match. - - The MessageWriter on which to display - The expected enumeration. - The actual enumeration - The depth of this failure in a set of nested collections - - - - EqualityAdapter class handles all equality comparisons - that use an , - or a . - - - - - Compares two objects, returning true if they are equal - - - - - Returns true if the two objects can be compared by this adapter. - The base adapter cannot handle IEnumerables except for strings. - - - - - Returns an that wraps an . - - - - - that wraps an . - - - - - Returns an that wraps an . - - - - - Returns an EqualityAdapter that uses a predicate function for items comparison. - - - - - - - - - Returns true if the two objects can be compared by this adapter. - The base adapter cannot handle IEnumerables except for strings. - - - - - Compares two objects, returning true if they are equal - - - - - Returns true if the two objects can be compared by this adapter. - Generic adapter requires objects of the specified type. - - - - - Returns an that wraps an . - - - - - Returns an that wraps an . - - - - - that wraps an . - - - - - Returns an that wraps a . - - - - - ExactCountConstraint applies another constraint to each - item in a collection, succeeding only if a specified - number of items succeed. - - - - - Construct a standalone ExactCountConstraint - - - - - - Construct an ExactCountConstraint on top of an existing constraint - - - - - - - Apply the item constraint to each item in the collection, - succeeding only if the expected number of items pass. - - The value to be tested - A ConstraintResult - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Contain the result of matching a against an actual value. - - - - - The count of matched items of the - - - - - A list with maximum count (+1) of items of the - - - - - Constructs a for a . - - The Constraint to which this result applies. - The actual value to which the Constraint was applied. - If true, applies a status of Success to the result, otherwise Failure. - Count of matched items of the - A list with maximum count (+1) of items of the - - - - Write the actual value for a failing constraint test to a MessageWriter. - - The writer on which the actual value is displayed - - - - ExactTypeConstraint is used to test that an object - is of the exact type provided in the constructor - - - - - Construct an ExactTypeConstraint for a given Type - - The expected Type. - - - - The display name of this Constraint for use by ToString(). - The default value is the name of the constraint with - trailing "Constraint" removed. Derived classes may set - this to another name in their constructors. - - - - - Apply the constraint to an actual value, returning true if it succeeds - - The actual argument - True if the constraint succeeds, otherwise false. - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Applies the constraint to an actual value, returning a ConstraintResult. - - The value to be tested - A ConstraintResult - - - - ExceptionTypeConstraint is a special version of ExactTypeConstraint - used to provided detailed info about the exception thrown in - an error message. - - - - - Constructs an ExceptionTypeConstraint - - - - - Applies the constraint to an actual value, returning a ConstraintResult. - - The value to be tested - A ConstraintResult - - - - FalseConstraint tests that the actual value is false - - - - - Initializes a new instance of the class. - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - FileExistsConstraint is used to determine if a file exists - - - - - Initializes a new instance of the class. - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - FileOrDirectoryExistsConstraint is used to determine if a file or directory exists - - - - - If true, the constraint will only check if files exist, not directories - - - - - If true, the constraint will only check if directories exist, not files - - - - - Initializes a new instance of the class that - will check files and directories. - - - - - Initializes a new instance of the class that - will only check files if ignoreDirectories is true. - - if set to [ignore directories]. - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Applies the constraint to an actual value, returning a ConstraintResult. - - The value to be tested - A ConstraintResult - - - Helper routines for working with floating point numbers - - - The floating point comparison code is based on this excellent article: - https://randomascii.wordpress.com/2012/02/25/comparing-floating-point-numbers-2012-edition/ - - - "ULP" means Unit in the Last Place and in the context of this library refers to - the distance between two adjacent floating point numbers. IEEE floating point - numbers can only represent a finite subset of natural numbers, with greater - accuracy for smaller numbers and lower accuracy for very large numbers. - - - If a comparison is allowed "2 ulps" of deviation, that means the values are - allowed to deviate by up to 2 adjacent floating point values, which might be - as low as 0.0000001 for small numbers or as high as 10.0 for large numbers. - - - - - Union of a floating point variable and an integer - - - The union's value as a floating point variable - - - The union's value as an integer - - - The union's value as an unsigned integer - - - Union of a double precision floating point variable and a long - - - The union's value as a double precision floating point variable - - - The union's value as a long - - - The union's value as an unsigned long - - - Compares two floating point values for equality - First floating point value to be compared - Second floating point value t be compared - - Maximum number of representable floating point values that are allowed to - be between the left and the right floating point values - - True if both numbers are equal or close to being equal - - - Floating point values can only represent a finite subset of natural numbers. - For example, the values 2.00000000 and 2.00000024 can be stored in a float, - but nothing between them. - - - This comparison will count how many possible floating point values are between - the left and the right number. If the number of possible values between both - numbers is less than or equal to maxUlps, then the numbers are considered as - being equal. - - - Implementation partially follows the code outlined here: - http://www.anttirt.net/2007/08/19/proper-floating-point-comparisons/ - - - - - Compares two double precision floating point values for equality - First double precision floating point value to be compared - Second double precision floating point value t be compared - - Maximum number of representable double precision floating point values that are - allowed to be between the left and the right double precision floating point values - - True if both numbers are equal or close to being equal - - - Double precision floating point values can only represent a limited series of - natural numbers. For example, the values 2.0000000000000000 and 2.0000000000000004 - can be stored in a double, but nothing between them. - - - This comparison will count how many possible double precision floating point - values are between the left and the right number. If the number of possible - values between both numbers is less than or equal to maxUlps, then the numbers - are considered as being equal. - - - Implementation partially follows the code outlined here: - http://www.anttirt.net/2007/08/19/proper-floating-point-comparisons/ - - - - - - Tests whether a value is greater than the value supplied to its constructor - - - - - Initializes a new instance of the class. - - The expected value. - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Perform the comparison - - - - - Tests whether a value is greater than or equal to the value supplied to its constructor - - - - - Initializes a new instance of the class. - - The expected value. - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Perform the comparison - - - - - Interface for all constraints - - - - - The display name of this Constraint for use by ToString(). - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Arguments provided to this Constraint, for use in - formatting the description. - - - - - The ConstraintBuilder holding this constraint - - - - - Applies the constraint to an actual value, returning a ConstraintResult. - - The value to be tested - A ConstraintResult - - - - Applies the constraint to an ActualValueDelegate that returns - the value to be tested. The default implementation simply evaluates - the delegate but derived classes may override it to provide for - delayed processing. - - An ActualValueDelegate - A ConstraintResult - - - - Test whether the constraint is satisfied by a given reference. - The default implementation simply dereferences the value but - derived classes may override it to provide for delayed processing. - - A reference to the value to be tested - A ConstraintResult - - - - IndexerConstraint extracts a named property and uses - its value as the actual value for a chained constraint. - - - - - Initializes a new instance of the class. - - The argument list for the indexer. - The constraint to apply to the indexer. - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - - - - Returns the string representation of the constraint. - - - - - InstanceOfTypeConstraint is used to test that an object - is of the same type provided or derived from it. - - - - - Construct an InstanceOfTypeConstraint for the type provided - - The expected Type - - - - The display name of this Constraint for use by ToString(). - The default value is the name of the constraint with - trailing "Constraint" removed. Derived classes may set - this to another name in their constructors. - - - - - Apply the constraint to an actual value, returning true if it succeeds - - The actual argument - True if the constraint succeeds, otherwise false. - - - - Keeps track of an interval time which can be represented in - Minutes, Seconds or Milliseconds - - - - - Constructs a interval given an value in milliseconds - - - - - Gets Interval value represented as a TimeSpan object - - - - - Returns the interval with the current value as a number of minutes. - - - - - Returns the interval with the current value as a number of seconds. - - - - - Returns the interval with the current value as a number of milliseconds. - - - - - Is true for intervals created with a non-zero value - - - - - Returns a string that represents the current object. - - - A string that represents the current object. - - - - - IntervalUnit provides the semantics to the value stored in Interval class. - - - - - Unit representing an Interval in minutes - - - - - Unit representing an Interval in seconds - - - - - Unit representing an Interval in milliseconds - - - - - The IResolveConstraint interface is implemented by all - complete and resolvable constraints and expressions. - - - - - Return the top-level constraint for this expression - - - - - - An extension of ResolvableConstraintExpression that adds a no-op Items property for readability. - - - - - Create a new instance of ItemsConstraintExpression - - - - - Create a new instance of ResolvableConstraintExpression, - passing in a pre-populated ConstraintBuilder. - - - - - - No-op property for readability. - - - - - Tests whether a value is less than the value supplied to its constructor - - - - - Initializes a new instance of the class. - - The expected value. - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Perform the comparison - - - - - Tests whether a value is less than or equal to the value supplied to its constructor - - - - - Initializes a new instance of the class. - - The expected value. - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Perform the comparison - - - - - MessageWriter is the abstract base for classes that write - constraint descriptions and messages in some form. The - class has separate methods for writing various components - of a message, allowing implementations to tailor the - presentation as needed. - - - - - Construct a MessageWriter given a culture - - - - - Abstract method to get the max line length - - - - - Method to write single line message with optional args, usually - written to precede the general failure message. - - The message to be written - Any arguments used in formatting the message - - - - Method to write single line message with optional args, usually - written to precede the general failure message, at a given - indentation level. - - The indentation level of the message - The message to be written - Any arguments used in formatting the message - - - - Display Expected and Actual lines for a constraint. This - is called by MessageWriter's default implementation of - WriteMessageTo and provides the generic two-line display. - - The failing constraint result - - - - Display Expected and Actual lines for given values. This - method may be called by constraints that need more control over - the display of actual and expected values than is provided - by the default implementation. - - The expected value - The actual value causing the failure - - - - Display Expected and Actual lines for given values, including - a tolerance value on the Expected line. - - The expected value - The actual value causing the failure - The tolerance within which the test was made - - - - Display the expected and actual string values on separate lines. - If the mismatch parameter is >=0, an additional line is displayed - line containing a caret that points to the mismatch point. - - The expected string value - The actual string value - The point at which the strings don't match or -1 - If true, case is ignored in locating the point where the strings differ - If true, the strings should be clipped to fit the line - - - - Writes the text for an actual value. - - The actual value. - - - - Writes the text for a generalized value. - - The value. - - - - Writes the text for a collection value, - starting at a particular point, to a max length - - The collection containing elements to write. - The starting point of the elements to write - The maximum number of elements to write - - - - Custom value formatter function - - The value - - - - - Custom value formatter factory function - - The next formatter function - ValueFormatter - If the given formatter is unable to handle a certain format, it must call the next formatter in the chain - - - - Static methods used in creating messages - - - - - Default amount of items used by method. - - - - - Static string used when strings are clipped - - - - - Formatting strings used for expected and actual values - - - - - Current head of chain of value formatters. Public for testing. - - - - - Add a formatter to the chain of responsibility. - - - - - - Formats text to represent a generalized value. - - The value - The formatted text - - - - Formats text for a collection value, - starting at a particular point, to a max length - - The collection containing elements to write. - The starting point of the elements to write - The maximum number of elements to write - - - - Returns the representation of a type as used in NUnitLite. - This is the same as Type.ToString() except for arrays, - which are displayed with their declared sizes. - - - - - - - Converts any control characters in a string - to their escaped representation. - - The string to be converted - The converted string - - - - Converts any null characters in a string - to their escaped representation. - - The string to be converted - The converted string - - - - Return the a string representation for a set of indices into an array - - Array of indices for which a string is needed - - - - Get an array of indices representing the point in a collection or - array corresponding to a single int index into the collection. - - The collection to which the indices apply - Index in the collection - Array of indices - - - - Clip a string to a given length, starting at a particular offset, returning the clipped - string with ellipses representing the removed parts - - The string to be clipped - The maximum permitted length of the result string - The point at which to start clipping - The clipped string - - - - Clip the expected and actual strings in a coordinated fashion, - so that they may be displayed together. - - - - - - - - - Shows the position two strings start to differ. Comparison - starts at the start index. - - The expected string - The actual string - The index in the strings at which comparison should start - Boolean indicating whether case should be ignored - -1 if no mismatch found, or the index where mismatch found - - - - NaNConstraint tests that the actual value is a double or float NaN - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Test that the actual value is an NaN - - - - - - - NoItemConstraint applies another constraint to each - item in a collection, failing if any of them succeeds. - - - - - Construct a SomeItemsConstraint on top of an existing constraint - - - - - - The display name of this Constraint for use by ToString(). - The default value is the name of the constraint with - trailing "Constraint" removed. Derived classes may set - this to another name in their constructors. - - - - - Apply the item constraint to each item in the collection, - failing if any item fails. - - - - - - - NotConstraint negates the effect of some other constraint - - - - - Initializes a new instance of the class. - - The base constraint to be negated. - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for if the base constraint fails, false if it succeeds - - - - NullConstraint tests that the actual value is null - - - - - Initializes a new instance of the class. - - - - - Applies the constraint to an actual value, returning a ConstraintResult. - - The value to be tested - A ConstraintResult - - - - The Numerics class contains common operations on numeric values. - - - - - Checks the type of the object, returning true if - the object is a numeric type. - - The object to check - true if the object is a numeric type - - - - Checks the type of the object, returning true if - the object is a floating point numeric type. - - The object to check - true if the object is a floating point numeric type - - - - Checks the type of the object, returning true if - the object is a fixed point numeric type. - - The object to check - true if the object is a fixed point numeric type - - - - Test two numeric values for equality, performing the usual numeric - conversions and using a provided or default tolerance. If the tolerance - provided is Empty, this method may set it to a default tolerance. - - The expected value - The actual value - A reference to the tolerance in effect - True if the values are equal - - - - Compare two numeric values, performing the usual numeric conversions. - - The expected value - The actual value - The relationship of the values to each other - - - - Calculates the difference between 2 values in absolute/percent mode. - - The expected value - The actual value - Tolerance mode to specify difference representation - The difference between the values - - - - NUnitComparer encapsulates NUnit's default behavior - in comparing two objects. - - - - - Returns the default NUnitComparer. - - - - - Compares two objects - - - - - - - - NUnitEqualityComparer encapsulates NUnit's handling of - equality tests between objects. - - - - - If true, all string comparisons will ignore case - - - - - If true, arrays will be treated as collections, allowing - those of different dimensions to be compared - - - - - Comparison objects used in comparisons for some constraints. - - - - - List of points at which a failure occurred. - - - - - List of comparers used to compare pairs of objects. - - - - - Initializes a new instance of the class. - - - - - Returns the default NUnitEqualityComparer - - - - - Gets and sets a flag indicating whether case should - be ignored in determining equality. - - - - - Gets and sets a flag indicating that arrays should be - compared as collections, without regard to their shape. - - - - - Gets the list of external comparers to be used to - test for equality. They are applied to members of - collections, in place of NUnit's own logic. - - - - - Gets the list of failure points for the last Match performed. - The list consists of objects to be interpreted by the caller. - This generally means that the caller may only make use of - objects it has placed on the list at a particular depth. - - - - - Flags the comparer to include - property in comparison of two values. - - - Using this modifier does not allow to use the - modifier. - - - - - Compares two objects for equality within a tolerance. - - - - - Compares two objects for equality within a tolerance. - - - - - FailurePoint class represents one point of failure - in an equality test. - - - - - The location of the failure - - - - - The expected value - - - - - The actual value - - - - - Indicates whether the expected value is valid - - - - - Indicates whether the actual value is valid - - - - - Represents a constraint that succeeds if all the - members of a collection match a base constraint. - - - - - Returns a constraint that will apply the argument - to the members of a collection, succeeding if - they all succeed. - - - - - Operator that requires both its arguments to succeed - - - - - Construct an AndOperator - - - - - Apply the operator to produce an AndConstraint - - - - - Operator that tests for the presence of a particular attribute - on a type and optionally applies further tests to the attribute. - - - - - Construct an AttributeOperator for a particular Type - - The Type of attribute tested - - - - Reduce produces a constraint from the operator and - any arguments. It takes the arguments from the constraint - stack and pushes the resulting constraint on it. - - - - - Abstract base class for all binary operators - - - - - Reduce produces a constraint from the operator and - any arguments. It takes the arguments from the constraint - stack and pushes the resulting constraint on it. - - - - - - Gets the left precedence of the operator - - - - - Gets the right precedence of the operator - - - - - Abstract method that produces a constraint by applying - the operator to its left and right constraint arguments. - - - - - Abstract base for operators that indicate how to - apply a constraint to items in a collection. - - - - - Constructs a CollectionOperator - - - - - The ConstraintOperator class is used internally by a - ConstraintBuilder to represent an operator that - modifies or combines constraints. - - Constraint operators use left and right precedence - values to determine whether the top operator on the - stack should be reduced before pushing a new operator. - - - - - The precedence value used when the operator - is about to be pushed to the stack. - - - - - The precedence value used when the operator - is on the top of the stack. - - - - - The syntax element preceding this operator - - - - - The syntax element following this operator - - - - - The precedence value used when the operator - is about to be pushed to the stack. - - - - - The precedence value used when the operator - is on the top of the stack. - - - - - Reduce produces a constraint from the operator and - any arguments. It takes the arguments from the constraint - stack and pushes the resulting constraint on it. - - - - - - Represents a constraint that succeeds if the specified - count of members of a collection match a base constraint. - - - - - Construct an ExactCountOperator for a specified count - - The expected count - - - - Reduce produces a constraint from the operator and - any arguments. It takes the arguments from the constraint - stack and pushes the resulting constraint on it. - - - - - - Operator used to test for the presence of a Indexer - on an object and optionally apply further tests to the - value of that indexer. - - - - - Constructs a IndexerOperator for a particular set of indexer - parameters - - - - - Returns a IndexerConstraint applied to its argument. - - - - - Represents a constraint that succeeds if none of the - members of a collection match a base constraint. - - - - - Returns a constraint that will apply the argument - to the members of a collection, succeeding if - none of them succeed. - - - - - Negates the test of the constraint it wraps. - - - - - Constructs a new NotOperator - - - - - Returns a NotConstraint applied to its argument. - - - - - Operator that requires at least one of its arguments to succeed - - - - - Construct an OrOperator - - - - - Apply the operator to produce an OrConstraint - - - - - PrefixOperator takes a single constraint and modifies - its action in some way. - - - - - Reduce produces a constraint from the operator and - any arguments. It takes the arguments from the constraint - stack and pushes the resulting constraint on it. - - - - - - Returns the constraint created by applying this - prefix to another constraint. - - - - - - - Operator used to test for the presence of a named Property - on an object and optionally apply further tests to the - value of that property. - - - - - Gets the name of the property to which the operator applies - - - - - Constructs a PropOperator for a particular named property - - - - - Reduce produces a constraint from the operator and - any arguments. It takes the arguments from the constraint - stack and pushes the resulting constraint on it. - - - - - - Abstract base class for operators that are able to reduce to a - constraint whether or not another syntactic element follows. - - - - - Represents a constraint that succeeds if any of the - members of a collection match a base constraint. - - - - - Returns a constraint that will apply the argument - to the members of a collection, succeeding if - any of them succeed. - - - - - Operator that tests that an exception is thrown and - optionally applies further tests to the exception. - - - - - Construct a ThrowsOperator - - - - - Reduce produces a constraint from the operator and - any arguments. It takes the arguments from the constraint - stack and pushes the resulting constraint on it. - - - - - Represents a constraint that simply wraps the - constraint provided as an argument, without any - further functionality, but which modifies the - order of evaluation because of its precedence. - - - - - Constructor for the WithOperator - - - - - Returns a constraint that wraps its argument - - - - - OrConstraint succeeds if either member succeeds - - - - - Create an OrConstraint from two other constraints - - The first constraint - The second constraint - - - - Gets text describing a constraint - - - - - Apply the member constraints to an actual value, succeeding - succeeding as soon as one of them succeeds. - - The actual value - True if either constraint succeeded - - - - PathConstraint serves as the abstract base of constraints - that operate on paths and provides several helper methods. - - - - - Construct a PathConstraint for a give expected path - - The expected path - - - - Modifies the current instance to be case-sensitive - and returns it. - - - - - Returns the string representation of this constraint - - - - - Canonicalize the provided path - - - The path in standardized form - - - - Test whether one path in canonical form is a subpath of another path - - The first path - supposed to be the parent path - The second path - supposed to be the child path - - - - - Predicate constraint wraps a Predicate in a constraint, - returning success if the predicate is true. - - - - - Construct a PredicateConstraint from a predicate - - - - - Gets text describing a constraint - - - - - Determines whether the predicate succeeds when applied - to the actual value. - - - - - Abstract base class used for prefixes - - - - - The base constraint - - - - - Prefix used in forming the constraint description - - - - - Construct given a base constraint - - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Formats a prefix constraint's description. - - - - - PropertyConstraint extracts a named property and uses - its value as the actual value for a chained constraint. - - - - - Initializes a new instance of the class. - - The name. - The constraint to apply to the property. - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - - - - Returns the string representation of the constraint. - - - - - Contains the result of matching a against an actual value. - - - - - Constructs a for a particular . - - The Constraint to which this result applies. - The base result with actual value to which the Constraint was applied. - - - - Write the additional failure message for a failing constraint to a - MessageWriter. - - The writer on which the actual value is displayed - - - - PropertyExistsConstraint tests that a named property - exists on the object provided through Match. - - Originally, PropertyConstraint provided this feature - in addition to making optional tests on the value - of the property. The two constraints are now separate. - - - - - Initializes a new instance of the class. - - The name of the property. - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Test whether the property exists for a given object - - The object to be tested - True for success, false for failure - - - - Returns the string representation of the constraint. - - - - - - RangeConstraint tests whether two values are within a - specified range. - - - - - Initializes a new instance of the class. - - Inclusive beginning of the range. - Inclusive end of the range. - - - - Gets text describing a constraint - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - Modifies the constraint to use an and returns self. - - - - - Modifies the constraint to use an and returns self. - - - - - Modifies the constraint to use a and returns self. - - - - - RegexConstraint can test whether a string matches - the pattern provided. - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Initializes a new instance of the class. - - The pattern. - - - - Initializes a new instance of the class. - - The Regex pattern object. - - - - Modify the constraint to ignore case in matching. - - - - - Applies the regex constraint to an actual value, returning a ConstraintResult. - - The string to be tested. - True for success, false for failure. - - - - ResolvableConstraintExpression is used to represent a compound - constraint being constructed at a point where the last operator - may either terminate the expression or may have additional - qualifying constraints added to it. - - It is used, for example, for a Property element or for - an Exception element, either of which may be optionally - followed by constraints that apply to the property or - exception. - - - - - Create a new instance of ResolvableConstraintExpression - - - - - Create a new instance of ResolvableConstraintExpression, - passing in a pre-populated ConstraintBuilder. - - - - - Appends an And Operator to the expression - - - - - Appends an Or operator to the expression. - - - - - Resolve the current expression to a Constraint - - - - - ReusableConstraint wraps a constraint expression after - resolving it so that it can be reused consistently. - - - - - Construct a ReusableConstraint from a constraint expression - - The expression to be resolved and reused - - - - Converts a constraint to a ReusableConstraint - - The constraint to be converted - A ReusableConstraint - - - - Returns a that represents this instance. - - - A that represents this instance. - - - - - Return the top-level constraint for this expression - - - - - - SameAsConstraint tests whether an object is identical to - the object passed to its constructor - - - - - Initializes a new instance of the class. - - The expected object. - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - Summary description for SamePathConstraint. - - - - - Initializes a new instance of the class. - - The expected path - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - SamePathOrUnderConstraint tests that one path is under another - - - - - Initializes a new instance of the class. - - The expected path - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - SomeItemsConstraint applies another constraint to each - item in a collection, succeeding if any of them succeeds. - - - - - Construct a SomeItemsConstraint on top of an existing constraint - - - - - - The display name of this Constraint for use by ToString(). - The default value is the name of the constraint with - trailing "Constraint" removed. Derived classes may set - this to another name in their constructors. - - - - - Apply the item constraint to each item in the collection, - succeeding if any item succeeds. - - - - - - - Flag the constraint to use the supplied object. - - The type of the elements in the collection. - The type of the member. - The comparison function to use. - Self. - - - - Flag the constraint to use the supplied object. - - The IComparer object to use. - Self. - - - - Flag the constraint to use the supplied object. - - The IComparer object to use. - Self. - - - - Flag the constraint to use the supplied object. - - The IComparer object to use. - Self. - - - - Flag the constraint to use the supplied object. - - The IComparer object to use. - Self. - - - - Flag the constraint to use the supplied object. - - The IComparer object to use. - Self. - - - - StartsWithConstraint can test whether a string starts - with an expected substring. - - - - - Initializes a new instance of the class. - - The expected string - - - - Test whether the constraint is matched by the actual value. - This is a template method, which calls the IsMatch method - of the derived class. - - - - - - - StringConstraint is the abstract base for constraints - that operate on strings. It supports the IgnoreCase - modifier for string operations. - - - - - The expected value - - - - - Indicates whether tests should be case-insensitive - - - - - Description of this constraint - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Constructs a StringConstraint without an expected value - - - - - Constructs a StringConstraint given an expected value - - The expected value - - - - Modify the constraint to ignore case in matching. - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - Test whether the constraint is satisfied by a given string - - The string to be tested - True for success, false for failure - - - - SubPathConstraint tests that the actual path is under the expected path - - - - - Initializes a new instance of the class. - - The expected path - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - SubstringConstraint can test whether a string contains - the expected substring. - - - - - Initializes a new instance of the class. - - The expected. - - - - Modify the constraint to ignore case in matching. - This will call Using(StringComparison.CurrentCultureIgnoreCase). - - Thrown when a comparison type different - than was already set. - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - Modify the constraint to the specified comparison. - - Thrown when a comparison type different - than was already set. - - - - ThrowsConstraint is used to test the exception thrown by - a delegate by applying a constraint to it. - - - - - Initializes a new instance of the class, - using a constraint to be applied to the exception. - - A constraint to apply to the caught exception. - - - - Get the actual exception thrown - used by Assert.Throws. - - - - - Gets text describing a constraint - - - - - Executes the code of the delegate and captures any exception. - If a non-null base constraint was provided, it applies that - constraint to the exception. - - A delegate representing the code to be tested - True if an exception is thrown and the constraint succeeds, otherwise false - - - - Converts an ActualValueDelegate to a TestDelegate - before calling the primary overload. - - - - - - - Write the actual value for a failing constraint test to a - MessageWriter. This override only handles the special message - used when an exception is expected but none is thrown. - - The writer on which the actual value is displayed - - - - ThrowsExceptionConstraint tests that an exception has - been thrown, without any further tests. - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Executes the code and returns success if an exception is thrown. - - A delegate representing the code to be tested - True if an exception is thrown, otherwise false - - - - Applies the constraint to an ActualValueDelegate that returns - the value to be tested. The default implementation simply evaluates - the delegate but derived classes may override it to provide for - delayed processing. - - - - - ThrowsNothingConstraint tests that a delegate does not - throw an exception. - - - - - Gets text describing a constraint - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True if no exception is thrown, otherwise false - - - - Applies the constraint to an ActualValueDelegate that returns - the value to be tested. The default implementation simply evaluates - the delegate but derived classes may override it to provide for - delayed processing. - - An ActualValueDelegate - A ConstraintResult - - - - The Tolerance class generalizes the notion of a tolerance - within which an equality test succeeds. Normally, it is - used with numeric types, but it can be used with any - type that supports taking a difference between two - objects and comparing that difference to a value. - - - - - Returns a default Tolerance object, equivalent to an exact match. - - - - - Returns an empty Tolerance object, equivalent to an exact match. - - - - - Constructs a linear tolerance of a specified amount - - - - - Constructs a tolerance given an amount and - - - - - Returns a new tolerance, using the current amount as a percentage. - - - - - Returns a new tolerance, using the current amount in Ulps - - - - - Returns a new tolerance with a as the amount, using - the current amount as a number of days. - - - - - Returns a new tolerance with a as the amount, using - the current amount as a number of hours. - - - - - Returns a new tolerance with a as the amount, using - the current amount as a number of minutes. - - - - - Returns a new tolerance with a as the amount, using - the current amount as a number of seconds. - - - - - Returns a new tolerance with a as the amount, using - the current amount as a number of milliseconds. - - - - - Returns a new tolerance with a as the amount, using - the current amount as a number of clock ticks. - - - - - Gets the for the current Tolerance - - - - - Gets the magnitude of the current Tolerance instance. - - - - - Returns true if the current tolerance has not been set or is using the . - - - - - Apply the tolerance to an expected value and return - a Tolerance.Range that represents the acceptable values. - - - - - Tests that the current Tolerance is linear with a - numeric value, throwing an exception if it is not. - - - - - Tolerance.Range represents the range of values that match - a specific tolerance, when applied to a specific value. - - - - - The lower bound of the range - - - - - The upper bound of the range - - - - - Constructs a range - - - - - Modes in which the tolerance value for a comparison can be interpreted. - - - - - The tolerance was created with a value, without specifying - how the value would be used. This is used to prevent setting - the mode more than once and is generally changed to Linear - upon execution of the test. - - - - - The tolerance is used as a numeric range within which - two compared values are considered to be equal. - - - - - Interprets the tolerance as the percentage by which - the two compared values my deviate from each other. - - - - - Compares two values based in their distance in - representable numbers. - - - - - TrueConstraint tests that the actual value is true - - - - - Initializes a new instance of the class. - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - TypeConstraint is the abstract base for constraints - that take a Type as their expected value. - - - - - The expected Type used by the constraint - - - - - The type of the actual argument to which the constraint was applied - - - - - Construct a TypeConstraint for a given Type - - The expected type for the constraint - Prefix used in forming the constraint description - - - - Applies the constraint to an actual value, returning a ConstraintResult. - - The value to be tested - A ConstraintResult - - - - Apply the constraint to an actual value, returning true if it succeeds - - The actual argument - True if the constraint succeeds, otherwise false. - - - - UniqueItemsConstraint tests whether all the items in a - collection are unique. - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Check that all items are unique. - - - - - - - - - - XmlSerializableConstraint tests whether - an object is serializable in XML format. - - - - - Gets text describing a constraint - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - Returns the string representation of this constraint - - - - - Helper class with properties and methods that supply - a number of constraints used in Asserts. - - - - - Returns a new checking for the - presence of a particular object in the collection. - - - - - Returns a new DictionaryContainsKeyConstraint checking for the - presence of a particular key in the dictionary. - - - - - Returns a new DictionaryContainsValueConstraint checking for the - presence of a particular value in the dictionary. - - - - - Returns a constraint that succeeds if the actual - value contains the substring supplied as an argument. - - - - - Asserts on Directories - - - - - DO NOT USE! Use DirectoryAssert.AreEqual(...) instead. - The Equals method throws an InvalidOperationException. This is done - to make sure there is no mistake by calling this function. - - - - - - - DO NOT USE! - The ReferenceEquals method throws an InvalidOperationException. This is done - to make sure there is no mistake by calling this function. - - - - - - - Verifies that two directories are equal. Two directories are considered - equal if both are null, or if both point to the same directory. - If they are not equal an is thrown. - - A directory containing the value that is expected - A directory containing the actual value - The message to display if the directories are not equal - Arguments to be used in formatting the message - - - - Verifies that two directories are equal. Two directories are considered - equal if both are null, or if both point to the same directory. - If they are not equal an is thrown. - - A directory containing the value that is expected - A directory containing the actual value - - - - Asserts that two directories are not equal. If they are equal - an is thrown. - - A directory containing the value that is expected - A directory containing the actual value - The message to display if directories are not equal - Arguments to be used in formatting the message - - - - Asserts that two directories are not equal. If they are equal - an is thrown. - - A directory containing the value that is expected - A directory containing the actual value - - - - Asserts that the directory exists. If it does not exist - an is thrown. - - A directory containing the actual value - The message to display if directories are not equal - Arguments to be used in formatting the message - - - - Asserts that the directory exists. If it does not exist - an is thrown. - - A directory containing the actual value - - - - Asserts that the directory exists. If it does not exist - an is thrown. - - The path to a directory containing the actual value - The message to display if directories are not equal - Arguments to be used in formatting the message - - - - Asserts that the directory exists. If it does not exist - an is thrown. - - The path to a directory containing the actual value - - - - Asserts that the directory does not exist. If it does exist - an is thrown. - - A directory containing the actual value - The message to display if directories are not equal - Arguments to be used in formatting the message - - - - Asserts that the directory does not exist. If it does exist - an is thrown. - - A directory containing the actual value - - - - Asserts that the directory does not exist. If it does exist - an is thrown. - - The path to a directory containing the actual value - The message to display if directories are not equal - Arguments to be used in formatting the message - - - - Asserts that the directory does not exist. If it does exist - an is thrown. - - The path to a directory containing the actual value - - - - Helper class with properties and methods that supply - a number of constraints used in Asserts. - - - - - Returns a ConstraintExpression that negates any - following constraint. - - - - - Returns a constraint that succeeds if the value - is a file or directory and it exists. - - - - - Returns a new checking for the - presence of a particular object in the collection. - - - - - Returns a new . This constraint - will, in turn, make use of the appropriate second-level - constraint, depending on the type of the actual argument. - This overload is only used if the item sought is a string, - since any other type implies that we are looking for a - collection member. - - - - - Returns a new DictionaryContainsKeyConstraint checking for the - presence of a particular key in the Dictionary key collection. - - The key to be matched in the Dictionary key collection - - - - Returns a new DictionaryContainsValueConstraint checking for the - presence of a particular value in the Dictionary value collection. - - The value to be matched in the Dictionary value collection - - - - Returns a constraint that succeeds if the actual - value starts with the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value ends with the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value matches the regular expression supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value matches the regular expression supplied as an argument. - - - - - If throws, returns "SomeException was thrown by the Exception.StackTrace - property." See also . - - - - - If throws, returns "SomeException was thrown by the Exception.Message - property." - - - - - If throws, returns "SomeException was thrown by the Exception.Data property." - - - - - Thrown when an assertion failed. - - - - The error message that explains - the reason for the exception - - - The error message that explains - the reason for the exception - The exception that caused the - current exception - - - - Serialization Constructor - - - - - Gets the ResultState provided by this exception - - - - - Thrown when an assertion failed. - - - - - - - The error message that explains - the reason for the exception - The exception that caused the - current exception - - - - Serialization Constructor - - - - - Gets the ResultState provided by this exception - - - - - Thrown when a test executes inconclusively. - - - - The error message that explains - the reason for the exception - - - The error message that explains - the reason for the exception - The exception that caused the - current exception - - - - Serialization Constructor - - - - - Gets the ResultState provided by this exception - - - - - Thrown when an assertion failed. - - - - - Construct based on the TestResult so far. This is the constructor - used normally, when exiting the multiple assert block with failures. - Not used internally but provided to facilitate debugging. - - - The current result, up to this point. The result is not used - internally by NUnit but is provided to facilitate debugging. - - - - - Serialization Constructor - - - - - Gets the provided by this exception. - - - - - Gets the of this test at the point the exception was thrown, - - - - - Abstract base for Exceptions that terminate a test and provide a ResultState. - - - - The error message that explains - the reason for the exception - - - The error message that explains - the reason for the exception - The exception that caused the - current exception - - - - Serialization Constructor - - - - - Gets the ResultState provided by this exception - - - - - Thrown when an assertion failed. - - - - - - - The error message that explains - the reason for the exception - The exception that caused the - current exception - - - - Serialization Constructor - - - - - Gets the ResultState provided by this exception - - - - - Contains extension methods that do not require a special using directive. - - - - - Asserts on Files - - - - - DO NOT USE! Use FileAssert.AreEqual(...) instead. - The Equals method throws an InvalidOperationException. This is done - to make sure there is no mistake by calling this function. - - - - - - - DO NOT USE! - The ReferenceEquals method throws an InvalidOperationException. This is done - to make sure there is no mistake by calling this function. - - - - - - - Verifies that two Streams are equal. Two Streams are considered - equal if both are null, or if both have the same value byte for byte. - If they are not equal an is thrown. - - The expected Stream - The actual Stream - The message to display if Streams are not equal - Arguments to be used in formatting the message - - - - Verifies that two Streams are equal. Two Streams are considered - equal if both are null, or if both have the same value byte for byte. - If they are not equal an is thrown. - - The expected Stream - The actual Stream - - - - Verifies that two files are equal. Two files are considered - equal if both are null, or if both have the same value byte for byte. - If they are not equal an is thrown. - - A file containing the value that is expected - A file containing the actual value - The message to display if Streams are not equal - Arguments to be used in formatting the message - - - - Verifies that two files are equal. Two files are considered - equal if both are null, or if both have the same value byte for byte. - If they are not equal an is thrown. - - A file containing the value that is expected - A file containing the actual value - - - - Verifies that two files are equal. Two files are considered - equal if both are null, or if both have the same value byte for byte. - If they are not equal an is thrown. - - The path to a file containing the value that is expected - The path to a file containing the actual value - The message to display if Streams are not equal - Arguments to be used in formatting the message - - - - Verifies that two files are equal. Two files are considered - equal if both are null, or if both have the same value byte for byte. - If they are not equal an is thrown. - - The path to a file containing the value that is expected - The path to a file containing the actual value - - - - Asserts that two Streams are not equal. If they are equal - an is thrown. - - The expected Stream - The actual Stream - The message to be displayed when the two Stream are the same. - Arguments to be used in formatting the message - - - - Asserts that two Streams are not equal. If they are equal - an is thrown. - - The expected Stream - The actual Stream - - - - Asserts that two files are not equal. If they are equal - an is thrown. - - A file containing the value that is expected - A file containing the actual value - The message to display if Streams are not equal - Arguments to be used in formatting the message - - - - Asserts that two files are not equal. If they are equal - an is thrown. - - A file containing the value that is expected - A file containing the actual value - - - - Asserts that two files are not equal. If they are equal - an is thrown. - - The path to a file containing the value that is expected - The path to a file containing the actual value - The message to display if Streams are not equal - Arguments to be used in formatting the message - - - - Asserts that two files are not equal. If they are equal - an is thrown. - - The path to a file containing the value that is expected - The path to a file containing the actual value - - - - Asserts that the file exists. If it does not exist - an is thrown. - - A file containing the actual value - The message to display if Streams are not equal - Arguments to be used in formatting the message - - - - Asserts that the file exists. If it does not exist - an is thrown. - - A file containing the actual value - - - - Asserts that the file exists. If it does not exist - an is thrown. - - The path to a file containing the actual value - The message to display if Streams are not equal - Arguments to be used in formatting the message - - - - Asserts that the file exists. If it does not exist - an is thrown. - - The path to a file containing the actual value - - - - Asserts that the file does not exist. If it does exist - an is thrown. - - A file containing the actual value - The message to display if Streams are not equal - Arguments to be used in formatting the message - - - - Asserts that the file does not exist. If it does exist - an is thrown. - - A file containing the actual value - - - - Asserts that the file does not exist. If it does exist - an is thrown. - - The path to a file containing the actual value - The message to display if Streams are not equal - Arguments to be used in formatting the message - - - - Asserts that the file does not exist. If it does exist - an is thrown. - - The path to a file containing the actual value - - - - Class used to guard against unexpected argument values - or operations by throwing an appropriate exception. - - - - - Throws an exception if an argument is null - - The value to be tested - The name of the argument - - - - Throws an exception if a string argument is null or empty - - The value to be tested - The name of the argument - - - - Throws an ArgumentOutOfRangeException if the specified condition is not met. - - The condition that must be met - The exception message to be used - The name of the argument - - - - Throws an ArgumentException if the specified condition is not met. - - The condition that must be met - The exception message to be used - The name of the argument - - - - Throws an InvalidOperationException if the specified condition is not met. - - The condition that must be met - The exception message to be used - - - - Throws an if the specified delegate is async void. - - - - - Throws an if the specified delegate is async void. - - - - - Helper class with properties and methods that supply - a number of constraints used in Asserts. - - - - - Returns a ConstraintExpression that negates any - following constraint. - - - - - Returns a ConstraintExpression, which will apply - the following constraint to all members of a collection, - succeeding if all of them succeed. - - - - - Returns a ConstraintExpression, which will apply - the following constraint to all members of a collection, - succeeding if at least one of them succeeds. - - - - - Returns a ConstraintExpression, which will apply - the following constraint to all members of a collection, - succeeding if all of them fail. - - - - - Returns a ConstraintExpression, which will apply - the following constraint to all members of a collection, - succeeding only if a specified number of them succeed. - - - - - Returns a which will apply - the following constraint to only one member of the collection, - and fail if none or more than one match occurs. - - - - - Returns a new PropertyConstraintExpression, which will either - test for the existence of the named property on the object - being tested or apply any following constraint to that property. - - - - - Returns a new ConstraintExpression, which will apply the following - constraint to the Length property of the object being tested. - - - - - Returns a new ConstraintExpression, which will apply the following - constraint to the Count property of the object being tested. - - - - - Returns a new ConstraintExpression, which will apply the following - constraint to the Message property of the object being tested. - - - - - Returns a new ConstraintExpression, which will apply the following - constraint to the InnerException property of the object being tested. - - - - - Returns a new AttributeConstraint checking for the - presence of a particular attribute on an object. - - - - - Returns a new AttributeConstraint checking for the - presence of a particular attribute on an object. - - - - - Returns a new checking for the - presence of a particular object in the collection. - - - - - Returns a new IndexerConstraintExpression, which will - apply any following constraint to that indexer value. - - Index accessor values. - - - - The AssertionResult class represents the result of a single assertion. - - - - - Construct an AssertionResult - - - - The pass/fail status of the assertion - - - The message produced by the assertion, or null - - - The stack trace associated with the assertion, or null - - - Determines whether the specified object is equal to the current object. - The object to compare with the current object. - - - Indicates whether the current object is equal to another object of the same type. - An object to compare with this object. - - - Serves as the default hash function. - - - - ToString Override - - - - - AssertionStatus enumeration represents the possible outcomes of an assertion. - The order of definition is significant, higher level values override lower - ones in determining the overall result of a test. - - - - - An assumption failed - - - - - The assertion succeeded - - - - - A warning message was issued - - - - - The assertion failed - - - - - An unexpected exception was thrown - - - - - The IApplyToContext interface is implemented by attributes - that want to make changes to the execution context before - a test is run. - - - - - Apply changes to the execution context - - The execution context - - - - The IApplyToTest interface is implemented by self-applying - attributes that modify the state of a test in some way. - - - - - Modifies a test as defined for the specific attribute. - - The test to modify - - - - CombiningStrategy is the abstract base for classes that - know how to combine values provided for individual test - parameters to create a set of test cases. - - - - - Gets the test cases generated by the CombiningStrategy. - - The test cases. - - - - ICommandWrapper is implemented by attributes and other - objects able to wrap a TestCommand with another command. - - - Attributes or other objects should implement one of the - derived interfaces, rather than this one, since they - indicate in which part of the command chain the wrapper - should be applied. - - - - - Wrap a command and return the result. - - The command to be wrapped - The wrapped command - - - - Objects implementing this interface are used to wrap - the TestMethodCommand itself. They apply after SetUp - has been run and before TearDown. - - - - - Objects implementing this interface are used to wrap - the entire test, including SetUp and TearDown. - - - - - Objects implementing this interface are used to wrap - tests that can repeat. The implementing command is run once, - invoking the chained commands any number of times. - - - - - Any ITest that implements this interface is at a level that the implementing - class should be disposed at the end of the test run - - - - - The IFixtureBuilder interface is exposed by a class that knows how to - build test fixtures from a specified type. In general, it is exposed - by an attribute, but it may be implemented in a helper class used by the - attribute in some cases. - - - - - Builds any number of test fixtures from the specified type. - - The type info of the fixture to be used. - - - - The IFixtureBuilder2 interface extends IFixtureBuilder by allowing - use of a PreFilter, which is used to select methods as test cases. - - - - - Builds any number of test fixtures from the specified type. - - The type info of the fixture to be used. - PreFilter to be used to select methods. - - - - IImplyFixture is an empty marker interface used by attributes like - TestAttribute that cause the class where they are used to be treated - as a TestFixture even without a TestFixtureAttribute. - - Marker interfaces are not usually considered a good practice, but - we use it here to avoid cluttering the attribute hierarchy with - classes that don't contain any extra implementation. - - - - - The IMethodInfo class is used to encapsulate information - about a method in a platform-independent manner. - - - - - Gets the Type from which this method was reflected. - - - - - Gets the MethodInfo for this method. - - - - - Gets the name of the method. - - - - - Gets a value indicating whether the method is abstract. - - - - - Gets a value indicating whether the method is public. - - - - - Gets a value indicating whether the method is static. - - - - - Gets a value indicating whether the method contains unassigned generic type parameters. - - - - - Gets a value indicating whether the method is a generic method. - - - - - Gets a value indicating whether the MethodInfo represents the definition of a generic method. - - - - - Gets the return Type of the method. - - - - - Gets the parameters of the method. - - - - - - Returns the Type arguments of a generic method or the Type parameters of a generic method definition. - - - - - Replaces the type parameters of the method with the array of types provided and returns a new IMethodInfo. - - The type arguments to be used - A new IMethodInfo with the type arguments replaced - - - - Invokes the method, converting any TargetInvocationException to an NUnitException. - - The object on which to invoke the method - The argument list for the method - The return value from the invoked method - - - - Provides data for a single test parameter. - - - - - Determines whether any data is available for a parameter. - - The parameter of a parameterized test. - - - - Retrieves a list of arguments which can be passed to the specified parameter. - - The parameter of a parameterized test. - - - - Provides data for a single test parameter. - - - - - Retrieves a list of arguments which can be passed to the specified parameter. - - The parameter of a parameterized test. - - - - The IParameterInfo interface is an abstraction of a .NET parameter. - - - - - Gets a value indicating whether the parameter is optional - - - - - Gets an IMethodInfo representing the method for which this is a parameter - - - - - Gets the underlying .NET ParameterInfo - - - - - Gets the Type of the parameter - - - - - Implemented by filters for use in deciding which - Types and Methods should be used to generate tests. - - - - - Use the filter on a Type, returning true if the type matches the filter - and should therefore be included in the discovery process. - - - - - Use the filter on a Type, returning true if the type matches the filter - and should therefore be included in the discovery process. - - - - - A PropertyBag represents a collection of name/value pairs - that allows duplicate entries with the same key. Methods - are provided for adding a new pair as well as for setting - a key to a single value. All keys are strings but values - may be of any type. Null values are not permitted, since - a null entry represents the absence of the key. - - The entries in a PropertyBag are of two kinds: those that - take a single value and those that take multiple values. - However, the PropertyBag has no knowledge of which entries - fall into each category and the distinction is entirely - up to the code using the PropertyBag. - - When working with multi-valued properties, client code - should use the Add method to add name/value pairs and - indexing to retrieve a list of all values for a given - key. For example: - - bag.Add("Tag", "one"); - bag.Add("Tag", "two"); - Assert.That(bag["Tag"], - Is.EqualTo(new string[] { "one", "two" })); - - When working with single-valued properties, client code - should use the Set method to set the value and Get to - retrieve the value. The GetSetting methods may also be - used to retrieve the value in a type-safe manner while - also providing default. For example: - - bag.Set("Priority", "low"); - bag.Set("Priority", "high"); // replaces value - Assert.That(bag.Get("Priority"), - Is.EqualTo("high")); - Assert.That(bag.GetSetting("Priority", "low"), - Is.EqualTo("high")); - - - - - Adds a key/value pair to the property bag - - The key - The value - - - - Sets the value for a key, removing any other - values that are already in the property set. - - - - - - - Gets a single value for a key, using the first - one if multiple values are present and returning - null if the value is not found. - - - - - Gets a flag indicating whether the specified key has - any entries in the property set. - - The key to be checked - True if their are values present, otherwise false - - - - Gets or sets the list of values for a particular key - - The key for which the values are to be retrieved or set - - - - Gets a collection containing all the keys in the property set - - - - - The IReflectionInfo interface is implemented by NUnit wrapper objects that perform reflection. - - - - - Returns an array of custom attributes of the specified type applied to this object - - - - - Returns a value indicating whether an attribute of the specified type is defined on this object. - - - - - The ISimpleTestBuilder interface is exposed by a class that knows how to - build a single tests from a specified method. In general, - it is exposed by an attribute, but it may be implemented in a helper class - used by the attribute in some cases. - - - - - Builds a single test from the specified method and context. - - The method to be used as a test - The TestSuite to which the method will be added - - - - The ISuiteBuilder interface is exposed by a class that knows how to - build a single test suite from a specified type. - - - - - Examine the type and determine if it is suitable for - this builder to use in building a TestSuite. - - Note that returning false will cause the type to be ignored - in loading the tests. If it is desired to load the suite - but label it as non-runnable, ignored, etc., then this - method must return true. - - The type of the fixture to be used - - - - Builds a single test suite from the specified type. - - The type of the fixture to be used - - - - Builds a single test suite from the specified type, subject - to a filter that decides which methods are included. - - The type of the fixture to be used - A PreFilter for selecting methods. - - - - Common interface supported by all representations - of a test. Only includes informational fields. - The Run method is specifically excluded to allow - for data-only representations of a test. - - - - - Gets the id of the test - - - - - Gets the name of the test - - - - - Gets the type of the test - - - - - Gets the fully qualified name of the test - - - - - Gets the name of the class containing this test. Returns - null if the test is not associated with a class. - - - - - Gets the name of the method implementing this test. - Returns null if the test is not implemented as a method. - - - - - Gets the Type of the test fixture, if applicable, or - null if no fixture type is associated with this test. - - - - - Gets the method which declares the test, or - if no method is associated with this test. - - - - - Gets the RunState of the test, indicating whether it can be run. - - - - - Count of the test cases ( 1 if this is a test case ) - - - - - Gets the properties of the test - - - - - Gets the parent test, if any. - - The parent test or null if none exists. - - - - Returns true if this is a test suite - - - - - Gets a bool indicating whether the current test - has any descendant tests. - - - - - Gets this test's child tests - - A list of child tests - - - - Gets a fixture object for running this test. - - - - - The arguments to use in creating the test or empty array if none are required. - - - - - The ITestBuilder interface is exposed by a class that knows how to - build tests from a specified method. In general, it is exposed - by an attribute which has additional information available to provide - the necessary test parameters to distinguish the test cases built. - - - - - Builds any number of tests from the specified method and context. - - The method to be used as a test - The TestSuite to which the method will be added - - - - The ITestCaseBuilder interface is exposed by a class that knows how to - build a test from a specified method, possibly containing child test cases. - - - - - Examine the method and determine if it is suitable for - this builder to use in building a TestCase to be - included in the suite being populated. - - Note that returning false will cause the method to be ignored - in loading the tests. If it is desired to load the method - but label it as non-runnable, ignored, etc., then this - method must return true. - - The test method to examine - The suite being populated - - - - Builds a single test from the specified method and context, - possibly containing child test cases. - - The method to be used as a test case - The test suite being populated, or null - - - - The ITestCaseData interface is implemented by a class - that is able to return complete test cases for use by - a parameterized test method. - - - - - Gets the expected result of the test case - - - - - Returns true if an expected result has been set - - - - - The ITestData interface is implemented by a class that - represents a single instance of a parameterized test. - - - - - Gets the name to be used for the test - - - - - Gets the RunState for this test case. - - - - - Gets the argument list to be provided to the test - - - - - Gets the property dictionary for the test case - - - - - Interface to be implemented by filters applied to tests. - The filter applies when running the test, after it has been - loaded, since this is the only time an ITest exists. - - - - - Determine if a particular test passes the filter criteria. Pass - may examine the parents and/or descendants of a test, depending - on the semantics of the particular filter - - The test to which the filter is applied - True if the test passes the filter, otherwise false - - - - Determine if a test matches the filter explicitly. That is, it must - be a direct match of the test itself or one of its children. - - The test to which the filter is applied - True if the test matches the filter explicitly, otherwise false - - - - The ITestCaseData interface is implemented by a class - that is able to return the data required to create an - instance of a parameterized test fixture. - - - - - Get the TypeArgs if separately set - - - - - The ITestListener interface is used internally to receive - notifications of significant events while a test is being - run. The events are propagated to clients by means of an - AsyncCallback. NUnit extensions may also monitor these events. - - - - - Called when a test has just started - - The test that is starting - - - - Called when a test has finished - - The result of the test - - - - Called when a test produces output for immediate display - - A TestOutput object containing the text to display - - - - Called when a test produces a message to be sent to listeners - - A object containing the text to send - - - - The ITestResult interface represents the result of a test. - - - - - Gets the ResultState of the test result, which - indicates the success or failure of the test. - - - - - Gets the name of the test result - - - - - Gets the full name of the test result - - - - - Gets the elapsed time for running the test in seconds - - - - - Gets or sets the time the test started running. - - - - - Gets or sets the time the test finished running. - - - - - Gets the message associated with a test - failure or with not running the test - - - - - Gets any stack trace associated with an - error or failure. - - - - Gets the total number of tests executed - when running the test and all its children. - - - - - Gets the number of asserts executed - when running the test and all its children. - - - - - Gets the number of test cases that failed - when running the test and all its children. - - - - - Gets the number of test cases that had warnings - when running the test and all its children. - - - - - Gets the number of test cases that passed - when running the test and all its children. - - - - - Gets the number of test cases that were skipped - when running the test and all its children. - - - - - Gets the number of test cases that were inconclusive - when running the test and all its children. - - - - - Indicates whether this result has any child results. - Accessing HasChildren should not force creation of the - Children collection in classes implementing this interface. - - - - - Gets the collection of child results. - - - - - Gets the Test to which this result applies. - - - - - Gets any text output written to this result. - - - - - Gets a list of AssertionResults associated with the test - - - - - Gets the collection of files attached to the test - - - - - The ITypeInfo interface is an abstraction of a .NET Type - - - - - Gets the underlying Type on which this ITypeInfo is based - - - - - Gets the base type of this type as an ITypeInfo - - - - - Returns true if the Type wrapped is equal to the argument - - - - - Gets the name of the Type - - - - - Gets the full name of the Type - - - - - Gets the assembly in which the type is declared - - - - - Gets the namespace of the Type - - - - - Gets a value indicating whether the type is abstract. - - - - - Gets a value indicating whether the Type is a generic Type - - - - - Gets a value indicating whether the Type has generic parameters that have not been replaced by specific Types. - - - - - Gets a value indicating whether the Type is a generic Type definition - - - - - Gets a value indicating whether the type is sealed. - - - - - Gets a value indicating whether this type is a static class. - - - - - Get the display name for this typeInfo. - - - - - Get the display name for an object of this type, constructed with specific arguments - - - - - Returns a Type representing a generic type definition from which this Type can be constructed. - - - - - Returns a new ITypeInfo representing an instance of this generic Type using the supplied Type arguments - - - - - Returns a value indicating whether this type has a method with a specified public attribute - - - - - Returns an array of IMethodInfos for methods of this Type - that match the specified flags. - - - - - Gets the public constructor taking the specified argument Types - - - - - Returns a value indicating whether this Type has a public constructor taking the specified argument Types. - - - - - Construct an object of this Type, using the specified arguments. - - - - - Returns all methods declared by this type that have the specified attribute, optionally - including base classes. Methods from a base class are always returned before methods from a class that - inherits from it. - - Specifies whether to search the fixture type inheritance chain. - - - - An object implementing IXmlNodeBuilder is able to build - an XML representation of itself and any children. - - - - - Returns a TNode representing the current object. - - If true, children are included where applicable - A TNode representing the result - - - - Returns a TNode representing the current object after - adding it as a child of the supplied parent node. - - The parent node. - If true, children are included, where applicable - - - - - The ResultState class represents the outcome of running a test. - It contains two pieces of information. The Status of the test - is an enum indicating whether the test passed, failed, was - skipped or was inconclusive. The Label provides a more - detailed breakdown for use by client runners. - - - - - Initializes a new instance of the class. - - The TestStatus. - - - - Initializes a new instance of the class. - - The TestStatus. - The label. - - - - Initializes a new instance of the class. - - The TestStatus. - The stage at which the result was produced - - - - Initializes a new instance of the class. - - The TestStatus. - The label. - The stage at which the result was produced - - - - The result is inconclusive - - - - - The test has been skipped. - - - - - The test has been ignored. - - - - - The test was skipped because it is explicit - - - - - The test succeeded - - - - - The test issued a warning - - - - - The test failed - - - - - The test encountered an unexpected exception - - - - - The test was cancelled by the user - - - - - The test was not runnable. - - - - - A suite failed because one or more child tests failed or had errors - - - - - A suite failed because one or more child tests had warnings - - - - - A suite is marked ignored because one or more child tests were ignored - - - - - A suite failed in its OneTimeSetUp - - - - - A suite had an unexpected exception in its OneTimeSetUp - - - - - A suite had an unexpected exception in its OneTimeDown - - - - - Gets the TestStatus for the test. - - The status. - - - - Gets the label under which this test result is - categorized, or if none. - - - - - Gets the stage of test execution in which - the failure or other result took place. - - - - - Get a new ResultState, which is the same as the current - one but with the FailureSite set to the specified value. - - The FailureSite to use - A new ResultState - - - - Test whether this ResultState has the same Status and Label - as another one. In other words, the whether two are equal - ignoring the Site. - - - - - - Determines whether the specified object is equal to the current object. - The object to compare with the current object. - - - Indicates whether the current object is equal to another object of the same type. - An object to compare with this object. - - - Serves as the default hash function. - - - - Overload == operator for ResultStates - - - - - Overload != operator for ResultStates - - - - - Returns a that represents this instance. - - - A that represents this instance. - - - - - The FailureSite enum indicates the stage of a test - in which an error or failure occurred. - - - - - Failure in the test itself - - - - - Failure in the SetUp method - - - - - Failure in the TearDown method - - - - - Failure of a parent test - - - - - Failure of a child test - - - - - The RunState enum indicates whether a test can be executed. - - - - - The test is not runnable. - - - - - The test is runnable. - - - - - The test can only be run explicitly - - - - - The test has been skipped. This value may - appear on a Test when certain attributes - are used to skip the test. - - - - - The test has been ignored. May appear on - a Test, when the IgnoreAttribute is used. - - - - - The TestAttachment class represents a file attached to a TestResult, - with an optional description. - - - - - Absolute file path to attachment file - - - - - User specified description of attachment. May be null. - - - - - Creates a TestAttachment class to represent a file attached to a test result. - - Absolute file path to attachment file - User specified description of attachment. May be null. - - - - The class holds a message sent by a test to all listeners - - - - - Construct with text, destination type and - the name of the test that produced the message. - - Destination of the message - Text to be sent - ID of the test that produced the message - - - - Converts object to string - - - - - The message to send to listeners - - - - - The Destination of the message. - - - - - The ID of the test that sent the message - - - - - Returns the XML representation of the object. - - - - - The TestOutput class holds a unit of output from - a test to a specific output stream - - - - - Construct with text, output destination type and - the name of the test that produced the output. - - Text to be output - Name of the stream or channel to which the text should be written - Id of the test that produced the output - FullName of test that produced the output - - - - Return string representation of the object for debugging - - - - - - Get the text - - - - - Get the output type - - - - - Get the name of the test that created the output - - - - - Get the id of the test that created the output - - - - - Convert the TestOutput object to an XML string - - - - - The TestStatus enum indicates the result of running a test - - - - - The test was inconclusive - - - - - The test has skipped - - - - - The test succeeded - - - - - There was a warning - - - - - The test failed - - - - - TNode represents a single node in the XML representation - of a Test or TestResult. It replaces System.Xml.XmlNode and - System.Xml.Linq.XElement, providing a minimal set of methods - for operating on the XML in a platform-independent manner. - - - - - Constructs a new instance of TNode - - The name of the node - - - - Constructs a new instance of TNode with a value - - The name of the node - The text content of the node - - - - Constructs a new instance of TNode with a value - - The name of the node - The text content of the node - Flag indicating whether to use CDATA when writing the text - - - - Gets the name of the node - - - - - Gets the value of the node - - - - - Gets a flag indicating whether the value should be output using CDATA. - - - - - Gets the dictionary of attributes - - - - - Gets a list of child nodes - - - - - Gets the first ChildNode - - - - - Gets the XML representation of this node. - - - - - Create a TNode from its XML text representation - - The XML text to be parsed - A TNode - - - - Adds a new element as a child of the current node and returns it. - - The element name. - The newly created child element - - - - Adds a new element with a value as a child of the current node and returns it. - - The element name - The text content of the new element - The newly created child element - - - - Adds a new element with a value as a child of the current node and returns it. - The value will be output using a CDATA section. - - The element name - The text content of the new element - The newly created child element - - - - Adds an attribute with a specified name and value to the XmlNode. - - The name of the attribute. - The value of the attribute. - - - - Finds a single descendant of this node matching an XPath - specification. The format of the specification is - limited to what is needed by NUnit and its tests. - - - - - - - Finds all descendants of this node matching an XPath - specification. The format of the specification is - limited to what is needed by NUnit and its tests. - - - - - Writes the XML representation of the node to an XmlWriter - - - - - - Class used to represent a list of XmlResults - - - - - Class used to represent the attributes of a node - - - - - Gets or sets the value associated with the specified key. - Overridden to return null if attribute is not found. - - The key. - Value of the attribute or null - - - - A production implementation that delegates directly to .NET's . - - - - - Returns whether a debugger is currently attached to the process - - - - - A layer of abstraction around to facilitate testing. - - - - - Whether a debugger is currently attached to the process. - - - - - AssemblyHelper provides static methods for working - with assemblies. - - - - - Gets the path from which an assembly was loaded. - For builds where this is not possible, returns - the name of the assembly. - - The assembly. - The path. - - - - Gets the path to the directory from which an assembly was loaded. - - The assembly. - The path. - - - - Gets the AssemblyName of an assembly. - - The assembly - An AssemblyName - - - - Loads an assembly given a string, which may be the - path to the assembly or the AssemblyName - - - - - Gets the assembly path from code base. - - Public for testing purposes - The code base. - - - - - Adapts various styles of asynchronous waiting to a common API. - - - - - CombinatorialStrategy creates test cases by using all possible - combinations of the parameter data. - - - - - Gets the test cases generated by the CombiningStrategy. - - The test cases. - - - - Provides data from fields marked with the DatapointAttribute or the - DatapointsAttribute. - - - - - Determines whether any data is available for a parameter. - - The parameter of a parameterized test - - - - Retrieves data for use with the supplied parameter. - - The parameter of a parameterized test - - - - Built-in SuiteBuilder for all types of test classes. - - - - - Examine the type and determine if it is suitable for - this builder to use in building a TestSuite. - - Note that returning false will cause the type to be ignored - in loading the tests. If it is desired to load the suite - but label it as non-runnable, ignored, etc., then this - method must return true. - - The fixture type to check - - - - Builds a single test suite from the specified type. - - The fixture type to build - - - - Builds a single test suite from the specified type, subject - to a filter that decides which methods are included. - - The fixture type to build - A PreFilter for selecting methods. - - - - We look for attributes implementing IFixtureBuilder at one level - of inheritance at a time. Attributes on base classes are not used - unless there are no fixture builder attributes at all on the derived - class. This is by design. - - The type being examined for attributes - - - - Class to build ether a parameterized or a normal NUnitTestMethod. - There are four cases that the builder must deal with: - 1. The method needs no params and none are provided - 2. The method needs params and they are provided - 3. The method needs no params but they are provided in error - 4. The method needs params but they are not provided - This could have been done using two different builders, but it - turned out to be simpler to have just one. The BuildFrom method - takes a different branch depending on whether any parameters are - provided, but all four cases are dealt with in lower-level methods - - - - - Determines if the method can be used to build an NUnit test - test method of some kind. The method must normally be marked - with an identifying attribute for this to be true. - - Note that this method does not check that the signature - of the method for validity. If we did that here, any - test methods with invalid signatures would be passed - over in silence in the test run. Since we want such - methods to be reported, the check for validity is made - in BuildFrom rather than here. - - An IMethodInfo for the method being used as a test method - - - - Builds a single test from the specified method and context, - possibly containing child test cases. - - The method for which a test is to be built - - - - Determines if the method can be used to build an NUnit test - test method of some kind. The method must normally be marked - with an identifying attribute for this to be true. - - Note that this method does not check that the signature - of the method for validity. If we did that here, any - test methods with invalid signatures would be passed - over in silence in the test run. Since we want such - methods to be reported, the check for validity is made - in BuildFrom rather than here. - - An IMethodInfo for the method being used as a test method - The test suite being built, to which the new test would be added - - - - Builds a single test from the specified method and context, - possibly containing child test cases. - - The method for which a test is to be built - The test fixture being populated, or null - - - - Builds a ParameterizedMethodSuite containing individual test cases. - - The method for which a test is to be built. - The list of test cases to include. - - - - Build a simple, non-parameterized TestMethod for this method. - - The MethodInfo for which a test is to be built - The test suite for which the method is being built - - - - Class that can build a tree of automatic namespace - suites from a group of fixtures. - - - - - NamespaceDictionary of all test suites we have created to represent - namespaces. Used to locate namespace parent suites for fixtures. - - - - - Point in the tree where items in the global namespace are added - - - - - Initializes a new instance of the class. - - The root suite. - - - - Gets the root entry in the tree created by the NamespaceTreeBuilder. - - The root suite. - - - - Adds the specified fixtures to the tree. - - The fixtures to be added. - - - - Adds the specified fixture to the tree. - - The fixture to be added. - - - - NUnitTestCaseBuilder is a utility class used by attributes - that build test cases. - - - - - Constructs an - - - - - Builds a single NUnitTestMethod, either as a child of the fixture - or as one of a set of test cases under a ParameterizedTestMethodSuite. - - The MethodInfo from which to construct the TestMethod - The suite or fixture to which the new test will be added - The ParameterSet to be used, or null - - - - Checks to see if we have valid combinations of attributes. - - The TestMethod to be checked. If it - is found to be non-runnable, it will be modified. - True if the method signature is valid, false if not - - - - Helper method that checks the signature of a TestMethod and - any supplied parameters to determine if the test is valid. - - Currently, NUnitTestMethods are required to be public, - non-abstract methods, either static or instance, - returning void. They may take arguments but the values must - be provided or the TestMethod is not considered runnable. - - Methods not meeting these criteria will be marked as - non-runnable and the method will return false in that case. - - The TestMethod to be checked. If it - is found to be non-runnable, it will be modified. - Parameters to be used for this test, or null - True if the method signature is valid, false if not - - The return value is no longer used internally, but is retained - for testing purposes. - - - - - NUnitTestFixtureBuilder is able to build a fixture given - a class marked with a TestFixtureAttribute or an unmarked - class containing test methods. In the first case, it is - called by the attribute and in the second directly by - NUnitSuiteBuilder. - - - - - Build a TestFixture from type provided. A non-null TestSuite - must always be returned, since the method is generally called - because the user has marked the target class as a fixture. - If something prevents the fixture from being used, it should - be returned nonetheless, labeled as non-runnable. - - An ITypeInfo for the fixture to be used. - Filter used to select methods as tests. - A TestSuite object or one derived from TestSuite. - - - - Overload of BuildFrom called by tests that have arguments. - Builds a fixture using the provided type and information - in the ITestFixtureData object. - - The TypeInfo for which to construct a fixture. - Filter used to select methods as tests. - An object implementing ITestFixtureData or null. - - - - - Method to add test cases to the newly constructed fixture. - - - - - Method to create a test case from a MethodInfo and add - it to the fixture being built. It first checks to see if - any global TestCaseBuilder addin wants to build the - test case. If not, it uses the internal builder - collection maintained by this fixture builder. - - The default implementation has no test case builders. - Derived classes should add builders to the collection - in their constructor. - - The method for which a test is to be created - The test suite being built. - A newly constructed Test - - - - PairwiseStrategy creates test cases by combining the parameter - data so that all possible pairs of data items are used. - - - - The number of test cases that cover all possible pairs of test function - parameters values is significantly less than the number of test cases - that cover all possible combination of test function parameters values. - And because different studies show that most of software failures are - caused by combination of no more than two parameters, pairwise testing - can be an effective ways to test the system when it's impossible to test - all combinations of parameters. - - - The PairwiseStrategy code is based on "jenny" tool by Bob Jenkins: - https://burtleburtle.net/bob/math/jenny.html - - - - - - FleaRand is a pseudo-random number generator developed by Bob Jenkins: - https://burtleburtle.net/bob/rand/talksmall.html#flea - - - - - Initializes a new instance of the FleaRand class. - - The seed. - - - - FeatureInfo represents coverage of a single value of test function - parameter, represented as a pair of indices, Dimension and Feature. In - terms of unit testing, Dimension is the index of the test parameter and - Feature is the index of the supplied value in that parameter's list of - sources. - - - - - Initializes a new instance of FeatureInfo class. - - Index of a dimension. - Index of a feature. - - - - A FeatureTuple represents a combination of features, one per test - parameter, which should be covered by a test case. In the - PairwiseStrategy, we are only trying to cover pairs of features, so the - tuples actually may contain only single feature or pair of features, but - the algorithm itself works with triplets, quadruples and so on. - - - - - Initializes a new instance of FeatureTuple class for a single feature. - - Single feature. - - - - Initializes a new instance of FeatureTuple class for a pair of features. - - First feature. - Second feature. - - - - TestCase represents a single test case covering a list of features. - - - - - Initializes a new instance of TestCaseInfo class. - - A number of features in the test case. - - - - PairwiseTestCaseGenerator class implements an algorithm which generates - a set of test cases which covers all pairs of possible values of test - function. - - - - The algorithm starts with creating a set of all feature tuples which we - will try to cover (see method). This set - includes every single feature and all possible pairs of features. We - store feature tuples in the 3-D collection (where axes are "dimension", - "feature", and "all combinations which includes this feature"), and for - every two feature (e.g. "A" and "B") we generate both ("A", "B") and - ("B", "A") pairs. This data structure extremely reduces the amount of - time needed to calculate coverage for a single test case (this - calculation is the most time-consuming part of the algorithm). - - - Then the algorithm picks one tuple from the uncovered tuple, creates a - test case that covers this tuple, and then removes this tuple and all - other tuples covered by this test case from the collection of uncovered - tuples. - - - Picking a tuple to cover - - - There are no any special rules defined for picking tuples to cover. We - just pick them one by one, in the order they were generated. - - - Test generation - - - Test generation starts from creating a completely random test case which - covers, nevertheless, previously selected tuple. Then the algorithm - tries to maximize number of tuples which this test covers. - - - Test generation and maximization process repeats seven times for every - selected tuple and then the algorithm picks the best test case ("seven" - is a magic number which provides good results in acceptable time). - - Maximizing test coverage - - To maximize tests coverage, the algorithm walks through the list of mutable - dimensions (mutable dimension is a dimension that are not included in - the previously selected tuple). Then for every dimension, the algorithm - walks through the list of features and checks if this feature provides - better coverage than randomly selected feature, and if yes keeps this - feature. - - - This process repeats while it shows progress. If the last iteration - doesn't improve coverage, the process ends. - - - In addition, for better results, before start every iteration, the - algorithm "scrambles" dimensions - so for every iteration dimension - probes in a different order. - - - - - - Creates a set of test cases for specified dimensions. - - - An array which contains information about dimensions. Each element of - this array represents a number of features in the specific dimension. - - - A set of test cases. - - - - - Gets the test cases generated by this strategy instance. - - A set of test cases. - - - - The ParameterDataProvider class implements IParameterDataProvider - and hosts one or more individual providers. - - - - - Construct with a collection of individual providers - - - - - Determines whether any data is available for a parameter. - - The parameter of a parameterized test - - - - Retrieves data for use with the supplied parameter. - - The parameter of a parameterized test - - - - ParameterDataSourceProvider supplies individual argument values for - single parameters using attributes implementing IParameterDataSource. - - - - - Determines whether any data is available for a parameter. - - The parameter of a parameterized test - - - - Retrieves data for use with the supplied parameter. - - The parameter of a parameterized test - - - - SequentialStrategy creates test cases by using all of the - parameter data sources in parallel, substituting - when any of them run out of data. - - - - - Gets the test cases generated by the CombiningStrategy. - - The test cases. - - - - TestActionAfterCommand handles the AfterTest method of a single - TestActionItem, provided the items BeforeTest has been run. - - - - - Initializes a new instance of the class. - - The inner command. - The TestActionItem to run before the inner command. - - - - AfterCommand is a DelegatingTestCommand that performs some - specific action after the inner command is run. - - - - - Construct an AfterCommand - - - - - Execute the command - - - - - Set this to perform action after the inner command. - - - - - ContextSettingsCommand applies specified changes to the - TestExecutionContext prior to running a test. No special - action is needed after the test runs, since the prior - context will be restored automatically. - - - - - TestActionCommand handles a single ITestAction applied - to a test. It runs the BeforeTest method, then runs the - test and finally runs the AfterTest method. - - - - - Initializes a new instance of the class. - - The inner command. - - - - Runs the test, saving a TestResult in the supplied TestExecutionContext. - - The context in which the test should run. - A TestResult - - - - Perform the before test action - - - - - Perform the after test action - - - - - TestActionBeforeCommand handles the BeforeTest method of a single - TestActionItem, relying on the item to remember it has been run. - - - - - Initializes a new instance of the class. - - The inner command. - The TestActionItem to run before the inner command. - - - - BeforeTestCommand is a DelegatingTestCommand that performs some - specific action before the inner command is run. - - - - - Construct a BeforeCommand - - - - - Execute the command - - - - - Action to perform before the inner command. - - - - - ConstructFixtureCommand constructs the user test object if necessary. - - - - - Constructs a OneTimeSetUpCommand for a suite - - The inner command to which the command applies - - - - DelegatingTestCommand wraps an inner TestCommand. - Derived classes may do what they like before or - after running the inner command. - - - - TODO: Documentation needed for field - - - - Initializes a new instance of the class. - - The inner command. - - - - OneTimeTearDownCommand performs any teardown actions - specified for a suite and calls Dispose on the user - test object, if any. - - - - - Construct a OneTimeTearDownCommand - - The command wrapped by this command - - - - EmptyTestCommand is a TestCommand that does nothing. It simply - returns the current result from the context when executed. We - use it to avoid testing for null when executing a chain of - DelegatingTestCommands. - - - - - Construct a NullCommand for a test - - - - - Execute the command - - - - - ConstructFixtureCommand constructs the user test object if necessary. - - - - - Handles the construction and disposement of a fixture per test case - - The inner command to which the command applies - - - - adjusts the result of a successful test - to a failure if the elapsed time has exceeded the specified maximum - time allowed. - - - - - Initializes a new instance of the class. - - The inner command. - The max time allowed in milliseconds - - - - OneTimeSetUpCommand runs any one-time setup methods for a suite, - constructing the user test object if necessary. - - - - - Constructs a OneTimeSetUpCommand for a suite - - The inner command to which the command applies - A SetUpTearDownList for use by the command - - - - OneTimeTearDownCommand performs any teardown actions - specified for a suite and calls Dispose on the user - test object, if any. - - - - - Construct a OneTimeTearDownCommand - - The command wrapped by this command - A SetUpTearDownList for use by the command - - - - SetUpTearDownCommand runs SetUp methods for a suite, - runs the test and then runs TearDown methods. - - - - - Initializes a new instance of the class. - - The inner command. - List of setup/teardown items - - - - SetUpTearDownItem holds the setup and teardown methods - for a single level of the inheritance hierarchy. - - - - - Construct a SetUpTearDownNode - - A list of setup methods for this level - A list teardown methods for this level - A method validator to validate each method before calling. - - - - Returns true if this level has any methods at all. - This flag is used to discard levels that do nothing. - - - - - Run SetUp on this level. - - The execution context to use for running. - - - - Run TearDown for this level. - - - - - - TODO: Documentation needed for class - - - - - Initializes a new instance of the class. - - The test being skipped. - - - - Overridden to simply set the CurrentResult to the - appropriate Skipped state. - - The execution context for the test - A TestResult - - - - TestActionCommand handles a single ITestAction applied - to a test. It runs the BeforeTest method, then runs the - test and finally runs the AfterTest method. - - - - - Initializes a new instance of the class. - - The inner command. - The TestAction with which to wrap the inner command. - - - - TestActionItem wraps a single execution of an ITestAction. - Its primary purpose is to track whether the BeforeTest - method has been called and suppress calling the - AfterTest method if it has not. This is necessary when - ITestActions are used before and after a CompositeWorkItem, - since the OneTimeSetUpCommand and OneTimeTearDownCommand - are separate command chains. By sharing a TestActionItem - between the setup and teardown chains, the two calls can - be coordinated. - - - - - Construct a TestActionItem - - The ITestAction to be included - - - - Get flag indicating if the BeforeTest entry was already called. - - - - - Run the BeforeTest method of the action and remember that it has been run. - - The test to which the action applies - - - - Run the AfterTest action, but only if the BeforeTest - action was actually run. - - The test to which the action applies - - - - TestCommand is the abstract base class for all test commands - in the framework. A TestCommand represents a single stage in - the execution of a test, e.g.: SetUp/TearDown, checking for - Timeout, verifying the returned result from a method, etc. - - TestCommands may decorate other test commands so that the - execution of a lower-level command is nested within that - of a higher level command. All nested commands are executed - synchronously, as a single unit. Scheduling test execution - on separate threads is handled at a higher level, using the - task dispatcher. - - - - - Construct a TestCommand for a test. - - The test to be executed - - - - Gets the test associated with this command. - - - - - Runs the test in a specified context, returning a TestResult. - - The TestExecutionContext to be used for running the test. - A TestResult - - - - TestMethodCommand is the lowest level concrete command - used to run actual test cases. - - - - - Initializes a new instance of the class. - - The test. - - - - Runs the test, saving a TestResult in the execution context, as - well as returning it. If the test has an expected result, it - is asserts on that value. Since failed tests and errors throw - an exception, this command must be wrapped in an outer command, - will handle that exception and records the failure. This role - is usually played by the SetUpTearDown command. - - The execution context - - - - TheoryResultCommand adjusts the result of a Theory so that - it fails if all the results were inconclusive. - - - - - Constructs a TheoryResultCommand - - The command to be wrapped by this one - - - - creates a timer in order to cancel - a test if it exceeds a specified time and adjusts - the test result if it did time out. - - - - - Initializes a new instance of the class. - - The inner command - Timeout value - - - - Initializes a new instance of the class. - - The inner command - Timeout value - An instance - - - - Provides methods to support consistent checking in constraints. - - - - - Requires that the provided object is actually of the type required. - - The object to verify. - Name of the parameter as passed into the checking method. - - If and can be null, returns null rather than throwing when is null. - If cannot be null, this parameter is ignored. - The type to require. - - - - CultureDetector is a helper class used by NUnit to determine - whether a test should be run based on the current culture. - - - - - Default constructor uses the current culture. - - - - - Construct a CultureDetector for a particular culture for testing. - - The culture to be used - - - - Test to determine if one of a collection of cultures - is being used currently. - - - - - - - Tests to determine if the current culture is supported - based on a culture attribute. - - The attribute to examine - - - - - Test to determine if the a particular culture or comma- - delimited set of cultures is in use. - - Name of the culture or comma-separated list of culture ids - True if the culture is in use on the system - - - - Return the last failure reason. Results are not - defined if called before IsSupported( Attribute ) - is called. - - - - - Useful when wrapping awaiters whose GetResult method does not block until complete. - Contains a default mechanism to implement - via and . - - - - - ExceptionHelper provides static methods for working with exceptions - - - - - Rethrows an exception, preserving its stack trace - - The exception to rethrow - - - - Builds up a message, using the Message field of the specified exception - as well as any InnerExceptions. Optionally excludes exception names, - creating a more readable message. - - The exception. - Flag indicating whether exception names should be excluded. - A combined message string. - - - - Builds up a message, using the Message field of the specified exception - as well as any InnerExceptions. - - The exception. - A combined stack trace. - - - - Executes a parameterless synchronous or async delegate and returns the exception it throws, if any. - - - - - A CompositeWorkItem represents a test suite and - encapsulates the execution of the suite as well - as all its child tests. - - - - - List of Child WorkItems - - - - - Indicates whether this work item should use a separate dispatcher. - - - - - Construct a CompositeWorkItem for executing a test suite - using a filter to select child tests. - - The TestSuite to be executed - A filter used to select child tests - - - - Method that actually performs the work. Overridden - in CompositeWorkItem to do one-time setup, run all child - items and then dispatch the one-time teardown work item. - - - - - - - - - - Cancel (abort or stop) a CompositeWorkItem and all of its children - - true if the CompositeWorkItem and all of its children should be aborted, false if it should allow all currently running tests to complete - - - - OneTimeTearDownWorkItem represents the cleanup - and one-time teardown phase of a CompositeWorkItem - - - - - Construct a OneTimeTearDownWOrkItem wrapping a CompositeWorkItem - - The CompositeWorkItem being wrapped - - - - The WorkItem name, overridden to indicate this is the teardown. - - - - - The ExecutionStrategy for use in running this work item - - - - - - - - - - PerformWork is not used in CompositeWorkItem - - - - - WorkItemCancelled is called directly by the parallel dispatcher - when a test suite is left hanging after a forced StopRun. We - simulate WorkItemComplete() but without the ripple effect to - higher level suites, since we are controlling it all directly. - - - - - A simplified implementation of .NET 4 CountdownEvent - for use in earlier versions of .NET. Only the methods - used by NUnit are implemented. - - - - - Construct a CountdownEvent - - The initial count - - - - Gets the initial count established for the CountdownEvent - - - - - Gets the current count remaining for the CountdownEvent - - - - - Decrement the count by one - - - - - Decrement the count by the specified amount - - - - - Block the thread until the count reaches zero - - - - - EventListenerTextWriter sends text output to the currently active - ITestEventListener in the form of a TestOutput object. If no event - listener is active in the context, or if there is no context, - the output is forwarded to the supplied default writer. - - - - - Construct an EventListenerTextWriter - - The name of the stream to use for events - The default writer to use if no listener is available - - - - Get the Encoding for this TextWriter - - - - - Write formatted string - - - - - Write formatted string - - - - - Write formatted string - - - - - Write an object - - - - - Write a string - - - - - Write a decimal - - - - - Write a double - - - - - Write formatted string - - - - - Write a ulong - - - - - Write a long - - - - - Write a uint - - - - - Write an int - - - - - Write a char - - - - - Write a boolean - - - - - Write chars - - - - - Write chars - - - - - Write a float - - - - - Write a string with newline - - - - - Write an object with newline - - - - - Write formatted string with newline - - - - - Write formatted string with newline - - - - - Write formatted string with newline - - - - - Write a decimal with newline - - - - - Write a formatted string with newline - - - - - Write a double with newline - - - - - Write a uint with newline - - - - - Write a ulong with newline - - - - - Write a long with newline - - - - - Write an int with newline - - - - - Write a bool with newline - - - - - Write chars with newline - - - - - Write chars with newline - - - - - Write a char with newline - - - - - Write a float with newline - - - - - Write newline - - - - - The EventPumpState enum represents the state of an - EventPump. - - - - - The pump is stopped - - - - - The pump is pumping events with no stop requested - - - - - The pump is pumping events but a stop has been requested - - - - - EventPump pulls events out of an EventQueue and sends - them to a listener. It is used to send events back to - the client without using the CallContext of the test - runner thread. - - - - - The downstream listener to which we send events - - - - - The queue that holds our events - - - - - Thread to do the pumping - - - - - The current state of the event pump - - - - - Constructor - - The EventListener to receive events - The event queue to pull events from - - - - Gets or sets the current state of the pump - - - - - Gets or sets the name of this EventPump - (used only internally and for testing). - - - - - Dispose stops the pump - Disposes the used WaitHandle, too. - - - - - Start the pump - - - - - Tell the pump to stop after emptying the queue. - - - - - Our thread proc for removing items from the event - queue and sending them on. Note that this would - need to do more locking if any other thread were - removing events from the queue. - - - - - NUnit.Core.Event is the abstract base for all stored events. - An Event is the stored representation of a call to the - ITestListener interface and is used to record such calls - or to queue them for forwarding on another thread or at - a later time. - - - - - The Send method is implemented by derived classes to send the event to the specified listener. - - The listener. - - - - TestStartedEvent holds information needed to call the TestStarted method. - - - - - Initializes a new instance of the class. - - The test. - - - - Calls TestStarted on the specified listener. - - The listener. - - - - TestFinishedEvent holds information needed to call the TestFinished method. - - - - - Initializes a new instance of the class. - - The result. - - - - Calls TestFinished on the specified listener. - - The listener. - - - - TestOutputEvent holds information needed to call the TestOutput method. - - - - - Initializes a new instance of the class. - - The output object. - - - - Calls TestOutput on the specified listener. - - The listener. - - - - TestMessageEvent holds information needed to call the SendMessage method. - - - - - Initializes a new instance of the class. - - The test message object. - - - - Calls on the specified listener. - - The listener. - - - - Holds object for sending to all listeners - - - - - Implements a queue of work items each of which - is queued as a WaitCallback. - - - - - Gets the count of items in the queue. - - - - - Enqueues the specified event - - The event to enqueue. - - - - Removes the first element from the queue and returns it (or ). - - - If and the queue is empty, the calling thread is blocked until - either an element is enqueued, or is called. - - - - - If the queue not empty - the first element. - - - otherwise, if == - or has been called - . - - - - - - - Stop processing of the queue - - - - - Validates method to execute. - - - - - Determines whether a method is allowed to execute and throws an exception otherwise. - - The method to validate. - - - - An IWorkItemDispatcher handles execution of work items. - - - - - The level of parallelism supported. Zero if not supported. - - - - - Start execution, performing any initialization. Sets - the top level work item and dispatches it. - - - - - Dispatch a single work item for execution. The first - work item dispatched is saved as the top-level - work item and used when stopping the run. - - The item to dispatch - - - - Cancel the ongoing run completely. - If no run is in process, the call has no effect. - - true if the IWorkItemDispatcher should abort all currently running WorkItems, false if it should allow all currently running WorkItems to complete - - - - MainThreadWorkItemDispatcher handles execution of WorkItems by - directly executing them on the main thread. This is different - from the SimpleWorkItemDispatcher where the work item is dispatched - onto its own thread. - - - - - The level of parallelism supported - - - - - Start execution, dispatching the top level - work into the main thread. - - - - - Dispatch a single work item for execution by - executing it directly. - - The item to dispatch - - - - This method is not supported for - this dispatcher. Using it will throw a - NotSupportedException. - - Not used - If used, it will always throw this. - - - - Enumeration representing the strategy to follow in executing a work item. - The value is only relevant when running under the parallel dispatcher. - - - - - Run directly on same thread - - - - - Enqueue for parallel execution - - - - - Enqueue for non-parallel execution - - - - - ParallelWorkItemDispatcher handles execution of work items by - queuing them for worker threads to process. - - - - - Event raised whenever a shift is starting. - - - - - Event raised whenever a shift has ended. - - - - - Construct a ParallelWorkItemDispatcher - - Number of workers to use - - - - Number of parallel worker threads - - - - - Enumerates all the shifts supported by the dispatcher - - - - - Enumerates all the Queues supported by the dispatcher - - - - - Start execution, setting the top level work, - enqueuing it and starting a shift to execute it. - - - - - Dispatch a single work item for execution. The first - work item dispatched is saved as the top-level - work item and used when stopping the run. - - The item to dispatch - - - - Cancel the ongoing run completely. - If no run is in process, the call has no effect. - - - - - Save the state of the queues and create a new isolated set - - - - - Try to remove isolated queues and restore old ones - - - - - QueuingEventListener uses an EventQueue to store any - events received on its EventListener interface. - - - - - The EventQueue created and filled by this listener - - - - - Construct a QueuingEventListener - - - - - A test has started - - The test that is starting - - - - A test case finished - - Result of the test case - - - - Called when a test produces output for immediate display - - A TestOutput object containing the text to display - - - - Called when a test produces a message to be sent to listeners - - A object containing the text to send - - - - A SimpleWorkItem represents a single test case and is - marked as completed immediately upon execution. This - class is also used for skipped or ignored test suites. - - - - - Construct a simple work item for a test. - - The test to be executed - The filter used to select this test - - - - Construct a simple work item for a test. - - The test to be executed - The filter used to select this test - An instance - - - - Method that performs actually performs the work. - - - - - Creates a test command for use in running this test. - - A TestCommand - - - - SimpleWorkItemDispatcher handles execution of WorkItems by - directly executing them. It is provided so that a dispatcher - is always available in the context, thereby simplifying the - code needed to run child tests. - - - - - The level of parallelism supported - - - - - Start execution, creating the execution thread, - setting the top level work and dispatching it. - - - - - Dispatch a single work item for execution by - executing it directly. - - The item to dispatch - - - - Cancel (abort or stop) the ongoing run. - If no run is in process, the call has no effect. - - true if the run should be aborted, false if it should allow its currently running test to complete - - - - Checks whether the method to execute is static. - - - - - Construct a StaticMethodValidator. - - The error message to output in case the validation fails. - - - - Determines whether a method to execute is static and throws an InvalidOperationException otherwise. - - The method to validate. - - - - A TestWorker pulls work items from a queue - and executes them. - - - - - Event handler for TestWorker events - - The TestWorker sending the event - The WorkItem that caused the event - - - - Event signaled immediately before executing a WorkItem - - - - - Event signaled immediately after executing a WorkItem - - - - - Construct a new TestWorker. - - The queue from which to pull work items - The name of this worker - - - - The WorkItemQueue from which this worker pulls WorkItems - - - - - The name of this worker - also used for the thread - - - - - Indicates whether the worker thread is running - - - - - Our ThreadProc, which pulls and runs tests in a loop - - - - - Create thread and start processing work items. - - - - - Stop the thread, either immediately or after finishing the current WorkItem - - true if the thread should be aborted, false if it should allow the currently running test to complete - - - - The TextCapture class intercepts console output and writes it - to the current execution context, if one is present on the thread. - If no execution context is found, the output is written to a - default destination, normally the original destination of the - intercepted output. - - - - - Construct a TextCapture object - - The default destination for non-intercepted output - - - - Gets the Encoding in use by this TextWriter - - - - - Writes a single character - - The char to write - - - - Writes a string - - The string to write - - - - Writes a string followed by a line terminator - - The string to write - - - - A WorkItem may be an individual test case, a fixture or - a higher level grouping of tests. All WorkItems inherit - from the abstract WorkItem class, which uses the template - pattern to allow derived classes to perform work in - whatever way is needed. - - A WorkItem is created with a particular TestExecutionContext - and is responsible for re-establishing that context in the - current thread before it begins or resumes execution. - - - - - Construct a WorkItem for a particular test. - - The test that the WorkItem will run - Filter used to include or exclude child items - - - - Construct a work Item that wraps another work Item. - Wrapper items are used to represent independently - dispatched tasks, which form part of the execution - of a single test, such as OneTimeTearDown. - - The WorkItem being wrapped - - - - Initialize the TestExecutionContext. This must be done - before executing the WorkItem. - - - Originally, the context was provided in the constructor - but delaying initialization of the context until the item - is about to be dispatched allows changes in the parent - context during OneTimeSetUp to be reflected in the child. - - The TestExecutionContext to use - - - - Event triggered when the item is complete - - - - - Gets the current state of the WorkItem - - - - - The test being executed by the work item - - - - - The name of the work item - defaults to the Test name. - - - - - Filter used to include or exclude child tests - - - - - The execution context - - - - - The worker executing this item. - - - - - The ParallelExecutionStrategy to use for this work item - - - - - Indicates whether this work item should use a separate dispatcher. - - - - - The test result - - - - - Gets the ParallelScope associated with the test, if any, - otherwise returning ParallelScope.Default; - - - - - Execute the current work item, including any - child work items. - - - - - Wait until the execution of this item is complete - - - - - Marks the WorkItem as NotRunnable. - - Reason for test being NotRunnable. - - - - Cancel (abort or stop) a WorkItem - - true if the WorkItem should be aborted, false if it should run to completion - - - - Standard Dispose - - - - - Method that performs actually performs the work. It should - set the State to WorkItemState.Complete when done. - - - - - Method called by the derived class when all work is complete - - - - - Builds the set up tear down list. - - Unsorted array of setup MethodInfos. - Unsorted array of teardown MethodInfos. - Method validator used before each method execution. - A list of SetUpTearDownItems - - - - Changes the result of the test, logging the old and new states - - The new ResultState - The new message - - - - Recursively walks up the test hierarchy to see if the - has been set on any of the parent tests. - - - - - WorkItemBuilder class knows how to build a tree of work items from a tree of tests - - - - - Creates a work item. - - The test for which this WorkItem is being created. - The filter to be used in selecting any child Tests. - True if child work items should be created and added. - - - - - Creates a work item. - - The test for which this WorkItem is being created. - The filter to be used in selecting any child Tests. - An instance. - True if child work items should be created and added. - if work item needs to be created unconditionally, if will be returned for tests that don't match the filter. - - - - - Compares two objects and returns a value indicating whether one is less than, equal to, or greater than the other. - - - A signed integer that indicates the relative values of and , as shown in the following table.Value Meaning Less than zero is less than .Zero equals .Greater than zero is greater than . - - The first object to compare.The second object to compare. - - - - WorkItemQueueState indicates the current state of a WorkItemQueue - - - - - The queue is paused - - - - - The queue is running - - - - - The queue is stopped - - - - - A WorkItemQueue holds work items that are ready to - be run, either initially or after some dependency - has been satisfied. - - - - - Initializes a new instance of the class. - - The name of the queue. - Flag indicating whether this is a parallel queue - ApartmentState to use for items on this queue - - - - Gets the name of the work item queue. - - - - - Gets a flag indicating whether this queue is used for parallel execution - - - - - Gets the target ApartmentState for work items on this queue - - - - - Gets the total number of items processed so far - - - - - Gets the current state of the queue - - - - - Get a bool indicating whether the queue is empty. - - - - - Enqueue a WorkItem to be processed - - The WorkItem to process - - - - Enqueue a WorkItem to be processed - internal for testing - - The WorkItem to process - The priority at which to process the item - - - - Dequeue a WorkItem for processing - - A WorkItem or null if the queue has stopped - - - - Start or restart processing of items from the queue - - - - - Signal the queue to stop - - - - - Pause the queue for restarting later - - - - - Save the current inner queue and create new ones for use by - a non-parallel fixture with parallel children. - - - - - Restore the inner queue that was previously saved - - - - - The current state of a work item - - - - - Ready to run or continue - - - - - Work Item is executing - - - - - Complete - - - - - Handler for ShiftChange events. - - The shift that is starting or ending. - - - - The dispatcher needs to do different things at different, - non-overlapped times. For example, non-parallel tests may - not be run at the same time as parallel tests. We model - this using the metaphor of a working shift. The WorkShift - class associates one or more WorkItemQueues with one or - more TestWorkers. - - Work in the queues is processed until all queues are empty - and all workers are idle. Both tests are needed because a - worker that is busy may end up adding more work to one of - the queues. At that point, the shift is over and another - shift may begin. This cycle continues until all the tests - have been run. - - - - - Construct a WorkShift - - - - - Event that fires when the shift has ended - - - - - The Name of this shift - - - - - Gets a flag indicating whether the shift is currently active - - - - - Gets a bool indicating whether this shift has any work to do - - - - - Gets a list of the queues associated with this shift. - - Internal for testing - immutable once initialized - - - - Gets the list of workers associated with this shift. - - Internal for testing - immutable once initialized - - - - Add a WorkItemQueue to the shift, starting it if the - shift is currently active. - - - - - Assign a worker to the shift. - - - - - - Start or restart processing for the shift - - - - - End the shift, pausing all queues and raising - the EndOfShift event. - - - - - Shut down the shift. - - - - - Cancel (abort or stop) the shift without completing all work - - true if the WorkShift should be aborted, false if it should allow its currently running tests to complete - - - - TextMessageWriter writes constraint descriptions and messages - in displayable form as a text stream. It tailors the display - of individual message components to form the standard message - format of NUnit assertion failure messages. - - - - - Prefix used for the expected value line of a message - - - - - Prefix used for the actual value line of a message - - - - - Prefix used for the actual difference between actual and expected values if compared with a tolerance - - - - - Length of a message prefix - - - - - Construct a TextMessageWriter - - - - - Construct a TextMessageWriter, specifying a user message - and optional formatting arguments. - - - - - - - Gets or sets the maximum line length for this writer - - - - - Method to write single line message with optional args, usually - written to precede the general failure message, at a given - indentation level. - - The indentation level of the message - The message to be written - Any arguments used in formatting the message - - - - Display Expected and Actual lines for a constraint. This - is called by MessageWriter's default implementation of - WriteMessageTo and provides the generic two-line display. - - The result of the constraint that failed - - - - Gets the unique type name between expected and actual. - - The expected value - The actual value causing the failure - Output of the unique type name for expected - Output of the unique type name for actual - - - - Display Expected and Actual lines for given values. This - method may be called by constraints that need more control over - the display of actual and expected values than is provided - by the default implementation. - - The expected value - The actual value causing the failure - - - - Display Expected and Actual lines for given values, including - a tolerance value on the expected line. - - The expected value - The actual value causing the failure - The tolerance within which the test was made - - - - Display the expected and actual string values on separate lines. - If the mismatch parameter is >=0, an additional line is displayed - line containing a caret that points to the mismatch point. - - The expected string value - The actual string value - The point at which the strings don't match or -1 - If true, case is ignored in string comparisons - If true, clip the strings to fit the max line length - - - - Writes the text for an actual value. - - The actual value. - - - - Writes the text for a generalized value. - - The value. - - - - Writes the text for a collection value, - starting at a particular point, to a max length - - The collection containing elements to write. - The starting point of the elements to write - The maximum number of elements to write - - - - Write the generic 'Expected' line for a constraint - - The constraint that failed - - - - Write the generic 'Expected' line for a given value - and tolerance. - - The expected value - The tolerance within which the test was made - - - - Write the generic 'Actual' line for a constraint - - The ConstraintResult for which the actual value is to be written - - - - Write the generic 'Actual' line for a given value - - The actual value causing a failure - - - - Extensions to . - - - - - Adds the skip reason to tests that are ignored until a specific date. - - The test properties to add the skip reason to - The date that the test is being ignored until - The reason the test is being ignored until that date - - - - Combines multiple filters so that a test must pass all - of them in order to pass this filter. - - - - - Constructs an empty AndFilter - - - - - Constructs an AndFilter from an array of filters - - - - - - Checks whether the AndFilter is matched by a test - - The test to be matched - If set to we are carrying a negation through - True if all the component filters pass, otherwise false - - - - Checks whether the AndFilter is matched by a test - - The test to be matched - True if all the component filters match, otherwise false - - - - Checks whether the AndFilter is explicit matched by a test. - - The test to be matched - True if all the component filters explicit match, otherwise false - - - - Gets the element name - - Element name - - - - CategoryFilter is able to select or exclude tests - based on their categories. - - - - - Construct a CategoryFilter using a single category name - - A category name - - - - Check whether the filter matches a test - - The test to be matched - - - - - Gets the element name - - Element name - - - - ClassName filter selects tests based on the class FullName - - - - - Construct a FullNameFilter for a single name - - The name the filter will recognize. - - - - Match a test against a single value. - - - - - Gets the element name - - Element name - - - - A base class for multi-part filters - - - - - Constructs an empty CompositeFilter - - - - - Constructs a CompositeFilter from an array of filters - - - - - - Return a list of the composing filters. - - - - - Checks whether the CompositeFilter is matched by a test. - - The test to be matched - If set to we are carrying a negation through - - - - Checks whether the CompositeFilter is matched by a test. - - The test to be matched - - - - Checks whether the CompositeFilter is explicit matched by a test. - - The test to be matched - - - - Adds an XML node - - Parent node - True if recursive - The added XML node - - - - Gets the element name - - Element name - - - - FullName filter selects tests based on their FullName - - - - - Construct a FullNameFilter for a single name - - The name the filter will recognize. - - - - Match a test against a single value. - - - - - Gets the element name - - Element name - - - - IdFilter selects tests based on their id - - - - - Construct an IdFilter for a single value - - The id the filter will recognize. - - - - Match a test against a single value. - - - - - Gets the element name - - Element name - - - - FullName filter selects tests based on their FullName - - - - - Construct a MethodNameFilter for a single name - - The name the filter will recognize. - - - - Match a test against a single value. - - - - - Gets the element name - - Element name - - - - ClassName filter selects tests based on the class FullName - - - - - Construct a NamespaceFilter for a single namespace - - The namespace the filter will recognize. - - - - Match a test against a single value. - - - - - Gets the element name - - Element name - - - - NotFilter negates the operation of another filter - - - - - Construct a not filter on another filter - - The filter to be negated - - - - Gets the base filter - - - - - Determine if a particular test passes the filter criteria. - - The test to which the filter is applied - If set to we are carrying a negation through - True if the test passes the filter, otherwise false - - - - Check whether the filter matches a test - - The test to be matched - True if it matches, otherwise false - - - - Determine if a test matches the filter explicitly. That is, it must - be a direct match of the test itself or one of its children. - - The test to which the filter is applied - True if the test matches the filter explicitly, otherwise false - - - - Adds an XML node - - Parent node - True if recursive - The added XML node - - - - Combines multiple filters so that a test must pass one - of them in order to pass this filter. - - - - - Constructs an empty OrFilter - - - - - Constructs an OrFilter from an array of filters - - - - - - Checks whether the OrFilter is matched by a test - - The test to be matched - If set to we are carrying a negation through - True if any of the component filters pass, otherwise false - - - - Checks whether the OrFilter is matched by a test - - The test to be matched - True if any of the component filters match, otherwise false - - - - Checks whether the OrFilter is explicit matched by a test - - The test to be matched - True if any of the component filters explicit match, otherwise false - - - - Gets the element name - - Element name - - - - PropertyFilter is able to select or exclude tests - based on their properties. - - - - - Construct a PropertyFilter using a property name and expected value - - A property name - The expected value of the property - - - - Check whether the filter matches a test - - The test to be matched - - - - - Adds an XML node - - Parent node - True if recursive - The added XML node - - - - Gets the element name - - Element name - - - - TestName filter selects tests based on their Name - - - - - Construct a TestNameFilter for a single name - - The name the filter will recognize. - - - - Match a test against a single value. - - - - - Gets the element name - - Element name - - - - ValueMatchFilter selects tests based on some value, which - is expected to be contained in the test. - - - - - Returns the value matched by the filter - used for testing - - - - - Indicates whether the value is a regular expression - - - - - Construct a ValueMatchFilter for a single value. - - The value to be included. - - - - Match the input provided by the derived class - - The value to be matched - True for a match, false otherwise. - - - - Adds an XML node - - Parent node - True if recursive - The added XML node - - - - Gets the element name - - Element name - - - - GenericMethodHelper is able to deduce the Type arguments for - a generic method from the actual arguments provided. - - - - - A special value, which is used to indicate that BestCommonType() method - was unable to find a common type for the specified arguments. - - - - - Construct a GenericMethodHelper for a method - - MethodInfo for the method to examine - - - - Return the type arguments for the method, deducing them - from the arguments actually provided. - - The arguments to the method - If successful, an array of type arguments. - - - - A minimalistic implementation of an immutable stack. Add members as needed. - - - - - Represents an empty stack. may be used instead. - - - - - Returns a new immutable stack which begins with the specified value and continues with the values in the - current stack. - - The beginning value of the new stack. - - - - InvalidTestFixtureException is thrown when an appropriate test - fixture constructor using the provided arguments cannot be found. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The message. - - - - Initializes a new instance of the class. - - The message. - The inner. - - - - Serialization Constructor - - - - - InvalidPlatformException is thrown when the platform name supplied - to a test is not recognized. - - - - - Instantiates a new instance of the class. - - - - - Instantiates a new instance of the class - - The message. - - - - Instantiates a new instance of the class - - The message. - The inner. - - - - Serialization constructor for the class - - - - - InvalidTestFixtureException is thrown when an appropriate test - fixture constructor using the provided arguments cannot be found. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The message. - - - - Initializes a new instance of the class. - - The message. - The inner. - - - - Serialization Constructor - - - - - Interface for logging within the engine - - - - - Logs the specified message at the error level. - - The message. - - - - Logs the specified message at the error level. - - The message. - The arguments. - - - - Logs the specified message at the warning level. - - The message. - - - - Logs the specified message at the warning level. - - The message. - The arguments. - - - - Logs the specified message at the info level. - - The message. - - - - Logs the specified message at the info level. - - The message. - The arguments. - - - - Logs the specified message at the debug level. - - The message. - - - - Logs the specified message at the debug level. - - The message. - The arguments. - - - - InternalTrace provides facilities for tracing the execution - of the NUnit framework. Tests and classes under test may make use - of Console writes, System.Diagnostics.Trace or various loggers and - NUnit itself traps and processes each of them. For that reason, a - separate internal trace is needed. - - Note: - InternalTrace uses a global lock to allow multiple threads to write - trace messages. This can easily make it a bottleneck so it must be - used sparingly. Keep the trace Level as low as possible and only - insert InternalTrace writes where they are needed. - TODO: add some buffering and a separate writer thread as an option. - TODO: figure out a way to turn on trace in specific classes only. - - - - - Gets a flag indicating whether the InternalTrace is initialized - - - - - Initialize the internal trace facility using the name of the log - to be written to and the trace level. - - The log name - The trace level - - - - Initialize the internal trace using a provided TextWriter and level - - A TextWriter - The InternalTraceLevel - - - - Get a named Logger - - - - - - Get a logger named for a particular Type. - - - - - InternalTraceLevel is an enumeration controlling the - level of detailed presented in the internal log. - - - - - Use the default settings as specified by the user. - - - - - Do not display any trace messages - - - - - Display Error messages only - - - - - Display Warning level and higher messages - - - - - Display informational and higher messages - - - - - Display debug messages and higher - i.e. all messages - - - - - Display debug messages and higher - i.e. all messages - - - - - A trace listener that writes to a separate file per domain - and process using it. - - - - - Construct an InternalTraceWriter that writes to a file. - - Path to the file to use - - - - Construct an InternalTraceWriter that writes to a - TextWriter provided by the caller. - - - - - - Returns the character encoding in which the output is written. - - The character encoding in which the output is written. - - - - Writes a character to the text string or stream. - - The character to write to the text stream. - - - - Writes a string to the text string or stream. - - The string to write. - - - - Writes a string followed by a line terminator to the text string or stream. - - The string to write. If is null, only the line terminator is written. - - - - Releases the unmanaged resources used by the and optionally releases the managed resources. - - true to release both managed and unmanaged resources; false to release only unmanaged resources. - - - - Clears all buffers for the current writer and causes any buffered data to be written to the underlying device. - - - - - Provides internal logging to the NUnit framework - - - - - Initializes a new instance of the class. - - The name. - The log level. - The writer where logs are sent. - - - - Logs the message at error level. - - The message. - - - - Logs the message at error level. - - The message. - The message arguments. - - - - Logs the message at warm level. - - The message. - - - - Logs the message at warning level. - - The message. - The message arguments. - - - - Logs the message at info level. - - The message. - - - - Logs the message at info level. - - The message. - The message arguments. - - - - Logs the message at debug level. - - The message. - - - - Logs the message at debug level. - - The message. - The message arguments. - - - - The MethodWrapper class wraps a MethodInfo so that it may - be used in a platform-independent manner. - - - - - Construct a MethodWrapper for a Type and a MethodInfo. - - - - - Construct a MethodInfo for a given Type and method name. - - - - - Gets the Type from which this method was reflected. - - - - - Gets the MethodInfo for this method. - - - - - Gets the name of the method. - - - - - Gets a value indicating whether the method is abstract. - - - - - Gets a value indicating whether the method is public. - - - - - Gets a value indicating whether the method is static. - - - - - Gets a value indicating whether the method contains unassigned generic type parameters. - - - - - Gets a value indicating whether the method is a generic method. - - - - - Gets a value indicating whether the MethodInfo represents the definition of a generic method. - - - - - Gets the return Type of the method. - - - - - Gets the parameters of the method. - - - - - - Returns the Type arguments of a generic method or the Type parameters of a generic method definition. - - - - - Replaces the type parameters of the method with the array of types provided and returns a new IMethodInfo. - - The type arguments to be used - A new IMethodInfo with the type arguments replaced - - - - Returns an array of custom attributes of the specified type applied to this method - - - - - Gets a value indicating whether one or more attributes of the specified type are defined on the method. - - - - - Invokes the method, converting any TargetInvocationException to an NUnitException. - - The object on which to invoke the method - The argument list for the method - The return value from the invoked method - - - - Override ToString() so that error messages in NUnit's own tests make sense - - - - - This class ensures the is correctly cleared - or restored around framework actions. This is important if running multiple assemblies within the same - process, to ensure no leakage from one assembly to the next. See https://github.com/nunit/nunit-console/issues/325 - - - - - Thrown when an assertion failed. Here to preserve the inner - exception and hence its stack trace. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The error message that explains - the reason for the exception - - - - Initializes a new instance of the class. - - The error message that explains - the reason for the exception - The exception that caused the - current exception - - - - Serialization Constructor - - - - - Enables the syntax. - - - - - Wraps an action so that it is executed when the returned object is disposed. - This disposal is thread-safe and the action will be executed at most once. - - - - - OSPlatform represents a particular operating system platform - - - - - Platform ID for Unix as defined by .NET - - - - - Platform ID for Unix as defined by Mono - - - - - Platform ID for XBox as defined by .NET and Mono - - - - - Platform ID for MacOSX as defined by .NET and Mono - - - - - Get the OSPlatform under which we are currently running - - - - - Gets the actual OS Version, not the incorrect value that might be - returned for Win 8.1 and Win 10 - - - If an application is not manifested as Windows 8.1 or Windows 10, - the version returned from Environment.OSVersion will not be 6.3 and 10.0 - respectively, but will be 6.2 and 6.3. The correct value can be found in - the registry. - - The original version - The correct OS version - - - - Product Type Enumeration used for Windows - - - - - Product type is unknown or unspecified - - - - - Product type is Workstation - - - - - Product type is Domain Controller - - - - - Product type is Server - - - - - Construct from a platform ID and version - - - - - Construct from a platform ID, version and product type - - - - - Get the platform ID of this instance - - - - - Implemented to use in place of Environment.OSVersion.ToString() - - A representation of the platform ID and version in an approximation of the format used by Environment.OSVersion.ToString() - - - - Get the Version of this instance - - - - - Get the Product Type of this instance - - - - - Return true if this is a windows platform - - - - - Return true if this is a Unix or Linux platform - - - - - Return true if the platform is Win32S - - - - - Return true if the platform is Win32Windows - - - - - Return true if the platform is Win32NT - - - - - Return true if the platform is Windows CE - - - - - Return true if the platform is Xbox - - - - - Return true if the platform is MacOSX - - - - - Return true if the platform is Windows 95 - - - - - Return true if the platform is Windows 98 - - - - - Return true if the platform is Windows ME - - - - - Return true if the platform is NT 3 - - - - - Return true if the platform is NT 4 - - - - - Return true if the platform is NT 5 - - - - - Return true if the platform is Windows 2000 - - - - - Return true if the platform is Windows XP - - - - - Return true if the platform is Windows 2003 Server - - - - - Return true if the platform is NT 6 - - - - - Return true if the platform is NT 6.0 - - - - - Return true if the platform is NT 6.1 - - - - - Return true if the platform is NT 6.2 - - - - - Return true if the platform is NT 6.3 - - - - - Return true if the platform is Vista - - - - - Return true if the platform is Windows 2008 Server (original or R2) - - - - - Return true if the platform is Windows 2008 Server (original) - - - - - Return true if the platform is Windows 2008 Server R2 - - - - - Return true if the platform is Windows 2012 Server (original or R2) - - - - - Return true if the platform is Windows 2012 Server (original) - - - - - Return true if the platform is Windows 2012 Server R2 - - - - - Return true if the platform is Windows 7 - - - - - Return true if the platform is Windows 8 - - - - - Return true if the platform is Windows 8.1 - - - - - Return true if the platform is Windows 10 - - - - - Return true if the platform is Windows Server. This is named Windows - Server 10 to distinguish it from previous versions of Windows Server. - - - - - - Examines an attribute argument and tries to simulate what that value would have been if the literal syntax - which might have defined the value in C# had instead been used as an argument to a given method parameter in a direct call. - - - For example, since you can’t apply attributes using arguments, we allow the C# syntax - 10 ( value) or 0.1 ( value) to be specified. - NUnit then converts it to match the method’s parameters, just as if you were actually - using the syntax TestMethod(10) or TestMethod(0.1). - - - For another example, you might have written the syntax 10 and picked up the attribute - constructor overload; however, the test method for which this value is intended only has a - signature. Again, NUnit simulates what would have happened if the inferred C# syntax was transplanted - and you were actually using the syntax TestMethod(10). - - - - - - Converts an array of objects to the , if it is supported. - - - - - Converts a single value to the , if it is supported. - - - - - Performs several special conversions allowed by NUnit in order to - permit arguments with types that cannot be used in the constructor - of an Attribute such as TestCaseAttribute or to simplify their use. - - The value to be converted - The target in which the should be converted - If conversion was successfully applied, the converted into - - if was converted and should be used; - is no conversion was applied and should be ignored - - - - - The ParameterWrapper class wraps a ParameterInfo so that it may - be used in a platform-independent manner. - - - - - Construct a ParameterWrapper for a given method and parameter - - - - - - - Gets a value indicating whether the parameter is optional - - - - - Gets an IMethodInfo representing the method for which this is a parameter. - - - - - Gets the underlying ParameterInfo - - - - - Gets the Type of the parameter - - - - - Returns an array of custom attributes of the specified type applied to this method - - - - - Gets a value indicating whether one or more attributes of the specified type are defined on the parameter. - - - - - PlatformHelper class is used by the PlatformAttribute class to - determine whether a platform is supported. - - - - - Comma-delimited list of all supported OS platform constants - - - - - Comma-delimited list of all supported Runtime platform constants - - - - - Default constructor uses the operating system and - common language runtime of the system. - - - - - Construct a PlatformHelper for a particular operating - system and common language runtime. Used in testing. - - RuntimeFramework to be used - OperatingSystem to be used - - - - Test to determine if one of a collection of platforms - is being used currently. - - - - - - - Tests to determine if the current platform is supported - based on a platform attribute. - - The attribute to examine - - - - - Tests to determine if the current platform is supported - based on a platform attribute. - - The attribute to examine - - - - - Test to determine if a particular platform or comma-delimited set of platforms is in use. - - Name of the platform or comma-separated list of platform ids - True if the platform is in use on the system - - - - Return the last failure reason. Results are not - defined if called before IsSupported( Attribute ) - is called. - - - - - Implements a simplified filter for use in deciding which - Types and Methods should be used to generate tests. It is constructed with a - list of strings, each of which may end up being interpreted in various ways. - - - - - Return a new PreFilter, without elements, which is considered - empty and always matches. - - - - - Return true if the filter is empty, in which case it - always succeeds. Technically, this is just a filter and - you can add elements but it's best to use Empty when - you need an empty filter and new when you plan to add. - - - - - Add a new filter element to the filter - - - - - - Use the filter on a Type, returning true if the type matches the filter - and should therefore be included in the discovery process. - - - - - Use the filter on a Type, returning true if the type matches the filter - and should therefore be included in the discovery process. - - - - - A PropertyBag represents a collection of name value pairs - that allows duplicate entries with the same key. Methods - are provided for adding a new pair as well as for setting - a key to a single value. All keys are strings but values - may be of any type. Null values are not permitted, since - a null entry represents the absence of the key. - - - - - Adds a key/value pair to the property set - - The key - The value - - - - Sets the value for a key, removing any other - values that are already in the property set. - - - - - - - Gets a single value for a key, using the first - one if multiple values are present and returning - null if the value is not found. - - - - - - - Gets a flag indicating whether the specified key has - any entries in the property set. - - The key to be checked - - True if their are values present, otherwise false - - - - - Gets a collection containing all the keys in the property set - - - - - - Gets or sets the list of values for a particular key - - - - - Returns an XmlNode representing the current PropertyBag. - - Not used - An XmlNode representing the PropertyBag - - - - Returns an XmlNode representing the PropertyBag after - adding it as a child of the supplied parent node. - - The parent node. - Not used - - - - - The PropertyNames class provides static constants for the - standard property ids that NUnit uses on tests. - - - - - The FriendlyName of the AppDomain in which the assembly is running - - - - - The selected strategy for joining parameter data into test cases - - - - - The process ID of the executing assembly - - - - - The stack trace from any data provider that threw - an exception. - - - - - The reason a test was not run - - - - - The author of the tests - - - - - The ApartmentState required for running the test - - - - - The categories applying to a test - - - - - The Description of a test - - - - - The number of threads to be used in running tests - - - - - The maximum time in ms, above which the test is considered to have failed - - - - - The ParallelScope associated with a test - - - - - The number of times the test should be repeated - - - - - Indicates that the test should be run on a separate thread - - - - - The culture to be set for a test - - - - - The UI culture to be set for a test - - - - - The type that is under test - - - - - The timeout value for the test - - - - - The test will be ignored until the given date - - - - - The optional Order the test will run in - - - - - Randomizer returns a set of random values in a repeatable - way, to allow re-running of tests if necessary. It extends - the .NET Random class, providing random values for a much - wider range of types. - - The class is used internally by the framework to generate - test case data and is also exposed for use by users through - the TestContext.Random property. - - - For consistency with the underlying Random Type, methods - returning a single value use the prefix "Next..." Those - without an argument return a non-negative value up to - the full positive range of the Type. Overloads are provided - for specifying a maximum or a range. Methods that return - arrays or strings use the prefix "Get..." to avoid - confusion with the single-value methods. - - - - - Initial seed used to create randomizers for this run - - - - - Get a Randomizer for a particular member, returning - one that has already been created if it exists. - This ensures that the same values are generated - each time the tests are reloaded. - - - - - Get a randomizer for a particular parameter, returning - one that has already been created if it exists. - This ensures that the same values are generated - each time the tests are reloaded. - - - - - Create a new Randomizer using the next seed - available to ensure that each randomizer gives - a unique sequence of values. - - - - - - Default constructor - - - - - Construct based on seed value - - - - - - Returns a random unsigned int. - - - - - Returns a random unsigned int less than the specified maximum. - - - - - Returns a random unsigned int within a specified range. - - - - - Returns a non-negative random short. - - - - - Returns a non-negative random short less than the specified maximum. - - - - - Returns a non-negative random short within a specified range. - - - - - Returns a random unsigned short. - - - - - Returns a random unsigned short less than the specified maximum. - - - - - Returns a random unsigned short within a specified range. - - - - - Returns a random long. - - - - - Returns a random long less than the specified maximum. - - - - - Returns a non-negative random long within a specified range. - - - - - Returns a random ulong. - - - - - Returns a random ulong less than the specified maximum. - - - - - Returns a non-negative random long within a specified range. - - - - - Returns a random Byte - - - - - Returns a random Byte less than the specified maximum. - - - - - Returns a random Byte within a specified range - - - - - Returns a random SByte - - - - - Returns a random sbyte less than the specified maximum. - - - - - Returns a random sbyte within a specified range - - - - - Returns a random bool - - - - - Returns a random bool based on the probability a true result - - - - - Returns a random double between 0.0 and the specified maximum. - - - - - Returns a random double within a specified range. - - - - - Returns a random float. - - - - - Returns a random float between 0.0 and the specified maximum. - - - - - Returns a random float within a specified range. - - - - - Returns a random enum value of the specified Type as an object. - - - - - Returns a random enum value of the specified Type. - - - - - Default characters for random functions. - - Default characters are the English alphabet (uppercase & lowercase), Arabic numerals, and underscore - - - - Generate a random string based on the characters from the input string. - - desired length of output string. - string representing the set of characters from which to construct the resulting string - A random string of arbitrary length - - - - Generate a random string based on the characters from the input string. - - desired length of output string. - A random string of arbitrary length - Uses DefaultStringChars as the input character set - - - - Generate a random string based on the characters from the input string. - - A random string of the default length - Uses DefaultStringChars as the input character set - - - - Returns a random decimal. - - - - - Returns a random decimal between positive zero and the specified maximum. - - - - - Returns a random decimal within a specified range, which is not - permitted to exceed decimal.MaxVal in the current implementation. - - - A limitation of this implementation is that the range from min - to max must not exceed decimal.MaxVal. - - - - - Generates a valid version 4 . - - - - - Helper methods for inspecting a type by reflection. - - Many of these methods take ICustomAttributeProvider as an - argument to avoid duplication, even though certain attributes can - only appear on specific types of members, like MethodInfo or Type. - - In the case where a type is being examined for the presence of - an attribute, interface or named member, the Reflect methods - operate with the full name of the member being sought. This - removes the necessity of the caller having a reference to the - assembly that defines the item being sought and allows the - NUnit core to inspect assemblies that reference an older - version of the NUnit framework. - - - - - Examine a fixture type and return true if it has a method with - a particular attribute. - - The type to examine - The attribute Type to look for - True if found, otherwise false - - - - Invoke the default constructor on a Type - - The Type to be constructed - An instance of the Type - - - - Invoke a constructor on a Type with arguments - - The Type to be constructed - Arguments to the constructor - An instance of the Type - - - - Returns an array of types from an array of objects. - Differs from by returning - for null elements rather than throwing . - - - - - Gets the constructors to which the specified argument types can be coerced. - - - - - Determines if the given types can be coerced to match the given parameters. - - - - - Determines whether the current type can be implicitly converted to the specified type. - - - - - Invoke a parameterless method returning void on an object. - - A MethodInfo for the method to be invoked - The object on which to invoke the method - - - - Invoke a method, converting any TargetInvocationException to an NUnitException. - - A MethodInfo for the method to be invoked - The object on which to invoke the method - The argument list for the method - The return value from the invoked method - - - - - Selects the ultimate shadowing property just like dynamic would, - rather than throwing - for properties that shadow properties of a different property type - which is what does. - - - If you request both public and nonpublic properties, every public property is preferred - over every nonpublic property. It would violate the principle of least surprise for a - derived class’s implementation detail to be chosen over the public API for a type. - - - See . - See . - See . - - - - Same as GetMethod(, | - , , , - ) except that it also chooses only non-generic methods. - Useful for avoiding the you can have with GetMethod. - - - - - Returns the get accessor for the indexer. - - Type to reflect on for the indexer. - List of indexer types that matches the indexer type order. - The Get accessor - - - - Represents the result of running a single test case. - - - - - Construct a TestCaseResult based on a TestMethod - - A TestMethod to which the result applies. - - - - Gets the number of test cases that failed - when running the test and all its children. - - - - - Gets the number of test cases that executed - when running the test and all its children. - - - - - Gets the number of test cases that had warnings - when running the test and all its children. - - - - - Gets the number of test cases that passed - when running the test and all its children. - - - - - Gets the number of test cases that were skipped - when running the test and all its children. - - - - - Gets the number of test cases that were inconclusive - when running the test and all its children. - - - - - Indicates whether this result has any child results. - - - - - Gets the collection of child results. - - - - - The TestResult class represents the result of a test. - - - - - Error message for when child tests have errors - - - - - Error message for when child tests have warnings - - - - - Error message for when child tests are ignored - - - - - Error message for when user has cancelled the test run - - - - - The minimum duration for tests - - - - - Aggregate assertion count - - - - - ReaderWriterLock - - - - - Construct a test result given a Test - - The test to be used - - - - Gets the test with which this result is associated. - - - - - Gets the ResultState of the test result, which - indicates the success or failure of the test. - - - - - Gets the name of the test result - - - - - Gets the full name of the test result - - - - - Gets or sets the elapsed time for running the test in seconds - - - - - Gets or sets the time the test started running. - - - - - Gets or sets the time the test finished running. - - - - - Adds a test attachment to the test result - - The TestAttachment object to attach - - - - Gets the collection of files attached to the test - - - - - Gets the message associated with a test - failure or with not running the test - - - - - Gets any stack trace associated with an - error or failure. - - - - - Gets or sets the count of asserts executed - when running the test. - - - - - Gets the number of test cases executed - when running the test and all its children. - - - - - Gets the number of test cases that failed - when running the test and all its children. - - - - - Gets the number of test cases that had warnings - when running the test and all its children. - - - - - Gets the number of test cases that passed - when running the test and all its children. - - - - - Gets the number of test cases that were skipped - when running the test and all its children. - - - - - Gets the number of test cases that were inconclusive - when running the test and all its children. - - - - - Indicates whether this result has any child results. - - - - - Gets the collection of child results. - - - - - Gets a TextWriter, which will write output to be included in the result. - - - - - Gets any text output written to this result. - - - - - Gets a list of assertion results associated with the test. - - - - - Returns the XML representation of the result. - - If true, descendant results are included - An XmlNode representing the result - - - - Adds the XML representation of the result as a child of the - supplied parent node.. - - The parent node. - If true, descendant results are included - - - - - Gets a count of pending failures (from Multiple Assert) - - - - - Gets the worst assertion status (highest enum) in all the assertion results - - - - - Set the result of the test - - The ResultState to use in the result - - - - Set the result of the test - - The ResultState to use in the result - A message associated with the result state - - - - Set the result of the test - - The ResultState to use in the result - A message associated with the result state - Stack trace giving the location of the command - - - - Set the test result based on the type of exception thrown - - The exception that was thrown - - - - Set the test result based on the type of exception thrown - - The exception that was thrown - The FailureSite to use in the result - - - - RecordTearDownException appends the message and stack trace - from an exception arising during teardown of the test - to any previously recorded information, so that any - earlier failure information is not lost. Note that - calling Assert.Ignore, Assert.Inconclusive, etc. during - teardown is treated as an error. If the current result - represents a suite, it may show a teardown error even - though all contained tests passed. - - The Exception to be recorded - - - - Update overall test result, including legacy Message, based - on AssertionResults that have been saved to this point. - - - - - Record an assertion result - - - - - Record an assertion result - - - - - Record an assertion result - - - - - Creates a failure message incorporating failures - from a Multiple Assert block for use by runners - that don't know about AssertionResults. - - Message as a string - - - - Adds a failure element to a node and returns it. - - The target node. - The new failure element. - - - - Adds an attachments element to a node and returns it. - - The target node. - The new attachments element. - - - - Represents the result of running a test suite - - - - - Construct a TestSuiteResult base on a TestSuite - - The TestSuite to which the result applies - - - - Gets the number of test cases that executed - when running the test and all its children. - - - - - Gets the number of test cases that failed - when running the test and all its children. - - - - - Gets the number of test cases that passed - when running the test and all its children. - - - - - Gets the number of test cases that passed - when running the test and all its children. - - - - - Gets the number of test cases that were skipped - when running the test and all its children. - - - - - Gets the number of test cases that were inconclusive - when running the test and all its children. - - - - - Indicates whether this result has any child results. - - - - - Gets the collection of child results. - - - - - Adds a child result to this result, setting this result's - ResultState to Failure if the child result failed. - - The result to be added - - - - RuntimeFramework represents a particular version - of a common language runtime implementation. - - - - - DefaultVersion is an empty Version, used to indicate that - NUnit should select the CLR version to use for the test. - - - - - Construct from a runtime type and version. If the version has - two parts, it is taken as a framework version. If it has three - or more, it is taken as a CLR version. In either case, the other - version is deduced based on the runtime type and provided version. - - The runtime type of the framework - The version of the framework - - - - Static method to return a RuntimeFramework object - for the framework that is currently in use. - - - - - The type of this runtime framework - - - - - The framework version for this runtime framework - - - - - The CLR version for this runtime framework - - - - - Return true if any CLR version may be used in - matching this RuntimeFramework object. - - - - - Returns the Display name for this framework - - - - - Parses a string representing a RuntimeFramework. - The string may be just a RuntimeType name or just - a Version or a hyphenated RuntimeType-Version or - a Version prefixed by 'versionString'. - - - - - - - Overridden to return the short name of the framework - - - - - - Returns true if the current framework matches the - one supplied as an argument. Two frameworks match - if their runtime types are the same or either one - is RuntimeType.Any and all specified version components - are equal. Negative (i.e. unspecified) version - components are ignored. - - The RuntimeFramework to be matched. - True on match, otherwise false - - - - Enumeration identifying a common language - runtime implementation. - - - - Any supported runtime framework - - - Microsoft .NET Framework - - - Microsoft .NET Framework - - - Microsoft Shared Source CLI - - - Mono - - - MonoTouch - - - Microsoft .NET Core, including .NET 5+ - - - - Holds thread state which is captured and restored in order to sandbox user code. - - - - - Thread principal. - This will be null on platforms that don't support . - - - - - Captures a snapshot of the tracked state of the current thread to be restored later. - - - - - Restores the tracked state of the current thread to the previously captured state. - - - - - Returns a copy with the specified culture. - - - - - Returns a copy with the specified UI culture. - - - - - Returns a copy with the specified principal. - - - - - May be called from any thread. - - - - - May be called from any thread. - - - - - May be called from any thread. - - - - - May be called from any thread, but may only be called once. - - - - - StackFilter class is used to remove internal NUnit - entries from a stack trace so that the resulting - trace provides better information about the test. - - - - - Single instance of our default filter - - - - - Construct a stack filter instance - - Regex pattern used to delete lines from the top of the stack - Regex pattern used to delete lines from the bottom of the stack - - - - Construct a stack filter instance - - Regex pattern used to delete lines from the top of the stack - - - - Construct a stack filter instance - - - - - Filters a raw stack trace and returns the result. - - The original stack trace - A filtered stack trace - - - - Provides methods to support legacy string comparison methods. - - - - - Compares two strings for equality, ignoring case if requested. - - The first string. - The second string.. - if set to , the case of the letters in the strings is ignored. - Zero if the strings are equivalent, a negative number if strA is sorted first, a positive number if - strB is sorted first - - - - Compares two strings for equality, ignoring case if requested. - - The first string. - The second string.. - if set to , the case of the letters in the strings is ignored. - True if the strings are equivalent, false if not. - - - - The TestCaseParameters class encapsulates method arguments and - other selected parameters needed for constructing - a parameterized test case. - - - - - The expected result to be returned - - - - - Default Constructor creates an empty parameter set - - - - - Construct a non-runnable ParameterSet, specifying - the provider exception that made it invalid. - - - - - Construct a parameter set with a list of arguments - - - - - - Construct a ParameterSet from an object implementing ITestCaseData - - - - - - The expected result of the test, which - must match the method return type. - - - - - Gets a value indicating whether an expected result was specified. - - - - - TestCaseTimeoutException is thrown when a test running directly - on a TestWorker thread is cancelled due to timeout. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The message. - - - - Initializes a new instance of the class. - - The message. - The inner. - - - - Serialization Constructor - - - - - Helper class used to save and restore certain static or - singleton settings in the environment that affect tests - or which might be changed by the user tests. - - - - - Link to a prior saved context - - - - - Indicates that a stop has been requested - - - - - The event listener currently receiving notifications - - - - - The number of assertions for the current test - - - - - The current test result - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - An existing instance of TestExecutionContext. - - - - Gets and sets the current context. - - - - - Gets or sets the current test - - - - - The time the current test started execution - - - - - The time the current test started in Ticks - - - - - Gets the elapsed time for running the test in seconds - - - - - Gets or sets the current test result - - - - - Gets a TextWriter that will send output to the current test result. - - - - - The current test object - that is the user fixture - object on which tests are being executed. - - - - - Get or set indicator that run should stop on the first error - - - - - Gets an enum indicating whether a stop has been requested. - - - - - The current test event listener - - - - - The current WorkItemDispatcher. Made public for - use by nunitlite.tests - - - - - The ParallelScope to be used by tests running in this context. - For builds with out the parallel feature, it has no effect. - - - - - Default tolerance value used for floating point equality - when no other tolerance is specified. - - - - - The worker that spawned the context. - For builds without the parallel feature, it is null. - - - - - Gets the RandomGenerator specific to this Test - - - - - Gets the assert count. - - The assert count. - - - - The current nesting level of multiple assert blocks - - - - - Gets or sets the test case timeout value - - - - - Gets a list of ITestActions set by upstream tests - - - - - Saves or restores the CurrentCulture - - - - - Saves or restores the CurrentUICulture - - - - - Gets or sets the current for the Thread. - - - - - The current head of the ValueFormatter chain, copied from MsgUtils.ValueFormatter - - - - - If true, all tests must run on the same thread. No new thread may be spawned. - - - - - The number of times the current test has been scheduled for execution. - Currently only being executed in a test using the - - - - - Record any changes in the environment made by - the test code in the execution context so it - will be passed on to lower level tests. - - - - - Set up the execution environment to match a context. - Note that we may be running on the same thread where the - context was initially created or on a different thread. - - - - - Increments the assert count by one. - - - - - Increments the assert count by a specified amount. - - - - - Adds a new ValueFormatterFactory to the chain of formatters - - The new factory - - - - Sends a message from test to listeners. This message is not kind of test output and doesn't go to test result. - - A name recognized by the intended listeners. - A message to be sent - - - - Obtain lifetime service object - - - - - - An IsolatedContext is used when running code - that may effect the current result in ways that - should not impact the final result of the test. - A new TestExecutionContext is created with an - initially clear result, which is discarded on - exiting the context. - - - using (new TestExecutionContext.IsolatedContext()) - { - // Code that should not impact the result - } - - - - - Save the original current TestExecutionContext and - make a new isolated context current. - - - - - Restore the original TestExecutionContext. - - - - - An AdhocTestExecutionContext is created whenever a context is needed - but not available in CurrentContext. This happens when tests are run - on an ad-hoc basis or Asserts are used outside of tests. - - - - - Construct an AdhocTestExecutionContext, which is used - whenever the current TestExecutionContext is found to be null. - - - - - Enumeration indicating whether the tests are - running normally or being cancelled. - - - - - Running normally with no stop requested - - - - - A graceful stop has been requested - - - - - A forced stop has been requested - - - - - Interface to be implemented by filters applied to tests. - The filter applies when running the test, after it has been - loaded, since this is the only time an ITest exists. - - - - - Unique Empty filter. - - - - - Indicates whether this is the EmptyFilter - - - - - Indicates whether this is a top-level filter, - not contained in any other filter. - - - - - Determine if a particular test passes the filter criteria. The default - implementation checks the test itself, its parents and any descendants. - - Derived classes may override this method or any of the Match methods - to change the behavior of the filter. - - The test to which the filter is applied - True if the test passes the filter, otherwise false - - - - Determine if a particular test passes the filter criteria. The default - implementation checks the test itself, its parents and any descendants. - - Derived classes may override this method or any of the Match methods - to change the behavior of the filter. - - The test to which the filter is applied - If set to we are carrying a negation through - True if the test passes the filter, otherwise false - - - - Determine if a test matches the filter explicitly. That is, it must - be a direct match of the test itself or one of its children. - - The test to which the filter is applied - True if the test matches the filter explicitly, otherwise false - - - - Determine whether the test itself matches the filter criteria, without - examining either parents or descendants. This is overridden by each - different type of filter to perform the necessary tests. - - The test to which the filter is applied - True if the filter matches the any parent of the test - - - - Determine whether any ancestor of the test matches the filter criteria - - The test to which the filter is applied - True if the filter matches the an ancestor of the test - - - - Determine whether any descendant of the test matches the filter criteria. - - The test to be matched - True if at least one descendant matches the filter criteria - - - - Create a TestFilter instance from an XML representation. - - - - - Create a TestFilter from its TNode representation - - - - - Nested class provides an empty filter - one that always - returns true when called. It never matches explicitly. - - - - - Adds an XML node - - True if recursive - The added XML node - - - - Adds an XML node - - Parent node - True if recursive - The added XML node - - - - The TestCaseParameters class encapsulates method arguments and - other selected parameters needed for constructing - a parameterized test case. - - - - - Default Constructor creates an empty parameter set - - - - - Construct a non-runnable ParameterSet, specifying - the provider exception that made it invalid. - - - - - Construct a parameter set with a list of arguments - - - - - - Construct a ParameterSet from an object implementing ITestCaseData - - - - - - Type arguments used to create a generic fixture instance - - - - - TestListener provides an implementation of ITestListener that - does nothing. It is used only through its NULL property. - - - - - Called when a test has just started - - The test that is starting - - - - Called when a test case has finished - - The result of the test - - - - Called when a test produces output for immediate display - - A TestOutput object containing the text to display - - - - Called when a test produces a message to be sent to listeners - - A object containing the message to send - - - - Construct a new TestListener - private so it may not be used. - - - - - Get a listener that does nothing - - - - - TestNameGenerator is able to create test names according to - a coded pattern. - - - - - Default pattern used to generate names - - - - - Construct a TestNameGenerator - - - - - Construct a TestNameGenerator - - The pattern used by this generator. - - - - Get the display name for a TestMethod and its arguments - - A TestMethod - The display name - - - - Get the display name for a TestMethod and its arguments - - A TestMethod - Arguments to be used - The display name - - - - TestParameters is the abstract base class for all classes - that know how to provide data for constructing a test. - - - - - Default Constructor creates an empty parameter set - - - - - Construct a parameter set with a list of arguments - - - - - - Construct a non-runnable ParameterSet, specifying - the provider exception that made it invalid. - - - - - Construct a ParameterSet from an object implementing ITestData - - - - - - The RunState for this set of parameters. - - - - - The arguments to be used in running the test, - which must match the method signature. - - - - - A name to be used for this test case in lieu - of the standard generated name containing - the argument list. - - - - - Gets the property dictionary for this test - - - - - Applies ParameterSet values to the test itself. - - A test. - - - - The original arguments provided by the user, - used for display purposes. - - - - - The list of display names to use as the parameters in the test name. - - - - - TestProgressReporter translates ITestListener events into - the async callbacks that are used to inform the client - software about the progress of a test run. - - - - - Initializes a new instance of the class. - - The callback handler to be used for reporting progress. - - - - Called when a test has just started - - The test that is starting - - - - Called when a test has finished. Sends a result summary to the callback. - to - - The result of the test - - - - Called when a test produces output for immediate display - - A TestOutput object containing the text to display - - - - Called when a test produces a message to be sent to listeners - - A object containing the text to send - - - - Returns the parent test item for the target test item if it exists - - - parent test item - - - - Makes a string safe for use as an attribute, replacing - characters that can't be used with their - corresponding XML representations. - - The string to be used - A new string with the values replaced - - - - ParameterizedFixtureSuite serves as a container for the set of test - fixtures created from a given Type using various parameters. - - - - - Initializes a new instance of the class. - - The ITypeInfo for the type that represents the suite. - - - - Creates a copy of the given suite with only the descendants that pass the specified filter. - - The to copy. - Determines which descendants are copied. - - - - Gets a string representing the type of test - - - - - Creates a filtered copy of the test suite. - - Determines which descendants are copied. - - - - ParameterizedMethodSuite holds a collection of individual - TestMethods with their arguments applied. - - - - - Initializes a new instance of the class. - - - - - Creates a copy of the given suite with only the descendants that pass the specified filter. - - The to copy. - Determines which descendants are copied. - - - - Gets a MethodInfo for the method implementing this test. - - - - - Gets a string representing the type of test - - - - - Creates a filtered copy of the test suite. - - Determines which descendants are copied. - - - - SetUpFixture extends TestSuite and supports - Setup and TearDown methods. - - - - - Initializes a new instance of the class. - - - - - Creates a copy of the given suite with only the descendants that pass the specified filter. - - The to copy. - Determines which descendants are copied. - - - - Gets the TypeInfo of the fixture used in running this test. - - - - - Creates a filtered copy of the test suite. - - Determines which descendants are copied. - - - - The Test abstract class represents a test within the framework. - - - - - Static value to seed ids. It's started at 1000 so any - uninitialized ids will stand out. - - - - - Used to cache the declaring type for this MethodInfo - - - - - Method property backing field - - - - - Constructs a test given its name - - The name of the test - - - - Constructs a test given the path through the - test hierarchy to its parent and a name. - - The parent tests full name - The name of the test - - - - Constructs a test for a specific type. - - - - - Constructs a test for a specific method. - - - - - Gets or sets the id of the test - - - - - - Gets or sets the name of the test - - - - - Gets or sets the fully qualified name of the test - - - - - - Gets the name of the class where this test was declared. - Returns null if the test is not associated with a class. - - - - - Gets the name of the method implementing this test. - Returns null if the test is not implemented as a method. - - - - - The arguments to use in creating the test or empty array if none required. - - - - - Gets the TypeInfo of the fixture used in running this test - or null if no fixture type is associated with it. - - - - - Gets a MethodInfo for the method implementing this test. - Returns null if the test is not implemented as a method. - - - - - Whether or not the test should be run - - - - - Gets the name used for the top-level element in the - XML representation of this test - - - - - Gets a string representing the type of test. Used as an attribute - value in the XML representation of a test and has no other - function in the framework. - - - - - Gets a count of test cases represented by - or contained under this test. - - - - - Gets the properties for this test - - - - - Returns true if this is a TestSuite - - - - - Gets a bool indicating whether the current test - has any descendant tests. - - - - - Gets the parent as a Test object. - Used by the core to set the parent. - - - - - Gets this test's child tests - - A list of child tests - - - - Gets or sets a fixture object for running this test. - - - - - Static prefix used for ids in this AppDomain. - Set by FrameworkController. - - - - - Gets or Sets the Int value representing the seed for the RandomGenerator - - - - - - The SetUp methods. - - - - - The teardown methods - - - - - Creates a TestResult for this test. - - A TestResult suitable for this type of test. - - - - Modify a newly constructed test by applying any of NUnit's common - attributes, based on a supplied , which is - usually the reflection element from which the test was constructed, - but may not be in some instances. The attributes retrieved are - saved for use in subsequent operations. - - - - - Mark the test as Invalid (not runnable) specifying a reason - - The reason the test is not runnable - - - - Get custom attributes applied to a test - - - - - Add standard attributes and members to a test node. - - - - - - - Returns the XML representation of the test - - If true, include child tests recursively - - - - - Returns an XmlNode representing the current result after - adding it as a child of the supplied parent node. - - The parent node. - If true, descendant results are included - - - - Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. - An object to compare with this instance. - - - Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. - An object to compare with this instance. - - - - TestAssembly is a TestSuite that represents the execution - of tests in a managed assembly. - - - - - Initializes a new instance of the class - specifying the Assembly and the suite name. - - The assembly this test represents. - - This becomes the full name of the suite and the filename part is used as the suite name. - - - - - Initializes a new instance of the class - specifying the suite name for an assembly that could not be loaded. - - - This becomes the full name of the suite and the filename part is used as the suite name. - - - - - Creates a copy of the given assembly with only the descendants that pass the specified filter. - - The to copy. - Determines which descendants are copied. - - - - Gets the Assembly represented by this instance. - - - - - Gets the name used for the top-level element in the - XML representation of this test - - - - - Get custom attributes specified on the assembly - - - - - Creates a filtered copy of the test suite. - - Determines which descendants are copied. - - - - TestFixture is a surrogate for a user test fixture class, - containing one or more tests. - - - - - The life cycle specified for the current test fixture. - - - - - Initializes a new instance of the class. - - Type of the fixture. - Arguments used to instantiate the test fixture, or null if none used - - - - Creates a copy of the given suite with only the descendants that pass the specified filter. - - The to copy. - Determines which descendants are copied. - - - - Gets the TypeInfo of the fixture used in running this test. - - - - - Creates a filtered copy of the test suite. - - Determines which descendants are copied. - - - - The TestMethod class represents a Test implemented as a method. - - - - - The ParameterSet used to create this test method - - - - - Initializes a new instance of the class. - - The method to be used as a test. - - - - Initializes a new instance of the class. - - The method to be used as a test. - The suite or fixture to which the new test will be added - - - - Gets a MethodInfo for the method implementing this test. - - - - - The arguments to use in executing the test method, or empty array if none are provided. - - - - - Overridden to return a TestCaseResult. - - A TestResult for this test. - - - - Gets a bool indicating whether the current test - has any descendant tests. - - - - - Returns a TNode representing the current result after - adding it as a child of the supplied parent node. - - The parent node. - If true, descendant results are included - - - - - Gets this test's child tests - - A list of child tests - - - - Gets the name used for the top-level element in the - XML representation of this test - - - - - Returns the name of the method - - - - - TestSuite represents a composite test, which contains other tests. - - - - - Our collection of child tests - - - - - Initializes a new instance of the class. - - The name of the suite. - - - - Initializes a new instance of the class. - - Name of the parent suite. - The name of the suite. - - - - Initializes a new instance of the class. - - Type of the fixture. - Arguments used to instantiate the test fixture, or null if none used. - - - - Initializes a new instance of the class. - - Type of the fixture. - - - - Creates a copy of the given suite with only the descendants that pass the specified filter. - - The to copy. - Determines which descendants are copied. - - - - Sorts tests under this suite. - - - - - Adds a test to the suite. - - The test. - - - - Creates a filtered copy of the test suite. - - Determines which descendants are copied. - - - - Gets this test's child tests - - The list of child tests - - - - Gets a count of test cases represented by - or contained under this test. - - - - - - The arguments to use in creating the fixture, or empty array if none are provided. - - - - - Set to true to suppress sorting this suite's contents - - - - - OneTimeSetUp methods for this suite - - - - - OneTimeTearDown methods for this suite - - - - - Overridden to return a TestSuiteResult. - - A TestResult for this test. - - - - Gets a bool indicating whether the current test - has any descendant tests. - - - - - Gets the name used for the top-level element in the - XML representation of this test - - - - - Returns an XmlNode representing the current result after - adding it as a child of the supplied parent node. - - The parent node. - If true, descendant results are included - - - - - Check that setup and teardown methods marked by certain attributes - meet NUnit's requirements and mark the tests not runnable otherwise. - - - - - ThreadUtility provides a set of static methods convenient - for working with threads. - - - - - Pre-Task compatibility - - - - - Abort a thread, helping to dislodging it if it is blocked in native code - - The thread to abort - The native thread id (if known), otherwise 0. - If provided, allows the thread to be killed if it's in a message pump native blocking wait. - This must have previously been captured by calling from the running thread itself. - - - - Do our best to kill a thread - - The thread to kill - The native thread id (if known), otherwise 0. - If provided, allows the thread to be killed if it's in a message pump native blocking wait. - This must have previously been captured by calling from the running thread itself. - - - - Do our best to kill a thread, passing state info - - The thread to kill - Info for the ThreadAbortException handler - The native thread id (if known), otherwise 0. - If provided, allows the thread to be killed if it's in a message pump native blocking wait. - This must have previously been captured by calling from the running thread itself. - - - - Schedule a thread pool thread to check on the aborting thread in case it's in a message pump native blocking wait - - - - - Captures the current thread's native id. If provided to later, allows the thread to be killed if it's in a message pump native blocking wait. - - - - - Sends a message to the thread to dislodge it from native code and allow a return to managed code, where a ThreadAbortException can be generated. - The message is meaningless (WM_CLOSE without a window handle) but it will end any blocking message wait. - - - - Gets or if the current platform does not support it. - - - Sets if current platform supports it. - Value to set. If the current platform does not support then the only allowed value is . - - - - TypeHelper provides static methods that operate on Types. - - - - - Gets the display name for a Type as used by NUnit. - - The Type for which a display name is needed. - The display name for the Type - - - - Gets the display name for a Type as used by NUnit. - - The Type for which a display name is needed. - The arglist provided. - The display name for the Type - - - - Returns the best fit for a common type to be used in - matching actual arguments to a methods Type parameters. - - - - - Determines whether the specified type is numeric. - - The type to be examined. - - if the specified type is numeric; otherwise, . - - - - - Convert an argument list to the required parameter types. - Currently, only widening numeric conversions are performed. - - An array of args to be converted - A ParameterInfo[] whose types will be used as targets - - - - Determines whether this instance can deduce type args for a generic type from the supplied arguments. - - The type to be examined. - The arglist. - The type args to be used. - - if this the provided args give sufficient information to determine the type args to be used; otherwise, . - - - - - Return the interfaces implemented by a Type. - - The Type to be examined. - An array of Types for the interfaces. - - - - Return whether or not the given type is a ValueTuple. - - Type. - Whether or not the given type is a ValueTuple. - - - - Return whether or not the given type is a Tuple. - - Type. - Whether or not the given type is a Tuple. - - - - Determines whether the cast to the given type would succeed. - If is and - can be , the cast succeeds just like the C# language feature. - - The object to cast. - - - - Casts to a value of the given type if possible. - If is and - can be , the cast succeeds just like the C# language feature. - - The object to cast. - The value of the object, if the cast succeeded. - - - - Used for resolving the type difference between objects. - - - - - Gets the shortened type name difference between and . - - The expected object. - The actual object. - Output of the unique type name for the expected object. - Output of the unique type name for actual object. - - - - Gets the shortened type name difference between and . - - The expected object . - The actual object . - Output of the unique type name for the expected object. - Output of the unique type name for actual object. - - - - Obtain the shortened generic template parameters of the given and , - if they are generic. - - The expected . - The actual . - Shortened generic parameters of the expected . - Shortened generic parameters of the actual . - - - - Obtain a shortened name of the given . - - - - - Shorten the given names by only including the relevant differing namespaces/types, if they differ. - - The expected . - The actual . - The shortened expected name. - The shortened actual name. - - - - Returns whether or not the is generic. - - - - - Returns the fully qualified generic name of a given . - - - - - Reconstruct a generic type name using the provided generic type name, and a - of the template parameters. - - The name of the generic type, including the number of template parameters expected. - A of names of the template parameters of the provided generic type. - - - - Obtain the shortened generic names of the given expected and actual s. - - The expected . - The actual . - The shortened expected generic name. - The shortened actual generic name. - - - - The TypeWrapper class wraps a Type so it may be used in - a platform-independent manner. - - - - - Construct a TypeWrapper for a specified Type. - - - - - Gets the underlying Type on which this TypeWrapper is based. - - - - - Gets the base type of this type as an ITypeInfo - - - - - Gets the Name of the Type - - - - - Gets the FullName of the Type - - - - - Gets the assembly in which the type is declared - - - - - Gets the namespace of the Type - - - - - Gets a value indicating whether the type is abstract. - - - - - Gets a value indicating whether the Type is a generic Type - - - - - Returns true if the Type wrapped is T - - - - - Gets a value indicating whether the Type has generic parameters that have not been replaced by specific Types. - - - - - Gets a value indicating whether the Type is a generic Type definition - - - - - Gets a value indicating whether the type is sealed. - - - - - Gets a value indicating whether this type represents a static class. - - - - - Get the display name for this type - - - - - Get the display name for an object of this type, constructed with the specified args. - - - - - Returns a new ITypeInfo representing an instance of this generic Type using the supplied Type arguments - - - - - Returns a Type representing a generic type definition from which this Type can be constructed. - - - - - Returns an array of custom attributes of the specified type applied to this type - - - - - Returns a value indicating whether the type has an attribute of the specified type. - - - - - - - - Returns a flag indicating whether this type has a method with an attribute of the specified type. - - - - - - - Returns an array of IMethodInfos for methods of this Type - that match the specified flags. - - - - - Gets the public constructor taking the specified argument Types - - - - - Returns a value indicating whether this Type has a public constructor taking the specified argument Types. - - - - - Construct an object of this Type, using the specified arguments. - - - - - Override ToString() so that error messages in NUnit's own tests make sense - - - - - Returns all methods declared by this type that have the specified attribute, optionally - including base classes. Methods from a base class are always returned before methods from a class that - inherits from it. - - Specifies whether to search the fixture type inheritance chain. - - - - Encapsulates the ability to increment a value by an amount which may be of a different type. - - - - - Creates a from the specified value if the current instance is able to - use it to increment the on values which it operates. If the creation fails, - is thrown. - - - - - - Creates a from the specified value if the current instance is able to - use it to increment values on which it operates. A return value indicates - whether the creation succeeded. - - - - - Provides a convenient shorthand when is - and the default value of represents zero. - - - - - Initializes a new instance of the class. - - The amount by which to increment each time this step is applied. - - Must increment the given value and return the result. - If the result is outside the range representable by , - must throw . If the result does not change due to lack - of precision representable by , must throw . - - - - - Increments the given value and returns the result. - If the result is outside the range representable by , - throws . If the result does not change due to lack - of precision representable by , throws . - - - - - - - Encapsulates the ability to increment a value by an amount - which may be of a different type. - - - - - Increments the given value and returns the result. - If the result is outside the range representable by , - throws . If the result does not change due to lack - of precision representable by , throws . - - - - - - - Creates a from the specified value if the current instance is able to - use it to increment values of type . If the creation fails, - is thrown. - - - - - - Creates a from the specified value if the current instance is able to - use it to increment values of type . A return value indicates - whether the creation succeeded. - - - - - The IgnoredTestCaseData class represents a ignored TestCaseData. It adds - the ability to set a date until which the test will be ignored. - - - - - The previous RunState - - - - - Set the date that the test is being ignored until - - The date that the test is being ignored until - A modified TestCaseData. - - - - Helper class with properties and methods that supply - a number of constraints used in Asserts. - - - - - Returns a ConstraintExpression that negates any - following constraint. - - - - - Returns a ConstraintExpression, which will apply - the following constraint to all members of a collection, - succeeding if all of them succeed. - - - - - Returns a constraint that tests for null - - - - - Returns a constraint that tests for True - - - - - Returns a constraint that tests for False - - - - - Returns a constraint that tests for a positive value - - - - - Returns a constraint that tests for a negative value - - - - - Returns a constraint that tests for equality with zero - - - - - Returns a constraint that tests for NaN - - - - - Returns a constraint that tests for empty - - - - - Returns a constraint that tests whether a collection - contains all unique items. - - - - - Returns a constraint that tests whether an object graph is serializable in binary format. - - - - - Returns a constraint that tests whether an object graph is serializable in XML format. - - - - - Returns a constraint that tests two items for equality - - - - - Returns a constraint that tests that two references are the same object - - - - - Returns a constraint that tests whether the - actual value is greater than the supplied argument - - - - - Returns a constraint that tests whether the - actual value is greater than or equal to the supplied argument - - - - - Returns a constraint that tests whether the - actual value is greater than or equal to the supplied argument - - - - - Returns a constraint that tests whether the - actual value is less than the supplied argument - - - - - Returns a constraint that tests whether the - actual value is less than or equal to the supplied argument - - - - - Returns a constraint that tests whether the - actual value is less than or equal to the supplied argument - - - - - Returns a constraint that tests whether the actual - value is of the exact type supplied as an argument. - - - - - Returns a constraint that tests whether the actual - value is of the exact type supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is of the type supplied as an argument or a derived type. - - - - - Returns a constraint that tests whether the actual value - is of the type supplied as an argument or a derived type. - - - - - Returns a constraint that tests whether the actual value - is assignable from the type supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is assignable from the type supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is assignable to the type supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is assignable to the type supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is a collection containing the same elements as the - collection supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is a subset of the collection supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is a superset of the collection supplied as an argument. - - - - - Returns a constraint that tests whether a collection is ordered - - - - - Returns a constraint that tests whether the path provided - is the same as an expected path after canonicalization. - - - - - Returns a constraint that tests whether the path provided - is a subpath of the expected path after canonicalization. - - - - - Returns a constraint that tests whether the path provided - is the same path or under an expected path after canonicalization. - - - - - Returns a constraint that tests whether the actual value falls - inclusively within a specified range. - - Inclusive beginning of the range. - Inclusive end of the range. - - - - - Returns a constraint that tests if an item is equal to any of parameters - - Expected values - - - - When implemented by an attribute, this interface implemented to provide actions to execute before and after tests. - - - - - Executed before each test is run - - The test that is going to be run. - - - - Executed after each test is run - - The test that has just been run. - - - - Provides the target for the action attribute - - The target for the action attribute - - - - The Iz class is a synonym for Is intended for use in VB, - which regards Is as a keyword. - - - - - The List class is a helper class with properties and methods - that supply a number of constraints used with lists and collections. - - - - - List.Map returns a ListMapper, which can be used to map - the original collection to another collection. - - - - - - - ListMapper is used to transform a collection used as an actual argument - producing another collection to be used in the assertion. - - - - - Construct a ListMapper based on a collection - - The collection to be transformed - - - - Produces a collection containing all the values of a property - - The collection of property values - - - - - Basic Asserts on strings. - - - - - DO NOT USE! Use StringAssert.AreEqualIgnoringCase(...) or Assert.AreEqual(...) instead. - The Equals method throws an InvalidOperationException. This is done - to make sure there is no mistake by calling this function. - - - - - - - DO NOT USE! - The ReferenceEquals method throws an InvalidOperationException. This is done - to make sure there is no mistake by calling this function. - - - - - - - Asserts that a string is found within another string. - - The expected string - The string to be examined - The message to display in case of failure - Arguments used in formatting the message - - - - Asserts that a string is found within another string. - - The expected string - The string to be examined - - - - Asserts that a string is not found within another string. - - The expected string - The string to be examined - The message to display in case of failure - Arguments used in formatting the message - - - - Asserts that a string is found within another string. - - The expected string - The string to be examined - - - - Asserts that a string starts with another string. - - The expected string - The string to be examined - The message to display in case of failure - Arguments used in formatting the message - - - - Asserts that a string starts with another string. - - The expected string - The string to be examined - - - - Asserts that a string does not start with another string. - - The expected string - The string to be examined - The message to display in case of failure - Arguments used in formatting the message - - - - Asserts that a string does not start with another string. - - The expected string - The string to be examined - - - - Asserts that a string ends with another string. - - The expected string - The string to be examined - The message to display in case of failure - Arguments used in formatting the message - - - - Asserts that a string ends with another string. - - The expected string - The string to be examined - - - - Asserts that a string does not end with another string. - - The expected string - The string to be examined - The message to display in case of failure - Arguments used in formatting the message - - - - Asserts that a string does not end with another string. - - The expected string - The string to be examined - - - - Asserts that two strings are equal, without regard to case. - - The expected string - The actual string - The message to display in case of failure - Arguments used in formatting the message - - - - Asserts that two strings are equal, without regard to case. - - The expected string - The actual string - - - - Asserts that two strings are not equal, without regard to case. - - The expected string - The actual string - The message to display in case of failure - Arguments used in formatting the message - - - - Asserts that two strings are not equal, without regard to case. - - The expected string - The actual string - - - - Asserts that a string matches an expected regular expression pattern. - - The regex pattern to be matched - The actual string - The message to display in case of failure - Arguments used in formatting the message - - - - Asserts that a string matches an expected regular expression pattern. - - The regex pattern to be matched - The actual string - - - - Asserts that a string does not match an expected regular expression pattern. - - The regex pattern to be used - The actual string - The message to display in case of failure - Arguments used in formatting the message - - - - Asserts that a string does not match an expected regular expression pattern. - - The regex pattern to be used - The actual string - - - - The TestCaseData class represents a set of arguments - and other parameter info to be used for a parameterized - test case. It is derived from TestCaseParameters and adds a - fluent syntax for use in initializing the test case. - - - - - Initializes a new instance of the class. - - The arguments. - - - - Initializes a new instance of the class. - - The argument. - - - - Initializes a new instance of the class. - - The first argument. - The second argument. - - - - Initializes a new instance of the class. - - The first argument. - The second argument. - The third argument. - - - - Sets the expected result for the test - - The expected result - A modified TestCaseData - - - - Sets the name of the test case - - The modified TestCaseData instance - - - - Sets the list of display names to use as the parameters in the test name. - - - - - Sets the description for the test case - being constructed. - - The description. - The modified TestCaseData instance. - - - - Applies a category to the test - - - - - - - Applies a named property to the test - - - - - - - - Applies a named property to the test - - - - - - - - Applies a named property to the test - - - - - - - - Marks the test case as explicit. - - - - - Marks the test case as explicit, specifying the reason. - - - - - Ignores this TestCase, specifying the reason. - - The reason. - - - - - Provide the context information of the current test. - This is an adapter for the internal ExecutionContext - class, hiding the internals from the user test. - - - - - Construct a TestContext for an ExecutionContext - - The ExecutionContext to adapt - - - - Get the current test context. This is created - as needed. The user may save the context for - use within a test, but it should not be used - outside the test for which it is created. - - - - - Gets a TextWriter that will send output to the current test result. - - - - - Gets a TextWriter that will send output directly to Console.Error - - - - - Gets a TextWriter for use in displaying immediate progress messages - - - - - TestParameters object holds parameters for the test run, if any are specified - - - - - Static DefaultWorkDirectory is now used as the source - of the public instance property WorkDirectory. This is - a bit odd but necessary to avoid breaking user tests. - - - - - Get a representation of the current test. - - - - - Gets a Representation of the TestResult for the current test. - - - - - Gets the unique name of the Worker that is executing this test. - - - - - Gets the directory containing the current test assembly. - - - - - Gets the directory to be used for outputting files created - by this test run. - - - - - Gets the random generator. - - - The random generator. - - - - - Gets the number of assertions executed - up to this point in the test. - - - - - Get the number of times the current Test has been repeated - when using the or . - - - - Write the string representation of a boolean value to the current result - - - Write a char to the current result - - - Write a char array to the current result - - - Write the string representation of a double to the current result - - - Write the string representation of an Int32 value to the current result - - - Write the string representation of an Int64 value to the current result - - - Write the string representation of a decimal value to the current result - - - Write the string representation of an object to the current result - - - Write the string representation of a Single value to the current result - - - Write a string to the current result - - - Write the string representation of a UInt32 value to the current result - - - Write the string representation of a UInt64 value to the current result - - - Write a formatted string to the current result - - - Write a formatted string to the current result - - - Write a formatted string to the current result - - - Write a formatted string to the current result - - - Write a line terminator to the current result - - - Write the string representation of a boolean value to the current result followed by a line terminator - - - Write a char to the current result followed by a line terminator - - - Write a char array to the current result followed by a line terminator - - - Write the string representation of a double to the current result followed by a line terminator - - - Write the string representation of an Int32 value to the current result followed by a line terminator - - - Write the string representation of an Int64 value to the current result followed by a line terminator - - - Write the string representation of a decimal value to the current result followed by a line terminator - - - Write the string representation of an object to the current result followed by a line terminator - - - Write the string representation of a Single value to the current result followed by a line terminator - - - Write a string to the current result followed by a line terminator - - - Write the string representation of a UInt32 value to the current result followed by a line terminator - - - Write the string representation of a UInt64 value to the current result followed by a line terminator - - - Write a formatted string to the current result followed by a line terminator - - - Write a formatted string to the current result followed by a line terminator - - - Write a formatted string to the current result followed by a line terminator - - - Write a formatted string to the current result followed by a line terminator - - - - This method adds the a new ValueFormatterFactory to the - chain of responsibility used for formatting values in messages. - The scope of the change is the current TestContext. - - The factory delegate - - - - Attach a file to the current test result - - Relative or absolute file path to attachment - Optional description of attachment - - - - This method provides a simplified way to add a ValueFormatter - delegate to the chain of responsibility, creating the factory - delegate internally. It is useful when the Type of the object - is the only criterion for selection of the formatter, since - it can be used without getting involved with a compound function. - - The type supported by this formatter - The ValueFormatter delegate - - - - TestAdapter adapts a Test for consumption by - the user test code. - - - - - Construct a TestAdapter for a Test - - The Test to be adapted - - - - Gets the unique Id of a test - - - - - The name of the test, which may or may not be - the same as the method name. - - - - - The name of the method representing the test. - - - - - The FullName of the test - - - - - The ClassName of the test - - - - - A shallow copy of the properties of the test. - - - - - The arguments to use in creating the test or empty array if none are required. - - - - - ResultAdapter adapts a TestResult for consumption by - the user test code. - - - - - Construct a ResultAdapter for a TestResult - - The TestResult to be adapted - - - - Gets a ResultState representing the outcome of the test - up to this point in its execution. - - - - - Gets a list of the assertion results generated - up to this point in the test. - - - - - Gets the message associated with a test - failure or with not running the test - - - - - Gets any stack trace associated with an - error or failure. - - - - - Gets the number of test cases that failed - when running the test and all its children. - - - - - Gets the number of test cases that had warnings - when running the test and all its children. - - - - - Gets the number of test cases that passed - when running the test and all its children. - - - - - Gets the number of test cases that were skipped - when running the test and all its children. - - - - - Gets the number of test cases that were inconclusive - when running the test and all its children. - - - - - adapts an - for consumption by the user. - - - - - Construct a from a source - . - - - - - Get the first property with the given , if it can be found, otherwise - returns null. - - - - - Indicates whether is found in this - . - - - - - Returns a collection of properties - with the given . - - - - - Returns the count of elements with the given . - - - - - Returns a collection of the property keys. - - - - - The TestFixtureData class represents a set of arguments - and other parameter info to be used for a parameterized - fixture. It is derived from TestFixtureParameters and adds a - fluent syntax for use in initializing the fixture. - - - - - Initializes a new instance of the class. - - The arguments. - - - - Initializes a new instance of the class. - - The argument. - - - - Initializes a new instance of the class. - - The first argument. - The second argument. - - - - Initializes a new instance of the class. - - The first argument. - The second argument. - The third argument. - - - - Sets the name of the test fixture - - The modified TestFixtureData instance - - - - Sets the list of display names to use as the parameters in the test name. - - - - - Marks the test fixture as explicit. - - - - - Marks the test fixture as explicit, specifying the reason. - - - - - Ignores this TestFixture, specifying the reason. - - The reason. - - - - - TestParameters class holds any named parameters supplied to the test run - - - - - Gets the number of test parameters - - - - - Gets a collection of the test parameter names - - - - - Gets a flag indicating whether a parameter with the specified name exists. - - Name of the parameter - True if it exists, otherwise false - - - - Indexer provides access to the internal dictionary - - Name of the parameter - Value of the parameter or null if not present - - - - Get method is a simple alternative to the indexer - - Name of the parameter - Value of the parameter or null if not present - - - - Get the value of a parameter or a default string - - Name of the parameter - Default value of the parameter - Value of the parameter or default value if not present - - - - Get the value of a parameter or return a default - - The return Type - Name of the parameter - Default value of the parameter - Value of the parameter or default value if not present - - - - Adds a parameter to the list - - Name of the parameter - Value of the parameter - - - - Helper class with properties and methods that supply - constraints that operate on exceptions. - - - - - Creates a constraint specifying an expected exception - - - - - Creates a constraint specifying an exception with a given InnerException - - - - - Creates a constraint specifying an expected TargetInvocationException - - - - - Creates a constraint specifying an expected ArgumentException - - - - - Creates a constraint specifying an expected ArgumentNullException - - - - - Creates a constraint specifying an expected InvalidOperationException - - - - - Creates a constraint specifying that no exception is thrown - - - - - Creates a constraint specifying the exact type of exception expected - - - - - Creates a constraint specifying the exact type of exception expected - - - - - Creates a constraint specifying the type of exception expected - - - - - Creates a constraint specifying the type of exception expected - - - - - Provides static methods to express conditions - that must be met for the test to succeed. If - any test fails, a warning is issued. - - - - - DO NOT USE! - The Equals method throws an InvalidOperationException. This is done - to make sure there is no mistake by calling this function. - - The left object. - The right object. - Not applicable - - - - DO NOT USE! - The ReferenceEquals method throws an InvalidOperationException. This is done - to make sure there is no mistake by calling this function. - - The left object. - The right object. - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and issuing a warning on failure. - - The Type being compared. - An ActualValueDelegate returning the value to be tested - A Constraint expression to be applied - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and issuing a warning on failure. - - The Type being compared. - An ActualValueDelegate returning the value to be tested - A Constraint expression to be applied - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and issuing a warning on failure. - - The Type being compared. - An ActualValueDelegate returning the value to be tested - A Constraint expression to be applied - A function to build the message included with the Exception - - - - Asserts that a condition is true. If the condition is false, a warning is issued. - - The evaluated condition - The message to display if the condition is false - Arguments to be used in formatting the message - - - - Asserts that a condition is true. If the condition is false, a warning is issued. - - The evaluated condition - - - - Asserts that a condition is true. If the condition is false, a warning is issued. - - The evaluated condition - A function to build the message included with the Exception - - - - Asserts that a condition is true. If the condition is false, a warning is issued. - - A lambda that returns a Boolean - The message to display if the condition is false - Arguments to be used in formatting the message - - - - Asserts that a condition is true. If the condition is false, a warning is issued. - - A lambda that returns a Boolean - - - - Asserts that a condition is true. If the condition is false, a warning is issued. - - A lambda that returns a Boolean - A function to build the message included with the Exception - - - - Asserts that the code represented by a delegate throws an exception - that satisfies the constraint provided. - - A TestDelegate to be executed - A Constraint expression to be applied - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and issuing a warning on failure. - - The Type being compared. - The actual value to test - A Constraint expression to be applied - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and issuing a warning on failure. - - The Type being compared. - The actual value to test - A Constraint expression to be applied - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and issuing a warning on failure. - - The Type being compared. - The actual value to test - A Constraint expression to be applied - A function to build the message included with the Exception - - - - Apply a constraint to an actual value, succeeding if the constraint - fails and issuing a warning on success. - - The Type being compared. - An ActualValueDelegate returning the value to be tested - A Constraint expression to be applied - - - - Apply a constraint to an actual value, succeeding if the constraint - fails and issuing a warning on success. - - The Type being compared. - An ActualValueDelegate returning the value to be tested - A Constraint expression to be applied - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Apply a constraint to an actual value, succeeding if the constraint - fails and issuing a warning on failure. - - The Type being compared. - An ActualValueDelegate returning the value to be tested - A Constraint expression to be applied - A function to build the message included with the Exception - - - - Asserts that a condition is true. If the condition is false, a warning is issued. - - The evaluated condition - The message to display if the condition is false - Arguments to be used in formatting the message - - - - Asserts that a condition is true. If the condition is false, a warning is issued. - - The evaluated condition - - - - Asserts that a condition is true. If the condition is false, a warning is issued. - - The evaluated condition - A function to build the message included with the Exception - - - - Asserts that a condition is false. If the condition is true a warning is issued. - - A lambda that returns a Boolean - The message to display if the condition is true - Arguments to be used in formatting the message - - - - Asserts that a condition is false. If the condition is true a warning is issued. - - A lambda that returns a Boolean - - - - Asserts that a condition is false. If the condition is true a warning is issued. - - A lambda that returns a Boolean - A function to build the message included with the Exception - - - - Apply a constraint to an actual value, succeeding if the constraint - fails and issuing a warning if it succeeds. - - The Type being compared. - The actual value to test - A Constraint expression to be applied - - - - Apply a constraint to an actual value, succeeding if the constraint - fails and issuing a warning if it succeeds. - - The Type being compared. - The actual value to test - A Constraint expression to be applied - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and issuing a warning on failure. - - The Type being compared. - The actual value to test - A Constraint expression to be applied - A function to build the message included with the Exception - - - - FrameworkPackageSettings is a static class containing constant values that - are used as keys in setting up a TestPackage. These values are used in - the framework, and set in the runner. Setting values may be a string, int or bool. - - - - - Flag (bool) indicating whether tests are being debugged. - - - - - Flag (bool) indicating whether to pause execution of tests to allow - the user to attach a debugger. - - - - - The InternalTraceLevel for this run. Values are: "Default", - "Off", "Error", "Warning", "Info", "Debug", "Verbose". - Default is "Off". "Debug" and "Verbose" are synonyms. - - - - - Full path of the directory to be used for work and result files. - This path is provided to tests by the framework TestContext. - - - - - Integer value in milliseconds for the default timeout value - for test cases. If not specified, there is no timeout except - as specified by attributes on the tests themselves. - - - - - A string representing the default thread culture to be used for - running tests. String should be a valid BCP-47 culture name. If - culture is unset, tests run on the machine's default culture. - - - - - A string representing the default thread UI culture to be used for - running tests. String should be a valid BCP-47 culture name. If - culture is unset, tests run on the machine's default culture. - - - - - A TextWriter to which the internal trace will be sent. - - - - - A list of tests to be loaded. - - - - - The number of test threads to run for the assembly. If set to - 1, a single queue is used. If set to 0, tests are executed - directly, without queuing. - - - - - The random seed to be used for this assembly. If specified - as the value reported from a prior run, the framework should - generate identical random values for tests as were used for - that run, provided that no change has been made to the test - assembly. Default is a random value itself. - - - - - If true, execution stops after the first error or failure. - - - - - If true, use of the event queue is suppressed and test events are synchronous. - - - - - The default naming pattern used in generating test names - - - - - Parameters to be passed on to the tests, serialized to a single string which needs parsing. Obsoleted by ; kept for backward compatibility. - - - - - Parameters to be passed on to the tests, already parsed into an IDictionary<string, string>. Replaces . - - - - - If true, the tests will run on the same thread as the NUnit runner itself - - - - - Provides a platform-independent methods for getting attributes - for use by AttributeConstraint and AttributeExistsConstraint. - - - - - Gets the custom attributes from the given object. - - The actual. - Type of the attribute. - if set to [inherit]. - A list of the given attribute on the given object. - - - - A MarshalByRefObject that lives forever - - - - - Obtains a lifetime service object to control the lifetime policy for this instance. - - - - - Provides NUnit specific extensions to aid in Reflection - across multiple frameworks - - - This version of the class supplies GetTypeInfo() on platforms - that don't support it. - - - - - GetTypeInfo gives access to most of the Type information we take for granted - on .NET Core and Windows Runtime. Rather than #ifdef different code for different - platforms, it is easiest to just code all platforms as if they worked this way, - thus the simple passthrough. - - - - - - - See . - - - - - Extensions for Assembly that are not available in pre-4.5 .NET releases - - - - - An easy way to get a single custom attribute from an assembly - - The attribute Type - The assembly - An attribute of Type T - - - - Extensions for MethodInfo that are not available in pre-4.5 .NET releases - - - - - See . - - - - - See . - - - - - Represents a thread-safe first-in, first-out collection of objects. - - Specifies the type of elements in the queue. - - All public and protected members of are thread-safe and may be used - concurrently from multiple threads. - - - - - Initializes a new instance of the class. - - - - - Initializes the contents of the queue from an existing collection. - - A collection from which to copy elements. - - - - Initializes a new instance of the - class that contains elements copied from the specified collection - - The collection whose elements are copied to the new . - The argument is - null. - - - - Get the data array to be serialized - - - - - Construct the queue from a previously serialized one. - - - - - Copies the elements of the to an , starting at a particular - index. - - The one-dimensional Array that is the - destination of the elements copied from the - . The Array must have zero-based indexing. - The zero-based index in at which copying - begins. - is a null reference (Nothing in - Visual Basic). - is less than - zero. - - is multidimensional. -or- - does not have zero-based indexing. -or- - is equal to or greater than the length of the - -or- The number of elements in the source is - greater than the available space from to the end of the destination - . -or- The type of the source cannot be cast automatically to the type of the - destination . - - - - - Gets a value indicating whether access to the is - synchronized with the SyncRoot. - - true if access to the is synchronized - with the SyncRoot; otherwise, false. For , this property always - returns false. - - - - Gets an object that can be used to synchronize access to the . This property is not supported. - - The SyncRoot property is not supported. - - - - Returns an enumerator that iterates through a collection. - - An that can be used to iterate through the collection. - - - - Attempts to add an object to the . - - The object to add to the . The value can be a null - reference (Nothing in Visual Basic) for reference types. - - true if the object was added successfully; otherwise, false. - For , this operation will always add the object to the - end of the - and return true. - - - - Attempts to remove and return an object from the . - - - When this method returns, if the operation was successful, contains the - object removed. If no object was available to be removed, the value is unspecified. - - true if an element was removed and returned successfully; otherwise, false. - For , this operation will attempt to remove the object - from the beginning of the . - - - - - Gets a value that indicates whether the is empty. - - true if the is empty; otherwise, false. - - For determining whether the collection contains any items, use of this property is recommended - rather than retrieving the number of items from the property and comparing it - to 0. However, as this collection is intended to be accessed concurrently, it may be the case - that another thread will modify the collection after returns, thus invalidating - the result. - - - - - Copies the elements stored in the to a new array. - - A new array containing a snapshot of elements copied from the . - - - - Copies the elements to a new . - - A new containing a snapshot of - elements copied from the . - - - - Store the position of the current head and tail positions. - - return the head segment - return the tail segment - return the head offset, value range [0, SEGMENT_SIZE] - return the tail offset, value range [-1, SEGMENT_SIZE-1] - - - - Gets the number of elements contained in the . - - The number of elements contained in the . - - For determining whether the collection contains any items, use of the - property is recommended rather than retrieving the number of items from the - property and comparing it to 0. - - - - - Copies the elements to an existing one-dimensional Array, starting at the specified array index. - - The one-dimensional Array that is the - destination of the elements copied from the - . The Array must have zero-based - indexing. - The zero-based index in at which copying - begins. - is a null reference (Nothing in - Visual Basic). - is less than - zero. - is equal to or greater than the - length of the - -or- The number of elements in the source is greater than the - available space from to the end of the destination . - - - - - Returns an enumerator that iterates through the . - - An enumerator for the contents of the . - - The enumeration represents a moment-in-time snapshot of the contents - of the queue. It does not reflect any updates to the collection after - GetEnumerator was called. The enumerator is safe to use - concurrently with reads from and writes to the queue. - - - - - Helper method of GetEnumerator to separate out yield return statement, and prevent lazy evaluation. - - - - - Adds an object to the end of the . - - The object to add to the end of the . The value can be a null reference - (Nothing in Visual Basic) for reference types. - - - - - Attempts to remove and return the object at the beginning of the . - - - When this method returns, if the operation was successful, contains the - object removed. If no object was available to be removed, the value is unspecified. - - true if an element was removed and returned from the beginning of the - successfully; otherwise, false. - - - - Attempts to return an object from the beginning of the - without removing it. - - When this method returns, contains an object from - the beginning of the or an - unspecified value if the operation failed. - true if and object was returned successfully; otherwise, false. - - - - private class for ConcurrentQueue. - a queue is a linked list of small arrays, each node is called a segment. - A segment contains an array, a pointer to the next segment, and m_low, m_high indices recording - the first and last valid elements of the array. - - - - - Create and initialize a segment with the specified index. - - - - - return the next segment - - - - - return true if the current segment is empty (doesn't have any element available to dequeue, - false otherwise - - - - - Add an element to the tail of the current segment - exclusively called by ConcurrentQueue.InitializedFromCollection. - InitializeFromCollection is responsible to guarantee that there is no index overflow - and no contention. - - - - - - Create a new segment and append to the current one - Does not update the m_tail pointer - exclusively called by ConcurrentQueue.InitializedFromCollection - InitializeFromCollection is responsible to guarantee that there is no index overflow, - and there is no contention - - the reference to the new Segment - - - - Create a new segment and append to the current one - Update the m_tail pointer - This method is called when there is no contention - - - - - Try to append an element at the end of this segment. - - the element to append - true if the element is appended, false if the current segment is full - if appending the specified element succeeds, and after which the segment is full, - then grow the segment - - - - try to remove an element from the head of current segment - - The result. - return false only if the current segment is empty - - - - try to peek the current segment - - holds the return value of the element at the head position, - value set to default(T) if there is no such an element - true if there are elements in the current segment, false otherwise - - - - Adds part or all of the current segment into a List. - - the list to which to add - the start position - the end position - - - - return the position of the head of the current segment - Value range [0, SEGMENT_SIZE], if it's SEGMENT_SIZE, it means this segment is exhausted and thus empty - - - - - return the logical position of the tail of the current segment - Value range [-1, SEGMENT_SIZE-1]. When it's -1, it means this is a new segment and has no element yet - - - - - A wrapper struct for volatile bool. Please note that a copy of the struct itself will not be volatile, e.g. - volatileBool1 = volatileBool2. - - - - - Defines methods to manipulate thread-safe collections intended for producer/consumer usage. - - Specifies the type of elements in the collection. - - All implementations of this interface must enable all members of this interface - to be used concurrently from multiple threads. - - - - - Copies the elements of the to - an - , starting at a specified index. - - The one-dimensional that is the destination of - the elements copied from the . - The array must have zero-based indexing. - The zero-based index in at which copying - begins. - is a null reference (Nothing in - Visual Basic). - is less than - zero. - is equal to or greater than the - length of the - -or- The number of elements in the source is greater than the - available space from to the end of the destination . - - - - - Attempts to add an object to the . - - The object to add to the . - true if the object was added successfully; otherwise, false. - The was invalid for this collection. - - - - Attempts to remove and return an object from the . - - - When this method returns, if the object was removed and returned successfully, contains the removed object. If no object was available to be removed, the value is - unspecified. - - true if an object was removed and returned successfully; otherwise, false. - - - - Copies the elements contained in the to a new array. - - A new array containing the elements copied from the . - - - - A debugger view of the IProducerConsumerCollection that makes it simple to browse the - collection's contents at a point in time. - - The type of elements stored within. - - - - Constructs a new debugger view object for the provided collection object. - - A collection to browse in the debugger. - - - - Returns a snapshot of the underlying collection's elements. - - - - Specifies that null is allowed as an input even if the corresponding type disallows it. - - - Specifies that null is disallowed as an input even if the corresponding type allows it. - - - Specifies that an output may be null even if the corresponding type disallows it. - - - Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns. - - - Specifies that when a method returns , the parameter may be null even if the corresponding type disallows it. - - - Initializes the attribute with the specified return value condition. - - The return value condition. If the method returns this value, the associated parameter may be null. - - - - Gets the return value condition. - - - Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. - - - Initializes the attribute with the specified return value condition. - - The return value condition. If the method returns this value, the associated parameter will not be null. - - - - Gets the return value condition. - - - Specifies that the output will be non-null if the named parameter is non-null. - - - Initializes the attribute with the associated parameter name. - - The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null. - - - - Gets the associated parameter name. - - - Applied to a method that will never return under any circumstance. - - - Specifies that the method will not return if the associated Boolean parameter is passed the specified value. - - - Initializes the attribute with the specified parameter value. - - The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to - the associated parameter matches this value. - - - - Gets the condition parameter value. - - - - - - - - - - - - - - - - - - - - - - - - Compatibility polyfill based on . - - - - - Provides support for spin-based waiting. - - - - encapsulates common spinning logic. On single-processor machines, yields are - always used instead of busy waits, and on computers with Intel� processors employing Hyper-Threading� - technology, it helps to prevent hardware thread starvation. SpinWait encapsulates a good mixture of - spinning and true yielding. - - - is a value type, which means that low-level code can utilize SpinWait without - fear of unnecessary allocation overheads. SpinWait is not generally useful for ordinary applications. - In most cases, you should use the synchronization classes provided by the .NET Framework, such as - . For most purposes where spin waiting is required, however, - the type should be preferred over the method. - - - While SpinWait is designed to be used in concurrent applications, it is not designed to be - used from multiple threads concurrently. SpinWait's members are not thread-safe. If multiple - threads must spin, each should use its own instance of SpinWait. - - - - - - Gets the number of times has been called on this instance. - - - - - Gets whether the next call to will yield the processor, triggering a - forced context switch. - - Whether the next call to will yield the processor, triggering a - forced context switch. - - On a single-CPU machine, always yields the processor. On machines with - multiple CPUs, may yield after an unspecified number of calls. - - - - - Performs a single spin. - - - This is typically called in a loop, and may change in behavior based on the number of times a - has been called thus far on this instance. - - - - - Resets the spin counter. - - - This makes and behave as though no calls - to had been issued on this instance. If a instance - is reused many times, it may be useful to reset it to avoid yielding too soon. - - - - - Spins until the specified condition is satisfied. - - A delegate to be executed over and over until it returns true. - The argument is null. - - - - Spins until the specified condition is satisfied or until the specified timeout is expired. - - A delegate to be executed over and over until it returns true. - - A that represents the number of milliseconds to wait, - or a TimeSpan that represents -1 milliseconds to wait indefinitely. - True if the condition is satisfied within the timeout; otherwise, false - The argument is null. - is a negative number - other than -1 milliseconds, which represents an infinite time-out -or- timeout is greater than - . - - - - Spins until the specified condition is satisfied or until the specified timeout is expired. - - A delegate to be executed over and over until it returns true. - The number of milliseconds to wait, or (-1) to wait indefinitely. - True if the condition is satisfied within the timeout; otherwise, false - The argument is null. - is a - negative number other than -1, which represents an infinite time-out. - - - - A helper class to get the number of processors, it updates the numbers of processors every sampling interval. - - - - - Gets the number of available processors - - - - - Gets whether the current machine has only a single processor. - - - - - A helper class to capture a start time using Environment.TickCount as a time in milliseconds, also updates a given timeout bu subtracting the current time from - the start time - - - - - Returns the Environment.TickCount as a start time in milliseconds as a uint, TickCount tools over from positive to negative every ~ 25 days - then ~25 days to back to positive again, uint is sued to ignore the sign and double the range to 50 days - - - - - - Helper function to measure and update the elapsed time - - The first time (in milliseconds) observed when the wait started - The original wait timeout in milliseconds - The new wait time in milliseconds, -1 if the time expired - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/packages/NUnit.3.13.2/lib/net40/nunit.framework.xml b/src/packages/NUnit.3.13.2/lib/net40/nunit.framework.xml deleted file mode 100644 index 3e95c8f..0000000 --- a/src/packages/NUnit.3.13.2/lib/net40/nunit.framework.xml +++ /dev/null @@ -1,21286 +0,0 @@ - - - - nunit.framework - - - - - The different targets a test action attribute can be applied to - - - - - Default target, which is determined by where the action attribute is attached - - - - - Target a individual test case - - - - - Target a suite of test cases - - - - - DefaultTestAssemblyBuilder loads a single assembly and builds a TestSuite - containing test fixtures present in the assembly. - - - - - The default suite builder used by the test assembly builder. - - - - - Initializes a new instance of the class. - - - - - Build a suite of tests from a provided assembly - - The assembly from which tests are to be built - A dictionary of options to use in building the suite - - A TestSuite containing the tests found in the assembly - - - - - Build a suite of tests given the name or the location of an assembly - - The name or the location of the assembly. - A dictionary of options to use in building the suite - - A TestSuite containing the tests found in the assembly - - - - - FrameworkController provides a facade for use in loading, browsing - and running tests without requiring a reference to the NUnit - framework. All calls are encapsulated in constructors for - this class and its nested classes, which only require the - types of the Common Type System as arguments. - - The controller supports four actions: Load, Explore, Count and Run. - They are intended to be called by a driver, which should allow for - proper sequencing of calls. Load must be called before any of the - other actions. The driver may support other actions, such as - reload on run, by combining these calls. - - - - - Construct a FrameworkController using the default builder and runner. - - The AssemblyName or path to the test assembly - A prefix used for all test ids created under this controller. - A Dictionary of settings to use in loading and running the tests - - - - Construct a FrameworkController using the default builder and runner. - - The test assembly - A prefix used for all test ids created under this controller. - A Dictionary of settings to use in loading and running the tests - - - - Construct a FrameworkController, specifying the types to be used - for the runner and builder. This constructor is provided for - purposes of development. - - The full AssemblyName or the path to the test assembly - A prefix used for all test ids created under this controller. - A Dictionary of settings to use in loading and running the tests - The Type of the test runner - The Type of the test builder - - - - Construct a FrameworkController, specifying the types to be used - for the runner and builder. This constructor is provided for - purposes of development. - - The test assembly - A prefix used for all test ids created under this controller. - A Dictionary of settings to use in loading and running the tests - The Type of the test runner - The Type of the test builder - - - - Gets the ITestAssemblyBuilder used by this controller instance. - - The builder. - - - - Gets the ITestAssemblyRunner used by this controller instance. - - The runner. - - - - Gets the AssemblyName or the path for which this FrameworkController was created - - - - - Gets the Assembly for which this - - - - - Gets a dictionary of settings for the FrameworkController - - - - - Loads the tests in the assembly - - - - - - Returns info about the tests in an assembly - - A string containing the XML representation of the filter to use - The XML result of exploring the tests - - - - Runs the tests in an assembly - - A string containing the XML representation of the filter to use - The XML result of the test run - - - - Runs the tests in an assembly synchronously reporting back the test results through the callback - or through the return value - - The callback that receives the test results - A string containing the XML representation of the filter to use - The XML result of the test run - - - - Runs the tests in an assembly asynchronously reporting back the test results through the callback - - The callback that receives the test results - A string containing the XML representation of the filter to use - - - - Stops the test run - - True to force the stop, false for a cooperative stop - - - - Counts the number of test cases in the loaded TestSuite - - A string containing the XML representation of the filter to use - The number of tests - - - - Inserts the environment and settings elements - - Target node - The updated target node - - - - Inserts environment element - - Target node - The new node - - - - Inserts settings element - - Target node - Settings dictionary - The new node - - - - FrameworkControllerAction is the base class for all actions - performed against a FrameworkController. - - - - - LoadTestsAction loads a test into the FrameworkController - - - - - LoadTestsAction loads the tests in an assembly. - - The controller. - The callback handler. - - - - ExploreTestsAction returns info about the tests in an assembly - - - - - Initializes a new instance of the class. - - The controller for which this action is being performed. - Filter used to control which tests are included (NYI) - The callback handler. - - - - CountTestsAction counts the number of test cases in the loaded TestSuite - held by the FrameworkController. - - - - - Construct a CountsTestAction and perform the count of test cases. - - A FrameworkController holding the TestSuite whose cases are to be counted - A string containing the XML representation of the filter to use - A callback handler used to report results - - - - RunTestsAction runs the loaded TestSuite held by the FrameworkController. - - - - - Construct a RunTestsAction and run all tests in the loaded TestSuite. - - A FrameworkController holding the TestSuite to run - A string containing the XML representation of the filter to use - A callback handler used to report results - - - - RunAsyncAction initiates an asynchronous test run, returning immediately - - - - - Construct a RunAsyncAction and run all tests in the loaded TestSuite. - - A FrameworkController holding the TestSuite to run - A string containing the XML representation of the filter to use - A callback handler used to report results - - - - StopRunAction stops an ongoing run. - - - - - Construct a StopRunAction and stop any ongoing run. If no - run is in process, no error is raised. - - The FrameworkController for which a run is to be stopped. - True the stop should be forced, false for a cooperative stop. - >A callback handler used to report results - A forced stop will cause threads and processes to be killed as needed. - - - - The ITestAssemblyBuilder interface is implemented by a class - that is able to build a suite of tests given an assembly or - an assembly filename. - - - - - Build a suite of tests from a provided assembly - - The assembly from which tests are to be built - A dictionary of options to use in building the suite - A TestSuite containing the tests found in the assembly - - - - Build a suite of tests given the filename of an assembly - - The filename of the assembly from which tests are to be built - A dictionary of options to use in building the suite - A TestSuite containing the tests found in the assembly - - - - The ITestAssemblyRunner interface is implemented by classes - that are able to execute a suite of tests loaded - from an assembly. - - - - - Gets the tree of loaded tests, or null if - no tests have been loaded. - - - - - Gets the tree of test results, if the test - run is completed, otherwise null. - - - - - Indicates whether a test has been loaded - - - - - Indicates whether a test is currently running - - - - - Indicates whether a test run is complete - - - - - Loads the tests found in an Assembly, returning an - indication of whether or not the load succeeded. - - File name of the assembly to load - Dictionary of options to use in loading the test - An ITest representing the loaded tests - - - - Loads the tests found in an Assembly, returning an - indication of whether or not the load succeeded. - - The assembly to load - Dictionary of options to use in loading the test - An ITest representing the loaded tests - - - - Count Test Cases using a filter - - The filter to apply - The number of test cases found - - - - Explore the test cases using a filter - - The filter to apply - Test Assembly with test cases that matches the filter - - - - Run selected tests and return a test result. The test is run synchronously, - and the listener interface is notified as it progresses. - - Interface to receive ITestListener notifications. - A test filter used to select tests to be run - - - - Run selected tests asynchronously, notifying the listener interface as it progresses. - - Interface to receive EventListener notifications. - A test filter used to select tests to be run - - - - Wait for the ongoing run to complete. - - Time to wait in milliseconds - True if the run completed, otherwise false - - - - Signal any test run that is in process to stop. Return without error if no test is running. - - If true, kill any test-running threads - - - - Implementation of ITestAssemblyRunner - - - - - Initializes a new instance of the class. - - The builder. - - - - Gets the default level of parallel execution (worker threads) - - - - - The tree of tests that was loaded by the builder - - - - - The test result, if a run has completed - - - - - Indicates whether a test is loaded - - - - - Indicates whether a test is running - - - - - Indicates whether a test run is complete - - - - - Our settings, specified when loading the assembly - - - - - The top level WorkItem created for the assembly as a whole - - - - - The TestExecutionContext for the top level WorkItem - - - - - Loads the tests found in an Assembly - - File name or path of the assembly to load - Dictionary of option settings for loading the assembly - A Test Assembly containing all loaded tests - - - - Loads the tests found in an Assembly - - The assembly to load - Dictionary of option settings for loading the assembly - A Test Assembly containing all loaded tests - - - - Count Test Cases using a filter - - The filter to apply - The number of test cases found - - - - Explore the test cases using a filter - - The filter to apply - Test Assembly with test cases that matches the filter - - - - Run selected tests and return a test result. The test is run synchronously, - and the listener interface is notified as it progresses. - - Interface to receive EventListener notifications. - A test filter used to select tests to be run - The test results from the run - - - - Run selected tests asynchronously, notifying the listener interface as it progresses. - - Interface to receive EventListener notifications. - A test filter used to select tests to be run - - RunAsync is a template method, calling various abstract and - virtual methods to be overridden by derived classes. - - - - - Wait for the ongoing run to complete. - - Time to wait in milliseconds - True if the run completed, otherwise false - - - - Signal any test run that is in process to stop. Return without error if no test is running. - - If true, kill any tests that are currently running - - - - Initiate the test run. - - - - - Create the initial TestExecutionContext used to run tests - - The ITestListener specified in the RunAsync call - - - - Handle the Completed event for the top level work item - - - - - Executes the action within an - which ensures the is cleaned up - suitably at the end of the test run. This method only has an effect running - the full .NET Framework. - - - - - The Assert class contains a collection of static methods that - implement the most common assertions used in NUnit. - - - The Assert class contains a collection of static methods that - implement the most common assertions used in NUnit. - - - - - Verifies that the first int is greater than the second - int. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first int is greater than the second - int. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - - - - Verifies that the first value is greater than the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is greater than the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - - - - Verifies that the first value is greater than the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is greater than the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - - - - Verifies that the first value is greater than the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is greater than the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - - - - Verifies that the first value is greater than the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is greater than the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - - - - Verifies that the first value is greater than the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is greater than the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - - - - Verifies that the first value is greater than the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is greater than the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - - - - Verifies that the first value is greater than the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is greater than the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - - - - Verifies that the first value is less than the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is less than the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - - - - Verifies that the first value is less than the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is less than the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - - - - Verifies that the first value is less than the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is less than the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - - - - Verifies that the first value is less than the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is less than the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - - - - Verifies that the first value is less than the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is less than the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - - - - Verifies that the first value is less than the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is less than the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - - - - Verifies that the first value is less than the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is less than the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - - - - Verifies that the first value is less than the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is less than the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - - - - Verifies that the first value is greater than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is greater than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - - - - Verifies that the first value is greater than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is greater than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - - - - Verifies that the first value is greater than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is greater than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - - - - Verifies that the first value is greater than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is greater than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - - - - Verifies that the first value is greater than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is greater than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - - - - Verifies that the first value is greater than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is greater than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - - - - Verifies that the first value is greater than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is greater than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - - - - Verifies that the first value is greater than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is greater than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - - - - Verifies that the first value is less than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is less than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - - - - Verifies that the first value is less than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is less than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - - - - Verifies that the first value is less than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is less than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - - - - Verifies that the first value is less than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is less than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - - - - Verifies that the first value is less than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is less than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - - - - Verifies that the first value is less than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is less than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - - - - Verifies that the first value is less than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is less than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - - - - Verifies that the first value is less than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is less than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - - - - Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. - - The evaluated condition - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. - - The evaluated condition - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. - - The evaluated condition - - - - Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. - - The evaluated condition - - - - Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. - - The evaluated condition - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. - - The evaluated condition - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. - - The evaluated condition - - - - Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. - - The evaluated condition - - - - Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert - block. - - The evaluated condition - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert - block. - - The evaluated condition - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert block. - - The evaluated condition - - - - Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert - block. - - The evaluated condition - - - - Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert - block. - - The evaluated condition - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert - block. - - The evaluated condition - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert - block. - - The evaluated condition - - - - Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert - block. - - The evaluated condition - - - - Verifies that the object that is passed in is not equal to . Returns without throwing an - exception when inside a multiple assert block. - - The object that is to be tested - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the object that is passed in is not equal to . Returns without throwing an - exception when inside a multiple assert block. - - The object that is to be tested - - - - Verifies that the object that is passed in is not equal to . Returns without throwing an - exception when inside a multiple assert block. - - The object that is to be tested - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the object that is passed in is not equal to . Returns without throwing an - exception when inside a multiple assert block. - - The object that is to be tested - - - - Verifies that the object that is passed in is equal to . Returns without throwing an - exception when inside a multiple assert block. - - The object that is to be tested - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the object that is passed in is equal to . Returns without throwing an - exception when inside a multiple assert block. - - The object that is to be tested - - - - Verifies that the object that is passed in is equal to . Returns without throwing an - exception when inside a multiple assert block. - - The object that is to be tested - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the object that is passed in is equal to . Returns without throwing an - exception when inside a multiple assert block. - - The object that is to be tested - - - - Verifies that the double that is passed in is an NaN. Returns without throwing an - exception when inside a multiple assert block. - - The value that is to be tested - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the double that is passed in is an NaN value. Returns without throwing an - exception when inside a multiple assert block. - - The value that is to be tested - - - - Verifies that the double that is passed in is an NaN value. Returns without throwing an - exception when inside a multiple assert block. - - The value that is to be tested - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the double that is passed in is an NaN value. Returns without throwing an - exception when inside a multiple assert block. - - The value that is to be tested - - - - Assert that a string is empty. Returns without throwing an exception when inside a multiple assert block. - - The string to be tested - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Assert that a string is empty. Returns without throwing an exception when inside a multiple assert block. - - The string to be tested - - - - Assert that an array, list or other collection is empty. Returns without throwing an exception when inside a - multiple assert block. - - An array, list or other collection implementing ICollection - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Assert that an array, list or other collection is empty. Returns without throwing an exception when inside a - multiple assert block. - - An array, list or other collection implementing ICollection - - - - Assert that a string is not empty. Returns without throwing an exception when inside a multiple assert - block. - - The string to be tested - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Assert that a string is not empty. Returns without throwing an exception when inside a multiple assert - block. - - The string to be tested - - - - Assert that an array, list or other collection is not empty. Returns without throwing an exception when - inside a multiple assert block. - - An array, list or other collection implementing ICollection - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Assert that an array, list or other collection is not empty. Returns without throwing an exception when - inside a multiple assert block. - - An array, list or other collection implementing ICollection - - - - Asserts that an int is zero. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - - - - Asserts that an int is zero. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an unsigned int is zero. Returns without throwing an exception when inside a multiple assert - block. - - The number to be examined - - - - Asserts that an unsigned int is zero. Returns without throwing an exception when inside a multiple assert - block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a Long is zero. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - - - - Asserts that a Long is zero. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an unsigned Long is zero. Returns without throwing an exception when inside a multiple assert - block. - - The number to be examined - - - - Asserts that an unsigned Long is zero. Returns without throwing an exception when inside a multiple assert - block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a decimal is zero. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - - - - Asserts that a decimal is zero. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a double is zero. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - - - - Asserts that a double is zero. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a float is zero. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - - - - Asserts that a float is zero. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an int is not zero. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - - - - Asserts that an int is not zero. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an unsigned int is not zero. Returns without throwing an exception when inside a multiple - assert block. - - The number to be examined - - - - Asserts that an unsigned int is not zero. Returns without throwing an exception when inside a multiple - assert block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a Long is not zero. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - - - - Asserts that a Long is not zero. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an unsigned Long is not zero. Returns without throwing an exception when inside a multiple - assert block. - - The number to be examined - - - - Asserts that an unsigned Long is not zero. Returns without throwing an exception when inside a multiple - assert block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a decimal is zero. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - - - - Asserts that a decimal is zero. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a double is zero. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - - - - Asserts that a double is zero. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a float is zero. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - - - - Asserts that a float is zero. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an int is positive. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - - - - Asserts that an int is positive. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an unsigned int is positive. Returns without throwing an exception when inside a multiple - assert block. - - The number to be examined - - - - Asserts that an unsigned int is positive. Returns without throwing an exception when inside a multiple - assert block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a Long is positive. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - - - - Asserts that a Long is positive. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an unsigned Long is positive. Returns without throwing an exception when inside a multiple - assert block. - - The number to be examined - - - - Asserts that an unsigned Long is positive. Returns without throwing an exception when inside a multiple - assert block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a decimal is positive. Returns without throwing an exception when inside a multiple assert - block. - - The number to be examined - - - - Asserts that a decimal is positive. Returns without throwing an exception when inside a multiple assert - block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a double is positive. Returns without throwing an exception when inside a multiple assert - block. - - The number to be examined - - - - Asserts that a double is positive. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a float is positive. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - - - - Asserts that a float is positive. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an int is negative. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - - - - Asserts that an int is negative. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an unsigned int is negative. Returns without throwing an exception when inside a multiple - assert block. - - The number to be examined - - - - Asserts that an unsigned int is negative. Returns without throwing an exception when inside a multiple - assert block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a Long is negative. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - - - - Asserts that a Long is negative. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an unsigned Long is negative. Returns without throwing an exception when inside a multiple - assert block. - - The number to be examined - - - - Asserts that an unsigned Long is negative. Returns without throwing an exception when inside a multiple - assert block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a decimal is negative. Returns without throwing an exception when inside a multiple assert - block. - - The number to be examined - - - - Asserts that a decimal is negative. Returns without throwing an exception when inside a multiple assert - block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a double is negative. Returns without throwing an exception when inside a multiple assert - block. - - The number to be examined - - - - Asserts that a double is negative. Returns without throwing an exception when inside a multiple assert - block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a float is negative. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - - - - Asserts that a float is negative. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - DO NOT USE! Use Assert.AreEqual(...) instead. - The Equals method throws an InvalidOperationException. This is done - to make sure there is no mistake by calling this function. - - - - - - - DO NOT USE! - The ReferenceEquals method throws an InvalidOperationException. This is done - to make sure there is no mistake by calling this function. - - - - - - - Throws a with the message and arguments - that are passed in. This allows a test to be cut short, with a result - of success returned to NUnit. - - The message to initialize the with. - Arguments to be used in formatting the message - - - - Throws a with the message and arguments - that are passed in. This allows a test to be cut short, with a result - of success returned to NUnit. - - The message to initialize the with. - - - - Throws a with the message and arguments - that are passed in. This allows a test to be cut short, with a result - of success returned to NUnit. - - - - - Marks the test as failed with the message and arguments that are passed in. Returns without throwing an - exception when inside a multiple assert block. - - The message to initialize the with. - Arguments to be used in formatting the message - - - - Marks the test as failed with the message that is passed in. Returns without throwing an exception when - inside a multiple assert block. - - The message to initialize the with. - - - - Marks the test as failed. Returns without throwing an exception when inside a multiple assert block. - - - - - Issues a warning using the message and arguments provided. - - The message to display. - Arguments to be used in formatting the message - - - - Issues a warning using the message provided. - - The message to display. - - - - Throws an with the message and arguments - that are passed in. This causes the test to be reported as ignored. - - The message to initialize the with. - Arguments to be used in formatting the message - - - - Throws an with the message that is - passed in. This causes the test to be reported as ignored. - - The message to initialize the with. - - - - Throws an . - This causes the test to be reported as ignored. - - - - - Throws an with the message and arguments - that are passed in. This causes the test to be reported as inconclusive. - - The message to initialize the with. - Arguments to be used in formatting the message - - - - Throws an with the message that is - passed in. This causes the test to be reported as inconclusive. - - The message to initialize the with. - - - - Throws an . - This causes the test to be reported as Inconclusive. - - - - - Asserts that an object is contained in a collection. Returns without throwing an exception when inside a - multiple assert block. - - The expected object - The collection to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an object is contained in a collection. Returns without throwing an exception when inside a - multiple assert block. - - The expected object - The collection to be examined - - - - Wraps code containing a series of assertions, which should all - be executed, even if they fail. Failed results are saved and - reported at the end of the code block. - - A TestDelegate to be executed in Multiple Assertion mode. - - - - Wraps code containing a series of assertions, which should all - be executed, even if they fail. Failed results are saved and - reported at the end of the code block. - - A TestDelegate to be executed in Multiple Assertion mode. - - - - If throws, returns "SomeException was thrown by the - Environment.StackTrace property." See also . - - - - - Verifies that two doubles are equal considering a delta. If the expected value is infinity then the delta - value is ignored. Returns without throwing an exception when inside a multiple assert block. - - The expected value - The actual value - The maximum acceptable difference between the the expected and the actual - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that two doubles are equal considering a delta. If the expected value is infinity then the delta - value is ignored. Returns without throwing an exception when inside a multiple assert block. - - The expected value - The actual value - The maximum acceptable difference between the the expected and the actual - - - - Verifies that two doubles are equal considering a delta. If the expected value is infinity then the delta - value is ignored. Returns without throwing an exception when inside a multiple assert block. - - The expected value - The actual value - The maximum acceptable difference between the the expected and the actual - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that two doubles are equal considering a delta. If the expected value is infinity then the delta - value is ignored. Returns without throwing an exception when inside a multiple assert block. - - The expected value - The actual value - The maximum acceptable difference between the the expected and the actual - - - - Verifies that two objects are equal. Two objects are considered equal if both are null, or if both have the - same value. NUnit has special semantics for some object types. Returns without throwing an exception when - inside a multiple assert block. - - The value that is expected - The actual value - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that two objects are equal. Two objects are considered equal if both are null, or if both have the - same value. NUnit has special semantics for some object types. Returns without throwing an exception when - inside a multiple assert block. - - The value that is expected - The actual value - - - - Verifies that two objects are not equal. Two objects are considered equal if both are null, or if both have - the same value. NUnit has special semantics for some object types. Returns without throwing an exception - when inside a multiple assert block. - - The value that is expected - The actual value - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that two objects are not equal. Two objects are considered equal if both are null, or if both have - the same value. NUnit has special semantics for some object types. Returns without throwing an exception - when inside a multiple assert block. - - The value that is expected - The actual value - - - - Asserts that two objects refer to the same object. Returns without throwing an exception when inside a - multiple assert block. - - The expected object - The actual object - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that two objects refer to the same object. Returns without throwing an exception when inside a - multiple assert block. - - The expected object - The actual object - - - - Asserts that two objects do not refer to the same object. Returns without throwing an exception when inside - a multiple assert block. - - The expected object - The actual object - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that two objects do not refer to the same object. Returns without throwing an exception when inside - a multiple assert block. - - The expected object - The actual object - - - - Helper for Assert.AreEqual(double expected, double actual, ...) - allowing code generation to work consistently. - - The expected value - The actual value - The maximum acceptable difference between the - the expected and the actual - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that an async delegate throws a particular exception when called. The returned exception may be - when inside a multiple assert block. - - A constraint to be satisfied by the exception - A TestSnippet delegate - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Verifies that an async delegate throws a particular exception when called. The returned exception may be - when inside a multiple assert block. - - A constraint to be satisfied by the exception - A TestSnippet delegate - - - - Verifies that an async delegate throws a particular exception when called. The returned exception may be - when inside a multiple assert block. - - The exception Type expected - A TestDelegate - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Verifies that an async delegate throws a particular exception when called. The returned exception may be - when inside a multiple assert block. - - The exception Type expected - A TestDelegate - - - - Verifies that an async delegate throws a particular exception when called. The returned exception may be - when inside a multiple assert block. - - Type of the expected exception - A TestDelegate - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Verifies that an async delegate throws a particular exception when called. The returned exception may be - when inside a multiple assert block. - - Type of the expected exception - A TestDelegate - - - - Verifies that an async delegate throws an exception when called and returns it. The returned exception may - be when inside a multiple assert block. - - A TestDelegate - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Verifies that an async delegate throws an exception when called and returns it. The returned exception may - be when inside a multiple assert block. - - 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 returned exception may be when inside a multiple assert block. - - The expected Exception Type - A TestDelegate - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Verifies that an async delegate throws an exception of a certain Type or one derived from it when called and - returns it. The returned exception may be when inside a multiple assert block. - - 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. The returned exception may be when inside a multiple assert block. - - A TestDelegate - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Verifies that an async delegate throws an exception of a certain Type or one derived from it when called and - returns it. The returned exception may be when inside a multiple assert block. - - 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. The returned exception may be when inside a multiple assert block. - - A constraint to be satisfied by the exception - A TestSnippet delegate - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Verifies that a delegate throws a particular exception when called. The returned exception may be when inside a multiple assert block. - - A constraint to be satisfied by the exception - A TestSnippet delegate - - - - Verifies that a delegate throws a particular exception when called. The returned exception may be when inside a multiple assert block. - - The exception Type expected - A TestDelegate - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Verifies that a delegate throws a particular exception when called. The returned exception may be when inside a multiple assert block. - - The exception Type expected - A TestDelegate - - - - Verifies that a delegate throws a particular exception when called. The returned exception may be when inside a multiple assert block. - - Type of the expected exception - A TestDelegate - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Verifies that a delegate throws a particular exception when called. The returned exception may be when inside a multiple assert block. - - Type of the expected exception - A TestDelegate - - - - Verifies that a delegate throws an exception when called and returns it. The returned exception may be when inside a multiple assert block. - - A TestDelegate - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Verifies that a delegate throws an exception when called and returns it. The returned exception may be when inside a multiple assert block. - - A TestDelegate - - - - Verifies that a delegate throws an exception of a certain Type or one derived from it when called and - returns it. The returned exception may be when inside a multiple assert block. - - The expected Exception Type - A TestDelegate - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Verifies that a delegate throws an exception of a certain Type or one derived from it when called and - returns it. The returned exception may be when inside a multiple assert block. - - The expected Exception Type - A TestDelegate - - - - Verifies that a delegate throws an exception of a certain Type or one derived from it when called and - returns it. The returned exception may be when inside a multiple assert block. - - A TestDelegate - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Verifies that a delegate throws an exception of a certain Type or one derived from it when called and - returns it. The returned exception may be when inside a multiple assert block. - - A TestDelegate - - - - Verifies that a delegate does not throw an exception - - A TestDelegate - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Verifies that a delegate does not throw an exception. - - A TestDelegate - - - - Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. - - The evaluated condition - The message to display if the condition is false - Arguments to be used in formatting the message - - - - Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. - - The evaluated condition - - - - Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. - - The evaluated condition - A function to build the message included with the Exception - - - - Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. - - A lambda that returns a Boolean - The message to display if the condition is false - Arguments to be used in formatting the message - - - - Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. - - A lambda that returns a Boolean - - - - Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. - - A lambda that returns a Boolean - A function to build the message included with the Exception - - - - Apply a constraint to a delegate. Returns without throwing an exception when inside a multiple assert block. - - The Type being compared. - An ActualValueDelegate returning the value to be tested - A Constraint expression to be applied - - - - Apply a constraint to a delegate. Returns without throwing an exception when inside a multiple assert block. - - The Type being compared. - An ActualValueDelegate returning the value to be tested - A Constraint expression to be applied - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Apply a constraint to a delegate. Returns without throwing an exception when inside a multiple assert block. - - The Type being compared. - An ActualValueDelegate returning the value to be tested - A Constraint expression to be applied - A function to build the message included with the Exception - - - - Apply a constraint to a delegate. Returns without throwing an exception when inside a multiple assert block. - - A TestDelegate to be executed - A Constraint expression to be applied - - - - Apply a constraint to a delegate. Returns without throwing an exception when inside a multiple assert block. - - A TestDelegate to be executed - A Constraint expression to be applied - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Apply a constraint to a delegate. Returns without throwing an exception when inside a multiple assert block. - - A TestDelegate to be executed - A Constraint expression to be applied - A function to build the message included with the Exception - - - - Apply a constraint to an actual value. Returns without throwing an exception when inside a multiple assert - block. - - The Type being compared. - The actual value to test - A Constraint expression to be applied - - - - Apply a constraint to an actual value. Returns without throwing an exception when inside a multiple assert - block. - - The Type being compared. - The actual value to test - A Constraint expression to be applied - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Apply a constraint to an actual value. Returns without throwing an exception when inside a multiple assert - block. - - The Type being compared. - The actual value to test - A Constraint expression to be applied - A function to build the message included with the Exception - - - - Apply a constraint to an actual value. Returns without throwing an exception when inside a multiple assert - block. Used as a synonym for That in rare cases where a private setter causes a Visual Basic compilation - error. - - The actual value to test - A Constraint expression to be applied - - - - Apply a constraint to an actual value. Returns without throwing an exception when inside a multiple assert - block. Used as a synonym for That in rare cases where a private setter causes a Visual Basic compilation - error. - - - This method is provided for use by VB developers needing to test the value of properties with private - setters. - - The actual value to test - A Constraint expression to be applied - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Asserts that an object may be assigned a value of a given Type. Returns without throwing an exception when - inside a multiple assert block. - - The expected Type. - The object under examination - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an object may be assigned a value of a given Type. Returns without throwing an exception when - inside a multiple assert block. - - The expected Type. - The object under examination - - - - Asserts that an object may be assigned a value of a given Type. Returns without throwing an exception when - inside a multiple assert block. - - The expected Type. - The object under examination - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an object may be assigned a value of a given Type. Returns without throwing an exception when - inside a multiple assert block. - - The expected Type. - The object under examination - - - - Asserts that an object may not be assigned a value of a given Type. Returns without throwing an exception - when inside a multiple assert block. - - The expected Type. - The object under examination - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an object may not be assigned a value of a given Type. Returns without throwing an exception - when inside a multiple assert block. - - The expected Type. - The object under examination - - - - Asserts that an object may not be assigned a value of a given Type. Returns without throwing an exception - when inside a multiple assert block. - - The expected Type. - The object under examination - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an object may not be assigned a value of a given Type. Returns without throwing an exception - when inside a multiple assert block. - - The expected Type. - The object under examination - - - - Asserts that an object is an instance of a given type. Returns without throwing an exception when inside a - multiple assert block. - - The expected Type - The object being examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an object is an instance of a given type. Returns without throwing an exception when inside a - multiple assert block. - - The expected Type - The object being examined - - - - Asserts that an object is an instance of a given type. Returns without throwing an exception when inside a - multiple assert block. - - The expected Type - The object being examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an object is an instance of a given type. Returns without throwing an exception when inside a - multiple assert block. - - The expected Type - The object being examined - - - - Asserts that an object is not an instance of a given type. Returns without throwing an exception when inside - a multiple assert block. - - The expected Type - The object being examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an object is not an instance of a given type. Returns without throwing an exception when inside - a multiple assert block. - - The expected Type - The object being examined - - - - Asserts that an object is not an instance of a given type. Returns without throwing an exception when inside - a multiple assert block. - - The expected Type - The object being examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an object is not an instance of a given type. Returns without throwing an exception when inside - a multiple assert block. - - The expected Type - The object being examined - - - - Delegate used by tests that execute code and - capture any thrown exception. - - - - - 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 Constraint expression to be applied - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and throwing an assertion exception on failure. - - A Constraint expression to be applied - The actual value to test - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and throwing an assertion exception on failure. - - A Constraint expression to be applied - The actual value to test - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Returns a ListMapper based on a collection. - - The original collection - - - - Returns a ConstraintExpression that negates any - following constraint. - - - - - Returns a ConstraintExpression that negates any - following constraint. - - - - - Returns a ConstraintExpression, which will apply - the following constraint to all members of a collection, - succeeding if all of them succeed. - - - - - Returns a ConstraintExpression, which will apply - the following constraint to all members of a collection, - succeeding if at least one of them succeeds. - - - - - Returns a ConstraintExpression, which will apply - the following constraint to all members of a collection, - succeeding if all of them fail. - - - - - Returns a ConstraintExpression, which will apply - the following constraint to all members of a collection, - succeeding only if a specified number of them succeed. - - - - - Returns a new PropertyConstraintExpression, which will either - test for the existence of the named property on the object - being tested or apply any following constraint to that property. - - - - - Returns a new ConstraintExpression, which will apply the following - constraint to the Length property of the object being tested. - - - - - Returns a new ConstraintExpression, which will apply the following - constraint to the Count property of the object being tested. - - - - - Returns a new ConstraintExpression, which will apply the following - constraint to the Message property of the object being tested. - - - - - Returns a new ConstraintExpression, which will apply the following - constraint to the InnerException property of the object being tested. - - - - - Returns a new AttributeConstraint checking for the - presence of a particular attribute on an object. - - - - - Returns a new AttributeConstraint checking for the - presence of a particular attribute on an object. - - - - - Returns a constraint that tests for null - - - - - Returns a constraint that tests for True - - - - - Returns a constraint that tests for False - - - - - Returns a constraint that tests for a positive value - - - - - Returns a constraint that tests for a negative value - - - - - Returns a constraint that tests for equality with zero - - - - - Returns a constraint that tests for NaN - - - - - Returns a constraint that tests for empty - - - - - Returns a constraint that tests whether a collection - contains all unique items. - - - - - Returns a constraint that tests whether an object graph is serializable in binary format. - - - - - Returns a constraint that tests whether an object graph is serializable in XML format. - - - - - Returns a constraint that tests two items for equality - - - - - Returns a constraint that tests that two references are the same object - - - - - Returns a constraint that tests whether the - actual value is greater than the supplied argument - - - - - Returns a constraint that tests whether the - actual value is greater than or equal to the supplied argument - - - - - Returns a constraint that tests whether the - actual value is greater than or equal to the supplied argument - - - - - Returns a constraint that tests whether the - actual value is less than the supplied argument - - - - - Returns a constraint that tests whether the - actual value is less than or equal to the supplied argument - - - - - Returns a constraint that tests whether the - actual value is less than or equal to the supplied argument - - - - - Returns a constraint that tests whether the actual - value is of the exact type supplied as an argument. - - - - - Returns a constraint that tests whether the actual - value is of the exact type supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is of the type supplied as an argument or a derived type. - - - - - Returns a constraint that tests whether the actual value - is of the type supplied as an argument or a derived type. - - - - - Returns a constraint that tests whether the actual value - is assignable from the type supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is assignable from the type supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is assignable from the type supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is assignable from the type supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is a collection containing the same elements as the - collection supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is a subset of the collection supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is a superset of the collection supplied as an argument. - - - - - Returns a constraint that tests whether a collection is ordered - - - - - Returns a new checking for the - presence of a particular object in the collection. - - - - - - Returns a new checking for the - presence of a particular object in the collection. - - - To search for a substring instead of a collection element, use the - overload. - - - - - - - Returns a new ContainsConstraint. This constraint - will, in turn, make use of the appropriate second-level - constraint, depending on the type of the actual argument. - - - To search for a collection element instead of a substring, use the - overload. - - - - - - Returns a constraint that succeeds if the actual - value contains the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value contains the substring supplied as an argument. - - - - - Returns a constraint that fails if the actual - value contains the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value starts with the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value starts with the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value starts with the substring supplied as an argument. - - - - - Returns a constraint that fails if the actual - value starts with the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value ends with the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value ends with the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value ends with the substring supplied as an argument. - - - - - Returns a constraint that fails if the actual - value ends with the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value matches the regular expression supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value matches the regular expression supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value matches the regular expression supplied as an argument. - - - - - Returns a constraint that fails if the actual - value matches the pattern supplied as an argument. - - - - - Returns a constraint that tests whether the path provided - is the same as an expected path after canonicalization. - - - - - Returns a constraint that tests whether the path provided - is a subpath of the expected path after canonicalization. - - - - - Returns a constraint that tests whether the path provided - is the same path or under an expected path after canonicalization. - - - - - Returns a constraint that tests whether the actual value falls - within a specified range. - - - - - Provides static methods to express the assumptions - that must be met for a test to give a meaningful - result. If an assumption is not met, the test - should produce an inconclusive result. - - - - - DO NOT USE! - The Equals method throws an InvalidOperationException. This is done - to make sure there is no mistake by calling this function. - - The left object. - The right object. - Not applicable - - - - DO NOT USE! - The ReferenceEquals method throws an InvalidOperationException. This is done - to make sure there is no mistake by calling this function. - - The left object. - The right object. - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and throwing an InconclusiveException on failure. - - The Type being compared. - An ActualValueDelegate returning the value to be tested - A Constraint expression to be applied - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and throwing an InconclusiveException on failure. - - The Type being compared. - An ActualValueDelegate returning the value to be tested - A Constraint expression to be applied - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and throwing an InconclusiveException on failure. - - The Type being compared. - An ActualValueDelegate returning the value to be tested - A Constraint expression to be applied - A function to build the message included with the Exception - - - - Asserts that a condition is true. If the condition is false, the method throws - an . - - The evaluated condition - The message to display if the condition is false - Arguments to be used in formatting the message - - - - Asserts that a condition is true. If the condition is false, the - method throws an . - - The evaluated condition - - - - Asserts that a condition is true. If the condition is false, the method throws - an . - - The evaluated condition - A function to build the message included with the Exception - - - - Asserts that a condition is true. If the condition is false, the method throws - an . - - A lambda that returns a Boolean - The message to display if the condition is false - Arguments to be used in formatting the message - - - - Asserts that a condition is true. If the condition is false, the method throws - an . - - A lambda that returns a Boolean - - - - Asserts that a condition is true. If the condition is false, the method throws - an . - - A lambda that returns a Boolean - A function to build the message included with the Exception - - - - Asserts that the code represented by a delegate throws an exception - that satisfies the constraint provided. - - A TestDelegate to be executed - A ThrowsConstraint used in the test - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and throwing an InconclusiveException on failure. - - The Type being compared. - The actual value to test - A Constraint expression to be applied - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and throwing an InconclusiveException on failure. - - The Type being compared. - The actual value to test - A Constraint expression to be applied - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and throwing an InconclusiveException on failure. - - The Type being compared. - The actual value to test - A Constraint expression to be applied - A function to build the message included with the Exception - - - - Marks a test as needing to be run in a particular threading apartment state. This will cause it - to run in a separate thread if necessary. - - - - - Construct an ApartmentAttribute - - The apartment state that this test must be run under. You must pass in a valid apartment state. - - - - Provides the author of a test or test fixture. - - - - - Initializes a new instance of the class. - - The name of the author. - - - - Initializes a new instance of the class. - - The name of the author. - The email address of the author. - - - - Applies a category to a test - - - - - The name of the category - - - - - Construct attribute for a given category based on - a name. The name may not contain the characters ',', - '+', '-' or '!'. However, this is not checked in the - constructor since it would cause an error to arise at - as the test was loaded without giving a clear indication - of where the problem is located. The error is handled - in NUnitFramework.cs by marking the test as not - runnable. - - The name of the category - - - - Protected constructor uses the Type name as the name - of the category. - - - - - The name of the category - - - - - Modifies a test by adding a category to it. - - The test to modify - - - - Marks a test to use a combinatorial join of any argument data provided. - Since this is the default, the attribute is optional. - - - - - Default constructor - - - - - Marks a test as using a particular CombiningStrategy to join any supplied parameter data. - Since this is the default, the attribute is optional. - - - - - Construct a CombiningStrategyAttribute incorporating an - ICombiningStrategy and an IParameterDataProvider. - - Combining strategy to be used in combining data - An IParameterDataProvider to supply data - - - - Construct a CombiningStrategyAttribute incorporating an object - that implements ICombiningStrategy and an IParameterDataProvider. - This constructor is provided for CLS compliance. - - Combining strategy to be used in combining data - An IParameterDataProvider to supply data - - - - Builds any number of tests from the specified method and context. - - The MethodInfo for which tests are to be constructed. - The suite to which the tests will be added. - - - - Modify the test by adding the name of the combining strategy - to the properties. - - The test to modify - - - - Marks an assembly, test fixture or test method as applying to a specific Culture. - - - - - Constructor with no cultures specified, for use - with named property syntax. - - - - - Constructor taking one or more cultures - - Comma-delimited list of cultures - - - - Causes a test to be skipped if this CultureAttribute is not satisfied. - - The test to modify - - - - Tests to determine if the current culture is supported - based on the properties of this attribute. - - True, if the current culture is supported - - - - Test to determine if the a particular culture or comma- - delimited set of cultures is in use. - - Name of the culture or comma-separated list of culture ids - True if the culture is in use on the system - - - - Test to determine if one of a collection of cultures - is being used currently. - - - - - - - Abstract base class for all data-providing attributes defined by NUnit. - Used to select all data sources for a method, class or parameter. - - - - - Default constructor - - - - - Marks a field for use as a datapoint when executing a theory within - the same fixture that requires an argument of the field's Type. - - - - - Marks a field, property or method as providing a set of datapoints for use - in executing any theories within the same fixture that require an argument of - the provided Type. The data source may provide an array of the required Type - or an . Synonymous with . - - - - - Marks a field, property or method as providing a set of datapoints for use - in executing any theories within the same fixture that require an argument - of the provided type. The data source may provide an array of the required - Type or an . Synonymous with . - - - - - Sets the tolerance used by default when checking the equality of floating point values - within the test assembly, fixture or method. - - - - - Construct specifying an amount - - - - - - Apply changes to the TestExecutionContext - - The TestExecutionContext - - - - Provides the descriptive text relating to the assembly, test fixture or test method. - - - - - Construct a description Attribute - - The text of the description - - - - Marks an assembly, test fixture or test method such that it will only run if explicitly - executed from the GUI, command line or included within a test filter. - The test will not be run simply because an enclosing suite is run. - - - - - Default constructor - - - - - Constructor with a reason - - The reason test is marked explicit - - - - Modifies a test by marking it as explicit. - - The test to modify - - - - Specify the life cycle of a Fixture - - - - - Construct a FixtureLifeCycleAttribute with a specified . - - - - - Defines the life cycle for this test fixture or assembly. - - - - - Overridden to set a TestFixture's . - - - - - Marks an assembly, test fixture or test method as being ignored. Ignored tests result in a warning message when the tests are run. - - - - - Constructs the attribute giving a reason for ignoring the test - - The reason for ignoring the test - - - - The date in the future to stop ignoring the test as a string in UTC time. - For example for a date and time, "2014-12-25 08:10:00Z" or for just a date, - "2014-12-25". If just a date is given, the Ignore will expire at midnight UTC. - - - Once the ignore until date has passed, the test will be marked - as runnable. Tests with an ignore until date will have an IgnoreUntilDate - property set which will appear in the test results. - - The string does not contain a valid string representation of a date and time. - - - - Modifies a test by marking it as Ignored. - - The test to modify - - - - Abstract base for attributes that are used to include tests in - the test run based on environmental settings. - - - - - Constructor with no included items specified, for use - with named property syntax. - - - - - Constructor taking one or more included items - - Comma-delimited list of included items - - - - Name of the item that is needed in order for - a test to run. Multiple items may be given, - separated by a comma. - - - - - Name of the item to be excluded. Multiple items - may be given, separated by a comma. - - - - - The reason for including or excluding the test - - - - - Sets the number of worker threads that may be allocated by the framework - for running tests. - - - - - Construct a LevelOfParallelismAttribute. - - The number of worker threads to be created by the framework. - - - - Specifies the life cycle for a test fixture. - - - - - A single instance is created and shared for all test cases. - - - - - A new instance is created for each test case. - - - - - Specifies the maximum time (in milliseconds) for a test case to succeed. - - - - - Construct a MaxTimeAttribute, given a time in milliseconds. - - The maximum elapsed time in milliseconds - - - - Marks tests that should NOT be run in parallel. - - - - - Construct a NonParallelizableAttribute. - - - - - Used by third-party frameworks, or other software, that reference - the NUnit framework but do not contain any tests. Applying the - attribute indicates that the assembly is not a test assembly and - may prevent errors if certain runners attempt to load the assembly. - Note that recognition of the attribute depends on each individual runner. - - - - - Abstract base class for all custom attributes defined by NUnit. - - - - - Default constructor - - - - - Identifies a method that is called once to perform setup before any child tests are run. - - - - - Identifies a method to be called once after all the child tests have run. - The method is guaranteed to be called, even if an exception is thrown. - - - - - Defines the order that the test will run in - - - - - Defines the order that the test will run in - - - - - Defines the order that the test will run in - - - - - - Modifies a test as defined for the specific attribute. - - The test to modify - - - - Marks a test as using a pairwise join of any supplied argument data. Arguments will be - combined in such a way that all possible pairs of arguments are used. - - - - - Default constructor - - - - - Marks a test assembly, fixture or method that may be run in parallel. - - - - - Construct a ParallelizableAttribute using default ParallelScope.Self. - - - - - Construct a ParallelizableAttribute with a specified scope. - - The ParallelScope associated with this attribute. - - - - Defines the degree to which this test and its descendants may be run in parallel - - - - - Overridden to check for invalid combinations of settings - - - - - - Modify the context to be used for child tests - - The current TestExecutionContext - - - - Specifies the degree to which a test, and its descendants, - may be run in parallel. - - - - - No ParallelScope was specified on the test - - - - - The test may be run in parallel with others at the same level. - Valid on classes and methods but has no effect on assemblies. - - - - - Test may not be run in parallel with any others. Valid on - classes and methods but not assemblies. - - - - - Mask used to extract the flags that apply to the item on which a - ParallelizableAttribute has been placed, as opposed to descendants. - - - - - Descendants of the test may be run in parallel with one another. - Valid on assemblies and classes but not on non-parameterized methods. - - - - - Descendants of the test down to the level of TestFixtures may be - run in parallel with one another. Valid on assemblies and classes - but not on methods. - - - - - Mask used to extract all the flags that impact descendants of a - test and place them in the TestExecutionContext. - - - - - The test and its descendants may be run in parallel with others at - the same level. Valid on classes and parameterized methods. - For assemblies it is recommended to use - instead, as has no effect on assemblies. - - - - - Marks an assembly, test fixture or test method as applying to a specific platform. - - - - - Constructor with no platforms specified, for use - with named property syntax. - - - - - Constructor taking one or more platforms - - Comma-delimited list of platforms - - - - Causes a test to be skipped if this PlatformAttribute is not satisfied. - - The test to modify - - - - Attaches information to a test assembly, fixture or method as a name/value pair. - - - - - Construct a PropertyAttribute with a name and string value - - The name of the property - The property value - - - - Construct a PropertyAttribute with a name and int value - - The name of the property - The property value - - - - Construct a PropertyAttribute with a name and double value - - The name of the property - The property value - - - - Constructor for derived classes that set the - property dictionary directly. - - - - - Constructor for use by derived classes that use the - name of the type as the property name. Derived classes - must ensure that the Type of the property value is - a standard type supported by the BCL. Any custom - types will cause a serialization Exception when - in the client. - - - - - Gets the property dictionary for this attribute - - - - - Modifies a test by adding properties to it. - - The test to modify - - - - Supplies a set of random values to a single parameter of a parameterized test. - - - - - If true, no value will be repeated. - - - - - Construct a random set of values appropriate for the Type of the - parameter on which the attribute appears, specifying only the count. - - - - - - Generates values within a specified range. - - - - - Generates values within a specified range. - - - - - Generates values within a specified range. - - - - - Generates values within a specified range. - - - - - Generates values within a specified range. - - - - - Generates values within a specified range. - - - - - Generates values within a specified range. - - - - - Generates values within a specified range. - - - - - Generates values within a specified range. - - - - - Generates values within a specified range. - - - - - Retrieves a list of arguments which can be passed to the specified parameter. - - The parameter of a parameterized test. - - - - Supplies a range of values to an individual parameter of a parameterized test. - - - - - Constructs a range of values using the default step of 1. - - - - - Constructs a range of values with the specified step size. - - - - - Constructs a range of values using the default step of 1. - - - - - Constructs a range of values with the specified step size. - - - - - Constructs a range of values using a default step of 1. - - - - - Constructs a range of values with the specified step size. - - - - - Constructs a range of values using the default step of 1. - - - - - Constructs a range of values with the specified step size. - - - - - Constructs a range of values with the specified step size. - - - - - Constructs a range of values with the specified step size. - - - - - Retrieves a list of arguments which can be passed to the specified parameter. - - The parameter of a parameterized test. - - - Returns a string that represents the current object. - - - - Specifies that a test should be run multiple times. - - - - - Construct a RepeatAttribute - - The number of times to run the test - - - - Wrap a command and return the result. - - The command to be wrapped - The wrapped command - - - - The test command for the RepeatAttribute - - - - - Initializes a new instance of the class. - - The inner command. - The number of repetitions - - - - Runs the test, saving a TestResult in the supplied TestExecutionContext. - - The context in which the test should run. - A TestResult - - - - Marks a test that must run on a separate thread. - - - - - Construct a RequiresThreadAttribute - - - - - Construct a RequiresThreadAttribute, specifying the apartment - - - - - Specifies that a test method should be rerun on failure up to the specified - maximum number of times. - - - - - Construct a - - The maximum number of times the test should be run if it fails - - - - Wrap a command and return the result. - - The command to be wrapped - The wrapped command - - - - The test command for the - - - - - Initializes a new instance of the class. - - The inner command. - The maximum number of repetitions - - - - Runs the test, saving a TestResult in the supplied TestExecutionContext. - - The context in which the test should run. - A TestResult - - - - Marks a test to use a sequential join of any provided argument data. - Arguments will be combined into test cases, taking the next value of - each argument until all are used. - - - - - Default constructor - - - - - Sets the current Culture on an assembly, test fixture or test method for - the duration of a test. The culture remains set until the test or fixture - completes and is then reset to its original value. - - - - - - Construct given the name of a culture - - - - - - Sets the current UI Culture on an assembly, test fixture or test method - for the duration of a test. The UI culture remains set until the test or - fixture completes and is then reset to its original value. - - - - - - Construct given the name of a culture - - - - - - Identifies a method to be called immediately before each test is run. - - - - - Identifies a class as containing or - methods for all the test fixtures - under a given namespace. - - - - - Builds a from the specified type. - - The type info of the fixture to be used. - - - - Marks a test fixture as requiring all child tests to be run on the - same thread as the OneTimeSetUp and OneTimeTearDown. A flag in the - is set forcing all child tests - to be run sequentially on the current thread. - Any setting is ignored. - - - - - Apply changes to the TestExecutionContext - - The TestExecutionContext - - - - Identifies a method to be called immediately after each test is run. - The method is guaranteed to be called, even if an exception is thrown. - - - - - Abstract attribute providing actions to execute before and after tests. - - - - - Executed before each test is run - - The test that is going to be run. - - - - Executed after each test is run - - The test that has just been run. - - - - Provides the target for the action attribute - - - - - Marks a test assembly as needing a special assembly resolution hook that will - explicitly search the test assembly's directory for dependent assemblies. - This works around a conflict between mixed-mode assembly initialization and - tests running in their own AppDomain in some cases. - - - - - Marks the method as callable from the NUnit test runner. - - - - [TestFixture] - public class Fixture - { - [Test] - public void MethodToTest() - {} - - [Test(Description = "more detailed description")] - public void TestDescriptionMethod() - {} - } - - - - - - Descriptive text for this test - - - - - The author of this test - - - - - The type that this test is testing - - - - - Gets or sets the expected result. Not valid if the test - method has parameters. - - The result. - - - - Modifies a test by adding a description, if not already set. - - The test to modify - - - - Builds a single test from the specified method and context. - - The method for which a test is to be constructed. - The suite to which the test will be added. - - - - Marks a method as a parameterized test suite and provides arguments for each test case. - - - - - Construct a TestCaseAttribute with a list of arguments. - This constructor is not CLS-Compliant - - - - - - Construct a TestCaseAttribute with a single argument - - - - - - Construct a TestCaseAttribute with a two arguments - - - - - - - Construct a TestCaseAttribute with a three arguments - - - - - - - - Gets or sets the name of the test. - - The name of the test. - - - - Gets or sets the RunState of this test case. - - - - - Gets the list of arguments to a test case - - - - - Gets the properties of the test case - - - - - Gets or sets the expected result. - - The result. - - - - Returns true if the expected result has been set - - - - - Gets or sets the description. - - The description. - - - - The author of this test - - - - - The type that this test is testing - - - - - Gets or sets the reason for ignoring the test - - - - - Gets or sets a value indicating whether this is explicit. - - - if explicit; otherwise, . - - - - - Gets or sets the reason for not running the test. - - The reason. - - - - Gets or sets the ignore reason. When set to a non-null - non-empty value, the test is marked as ignored. - - The ignore reason. - - - - Comma-delimited list of platforms to run the test for - - - - - Comma-delimited list of platforms to not run the test for - - - - - Gets and sets the category for this test case. - May be a comma-separated list of categories. - - - - - Gets and sets the ignore until date for this test case. - - - - - Performs several special conversions allowed by NUnit in order to - permit arguments with types that cannot be used in the constructor - of an Attribute such as TestCaseAttribute or to simplify their use. - - The arguments to be converted - The ParameterInfo array for the method - - - - Builds a single test from the specified method and context. - - The MethodInfo for which tests are to be constructed. - The suite to which the tests will be added. - - - - Indicates the source to be used to provide test fixture instances for a test class. - - - - - Construct with the name of the method, property or field that will provide data - - The name of a static method, property or field that will provide data. - - - - Construct with a Type and name - - The Type that will provide data - The name of a static method, property or field that will provide data. - A set of parameters passed to the method, works only if the Source Name is a method. - If the source name is a field or property has no effect. - - - - Construct with a Type and name - - The Type that will provide data - The name of a static method, property or field that will provide data. - - - - Construct with a name - - The name of a static method, property or field that will provide data. - A set of parameters passed to the method, works only if the Source Name is a method. - If the source name is a field or property has no effect. - - - - Construct with a Type - - The type that will provide data - - - - A set of parameters passed to the method, works only if the Source Name is a method. - If the source name is a field or property has no effect. - - - - - The name of a the method, property or field to be used as a source - - - - - A Type to be used as a source - - - - - Gets or sets the category associated with every fixture created from - this attribute. May be a single category or a comma-separated list. - - - - - Builds any number of tests from the specified method and context. - - The IMethod for which tests are to be constructed. - The suite to which the tests will be added. - - - - Marks the class as a TestFixture. - - - - - Default constructor - - - - - Construct with a object[] representing a set of arguments. - The arguments may later be separated into type arguments and constructor arguments. - - - - - - Gets or sets the name of the test. - - The name of the test. - - - - Gets or sets the RunState of this test fixture. - - - - - The arguments originally provided to the attribute - - - - - Properties pertaining to this fixture - - - - - Get or set the type arguments. If not set - explicitly, any leading arguments that are - Types are taken as type arguments. - - - - - Descriptive text for this fixture - - - - - The author of this fixture - - - - - The type that this fixture is testing - - - - - Gets or sets the ignore reason. May set RunState as a side effect. - - The ignore reason. - - - - Gets or sets the reason for not running the fixture. - - The reason. - - - - Gets or sets the ignore reason. When set to a non-null - non-empty value, the test is marked as ignored. - - The ignore reason. - - - - Gets or sets a value indicating whether this is explicit. - - - if explicit; otherwise, . - - - - - Gets and sets the category for this fixture. - May be a comma-separated list of categories. - - - - - Builds a single test fixture from the specified type. - - - - - Builds a single test fixture from the specified type. - - The type info of the fixture to be used. - Filter used to select methods as tests. - - - - Identifies the source used to provide test fixture instances for a test class. - - - - - Error message string is public so the tests can use it - - - - - Construct with the name of the method, property or field that will provide data - - The name of a static method, property or field that will provide data. - - - - Construct with a Type and name - - The Type that will provide data - The name of a static method, property or field that will provide data. - - - - Construct with a Type - - The type that will provide data - - - - The name of a the method, property or field to be used as a source - - - - - A Type to be used as a source - - - - - Gets or sets the category associated with every fixture created from - this attribute. May be a single category or a comma-separated list. - - - - - Builds any number of test fixtures from the specified type. - - The TypeInfo for which fixtures are to be constructed. - - - - Builds any number of test fixtures from the specified type. - - The TypeInfo for which fixtures are to be constructed. - PreFilter used to select methods as tests. - - - - Returns a set of ITestFixtureData items for use as arguments - to a parameterized test fixture. - - The type for which data is needed. - - - - - Indicates the method or class the assembly, test fixture or test method is testing. - - - - - Initializes a new instance of the class. - - The type that is being tested. - - - - Initializes a new instance of the class. - - The type that is being tested. - - - - Adding this attribute to a method within a - class makes the method callable from the NUnit test runner. There is a property - called Description which is optional which you can provide a more detailed test - description. This class cannot be inherited. - - - - [TestFixture] - public class Fixture - { - [Test] - public void MethodToTest() - {} - - [Test(Description = "more detailed description")] - public void TestDescriptionMethod() - {} - } - - - - - - Construct the attribute, specifying a combining strategy and source of parameter data. - - - - - Applies a timeout in milliseconds to a test. - When applied to a method, the test is cancelled if the timeout is exceeded. - When applied to a class or assembly, the default timeout is set for all contained test methods. - - - - - Construct a TimeoutAttribute given a time in milliseconds - - The timeout value in milliseconds - - - - Provides literal arguments for an individual parameter of a test. - - - - - The collection of data to be returned. Must - be set by any derived attribute classes. - We use an object[] so that the individual - elements may have their type changed in GetData - if necessary - - - - - Constructs for use with an Enum parameter. Will pass every enum - value in to the test. - - - - - Construct with one argument - - - - - - Construct with two arguments - - - - - - - Construct with three arguments - - - - - - - - Construct with an array of arguments - - - - - - Retrieves a list of arguments which can be passed to the specified parameter. - - The parameter of a parameterized test. - - - - To generate data for Values attribute, in case no data is provided. - - - - - To Check if type is nullable enum. - - - - - Indicates the source used to provide data for one parameter of a test method. - - - - - Construct with the name of the factory - for use with languages - that don't support params arrays. - - The name of a static method, property or field that will provide data. - - - - Construct with a Type and name - for use with languages - that don't support params arrays. - - The Type that will provide data - The name of a static method, property or field that will provide data. - - - - The name of a the method, property or field to be used as a source - - - - - A Type to be used as a source - - - - - Retrieves a list of arguments which can be passed to the specified parameter. - - The parameter of a parameterized test. - - - - A set of Assert methods operating on one or more collections - - - - - DO NOT USE! Use CollectionAssert.AreEqual(...) instead. - The Equals method throws an InvalidOperationException. This is done - to make sure there is no mistake by calling this function. - - - - - - - DO NOT USE! - The ReferenceEquals method throws an InvalidOperationException. This is done - to make sure there is no mistake by calling this function. - - - - - - - Asserts that all items contained in collection are of the type specified by expectedType. - - IEnumerable containing objects to be considered - System.Type that all objects in collection must be instances of - - - - Asserts that all items contained in collection are of the type specified by expectedType. - - IEnumerable containing objects to be considered - System.Type that all objects in collection must be instances of - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Asserts that all items contained in collection are not equal to null. - - IEnumerable containing objects to be considered - - - - Asserts that all items contained in collection are not equal to null. - - IEnumerable of objects to be considered - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Ensures that every object contained in collection exists within the collection - once and only once. - - IEnumerable of objects to be considered - - - - Ensures that every object contained in collection exists within the collection - once and only once. - - IEnumerable of objects to be considered - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Asserts that expected and actual are exactly equal. The collections must have the same count, - and contain the exact same objects in the same order. - - The first IEnumerable of objects to be considered - The second IEnumerable of objects to be considered - - - - Asserts that expected and actual are exactly equal. The collections must have the same count, - and contain the exact same objects in the same order. - If comparer is not null then it will be used to compare the objects. - - The first IEnumerable of objects to be considered - The second IEnumerable of objects to be considered - The IComparer to use in comparing objects from each IEnumerable - - - - Asserts that expected and actual are exactly equal. The collections must have the same count, - and contain the exact same objects in the same order. - - The first IEnumerable of objects to be considered - The second IEnumerable of objects to be considered - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Asserts that expected and actual are exactly equal. The collections must have the same count, - and contain the exact same objects in the same order. - If comparer is not null then it will be used to compare the objects. - - The first IEnumerable of objects to be considered - The second IEnumerable of objects to be considered - The IComparer to use in comparing objects from each IEnumerable - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Asserts that expected and actual are equivalent, containing the same objects but the match may be in any order. - - The first IEnumerable of objects to be considered - The second IEnumerable of objects to be considered - - - - Asserts that expected and actual are equivalent, containing the same objects but the match may be in any order. - - The first IEnumerable of objects to be considered - The second IEnumerable of objects to be considered - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Asserts that expected and actual are not exactly equal. - - The first IEnumerable of objects to be considered - The second IEnumerable of objects to be considered - - - - Asserts that expected and actual are not exactly equal. - If comparer is not null then it will be used to compare the objects. - - The first IEnumerable of objects to be considered - The second IEnumerable of objects to be considered - The IComparer to use in comparing objects from each IEnumerable - - - - Asserts that expected and actual are not exactly equal. - - The first IEnumerable of objects to be considered - The second IEnumerable of objects to be considered - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Asserts that expected and actual are not exactly equal. - If comparer is not null then it will be used to compare the objects. - - The first IEnumerable of objects to be considered - The second IEnumerable of objects to be considered - The IComparer to use in comparing objects from each IEnumerable - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Asserts that expected and actual are not equivalent. - - The first IEnumerable of objects to be considered - The second IEnumerable of objects to be considered - - - - Asserts that expected and actual are not equivalent. - - The first IEnumerable of objects to be considered - The second IEnumerable of objects to be considered - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Asserts that collection contains actual as an item. - - IEnumerable of objects to be considered - Object to be found within collection - - - - Asserts that collection contains actual as an item. - - IEnumerable of objects to be considered - Object to be found within collection - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Asserts that collection does not contain actual as an item. - - IEnumerable of objects to be considered - Object that cannot exist within collection - - - - Asserts that collection does not contain actual as an item. - - IEnumerable of objects to be considered - Object that cannot exist within collection - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Asserts that the superset does not contain the subset - - The IEnumerable subset to be considered - The IEnumerable superset to be considered - - - - Asserts that the superset does not contain the subset - - The IEnumerable subset to be considered - The IEnumerable superset to be considered - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Asserts that the superset contains the subset. - - The IEnumerable subset to be considered - The IEnumerable superset to be considered - - - - Asserts that the superset contains the subset. - - The IEnumerable subset to be considered - The IEnumerable superset to be considered - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Asserts that the subset does not contain the superset - - The IEnumerable superset to be considered - The IEnumerable subset to be considered - - - - Asserts that the subset does not contain the superset - - The IEnumerable superset to be considered - The IEnumerable subset to be considered - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Asserts that the subset contains the superset. - - The IEnumerable superset to be considered - The IEnumerable subset to be considered - - - - Asserts that the subset contains the superset. - - The IEnumerable superset to be considered - The IEnumerable subset to be considered - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Assert that an array, list or other collection is empty - - An array, list or other collection implementing IEnumerable - The message to be displayed on failure - Arguments to be used in formatting the message - - - - Assert that an array,list or other collection is empty - - An array, list or other collection implementing IEnumerable - - - - Assert that an array, list or other collection is empty - - An array, list or other collection implementing IEnumerable - The message to be displayed on failure - Arguments to be used in formatting the message - - - - Assert that an array,list or other collection is empty - - An array, list or other collection implementing IEnumerable - - - - Assert that an array, list or other collection is ordered - - An array, list or other collection implementing IEnumerable - The message to be displayed on failure - Arguments to be used in formatting the message - - - - Assert that an array, list or other collection is ordered - - An array, list or other collection implementing IEnumerable - - - - Assert that an array, list or other collection is ordered - - An array, list or other collection implementing IEnumerable - A custom comparer to perform the comparisons - The message to be displayed on failure - Arguments to be used in formatting the message - - - - Assert that an array, list or other collection is ordered - - An array, list or other collection implementing IEnumerable - A custom comparer to perform the comparisons - - - - AllItemsConstraint applies another constraint to each - item in a collection, succeeding if they all succeed. - - - - - Construct an AllItemsConstraint on top of an existing constraint - - - - - - The display name of this Constraint for use by ToString(). - The default value is the name of the constraint with - trailing "Constraint" removed. Derived classes may set - this to another name in their constructors. - - - - - Apply the item constraint to each item in the collection, - failing if any item fails. - - - - - - - AndConstraint succeeds only if both members succeed. - - - - - Create an AndConstraint from two other constraints - - The first constraint - The second constraint - - - - Gets text describing a constraint - - - - - Apply both member constraints to an actual value, succeeding - succeeding only if both of them succeed. - - The actual value - True if the constraints both succeeded - - - - Write the actual value for a failing constraint test to a - MessageWriter. The default implementation simply writes - the raw value of actual, leaving it to the writer to - perform any formatting. - - The writer on which the actual value is displayed - - - - is used to determine whether the value is equal to any of the expected values. - - - - - Construct a - - Collection of expected values - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Test whether item is present in expected collection - - Actual item type - Actual item - - - - Flag the constraint to ignore case and return self. - - - - - Flag the constraint to use the supplied IComparer object. - - The IComparer object to use. - - - - Flag the constraint to use the supplied IComparer object. - - The IComparer object to use. - - - - Flag the constraint to use the supplied Comparison object. - - The Comparison object to use. - - - - Flag the constraint to use the supplied IEqualityComparer object. - - The IEqualityComparer object to use. - - - - Flag the constraint to use the supplied IEqualityComparer object. - - The IComparer object to use. - - - - Flag the constraint to use the supplied boolean-returning delegate. - - The supplied boolean-returning delegate to use. - - - - AssignableFromConstraint is used to test that an object - can be assigned from a given Type. - - - - - Construct an AssignableFromConstraint for the type provided - - - - - - Apply the constraint to an actual value, returning true if it succeeds - - The actual argument - True if the constraint succeeds, otherwise false. - - - - AssignableToConstraint is used to test that an object - can be assigned to a given Type. - - - - - Construct an AssignableToConstraint for the type provided - - - - - - Apply the constraint to an actual value, returning true if it succeeds - - The actual argument - True if the constraint succeeds, otherwise false. - - - - AttributeConstraint tests that a specified attribute is present - on a Type or other provider and that the value of the attribute - satisfies some other constraint. - - - - - Constructs an AttributeConstraint for a specified attribute - Type and base constraint. - - - - - - - Determines whether the Type or other provider has the - expected attribute and if its value matches the - additional constraint specified. - - - - - Returns a string representation of the constraint. - - - - - AttributeExistsConstraint tests for the presence of a - specified attribute on a Type. - - - - - Constructs an AttributeExistsConstraint for a specific attribute Type - - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Tests whether the object provides the expected attribute. - - A Type, MethodInfo, or other ICustomAttributeProvider - True if the expected attribute is present, otherwise false - - - - BinaryConstraint is the abstract base of all constraints - that combine two other constraints in some fashion. - - - - - The first constraint being combined - - - - - The second constraint being combined - - - - - Construct a BinaryConstraint from two other constraints - - The first constraint - The second constraint - - - - BinarySerializableConstraint tests whether - an object is serializable in binary format. - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - Returns the string representation - - - - - CollectionConstraint is the abstract base class for - constraints that operate on collections. - - - - - Construct an empty CollectionConstraint - - - - - Construct a CollectionConstraint - - - - - - Determines whether the specified enumerable is empty. - - The enumerable. - - if the specified enumerable is empty; otherwise, . - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - Protected method to be implemented by derived classes - - - - - - - CollectionContainsConstraint is used to test whether a collection - contains an expected object as a member. - - - - - Construct a CollectionContainsConstraint - - - - - - The display name of this Constraint for use by ToString(). - The default value is the name of the constraint with - trailing "Constraint" removed. Derived classes may set - this to another name in their constructors. - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Gets the expected object - - - - - Test whether the expected item is contained in the collection - - - - - - - Flag the constraint to use the supplied predicate function - - The comparison function to use. - Self. - - - - CollectionEquivalentConstraint is used to determine whether two - collections are equivalent. - - - - The result of the from the collections - under comparison. - - - Construct a CollectionEquivalentConstraint - Expected collection. - - - - The display name of this Constraint for use by ToString(). - The default value is the name of the constraint with - trailing "Constraint" removed. Derived classes may set - this to another name in their constructors. - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Test whether two collections are equivalent - - - - - - - Test whether the collection is equivalent to the expected. - - - Actual collection type. - - - Actual collection to compare. - - - A indicating whether or not - the two collections are equivalent. - - - - - Flag the constraint to use the supplied predicate function - - The comparison function to use. - Self. - - - Provides a for the . - - - Result of a of the collections to compare for equivalence. - - - Construct a using a . - Source . - Result of the collection comparison. - Actual collection to compare. - Whether or not the succeeded. - - - Write any additional lines (following Expected: and But was:) for a failing constraint. - The to write the failure message to. - - - - CollectionItemsEqualConstraint is the abstract base class for all - collection constraints that apply some notion of item equality - as a part of their operation. - - - - - The NUnitEqualityComparer in use for this constraint - - - - - Construct an empty CollectionConstraint - - - - - Construct a CollectionConstraint - - - - - - Get a flag indicating whether the user requested us to ignore case. - - - - - Get a flag indicating whether any external comparers are in use. - - - - - Flag the constraint to ignore case and return self. - - - - - Flag the constraint to use the supplied IComparer object. - - The IComparer object to use. - - - - Flag the constraint to use the supplied IComparer object. - - The IComparer object to use. - - - - Flag the constraint to use the supplied Comparison object. - - The Comparison object to use. - - - - Flag the constraint to use the supplied IEqualityComparer object. - - The IComparer object to use. - - - - Flag the constraint to use the supplied IEqualityComparer object. - - The IComparer object to use. - - - - Flag the constraint to use the supplied boolean-returning delegate. - - The supplied boolean-returning delegate to use. - - - - Compares two collection members for equality - - - - - Return a new CollectionTally for use in making tests - - The collection to be included in the tally - - - - CollectionOrderedConstraint is used to test whether a collection is ordered. - - - - - Construct a CollectionOrderedConstraint - - - - - The display name of this Constraint for use by ToString(). - The default value is the name of the constraint with - trailing "Constraint" removed. Derived classes may set - this to another name in their constructors. - - - - - If used performs a default ascending comparison - - - - - If used performs a reverse comparison - - - - - Modifies the constraint to use an and returns self. - - - - - Modifies the constraint to use an and returns self. - - - - - Modifies the constraint to use a and returns self. - - - - - Modifies the constraint to test ordering by the value of - a specified property and returns self. - - - - - Then signals a break between two ordering steps - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - Test whether the collection is ordered - - - - - Returns the string representation of the constraint. - - - - - - An OrderingStep represents one stage of the sort - - - - - Constructor for success result. - - The Constraint to which this result applies. - The actual value to which the Constraint was applied. - - - - Constructor for failure result. - - The Constraint to which this result applies. - The actual value to which the Constraint was applied. - Index at which collection order breaks. - Value at which collection order breaks. - - - - CollectionSubsetConstraint is used to determine whether - one collection is a subset of another - - - - - Construct a CollectionSubsetConstraint - - The collection that the actual value is expected to be a subset of - - - - The display name of this Constraint for use by ToString(). - The default value is the name of the constraint with - trailing "Constraint" removed. Derived classes may set - this to another name in their constructors. - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Test whether the actual collection is a subset of - the expected collection provided. - - - - - - - Test whether the constraint is satisfied by a given value. - - - - - Flag the constraint to use the supplied predicate function - - The comparison function to use. - Self. - - - - CollectionSupersetConstraint is used to determine whether - one collection is a superset of another - - - - - Construct a CollectionSupersetConstraint - - The collection that the actual value is expected to be a superset of - - - - The display name of this Constraint for use by ToString(). - The default value is the name of the constraint with - trailing "Constraint" removed. Derived classes may set - this to another name in their constructors. - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Test whether the actual collection is a superset of - the expected collection provided. - - - - - - - Test whether the constraint is satisfied by a given value. - - - - - Flag the constraint to use the supplied predicate function - - The comparison function to use. - Self. - - - counts (tallies) the number of occurrences - of each object in one or more enumerations. - - - The result of a . - - - Items that were not in the expected collection. - - - Items that were not accounted for in the expected collection. - - - Initializes a new instance of the class with the given fields. - - - The result of the comparison between the two collections. - - - Construct a CollectionTally object from a comparer and a collection. - The comparer to use for equality. - The expected collection to compare against. - - - Try to remove an object from the tally. - The object to remove. - - - Try to remove a set of objects from the tally. - The objects to remove. - - - - Comparator for two s. - - - - - Comparator for two s. - - - - - Flag indicating whether or not this is the top level comparison. - - - - - A list of tracked comparisons - - - - - Comparator for two s. - - - - - Comparator for two s. - - - - - Comparator for two s. - - - - - Comparator for two s. - - - - - Comparator for two s. - - - - - Comparator for two types related by . - - - - - Interface for comparing two s. - - - - - Method for comparing two objects with a tolerance. - - The first object to compare. - The second object to compare. - The tolerance to use when comparing the objects. - The evaluation state of the comparison. - - if the objects cannot be compared using the method. - Otherwise the result of the comparison is returned. - - - - - Comparator for two s. - - - - - Comparator for two s. - - - - - Comparator for two s. - - - - - Comparator for two s. - - - - - Comparator for two types related by . - - - - - Comparator for two s or s. - - - - - Comparator for two Tuples. - - - - - Base class for comparators for tuples (both regular Tuples and ValueTuples). - - - - - Comparator for two ValueTuples. - - - - - ComparisonAdapter class centralizes all comparisons of - values in NUnit, adapting to the use of any provided - , - or . - - - - - Gets the default ComparisonAdapter, which wraps an - NUnitComparer object. - - - - - Returns a ComparisonAdapter that wraps an - - - - - Returns a ComparisonAdapter that wraps an - - - - - Returns a ComparisonAdapter that wraps a - - - - - Compares two objects - - - - - Construct a default ComparisonAdapter - - - - - Construct a ComparisonAdapter for an - - - - - Compares two objects - - - - - - - - ComparerAdapter extends and - allows use of an or - to actually perform the comparison. - - - - - Construct a ComparisonAdapter for an - - - - - Compare a Type T to an object - - - - - Construct a ComparisonAdapter for a - - - - - Compare a Type T to an object - - - - - Abstract base class for constraints that compare values to - determine if one is greater than, equal to or less than - the other. - - - - - The value against which a comparison is to be made - - - - - Tolerance used in making the comparison - - - - - ComparisonAdapter to be used in making the comparison - - - - - Initializes a new instance of the class. - - The value against which to make a comparison. - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - A ConstraintResult - - - - Protected function overridden by derived class to actually perform the comparison - - - - - Modifies the constraint to use an and returns self - - The comparer used for comparison tests - A constraint modified to use the given comparer - - - - Modifies the constraint to use an and returns self - - The comparer used for comparison tests - A constraint modified to use the given comparer - - - - Modifies the constraint to use a and returns self - - The comparer used for comparison tests - A constraint modified to use the given comparer - - - - Set the tolerance for use in this comparison - - - - - Switches the .Within() modifier to interpret its tolerance as - a percentage that the actual values is allowed to deviate from - the expected value. - - Self - - - - Provides standard description of what the constraint tests - based on comparison text. - - Describes the comparison being tested, throws - if null - Is thrown when null passed to a method - - - - Delegate used to delay evaluation of the actual value - to be used in evaluating a constraint - - - - - The Constraint class is the base of all built-in constraints - within NUnit. It provides the operator overloads used to combine - constraints. - - - - - Construct a constraint with optional arguments - - Arguments to be saved - - - - The display name of this Constraint for use by ToString(). - The default value is the name of the constraint with - trailing "Constraint" removed. Derived classes may set - this to another name in their constructors. - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Arguments provided to this Constraint, for use in - formatting the description. - - - - - The ConstraintBuilder holding this constraint - - - - - Applies the constraint to an actual value, returning a ConstraintResult. - - The value to be tested - A ConstraintResult - - - - Applies the constraint to an ActualValueDelegate that returns - the value to be tested. The default implementation simply evaluates - the delegate but derived classes may override it to provide for - delayed processing. - - An ActualValueDelegate - A ConstraintResult - - - - Test whether the constraint is satisfied by a given reference. - The default implementation simply dereferences the value but - derived classes may override it to provide for delayed processing. - - A reference to the value to be tested - A ConstraintResult - - - - Retrieves the value to be tested from an ActualValueDelegate. - The default implementation simply evaluates the delegate but derived - classes may override it to provide for delayed processing. - - An ActualValueDelegate - Delegate evaluation result - - - - Default override of ToString returns the constraint DisplayName - followed by any arguments within angle brackets. - - - - - - Returns the string representation of this constraint - - - - - This operator creates a constraint that is satisfied only if both - argument constraints are satisfied. - - - - - This operator creates a constraint that is satisfied if either - of the argument constraints is satisfied. - - - - - This operator creates a constraint that is satisfied if the - argument constraint is not satisfied. - - - - - Returns a ConstraintExpression by appending And - to the current constraint. - - - - - Returns a ConstraintExpression by appending And - to the current constraint. - - - - - Returns a ConstraintExpression by appending Or - to the current constraint. - - - - - Returns a DelayedConstraint.WithRawDelayInterval with the specified delay time. - - The delay, which defaults to milliseconds. - - - - - Returns a DelayedConstraint with the specified delay time - and polling interval. - - The delay in milliseconds. - The interval at which to test the constraint. - - - - - Resolves any pending operators and returns the resolved constraint. - - - - - ConstraintBuilder maintains the stacks that are used in - processing a ConstraintExpression. An OperatorStack - is used to hold operators that are waiting for their - operands to be reorganized. a ConstraintStack holds - input constraints as well as the results of each - operator applied. - - - - - OperatorStack is a type-safe stack for holding ConstraintOperators - - - - - Initializes a new instance of the class. - - The ConstraintBuilder using this stack. - - - - Gets a value indicating whether this is empty. - - if empty; otherwise, . - - - - Gets the topmost operator without modifying the stack. - - - - - Pushes the specified operator onto the stack. - - The operator to put onto the stack. - - - - Pops the topmost operator from the stack. - - The topmost operator on the stack - - - - ConstraintStack is a type-safe stack for holding Constraints - - - - - Initializes a new instance of the class. - - The ConstraintBuilder using this stack. - - - - Gets a value indicating whether this is empty. - - if empty; otherwise, . - - - - Pushes the specified constraint. As a side effect, - the constraint's Builder field is set to the - ConstraintBuilder owning this stack. - - The constraint to put onto the stack - - - - Pops this topmost constraint from the stack. - As a side effect, the constraint's Builder - field is set to null. - - The topmost constraint on the stack - - - - Initializes a new instance of the class. - - - - - Appends the specified operator to the expression by first - reducing the operator stack and then pushing the new - operator on the stack. - - The operator to push. - - - - Appends the specified constraint to the expression by pushing - it on the constraint stack. - - The constraint to push. - - - - Sets the top operator right context. - - The right context. - - - - Reduces the operator stack until the topmost item - precedence is greater than or equal to the target precedence. - - The target precedence. - - - - Resolves this instance, returning a Constraint. If the Builder - is not currently in a resolvable state, an exception is thrown. - - The resolved constraint - - - - Gets a value indicating whether this instance is resolvable. - - - if this instance is resolvable; otherwise, . - - - - - ConstraintExpression represents a compound constraint in the - process of being constructed from a series of syntactic elements. - - Individual elements are appended to the expression as they are - reorganized. When a constraint is appended, it is returned as the - value of the operation so that modifiers may be applied. However, - any partially built expression is attached to the constraint for - later resolution. When an operator is appended, the partial - expression is returned. If it's a self-resolving operator, then - a ResolvableConstraintExpression is returned. - - - - - The ConstraintBuilder holding the elements recognized so far - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the - class passing in a ConstraintBuilder, which may be pre-populated. - - The builder. - - - - Returns a string representation of the expression as it - currently stands. This should only be used for testing, - since it has the side-effect of resolving the expression. - - - - - - Appends an operator to the expression and returns the - resulting expression itself. - - - - - Appends a self-resolving operator to the expression and - returns a new ResolvableConstraintExpression. - - - - - Appends a constraint to the expression and returns that - constraint, which is associated with the current state - of the expression being built. Note that the constraint - is not reduced at this time. For example, if there - is a NotOperator on the stack we don't reduce and - return a NotConstraint. The original constraint must - be returned because it may support modifiers that - are yet to be applied. - - - - - Returns a ConstraintExpression that negates any - following constraint. - - - - - Returns a ConstraintExpression that negates any - following constraint. - - - - - Returns a ConstraintExpression, which will apply - the following constraint to all members of a collection, - succeeding if all of them succeed. - - - - - Returns a ConstraintExpression, which will apply - the following constraint to all members of a collection, - succeeding if at least one of them succeeds. - - - - - Returns a ConstraintExpression, which will apply - the following constraint to all members of a collection, - succeeding if all of them fail. - - - - - Returns a ConstraintExpression, which will apply - the following constraint to all members of a collection, - succeeding only if a specified number of them succeed. - - - - - Returns a , which will - apply the following constraint to a collection of length one, succeeding - only if exactly one of them succeeds. - - - - - Returns a new PropertyConstraintExpression, which will either - test for the existence of the named property on the object - being tested or apply any following constraint to that property. - - - - - Returns a new ConstraintExpression, which will apply the following - constraint to the Length property of the object being tested. - - - - - Returns a new ConstraintExpression, which will apply the following - constraint to the Count property of the object being tested. - - - - - Returns a new ConstraintExpression, which will apply the following - constraint to the Message property of the object being tested. - - - - - Returns a new ConstraintExpression, which will apply the following - constraint to the InnerException property of the object being tested. - - - - - Returns a new AttributeConstraint checking for the - presence of a particular attribute on an object. - - - - - Returns a new AttributeConstraint checking for the - presence of a particular attribute on an object. - - - - - With is currently a NOP - reserved for future use. - - - - - Returns the constraint provided as an argument - used to allow custom - custom constraints to easily participate in the syntax. - - - - - Returns the constraint provided as an argument - used to allow custom - custom constraints to easily participate in the syntax. - - - - - Returns a constraint that tests for null - - - - - Returns a constraint that tests for True - - - - - Returns a constraint that tests for False - - - - - Returns a constraint that tests for a positive value - - - - - Returns a constraint that tests for a negative value - - - - - Returns a constraint that tests if item is equal to zero - - - - - Returns a constraint that tests for NaN - - - - - Returns a constraint that tests for empty - - - - - Returns a constraint that tests whether a collection - contains all unique items. - - - - - Returns a constraint that tests whether an object graph is serializable in binary format. - - - - - Returns a constraint that tests whether an object graph is serializable in XML format. - - - - - Returns a constraint that tests two items for equality - - - - - Returns a constraint that tests that two references are the same object - - - - - Returns a constraint that tests whether the - actual value is greater than the supplied argument - - - - - Returns a constraint that tests whether the - actual value is greater than or equal to the supplied argument - - - - - Returns a constraint that tests whether the - actual value is greater than or equal to the supplied argument - - - - - Returns a constraint that tests whether the - actual value is less than the supplied argument - - - - - Returns a constraint that tests whether the - actual value is less than or equal to the supplied argument - - - - - Returns a constraint that tests whether the - actual value is less than or equal to the supplied argument - - - - - Returns a constraint that tests whether the actual - value is of the exact type supplied as an argument. - - - - - Returns a constraint that tests whether the actual - value is of the exact type supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is of the type supplied as an argument or a derived type. - - - - - Returns a constraint that tests whether the actual value - is of the type supplied as an argument or a derived type. - - - - - Returns a constraint that tests whether the actual value - is assignable from the type supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is assignable from the type supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is assignable from the type supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is assignable from the type supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is a collection containing the same elements as the - collection supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is a subset of the collection supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is a superset of the collection supplied as an argument. - - - - - Returns a constraint that tests whether a collection is ordered - - - - - Returns a new checking for the - presence of a particular object in the collection. - - - - - - Returns a new checking for the - presence of a particular object in the collection. - - - To search for a substring instead of a collection element, use the - overload. - - - - - - - Returns a new ContainsConstraint. This constraint - will, in turn, make use of the appropriate second-level - constraint, depending on the type of the actual argument. - - - To search for a collection element instead of a substring, use the - overload. - - - - - - Returns a new checking for the - presence of a particular object in the collection. - - - - - Returns a new ContainsConstraint. This constraint - will, in turn, make use of the appropriate second-level - constraint, depending on the type of the actual argument. - This overload is only used if the item sought is a string, - since any other type implies that we are looking for a - collection member. - - - - - Returns a new DictionaryContainsKeyConstraint checking for the - presence of a particular key in the Dictionary key collection. - - The key to be matched in the Dictionary key collection - - - - Returns a new DictionaryContainsValueConstraint checking for the - presence of a particular value in the Dictionary value collection. - - The value to be matched in the Dictionary value collection - - - - Returns a constraint that succeeds if the actual - value contains the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value contains the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value starts with the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value starts with the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value starts with the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value ends with the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value ends with the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value ends with the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value matches the regular expression supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value matches the regular expression supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value matches the regular expression supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value matches the regular expression supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value matches the regular expression supplied as an argument. - - - - - Returns a constraint that tests whether the path provided - is the same as an expected path after canonicalization. - - - - - Returns a constraint that tests whether the path provided - is the a subpath of the expected path after canonicalization. - - - - - Returns a constraint that tests whether the path provided - is the same path or under an expected path after canonicalization. - - - - - Returns a constraint that tests whether the actual value falls - inclusively within a specified range. - - Inclusive beginning of the range. - Inclusive end of the range. - - - - Returns a constraint that succeeds if the value - is a file or directory and it exists. - - - - - Returns a constraint that tests if an item is equal to any of parameters - - Expected values - - - - Returns a new IndexerConstraintExpression, which will - apply any following constraint to that indexer value. - - Index accessor values. - - - - ConstraintStatus represents the status of a ConstraintResult - returned by a Constraint being applied to an actual value. - - - - - The status has not yet been set - - - - - The constraint succeeded - - - - - The constraint failed - - - - - An error occurred in applying the constraint (reserved for future use) - - - - - Contains the result of matching a against an actual value. - - - - - Constructs a for a particular . - - The Constraint to which this result applies. - The actual value to which the Constraint was applied. - - - - Constructs a for a particular . - - The Constraint to which this result applies. - The actual value to which the Constraint was applied. - The status of the new ConstraintResult. - - - - Constructs a for a particular . - - The Constraint to which this result applies. - The actual value to which the Constraint was applied. - If true, applies a status of Success to the result, otherwise Failure. - - - - The actual value that was passed to the method. - - - - - Gets and sets the ResultStatus for this result. - - - - - True if actual value meets the Constraint criteria otherwise false. - - - - - Display friendly name of the constraint. - - - - - Description of the constraint may be affected by the state the constraint had - when was performed against the actual value. - - - - - Write the failure message to the MessageWriter provided - as an argument. The default implementation simply passes - the result and the actual value to the writer, which - then displays the constraint description and the value. - - Constraints that need to provide additional details, - such as where the error occurred, can override this. - - The MessageWriter on which to display the message - - - - Write some additional failure message. - - The MessageWriter on which to display the message - - - - Write the actual value for a failing constraint test to a - MessageWriter. The default implementation simply writes - the raw value of actual, leaving it to the writer to - perform any formatting. - - The writer on which the actual value is displayed - - - - ContainsConstraint tests a whether a string contains a substring - or a collection contains an object. It postpones the decision of - which test to use until the type of the actual argument is known. - This allows testing whether a string is contained in a collection - or as a substring of another string using the same syntax. - - - - - Initializes a new instance of the class. - - The expected value contained within the string/collection. - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Flag the constraint to ignore case and return self. - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - The DateTimes class contains common operations on Date and Time values. - - - - - Applies a delay to the match so that a match can be evaluated in the future. - - - - - Allows only changing the time dimension of delay interval and setting a polling interval of a DelayedConstraint - - - - - Creates a new DelayedConstraint.WithRawDelayInterval - - Parent DelayedConstraint on which delay interval dimension is required to be set - - - - Changes delay interval dimension to minutes - - - - - Changes delay interval dimension to seconds - - - - - Changes delay interval dimension to milliseconds - - - - - Set polling interval, in milliseconds - - A time interval, in milliseconds - - - - - Allows only setting the polling interval of a DelayedConstraint - - - - - Creates a new DelayedConstraint.WithDimensionedDelayInterval - - Parent DelayedConstraint on which polling interval is required to be set - - - - Set polling interval, in milliseconds - - A time interval, in milliseconds - - - - - Allows only changing the time dimension of the polling interval of a DelayedConstraint - - - - - Creates a new DelayedConstraint.WithRawPollingInterval - - Parent DelayedConstraint on which polling dimension is required to be set - - - - Changes polling interval dimension to minutes - - - - - Changes polling interval dimension to seconds - - - - - Changes polling interval dimension to milliseconds - - - - - Delay value store as an Interval object - - - - - Polling value stored as an Interval object - - - - - Creates a new DelayedConstraint - - The inner constraint to decorate - The time interval after which the match is performed - If the value of is less than 0 - - - - Creates a new DelayedConstraint - - The inner constraint to decorate - The time interval after which the match is performed, in milliseconds - The time interval used for polling, in milliseconds - If the value of is less than 0 - - - - Gets text describing a constraint - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for if the base constraint fails, false if it succeeds - - - - Test whether the constraint is satisfied by a delegate - - The delegate whose value is to be tested - A ConstraintResult - - - - Test whether the constraint is satisfied by a given reference. - Overridden to wait for the specified delay period before - calling the base constraint with the dereferenced value. - - A reference to the value to be tested - True for success, false for failure - - - - Returns the string representation of the constraint. - - - - - Adjusts a Timestamp by a given TimeSpan - - - - - - - - Returns the difference between two Timestamps as a TimeSpan - - - - - - - - DictionaryContainsKeyConstraint is used to test whether a dictionary - contains an expected object as a key. - - - - - Construct a DictionaryContainsKeyConstraint - - - - - - The display name of this Constraint for use by ToString(). - The default value is the name of the constraint with - trailing "Constraint" removed. Derived classes may set - this to another name in their constructors. - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Gets the expected object - - - - - Returns a new DictionaryContainsKeyValuePairConstraint checking for the - presence of a particular key-value-pair in the dictionary. - - - - - Flag the constraint to ignore case and return self. - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - - - - Test whether the expected key is contained in the dictionary - - - - - Flag the constraint to use the supplied predicate function - - The comparison function to use. - - - - Flag the constraint to use the supplied Comparison object. - - The Comparison object to use. - - - - Flag the constraint to use the supplied IComparer object. - - The IComparer object to use. - - - - Flag the constraint to use the supplied IComparer object. - - The IComparer object to use. - - - - Flag the constraint to use the supplied IEqualityComparer object. - - The IComparer object to use. - - - - Flag the constraint to use the supplied IEqualityComparer object. - - The IComparer object to use. - - - - Flag the constraint to use the supplied boolean-returning delegate. - - The supplied boolean-returning delegate to use. - - - - DictionaryContainsKeyValuePairConstraint is used to test whether a dictionary - contains an expected object as a key-value-pair. - - - - - Construct a DictionaryContainsKeyValuePairConstraint - - - - - The display name of this Constraint for use by ToString(). - The default value is the name of the constraint with - trailing "Constraint" removed. Derived classes may set - this to another name in their constructors. - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - - - - Test whether the expected key is contained in the dictionary - - - - - DictionaryContainsValueConstraint is used to test whether a dictionary - contains an expected object as a value. - - - - - Construct a DictionaryContainsValueConstraint - - - - - - The display name of this Constraint for use by ToString(). - The default value is the name of the constraint with - trailing "Constraint" removed. Derived classes may set - this to another name in their constructors. - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Gets the expected object - - - - - Test whether the expected value is contained in the dictionary - - - - - Flag the constraint to use the supplied predicate function - - The comparison function to use. - Self. - - - - Provides a for the constraints - that are applied to each item in the collection - - - - - Constructs a for a particular - Only used for Failure - - The Constraint to which this result applies - The actual value to which the Constraint was applied - Actual item that does not match expected condition - Non matching item index - - - - Write constraint description, actual items, and non-matching item - - The MessageWriter on which to display the message - - - - EmptyCollectionConstraint tests whether a collection is empty. - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Check that the collection is empty - - - - - - - EmptyConstraint tests a whether a string or collection is empty, - postponing the decision about which test is applied until the - type of the actual argument is known. - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - EmptyDirectoryConstraint is used to test that a directory is empty - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - EmptyGuidConstraint tests whether a Guid is empty. - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - EmptyStringConstraint tests whether a string is empty. - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - EndsWithConstraint can test whether a string ends - with an expected substring. - - - - - Initializes a new instance of the class. - - The expected string - - - - Test whether the constraint is matched by the actual value. - This is a template method, which calls the IsMatch method - of the derived class. - - - - - - - EqualConstraint is able to compare an actual value with the - expected value provided in its constructor. Two objects are - considered equal if both are null, or if both have the same - value. NUnit has special semantics for some object types. - - - - - NUnitEqualityComparer used to test equality. - - - - - Initializes a new instance of the class. - - The expected value. - - - - Gets the tolerance for this comparison. - - - The tolerance. - - - - - Gets a value indicating whether to compare case insensitive. - - - if comparing case insensitive; otherwise, . - - - - - Gets a value indicating whether or not to clip strings. - - - if set to clip strings otherwise, . - - - - - Gets the failure points. - - - The failure points. - - - - - Flag the constraint to ignore case and return self. - - - - - Flag the constraint to suppress string clipping - and return self. - - - - - Flag the constraint to compare arrays as collections - and return self. - - - - - Flag the constraint to use a tolerance when determining equality. - - Tolerance value to be used - Self. - - - - Flags the constraint to include - property in comparison of two values. - - - Using this modifier does not allow to use the - constraint modifier. - - - - - Switches the .Within() modifier to interpret its tolerance as - a distance in representable values (see remarks). - - Self. - - Ulp stands for "unit in the last place" and describes the minimum - amount a given value can change. For any integers, an ulp is 1 whole - digit. For floating point values, the accuracy of which is better - for smaller numbers and worse for larger numbers, an ulp depends - on the size of the number. Using ulps for comparison of floating - point results instead of fixed tolerances is safer because it will - automatically compensate for the added inaccuracy of larger numbers. - - - - - Switches the .Within() modifier to interpret its tolerance as - a percentage that the actual values is allowed to deviate from - the expected value. - - Self - - - - Causes the tolerance to be interpreted as a TimeSpan in days. - - Self - - - - Causes the tolerance to be interpreted as a TimeSpan in hours. - - Self - - - - Causes the tolerance to be interpreted as a TimeSpan in minutes. - - Self - - - - Causes the tolerance to be interpreted as a TimeSpan in seconds. - - Self - - - - Causes the tolerance to be interpreted as a TimeSpan in milliseconds. - - Self - - - - Causes the tolerance to be interpreted as a TimeSpan in clock ticks. - - Self - - - - Flag the constraint to use the supplied IComparer object. - - The IComparer object to use. - Self. - - - - Flag the constraint to use the supplied IComparer object. - - The IComparer object to use. - Self. - - - - Flag the constraint to use the supplied boolean-returning delegate. - - The boolean-returning delegate to use. - Self. - - - - Flag the constraint to use the supplied Comparison object. - - The IComparer object to use. - Self. - - - - Flag the constraint to use the supplied IEqualityComparer object. - - The IComparer object to use. - Self. - - - - Flag the constraint to use the supplied IEqualityComparer object. - - The IComparer object to use. - Self. - - - - Flag the constraint to use the supplied predicate function - - The comparison function to use. - Self. - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - The EqualConstraintResult class is tailored for formatting - and displaying the result of an EqualConstraint. - - - - - Construct an EqualConstraintResult - - - - - Write a failure message. Overridden to provide custom - failure messages for EqualConstraint. - - The MessageWriter to write to - - - - Display the failure information for two collections that did not match. - - The MessageWriter on which to display - The expected collection. - The actual collection - The depth of this failure in a set of nested collections - - - - Displays a single line showing the types and sizes of the expected - and actual collections or arrays. If both are identical, the value is - only shown once. - - The MessageWriter on which to display - The expected collection or array - The actual collection or array - The indentation level for the message line - - - - Displays a single line showing the point in the expected and actual - arrays at which the comparison failed. If the arrays have different - structures or dimensions, both values are shown. - - The MessageWriter on which to display - The expected array - The actual array - Index of the failure point in the underlying collections - The indentation level for the message line - - - - Display the failure information for two IEnumerables that did not match. - - The MessageWriter on which to display - The expected enumeration. - The actual enumeration - The depth of this failure in a set of nested collections - - - - EqualityAdapter class handles all equality comparisons - that use an , - or a . - - - - - Compares two objects, returning true if they are equal - - - - - Returns true if the two objects can be compared by this adapter. - The base adapter cannot handle IEnumerables except for strings. - - - - - Returns an that wraps an . - - - - - that wraps an . - - - - - Returns an that wraps an . - - - - - Returns an EqualityAdapter that uses a predicate function for items comparison. - - - - - - - - - Returns true if the two objects can be compared by this adapter. - The base adapter cannot handle IEnumerables except for strings. - - - - - Compares two objects, returning true if they are equal - - - - - Returns true if the two objects can be compared by this adapter. - Generic adapter requires objects of the specified type. - - - - - Returns an that wraps an . - - - - - Returns an that wraps an . - - - - - that wraps an . - - - - - Returns an that wraps a . - - - - - ExactCountConstraint applies another constraint to each - item in a collection, succeeding only if a specified - number of items succeed. - - - - - Construct a standalone ExactCountConstraint - - - - - - Construct an ExactCountConstraint on top of an existing constraint - - - - - - - Apply the item constraint to each item in the collection, - succeeding only if the expected number of items pass. - - The value to be tested - A ConstraintResult - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Contain the result of matching a against an actual value. - - - - - The count of matched items of the - - - - - A list with maximum count (+1) of items of the - - - - - Constructs a for a . - - The Constraint to which this result applies. - The actual value to which the Constraint was applied. - If true, applies a status of Success to the result, otherwise Failure. - Count of matched items of the - A list with maximum count (+1) of items of the - - - - Write the actual value for a failing constraint test to a MessageWriter. - - The writer on which the actual value is displayed - - - - ExactTypeConstraint is used to test that an object - is of the exact type provided in the constructor - - - - - Construct an ExactTypeConstraint for a given Type - - The expected Type. - - - - The display name of this Constraint for use by ToString(). - The default value is the name of the constraint with - trailing "Constraint" removed. Derived classes may set - this to another name in their constructors. - - - - - Apply the constraint to an actual value, returning true if it succeeds - - The actual argument - True if the constraint succeeds, otherwise false. - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Applies the constraint to an actual value, returning a ConstraintResult. - - The value to be tested - A ConstraintResult - - - - ExceptionTypeConstraint is a special version of ExactTypeConstraint - used to provided detailed info about the exception thrown in - an error message. - - - - - Constructs an ExceptionTypeConstraint - - - - - Applies the constraint to an actual value, returning a ConstraintResult. - - The value to be tested - A ConstraintResult - - - - FalseConstraint tests that the actual value is false - - - - - Initializes a new instance of the class. - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - FileExistsConstraint is used to determine if a file exists - - - - - Initializes a new instance of the class. - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - FileOrDirectoryExistsConstraint is used to determine if a file or directory exists - - - - - If true, the constraint will only check if files exist, not directories - - - - - If true, the constraint will only check if directories exist, not files - - - - - Initializes a new instance of the class that - will check files and directories. - - - - - Initializes a new instance of the class that - will only check files if ignoreDirectories is true. - - if set to [ignore directories]. - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Applies the constraint to an actual value, returning a ConstraintResult. - - The value to be tested - A ConstraintResult - - - Helper routines for working with floating point numbers - - - The floating point comparison code is based on this excellent article: - https://randomascii.wordpress.com/2012/02/25/comparing-floating-point-numbers-2012-edition/ - - - "ULP" means Unit in the Last Place and in the context of this library refers to - the distance between two adjacent floating point numbers. IEEE floating point - numbers can only represent a finite subset of natural numbers, with greater - accuracy for smaller numbers and lower accuracy for very large numbers. - - - If a comparison is allowed "2 ulps" of deviation, that means the values are - allowed to deviate by up to 2 adjacent floating point values, which might be - as low as 0.0000001 for small numbers or as high as 10.0 for large numbers. - - - - - Union of a floating point variable and an integer - - - The union's value as a floating point variable - - - The union's value as an integer - - - The union's value as an unsigned integer - - - Union of a double precision floating point variable and a long - - - The union's value as a double precision floating point variable - - - The union's value as a long - - - The union's value as an unsigned long - - - Compares two floating point values for equality - First floating point value to be compared - Second floating point value t be compared - - Maximum number of representable floating point values that are allowed to - be between the left and the right floating point values - - True if both numbers are equal or close to being equal - - - Floating point values can only represent a finite subset of natural numbers. - For example, the values 2.00000000 and 2.00000024 can be stored in a float, - but nothing between them. - - - This comparison will count how many possible floating point values are between - the left and the right number. If the number of possible values between both - numbers is less than or equal to maxUlps, then the numbers are considered as - being equal. - - - Implementation partially follows the code outlined here: - http://www.anttirt.net/2007/08/19/proper-floating-point-comparisons/ - - - - - Compares two double precision floating point values for equality - First double precision floating point value to be compared - Second double precision floating point value t be compared - - Maximum number of representable double precision floating point values that are - allowed to be between the left and the right double precision floating point values - - True if both numbers are equal or close to being equal - - - Double precision floating point values can only represent a limited series of - natural numbers. For example, the values 2.0000000000000000 and 2.0000000000000004 - can be stored in a double, but nothing between them. - - - This comparison will count how many possible double precision floating point - values are between the left and the right number. If the number of possible - values between both numbers is less than or equal to maxUlps, then the numbers - are considered as being equal. - - - Implementation partially follows the code outlined here: - http://www.anttirt.net/2007/08/19/proper-floating-point-comparisons/ - - - - - - Tests whether a value is greater than the value supplied to its constructor - - - - - Initializes a new instance of the class. - - The expected value. - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Perform the comparison - - - - - Tests whether a value is greater than or equal to the value supplied to its constructor - - - - - Initializes a new instance of the class. - - The expected value. - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Perform the comparison - - - - - Interface for all constraints - - - - - The display name of this Constraint for use by ToString(). - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Arguments provided to this Constraint, for use in - formatting the description. - - - - - The ConstraintBuilder holding this constraint - - - - - Applies the constraint to an actual value, returning a ConstraintResult. - - The value to be tested - A ConstraintResult - - - - Applies the constraint to an ActualValueDelegate that returns - the value to be tested. The default implementation simply evaluates - the delegate but derived classes may override it to provide for - delayed processing. - - An ActualValueDelegate - A ConstraintResult - - - - Test whether the constraint is satisfied by a given reference. - The default implementation simply dereferences the value but - derived classes may override it to provide for delayed processing. - - A reference to the value to be tested - A ConstraintResult - - - - IndexerConstraint extracts a named property and uses - its value as the actual value for a chained constraint. - - - - - Initializes a new instance of the class. - - The argument list for the indexer. - The constraint to apply to the indexer. - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - - - - Returns the string representation of the constraint. - - - - - InstanceOfTypeConstraint is used to test that an object - is of the same type provided or derived from it. - - - - - Construct an InstanceOfTypeConstraint for the type provided - - The expected Type - - - - The display name of this Constraint for use by ToString(). - The default value is the name of the constraint with - trailing "Constraint" removed. Derived classes may set - this to another name in their constructors. - - - - - Apply the constraint to an actual value, returning true if it succeeds - - The actual argument - True if the constraint succeeds, otherwise false. - - - - Keeps track of an interval time which can be represented in - Minutes, Seconds or Milliseconds - - - - - Constructs a interval given an value in milliseconds - - - - - Gets Interval value represented as a TimeSpan object - - - - - Returns the interval with the current value as a number of minutes. - - - - - Returns the interval with the current value as a number of seconds. - - - - - Returns the interval with the current value as a number of milliseconds. - - - - - Is true for intervals created with a non-zero value - - - - - Returns a string that represents the current object. - - - A string that represents the current object. - - - - - IntervalUnit provides the semantics to the value stored in Interval class. - - - - - Unit representing an Interval in minutes - - - - - Unit representing an Interval in seconds - - - - - Unit representing an Interval in milliseconds - - - - - The IResolveConstraint interface is implemented by all - complete and resolvable constraints and expressions. - - - - - Return the top-level constraint for this expression - - - - - - An extension of ResolvableConstraintExpression that adds a no-op Items property for readability. - - - - - Create a new instance of ItemsConstraintExpression - - - - - Create a new instance of ResolvableConstraintExpression, - passing in a pre-populated ConstraintBuilder. - - - - - - No-op property for readability. - - - - - Tests whether a value is less than the value supplied to its constructor - - - - - Initializes a new instance of the class. - - The expected value. - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Perform the comparison - - - - - Tests whether a value is less than or equal to the value supplied to its constructor - - - - - Initializes a new instance of the class. - - The expected value. - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Perform the comparison - - - - - MessageWriter is the abstract base for classes that write - constraint descriptions and messages in some form. The - class has separate methods for writing various components - of a message, allowing implementations to tailor the - presentation as needed. - - - - - Construct a MessageWriter given a culture - - - - - Abstract method to get the max line length - - - - - Method to write single line message with optional args, usually - written to precede the general failure message. - - The message to be written - Any arguments used in formatting the message - - - - Method to write single line message with optional args, usually - written to precede the general failure message, at a given - indentation level. - - The indentation level of the message - The message to be written - Any arguments used in formatting the message - - - - Display Expected and Actual lines for a constraint. This - is called by MessageWriter's default implementation of - WriteMessageTo and provides the generic two-line display. - - The failing constraint result - - - - Display Expected and Actual lines for given values. This - method may be called by constraints that need more control over - the display of actual and expected values than is provided - by the default implementation. - - The expected value - The actual value causing the failure - - - - Display Expected and Actual lines for given values, including - a tolerance value on the Expected line. - - The expected value - The actual value causing the failure - The tolerance within which the test was made - - - - Display the expected and actual string values on separate lines. - If the mismatch parameter is >=0, an additional line is displayed - line containing a caret that points to the mismatch point. - - The expected string value - The actual string value - The point at which the strings don't match or -1 - If true, case is ignored in locating the point where the strings differ - If true, the strings should be clipped to fit the line - - - - Writes the text for an actual value. - - The actual value. - - - - Writes the text for a generalized value. - - The value. - - - - Writes the text for a collection value, - starting at a particular point, to a max length - - The collection containing elements to write. - The starting point of the elements to write - The maximum number of elements to write - - - - Custom value formatter function - - The value - - - - - Custom value formatter factory function - - The next formatter function - ValueFormatter - If the given formatter is unable to handle a certain format, it must call the next formatter in the chain - - - - Static methods used in creating messages - - - - - Default amount of items used by method. - - - - - Static string used when strings are clipped - - - - - Formatting strings used for expected and actual values - - - - - Current head of chain of value formatters. Public for testing. - - - - - Add a formatter to the chain of responsibility. - - - - - - Formats text to represent a generalized value. - - The value - The formatted text - - - - Formats text for a collection value, - starting at a particular point, to a max length - - The collection containing elements to write. - The starting point of the elements to write - The maximum number of elements to write - - - - Returns the representation of a type as used in NUnitLite. - This is the same as Type.ToString() except for arrays, - which are displayed with their declared sizes. - - - - - - - Converts any control characters in a string - to their escaped representation. - - The string to be converted - The converted string - - - - Converts any null characters in a string - to their escaped representation. - - The string to be converted - The converted string - - - - Return the a string representation for a set of indices into an array - - Array of indices for which a string is needed - - - - Get an array of indices representing the point in a collection or - array corresponding to a single int index into the collection. - - The collection to which the indices apply - Index in the collection - Array of indices - - - - Clip a string to a given length, starting at a particular offset, returning the clipped - string with ellipses representing the removed parts - - The string to be clipped - The maximum permitted length of the result string - The point at which to start clipping - The clipped string - - - - Clip the expected and actual strings in a coordinated fashion, - so that they may be displayed together. - - - - - - - - - Shows the position two strings start to differ. Comparison - starts at the start index. - - The expected string - The actual string - The index in the strings at which comparison should start - Boolean indicating whether case should be ignored - -1 if no mismatch found, or the index where mismatch found - - - - NaNConstraint tests that the actual value is a double or float NaN - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Test that the actual value is an NaN - - - - - - - NoItemConstraint applies another constraint to each - item in a collection, failing if any of them succeeds. - - - - - Construct a SomeItemsConstraint on top of an existing constraint - - - - - - The display name of this Constraint for use by ToString(). - The default value is the name of the constraint with - trailing "Constraint" removed. Derived classes may set - this to another name in their constructors. - - - - - Apply the item constraint to each item in the collection, - failing if any item fails. - - - - - - - NotConstraint negates the effect of some other constraint - - - - - Initializes a new instance of the class. - - The base constraint to be negated. - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for if the base constraint fails, false if it succeeds - - - - NullConstraint tests that the actual value is null - - - - - Initializes a new instance of the class. - - - - - Applies the constraint to an actual value, returning a ConstraintResult. - - The value to be tested - A ConstraintResult - - - - The Numerics class contains common operations on numeric values. - - - - - Checks the type of the object, returning true if - the object is a numeric type. - - The object to check - true if the object is a numeric type - - - - Checks the type of the object, returning true if - the object is a floating point numeric type. - - The object to check - true if the object is a floating point numeric type - - - - Checks the type of the object, returning true if - the object is a fixed point numeric type. - - The object to check - true if the object is a fixed point numeric type - - - - Test two numeric values for equality, performing the usual numeric - conversions and using a provided or default tolerance. If the tolerance - provided is Empty, this method may set it to a default tolerance. - - The expected value - The actual value - A reference to the tolerance in effect - True if the values are equal - - - - Compare two numeric values, performing the usual numeric conversions. - - The expected value - The actual value - The relationship of the values to each other - - - - Calculates the difference between 2 values in absolute/percent mode. - - The expected value - The actual value - Tolerance mode to specify difference representation - The difference between the values - - - - NUnitComparer encapsulates NUnit's default behavior - in comparing two objects. - - - - - Returns the default NUnitComparer. - - - - - Compares two objects - - - - - - - - NUnitEqualityComparer encapsulates NUnit's handling of - equality tests between objects. - - - - - If true, all string comparisons will ignore case - - - - - If true, arrays will be treated as collections, allowing - those of different dimensions to be compared - - - - - Comparison objects used in comparisons for some constraints. - - - - - List of points at which a failure occurred. - - - - - List of comparers used to compare pairs of objects. - - - - - Initializes a new instance of the class. - - - - - Returns the default NUnitEqualityComparer - - - - - Gets and sets a flag indicating whether case should - be ignored in determining equality. - - - - - Gets and sets a flag indicating that arrays should be - compared as collections, without regard to their shape. - - - - - Gets the list of external comparers to be used to - test for equality. They are applied to members of - collections, in place of NUnit's own logic. - - - - - Gets the list of failure points for the last Match performed. - The list consists of objects to be interpreted by the caller. - This generally means that the caller may only make use of - objects it has placed on the list at a particular depth. - - - - - Flags the comparer to include - property in comparison of two values. - - - Using this modifier does not allow to use the - modifier. - - - - - Compares two objects for equality within a tolerance. - - - - - Compares two objects for equality within a tolerance. - - - - - FailurePoint class represents one point of failure - in an equality test. - - - - - The location of the failure - - - - - The expected value - - - - - The actual value - - - - - Indicates whether the expected value is valid - - - - - Indicates whether the actual value is valid - - - - - Represents a constraint that succeeds if all the - members of a collection match a base constraint. - - - - - Returns a constraint that will apply the argument - to the members of a collection, succeeding if - they all succeed. - - - - - Operator that requires both its arguments to succeed - - - - - Construct an AndOperator - - - - - Apply the operator to produce an AndConstraint - - - - - Operator that tests for the presence of a particular attribute - on a type and optionally applies further tests to the attribute. - - - - - Construct an AttributeOperator for a particular Type - - The Type of attribute tested - - - - Reduce produces a constraint from the operator and - any arguments. It takes the arguments from the constraint - stack and pushes the resulting constraint on it. - - - - - Abstract base class for all binary operators - - - - - Reduce produces a constraint from the operator and - any arguments. It takes the arguments from the constraint - stack and pushes the resulting constraint on it. - - - - - - Gets the left precedence of the operator - - - - - Gets the right precedence of the operator - - - - - Abstract method that produces a constraint by applying - the operator to its left and right constraint arguments. - - - - - Abstract base for operators that indicate how to - apply a constraint to items in a collection. - - - - - Constructs a CollectionOperator - - - - - The ConstraintOperator class is used internally by a - ConstraintBuilder to represent an operator that - modifies or combines constraints. - - Constraint operators use left and right precedence - values to determine whether the top operator on the - stack should be reduced before pushing a new operator. - - - - - The precedence value used when the operator - is about to be pushed to the stack. - - - - - The precedence value used when the operator - is on the top of the stack. - - - - - The syntax element preceding this operator - - - - - The syntax element following this operator - - - - - The precedence value used when the operator - is about to be pushed to the stack. - - - - - The precedence value used when the operator - is on the top of the stack. - - - - - Reduce produces a constraint from the operator and - any arguments. It takes the arguments from the constraint - stack and pushes the resulting constraint on it. - - - - - - Represents a constraint that succeeds if the specified - count of members of a collection match a base constraint. - - - - - Construct an ExactCountOperator for a specified count - - The expected count - - - - Reduce produces a constraint from the operator and - any arguments. It takes the arguments from the constraint - stack and pushes the resulting constraint on it. - - - - - - Operator used to test for the presence of a Indexer - on an object and optionally apply further tests to the - value of that indexer. - - - - - Constructs a IndexerOperator for a particular set of indexer - parameters - - - - - Returns a IndexerConstraint applied to its argument. - - - - - Represents a constraint that succeeds if none of the - members of a collection match a base constraint. - - - - - Returns a constraint that will apply the argument - to the members of a collection, succeeding if - none of them succeed. - - - - - Negates the test of the constraint it wraps. - - - - - Constructs a new NotOperator - - - - - Returns a NotConstraint applied to its argument. - - - - - Operator that requires at least one of its arguments to succeed - - - - - Construct an OrOperator - - - - - Apply the operator to produce an OrConstraint - - - - - PrefixOperator takes a single constraint and modifies - its action in some way. - - - - - Reduce produces a constraint from the operator and - any arguments. It takes the arguments from the constraint - stack and pushes the resulting constraint on it. - - - - - - Returns the constraint created by applying this - prefix to another constraint. - - - - - - - Operator used to test for the presence of a named Property - on an object and optionally apply further tests to the - value of that property. - - - - - Gets the name of the property to which the operator applies - - - - - Constructs a PropOperator for a particular named property - - - - - Reduce produces a constraint from the operator and - any arguments. It takes the arguments from the constraint - stack and pushes the resulting constraint on it. - - - - - - Abstract base class for operators that are able to reduce to a - constraint whether or not another syntactic element follows. - - - - - Represents a constraint that succeeds if any of the - members of a collection match a base constraint. - - - - - Returns a constraint that will apply the argument - to the members of a collection, succeeding if - any of them succeed. - - - - - Operator that tests that an exception is thrown and - optionally applies further tests to the exception. - - - - - Construct a ThrowsOperator - - - - - Reduce produces a constraint from the operator and - any arguments. It takes the arguments from the constraint - stack and pushes the resulting constraint on it. - - - - - Represents a constraint that simply wraps the - constraint provided as an argument, without any - further functionality, but which modifies the - order of evaluation because of its precedence. - - - - - Constructor for the WithOperator - - - - - Returns a constraint that wraps its argument - - - - - OrConstraint succeeds if either member succeeds - - - - - Create an OrConstraint from two other constraints - - The first constraint - The second constraint - - - - Gets text describing a constraint - - - - - Apply the member constraints to an actual value, succeeding - succeeding as soon as one of them succeeds. - - The actual value - True if either constraint succeeded - - - - PathConstraint serves as the abstract base of constraints - that operate on paths and provides several helper methods. - - - - - Construct a PathConstraint for a give expected path - - The expected path - - - - Modifies the current instance to be case-sensitive - and returns it. - - - - - Returns the string representation of this constraint - - - - - Canonicalize the provided path - - - The path in standardized form - - - - Test whether one path in canonical form is a subpath of another path - - The first path - supposed to be the parent path - The second path - supposed to be the child path - - - - - Predicate constraint wraps a Predicate in a constraint, - returning success if the predicate is true. - - - - - Construct a PredicateConstraint from a predicate - - - - - Gets text describing a constraint - - - - - Determines whether the predicate succeeds when applied - to the actual value. - - - - - Abstract base class used for prefixes - - - - - The base constraint - - - - - Prefix used in forming the constraint description - - - - - Construct given a base constraint - - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Formats a prefix constraint's description. - - - - - PropertyConstraint extracts a named property and uses - its value as the actual value for a chained constraint. - - - - - Initializes a new instance of the class. - - The name. - The constraint to apply to the property. - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - - - - Returns the string representation of the constraint. - - - - - Contains the result of matching a against an actual value. - - - - - Constructs a for a particular . - - The Constraint to which this result applies. - The base result with actual value to which the Constraint was applied. - - - - Write the additional failure message for a failing constraint to a - MessageWriter. - - The writer on which the actual value is displayed - - - - PropertyExistsConstraint tests that a named property - exists on the object provided through Match. - - Originally, PropertyConstraint provided this feature - in addition to making optional tests on the value - of the property. The two constraints are now separate. - - - - - Initializes a new instance of the class. - - The name of the property. - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Test whether the property exists for a given object - - The object to be tested - True for success, false for failure - - - - Returns the string representation of the constraint. - - - - - - RangeConstraint tests whether two values are within a - specified range. - - - - - Initializes a new instance of the class. - - Inclusive beginning of the range. - Inclusive end of the range. - - - - Gets text describing a constraint - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - Modifies the constraint to use an and returns self. - - - - - Modifies the constraint to use an and returns self. - - - - - Modifies the constraint to use a and returns self. - - - - - RegexConstraint can test whether a string matches - the pattern provided. - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Initializes a new instance of the class. - - The pattern. - - - - Initializes a new instance of the class. - - The Regex pattern object. - - - - Modify the constraint to ignore case in matching. - - - - - Applies the regex constraint to an actual value, returning a ConstraintResult. - - The string to be tested. - True for success, false for failure. - - - - ResolvableConstraintExpression is used to represent a compound - constraint being constructed at a point where the last operator - may either terminate the expression or may have additional - qualifying constraints added to it. - - It is used, for example, for a Property element or for - an Exception element, either of which may be optionally - followed by constraints that apply to the property or - exception. - - - - - Create a new instance of ResolvableConstraintExpression - - - - - Create a new instance of ResolvableConstraintExpression, - passing in a pre-populated ConstraintBuilder. - - - - - Appends an And Operator to the expression - - - - - Appends an Or operator to the expression. - - - - - Resolve the current expression to a Constraint - - - - - ReusableConstraint wraps a constraint expression after - resolving it so that it can be reused consistently. - - - - - Construct a ReusableConstraint from a constraint expression - - The expression to be resolved and reused - - - - Converts a constraint to a ReusableConstraint - - The constraint to be converted - A ReusableConstraint - - - - Returns a that represents this instance. - - - A that represents this instance. - - - - - Return the top-level constraint for this expression - - - - - - SameAsConstraint tests whether an object is identical to - the object passed to its constructor - - - - - Initializes a new instance of the class. - - The expected object. - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - Summary description for SamePathConstraint. - - - - - Initializes a new instance of the class. - - The expected path - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - SamePathOrUnderConstraint tests that one path is under another - - - - - Initializes a new instance of the class. - - The expected path - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - SomeItemsConstraint applies another constraint to each - item in a collection, succeeding if any of them succeeds. - - - - - Construct a SomeItemsConstraint on top of an existing constraint - - - - - - The display name of this Constraint for use by ToString(). - The default value is the name of the constraint with - trailing "Constraint" removed. Derived classes may set - this to another name in their constructors. - - - - - Apply the item constraint to each item in the collection, - succeeding if any item succeeds. - - - - - - - Flag the constraint to use the supplied object. - - The type of the elements in the collection. - The type of the member. - The comparison function to use. - Self. - - - - Flag the constraint to use the supplied object. - - The IComparer object to use. - Self. - - - - Flag the constraint to use the supplied object. - - The IComparer object to use. - Self. - - - - Flag the constraint to use the supplied object. - - The IComparer object to use. - Self. - - - - Flag the constraint to use the supplied object. - - The IComparer object to use. - Self. - - - - Flag the constraint to use the supplied object. - - The IComparer object to use. - Self. - - - - StartsWithConstraint can test whether a string starts - with an expected substring. - - - - - Initializes a new instance of the class. - - The expected string - - - - Test whether the constraint is matched by the actual value. - This is a template method, which calls the IsMatch method - of the derived class. - - - - - - - StringConstraint is the abstract base for constraints - that operate on strings. It supports the IgnoreCase - modifier for string operations. - - - - - The expected value - - - - - Indicates whether tests should be case-insensitive - - - - - Description of this constraint - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Constructs a StringConstraint without an expected value - - - - - Constructs a StringConstraint given an expected value - - The expected value - - - - Modify the constraint to ignore case in matching. - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - Test whether the constraint is satisfied by a given string - - The string to be tested - True for success, false for failure - - - - SubPathConstraint tests that the actual path is under the expected path - - - - - Initializes a new instance of the class. - - The expected path - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - SubstringConstraint can test whether a string contains - the expected substring. - - - - - Initializes a new instance of the class. - - The expected. - - - - Modify the constraint to ignore case in matching. - This will call Using(StringComparison.CurrentCultureIgnoreCase). - - Thrown when a comparison type different - than was already set. - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - Modify the constraint to the specified comparison. - - Thrown when a comparison type different - than was already set. - - - - ThrowsConstraint is used to test the exception thrown by - a delegate by applying a constraint to it. - - - - - Initializes a new instance of the class, - using a constraint to be applied to the exception. - - A constraint to apply to the caught exception. - - - - Get the actual exception thrown - used by Assert.Throws. - - - - - Gets text describing a constraint - - - - - Executes the code of the delegate and captures any exception. - If a non-null base constraint was provided, it applies that - constraint to the exception. - - A delegate representing the code to be tested - True if an exception is thrown and the constraint succeeds, otherwise false - - - - Converts an ActualValueDelegate to a TestDelegate - before calling the primary overload. - - - - - - - Write the actual value for a failing constraint test to a - MessageWriter. This override only handles the special message - used when an exception is expected but none is thrown. - - The writer on which the actual value is displayed - - - - ThrowsExceptionConstraint tests that an exception has - been thrown, without any further tests. - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Executes the code and returns success if an exception is thrown. - - A delegate representing the code to be tested - True if an exception is thrown, otherwise false - - - - Applies the constraint to an ActualValueDelegate that returns - the value to be tested. The default implementation simply evaluates - the delegate but derived classes may override it to provide for - delayed processing. - - - - - ThrowsNothingConstraint tests that a delegate does not - throw an exception. - - - - - Gets text describing a constraint - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True if no exception is thrown, otherwise false - - - - Applies the constraint to an ActualValueDelegate that returns - the value to be tested. The default implementation simply evaluates - the delegate but derived classes may override it to provide for - delayed processing. - - An ActualValueDelegate - A ConstraintResult - - - - The Tolerance class generalizes the notion of a tolerance - within which an equality test succeeds. Normally, it is - used with numeric types, but it can be used with any - type that supports taking a difference between two - objects and comparing that difference to a value. - - - - - Returns a default Tolerance object, equivalent to an exact match. - - - - - Returns an empty Tolerance object, equivalent to an exact match. - - - - - Constructs a linear tolerance of a specified amount - - - - - Constructs a tolerance given an amount and - - - - - Returns a new tolerance, using the current amount as a percentage. - - - - - Returns a new tolerance, using the current amount in Ulps - - - - - Returns a new tolerance with a as the amount, using - the current amount as a number of days. - - - - - Returns a new tolerance with a as the amount, using - the current amount as a number of hours. - - - - - Returns a new tolerance with a as the amount, using - the current amount as a number of minutes. - - - - - Returns a new tolerance with a as the amount, using - the current amount as a number of seconds. - - - - - Returns a new tolerance with a as the amount, using - the current amount as a number of milliseconds. - - - - - Returns a new tolerance with a as the amount, using - the current amount as a number of clock ticks. - - - - - Gets the for the current Tolerance - - - - - Gets the magnitude of the current Tolerance instance. - - - - - Returns true if the current tolerance has not been set or is using the . - - - - - Apply the tolerance to an expected value and return - a Tolerance.Range that represents the acceptable values. - - - - - Tests that the current Tolerance is linear with a - numeric value, throwing an exception if it is not. - - - - - Tolerance.Range represents the range of values that match - a specific tolerance, when applied to a specific value. - - - - - The lower bound of the range - - - - - The upper bound of the range - - - - - Constructs a range - - - - - Modes in which the tolerance value for a comparison can be interpreted. - - - - - The tolerance was created with a value, without specifying - how the value would be used. This is used to prevent setting - the mode more than once and is generally changed to Linear - upon execution of the test. - - - - - The tolerance is used as a numeric range within which - two compared values are considered to be equal. - - - - - Interprets the tolerance as the percentage by which - the two compared values my deviate from each other. - - - - - Compares two values based in their distance in - representable numbers. - - - - - TrueConstraint tests that the actual value is true - - - - - Initializes a new instance of the class. - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - TypeConstraint is the abstract base for constraints - that take a Type as their expected value. - - - - - The expected Type used by the constraint - - - - - The type of the actual argument to which the constraint was applied - - - - - Construct a TypeConstraint for a given Type - - The expected type for the constraint - Prefix used in forming the constraint description - - - - Applies the constraint to an actual value, returning a ConstraintResult. - - The value to be tested - A ConstraintResult - - - - Apply the constraint to an actual value, returning true if it succeeds - - The actual argument - True if the constraint succeeds, otherwise false. - - - - UniqueItemsConstraint tests whether all the items in a - collection are unique. - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Check that all items are unique. - - - - - - - - - - XmlSerializableConstraint tests whether - an object is serializable in XML format. - - - - - Gets text describing a constraint - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - Returns the string representation of this constraint - - - - - Helper class with properties and methods that supply - a number of constraints used in Asserts. - - - - - Returns a new checking for the - presence of a particular object in the collection. - - - - - Returns a new DictionaryContainsKeyConstraint checking for the - presence of a particular key in the dictionary. - - - - - Returns a new DictionaryContainsValueConstraint checking for the - presence of a particular value in the dictionary. - - - - - Returns a constraint that succeeds if the actual - value contains the substring supplied as an argument. - - - - - Asserts on Directories - - - - - DO NOT USE! Use DirectoryAssert.AreEqual(...) instead. - The Equals method throws an InvalidOperationException. This is done - to make sure there is no mistake by calling this function. - - - - - - - DO NOT USE! - The ReferenceEquals method throws an InvalidOperationException. This is done - to make sure there is no mistake by calling this function. - - - - - - - Verifies that two directories are equal. Two directories are considered - equal if both are null, or if both point to the same directory. - If they are not equal an is thrown. - - A directory containing the value that is expected - A directory containing the actual value - The message to display if the directories are not equal - Arguments to be used in formatting the message - - - - Verifies that two directories are equal. Two directories are considered - equal if both are null, or if both point to the same directory. - If they are not equal an is thrown. - - A directory containing the value that is expected - A directory containing the actual value - - - - Asserts that two directories are not equal. If they are equal - an is thrown. - - A directory containing the value that is expected - A directory containing the actual value - The message to display if directories are not equal - Arguments to be used in formatting the message - - - - Asserts that two directories are not equal. If they are equal - an is thrown. - - A directory containing the value that is expected - A directory containing the actual value - - - - Asserts that the directory exists. If it does not exist - an is thrown. - - A directory containing the actual value - The message to display if directories are not equal - Arguments to be used in formatting the message - - - - Asserts that the directory exists. If it does not exist - an is thrown. - - A directory containing the actual value - - - - Asserts that the directory exists. If it does not exist - an is thrown. - - The path to a directory containing the actual value - The message to display if directories are not equal - Arguments to be used in formatting the message - - - - Asserts that the directory exists. If it does not exist - an is thrown. - - The path to a directory containing the actual value - - - - Asserts that the directory does not exist. If it does exist - an is thrown. - - A directory containing the actual value - The message to display if directories are not equal - Arguments to be used in formatting the message - - - - Asserts that the directory does not exist. If it does exist - an is thrown. - - A directory containing the actual value - - - - Asserts that the directory does not exist. If it does exist - an is thrown. - - The path to a directory containing the actual value - The message to display if directories are not equal - Arguments to be used in formatting the message - - - - Asserts that the directory does not exist. If it does exist - an is thrown. - - The path to a directory containing the actual value - - - - Helper class with properties and methods that supply - a number of constraints used in Asserts. - - - - - Returns a ConstraintExpression that negates any - following constraint. - - - - - Returns a constraint that succeeds if the value - is a file or directory and it exists. - - - - - Returns a new checking for the - presence of a particular object in the collection. - - - - - Returns a new . This constraint - will, in turn, make use of the appropriate second-level - constraint, depending on the type of the actual argument. - This overload is only used if the item sought is a string, - since any other type implies that we are looking for a - collection member. - - - - - Returns a new DictionaryContainsKeyConstraint checking for the - presence of a particular key in the Dictionary key collection. - - The key to be matched in the Dictionary key collection - - - - Returns a new DictionaryContainsValueConstraint checking for the - presence of a particular value in the Dictionary value collection. - - The value to be matched in the Dictionary value collection - - - - Returns a constraint that succeeds if the actual - value starts with the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value ends with the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value matches the regular expression supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value matches the regular expression supplied as an argument. - - - - - If throws, returns "SomeException was thrown by the Exception.StackTrace - property." See also . - - - - - If throws, returns "SomeException was thrown by the Exception.Message - property." - - - - - If throws, returns "SomeException was thrown by the Exception.Data property." - - - - - Thrown when an assertion failed. - - - - The error message that explains - the reason for the exception - - - The error message that explains - the reason for the exception - The exception that caused the - current exception - - - - Serialization Constructor - - - - - Gets the ResultState provided by this exception - - - - - Thrown when an assertion failed. - - - - - - - The error message that explains - the reason for the exception - The exception that caused the - current exception - - - - Serialization Constructor - - - - - Gets the ResultState provided by this exception - - - - - Thrown when a test executes inconclusively. - - - - The error message that explains - the reason for the exception - - - The error message that explains - the reason for the exception - The exception that caused the - current exception - - - - Serialization Constructor - - - - - Gets the ResultState provided by this exception - - - - - Thrown when an assertion failed. - - - - - Construct based on the TestResult so far. This is the constructor - used normally, when exiting the multiple assert block with failures. - Not used internally but provided to facilitate debugging. - - - The current result, up to this point. The result is not used - internally by NUnit but is provided to facilitate debugging. - - - - - Serialization Constructor - - - - - Gets the provided by this exception. - - - - - Gets the of this test at the point the exception was thrown, - - - - - Abstract base for Exceptions that terminate a test and provide a ResultState. - - - - The error message that explains - the reason for the exception - - - The error message that explains - the reason for the exception - The exception that caused the - current exception - - - - Serialization Constructor - - - - - Gets the ResultState provided by this exception - - - - - Thrown when an assertion failed. - - - - - - - The error message that explains - the reason for the exception - The exception that caused the - current exception - - - - Serialization Constructor - - - - - Gets the ResultState provided by this exception - - - - - Contains extension methods that do not require a special using directive. - - - - - Asserts on Files - - - - - DO NOT USE! Use FileAssert.AreEqual(...) instead. - The Equals method throws an InvalidOperationException. This is done - to make sure there is no mistake by calling this function. - - - - - - - DO NOT USE! - The ReferenceEquals method throws an InvalidOperationException. This is done - to make sure there is no mistake by calling this function. - - - - - - - Verifies that two Streams are equal. Two Streams are considered - equal if both are null, or if both have the same value byte for byte. - If they are not equal an is thrown. - - The expected Stream - The actual Stream - The message to display if Streams are not equal - Arguments to be used in formatting the message - - - - Verifies that two Streams are equal. Two Streams are considered - equal if both are null, or if both have the same value byte for byte. - If they are not equal an is thrown. - - The expected Stream - The actual Stream - - - - Verifies that two files are equal. Two files are considered - equal if both are null, or if both have the same value byte for byte. - If they are not equal an is thrown. - - A file containing the value that is expected - A file containing the actual value - The message to display if Streams are not equal - Arguments to be used in formatting the message - - - - Verifies that two files are equal. Two files are considered - equal if both are null, or if both have the same value byte for byte. - If they are not equal an is thrown. - - A file containing the value that is expected - A file containing the actual value - - - - Verifies that two files are equal. Two files are considered - equal if both are null, or if both have the same value byte for byte. - If they are not equal an is thrown. - - The path to a file containing the value that is expected - The path to a file containing the actual value - The message to display if Streams are not equal - Arguments to be used in formatting the message - - - - Verifies that two files are equal. Two files are considered - equal if both are null, or if both have the same value byte for byte. - If they are not equal an is thrown. - - The path to a file containing the value that is expected - The path to a file containing the actual value - - - - Asserts that two Streams are not equal. If they are equal - an is thrown. - - The expected Stream - The actual Stream - The message to be displayed when the two Stream are the same. - Arguments to be used in formatting the message - - - - Asserts that two Streams are not equal. If they are equal - an is thrown. - - The expected Stream - The actual Stream - - - - Asserts that two files are not equal. If they are equal - an is thrown. - - A file containing the value that is expected - A file containing the actual value - The message to display if Streams are not equal - Arguments to be used in formatting the message - - - - Asserts that two files are not equal. If they are equal - an is thrown. - - A file containing the value that is expected - A file containing the actual value - - - - Asserts that two files are not equal. If they are equal - an is thrown. - - The path to a file containing the value that is expected - The path to a file containing the actual value - The message to display if Streams are not equal - Arguments to be used in formatting the message - - - - Asserts that two files are not equal. If they are equal - an is thrown. - - The path to a file containing the value that is expected - The path to a file containing the actual value - - - - Asserts that the file exists. If it does not exist - an is thrown. - - A file containing the actual value - The message to display if Streams are not equal - Arguments to be used in formatting the message - - - - Asserts that the file exists. If it does not exist - an is thrown. - - A file containing the actual value - - - - Asserts that the file exists. If it does not exist - an is thrown. - - The path to a file containing the actual value - The message to display if Streams are not equal - Arguments to be used in formatting the message - - - - Asserts that the file exists. If it does not exist - an is thrown. - - The path to a file containing the actual value - - - - Asserts that the file does not exist. If it does exist - an is thrown. - - A file containing the actual value - The message to display if Streams are not equal - Arguments to be used in formatting the message - - - - Asserts that the file does not exist. If it does exist - an is thrown. - - A file containing the actual value - - - - Asserts that the file does not exist. If it does exist - an is thrown. - - The path to a file containing the actual value - The message to display if Streams are not equal - Arguments to be used in formatting the message - - - - Asserts that the file does not exist. If it does exist - an is thrown. - - The path to a file containing the actual value - - - - Class used to guard against unexpected argument values - or operations by throwing an appropriate exception. - - - - - Throws an exception if an argument is null - - The value to be tested - The name of the argument - - - - Throws an exception if a string argument is null or empty - - The value to be tested - The name of the argument - - - - Throws an ArgumentOutOfRangeException if the specified condition is not met. - - The condition that must be met - The exception message to be used - The name of the argument - - - - Throws an ArgumentException if the specified condition is not met. - - The condition that must be met - The exception message to be used - The name of the argument - - - - Throws an InvalidOperationException if the specified condition is not met. - - The condition that must be met - The exception message to be used - - - - Throws an if the specified delegate is async void. - - - - - Throws an if the specified delegate is async void. - - - - - Helper class with properties and methods that supply - a number of constraints used in Asserts. - - - - - Returns a ConstraintExpression that negates any - following constraint. - - - - - Returns a ConstraintExpression, which will apply - the following constraint to all members of a collection, - succeeding if all of them succeed. - - - - - Returns a ConstraintExpression, which will apply - the following constraint to all members of a collection, - succeeding if at least one of them succeeds. - - - - - Returns a ConstraintExpression, which will apply - the following constraint to all members of a collection, - succeeding if all of them fail. - - - - - Returns a ConstraintExpression, which will apply - the following constraint to all members of a collection, - succeeding only if a specified number of them succeed. - - - - - Returns a which will apply - the following constraint to only one member of the collection, - and fail if none or more than one match occurs. - - - - - Returns a new PropertyConstraintExpression, which will either - test for the existence of the named property on the object - being tested or apply any following constraint to that property. - - - - - Returns a new ConstraintExpression, which will apply the following - constraint to the Length property of the object being tested. - - - - - Returns a new ConstraintExpression, which will apply the following - constraint to the Count property of the object being tested. - - - - - Returns a new ConstraintExpression, which will apply the following - constraint to the Message property of the object being tested. - - - - - Returns a new ConstraintExpression, which will apply the following - constraint to the InnerException property of the object being tested. - - - - - Returns a new AttributeConstraint checking for the - presence of a particular attribute on an object. - - - - - Returns a new AttributeConstraint checking for the - presence of a particular attribute on an object. - - - - - Returns a new checking for the - presence of a particular object in the collection. - - - - - Returns a new IndexerConstraintExpression, which will - apply any following constraint to that indexer value. - - Index accessor values. - - - - The AssertionResult class represents the result of a single assertion. - - - - - Construct an AssertionResult - - - - The pass/fail status of the assertion - - - The message produced by the assertion, or null - - - The stack trace associated with the assertion, or null - - - Determines whether the specified object is equal to the current object. - The object to compare with the current object. - - - Indicates whether the current object is equal to another object of the same type. - An object to compare with this object. - - - Serves as the default hash function. - - - - ToString Override - - - - - AssertionStatus enumeration represents the possible outcomes of an assertion. - The order of definition is significant, higher level values override lower - ones in determining the overall result of a test. - - - - - An assumption failed - - - - - The assertion succeeded - - - - - A warning message was issued - - - - - The assertion failed - - - - - An unexpected exception was thrown - - - - - The IApplyToContext interface is implemented by attributes - that want to make changes to the execution context before - a test is run. - - - - - Apply changes to the execution context - - The execution context - - - - The IApplyToTest interface is implemented by self-applying - attributes that modify the state of a test in some way. - - - - - Modifies a test as defined for the specific attribute. - - The test to modify - - - - CombiningStrategy is the abstract base for classes that - know how to combine values provided for individual test - parameters to create a set of test cases. - - - - - Gets the test cases generated by the CombiningStrategy. - - The test cases. - - - - ICommandWrapper is implemented by attributes and other - objects able to wrap a TestCommand with another command. - - - Attributes or other objects should implement one of the - derived interfaces, rather than this one, since they - indicate in which part of the command chain the wrapper - should be applied. - - - - - Wrap a command and return the result. - - The command to be wrapped - The wrapped command - - - - Objects implementing this interface are used to wrap - the TestMethodCommand itself. They apply after SetUp - has been run and before TearDown. - - - - - Objects implementing this interface are used to wrap - the entire test, including SetUp and TearDown. - - - - - Objects implementing this interface are used to wrap - tests that can repeat. The implementing command is run once, - invoking the chained commands any number of times. - - - - - Any ITest that implements this interface is at a level that the implementing - class should be disposed at the end of the test run - - - - - The IFixtureBuilder interface is exposed by a class that knows how to - build test fixtures from a specified type. In general, it is exposed - by an attribute, but it may be implemented in a helper class used by the - attribute in some cases. - - - - - Builds any number of test fixtures from the specified type. - - The type info of the fixture to be used. - - - - The IFixtureBuilder2 interface extends IFixtureBuilder by allowing - use of a PreFilter, which is used to select methods as test cases. - - - - - Builds any number of test fixtures from the specified type. - - The type info of the fixture to be used. - PreFilter to be used to select methods. - - - - IImplyFixture is an empty marker interface used by attributes like - TestAttribute that cause the class where they are used to be treated - as a TestFixture even without a TestFixtureAttribute. - - Marker interfaces are not usually considered a good practice, but - we use it here to avoid cluttering the attribute hierarchy with - classes that don't contain any extra implementation. - - - - - The IMethodInfo class is used to encapsulate information - about a method in a platform-independent manner. - - - - - Gets the Type from which this method was reflected. - - - - - Gets the MethodInfo for this method. - - - - - Gets the name of the method. - - - - - Gets a value indicating whether the method is abstract. - - - - - Gets a value indicating whether the method is public. - - - - - Gets a value indicating whether the method is static. - - - - - Gets a value indicating whether the method contains unassigned generic type parameters. - - - - - Gets a value indicating whether the method is a generic method. - - - - - Gets a value indicating whether the MethodInfo represents the definition of a generic method. - - - - - Gets the return Type of the method. - - - - - Gets the parameters of the method. - - - - - - Returns the Type arguments of a generic method or the Type parameters of a generic method definition. - - - - - Replaces the type parameters of the method with the array of types provided and returns a new IMethodInfo. - - The type arguments to be used - A new IMethodInfo with the type arguments replaced - - - - Invokes the method, converting any TargetInvocationException to an NUnitException. - - The object on which to invoke the method - The argument list for the method - The return value from the invoked method - - - - Provides data for a single test parameter. - - - - - Determines whether any data is available for a parameter. - - The parameter of a parameterized test. - - - - Retrieves a list of arguments which can be passed to the specified parameter. - - The parameter of a parameterized test. - - - - Provides data for a single test parameter. - - - - - Retrieves a list of arguments which can be passed to the specified parameter. - - The parameter of a parameterized test. - - - - The IParameterInfo interface is an abstraction of a .NET parameter. - - - - - Gets a value indicating whether the parameter is optional - - - - - Gets an IMethodInfo representing the method for which this is a parameter - - - - - Gets the underlying .NET ParameterInfo - - - - - Gets the Type of the parameter - - - - - Implemented by filters for use in deciding which - Types and Methods should be used to generate tests. - - - - - Use the filter on a Type, returning true if the type matches the filter - and should therefore be included in the discovery process. - - - - - Use the filter on a Type, returning true if the type matches the filter - and should therefore be included in the discovery process. - - - - - A PropertyBag represents a collection of name/value pairs - that allows duplicate entries with the same key. Methods - are provided for adding a new pair as well as for setting - a key to a single value. All keys are strings but values - may be of any type. Null values are not permitted, since - a null entry represents the absence of the key. - - The entries in a PropertyBag are of two kinds: those that - take a single value and those that take multiple values. - However, the PropertyBag has no knowledge of which entries - fall into each category and the distinction is entirely - up to the code using the PropertyBag. - - When working with multi-valued properties, client code - should use the Add method to add name/value pairs and - indexing to retrieve a list of all values for a given - key. For example: - - bag.Add("Tag", "one"); - bag.Add("Tag", "two"); - Assert.That(bag["Tag"], - Is.EqualTo(new string[] { "one", "two" })); - - When working with single-valued properties, client code - should use the Set method to set the value and Get to - retrieve the value. The GetSetting methods may also be - used to retrieve the value in a type-safe manner while - also providing default. For example: - - bag.Set("Priority", "low"); - bag.Set("Priority", "high"); // replaces value - Assert.That(bag.Get("Priority"), - Is.EqualTo("high")); - Assert.That(bag.GetSetting("Priority", "low"), - Is.EqualTo("high")); - - - - - Adds a key/value pair to the property bag - - The key - The value - - - - Sets the value for a key, removing any other - values that are already in the property set. - - - - - - - Gets a single value for a key, using the first - one if multiple values are present and returning - null if the value is not found. - - - - - Gets a flag indicating whether the specified key has - any entries in the property set. - - The key to be checked - True if their are values present, otherwise false - - - - Gets or sets the list of values for a particular key - - The key for which the values are to be retrieved or set - - - - Gets a collection containing all the keys in the property set - - - - - The IReflectionInfo interface is implemented by NUnit wrapper objects that perform reflection. - - - - - Returns an array of custom attributes of the specified type applied to this object - - - - - Returns a value indicating whether an attribute of the specified type is defined on this object. - - - - - The ISimpleTestBuilder interface is exposed by a class that knows how to - build a single tests from a specified method. In general, - it is exposed by an attribute, but it may be implemented in a helper class - used by the attribute in some cases. - - - - - Builds a single test from the specified method and context. - - The method to be used as a test - The TestSuite to which the method will be added - - - - The ISuiteBuilder interface is exposed by a class that knows how to - build a single test suite from a specified type. - - - - - Examine the type and determine if it is suitable for - this builder to use in building a TestSuite. - - Note that returning false will cause the type to be ignored - in loading the tests. If it is desired to load the suite - but label it as non-runnable, ignored, etc., then this - method must return true. - - The type of the fixture to be used - - - - Builds a single test suite from the specified type. - - The type of the fixture to be used - - - - Builds a single test suite from the specified type, subject - to a filter that decides which methods are included. - - The type of the fixture to be used - A PreFilter for selecting methods. - - - - Common interface supported by all representations - of a test. Only includes informational fields. - The Run method is specifically excluded to allow - for data-only representations of a test. - - - - - Gets the id of the test - - - - - Gets the name of the test - - - - - Gets the type of the test - - - - - Gets the fully qualified name of the test - - - - - Gets the name of the class containing this test. Returns - null if the test is not associated with a class. - - - - - Gets the name of the method implementing this test. - Returns null if the test is not implemented as a method. - - - - - Gets the Type of the test fixture, if applicable, or - null if no fixture type is associated with this test. - - - - - Gets the method which declares the test, or - if no method is associated with this test. - - - - - Gets the RunState of the test, indicating whether it can be run. - - - - - Count of the test cases ( 1 if this is a test case ) - - - - - Gets the properties of the test - - - - - Gets the parent test, if any. - - The parent test or null if none exists. - - - - Returns true if this is a test suite - - - - - Gets a bool indicating whether the current test - has any descendant tests. - - - - - Gets this test's child tests - - A list of child tests - - - - Gets a fixture object for running this test. - - - - - The arguments to use in creating the test or empty array if none are required. - - - - - The ITestBuilder interface is exposed by a class that knows how to - build tests from a specified method. In general, it is exposed - by an attribute which has additional information available to provide - the necessary test parameters to distinguish the test cases built. - - - - - Builds any number of tests from the specified method and context. - - The method to be used as a test - The TestSuite to which the method will be added - - - - The ITestCaseBuilder interface is exposed by a class that knows how to - build a test from a specified method, possibly containing child test cases. - - - - - Examine the method and determine if it is suitable for - this builder to use in building a TestCase to be - included in the suite being populated. - - Note that returning false will cause the method to be ignored - in loading the tests. If it is desired to load the method - but label it as non-runnable, ignored, etc., then this - method must return true. - - The test method to examine - The suite being populated - - - - Builds a single test from the specified method and context, - possibly containing child test cases. - - The method to be used as a test case - The test suite being populated, or null - - - - The ITestCaseData interface is implemented by a class - that is able to return complete test cases for use by - a parameterized test method. - - - - - Gets the expected result of the test case - - - - - Returns true if an expected result has been set - - - - - The ITestData interface is implemented by a class that - represents a single instance of a parameterized test. - - - - - Gets the name to be used for the test - - - - - Gets the RunState for this test case. - - - - - Gets the argument list to be provided to the test - - - - - Gets the property dictionary for the test case - - - - - Interface to be implemented by filters applied to tests. - The filter applies when running the test, after it has been - loaded, since this is the only time an ITest exists. - - - - - Determine if a particular test passes the filter criteria. Pass - may examine the parents and/or descendants of a test, depending - on the semantics of the particular filter - - The test to which the filter is applied - True if the test passes the filter, otherwise false - - - - Determine if a test matches the filter explicitly. That is, it must - be a direct match of the test itself or one of its children. - - The test to which the filter is applied - True if the test matches the filter explicitly, otherwise false - - - - The ITestCaseData interface is implemented by a class - that is able to return the data required to create an - instance of a parameterized test fixture. - - - - - Get the TypeArgs if separately set - - - - - The ITestListener interface is used internally to receive - notifications of significant events while a test is being - run. The events are propagated to clients by means of an - AsyncCallback. NUnit extensions may also monitor these events. - - - - - Called when a test has just started - - The test that is starting - - - - Called when a test has finished - - The result of the test - - - - Called when a test produces output for immediate display - - A TestOutput object containing the text to display - - - - Called when a test produces a message to be sent to listeners - - A object containing the text to send - - - - The ITestResult interface represents the result of a test. - - - - - Gets the ResultState of the test result, which - indicates the success or failure of the test. - - - - - Gets the name of the test result - - - - - Gets the full name of the test result - - - - - Gets the elapsed time for running the test in seconds - - - - - Gets or sets the time the test started running. - - - - - Gets or sets the time the test finished running. - - - - - Gets the message associated with a test - failure or with not running the test - - - - - Gets any stack trace associated with an - error or failure. - - - - Gets the total number of tests executed - when running the test and all its children. - - - - - Gets the number of asserts executed - when running the test and all its children. - - - - - Gets the number of test cases that failed - when running the test and all its children. - - - - - Gets the number of test cases that had warnings - when running the test and all its children. - - - - - Gets the number of test cases that passed - when running the test and all its children. - - - - - Gets the number of test cases that were skipped - when running the test and all its children. - - - - - Gets the number of test cases that were inconclusive - when running the test and all its children. - - - - - Indicates whether this result has any child results. - Accessing HasChildren should not force creation of the - Children collection in classes implementing this interface. - - - - - Gets the collection of child results. - - - - - Gets the Test to which this result applies. - - - - - Gets any text output written to this result. - - - - - Gets a list of AssertionResults associated with the test - - - - - Gets the collection of files attached to the test - - - - - The ITypeInfo interface is an abstraction of a .NET Type - - - - - Gets the underlying Type on which this ITypeInfo is based - - - - - Gets the base type of this type as an ITypeInfo - - - - - Returns true if the Type wrapped is equal to the argument - - - - - Gets the name of the Type - - - - - Gets the full name of the Type - - - - - Gets the assembly in which the type is declared - - - - - Gets the namespace of the Type - - - - - Gets a value indicating whether the type is abstract. - - - - - Gets a value indicating whether the Type is a generic Type - - - - - Gets a value indicating whether the Type has generic parameters that have not been replaced by specific Types. - - - - - Gets a value indicating whether the Type is a generic Type definition - - - - - Gets a value indicating whether the type is sealed. - - - - - Gets a value indicating whether this type is a static class. - - - - - Get the display name for this typeInfo. - - - - - Get the display name for an object of this type, constructed with specific arguments - - - - - Returns a Type representing a generic type definition from which this Type can be constructed. - - - - - Returns a new ITypeInfo representing an instance of this generic Type using the supplied Type arguments - - - - - Returns a value indicating whether this type has a method with a specified public attribute - - - - - Returns an array of IMethodInfos for methods of this Type - that match the specified flags. - - - - - Gets the public constructor taking the specified argument Types - - - - - Returns a value indicating whether this Type has a public constructor taking the specified argument Types. - - - - - Construct an object of this Type, using the specified arguments. - - - - - Returns all methods declared by this type that have the specified attribute, optionally - including base classes. Methods from a base class are always returned before methods from a class that - inherits from it. - - Specifies whether to search the fixture type inheritance chain. - - - - An object implementing IXmlNodeBuilder is able to build - an XML representation of itself and any children. - - - - - Returns a TNode representing the current object. - - If true, children are included where applicable - A TNode representing the result - - - - Returns a TNode representing the current object after - adding it as a child of the supplied parent node. - - The parent node. - If true, children are included, where applicable - - - - - The ResultState class represents the outcome of running a test. - It contains two pieces of information. The Status of the test - is an enum indicating whether the test passed, failed, was - skipped or was inconclusive. The Label provides a more - detailed breakdown for use by client runners. - - - - - Initializes a new instance of the class. - - The TestStatus. - - - - Initializes a new instance of the class. - - The TestStatus. - The label. - - - - Initializes a new instance of the class. - - The TestStatus. - The stage at which the result was produced - - - - Initializes a new instance of the class. - - The TestStatus. - The label. - The stage at which the result was produced - - - - The result is inconclusive - - - - - The test has been skipped. - - - - - The test has been ignored. - - - - - The test was skipped because it is explicit - - - - - The test succeeded - - - - - The test issued a warning - - - - - The test failed - - - - - The test encountered an unexpected exception - - - - - The test was cancelled by the user - - - - - The test was not runnable. - - - - - A suite failed because one or more child tests failed or had errors - - - - - A suite failed because one or more child tests had warnings - - - - - A suite is marked ignored because one or more child tests were ignored - - - - - A suite failed in its OneTimeSetUp - - - - - A suite had an unexpected exception in its OneTimeSetUp - - - - - A suite had an unexpected exception in its OneTimeDown - - - - - Gets the TestStatus for the test. - - The status. - - - - Gets the label under which this test result is - categorized, or if none. - - - - - Gets the stage of test execution in which - the failure or other result took place. - - - - - Get a new ResultState, which is the same as the current - one but with the FailureSite set to the specified value. - - The FailureSite to use - A new ResultState - - - - Test whether this ResultState has the same Status and Label - as another one. In other words, the whether two are equal - ignoring the Site. - - - - - - Determines whether the specified object is equal to the current object. - The object to compare with the current object. - - - Indicates whether the current object is equal to another object of the same type. - An object to compare with this object. - - - Serves as the default hash function. - - - - Overload == operator for ResultStates - - - - - Overload != operator for ResultStates - - - - - Returns a that represents this instance. - - - A that represents this instance. - - - - - The FailureSite enum indicates the stage of a test - in which an error or failure occurred. - - - - - Failure in the test itself - - - - - Failure in the SetUp method - - - - - Failure in the TearDown method - - - - - Failure of a parent test - - - - - Failure of a child test - - - - - The RunState enum indicates whether a test can be executed. - - - - - The test is not runnable. - - - - - The test is runnable. - - - - - The test can only be run explicitly - - - - - The test has been skipped. This value may - appear on a Test when certain attributes - are used to skip the test. - - - - - The test has been ignored. May appear on - a Test, when the IgnoreAttribute is used. - - - - - The TestAttachment class represents a file attached to a TestResult, - with an optional description. - - - - - Absolute file path to attachment file - - - - - User specified description of attachment. May be null. - - - - - Creates a TestAttachment class to represent a file attached to a test result. - - Absolute file path to attachment file - User specified description of attachment. May be null. - - - - The class holds a message sent by a test to all listeners - - - - - Construct with text, destination type and - the name of the test that produced the message. - - Destination of the message - Text to be sent - ID of the test that produced the message - - - - Converts object to string - - - - - The message to send to listeners - - - - - The Destination of the message. - - - - - The ID of the test that sent the message - - - - - Returns the XML representation of the object. - - - - - The TestOutput class holds a unit of output from - a test to a specific output stream - - - - - Construct with text, output destination type and - the name of the test that produced the output. - - Text to be output - Name of the stream or channel to which the text should be written - Id of the test that produced the output - FullName of test that produced the output - - - - Return string representation of the object for debugging - - - - - - Get the text - - - - - Get the output type - - - - - Get the name of the test that created the output - - - - - Get the id of the test that created the output - - - - - Convert the TestOutput object to an XML string - - - - - The TestStatus enum indicates the result of running a test - - - - - The test was inconclusive - - - - - The test has skipped - - - - - The test succeeded - - - - - There was a warning - - - - - The test failed - - - - - TNode represents a single node in the XML representation - of a Test or TestResult. It replaces System.Xml.XmlNode and - System.Xml.Linq.XElement, providing a minimal set of methods - for operating on the XML in a platform-independent manner. - - - - - Constructs a new instance of TNode - - The name of the node - - - - Constructs a new instance of TNode with a value - - The name of the node - The text content of the node - - - - Constructs a new instance of TNode with a value - - The name of the node - The text content of the node - Flag indicating whether to use CDATA when writing the text - - - - Gets the name of the node - - - - - Gets the value of the node - - - - - Gets a flag indicating whether the value should be output using CDATA. - - - - - Gets the dictionary of attributes - - - - - Gets a list of child nodes - - - - - Gets the first ChildNode - - - - - Gets the XML representation of this node. - - - - - Create a TNode from its XML text representation - - The XML text to be parsed - A TNode - - - - Adds a new element as a child of the current node and returns it. - - The element name. - The newly created child element - - - - Adds a new element with a value as a child of the current node and returns it. - - The element name - The text content of the new element - The newly created child element - - - - Adds a new element with a value as a child of the current node and returns it. - The value will be output using a CDATA section. - - The element name - The text content of the new element - The newly created child element - - - - Adds an attribute with a specified name and value to the XmlNode. - - The name of the attribute. - The value of the attribute. - - - - Finds a single descendant of this node matching an XPath - specification. The format of the specification is - limited to what is needed by NUnit and its tests. - - - - - - - Finds all descendants of this node matching an XPath - specification. The format of the specification is - limited to what is needed by NUnit and its tests. - - - - - Writes the XML representation of the node to an XmlWriter - - - - - - Class used to represent a list of XmlResults - - - - - Class used to represent the attributes of a node - - - - - Gets or sets the value associated with the specified key. - Overridden to return null if attribute is not found. - - The key. - Value of the attribute or null - - - - A production implementation that delegates directly to .NET's . - - - - - Returns whether a debugger is currently attached to the process - - - - - A layer of abstraction around to facilitate testing. - - - - - Whether a debugger is currently attached to the process. - - - - - AssemblyHelper provides static methods for working - with assemblies. - - - - - Gets the path from which an assembly was loaded. - For builds where this is not possible, returns - the name of the assembly. - - The assembly. - The path. - - - - Gets the path to the directory from which an assembly was loaded. - - The assembly. - The path. - - - - Gets the AssemblyName of an assembly. - - The assembly - An AssemblyName - - - - Loads an assembly given a string, which may be the - path to the assembly or the AssemblyName - - - - - Gets the assembly path from code base. - - Public for testing purposes - The code base. - - - - - Adapts various styles of asynchronous waiting to a common API. - - - - - CombinatorialStrategy creates test cases by using all possible - combinations of the parameter data. - - - - - Gets the test cases generated by the CombiningStrategy. - - The test cases. - - - - Provides data from fields marked with the DatapointAttribute or the - DatapointsAttribute. - - - - - Determines whether any data is available for a parameter. - - The parameter of a parameterized test - - - - Retrieves data for use with the supplied parameter. - - The parameter of a parameterized test - - - - Built-in SuiteBuilder for all types of test classes. - - - - - Examine the type and determine if it is suitable for - this builder to use in building a TestSuite. - - Note that returning false will cause the type to be ignored - in loading the tests. If it is desired to load the suite - but label it as non-runnable, ignored, etc., then this - method must return true. - - The fixture type to check - - - - Builds a single test suite from the specified type. - - The fixture type to build - - - - Builds a single test suite from the specified type, subject - to a filter that decides which methods are included. - - The fixture type to build - A PreFilter for selecting methods. - - - - We look for attributes implementing IFixtureBuilder at one level - of inheritance at a time. Attributes on base classes are not used - unless there are no fixture builder attributes at all on the derived - class. This is by design. - - The type being examined for attributes - - - - Class to build ether a parameterized or a normal NUnitTestMethod. - There are four cases that the builder must deal with: - 1. The method needs no params and none are provided - 2. The method needs params and they are provided - 3. The method needs no params but they are provided in error - 4. The method needs params but they are not provided - This could have been done using two different builders, but it - turned out to be simpler to have just one. The BuildFrom method - takes a different branch depending on whether any parameters are - provided, but all four cases are dealt with in lower-level methods - - - - - Determines if the method can be used to build an NUnit test - test method of some kind. The method must normally be marked - with an identifying attribute for this to be true. - - Note that this method does not check that the signature - of the method for validity. If we did that here, any - test methods with invalid signatures would be passed - over in silence in the test run. Since we want such - methods to be reported, the check for validity is made - in BuildFrom rather than here. - - An IMethodInfo for the method being used as a test method - - - - Builds a single test from the specified method and context, - possibly containing child test cases. - - The method for which a test is to be built - - - - Determines if the method can be used to build an NUnit test - test method of some kind. The method must normally be marked - with an identifying attribute for this to be true. - - Note that this method does not check that the signature - of the method for validity. If we did that here, any - test methods with invalid signatures would be passed - over in silence in the test run. Since we want such - methods to be reported, the check for validity is made - in BuildFrom rather than here. - - An IMethodInfo for the method being used as a test method - The test suite being built, to which the new test would be added - - - - Builds a single test from the specified method and context, - possibly containing child test cases. - - The method for which a test is to be built - The test fixture being populated, or null - - - - Builds a ParameterizedMethodSuite containing individual test cases. - - The method for which a test is to be built. - The list of test cases to include. - - - - Build a simple, non-parameterized TestMethod for this method. - - The MethodInfo for which a test is to be built - The test suite for which the method is being built - - - - Class that can build a tree of automatic namespace - suites from a group of fixtures. - - - - - NamespaceDictionary of all test suites we have created to represent - namespaces. Used to locate namespace parent suites for fixtures. - - - - - Point in the tree where items in the global namespace are added - - - - - Initializes a new instance of the class. - - The root suite. - - - - Gets the root entry in the tree created by the NamespaceTreeBuilder. - - The root suite. - - - - Adds the specified fixtures to the tree. - - The fixtures to be added. - - - - Adds the specified fixture to the tree. - - The fixture to be added. - - - - NUnitTestCaseBuilder is a utility class used by attributes - that build test cases. - - - - - Constructs an - - - - - Builds a single NUnitTestMethod, either as a child of the fixture - or as one of a set of test cases under a ParameterizedTestMethodSuite. - - The MethodInfo from which to construct the TestMethod - The suite or fixture to which the new test will be added - The ParameterSet to be used, or null - - - - Checks to see if we have valid combinations of attributes. - - The TestMethod to be checked. If it - is found to be non-runnable, it will be modified. - True if the method signature is valid, false if not - - - - Helper method that checks the signature of a TestMethod and - any supplied parameters to determine if the test is valid. - - Currently, NUnitTestMethods are required to be public, - non-abstract methods, either static or instance, - returning void. They may take arguments but the values must - be provided or the TestMethod is not considered runnable. - - Methods not meeting these criteria will be marked as - non-runnable and the method will return false in that case. - - The TestMethod to be checked. If it - is found to be non-runnable, it will be modified. - Parameters to be used for this test, or null - True if the method signature is valid, false if not - - The return value is no longer used internally, but is retained - for testing purposes. - - - - - NUnitTestFixtureBuilder is able to build a fixture given - a class marked with a TestFixtureAttribute or an unmarked - class containing test methods. In the first case, it is - called by the attribute and in the second directly by - NUnitSuiteBuilder. - - - - - Build a TestFixture from type provided. A non-null TestSuite - must always be returned, since the method is generally called - because the user has marked the target class as a fixture. - If something prevents the fixture from being used, it should - be returned nonetheless, labeled as non-runnable. - - An ITypeInfo for the fixture to be used. - Filter used to select methods as tests. - A TestSuite object or one derived from TestSuite. - - - - Overload of BuildFrom called by tests that have arguments. - Builds a fixture using the provided type and information - in the ITestFixtureData object. - - The TypeInfo for which to construct a fixture. - Filter used to select methods as tests. - An object implementing ITestFixtureData or null. - - - - - Method to add test cases to the newly constructed fixture. - - - - - Method to create a test case from a MethodInfo and add - it to the fixture being built. It first checks to see if - any global TestCaseBuilder addin wants to build the - test case. If not, it uses the internal builder - collection maintained by this fixture builder. - - The default implementation has no test case builders. - Derived classes should add builders to the collection - in their constructor. - - The method for which a test is to be created - The test suite being built. - A newly constructed Test - - - - PairwiseStrategy creates test cases by combining the parameter - data so that all possible pairs of data items are used. - - - - The number of test cases that cover all possible pairs of test function - parameters values is significantly less than the number of test cases - that cover all possible combination of test function parameters values. - And because different studies show that most of software failures are - caused by combination of no more than two parameters, pairwise testing - can be an effective ways to test the system when it's impossible to test - all combinations of parameters. - - - The PairwiseStrategy code is based on "jenny" tool by Bob Jenkins: - https://burtleburtle.net/bob/math/jenny.html - - - - - - FleaRand is a pseudo-random number generator developed by Bob Jenkins: - https://burtleburtle.net/bob/rand/talksmall.html#flea - - - - - Initializes a new instance of the FleaRand class. - - The seed. - - - - FeatureInfo represents coverage of a single value of test function - parameter, represented as a pair of indices, Dimension and Feature. In - terms of unit testing, Dimension is the index of the test parameter and - Feature is the index of the supplied value in that parameter's list of - sources. - - - - - Initializes a new instance of FeatureInfo class. - - Index of a dimension. - Index of a feature. - - - - A FeatureTuple represents a combination of features, one per test - parameter, which should be covered by a test case. In the - PairwiseStrategy, we are only trying to cover pairs of features, so the - tuples actually may contain only single feature or pair of features, but - the algorithm itself works with triplets, quadruples and so on. - - - - - Initializes a new instance of FeatureTuple class for a single feature. - - Single feature. - - - - Initializes a new instance of FeatureTuple class for a pair of features. - - First feature. - Second feature. - - - - TestCase represents a single test case covering a list of features. - - - - - Initializes a new instance of TestCaseInfo class. - - A number of features in the test case. - - - - PairwiseTestCaseGenerator class implements an algorithm which generates - a set of test cases which covers all pairs of possible values of test - function. - - - - The algorithm starts with creating a set of all feature tuples which we - will try to cover (see method). This set - includes every single feature and all possible pairs of features. We - store feature tuples in the 3-D collection (where axes are "dimension", - "feature", and "all combinations which includes this feature"), and for - every two feature (e.g. "A" and "B") we generate both ("A", "B") and - ("B", "A") pairs. This data structure extremely reduces the amount of - time needed to calculate coverage for a single test case (this - calculation is the most time-consuming part of the algorithm). - - - Then the algorithm picks one tuple from the uncovered tuple, creates a - test case that covers this tuple, and then removes this tuple and all - other tuples covered by this test case from the collection of uncovered - tuples. - - - Picking a tuple to cover - - - There are no any special rules defined for picking tuples to cover. We - just pick them one by one, in the order they were generated. - - - Test generation - - - Test generation starts from creating a completely random test case which - covers, nevertheless, previously selected tuple. Then the algorithm - tries to maximize number of tuples which this test covers. - - - Test generation and maximization process repeats seven times for every - selected tuple and then the algorithm picks the best test case ("seven" - is a magic number which provides good results in acceptable time). - - Maximizing test coverage - - To maximize tests coverage, the algorithm walks through the list of mutable - dimensions (mutable dimension is a dimension that are not included in - the previously selected tuple). Then for every dimension, the algorithm - walks through the list of features and checks if this feature provides - better coverage than randomly selected feature, and if yes keeps this - feature. - - - This process repeats while it shows progress. If the last iteration - doesn't improve coverage, the process ends. - - - In addition, for better results, before start every iteration, the - algorithm "scrambles" dimensions - so for every iteration dimension - probes in a different order. - - - - - - Creates a set of test cases for specified dimensions. - - - An array which contains information about dimensions. Each element of - this array represents a number of features in the specific dimension. - - - A set of test cases. - - - - - Gets the test cases generated by this strategy instance. - - A set of test cases. - - - - The ParameterDataProvider class implements IParameterDataProvider - and hosts one or more individual providers. - - - - - Construct with a collection of individual providers - - - - - Determines whether any data is available for a parameter. - - The parameter of a parameterized test - - - - Retrieves data for use with the supplied parameter. - - The parameter of a parameterized test - - - - ParameterDataSourceProvider supplies individual argument values for - single parameters using attributes implementing IParameterDataSource. - - - - - Determines whether any data is available for a parameter. - - The parameter of a parameterized test - - - - Retrieves data for use with the supplied parameter. - - The parameter of a parameterized test - - - - SequentialStrategy creates test cases by using all of the - parameter data sources in parallel, substituting - when any of them run out of data. - - - - - Gets the test cases generated by the CombiningStrategy. - - The test cases. - - - - TestActionAfterCommand handles the AfterTest method of a single - TestActionItem, provided the items BeforeTest has been run. - - - - - Initializes a new instance of the class. - - The inner command. - The TestActionItem to run before the inner command. - - - - AfterCommand is a DelegatingTestCommand that performs some - specific action after the inner command is run. - - - - - Construct an AfterCommand - - - - - Execute the command - - - - - Set this to perform action after the inner command. - - - - - ContextSettingsCommand applies specified changes to the - TestExecutionContext prior to running a test. No special - action is needed after the test runs, since the prior - context will be restored automatically. - - - - - TestActionCommand handles a single ITestAction applied - to a test. It runs the BeforeTest method, then runs the - test and finally runs the AfterTest method. - - - - - Initializes a new instance of the class. - - The inner command. - - - - Runs the test, saving a TestResult in the supplied TestExecutionContext. - - The context in which the test should run. - A TestResult - - - - Perform the before test action - - - - - Perform the after test action - - - - - TestActionBeforeCommand handles the BeforeTest method of a single - TestActionItem, relying on the item to remember it has been run. - - - - - Initializes a new instance of the class. - - The inner command. - The TestActionItem to run before the inner command. - - - - BeforeTestCommand is a DelegatingTestCommand that performs some - specific action before the inner command is run. - - - - - Construct a BeforeCommand - - - - - Execute the command - - - - - Action to perform before the inner command. - - - - - ConstructFixtureCommand constructs the user test object if necessary. - - - - - Constructs a OneTimeSetUpCommand for a suite - - The inner command to which the command applies - - - - DelegatingTestCommand wraps an inner TestCommand. - Derived classes may do what they like before or - after running the inner command. - - - - TODO: Documentation needed for field - - - - Initializes a new instance of the class. - - The inner command. - - - - OneTimeTearDownCommand performs any teardown actions - specified for a suite and calls Dispose on the user - test object, if any. - - - - - Construct a OneTimeTearDownCommand - - The command wrapped by this command - - - - EmptyTestCommand is a TestCommand that does nothing. It simply - returns the current result from the context when executed. We - use it to avoid testing for null when executing a chain of - DelegatingTestCommands. - - - - - Construct a NullCommand for a test - - - - - Execute the command - - - - - ConstructFixtureCommand constructs the user test object if necessary. - - - - - Handles the construction and disposement of a fixture per test case - - The inner command to which the command applies - - - - adjusts the result of a successful test - to a failure if the elapsed time has exceeded the specified maximum - time allowed. - - - - - Initializes a new instance of the class. - - The inner command. - The max time allowed in milliseconds - - - - OneTimeSetUpCommand runs any one-time setup methods for a suite, - constructing the user test object if necessary. - - - - - Constructs a OneTimeSetUpCommand for a suite - - The inner command to which the command applies - A SetUpTearDownList for use by the command - - - - OneTimeTearDownCommand performs any teardown actions - specified for a suite and calls Dispose on the user - test object, if any. - - - - - Construct a OneTimeTearDownCommand - - The command wrapped by this command - A SetUpTearDownList for use by the command - - - - SetUpTearDownCommand runs SetUp methods for a suite, - runs the test and then runs TearDown methods. - - - - - Initializes a new instance of the class. - - The inner command. - List of setup/teardown items - - - - SetUpTearDownItem holds the setup and teardown methods - for a single level of the inheritance hierarchy. - - - - - Construct a SetUpTearDownNode - - A list of setup methods for this level - A list teardown methods for this level - A method validator to validate each method before calling. - - - - Returns true if this level has any methods at all. - This flag is used to discard levels that do nothing. - - - - - Run SetUp on this level. - - The execution context to use for running. - - - - Run TearDown for this level. - - - - - - TODO: Documentation needed for class - - - - - Initializes a new instance of the class. - - The test being skipped. - - - - Overridden to simply set the CurrentResult to the - appropriate Skipped state. - - The execution context for the test - A TestResult - - - - TestActionCommand handles a single ITestAction applied - to a test. It runs the BeforeTest method, then runs the - test and finally runs the AfterTest method. - - - - - Initializes a new instance of the class. - - The inner command. - The TestAction with which to wrap the inner command. - - - - TestActionItem wraps a single execution of an ITestAction. - Its primary purpose is to track whether the BeforeTest - method has been called and suppress calling the - AfterTest method if it has not. This is necessary when - ITestActions are used before and after a CompositeWorkItem, - since the OneTimeSetUpCommand and OneTimeTearDownCommand - are separate command chains. By sharing a TestActionItem - between the setup and teardown chains, the two calls can - be coordinated. - - - - - Construct a TestActionItem - - The ITestAction to be included - - - - Get flag indicating if the BeforeTest entry was already called. - - - - - Run the BeforeTest method of the action and remember that it has been run. - - The test to which the action applies - - - - Run the AfterTest action, but only if the BeforeTest - action was actually run. - - The test to which the action applies - - - - TestCommand is the abstract base class for all test commands - in the framework. A TestCommand represents a single stage in - the execution of a test, e.g.: SetUp/TearDown, checking for - Timeout, verifying the returned result from a method, etc. - - TestCommands may decorate other test commands so that the - execution of a lower-level command is nested within that - of a higher level command. All nested commands are executed - synchronously, as a single unit. Scheduling test execution - on separate threads is handled at a higher level, using the - task dispatcher. - - - - - Construct a TestCommand for a test. - - The test to be executed - - - - Gets the test associated with this command. - - - - - Runs the test in a specified context, returning a TestResult. - - The TestExecutionContext to be used for running the test. - A TestResult - - - - TestMethodCommand is the lowest level concrete command - used to run actual test cases. - - - - - Initializes a new instance of the class. - - The test. - - - - Runs the test, saving a TestResult in the execution context, as - well as returning it. If the test has an expected result, it - is asserts on that value. Since failed tests and errors throw - an exception, this command must be wrapped in an outer command, - will handle that exception and records the failure. This role - is usually played by the SetUpTearDown command. - - The execution context - - - - TheoryResultCommand adjusts the result of a Theory so that - it fails if all the results were inconclusive. - - - - - Constructs a TheoryResultCommand - - The command to be wrapped by this one - - - - creates a timer in order to cancel - a test if it exceeds a specified time and adjusts - the test result if it did time out. - - - - - Initializes a new instance of the class. - - The inner command - Timeout value - - - - Initializes a new instance of the class. - - The inner command - Timeout value - An instance - - - - Provides methods to support consistent checking in constraints. - - - - - Requires that the provided object is actually of the type required. - - The object to verify. - Name of the parameter as passed into the checking method. - - If and can be null, returns null rather than throwing when is null. - If cannot be null, this parameter is ignored. - The type to require. - - - - CultureDetector is a helper class used by NUnit to determine - whether a test should be run based on the current culture. - - - - - Default constructor uses the current culture. - - - - - Construct a CultureDetector for a particular culture for testing. - - The culture to be used - - - - Test to determine if one of a collection of cultures - is being used currently. - - - - - - - Tests to determine if the current culture is supported - based on a culture attribute. - - The attribute to examine - - - - - Test to determine if the a particular culture or comma- - delimited set of cultures is in use. - - Name of the culture or comma-separated list of culture ids - True if the culture is in use on the system - - - - Return the last failure reason. Results are not - defined if called before IsSupported( Attribute ) - is called. - - - - - Useful when wrapping awaiters whose GetResult method does not block until complete. - Contains a default mechanism to implement - via and . - - - - - ExceptionHelper provides static methods for working with exceptions - - - - - Rethrows an exception, preserving its stack trace - - The exception to rethrow - - - - Builds up a message, using the Message field of the specified exception - as well as any InnerExceptions. Optionally excludes exception names, - creating a more readable message. - - The exception. - Flag indicating whether exception names should be excluded. - A combined message string. - - - - Builds up a message, using the Message field of the specified exception - as well as any InnerExceptions. - - The exception. - A combined stack trace. - - - - Executes a parameterless synchronous or async delegate and returns the exception it throws, if any. - - - - - A CompositeWorkItem represents a test suite and - encapsulates the execution of the suite as well - as all its child tests. - - - - - List of Child WorkItems - - - - - Indicates whether this work item should use a separate dispatcher. - - - - - Construct a CompositeWorkItem for executing a test suite - using a filter to select child tests. - - The TestSuite to be executed - A filter used to select child tests - - - - Method that actually performs the work. Overridden - in CompositeWorkItem to do one-time setup, run all child - items and then dispatch the one-time teardown work item. - - - - - - - - - - Cancel (abort or stop) a CompositeWorkItem and all of its children - - true if the CompositeWorkItem and all of its children should be aborted, false if it should allow all currently running tests to complete - - - - OneTimeTearDownWorkItem represents the cleanup - and one-time teardown phase of a CompositeWorkItem - - - - - Construct a OneTimeTearDownWOrkItem wrapping a CompositeWorkItem - - The CompositeWorkItem being wrapped - - - - The WorkItem name, overridden to indicate this is the teardown. - - - - - The ExecutionStrategy for use in running this work item - - - - - - - - - - PerformWork is not used in CompositeWorkItem - - - - - WorkItemCancelled is called directly by the parallel dispatcher - when a test suite is left hanging after a forced StopRun. We - simulate WorkItemComplete() but without the ripple effect to - higher level suites, since we are controlling it all directly. - - - - - EventListenerTextWriter sends text output to the currently active - ITestEventListener in the form of a TestOutput object. If no event - listener is active in the context, or if there is no context, - the output is forwarded to the supplied default writer. - - - - - Construct an EventListenerTextWriter - - The name of the stream to use for events - The default writer to use if no listener is available - - - - Get the Encoding for this TextWriter - - - - - Write formatted string - - - - - Write formatted string - - - - - Write formatted string - - - - - Write an object - - - - - Write a string - - - - - Write a decimal - - - - - Write a double - - - - - Write formatted string - - - - - Write a ulong - - - - - Write a long - - - - - Write a uint - - - - - Write an int - - - - - Write a char - - - - - Write a boolean - - - - - Write chars - - - - - Write chars - - - - - Write a float - - - - - Write a string with newline - - - - - Write an object with newline - - - - - Write formatted string with newline - - - - - Write formatted string with newline - - - - - Write formatted string with newline - - - - - Write a decimal with newline - - - - - Write a formatted string with newline - - - - - Write a double with newline - - - - - Write a uint with newline - - - - - Write a ulong with newline - - - - - Write a long with newline - - - - - Write an int with newline - - - - - Write a bool with newline - - - - - Write chars with newline - - - - - Write chars with newline - - - - - Write a char with newline - - - - - Write a float with newline - - - - - Write newline - - - - - The EventPumpState enum represents the state of an - EventPump. - - - - - The pump is stopped - - - - - The pump is pumping events with no stop requested - - - - - The pump is pumping events but a stop has been requested - - - - - EventPump pulls events out of an EventQueue and sends - them to a listener. It is used to send events back to - the client without using the CallContext of the test - runner thread. - - - - - The downstream listener to which we send events - - - - - The queue that holds our events - - - - - Thread to do the pumping - - - - - The current state of the event pump - - - - - Constructor - - The EventListener to receive events - The event queue to pull events from - - - - Gets or sets the current state of the pump - - - - - Gets or sets the name of this EventPump - (used only internally and for testing). - - - - - Dispose stops the pump - Disposes the used WaitHandle, too. - - - - - Start the pump - - - - - Tell the pump to stop after emptying the queue. - - - - - Our thread proc for removing items from the event - queue and sending them on. Note that this would - need to do more locking if any other thread were - removing events from the queue. - - - - - NUnit.Core.Event is the abstract base for all stored events. - An Event is the stored representation of a call to the - ITestListener interface and is used to record such calls - or to queue them for forwarding on another thread or at - a later time. - - - - - The Send method is implemented by derived classes to send the event to the specified listener. - - The listener. - - - - TestStartedEvent holds information needed to call the TestStarted method. - - - - - Initializes a new instance of the class. - - The test. - - - - Calls TestStarted on the specified listener. - - The listener. - - - - TestFinishedEvent holds information needed to call the TestFinished method. - - - - - Initializes a new instance of the class. - - The result. - - - - Calls TestFinished on the specified listener. - - The listener. - - - - TestOutputEvent holds information needed to call the TestOutput method. - - - - - Initializes a new instance of the class. - - The output object. - - - - Calls TestOutput on the specified listener. - - The listener. - - - - TestMessageEvent holds information needed to call the SendMessage method. - - - - - Initializes a new instance of the class. - - The test message object. - - - - Calls on the specified listener. - - The listener. - - - - Holds object for sending to all listeners - - - - - Implements a queue of work items each of which - is queued as a WaitCallback. - - - - - Gets the count of items in the queue. - - - - - Enqueues the specified event - - The event to enqueue. - - - - Removes the first element from the queue and returns it (or ). - - - If and the queue is empty, the calling thread is blocked until - either an element is enqueued, or is called. - - - - - If the queue not empty - the first element. - - - otherwise, if == - or has been called - . - - - - - - - Stop processing of the queue - - - - - Validates method to execute. - - - - - Determines whether a method is allowed to execute and throws an exception otherwise. - - The method to validate. - - - - An IWorkItemDispatcher handles execution of work items. - - - - - The level of parallelism supported. Zero if not supported. - - - - - Start execution, performing any initialization. Sets - the top level work item and dispatches it. - - - - - Dispatch a single work item for execution. The first - work item dispatched is saved as the top-level - work item and used when stopping the run. - - The item to dispatch - - - - Cancel the ongoing run completely. - If no run is in process, the call has no effect. - - true if the IWorkItemDispatcher should abort all currently running WorkItems, false if it should allow all currently running WorkItems to complete - - - - MainThreadWorkItemDispatcher handles execution of WorkItems by - directly executing them on the main thread. This is different - from the SimpleWorkItemDispatcher where the work item is dispatched - onto its own thread. - - - - - The level of parallelism supported - - - - - Start execution, dispatching the top level - work into the main thread. - - - - - Dispatch a single work item for execution by - executing it directly. - - The item to dispatch - - - - This method is not supported for - this dispatcher. Using it will throw a - NotSupportedException. - - Not used - If used, it will always throw this. - - - - Enumeration representing the strategy to follow in executing a work item. - The value is only relevant when running under the parallel dispatcher. - - - - - Run directly on same thread - - - - - Enqueue for parallel execution - - - - - Enqueue for non-parallel execution - - - - - ParallelWorkItemDispatcher handles execution of work items by - queuing them for worker threads to process. - - - - - Event raised whenever a shift is starting. - - - - - Event raised whenever a shift has ended. - - - - - Construct a ParallelWorkItemDispatcher - - Number of workers to use - - - - Number of parallel worker threads - - - - - Enumerates all the shifts supported by the dispatcher - - - - - Enumerates all the Queues supported by the dispatcher - - - - - Start execution, setting the top level work, - enqueuing it and starting a shift to execute it. - - - - - Dispatch a single work item for execution. The first - work item dispatched is saved as the top-level - work item and used when stopping the run. - - The item to dispatch - - - - Cancel the ongoing run completely. - If no run is in process, the call has no effect. - - - - - Save the state of the queues and create a new isolated set - - - - - Try to remove isolated queues and restore old ones - - - - - QueuingEventListener uses an EventQueue to store any - events received on its EventListener interface. - - - - - The EventQueue created and filled by this listener - - - - - Construct a QueuingEventListener - - - - - A test has started - - The test that is starting - - - - A test case finished - - Result of the test case - - - - Called when a test produces output for immediate display - - A TestOutput object containing the text to display - - - - Called when a test produces a message to be sent to listeners - - A object containing the text to send - - - - A SimpleWorkItem represents a single test case and is - marked as completed immediately upon execution. This - class is also used for skipped or ignored test suites. - - - - - Construct a simple work item for a test. - - The test to be executed - The filter used to select this test - - - - Construct a simple work item for a test. - - The test to be executed - The filter used to select this test - An instance - - - - Method that performs actually performs the work. - - - - - Creates a test command for use in running this test. - - A TestCommand - - - - SimpleWorkItemDispatcher handles execution of WorkItems by - directly executing them. It is provided so that a dispatcher - is always available in the context, thereby simplifying the - code needed to run child tests. - - - - - The level of parallelism supported - - - - - Start execution, creating the execution thread, - setting the top level work and dispatching it. - - - - - Dispatch a single work item for execution by - executing it directly. - - The item to dispatch - - - - Cancel (abort or stop) the ongoing run. - If no run is in process, the call has no effect. - - true if the run should be aborted, false if it should allow its currently running test to complete - - - - Checks whether the method to execute is static. - - - - - Construct a StaticMethodValidator. - - The error message to output in case the validation fails. - - - - Determines whether a method to execute is static and throws an InvalidOperationException otherwise. - - The method to validate. - - - - A TestWorker pulls work items from a queue - and executes them. - - - - - Event handler for TestWorker events - - The TestWorker sending the event - The WorkItem that caused the event - - - - Event signaled immediately before executing a WorkItem - - - - - Event signaled immediately after executing a WorkItem - - - - - Construct a new TestWorker. - - The queue from which to pull work items - The name of this worker - - - - The WorkItemQueue from which this worker pulls WorkItems - - - - - The name of this worker - also used for the thread - - - - - Indicates whether the worker thread is running - - - - - Our ThreadProc, which pulls and runs tests in a loop - - - - - Create thread and start processing work items. - - - - - Stop the thread, either immediately or after finishing the current WorkItem - - true if the thread should be aborted, false if it should allow the currently running test to complete - - - - The TextCapture class intercepts console output and writes it - to the current execution context, if one is present on the thread. - If no execution context is found, the output is written to a - default destination, normally the original destination of the - intercepted output. - - - - - Construct a TextCapture object - - The default destination for non-intercepted output - - - - Gets the Encoding in use by this TextWriter - - - - - Writes a single character - - The char to write - - - - Writes a string - - The string to write - - - - Writes a string followed by a line terminator - - The string to write - - - - A WorkItem may be an individual test case, a fixture or - a higher level grouping of tests. All WorkItems inherit - from the abstract WorkItem class, which uses the template - pattern to allow derived classes to perform work in - whatever way is needed. - - A WorkItem is created with a particular TestExecutionContext - and is responsible for re-establishing that context in the - current thread before it begins or resumes execution. - - - - - Construct a WorkItem for a particular test. - - The test that the WorkItem will run - Filter used to include or exclude child items - - - - Construct a work Item that wraps another work Item. - Wrapper items are used to represent independently - dispatched tasks, which form part of the execution - of a single test, such as OneTimeTearDown. - - The WorkItem being wrapped - - - - Initialize the TestExecutionContext. This must be done - before executing the WorkItem. - - - Originally, the context was provided in the constructor - but delaying initialization of the context until the item - is about to be dispatched allows changes in the parent - context during OneTimeSetUp to be reflected in the child. - - The TestExecutionContext to use - - - - Event triggered when the item is complete - - - - - Gets the current state of the WorkItem - - - - - The test being executed by the work item - - - - - The name of the work item - defaults to the Test name. - - - - - Filter used to include or exclude child tests - - - - - The execution context - - - - - The worker executing this item. - - - - - The ParallelExecutionStrategy to use for this work item - - - - - Indicates whether this work item should use a separate dispatcher. - - - - - The test result - - - - - Gets the ParallelScope associated with the test, if any, - otherwise returning ParallelScope.Default; - - - - - Execute the current work item, including any - child work items. - - - - - Wait until the execution of this item is complete - - - - - Marks the WorkItem as NotRunnable. - - Reason for test being NotRunnable. - - - - Cancel (abort or stop) a WorkItem - - true if the WorkItem should be aborted, false if it should run to completion - - - - Standard Dispose - - - - - Method that performs actually performs the work. It should - set the State to WorkItemState.Complete when done. - - - - - Method called by the derived class when all work is complete - - - - - Builds the set up tear down list. - - Unsorted array of setup MethodInfos. - Unsorted array of teardown MethodInfos. - Method validator used before each method execution. - A list of SetUpTearDownItems - - - - Changes the result of the test, logging the old and new states - - The new ResultState - The new message - - - - Recursively walks up the test hierarchy to see if the - has been set on any of the parent tests. - - - - - WorkItemBuilder class knows how to build a tree of work items from a tree of tests - - - - - Creates a work item. - - The test for which this WorkItem is being created. - The filter to be used in selecting any child Tests. - True if child work items should be created and added. - - - - - Creates a work item. - - The test for which this WorkItem is being created. - The filter to be used in selecting any child Tests. - An instance. - True if child work items should be created and added. - if work item needs to be created unconditionally, if will be returned for tests that don't match the filter. - - - - - Compares two objects and returns a value indicating whether one is less than, equal to, or greater than the other. - - - A signed integer that indicates the relative values of and , as shown in the following table.Value Meaning Less than zero is less than .Zero equals .Greater than zero is greater than . - - The first object to compare.The second object to compare. - - - - WorkItemQueueState indicates the current state of a WorkItemQueue - - - - - The queue is paused - - - - - The queue is running - - - - - The queue is stopped - - - - - A WorkItemQueue holds work items that are ready to - be run, either initially or after some dependency - has been satisfied. - - - - - Initializes a new instance of the class. - - The name of the queue. - Flag indicating whether this is a parallel queue - ApartmentState to use for items on this queue - - - - Gets the name of the work item queue. - - - - - Gets a flag indicating whether this queue is used for parallel execution - - - - - Gets the target ApartmentState for work items on this queue - - - - - Gets the total number of items processed so far - - - - - Gets the current state of the queue - - - - - Get a bool indicating whether the queue is empty. - - - - - Enqueue a WorkItem to be processed - - The WorkItem to process - - - - Enqueue a WorkItem to be processed - internal for testing - - The WorkItem to process - The priority at which to process the item - - - - Dequeue a WorkItem for processing - - A WorkItem or null if the queue has stopped - - - - Start or restart processing of items from the queue - - - - - Signal the queue to stop - - - - - Pause the queue for restarting later - - - - - Save the current inner queue and create new ones for use by - a non-parallel fixture with parallel children. - - - - - Restore the inner queue that was previously saved - - - - - The current state of a work item - - - - - Ready to run or continue - - - - - Work Item is executing - - - - - Complete - - - - - Handler for ShiftChange events. - - The shift that is starting or ending. - - - - The dispatcher needs to do different things at different, - non-overlapped times. For example, non-parallel tests may - not be run at the same time as parallel tests. We model - this using the metaphor of a working shift. The WorkShift - class associates one or more WorkItemQueues with one or - more TestWorkers. - - Work in the queues is processed until all queues are empty - and all workers are idle. Both tests are needed because a - worker that is busy may end up adding more work to one of - the queues. At that point, the shift is over and another - shift may begin. This cycle continues until all the tests - have been run. - - - - - Construct a WorkShift - - - - - Event that fires when the shift has ended - - - - - The Name of this shift - - - - - Gets a flag indicating whether the shift is currently active - - - - - Gets a bool indicating whether this shift has any work to do - - - - - Gets a list of the queues associated with this shift. - - Internal for testing - immutable once initialized - - - - Gets the list of workers associated with this shift. - - Internal for testing - immutable once initialized - - - - Add a WorkItemQueue to the shift, starting it if the - shift is currently active. - - - - - Assign a worker to the shift. - - - - - - Start or restart processing for the shift - - - - - End the shift, pausing all queues and raising - the EndOfShift event. - - - - - Shut down the shift. - - - - - Cancel (abort or stop) the shift without completing all work - - true if the WorkShift should be aborted, false if it should allow its currently running tests to complete - - - - TextMessageWriter writes constraint descriptions and messages - in displayable form as a text stream. It tailors the display - of individual message components to form the standard message - format of NUnit assertion failure messages. - - - - - Prefix used for the expected value line of a message - - - - - Prefix used for the actual value line of a message - - - - - Prefix used for the actual difference between actual and expected values if compared with a tolerance - - - - - Length of a message prefix - - - - - Construct a TextMessageWriter - - - - - Construct a TextMessageWriter, specifying a user message - and optional formatting arguments. - - - - - - - Gets or sets the maximum line length for this writer - - - - - Method to write single line message with optional args, usually - written to precede the general failure message, at a given - indentation level. - - The indentation level of the message - The message to be written - Any arguments used in formatting the message - - - - Display Expected and Actual lines for a constraint. This - is called by MessageWriter's default implementation of - WriteMessageTo and provides the generic two-line display. - - The result of the constraint that failed - - - - Gets the unique type name between expected and actual. - - The expected value - The actual value causing the failure - Output of the unique type name for expected - Output of the unique type name for actual - - - - Display Expected and Actual lines for given values. This - method may be called by constraints that need more control over - the display of actual and expected values than is provided - by the default implementation. - - The expected value - The actual value causing the failure - - - - Display Expected and Actual lines for given values, including - a tolerance value on the expected line. - - The expected value - The actual value causing the failure - The tolerance within which the test was made - - - - Display the expected and actual string values on separate lines. - If the mismatch parameter is >=0, an additional line is displayed - line containing a caret that points to the mismatch point. - - The expected string value - The actual string value - The point at which the strings don't match or -1 - If true, case is ignored in string comparisons - If true, clip the strings to fit the max line length - - - - Writes the text for an actual value. - - The actual value. - - - - Writes the text for a generalized value. - - The value. - - - - Writes the text for a collection value, - starting at a particular point, to a max length - - The collection containing elements to write. - The starting point of the elements to write - The maximum number of elements to write - - - - Write the generic 'Expected' line for a constraint - - The constraint that failed - - - - Write the generic 'Expected' line for a given value - and tolerance. - - The expected value - The tolerance within which the test was made - - - - Write the generic 'Actual' line for a constraint - - The ConstraintResult for which the actual value is to be written - - - - Write the generic 'Actual' line for a given value - - The actual value causing a failure - - - - Extensions to . - - - - - Adds the skip reason to tests that are ignored until a specific date. - - The test properties to add the skip reason to - The date that the test is being ignored until - The reason the test is being ignored until that date - - - - Combines multiple filters so that a test must pass all - of them in order to pass this filter. - - - - - Constructs an empty AndFilter - - - - - Constructs an AndFilter from an array of filters - - - - - - Checks whether the AndFilter is matched by a test - - The test to be matched - If set to we are carrying a negation through - True if all the component filters pass, otherwise false - - - - Checks whether the AndFilter is matched by a test - - The test to be matched - True if all the component filters match, otherwise false - - - - Checks whether the AndFilter is explicit matched by a test. - - The test to be matched - True if all the component filters explicit match, otherwise false - - - - Gets the element name - - Element name - - - - CategoryFilter is able to select or exclude tests - based on their categories. - - - - - Construct a CategoryFilter using a single category name - - A category name - - - - Check whether the filter matches a test - - The test to be matched - - - - - Gets the element name - - Element name - - - - ClassName filter selects tests based on the class FullName - - - - - Construct a FullNameFilter for a single name - - The name the filter will recognize. - - - - Match a test against a single value. - - - - - Gets the element name - - Element name - - - - A base class for multi-part filters - - - - - Constructs an empty CompositeFilter - - - - - Constructs a CompositeFilter from an array of filters - - - - - - Return a list of the composing filters. - - - - - Checks whether the CompositeFilter is matched by a test. - - The test to be matched - If set to we are carrying a negation through - - - - Checks whether the CompositeFilter is matched by a test. - - The test to be matched - - - - Checks whether the CompositeFilter is explicit matched by a test. - - The test to be matched - - - - Adds an XML node - - Parent node - True if recursive - The added XML node - - - - Gets the element name - - Element name - - - - FullName filter selects tests based on their FullName - - - - - Construct a FullNameFilter for a single name - - The name the filter will recognize. - - - - Match a test against a single value. - - - - - Gets the element name - - Element name - - - - IdFilter selects tests based on their id - - - - - Construct an IdFilter for a single value - - The id the filter will recognize. - - - - Match a test against a single value. - - - - - Gets the element name - - Element name - - - - FullName filter selects tests based on their FullName - - - - - Construct a MethodNameFilter for a single name - - The name the filter will recognize. - - - - Match a test against a single value. - - - - - Gets the element name - - Element name - - - - ClassName filter selects tests based on the class FullName - - - - - Construct a NamespaceFilter for a single namespace - - The namespace the filter will recognize. - - - - Match a test against a single value. - - - - - Gets the element name - - Element name - - - - NotFilter negates the operation of another filter - - - - - Construct a not filter on another filter - - The filter to be negated - - - - Gets the base filter - - - - - Determine if a particular test passes the filter criteria. - - The test to which the filter is applied - If set to we are carrying a negation through - True if the test passes the filter, otherwise false - - - - Check whether the filter matches a test - - The test to be matched - True if it matches, otherwise false - - - - Determine if a test matches the filter explicitly. That is, it must - be a direct match of the test itself or one of its children. - - The test to which the filter is applied - True if the test matches the filter explicitly, otherwise false - - - - Adds an XML node - - Parent node - True if recursive - The added XML node - - - - Combines multiple filters so that a test must pass one - of them in order to pass this filter. - - - - - Constructs an empty OrFilter - - - - - Constructs an OrFilter from an array of filters - - - - - - Checks whether the OrFilter is matched by a test - - The test to be matched - If set to we are carrying a negation through - True if any of the component filters pass, otherwise false - - - - Checks whether the OrFilter is matched by a test - - The test to be matched - True if any of the component filters match, otherwise false - - - - Checks whether the OrFilter is explicit matched by a test - - The test to be matched - True if any of the component filters explicit match, otherwise false - - - - Gets the element name - - Element name - - - - PropertyFilter is able to select or exclude tests - based on their properties. - - - - - Construct a PropertyFilter using a property name and expected value - - A property name - The expected value of the property - - - - Check whether the filter matches a test - - The test to be matched - - - - - Adds an XML node - - Parent node - True if recursive - The added XML node - - - - Gets the element name - - Element name - - - - TestName filter selects tests based on their Name - - - - - Construct a TestNameFilter for a single name - - The name the filter will recognize. - - - - Match a test against a single value. - - - - - Gets the element name - - Element name - - - - ValueMatchFilter selects tests based on some value, which - is expected to be contained in the test. - - - - - Returns the value matched by the filter - used for testing - - - - - Indicates whether the value is a regular expression - - - - - Construct a ValueMatchFilter for a single value. - - The value to be included. - - - - Match the input provided by the derived class - - The value to be matched - True for a match, false otherwise. - - - - Adds an XML node - - Parent node - True if recursive - The added XML node - - - - Gets the element name - - Element name - - - - GenericMethodHelper is able to deduce the Type arguments for - a generic method from the actual arguments provided. - - - - - A special value, which is used to indicate that BestCommonType() method - was unable to find a common type for the specified arguments. - - - - - Construct a GenericMethodHelper for a method - - MethodInfo for the method to examine - - - - Return the type arguments for the method, deducing them - from the arguments actually provided. - - The arguments to the method - If successful, an array of type arguments. - - - - A minimalistic implementation of an immutable stack. Add members as needed. - - - - - Represents an empty stack. may be used instead. - - - - - Returns a new immutable stack which begins with the specified value and continues with the values in the - current stack. - - The beginning value of the new stack. - - - - InvalidTestFixtureException is thrown when an appropriate test - fixture constructor using the provided arguments cannot be found. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The message. - - - - Initializes a new instance of the class. - - The message. - The inner. - - - - Serialization Constructor - - - - - InvalidPlatformException is thrown when the platform name supplied - to a test is not recognized. - - - - - Instantiates a new instance of the class. - - - - - Instantiates a new instance of the class - - The message. - - - - Instantiates a new instance of the class - - The message. - The inner. - - - - Serialization constructor for the class - - - - - InvalidTestFixtureException is thrown when an appropriate test - fixture constructor using the provided arguments cannot be found. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The message. - - - - Initializes a new instance of the class. - - The message. - The inner. - - - - Serialization Constructor - - - - - Interface for logging within the engine - - - - - Logs the specified message at the error level. - - The message. - - - - Logs the specified message at the error level. - - The message. - The arguments. - - - - Logs the specified message at the warning level. - - The message. - - - - Logs the specified message at the warning level. - - The message. - The arguments. - - - - Logs the specified message at the info level. - - The message. - - - - Logs the specified message at the info level. - - The message. - The arguments. - - - - Logs the specified message at the debug level. - - The message. - - - - Logs the specified message at the debug level. - - The message. - The arguments. - - - - InternalTrace provides facilities for tracing the execution - of the NUnit framework. Tests and classes under test may make use - of Console writes, System.Diagnostics.Trace or various loggers and - NUnit itself traps and processes each of them. For that reason, a - separate internal trace is needed. - - Note: - InternalTrace uses a global lock to allow multiple threads to write - trace messages. This can easily make it a bottleneck so it must be - used sparingly. Keep the trace Level as low as possible and only - insert InternalTrace writes where they are needed. - TODO: add some buffering and a separate writer thread as an option. - TODO: figure out a way to turn on trace in specific classes only. - - - - - Gets a flag indicating whether the InternalTrace is initialized - - - - - Initialize the internal trace facility using the name of the log - to be written to and the trace level. - - The log name - The trace level - - - - Initialize the internal trace using a provided TextWriter and level - - A TextWriter - The InternalTraceLevel - - - - Get a named Logger - - - - - - Get a logger named for a particular Type. - - - - - InternalTraceLevel is an enumeration controlling the - level of detailed presented in the internal log. - - - - - Use the default settings as specified by the user. - - - - - Do not display any trace messages - - - - - Display Error messages only - - - - - Display Warning level and higher messages - - - - - Display informational and higher messages - - - - - Display debug messages and higher - i.e. all messages - - - - - Display debug messages and higher - i.e. all messages - - - - - A trace listener that writes to a separate file per domain - and process using it. - - - - - Construct an InternalTraceWriter that writes to a file. - - Path to the file to use - - - - Construct an InternalTraceWriter that writes to a - TextWriter provided by the caller. - - - - - - Returns the character encoding in which the output is written. - - The character encoding in which the output is written. - - - - Writes a character to the text string or stream. - - The character to write to the text stream. - - - - Writes a string to the text string or stream. - - The string to write. - - - - Writes a string followed by a line terminator to the text string or stream. - - The string to write. If is null, only the line terminator is written. - - - - Releases the unmanaged resources used by the and optionally releases the managed resources. - - true to release both managed and unmanaged resources; false to release only unmanaged resources. - - - - Clears all buffers for the current writer and causes any buffered data to be written to the underlying device. - - - - - Provides internal logging to the NUnit framework - - - - - Initializes a new instance of the class. - - The name. - The log level. - The writer where logs are sent. - - - - Logs the message at error level. - - The message. - - - - Logs the message at error level. - - The message. - The message arguments. - - - - Logs the message at warm level. - - The message. - - - - Logs the message at warning level. - - The message. - The message arguments. - - - - Logs the message at info level. - - The message. - - - - Logs the message at info level. - - The message. - The message arguments. - - - - Logs the message at debug level. - - The message. - - - - Logs the message at debug level. - - The message. - The message arguments. - - - - The MethodWrapper class wraps a MethodInfo so that it may - be used in a platform-independent manner. - - - - - Construct a MethodWrapper for a Type and a MethodInfo. - - - - - Construct a MethodInfo for a given Type and method name. - - - - - Gets the Type from which this method was reflected. - - - - - Gets the MethodInfo for this method. - - - - - Gets the name of the method. - - - - - Gets a value indicating whether the method is abstract. - - - - - Gets a value indicating whether the method is public. - - - - - Gets a value indicating whether the method is static. - - - - - Gets a value indicating whether the method contains unassigned generic type parameters. - - - - - Gets a value indicating whether the method is a generic method. - - - - - Gets a value indicating whether the MethodInfo represents the definition of a generic method. - - - - - Gets the return Type of the method. - - - - - Gets the parameters of the method. - - - - - - Returns the Type arguments of a generic method or the Type parameters of a generic method definition. - - - - - Replaces the type parameters of the method with the array of types provided and returns a new IMethodInfo. - - The type arguments to be used - A new IMethodInfo with the type arguments replaced - - - - Returns an array of custom attributes of the specified type applied to this method - - - - - Gets a value indicating whether one or more attributes of the specified type are defined on the method. - - - - - Invokes the method, converting any TargetInvocationException to an NUnitException. - - The object on which to invoke the method - The argument list for the method - The return value from the invoked method - - - - Override ToString() so that error messages in NUnit's own tests make sense - - - - - This class ensures the is correctly cleared - or restored around framework actions. This is important if running multiple assemblies within the same - process, to ensure no leakage from one assembly to the next. See https://github.com/nunit/nunit-console/issues/325 - - - - - Thrown when an assertion failed. Here to preserve the inner - exception and hence its stack trace. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The error message that explains - the reason for the exception - - - - Initializes a new instance of the class. - - The error message that explains - the reason for the exception - The exception that caused the - current exception - - - - Serialization Constructor - - - - - Enables the syntax. - - - - - Wraps an action so that it is executed when the returned object is disposed. - This disposal is thread-safe and the action will be executed at most once. - - - - - OSPlatform represents a particular operating system platform - - - - - Platform ID for Unix as defined by .NET - - - - - Platform ID for Unix as defined by Mono - - - - - Platform ID for XBox as defined by .NET and Mono - - - - - Platform ID for MacOSX as defined by .NET and Mono - - - - - Get the OSPlatform under which we are currently running - - - - - Gets the actual OS Version, not the incorrect value that might be - returned for Win 8.1 and Win 10 - - - If an application is not manifested as Windows 8.1 or Windows 10, - the version returned from Environment.OSVersion will not be 6.3 and 10.0 - respectively, but will be 6.2 and 6.3. The correct value can be found in - the registry. - - The original version - The correct OS version - - - - Product Type Enumeration used for Windows - - - - - Product type is unknown or unspecified - - - - - Product type is Workstation - - - - - Product type is Domain Controller - - - - - Product type is Server - - - - - Construct from a platform ID and version - - - - - Construct from a platform ID, version and product type - - - - - Get the platform ID of this instance - - - - - Implemented to use in place of Environment.OSVersion.ToString() - - A representation of the platform ID and version in an approximation of the format used by Environment.OSVersion.ToString() - - - - Get the Version of this instance - - - - - Get the Product Type of this instance - - - - - Return true if this is a windows platform - - - - - Return true if this is a Unix or Linux platform - - - - - Return true if the platform is Win32S - - - - - Return true if the platform is Win32Windows - - - - - Return true if the platform is Win32NT - - - - - Return true if the platform is Windows CE - - - - - Return true if the platform is Xbox - - - - - Return true if the platform is MacOSX - - - - - Return true if the platform is Windows 95 - - - - - Return true if the platform is Windows 98 - - - - - Return true if the platform is Windows ME - - - - - Return true if the platform is NT 3 - - - - - Return true if the platform is NT 4 - - - - - Return true if the platform is NT 5 - - - - - Return true if the platform is Windows 2000 - - - - - Return true if the platform is Windows XP - - - - - Return true if the platform is Windows 2003 Server - - - - - Return true if the platform is NT 6 - - - - - Return true if the platform is NT 6.0 - - - - - Return true if the platform is NT 6.1 - - - - - Return true if the platform is NT 6.2 - - - - - Return true if the platform is NT 6.3 - - - - - Return true if the platform is Vista - - - - - Return true if the platform is Windows 2008 Server (original or R2) - - - - - Return true if the platform is Windows 2008 Server (original) - - - - - Return true if the platform is Windows 2008 Server R2 - - - - - Return true if the platform is Windows 2012 Server (original or R2) - - - - - Return true if the platform is Windows 2012 Server (original) - - - - - Return true if the platform is Windows 2012 Server R2 - - - - - Return true if the platform is Windows 7 - - - - - Return true if the platform is Windows 8 - - - - - Return true if the platform is Windows 8.1 - - - - - Return true if the platform is Windows 10 - - - - - Return true if the platform is Windows Server. This is named Windows - Server 10 to distinguish it from previous versions of Windows Server. - - - - - - Examines an attribute argument and tries to simulate what that value would have been if the literal syntax - which might have defined the value in C# had instead been used as an argument to a given method parameter in a direct call. - - - For example, since you can’t apply attributes using arguments, we allow the C# syntax - 10 ( value) or 0.1 ( value) to be specified. - NUnit then converts it to match the method’s parameters, just as if you were actually - using the syntax TestMethod(10) or TestMethod(0.1). - - - For another example, you might have written the syntax 10 and picked up the attribute - constructor overload; however, the test method for which this value is intended only has a - signature. Again, NUnit simulates what would have happened if the inferred C# syntax was transplanted - and you were actually using the syntax TestMethod(10). - - - - - - Converts an array of objects to the , if it is supported. - - - - - Converts a single value to the , if it is supported. - - - - - Performs several special conversions allowed by NUnit in order to - permit arguments with types that cannot be used in the constructor - of an Attribute such as TestCaseAttribute or to simplify their use. - - The value to be converted - The target in which the should be converted - If conversion was successfully applied, the converted into - - if was converted and should be used; - is no conversion was applied and should be ignored - - - - - The ParameterWrapper class wraps a ParameterInfo so that it may - be used in a platform-independent manner. - - - - - Construct a ParameterWrapper for a given method and parameter - - - - - - - Gets a value indicating whether the parameter is optional - - - - - Gets an IMethodInfo representing the method for which this is a parameter. - - - - - Gets the underlying ParameterInfo - - - - - Gets the Type of the parameter - - - - - Returns an array of custom attributes of the specified type applied to this method - - - - - Gets a value indicating whether one or more attributes of the specified type are defined on the parameter. - - - - - PlatformHelper class is used by the PlatformAttribute class to - determine whether a platform is supported. - - - - - Comma-delimited list of all supported OS platform constants - - - - - Comma-delimited list of all supported Runtime platform constants - - - - - Default constructor uses the operating system and - common language runtime of the system. - - - - - Construct a PlatformHelper for a particular operating - system and common language runtime. Used in testing. - - RuntimeFramework to be used - OperatingSystem to be used - - - - Test to determine if one of a collection of platforms - is being used currently. - - - - - - - Tests to determine if the current platform is supported - based on a platform attribute. - - The attribute to examine - - - - - Tests to determine if the current platform is supported - based on a platform attribute. - - The attribute to examine - - - - - Test to determine if a particular platform or comma-delimited set of platforms is in use. - - Name of the platform or comma-separated list of platform ids - True if the platform is in use on the system - - - - Return the last failure reason. Results are not - defined if called before IsSupported( Attribute ) - is called. - - - - - Implements a simplified filter for use in deciding which - Types and Methods should be used to generate tests. It is constructed with a - list of strings, each of which may end up being interpreted in various ways. - - - - - Return a new PreFilter, without elements, which is considered - empty and always matches. - - - - - Return true if the filter is empty, in which case it - always succeeds. Technically, this is just a filter and - you can add elements but it's best to use Empty when - you need an empty filter and new when you plan to add. - - - - - Add a new filter element to the filter - - - - - - Use the filter on a Type, returning true if the type matches the filter - and should therefore be included in the discovery process. - - - - - Use the filter on a Type, returning true if the type matches the filter - and should therefore be included in the discovery process. - - - - - A PropertyBag represents a collection of name value pairs - that allows duplicate entries with the same key. Methods - are provided for adding a new pair as well as for setting - a key to a single value. All keys are strings but values - may be of any type. Null values are not permitted, since - a null entry represents the absence of the key. - - - - - Adds a key/value pair to the property set - - The key - The value - - - - Sets the value for a key, removing any other - values that are already in the property set. - - - - - - - Gets a single value for a key, using the first - one if multiple values are present and returning - null if the value is not found. - - - - - - - Gets a flag indicating whether the specified key has - any entries in the property set. - - The key to be checked - - True if their are values present, otherwise false - - - - - Gets a collection containing all the keys in the property set - - - - - - Gets or sets the list of values for a particular key - - - - - Returns an XmlNode representing the current PropertyBag. - - Not used - An XmlNode representing the PropertyBag - - - - Returns an XmlNode representing the PropertyBag after - adding it as a child of the supplied parent node. - - The parent node. - Not used - - - - - The PropertyNames class provides static constants for the - standard property ids that NUnit uses on tests. - - - - - The FriendlyName of the AppDomain in which the assembly is running - - - - - The selected strategy for joining parameter data into test cases - - - - - The process ID of the executing assembly - - - - - The stack trace from any data provider that threw - an exception. - - - - - The reason a test was not run - - - - - The author of the tests - - - - - The ApartmentState required for running the test - - - - - The categories applying to a test - - - - - The Description of a test - - - - - The number of threads to be used in running tests - - - - - The maximum time in ms, above which the test is considered to have failed - - - - - The ParallelScope associated with a test - - - - - The number of times the test should be repeated - - - - - Indicates that the test should be run on a separate thread - - - - - The culture to be set for a test - - - - - The UI culture to be set for a test - - - - - The type that is under test - - - - - The timeout value for the test - - - - - The test will be ignored until the given date - - - - - The optional Order the test will run in - - - - - Randomizer returns a set of random values in a repeatable - way, to allow re-running of tests if necessary. It extends - the .NET Random class, providing random values for a much - wider range of types. - - The class is used internally by the framework to generate - test case data and is also exposed for use by users through - the TestContext.Random property. - - - For consistency with the underlying Random Type, methods - returning a single value use the prefix "Next..." Those - without an argument return a non-negative value up to - the full positive range of the Type. Overloads are provided - for specifying a maximum or a range. Methods that return - arrays or strings use the prefix "Get..." to avoid - confusion with the single-value methods. - - - - - Initial seed used to create randomizers for this run - - - - - Get a Randomizer for a particular member, returning - one that has already been created if it exists. - This ensures that the same values are generated - each time the tests are reloaded. - - - - - Get a randomizer for a particular parameter, returning - one that has already been created if it exists. - This ensures that the same values are generated - each time the tests are reloaded. - - - - - Create a new Randomizer using the next seed - available to ensure that each randomizer gives - a unique sequence of values. - - - - - - Default constructor - - - - - Construct based on seed value - - - - - - Returns a random unsigned int. - - - - - Returns a random unsigned int less than the specified maximum. - - - - - Returns a random unsigned int within a specified range. - - - - - Returns a non-negative random short. - - - - - Returns a non-negative random short less than the specified maximum. - - - - - Returns a non-negative random short within a specified range. - - - - - Returns a random unsigned short. - - - - - Returns a random unsigned short less than the specified maximum. - - - - - Returns a random unsigned short within a specified range. - - - - - Returns a random long. - - - - - Returns a random long less than the specified maximum. - - - - - Returns a non-negative random long within a specified range. - - - - - Returns a random ulong. - - - - - Returns a random ulong less than the specified maximum. - - - - - Returns a non-negative random long within a specified range. - - - - - Returns a random Byte - - - - - Returns a random Byte less than the specified maximum. - - - - - Returns a random Byte within a specified range - - - - - Returns a random SByte - - - - - Returns a random sbyte less than the specified maximum. - - - - - Returns a random sbyte within a specified range - - - - - Returns a random bool - - - - - Returns a random bool based on the probability a true result - - - - - Returns a random double between 0.0 and the specified maximum. - - - - - Returns a random double within a specified range. - - - - - Returns a random float. - - - - - Returns a random float between 0.0 and the specified maximum. - - - - - Returns a random float within a specified range. - - - - - Returns a random enum value of the specified Type as an object. - - - - - Returns a random enum value of the specified Type. - - - - - Default characters for random functions. - - Default characters are the English alphabet (uppercase & lowercase), Arabic numerals, and underscore - - - - Generate a random string based on the characters from the input string. - - desired length of output string. - string representing the set of characters from which to construct the resulting string - A random string of arbitrary length - - - - Generate a random string based on the characters from the input string. - - desired length of output string. - A random string of arbitrary length - Uses DefaultStringChars as the input character set - - - - Generate a random string based on the characters from the input string. - - A random string of the default length - Uses DefaultStringChars as the input character set - - - - Returns a random decimal. - - - - - Returns a random decimal between positive zero and the specified maximum. - - - - - Returns a random decimal within a specified range, which is not - permitted to exceed decimal.MaxVal in the current implementation. - - - A limitation of this implementation is that the range from min - to max must not exceed decimal.MaxVal. - - - - - Generates a valid version 4 . - - - - - Helper methods for inspecting a type by reflection. - - Many of these methods take ICustomAttributeProvider as an - argument to avoid duplication, even though certain attributes can - only appear on specific types of members, like MethodInfo or Type. - - In the case where a type is being examined for the presence of - an attribute, interface or named member, the Reflect methods - operate with the full name of the member being sought. This - removes the necessity of the caller having a reference to the - assembly that defines the item being sought and allows the - NUnit core to inspect assemblies that reference an older - version of the NUnit framework. - - - - - Examine a fixture type and return true if it has a method with - a particular attribute. - - The type to examine - The attribute Type to look for - True if found, otherwise false - - - - Invoke the default constructor on a Type - - The Type to be constructed - An instance of the Type - - - - Invoke a constructor on a Type with arguments - - The Type to be constructed - Arguments to the constructor - An instance of the Type - - - - Returns an array of types from an array of objects. - Differs from by returning - for null elements rather than throwing . - - - - - Gets the constructors to which the specified argument types can be coerced. - - - - - Determines if the given types can be coerced to match the given parameters. - - - - - Determines whether the current type can be implicitly converted to the specified type. - - - - - Invoke a parameterless method returning void on an object. - - A MethodInfo for the method to be invoked - The object on which to invoke the method - - - - Invoke a method, converting any TargetInvocationException to an NUnitException. - - A MethodInfo for the method to be invoked - The object on which to invoke the method - The argument list for the method - The return value from the invoked method - - - - - Selects the ultimate shadowing property just like dynamic would, - rather than throwing - for properties that shadow properties of a different property type - which is what does. - - - If you request both public and nonpublic properties, every public property is preferred - over every nonpublic property. It would violate the principle of least surprise for a - derived class’s implementation detail to be chosen over the public API for a type. - - - See . - See . - See . - - - - Same as GetMethod(, | - , , , - ) except that it also chooses only non-generic methods. - Useful for avoiding the you can have with GetMethod. - - - - - Returns the get accessor for the indexer. - - Type to reflect on for the indexer. - List of indexer types that matches the indexer type order. - The Get accessor - - - - Represents the result of running a single test case. - - - - - Construct a TestCaseResult based on a TestMethod - - A TestMethod to which the result applies. - - - - Gets the number of test cases that failed - when running the test and all its children. - - - - - Gets the number of test cases that executed - when running the test and all its children. - - - - - Gets the number of test cases that had warnings - when running the test and all its children. - - - - - Gets the number of test cases that passed - when running the test and all its children. - - - - - Gets the number of test cases that were skipped - when running the test and all its children. - - - - - Gets the number of test cases that were inconclusive - when running the test and all its children. - - - - - Indicates whether this result has any child results. - - - - - Gets the collection of child results. - - - - - The TestResult class represents the result of a test. - - - - - Error message for when child tests have errors - - - - - Error message for when child tests have warnings - - - - - Error message for when child tests are ignored - - - - - Error message for when user has cancelled the test run - - - - - The minimum duration for tests - - - - - Aggregate assertion count - - - - - ReaderWriterLock - - - - - Construct a test result given a Test - - The test to be used - - - - Gets the test with which this result is associated. - - - - - Gets the ResultState of the test result, which - indicates the success or failure of the test. - - - - - Gets the name of the test result - - - - - Gets the full name of the test result - - - - - Gets or sets the elapsed time for running the test in seconds - - - - - Gets or sets the time the test started running. - - - - - Gets or sets the time the test finished running. - - - - - Adds a test attachment to the test result - - The TestAttachment object to attach - - - - Gets the collection of files attached to the test - - - - - Gets the message associated with a test - failure or with not running the test - - - - - Gets any stack trace associated with an - error or failure. - - - - - Gets or sets the count of asserts executed - when running the test. - - - - - Gets the number of test cases executed - when running the test and all its children. - - - - - Gets the number of test cases that failed - when running the test and all its children. - - - - - Gets the number of test cases that had warnings - when running the test and all its children. - - - - - Gets the number of test cases that passed - when running the test and all its children. - - - - - Gets the number of test cases that were skipped - when running the test and all its children. - - - - - Gets the number of test cases that were inconclusive - when running the test and all its children. - - - - - Indicates whether this result has any child results. - - - - - Gets the collection of child results. - - - - - Gets a TextWriter, which will write output to be included in the result. - - - - - Gets any text output written to this result. - - - - - Gets a list of assertion results associated with the test. - - - - - Returns the XML representation of the result. - - If true, descendant results are included - An XmlNode representing the result - - - - Adds the XML representation of the result as a child of the - supplied parent node.. - - The parent node. - If true, descendant results are included - - - - - Gets a count of pending failures (from Multiple Assert) - - - - - Gets the worst assertion status (highest enum) in all the assertion results - - - - - Set the result of the test - - The ResultState to use in the result - - - - Set the result of the test - - The ResultState to use in the result - A message associated with the result state - - - - Set the result of the test - - The ResultState to use in the result - A message associated with the result state - Stack trace giving the location of the command - - - - Set the test result based on the type of exception thrown - - The exception that was thrown - - - - Set the test result based on the type of exception thrown - - The exception that was thrown - The FailureSite to use in the result - - - - RecordTearDownException appends the message and stack trace - from an exception arising during teardown of the test - to any previously recorded information, so that any - earlier failure information is not lost. Note that - calling Assert.Ignore, Assert.Inconclusive, etc. during - teardown is treated as an error. If the current result - represents a suite, it may show a teardown error even - though all contained tests passed. - - The Exception to be recorded - - - - Update overall test result, including legacy Message, based - on AssertionResults that have been saved to this point. - - - - - Record an assertion result - - - - - Record an assertion result - - - - - Record an assertion result - - - - - Creates a failure message incorporating failures - from a Multiple Assert block for use by runners - that don't know about AssertionResults. - - Message as a string - - - - Adds a failure element to a node and returns it. - - The target node. - The new failure element. - - - - Adds an attachments element to a node and returns it. - - The target node. - The new attachments element. - - - - Represents the result of running a test suite - - - - - Construct a TestSuiteResult base on a TestSuite - - The TestSuite to which the result applies - - - - Gets the number of test cases that executed - when running the test and all its children. - - - - - Gets the number of test cases that failed - when running the test and all its children. - - - - - Gets the number of test cases that passed - when running the test and all its children. - - - - - Gets the number of test cases that passed - when running the test and all its children. - - - - - Gets the number of test cases that were skipped - when running the test and all its children. - - - - - Gets the number of test cases that were inconclusive - when running the test and all its children. - - - - - Indicates whether this result has any child results. - - - - - Gets the collection of child results. - - - - - Adds a child result to this result, setting this result's - ResultState to Failure if the child result failed. - - The result to be added - - - - RuntimeFramework represents a particular version - of a common language runtime implementation. - - - - - DefaultVersion is an empty Version, used to indicate that - NUnit should select the CLR version to use for the test. - - - - - Construct from a runtime type and version. If the version has - two parts, it is taken as a framework version. If it has three - or more, it is taken as a CLR version. In either case, the other - version is deduced based on the runtime type and provided version. - - The runtime type of the framework - The version of the framework - - - - Static method to return a RuntimeFramework object - for the framework that is currently in use. - - - - - The type of this runtime framework - - - - - The framework version for this runtime framework - - - - - The CLR version for this runtime framework - - - - - Return true if any CLR version may be used in - matching this RuntimeFramework object. - - - - - Returns the Display name for this framework - - - - - Parses a string representing a RuntimeFramework. - The string may be just a RuntimeType name or just - a Version or a hyphenated RuntimeType-Version or - a Version prefixed by 'versionString'. - - - - - - - Overridden to return the short name of the framework - - - - - - Returns true if the current framework matches the - one supplied as an argument. Two frameworks match - if their runtime types are the same or either one - is RuntimeType.Any and all specified version components - are equal. Negative (i.e. unspecified) version - components are ignored. - - The RuntimeFramework to be matched. - True on match, otherwise false - - - - Enumeration identifying a common language - runtime implementation. - - - - Any supported runtime framework - - - Microsoft .NET Framework - - - Microsoft .NET Framework - - - Microsoft Shared Source CLI - - - Mono - - - MonoTouch - - - Microsoft .NET Core, including .NET 5+ - - - - Holds thread state which is captured and restored in order to sandbox user code. - - - - - Thread principal. - This will be null on platforms that don't support . - - - - - Captures a snapshot of the tracked state of the current thread to be restored later. - - - - - Restores the tracked state of the current thread to the previously captured state. - - - - - Returns a copy with the specified culture. - - - - - Returns a copy with the specified UI culture. - - - - - Returns a copy with the specified principal. - - - - - May be called from any thread. - - - - - May be called from any thread. - - - - - May be called from any thread. - - - - - May be called from any thread, but may only be called once. - - - - - StackFilter class is used to remove internal NUnit - entries from a stack trace so that the resulting - trace provides better information about the test. - - - - - Single instance of our default filter - - - - - Construct a stack filter instance - - Regex pattern used to delete lines from the top of the stack - Regex pattern used to delete lines from the bottom of the stack - - - - Construct a stack filter instance - - Regex pattern used to delete lines from the top of the stack - - - - Construct a stack filter instance - - - - - Filters a raw stack trace and returns the result. - - The original stack trace - A filtered stack trace - - - - Provides methods to support legacy string comparison methods. - - - - - Compares two strings for equality, ignoring case if requested. - - The first string. - The second string.. - if set to , the case of the letters in the strings is ignored. - Zero if the strings are equivalent, a negative number if strA is sorted first, a positive number if - strB is sorted first - - - - Compares two strings for equality, ignoring case if requested. - - The first string. - The second string.. - if set to , the case of the letters in the strings is ignored. - True if the strings are equivalent, false if not. - - - - The TestCaseParameters class encapsulates method arguments and - other selected parameters needed for constructing - a parameterized test case. - - - - - The expected result to be returned - - - - - Default Constructor creates an empty parameter set - - - - - Construct a non-runnable ParameterSet, specifying - the provider exception that made it invalid. - - - - - Construct a parameter set with a list of arguments - - - - - - Construct a ParameterSet from an object implementing ITestCaseData - - - - - - The expected result of the test, which - must match the method return type. - - - - - Gets a value indicating whether an expected result was specified. - - - - - TestCaseTimeoutException is thrown when a test running directly - on a TestWorker thread is cancelled due to timeout. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The message. - - - - Initializes a new instance of the class. - - The message. - The inner. - - - - Serialization Constructor - - - - - Helper class used to save and restore certain static or - singleton settings in the environment that affect tests - or which might be changed by the user tests. - - - - - Link to a prior saved context - - - - - Indicates that a stop has been requested - - - - - The event listener currently receiving notifications - - - - - The number of assertions for the current test - - - - - The current test result - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - An existing instance of TestExecutionContext. - - - - Gets and sets the current context. - - - - - Gets or sets the current test - - - - - The time the current test started execution - - - - - The time the current test started in Ticks - - - - - Gets the elapsed time for running the test in seconds - - - - - Gets or sets the current test result - - - - - Gets a TextWriter that will send output to the current test result. - - - - - The current test object - that is the user fixture - object on which tests are being executed. - - - - - Get or set indicator that run should stop on the first error - - - - - Gets an enum indicating whether a stop has been requested. - - - - - The current test event listener - - - - - The current WorkItemDispatcher. Made public for - use by nunitlite.tests - - - - - The ParallelScope to be used by tests running in this context. - For builds with out the parallel feature, it has no effect. - - - - - Default tolerance value used for floating point equality - when no other tolerance is specified. - - - - - The worker that spawned the context. - For builds without the parallel feature, it is null. - - - - - Gets the RandomGenerator specific to this Test - - - - - Gets the assert count. - - The assert count. - - - - The current nesting level of multiple assert blocks - - - - - Gets or sets the test case timeout value - - - - - Gets a list of ITestActions set by upstream tests - - - - - Saves or restores the CurrentCulture - - - - - Saves or restores the CurrentUICulture - - - - - Gets or sets the current for the Thread. - - - - - The current head of the ValueFormatter chain, copied from MsgUtils.ValueFormatter - - - - - If true, all tests must run on the same thread. No new thread may be spawned. - - - - - The number of times the current test has been scheduled for execution. - Currently only being executed in a test using the - - - - - Record any changes in the environment made by - the test code in the execution context so it - will be passed on to lower level tests. - - - - - Set up the execution environment to match a context. - Note that we may be running on the same thread where the - context was initially created or on a different thread. - - - - - Increments the assert count by one. - - - - - Increments the assert count by a specified amount. - - - - - Adds a new ValueFormatterFactory to the chain of formatters - - The new factory - - - - Sends a message from test to listeners. This message is not kind of test output and doesn't go to test result. - - A name recognized by the intended listeners. - A message to be sent - - - - Obtain lifetime service object - - - - - - An IsolatedContext is used when running code - that may effect the current result in ways that - should not impact the final result of the test. - A new TestExecutionContext is created with an - initially clear result, which is discarded on - exiting the context. - - - using (new TestExecutionContext.IsolatedContext()) - { - // Code that should not impact the result - } - - - - - Save the original current TestExecutionContext and - make a new isolated context current. - - - - - Restore the original TestExecutionContext. - - - - - An AdhocTestExecutionContext is created whenever a context is needed - but not available in CurrentContext. This happens when tests are run - on an ad-hoc basis or Asserts are used outside of tests. - - - - - Construct an AdhocTestExecutionContext, which is used - whenever the current TestExecutionContext is found to be null. - - - - - Enumeration indicating whether the tests are - running normally or being cancelled. - - - - - Running normally with no stop requested - - - - - A graceful stop has been requested - - - - - A forced stop has been requested - - - - - Interface to be implemented by filters applied to tests. - The filter applies when running the test, after it has been - loaded, since this is the only time an ITest exists. - - - - - Unique Empty filter. - - - - - Indicates whether this is the EmptyFilter - - - - - Indicates whether this is a top-level filter, - not contained in any other filter. - - - - - Determine if a particular test passes the filter criteria. The default - implementation checks the test itself, its parents and any descendants. - - Derived classes may override this method or any of the Match methods - to change the behavior of the filter. - - The test to which the filter is applied - True if the test passes the filter, otherwise false - - - - Determine if a particular test passes the filter criteria. The default - implementation checks the test itself, its parents and any descendants. - - Derived classes may override this method or any of the Match methods - to change the behavior of the filter. - - The test to which the filter is applied - If set to we are carrying a negation through - True if the test passes the filter, otherwise false - - - - Determine if a test matches the filter explicitly. That is, it must - be a direct match of the test itself or one of its children. - - The test to which the filter is applied - True if the test matches the filter explicitly, otherwise false - - - - Determine whether the test itself matches the filter criteria, without - examining either parents or descendants. This is overridden by each - different type of filter to perform the necessary tests. - - The test to which the filter is applied - True if the filter matches the any parent of the test - - - - Determine whether any ancestor of the test matches the filter criteria - - The test to which the filter is applied - True if the filter matches the an ancestor of the test - - - - Determine whether any descendant of the test matches the filter criteria. - - The test to be matched - True if at least one descendant matches the filter criteria - - - - Create a TestFilter instance from an XML representation. - - - - - Create a TestFilter from its TNode representation - - - - - Nested class provides an empty filter - one that always - returns true when called. It never matches explicitly. - - - - - Adds an XML node - - True if recursive - The added XML node - - - - Adds an XML node - - Parent node - True if recursive - The added XML node - - - - The TestCaseParameters class encapsulates method arguments and - other selected parameters needed for constructing - a parameterized test case. - - - - - Default Constructor creates an empty parameter set - - - - - Construct a non-runnable ParameterSet, specifying - the provider exception that made it invalid. - - - - - Construct a parameter set with a list of arguments - - - - - - Construct a ParameterSet from an object implementing ITestCaseData - - - - - - Type arguments used to create a generic fixture instance - - - - - TestListener provides an implementation of ITestListener that - does nothing. It is used only through its NULL property. - - - - - Called when a test has just started - - The test that is starting - - - - Called when a test case has finished - - The result of the test - - - - Called when a test produces output for immediate display - - A TestOutput object containing the text to display - - - - Called when a test produces a message to be sent to listeners - - A object containing the message to send - - - - Construct a new TestListener - private so it may not be used. - - - - - Get a listener that does nothing - - - - - TestNameGenerator is able to create test names according to - a coded pattern. - - - - - Default pattern used to generate names - - - - - Construct a TestNameGenerator - - - - - Construct a TestNameGenerator - - The pattern used by this generator. - - - - Get the display name for a TestMethod and its arguments - - A TestMethod - The display name - - - - Get the display name for a TestMethod and its arguments - - A TestMethod - Arguments to be used - The display name - - - - TestParameters is the abstract base class for all classes - that know how to provide data for constructing a test. - - - - - Default Constructor creates an empty parameter set - - - - - Construct a parameter set with a list of arguments - - - - - - Construct a non-runnable ParameterSet, specifying - the provider exception that made it invalid. - - - - - Construct a ParameterSet from an object implementing ITestData - - - - - - The RunState for this set of parameters. - - - - - The arguments to be used in running the test, - which must match the method signature. - - - - - A name to be used for this test case in lieu - of the standard generated name containing - the argument list. - - - - - Gets the property dictionary for this test - - - - - Applies ParameterSet values to the test itself. - - A test. - - - - The original arguments provided by the user, - used for display purposes. - - - - - The list of display names to use as the parameters in the test name. - - - - - TestProgressReporter translates ITestListener events into - the async callbacks that are used to inform the client - software about the progress of a test run. - - - - - Initializes a new instance of the class. - - The callback handler to be used for reporting progress. - - - - Called when a test has just started - - The test that is starting - - - - Called when a test has finished. Sends a result summary to the callback. - to - - The result of the test - - - - Called when a test produces output for immediate display - - A TestOutput object containing the text to display - - - - Called when a test produces a message to be sent to listeners - - A object containing the text to send - - - - Returns the parent test item for the target test item if it exists - - - parent test item - - - - Makes a string safe for use as an attribute, replacing - characters that can't be used with their - corresponding XML representations. - - The string to be used - A new string with the values replaced - - - - ParameterizedFixtureSuite serves as a container for the set of test - fixtures created from a given Type using various parameters. - - - - - Initializes a new instance of the class. - - The ITypeInfo for the type that represents the suite. - - - - Creates a copy of the given suite with only the descendants that pass the specified filter. - - The to copy. - Determines which descendants are copied. - - - - Gets a string representing the type of test - - - - - Creates a filtered copy of the test suite. - - Determines which descendants are copied. - - - - ParameterizedMethodSuite holds a collection of individual - TestMethods with their arguments applied. - - - - - Initializes a new instance of the class. - - - - - Creates a copy of the given suite with only the descendants that pass the specified filter. - - The to copy. - Determines which descendants are copied. - - - - Gets a MethodInfo for the method implementing this test. - - - - - Gets a string representing the type of test - - - - - Creates a filtered copy of the test suite. - - Determines which descendants are copied. - - - - SetUpFixture extends TestSuite and supports - Setup and TearDown methods. - - - - - Initializes a new instance of the class. - - - - - Creates a copy of the given suite with only the descendants that pass the specified filter. - - The to copy. - Determines which descendants are copied. - - - - Gets the TypeInfo of the fixture used in running this test. - - - - - Creates a filtered copy of the test suite. - - Determines which descendants are copied. - - - - The Test abstract class represents a test within the framework. - - - - - Static value to seed ids. It's started at 1000 so any - uninitialized ids will stand out. - - - - - Used to cache the declaring type for this MethodInfo - - - - - Method property backing field - - - - - Constructs a test given its name - - The name of the test - - - - Constructs a test given the path through the - test hierarchy to its parent and a name. - - The parent tests full name - The name of the test - - - - Constructs a test for a specific type. - - - - - Constructs a test for a specific method. - - - - - Gets or sets the id of the test - - - - - - Gets or sets the name of the test - - - - - Gets or sets the fully qualified name of the test - - - - - - Gets the name of the class where this test was declared. - Returns null if the test is not associated with a class. - - - - - Gets the name of the method implementing this test. - Returns null if the test is not implemented as a method. - - - - - The arguments to use in creating the test or empty array if none required. - - - - - Gets the TypeInfo of the fixture used in running this test - or null if no fixture type is associated with it. - - - - - Gets a MethodInfo for the method implementing this test. - Returns null if the test is not implemented as a method. - - - - - Whether or not the test should be run - - - - - Gets the name used for the top-level element in the - XML representation of this test - - - - - Gets a string representing the type of test. Used as an attribute - value in the XML representation of a test and has no other - function in the framework. - - - - - Gets a count of test cases represented by - or contained under this test. - - - - - Gets the properties for this test - - - - - Returns true if this is a TestSuite - - - - - Gets a bool indicating whether the current test - has any descendant tests. - - - - - Gets the parent as a Test object. - Used by the core to set the parent. - - - - - Gets this test's child tests - - A list of child tests - - - - Gets or sets a fixture object for running this test. - - - - - Static prefix used for ids in this AppDomain. - Set by FrameworkController. - - - - - Gets or Sets the Int value representing the seed for the RandomGenerator - - - - - - The SetUp methods. - - - - - The teardown methods - - - - - Creates a TestResult for this test. - - A TestResult suitable for this type of test. - - - - Modify a newly constructed test by applying any of NUnit's common - attributes, based on a supplied , which is - usually the reflection element from which the test was constructed, - but may not be in some instances. The attributes retrieved are - saved for use in subsequent operations. - - - - - Mark the test as Invalid (not runnable) specifying a reason - - The reason the test is not runnable - - - - Get custom attributes applied to a test - - - - - Add standard attributes and members to a test node. - - - - - - - Returns the XML representation of the test - - If true, include child tests recursively - - - - - Returns an XmlNode representing the current result after - adding it as a child of the supplied parent node. - - The parent node. - If true, descendant results are included - - - - Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. - An object to compare with this instance. - - - Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. - An object to compare with this instance. - - - - TestAssembly is a TestSuite that represents the execution - of tests in a managed assembly. - - - - - Initializes a new instance of the class - specifying the Assembly and the suite name. - - The assembly this test represents. - - This becomes the full name of the suite and the filename part is used as the suite name. - - - - - Initializes a new instance of the class - specifying the suite name for an assembly that could not be loaded. - - - This becomes the full name of the suite and the filename part is used as the suite name. - - - - - Creates a copy of the given assembly with only the descendants that pass the specified filter. - - The to copy. - Determines which descendants are copied. - - - - Gets the Assembly represented by this instance. - - - - - Gets the name used for the top-level element in the - XML representation of this test - - - - - Get custom attributes specified on the assembly - - - - - Creates a filtered copy of the test suite. - - Determines which descendants are copied. - - - - TestFixture is a surrogate for a user test fixture class, - containing one or more tests. - - - - - The life cycle specified for the current test fixture. - - - - - Initializes a new instance of the class. - - Type of the fixture. - Arguments used to instantiate the test fixture, or null if none used - - - - Creates a copy of the given suite with only the descendants that pass the specified filter. - - The to copy. - Determines which descendants are copied. - - - - Gets the TypeInfo of the fixture used in running this test. - - - - - Creates a filtered copy of the test suite. - - Determines which descendants are copied. - - - - The TestMethod class represents a Test implemented as a method. - - - - - The ParameterSet used to create this test method - - - - - Initializes a new instance of the class. - - The method to be used as a test. - - - - Initializes a new instance of the class. - - The method to be used as a test. - The suite or fixture to which the new test will be added - - - - Gets a MethodInfo for the method implementing this test. - - - - - The arguments to use in executing the test method, or empty array if none are provided. - - - - - Overridden to return a TestCaseResult. - - A TestResult for this test. - - - - Gets a bool indicating whether the current test - has any descendant tests. - - - - - Returns a TNode representing the current result after - adding it as a child of the supplied parent node. - - The parent node. - If true, descendant results are included - - - - - Gets this test's child tests - - A list of child tests - - - - Gets the name used for the top-level element in the - XML representation of this test - - - - - Returns the name of the method - - - - - TestSuite represents a composite test, which contains other tests. - - - - - Our collection of child tests - - - - - Initializes a new instance of the class. - - The name of the suite. - - - - Initializes a new instance of the class. - - Name of the parent suite. - The name of the suite. - - - - Initializes a new instance of the class. - - Type of the fixture. - Arguments used to instantiate the test fixture, or null if none used. - - - - Initializes a new instance of the class. - - Type of the fixture. - - - - Creates a copy of the given suite with only the descendants that pass the specified filter. - - The to copy. - Determines which descendants are copied. - - - - Sorts tests under this suite. - - - - - Adds a test to the suite. - - The test. - - - - Creates a filtered copy of the test suite. - - Determines which descendants are copied. - - - - Gets this test's child tests - - The list of child tests - - - - Gets a count of test cases represented by - or contained under this test. - - - - - - The arguments to use in creating the fixture, or empty array if none are provided. - - - - - Set to true to suppress sorting this suite's contents - - - - - OneTimeSetUp methods for this suite - - - - - OneTimeTearDown methods for this suite - - - - - Overridden to return a TestSuiteResult. - - A TestResult for this test. - - - - Gets a bool indicating whether the current test - has any descendant tests. - - - - - Gets the name used for the top-level element in the - XML representation of this test - - - - - Returns an XmlNode representing the current result after - adding it as a child of the supplied parent node. - - The parent node. - If true, descendant results are included - - - - - Check that setup and teardown methods marked by certain attributes - meet NUnit's requirements and mark the tests not runnable otherwise. - - - - - ThreadUtility provides a set of static methods convenient - for working with threads. - - - - - Pre-Task compatibility - - - - - Abort a thread, helping to dislodging it if it is blocked in native code - - The thread to abort - The native thread id (if known), otherwise 0. - If provided, allows the thread to be killed if it's in a message pump native blocking wait. - This must have previously been captured by calling from the running thread itself. - - - - Do our best to kill a thread - - The thread to kill - The native thread id (if known), otherwise 0. - If provided, allows the thread to be killed if it's in a message pump native blocking wait. - This must have previously been captured by calling from the running thread itself. - - - - Do our best to kill a thread, passing state info - - The thread to kill - Info for the ThreadAbortException handler - The native thread id (if known), otherwise 0. - If provided, allows the thread to be killed if it's in a message pump native blocking wait. - This must have previously been captured by calling from the running thread itself. - - - - Schedule a thread pool thread to check on the aborting thread in case it's in a message pump native blocking wait - - - - - Captures the current thread's native id. If provided to later, allows the thread to be killed if it's in a message pump native blocking wait. - - - - - Sends a message to the thread to dislodge it from native code and allow a return to managed code, where a ThreadAbortException can be generated. - The message is meaningless (WM_CLOSE without a window handle) but it will end any blocking message wait. - - - - Gets or if the current platform does not support it. - - - Sets if current platform supports it. - Value to set. If the current platform does not support then the only allowed value is . - - - - TypeHelper provides static methods that operate on Types. - - - - - Gets the display name for a Type as used by NUnit. - - The Type for which a display name is needed. - The display name for the Type - - - - Gets the display name for a Type as used by NUnit. - - The Type for which a display name is needed. - The arglist provided. - The display name for the Type - - - - Returns the best fit for a common type to be used in - matching actual arguments to a methods Type parameters. - - - - - Determines whether the specified type is numeric. - - The type to be examined. - - if the specified type is numeric; otherwise, . - - - - - Convert an argument list to the required parameter types. - Currently, only widening numeric conversions are performed. - - An array of args to be converted - A ParameterInfo[] whose types will be used as targets - - - - Determines whether this instance can deduce type args for a generic type from the supplied arguments. - - The type to be examined. - The arglist. - The type args to be used. - - if this the provided args give sufficient information to determine the type args to be used; otherwise, . - - - - - Return the interfaces implemented by a Type. - - The Type to be examined. - An array of Types for the interfaces. - - - - Return whether or not the given type is a ValueTuple. - - Type. - Whether or not the given type is a ValueTuple. - - - - Return whether or not the given type is a Tuple. - - Type. - Whether or not the given type is a Tuple. - - - - Determines whether the cast to the given type would succeed. - If is and - can be , the cast succeeds just like the C# language feature. - - The object to cast. - - - - Casts to a value of the given type if possible. - If is and - can be , the cast succeeds just like the C# language feature. - - The object to cast. - The value of the object, if the cast succeeded. - - - - Used for resolving the type difference between objects. - - - - - Gets the shortened type name difference between and . - - The expected object. - The actual object. - Output of the unique type name for the expected object. - Output of the unique type name for actual object. - - - - Gets the shortened type name difference between and . - - The expected object . - The actual object . - Output of the unique type name for the expected object. - Output of the unique type name for actual object. - - - - Obtain the shortened generic template parameters of the given and , - if they are generic. - - The expected . - The actual . - Shortened generic parameters of the expected . - Shortened generic parameters of the actual . - - - - Obtain a shortened name of the given . - - - - - Shorten the given names by only including the relevant differing namespaces/types, if they differ. - - The expected . - The actual . - The shortened expected name. - The shortened actual name. - - - - Returns whether or not the is generic. - - - - - Returns the fully qualified generic name of a given . - - - - - Reconstruct a generic type name using the provided generic type name, and a - of the template parameters. - - The name of the generic type, including the number of template parameters expected. - A of names of the template parameters of the provided generic type. - - - - Obtain the shortened generic names of the given expected and actual s. - - The expected . - The actual . - The shortened expected generic name. - The shortened actual generic name. - - - - The TypeWrapper class wraps a Type so it may be used in - a platform-independent manner. - - - - - Construct a TypeWrapper for a specified Type. - - - - - Gets the underlying Type on which this TypeWrapper is based. - - - - - Gets the base type of this type as an ITypeInfo - - - - - Gets the Name of the Type - - - - - Gets the FullName of the Type - - - - - Gets the assembly in which the type is declared - - - - - Gets the namespace of the Type - - - - - Gets a value indicating whether the type is abstract. - - - - - Gets a value indicating whether the Type is a generic Type - - - - - Returns true if the Type wrapped is T - - - - - Gets a value indicating whether the Type has generic parameters that have not been replaced by specific Types. - - - - - Gets a value indicating whether the Type is a generic Type definition - - - - - Gets a value indicating whether the type is sealed. - - - - - Gets a value indicating whether this type represents a static class. - - - - - Get the display name for this type - - - - - Get the display name for an object of this type, constructed with the specified args. - - - - - Returns a new ITypeInfo representing an instance of this generic Type using the supplied Type arguments - - - - - Returns a Type representing a generic type definition from which this Type can be constructed. - - - - - Returns an array of custom attributes of the specified type applied to this type - - - - - Returns a value indicating whether the type has an attribute of the specified type. - - - - - - - - Returns a flag indicating whether this type has a method with an attribute of the specified type. - - - - - - - Returns an array of IMethodInfos for methods of this Type - that match the specified flags. - - - - - Gets the public constructor taking the specified argument Types - - - - - Returns a value indicating whether this Type has a public constructor taking the specified argument Types. - - - - - Construct an object of this Type, using the specified arguments. - - - - - Override ToString() so that error messages in NUnit's own tests make sense - - - - - Returns all methods declared by this type that have the specified attribute, optionally - including base classes. Methods from a base class are always returned before methods from a class that - inherits from it. - - Specifies whether to search the fixture type inheritance chain. - - - - Encapsulates the ability to increment a value by an amount which may be of a different type. - - - - - Creates a from the specified value if the current instance is able to - use it to increment the on values which it operates. If the creation fails, - is thrown. - - - - - - Creates a from the specified value if the current instance is able to - use it to increment values on which it operates. A return value indicates - whether the creation succeeded. - - - - - Provides a convenient shorthand when is - and the default value of represents zero. - - - - - Initializes a new instance of the class. - - The amount by which to increment each time this step is applied. - - Must increment the given value and return the result. - If the result is outside the range representable by , - must throw . If the result does not change due to lack - of precision representable by , must throw . - - - - - Increments the given value and returns the result. - If the result is outside the range representable by , - throws . If the result does not change due to lack - of precision representable by , throws . - - - - - - - Encapsulates the ability to increment a value by an amount - which may be of a different type. - - - - - Increments the given value and returns the result. - If the result is outside the range representable by , - throws . If the result does not change due to lack - of precision representable by , throws . - - - - - - - Creates a from the specified value if the current instance is able to - use it to increment values of type . If the creation fails, - is thrown. - - - - - - Creates a from the specified value if the current instance is able to - use it to increment values of type . A return value indicates - whether the creation succeeded. - - - - - The IgnoredTestCaseData class represents a ignored TestCaseData. It adds - the ability to set a date until which the test will be ignored. - - - - - The previous RunState - - - - - Set the date that the test is being ignored until - - The date that the test is being ignored until - A modified TestCaseData. - - - - Helper class with properties and methods that supply - a number of constraints used in Asserts. - - - - - Returns a ConstraintExpression that negates any - following constraint. - - - - - Returns a ConstraintExpression, which will apply - the following constraint to all members of a collection, - succeeding if all of them succeed. - - - - - Returns a constraint that tests for null - - - - - Returns a constraint that tests for True - - - - - Returns a constraint that tests for False - - - - - Returns a constraint that tests for a positive value - - - - - Returns a constraint that tests for a negative value - - - - - Returns a constraint that tests for equality with zero - - - - - Returns a constraint that tests for NaN - - - - - Returns a constraint that tests for empty - - - - - Returns a constraint that tests whether a collection - contains all unique items. - - - - - Returns a constraint that tests whether an object graph is serializable in binary format. - - - - - Returns a constraint that tests whether an object graph is serializable in XML format. - - - - - Returns a constraint that tests two items for equality - - - - - Returns a constraint that tests that two references are the same object - - - - - Returns a constraint that tests whether the - actual value is greater than the supplied argument - - - - - Returns a constraint that tests whether the - actual value is greater than or equal to the supplied argument - - - - - Returns a constraint that tests whether the - actual value is greater than or equal to the supplied argument - - - - - Returns a constraint that tests whether the - actual value is less than the supplied argument - - - - - Returns a constraint that tests whether the - actual value is less than or equal to the supplied argument - - - - - Returns a constraint that tests whether the - actual value is less than or equal to the supplied argument - - - - - Returns a constraint that tests whether the actual - value is of the exact type supplied as an argument. - - - - - Returns a constraint that tests whether the actual - value is of the exact type supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is of the type supplied as an argument or a derived type. - - - - - Returns a constraint that tests whether the actual value - is of the type supplied as an argument or a derived type. - - - - - Returns a constraint that tests whether the actual value - is assignable from the type supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is assignable from the type supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is assignable to the type supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is assignable to the type supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is a collection containing the same elements as the - collection supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is a subset of the collection supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is a superset of the collection supplied as an argument. - - - - - Returns a constraint that tests whether a collection is ordered - - - - - Returns a constraint that tests whether the path provided - is the same as an expected path after canonicalization. - - - - - Returns a constraint that tests whether the path provided - is a subpath of the expected path after canonicalization. - - - - - Returns a constraint that tests whether the path provided - is the same path or under an expected path after canonicalization. - - - - - Returns a constraint that tests whether the actual value falls - inclusively within a specified range. - - Inclusive beginning of the range. - Inclusive end of the range. - - - - - Returns a constraint that tests if an item is equal to any of parameters - - Expected values - - - - When implemented by an attribute, this interface implemented to provide actions to execute before and after tests. - - - - - Executed before each test is run - - The test that is going to be run. - - - - Executed after each test is run - - The test that has just been run. - - - - Provides the target for the action attribute - - The target for the action attribute - - - - The Iz class is a synonym for Is intended for use in VB, - which regards Is as a keyword. - - - - - The List class is a helper class with properties and methods - that supply a number of constraints used with lists and collections. - - - - - List.Map returns a ListMapper, which can be used to map - the original collection to another collection. - - - - - - - ListMapper is used to transform a collection used as an actual argument - producing another collection to be used in the assertion. - - - - - Construct a ListMapper based on a collection - - The collection to be transformed - - - - Produces a collection containing all the values of a property - - The collection of property values - - - - - Basic Asserts on strings. - - - - - DO NOT USE! Use StringAssert.AreEqualIgnoringCase(...) or Assert.AreEqual(...) instead. - The Equals method throws an InvalidOperationException. This is done - to make sure there is no mistake by calling this function. - - - - - - - DO NOT USE! - The ReferenceEquals method throws an InvalidOperationException. This is done - to make sure there is no mistake by calling this function. - - - - - - - Asserts that a string is found within another string. - - The expected string - The string to be examined - The message to display in case of failure - Arguments used in formatting the message - - - - Asserts that a string is found within another string. - - The expected string - The string to be examined - - - - Asserts that a string is not found within another string. - - The expected string - The string to be examined - The message to display in case of failure - Arguments used in formatting the message - - - - Asserts that a string is found within another string. - - The expected string - The string to be examined - - - - Asserts that a string starts with another string. - - The expected string - The string to be examined - The message to display in case of failure - Arguments used in formatting the message - - - - Asserts that a string starts with another string. - - The expected string - The string to be examined - - - - Asserts that a string does not start with another string. - - The expected string - The string to be examined - The message to display in case of failure - Arguments used in formatting the message - - - - Asserts that a string does not start with another string. - - The expected string - The string to be examined - - - - Asserts that a string ends with another string. - - The expected string - The string to be examined - The message to display in case of failure - Arguments used in formatting the message - - - - Asserts that a string ends with another string. - - The expected string - The string to be examined - - - - Asserts that a string does not end with another string. - - The expected string - The string to be examined - The message to display in case of failure - Arguments used in formatting the message - - - - Asserts that a string does not end with another string. - - The expected string - The string to be examined - - - - Asserts that two strings are equal, without regard to case. - - The expected string - The actual string - The message to display in case of failure - Arguments used in formatting the message - - - - Asserts that two strings are equal, without regard to case. - - The expected string - The actual string - - - - Asserts that two strings are not equal, without regard to case. - - The expected string - The actual string - The message to display in case of failure - Arguments used in formatting the message - - - - Asserts that two strings are not equal, without regard to case. - - The expected string - The actual string - - - - Asserts that a string matches an expected regular expression pattern. - - The regex pattern to be matched - The actual string - The message to display in case of failure - Arguments used in formatting the message - - - - Asserts that a string matches an expected regular expression pattern. - - The regex pattern to be matched - The actual string - - - - Asserts that a string does not match an expected regular expression pattern. - - The regex pattern to be used - The actual string - The message to display in case of failure - Arguments used in formatting the message - - - - Asserts that a string does not match an expected regular expression pattern. - - The regex pattern to be used - The actual string - - - - The TestCaseData class represents a set of arguments - and other parameter info to be used for a parameterized - test case. It is derived from TestCaseParameters and adds a - fluent syntax for use in initializing the test case. - - - - - Initializes a new instance of the class. - - The arguments. - - - - Initializes a new instance of the class. - - The argument. - - - - Initializes a new instance of the class. - - The first argument. - The second argument. - - - - Initializes a new instance of the class. - - The first argument. - The second argument. - The third argument. - - - - Sets the expected result for the test - - The expected result - A modified TestCaseData - - - - Sets the name of the test case - - The modified TestCaseData instance - - - - Sets the list of display names to use as the parameters in the test name. - - - - - Sets the description for the test case - being constructed. - - The description. - The modified TestCaseData instance. - - - - Applies a category to the test - - - - - - - Applies a named property to the test - - - - - - - - Applies a named property to the test - - - - - - - - Applies a named property to the test - - - - - - - - Marks the test case as explicit. - - - - - Marks the test case as explicit, specifying the reason. - - - - - Ignores this TestCase, specifying the reason. - - The reason. - - - - - Provide the context information of the current test. - This is an adapter for the internal ExecutionContext - class, hiding the internals from the user test. - - - - - Construct a TestContext for an ExecutionContext - - The ExecutionContext to adapt - - - - Get the current test context. This is created - as needed. The user may save the context for - use within a test, but it should not be used - outside the test for which it is created. - - - - - Gets a TextWriter that will send output to the current test result. - - - - - Gets a TextWriter that will send output directly to Console.Error - - - - - Gets a TextWriter for use in displaying immediate progress messages - - - - - TestParameters object holds parameters for the test run, if any are specified - - - - - Static DefaultWorkDirectory is now used as the source - of the public instance property WorkDirectory. This is - a bit odd but necessary to avoid breaking user tests. - - - - - Get a representation of the current test. - - - - - Gets a Representation of the TestResult for the current test. - - - - - Gets the unique name of the Worker that is executing this test. - - - - - Gets the directory containing the current test assembly. - - - - - Gets the directory to be used for outputting files created - by this test run. - - - - - Gets the random generator. - - - The random generator. - - - - - Gets the number of assertions executed - up to this point in the test. - - - - - Get the number of times the current Test has been repeated - when using the or . - - - - Write the string representation of a boolean value to the current result - - - Write a char to the current result - - - Write a char array to the current result - - - Write the string representation of a double to the current result - - - Write the string representation of an Int32 value to the current result - - - Write the string representation of an Int64 value to the current result - - - Write the string representation of a decimal value to the current result - - - Write the string representation of an object to the current result - - - Write the string representation of a Single value to the current result - - - Write a string to the current result - - - Write the string representation of a UInt32 value to the current result - - - Write the string representation of a UInt64 value to the current result - - - Write a formatted string to the current result - - - Write a formatted string to the current result - - - Write a formatted string to the current result - - - Write a formatted string to the current result - - - Write a line terminator to the current result - - - Write the string representation of a boolean value to the current result followed by a line terminator - - - Write a char to the current result followed by a line terminator - - - Write a char array to the current result followed by a line terminator - - - Write the string representation of a double to the current result followed by a line terminator - - - Write the string representation of an Int32 value to the current result followed by a line terminator - - - Write the string representation of an Int64 value to the current result followed by a line terminator - - - Write the string representation of a decimal value to the current result followed by a line terminator - - - Write the string representation of an object to the current result followed by a line terminator - - - Write the string representation of a Single value to the current result followed by a line terminator - - - Write a string to the current result followed by a line terminator - - - Write the string representation of a UInt32 value to the current result followed by a line terminator - - - Write the string representation of a UInt64 value to the current result followed by a line terminator - - - Write a formatted string to the current result followed by a line terminator - - - Write a formatted string to the current result followed by a line terminator - - - Write a formatted string to the current result followed by a line terminator - - - Write a formatted string to the current result followed by a line terminator - - - - This method adds the a new ValueFormatterFactory to the - chain of responsibility used for formatting values in messages. - The scope of the change is the current TestContext. - - The factory delegate - - - - Attach a file to the current test result - - Relative or absolute file path to attachment - Optional description of attachment - - - - This method provides a simplified way to add a ValueFormatter - delegate to the chain of responsibility, creating the factory - delegate internally. It is useful when the Type of the object - is the only criterion for selection of the formatter, since - it can be used without getting involved with a compound function. - - The type supported by this formatter - The ValueFormatter delegate - - - - TestAdapter adapts a Test for consumption by - the user test code. - - - - - Construct a TestAdapter for a Test - - The Test to be adapted - - - - Gets the unique Id of a test - - - - - The name of the test, which may or may not be - the same as the method name. - - - - - The name of the method representing the test. - - - - - The FullName of the test - - - - - The ClassName of the test - - - - - A shallow copy of the properties of the test. - - - - - The arguments to use in creating the test or empty array if none are required. - - - - - ResultAdapter adapts a TestResult for consumption by - the user test code. - - - - - Construct a ResultAdapter for a TestResult - - The TestResult to be adapted - - - - Gets a ResultState representing the outcome of the test - up to this point in its execution. - - - - - Gets a list of the assertion results generated - up to this point in the test. - - - - - Gets the message associated with a test - failure or with not running the test - - - - - Gets any stack trace associated with an - error or failure. - - - - - Gets the number of test cases that failed - when running the test and all its children. - - - - - Gets the number of test cases that had warnings - when running the test and all its children. - - - - - Gets the number of test cases that passed - when running the test and all its children. - - - - - Gets the number of test cases that were skipped - when running the test and all its children. - - - - - Gets the number of test cases that were inconclusive - when running the test and all its children. - - - - - adapts an - for consumption by the user. - - - - - Construct a from a source - . - - - - - Get the first property with the given , if it can be found, otherwise - returns null. - - - - - Indicates whether is found in this - . - - - - - Returns a collection of properties - with the given . - - - - - Returns the count of elements with the given . - - - - - Returns a collection of the property keys. - - - - - The TestFixtureData class represents a set of arguments - and other parameter info to be used for a parameterized - fixture. It is derived from TestFixtureParameters and adds a - fluent syntax for use in initializing the fixture. - - - - - Initializes a new instance of the class. - - The arguments. - - - - Initializes a new instance of the class. - - The argument. - - - - Initializes a new instance of the class. - - The first argument. - The second argument. - - - - Initializes a new instance of the class. - - The first argument. - The second argument. - The third argument. - - - - Sets the name of the test fixture - - The modified TestFixtureData instance - - - - Sets the list of display names to use as the parameters in the test name. - - - - - Marks the test fixture as explicit. - - - - - Marks the test fixture as explicit, specifying the reason. - - - - - Ignores this TestFixture, specifying the reason. - - The reason. - - - - - TestParameters class holds any named parameters supplied to the test run - - - - - Gets the number of test parameters - - - - - Gets a collection of the test parameter names - - - - - Gets a flag indicating whether a parameter with the specified name exists. - - Name of the parameter - True if it exists, otherwise false - - - - Indexer provides access to the internal dictionary - - Name of the parameter - Value of the parameter or null if not present - - - - Get method is a simple alternative to the indexer - - Name of the parameter - Value of the parameter or null if not present - - - - Get the value of a parameter or a default string - - Name of the parameter - Default value of the parameter - Value of the parameter or default value if not present - - - - Get the value of a parameter or return a default - - The return Type - Name of the parameter - Default value of the parameter - Value of the parameter or default value if not present - - - - Adds a parameter to the list - - Name of the parameter - Value of the parameter - - - - Helper class with properties and methods that supply - constraints that operate on exceptions. - - - - - Creates a constraint specifying an expected exception - - - - - Creates a constraint specifying an exception with a given InnerException - - - - - Creates a constraint specifying an expected TargetInvocationException - - - - - Creates a constraint specifying an expected ArgumentException - - - - - Creates a constraint specifying an expected ArgumentNullException - - - - - Creates a constraint specifying an expected InvalidOperationException - - - - - Creates a constraint specifying that no exception is thrown - - - - - Creates a constraint specifying the exact type of exception expected - - - - - Creates a constraint specifying the exact type of exception expected - - - - - Creates a constraint specifying the type of exception expected - - - - - Creates a constraint specifying the type of exception expected - - - - - Provides static methods to express conditions - that must be met for the test to succeed. If - any test fails, a warning is issued. - - - - - DO NOT USE! - The Equals method throws an InvalidOperationException. This is done - to make sure there is no mistake by calling this function. - - The left object. - The right object. - Not applicable - - - - DO NOT USE! - The ReferenceEquals method throws an InvalidOperationException. This is done - to make sure there is no mistake by calling this function. - - The left object. - The right object. - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and issuing a warning on failure. - - The Type being compared. - An ActualValueDelegate returning the value to be tested - A Constraint expression to be applied - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and issuing a warning on failure. - - The Type being compared. - An ActualValueDelegate returning the value to be tested - A Constraint expression to be applied - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and issuing a warning on failure. - - The Type being compared. - An ActualValueDelegate returning the value to be tested - A Constraint expression to be applied - A function to build the message included with the Exception - - - - Asserts that a condition is true. If the condition is false, a warning is issued. - - The evaluated condition - The message to display if the condition is false - Arguments to be used in formatting the message - - - - Asserts that a condition is true. If the condition is false, a warning is issued. - - The evaluated condition - - - - Asserts that a condition is true. If the condition is false, a warning is issued. - - The evaluated condition - A function to build the message included with the Exception - - - - Asserts that a condition is true. If the condition is false, a warning is issued. - - A lambda that returns a Boolean - The message to display if the condition is false - Arguments to be used in formatting the message - - - - Asserts that a condition is true. If the condition is false, a warning is issued. - - A lambda that returns a Boolean - - - - Asserts that a condition is true. If the condition is false, a warning is issued. - - A lambda that returns a Boolean - A function to build the message included with the Exception - - - - Asserts that the code represented by a delegate throws an exception - that satisfies the constraint provided. - - A TestDelegate to be executed - A Constraint expression to be applied - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and issuing a warning on failure. - - The Type being compared. - The actual value to test - A Constraint expression to be applied - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and issuing a warning on failure. - - The Type being compared. - The actual value to test - A Constraint expression to be applied - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and issuing a warning on failure. - - The Type being compared. - The actual value to test - A Constraint expression to be applied - A function to build the message included with the Exception - - - - Apply a constraint to an actual value, succeeding if the constraint - fails and issuing a warning on success. - - The Type being compared. - An ActualValueDelegate returning the value to be tested - A Constraint expression to be applied - - - - Apply a constraint to an actual value, succeeding if the constraint - fails and issuing a warning on success. - - The Type being compared. - An ActualValueDelegate returning the value to be tested - A Constraint expression to be applied - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Apply a constraint to an actual value, succeeding if the constraint - fails and issuing a warning on failure. - - The Type being compared. - An ActualValueDelegate returning the value to be tested - A Constraint expression to be applied - A function to build the message included with the Exception - - - - Asserts that a condition is true. If the condition is false, a warning is issued. - - The evaluated condition - The message to display if the condition is false - Arguments to be used in formatting the message - - - - Asserts that a condition is true. If the condition is false, a warning is issued. - - The evaluated condition - - - - Asserts that a condition is true. If the condition is false, a warning is issued. - - The evaluated condition - A function to build the message included with the Exception - - - - Asserts that a condition is false. If the condition is true a warning is issued. - - A lambda that returns a Boolean - The message to display if the condition is true - Arguments to be used in formatting the message - - - - Asserts that a condition is false. If the condition is true a warning is issued. - - A lambda that returns a Boolean - - - - Asserts that a condition is false. If the condition is true a warning is issued. - - A lambda that returns a Boolean - A function to build the message included with the Exception - - - - Apply a constraint to an actual value, succeeding if the constraint - fails and issuing a warning if it succeeds. - - The Type being compared. - The actual value to test - A Constraint expression to be applied - - - - Apply a constraint to an actual value, succeeding if the constraint - fails and issuing a warning if it succeeds. - - The Type being compared. - The actual value to test - A Constraint expression to be applied - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and issuing a warning on failure. - - The Type being compared. - The actual value to test - A Constraint expression to be applied - A function to build the message included with the Exception - - - - FrameworkPackageSettings is a static class containing constant values that - are used as keys in setting up a TestPackage. These values are used in - the framework, and set in the runner. Setting values may be a string, int or bool. - - - - - Flag (bool) indicating whether tests are being debugged. - - - - - Flag (bool) indicating whether to pause execution of tests to allow - the user to attach a debugger. - - - - - The InternalTraceLevel for this run. Values are: "Default", - "Off", "Error", "Warning", "Info", "Debug", "Verbose". - Default is "Off". "Debug" and "Verbose" are synonyms. - - - - - Full path of the directory to be used for work and result files. - This path is provided to tests by the framework TestContext. - - - - - Integer value in milliseconds for the default timeout value - for test cases. If not specified, there is no timeout except - as specified by attributes on the tests themselves. - - - - - A string representing the default thread culture to be used for - running tests. String should be a valid BCP-47 culture name. If - culture is unset, tests run on the machine's default culture. - - - - - A string representing the default thread UI culture to be used for - running tests. String should be a valid BCP-47 culture name. If - culture is unset, tests run on the machine's default culture. - - - - - A TextWriter to which the internal trace will be sent. - - - - - A list of tests to be loaded. - - - - - The number of test threads to run for the assembly. If set to - 1, a single queue is used. If set to 0, tests are executed - directly, without queuing. - - - - - The random seed to be used for this assembly. If specified - as the value reported from a prior run, the framework should - generate identical random values for tests as were used for - that run, provided that no change has been made to the test - assembly. Default is a random value itself. - - - - - If true, execution stops after the first error or failure. - - - - - If true, use of the event queue is suppressed and test events are synchronous. - - - - - The default naming pattern used in generating test names - - - - - Parameters to be passed on to the tests, serialized to a single string which needs parsing. Obsoleted by ; kept for backward compatibility. - - - - - Parameters to be passed on to the tests, already parsed into an IDictionary<string, string>. Replaces . - - - - - If true, the tests will run on the same thread as the NUnit runner itself - - - - - Provides a platform-independent methods for getting attributes - for use by AttributeConstraint and AttributeExistsConstraint. - - - - - Gets the custom attributes from the given object. - - The actual. - Type of the attribute. - if set to [inherit]. - A list of the given attribute on the given object. - - - - A MarshalByRefObject that lives forever - - - - - Obtains a lifetime service object to control the lifetime policy for this instance. - - - - - Provides NUnit specific extensions to aid in Reflection - across multiple frameworks - - - This version of the class supplies GetTypeInfo() on platforms - that don't support it. - - - - - GetTypeInfo gives access to most of the Type information we take for granted - on .NET Core and Windows Runtime. Rather than #ifdef different code for different - platforms, it is easiest to just code all platforms as if they worked this way, - thus the simple passthrough. - - - - - - - See . - - - - - Extensions for Assembly that are not available in pre-4.5 .NET releases - - - - - An easy way to get a single custom attribute from an assembly - - The attribute Type - The assembly - An attribute of Type T - - - - Extensions for MethodInfo that are not available in pre-4.5 .NET releases - - - - - See . - - - - - See . - - - - Specifies that null is allowed as an input even if the corresponding type disallows it. - - - Specifies that null is disallowed as an input even if the corresponding type allows it. - - - Specifies that an output may be null even if the corresponding type disallows it. - - - Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns. - - - Specifies that when a method returns , the parameter may be null even if the corresponding type disallows it. - - - Initializes the attribute with the specified return value condition. - - The return value condition. If the method returns this value, the associated parameter may be null. - - - - Gets the return value condition. - - - Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. - - - Initializes the attribute with the specified return value condition. - - The return value condition. If the method returns this value, the associated parameter will not be null. - - - - Gets the return value condition. - - - Specifies that the output will be non-null if the named parameter is non-null. - - - Initializes the attribute with the associated parameter name. - - The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null. - - - - Gets the associated parameter name. - - - Applied to a method that will never return under any circumstance. - - - Specifies that the method will not return if the associated Boolean parameter is passed the specified value. - - - Initializes the attribute with the specified parameter value. - - The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to - the associated parameter matches this value. - - - - Gets the condition parameter value. - - - diff --git a/src/packages/NUnit.3.13.2/lib/net45/nunit.framework.xml b/src/packages/NUnit.3.13.2/lib/net45/nunit.framework.xml deleted file mode 100644 index 4e1a48b..0000000 --- a/src/packages/NUnit.3.13.2/lib/net45/nunit.framework.xml +++ /dev/null @@ -1,21233 +0,0 @@ - - - - nunit.framework - - - - - The different targets a test action attribute can be applied to - - - - - Default target, which is determined by where the action attribute is attached - - - - - Target a individual test case - - - - - Target a suite of test cases - - - - - DefaultTestAssemblyBuilder loads a single assembly and builds a TestSuite - containing test fixtures present in the assembly. - - - - - The default suite builder used by the test assembly builder. - - - - - Initializes a new instance of the class. - - - - - Build a suite of tests from a provided assembly - - The assembly from which tests are to be built - A dictionary of options to use in building the suite - - A TestSuite containing the tests found in the assembly - - - - - Build a suite of tests given the name or the location of an assembly - - The name or the location of the assembly. - A dictionary of options to use in building the suite - - A TestSuite containing the tests found in the assembly - - - - - FrameworkController provides a facade for use in loading, browsing - and running tests without requiring a reference to the NUnit - framework. All calls are encapsulated in constructors for - this class and its nested classes, which only require the - types of the Common Type System as arguments. - - The controller supports four actions: Load, Explore, Count and Run. - They are intended to be called by a driver, which should allow for - proper sequencing of calls. Load must be called before any of the - other actions. The driver may support other actions, such as - reload on run, by combining these calls. - - - - - Construct a FrameworkController using the default builder and runner. - - The AssemblyName or path to the test assembly - A prefix used for all test ids created under this controller. - A Dictionary of settings to use in loading and running the tests - - - - Construct a FrameworkController using the default builder and runner. - - The test assembly - A prefix used for all test ids created under this controller. - A Dictionary of settings to use in loading and running the tests - - - - Construct a FrameworkController, specifying the types to be used - for the runner and builder. This constructor is provided for - purposes of development. - - The full AssemblyName or the path to the test assembly - A prefix used for all test ids created under this controller. - A Dictionary of settings to use in loading and running the tests - The Type of the test runner - The Type of the test builder - - - - Construct a FrameworkController, specifying the types to be used - for the runner and builder. This constructor is provided for - purposes of development. - - The test assembly - A prefix used for all test ids created under this controller. - A Dictionary of settings to use in loading and running the tests - The Type of the test runner - The Type of the test builder - - - - Gets the ITestAssemblyBuilder used by this controller instance. - - The builder. - - - - Gets the ITestAssemblyRunner used by this controller instance. - - The runner. - - - - Gets the AssemblyName or the path for which this FrameworkController was created - - - - - Gets the Assembly for which this - - - - - Gets a dictionary of settings for the FrameworkController - - - - - Loads the tests in the assembly - - - - - - Returns info about the tests in an assembly - - A string containing the XML representation of the filter to use - The XML result of exploring the tests - - - - Runs the tests in an assembly - - A string containing the XML representation of the filter to use - The XML result of the test run - - - - Runs the tests in an assembly synchronously reporting back the test results through the callback - or through the return value - - The callback that receives the test results - A string containing the XML representation of the filter to use - The XML result of the test run - - - - Runs the tests in an assembly asynchronously reporting back the test results through the callback - - The callback that receives the test results - A string containing the XML representation of the filter to use - - - - Stops the test run - - True to force the stop, false for a cooperative stop - - - - Counts the number of test cases in the loaded TestSuite - - A string containing the XML representation of the filter to use - The number of tests - - - - Inserts the environment and settings elements - - Target node - The updated target node - - - - Inserts environment element - - Target node - The new node - - - - Inserts settings element - - Target node - Settings dictionary - The new node - - - - FrameworkControllerAction is the base class for all actions - performed against a FrameworkController. - - - - - LoadTestsAction loads a test into the FrameworkController - - - - - LoadTestsAction loads the tests in an assembly. - - The controller. - The callback handler. - - - - ExploreTestsAction returns info about the tests in an assembly - - - - - Initializes a new instance of the class. - - The controller for which this action is being performed. - Filter used to control which tests are included (NYI) - The callback handler. - - - - CountTestsAction counts the number of test cases in the loaded TestSuite - held by the FrameworkController. - - - - - Construct a CountsTestAction and perform the count of test cases. - - A FrameworkController holding the TestSuite whose cases are to be counted - A string containing the XML representation of the filter to use - A callback handler used to report results - - - - RunTestsAction runs the loaded TestSuite held by the FrameworkController. - - - - - Construct a RunTestsAction and run all tests in the loaded TestSuite. - - A FrameworkController holding the TestSuite to run - A string containing the XML representation of the filter to use - A callback handler used to report results - - - - RunAsyncAction initiates an asynchronous test run, returning immediately - - - - - Construct a RunAsyncAction and run all tests in the loaded TestSuite. - - A FrameworkController holding the TestSuite to run - A string containing the XML representation of the filter to use - A callback handler used to report results - - - - StopRunAction stops an ongoing run. - - - - - Construct a StopRunAction and stop any ongoing run. If no - run is in process, no error is raised. - - The FrameworkController for which a run is to be stopped. - True the stop should be forced, false for a cooperative stop. - >A callback handler used to report results - A forced stop will cause threads and processes to be killed as needed. - - - - The ITestAssemblyBuilder interface is implemented by a class - that is able to build a suite of tests given an assembly or - an assembly filename. - - - - - Build a suite of tests from a provided assembly - - The assembly from which tests are to be built - A dictionary of options to use in building the suite - A TestSuite containing the tests found in the assembly - - - - Build a suite of tests given the filename of an assembly - - The filename of the assembly from which tests are to be built - A dictionary of options to use in building the suite - A TestSuite containing the tests found in the assembly - - - - The ITestAssemblyRunner interface is implemented by classes - that are able to execute a suite of tests loaded - from an assembly. - - - - - Gets the tree of loaded tests, or null if - no tests have been loaded. - - - - - Gets the tree of test results, if the test - run is completed, otherwise null. - - - - - Indicates whether a test has been loaded - - - - - Indicates whether a test is currently running - - - - - Indicates whether a test run is complete - - - - - Loads the tests found in an Assembly, returning an - indication of whether or not the load succeeded. - - File name of the assembly to load - Dictionary of options to use in loading the test - An ITest representing the loaded tests - - - - Loads the tests found in an Assembly, returning an - indication of whether or not the load succeeded. - - The assembly to load - Dictionary of options to use in loading the test - An ITest representing the loaded tests - - - - Count Test Cases using a filter - - The filter to apply - The number of test cases found - - - - Explore the test cases using a filter - - The filter to apply - Test Assembly with test cases that matches the filter - - - - Run selected tests and return a test result. The test is run synchronously, - and the listener interface is notified as it progresses. - - Interface to receive ITestListener notifications. - A test filter used to select tests to be run - - - - Run selected tests asynchronously, notifying the listener interface as it progresses. - - Interface to receive EventListener notifications. - A test filter used to select tests to be run - - - - Wait for the ongoing run to complete. - - Time to wait in milliseconds - True if the run completed, otherwise false - - - - Signal any test run that is in process to stop. Return without error if no test is running. - - If true, kill any test-running threads - - - - Implementation of ITestAssemblyRunner - - - - - Initializes a new instance of the class. - - The builder. - - - - Gets the default level of parallel execution (worker threads) - - - - - The tree of tests that was loaded by the builder - - - - - The test result, if a run has completed - - - - - Indicates whether a test is loaded - - - - - Indicates whether a test is running - - - - - Indicates whether a test run is complete - - - - - Our settings, specified when loading the assembly - - - - - The top level WorkItem created for the assembly as a whole - - - - - The TestExecutionContext for the top level WorkItem - - - - - Loads the tests found in an Assembly - - File name or path of the assembly to load - Dictionary of option settings for loading the assembly - A Test Assembly containing all loaded tests - - - - Loads the tests found in an Assembly - - The assembly to load - Dictionary of option settings for loading the assembly - A Test Assembly containing all loaded tests - - - - Count Test Cases using a filter - - The filter to apply - The number of test cases found - - - - Explore the test cases using a filter - - The filter to apply - Test Assembly with test cases that matches the filter - - - - Run selected tests and return a test result. The test is run synchronously, - and the listener interface is notified as it progresses. - - Interface to receive EventListener notifications. - A test filter used to select tests to be run - The test results from the run - - - - Run selected tests asynchronously, notifying the listener interface as it progresses. - - Interface to receive EventListener notifications. - A test filter used to select tests to be run - - RunAsync is a template method, calling various abstract and - virtual methods to be overridden by derived classes. - - - - - Wait for the ongoing run to complete. - - Time to wait in milliseconds - True if the run completed, otherwise false - - - - Signal any test run that is in process to stop. Return without error if no test is running. - - If true, kill any tests that are currently running - - - - Initiate the test run. - - - - - Create the initial TestExecutionContext used to run tests - - The ITestListener specified in the RunAsync call - - - - Handle the Completed event for the top level work item - - - - - Executes the action within an - which ensures the is cleaned up - suitably at the end of the test run. This method only has an effect running - the full .NET Framework. - - - - - The Assert class contains a collection of static methods that - implement the most common assertions used in NUnit. - - - The Assert class contains a collection of static methods that - implement the most common assertions used in NUnit. - - - - - Verifies that the first int is greater than the second - int. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first int is greater than the second - int. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - - - - Verifies that the first value is greater than the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is greater than the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - - - - Verifies that the first value is greater than the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is greater than the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - - - - Verifies that the first value is greater than the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is greater than the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - - - - Verifies that the first value is greater than the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is greater than the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - - - - Verifies that the first value is greater than the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is greater than the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - - - - Verifies that the first value is greater than the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is greater than the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - - - - Verifies that the first value is greater than the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is greater than the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - - - - Verifies that the first value is less than the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is less than the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - - - - Verifies that the first value is less than the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is less than the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - - - - Verifies that the first value is less than the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is less than the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - - - - Verifies that the first value is less than the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is less than the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - - - - Verifies that the first value is less than the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is less than the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - - - - Verifies that the first value is less than the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is less than the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - - - - Verifies that the first value is less than the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is less than the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - - - - Verifies that the first value is less than the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is less than the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - - - - Verifies that the first value is greater than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is greater than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - - - - Verifies that the first value is greater than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is greater than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - - - - Verifies that the first value is greater than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is greater than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - - - - Verifies that the first value is greater than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is greater than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - - - - Verifies that the first value is greater than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is greater than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - - - - Verifies that the first value is greater than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is greater than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - - - - Verifies that the first value is greater than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is greater than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - - - - Verifies that the first value is greater than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is greater than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - - - - Verifies that the first value is less than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is less than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - - - - Verifies that the first value is less than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is less than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - - - - Verifies that the first value is less than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is less than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - - - - Verifies that the first value is less than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is less than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - - - - Verifies that the first value is less than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is less than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - - - - Verifies that the first value is less than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is less than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - - - - Verifies that the first value is less than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is less than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - - - - Verifies that the first value is less than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is less than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - - - - Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. - - The evaluated condition - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. - - The evaluated condition - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. - - The evaluated condition - - - - Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. - - The evaluated condition - - - - Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. - - The evaluated condition - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. - - The evaluated condition - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. - - The evaluated condition - - - - Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. - - The evaluated condition - - - - Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert - block. - - The evaluated condition - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert - block. - - The evaluated condition - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert block. - - The evaluated condition - - - - Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert - block. - - The evaluated condition - - - - Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert - block. - - The evaluated condition - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert - block. - - The evaluated condition - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert - block. - - The evaluated condition - - - - Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert - block. - - The evaluated condition - - - - Verifies that the object that is passed in is not equal to . Returns without throwing an - exception when inside a multiple assert block. - - The object that is to be tested - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the object that is passed in is not equal to . Returns without throwing an - exception when inside a multiple assert block. - - The object that is to be tested - - - - Verifies that the object that is passed in is not equal to . Returns without throwing an - exception when inside a multiple assert block. - - The object that is to be tested - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the object that is passed in is not equal to . Returns without throwing an - exception when inside a multiple assert block. - - The object that is to be tested - - - - Verifies that the object that is passed in is equal to . Returns without throwing an - exception when inside a multiple assert block. - - The object that is to be tested - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the object that is passed in is equal to . Returns without throwing an - exception when inside a multiple assert block. - - The object that is to be tested - - - - Verifies that the object that is passed in is equal to . Returns without throwing an - exception when inside a multiple assert block. - - The object that is to be tested - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the object that is passed in is equal to . Returns without throwing an - exception when inside a multiple assert block. - - The object that is to be tested - - - - Verifies that the double that is passed in is an NaN. Returns without throwing an - exception when inside a multiple assert block. - - The value that is to be tested - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the double that is passed in is an NaN value. Returns without throwing an - exception when inside a multiple assert block. - - The value that is to be tested - - - - Verifies that the double that is passed in is an NaN value. Returns without throwing an - exception when inside a multiple assert block. - - The value that is to be tested - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the double that is passed in is an NaN value. Returns without throwing an - exception when inside a multiple assert block. - - The value that is to be tested - - - - Assert that a string is empty. Returns without throwing an exception when inside a multiple assert block. - - The string to be tested - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Assert that a string is empty. Returns without throwing an exception when inside a multiple assert block. - - The string to be tested - - - - Assert that an array, list or other collection is empty. Returns without throwing an exception when inside a - multiple assert block. - - An array, list or other collection implementing ICollection - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Assert that an array, list or other collection is empty. Returns without throwing an exception when inside a - multiple assert block. - - An array, list or other collection implementing ICollection - - - - Assert that a string is not empty. Returns without throwing an exception when inside a multiple assert - block. - - The string to be tested - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Assert that a string is not empty. Returns without throwing an exception when inside a multiple assert - block. - - The string to be tested - - - - Assert that an array, list or other collection is not empty. Returns without throwing an exception when - inside a multiple assert block. - - An array, list or other collection implementing ICollection - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Assert that an array, list or other collection is not empty. Returns without throwing an exception when - inside a multiple assert block. - - An array, list or other collection implementing ICollection - - - - Asserts that an int is zero. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - - - - Asserts that an int is zero. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an unsigned int is zero. Returns without throwing an exception when inside a multiple assert - block. - - The number to be examined - - - - Asserts that an unsigned int is zero. Returns without throwing an exception when inside a multiple assert - block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a Long is zero. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - - - - Asserts that a Long is zero. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an unsigned Long is zero. Returns without throwing an exception when inside a multiple assert - block. - - The number to be examined - - - - Asserts that an unsigned Long is zero. Returns without throwing an exception when inside a multiple assert - block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a decimal is zero. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - - - - Asserts that a decimal is zero. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a double is zero. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - - - - Asserts that a double is zero. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a float is zero. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - - - - Asserts that a float is zero. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an int is not zero. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - - - - Asserts that an int is not zero. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an unsigned int is not zero. Returns without throwing an exception when inside a multiple - assert block. - - The number to be examined - - - - Asserts that an unsigned int is not zero. Returns without throwing an exception when inside a multiple - assert block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a Long is not zero. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - - - - Asserts that a Long is not zero. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an unsigned Long is not zero. Returns without throwing an exception when inside a multiple - assert block. - - The number to be examined - - - - Asserts that an unsigned Long is not zero. Returns without throwing an exception when inside a multiple - assert block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a decimal is zero. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - - - - Asserts that a decimal is zero. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a double is zero. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - - - - Asserts that a double is zero. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a float is zero. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - - - - Asserts that a float is zero. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an int is positive. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - - - - Asserts that an int is positive. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an unsigned int is positive. Returns without throwing an exception when inside a multiple - assert block. - - The number to be examined - - - - Asserts that an unsigned int is positive. Returns without throwing an exception when inside a multiple - assert block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a Long is positive. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - - - - Asserts that a Long is positive. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an unsigned Long is positive. Returns without throwing an exception when inside a multiple - assert block. - - The number to be examined - - - - Asserts that an unsigned Long is positive. Returns without throwing an exception when inside a multiple - assert block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a decimal is positive. Returns without throwing an exception when inside a multiple assert - block. - - The number to be examined - - - - Asserts that a decimal is positive. Returns without throwing an exception when inside a multiple assert - block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a double is positive. Returns without throwing an exception when inside a multiple assert - block. - - The number to be examined - - - - Asserts that a double is positive. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a float is positive. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - - - - Asserts that a float is positive. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an int is negative. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - - - - Asserts that an int is negative. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an unsigned int is negative. Returns without throwing an exception when inside a multiple - assert block. - - The number to be examined - - - - Asserts that an unsigned int is negative. Returns without throwing an exception when inside a multiple - assert block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a Long is negative. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - - - - Asserts that a Long is negative. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an unsigned Long is negative. Returns without throwing an exception when inside a multiple - assert block. - - The number to be examined - - - - Asserts that an unsigned Long is negative. Returns without throwing an exception when inside a multiple - assert block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a decimal is negative. Returns without throwing an exception when inside a multiple assert - block. - - The number to be examined - - - - Asserts that a decimal is negative. Returns without throwing an exception when inside a multiple assert - block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a double is negative. Returns without throwing an exception when inside a multiple assert - block. - - The number to be examined - - - - Asserts that a double is negative. Returns without throwing an exception when inside a multiple assert - block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a float is negative. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - - - - Asserts that a float is negative. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - DO NOT USE! Use Assert.AreEqual(...) instead. - The Equals method throws an InvalidOperationException. This is done - to make sure there is no mistake by calling this function. - - - - - - - DO NOT USE! - The ReferenceEquals method throws an InvalidOperationException. This is done - to make sure there is no mistake by calling this function. - - - - - - - Throws a with the message and arguments - that are passed in. This allows a test to be cut short, with a result - of success returned to NUnit. - - The message to initialize the with. - Arguments to be used in formatting the message - - - - Throws a with the message and arguments - that are passed in. This allows a test to be cut short, with a result - of success returned to NUnit. - - The message to initialize the with. - - - - Throws a with the message and arguments - that are passed in. This allows a test to be cut short, with a result - of success returned to NUnit. - - - - - Marks the test as failed with the message and arguments that are passed in. Returns without throwing an - exception when inside a multiple assert block. - - The message to initialize the with. - Arguments to be used in formatting the message - - - - Marks the test as failed with the message that is passed in. Returns without throwing an exception when - inside a multiple assert block. - - The message to initialize the with. - - - - Marks the test as failed. Returns without throwing an exception when inside a multiple assert block. - - - - - Issues a warning using the message and arguments provided. - - The message to display. - Arguments to be used in formatting the message - - - - Issues a warning using the message provided. - - The message to display. - - - - Throws an with the message and arguments - that are passed in. This causes the test to be reported as ignored. - - The message to initialize the with. - Arguments to be used in formatting the message - - - - Throws an with the message that is - passed in. This causes the test to be reported as ignored. - - The message to initialize the with. - - - - Throws an . - This causes the test to be reported as ignored. - - - - - Throws an with the message and arguments - that are passed in. This causes the test to be reported as inconclusive. - - The message to initialize the with. - Arguments to be used in formatting the message - - - - Throws an with the message that is - passed in. This causes the test to be reported as inconclusive. - - The message to initialize the with. - - - - Throws an . - This causes the test to be reported as Inconclusive. - - - - - Asserts that an object is contained in a collection. Returns without throwing an exception when inside a - multiple assert block. - - The expected object - The collection to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an object is contained in a collection. Returns without throwing an exception when inside a - multiple assert block. - - The expected object - The collection to be examined - - - - Wraps code containing a series of assertions, which should all - be executed, even if they fail. Failed results are saved and - reported at the end of the code block. - - A TestDelegate to be executed in Multiple Assertion mode. - - - - Wraps code containing a series of assertions, which should all - be executed, even if they fail. Failed results are saved and - reported at the end of the code block. - - A TestDelegate to be executed in Multiple Assertion mode. - - - - If throws, returns "SomeException was thrown by the - Environment.StackTrace property." See also . - - - - - Verifies that two doubles are equal considering a delta. If the expected value is infinity then the delta - value is ignored. Returns without throwing an exception when inside a multiple assert block. - - The expected value - The actual value - The maximum acceptable difference between the the expected and the actual - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that two doubles are equal considering a delta. If the expected value is infinity then the delta - value is ignored. Returns without throwing an exception when inside a multiple assert block. - - The expected value - The actual value - The maximum acceptable difference between the the expected and the actual - - - - Verifies that two doubles are equal considering a delta. If the expected value is infinity then the delta - value is ignored. Returns without throwing an exception when inside a multiple assert block. - - The expected value - The actual value - The maximum acceptable difference between the the expected and the actual - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that two doubles are equal considering a delta. If the expected value is infinity then the delta - value is ignored. Returns without throwing an exception when inside a multiple assert block. - - The expected value - The actual value - The maximum acceptable difference between the the expected and the actual - - - - Verifies that two objects are equal. Two objects are considered equal if both are null, or if both have the - same value. NUnit has special semantics for some object types. Returns without throwing an exception when - inside a multiple assert block. - - The value that is expected - The actual value - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that two objects are equal. Two objects are considered equal if both are null, or if both have the - same value. NUnit has special semantics for some object types. Returns without throwing an exception when - inside a multiple assert block. - - The value that is expected - The actual value - - - - Verifies that two objects are not equal. Two objects are considered equal if both are null, or if both have - the same value. NUnit has special semantics for some object types. Returns without throwing an exception - when inside a multiple assert block. - - The value that is expected - The actual value - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that two objects are not equal. Two objects are considered equal if both are null, or if both have - the same value. NUnit has special semantics for some object types. Returns without throwing an exception - when inside a multiple assert block. - - The value that is expected - The actual value - - - - Asserts that two objects refer to the same object. Returns without throwing an exception when inside a - multiple assert block. - - The expected object - The actual object - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that two objects refer to the same object. Returns without throwing an exception when inside a - multiple assert block. - - The expected object - The actual object - - - - Asserts that two objects do not refer to the same object. Returns without throwing an exception when inside - a multiple assert block. - - The expected object - The actual object - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that two objects do not refer to the same object. Returns without throwing an exception when inside - a multiple assert block. - - The expected object - The actual object - - - - Helper for Assert.AreEqual(double expected, double actual, ...) - allowing code generation to work consistently. - - The expected value - The actual value - The maximum acceptable difference between the - the expected and the actual - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that an async delegate throws a particular exception when called. The returned exception may be - when inside a multiple assert block. - - A constraint to be satisfied by the exception - A TestSnippet delegate - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Verifies that an async delegate throws a particular exception when called. The returned exception may be - when inside a multiple assert block. - - A constraint to be satisfied by the exception - A TestSnippet delegate - - - - Verifies that an async delegate throws a particular exception when called. The returned exception may be - when inside a multiple assert block. - - The exception Type expected - A TestDelegate - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Verifies that an async delegate throws a particular exception when called. The returned exception may be - when inside a multiple assert block. - - The exception Type expected - A TestDelegate - - - - Verifies that an async delegate throws a particular exception when called. The returned exception may be - when inside a multiple assert block. - - Type of the expected exception - A TestDelegate - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Verifies that an async delegate throws a particular exception when called. The returned exception may be - when inside a multiple assert block. - - Type of the expected exception - A TestDelegate - - - - Verifies that an async delegate throws an exception when called and returns it. The returned exception may - be when inside a multiple assert block. - - A TestDelegate - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Verifies that an async delegate throws an exception when called and returns it. The returned exception may - be when inside a multiple assert block. - - 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 returned exception may be when inside a multiple assert block. - - The expected Exception Type - A TestDelegate - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Verifies that an async delegate throws an exception of a certain Type or one derived from it when called and - returns it. The returned exception may be when inside a multiple assert block. - - 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. The returned exception may be when inside a multiple assert block. - - A TestDelegate - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Verifies that an async delegate throws an exception of a certain Type or one derived from it when called and - returns it. The returned exception may be when inside a multiple assert block. - - 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. The returned exception may be when inside a multiple assert block. - - A constraint to be satisfied by the exception - A TestSnippet delegate - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Verifies that a delegate throws a particular exception when called. The returned exception may be when inside a multiple assert block. - - A constraint to be satisfied by the exception - A TestSnippet delegate - - - - Verifies that a delegate throws a particular exception when called. The returned exception may be when inside a multiple assert block. - - The exception Type expected - A TestDelegate - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Verifies that a delegate throws a particular exception when called. The returned exception may be when inside a multiple assert block. - - The exception Type expected - A TestDelegate - - - - Verifies that a delegate throws a particular exception when called. The returned exception may be when inside a multiple assert block. - - Type of the expected exception - A TestDelegate - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Verifies that a delegate throws a particular exception when called. The returned exception may be when inside a multiple assert block. - - Type of the expected exception - A TestDelegate - - - - Verifies that a delegate throws an exception when called and returns it. The returned exception may be when inside a multiple assert block. - - A TestDelegate - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Verifies that a delegate throws an exception when called and returns it. The returned exception may be when inside a multiple assert block. - - A TestDelegate - - - - Verifies that a delegate throws an exception of a certain Type or one derived from it when called and - returns it. The returned exception may be when inside a multiple assert block. - - The expected Exception Type - A TestDelegate - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Verifies that a delegate throws an exception of a certain Type or one derived from it when called and - returns it. The returned exception may be when inside a multiple assert block. - - The expected Exception Type - A TestDelegate - - - - Verifies that a delegate throws an exception of a certain Type or one derived from it when called and - returns it. The returned exception may be when inside a multiple assert block. - - A TestDelegate - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Verifies that a delegate throws an exception of a certain Type or one derived from it when called and - returns it. The returned exception may be when inside a multiple assert block. - - A TestDelegate - - - - Verifies that a delegate does not throw an exception - - A TestDelegate - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Verifies that a delegate does not throw an exception. - - A TestDelegate - - - - Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. - - The evaluated condition - The message to display if the condition is false - Arguments to be used in formatting the message - - - - Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. - - The evaluated condition - - - - Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. - - The evaluated condition - A function to build the message included with the Exception - - - - Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. - - A lambda that returns a Boolean - The message to display if the condition is false - Arguments to be used in formatting the message - - - - Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. - - A lambda that returns a Boolean - - - - Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. - - A lambda that returns a Boolean - A function to build the message included with the Exception - - - - Apply a constraint to a delegate. Returns without throwing an exception when inside a multiple assert block. - - The Type being compared. - An ActualValueDelegate returning the value to be tested - A Constraint expression to be applied - - - - Apply a constraint to a delegate. Returns without throwing an exception when inside a multiple assert block. - - The Type being compared. - An ActualValueDelegate returning the value to be tested - A Constraint expression to be applied - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Apply a constraint to a delegate. Returns without throwing an exception when inside a multiple assert block. - - The Type being compared. - An ActualValueDelegate returning the value to be tested - A Constraint expression to be applied - A function to build the message included with the Exception - - - - Apply a constraint to a delegate. Returns without throwing an exception when inside a multiple assert block. - - A TestDelegate to be executed - A Constraint expression to be applied - - - - Apply a constraint to a delegate. Returns without throwing an exception when inside a multiple assert block. - - A TestDelegate to be executed - A Constraint expression to be applied - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Apply a constraint to a delegate. Returns without throwing an exception when inside a multiple assert block. - - A TestDelegate to be executed - A Constraint expression to be applied - A function to build the message included with the Exception - - - - Apply a constraint to an actual value. Returns without throwing an exception when inside a multiple assert - block. - - The Type being compared. - The actual value to test - A Constraint expression to be applied - - - - Apply a constraint to an actual value. Returns without throwing an exception when inside a multiple assert - block. - - The Type being compared. - The actual value to test - A Constraint expression to be applied - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Apply a constraint to an actual value. Returns without throwing an exception when inside a multiple assert - block. - - The Type being compared. - The actual value to test - A Constraint expression to be applied - A function to build the message included with the Exception - - - - Apply a constraint to an actual value. Returns without throwing an exception when inside a multiple assert - block. Used as a synonym for That in rare cases where a private setter causes a Visual Basic compilation - error. - - The actual value to test - A Constraint expression to be applied - - - - Apply a constraint to an actual value. Returns without throwing an exception when inside a multiple assert - block. Used as a synonym for That in rare cases where a private setter causes a Visual Basic compilation - error. - - - This method is provided for use by VB developers needing to test the value of properties with private - setters. - - The actual value to test - A Constraint expression to be applied - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Asserts that an object may be assigned a value of a given Type. Returns without throwing an exception when - inside a multiple assert block. - - The expected Type. - The object under examination - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an object may be assigned a value of a given Type. Returns without throwing an exception when - inside a multiple assert block. - - The expected Type. - The object under examination - - - - Asserts that an object may be assigned a value of a given Type. Returns without throwing an exception when - inside a multiple assert block. - - The expected Type. - The object under examination - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an object may be assigned a value of a given Type. Returns without throwing an exception when - inside a multiple assert block. - - The expected Type. - The object under examination - - - - Asserts that an object may not be assigned a value of a given Type. Returns without throwing an exception - when inside a multiple assert block. - - The expected Type. - The object under examination - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an object may not be assigned a value of a given Type. Returns without throwing an exception - when inside a multiple assert block. - - The expected Type. - The object under examination - - - - Asserts that an object may not be assigned a value of a given Type. Returns without throwing an exception - when inside a multiple assert block. - - The expected Type. - The object under examination - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an object may not be assigned a value of a given Type. Returns without throwing an exception - when inside a multiple assert block. - - The expected Type. - The object under examination - - - - Asserts that an object is an instance of a given type. Returns without throwing an exception when inside a - multiple assert block. - - The expected Type - The object being examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an object is an instance of a given type. Returns without throwing an exception when inside a - multiple assert block. - - The expected Type - The object being examined - - - - Asserts that an object is an instance of a given type. Returns without throwing an exception when inside a - multiple assert block. - - The expected Type - The object being examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an object is an instance of a given type. Returns without throwing an exception when inside a - multiple assert block. - - The expected Type - The object being examined - - - - Asserts that an object is not an instance of a given type. Returns without throwing an exception when inside - a multiple assert block. - - The expected Type - The object being examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an object is not an instance of a given type. Returns without throwing an exception when inside - a multiple assert block. - - The expected Type - The object being examined - - - - Asserts that an object is not an instance of a given type. Returns without throwing an exception when inside - a multiple assert block. - - The expected Type - The object being examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an object is not an instance of a given type. Returns without throwing an exception when inside - a multiple assert block. - - The expected Type - The object being examined - - - - Delegate used by tests that execute code and - capture any thrown exception. - - - - - 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 Constraint expression to be applied - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and throwing an assertion exception on failure. - - A Constraint expression to be applied - The actual value to test - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and throwing an assertion exception on failure. - - A Constraint expression to be applied - The actual value to test - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Returns a ListMapper based on a collection. - - The original collection - - - - Returns a ConstraintExpression that negates any - following constraint. - - - - - Returns a ConstraintExpression that negates any - following constraint. - - - - - Returns a ConstraintExpression, which will apply - the following constraint to all members of a collection, - succeeding if all of them succeed. - - - - - Returns a ConstraintExpression, which will apply - the following constraint to all members of a collection, - succeeding if at least one of them succeeds. - - - - - Returns a ConstraintExpression, which will apply - the following constraint to all members of a collection, - succeeding if all of them fail. - - - - - Returns a ConstraintExpression, which will apply - the following constraint to all members of a collection, - succeeding only if a specified number of them succeed. - - - - - Returns a new PropertyConstraintExpression, which will either - test for the existence of the named property on the object - being tested or apply any following constraint to that property. - - - - - Returns a new ConstraintExpression, which will apply the following - constraint to the Length property of the object being tested. - - - - - Returns a new ConstraintExpression, which will apply the following - constraint to the Count property of the object being tested. - - - - - Returns a new ConstraintExpression, which will apply the following - constraint to the Message property of the object being tested. - - - - - Returns a new ConstraintExpression, which will apply the following - constraint to the InnerException property of the object being tested. - - - - - Returns a new AttributeConstraint checking for the - presence of a particular attribute on an object. - - - - - Returns a new AttributeConstraint checking for the - presence of a particular attribute on an object. - - - - - Returns a constraint that tests for null - - - - - Returns a constraint that tests for True - - - - - Returns a constraint that tests for False - - - - - Returns a constraint that tests for a positive value - - - - - Returns a constraint that tests for a negative value - - - - - Returns a constraint that tests for equality with zero - - - - - Returns a constraint that tests for NaN - - - - - Returns a constraint that tests for empty - - - - - Returns a constraint that tests whether a collection - contains all unique items. - - - - - Returns a constraint that tests whether an object graph is serializable in binary format. - - - - - Returns a constraint that tests whether an object graph is serializable in XML format. - - - - - Returns a constraint that tests two items for equality - - - - - Returns a constraint that tests that two references are the same object - - - - - Returns a constraint that tests whether the - actual value is greater than the supplied argument - - - - - Returns a constraint that tests whether the - actual value is greater than or equal to the supplied argument - - - - - Returns a constraint that tests whether the - actual value is greater than or equal to the supplied argument - - - - - Returns a constraint that tests whether the - actual value is less than the supplied argument - - - - - Returns a constraint that tests whether the - actual value is less than or equal to the supplied argument - - - - - Returns a constraint that tests whether the - actual value is less than or equal to the supplied argument - - - - - Returns a constraint that tests whether the actual - value is of the exact type supplied as an argument. - - - - - Returns a constraint that tests whether the actual - value is of the exact type supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is of the type supplied as an argument or a derived type. - - - - - Returns a constraint that tests whether the actual value - is of the type supplied as an argument or a derived type. - - - - - Returns a constraint that tests whether the actual value - is assignable from the type supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is assignable from the type supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is assignable from the type supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is assignable from the type supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is a collection containing the same elements as the - collection supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is a subset of the collection supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is a superset of the collection supplied as an argument. - - - - - Returns a constraint that tests whether a collection is ordered - - - - - Returns a new checking for the - presence of a particular object in the collection. - - - - - - Returns a new checking for the - presence of a particular object in the collection. - - - To search for a substring instead of a collection element, use the - overload. - - - - - - - Returns a new ContainsConstraint. This constraint - will, in turn, make use of the appropriate second-level - constraint, depending on the type of the actual argument. - - - To search for a collection element instead of a substring, use the - overload. - - - - - - Returns a constraint that succeeds if the actual - value contains the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value contains the substring supplied as an argument. - - - - - Returns a constraint that fails if the actual - value contains the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value starts with the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value starts with the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value starts with the substring supplied as an argument. - - - - - Returns a constraint that fails if the actual - value starts with the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value ends with the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value ends with the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value ends with the substring supplied as an argument. - - - - - Returns a constraint that fails if the actual - value ends with the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value matches the regular expression supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value matches the regular expression supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value matches the regular expression supplied as an argument. - - - - - Returns a constraint that fails if the actual - value matches the pattern supplied as an argument. - - - - - Returns a constraint that tests whether the path provided - is the same as an expected path after canonicalization. - - - - - Returns a constraint that tests whether the path provided - is a subpath of the expected path after canonicalization. - - - - - Returns a constraint that tests whether the path provided - is the same path or under an expected path after canonicalization. - - - - - Returns a constraint that tests whether the actual value falls - within a specified range. - - - - - Provides static methods to express the assumptions - that must be met for a test to give a meaningful - result. If an assumption is not met, the test - should produce an inconclusive result. - - - - - DO NOT USE! - The Equals method throws an InvalidOperationException. This is done - to make sure there is no mistake by calling this function. - - The left object. - The right object. - Not applicable - - - - DO NOT USE! - The ReferenceEquals method throws an InvalidOperationException. This is done - to make sure there is no mistake by calling this function. - - The left object. - The right object. - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and throwing an InconclusiveException on failure. - - The Type being compared. - An ActualValueDelegate returning the value to be tested - A Constraint expression to be applied - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and throwing an InconclusiveException on failure. - - The Type being compared. - An ActualValueDelegate returning the value to be tested - A Constraint expression to be applied - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and throwing an InconclusiveException on failure. - - The Type being compared. - An ActualValueDelegate returning the value to be tested - A Constraint expression to be applied - A function to build the message included with the Exception - - - - Asserts that a condition is true. If the condition is false, the method throws - an . - - The evaluated condition - The message to display if the condition is false - Arguments to be used in formatting the message - - - - Asserts that a condition is true. If the condition is false, the - method throws an . - - The evaluated condition - - - - Asserts that a condition is true. If the condition is false, the method throws - an . - - The evaluated condition - A function to build the message included with the Exception - - - - Asserts that a condition is true. If the condition is false, the method throws - an . - - A lambda that returns a Boolean - The message to display if the condition is false - Arguments to be used in formatting the message - - - - Asserts that a condition is true. If the condition is false, the method throws - an . - - A lambda that returns a Boolean - - - - Asserts that a condition is true. If the condition is false, the method throws - an . - - A lambda that returns a Boolean - A function to build the message included with the Exception - - - - Asserts that the code represented by a delegate throws an exception - that satisfies the constraint provided. - - A TestDelegate to be executed - A ThrowsConstraint used in the test - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and throwing an InconclusiveException on failure. - - The Type being compared. - The actual value to test - A Constraint expression to be applied - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and throwing an InconclusiveException on failure. - - The Type being compared. - The actual value to test - A Constraint expression to be applied - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and throwing an InconclusiveException on failure. - - The Type being compared. - The actual value to test - A Constraint expression to be applied - A function to build the message included with the Exception - - - - Marks a test as needing to be run in a particular threading apartment state. This will cause it - to run in a separate thread if necessary. - - - - - Construct an ApartmentAttribute - - The apartment state that this test must be run under. You must pass in a valid apartment state. - - - - Provides the author of a test or test fixture. - - - - - Initializes a new instance of the class. - - The name of the author. - - - - Initializes a new instance of the class. - - The name of the author. - The email address of the author. - - - - Applies a category to a test - - - - - The name of the category - - - - - Construct attribute for a given category based on - a name. The name may not contain the characters ',', - '+', '-' or '!'. However, this is not checked in the - constructor since it would cause an error to arise at - as the test was loaded without giving a clear indication - of where the problem is located. The error is handled - in NUnitFramework.cs by marking the test as not - runnable. - - The name of the category - - - - Protected constructor uses the Type name as the name - of the category. - - - - - The name of the category - - - - - Modifies a test by adding a category to it. - - The test to modify - - - - Marks a test to use a combinatorial join of any argument data provided. - Since this is the default, the attribute is optional. - - - - - Default constructor - - - - - Marks a test as using a particular CombiningStrategy to join any supplied parameter data. - Since this is the default, the attribute is optional. - - - - - Construct a CombiningStrategyAttribute incorporating an - ICombiningStrategy and an IParameterDataProvider. - - Combining strategy to be used in combining data - An IParameterDataProvider to supply data - - - - Construct a CombiningStrategyAttribute incorporating an object - that implements ICombiningStrategy and an IParameterDataProvider. - This constructor is provided for CLS compliance. - - Combining strategy to be used in combining data - An IParameterDataProvider to supply data - - - - Builds any number of tests from the specified method and context. - - The MethodInfo for which tests are to be constructed. - The suite to which the tests will be added. - - - - Modify the test by adding the name of the combining strategy - to the properties. - - The test to modify - - - - Marks an assembly, test fixture or test method as applying to a specific Culture. - - - - - Constructor with no cultures specified, for use - with named property syntax. - - - - - Constructor taking one or more cultures - - Comma-delimited list of cultures - - - - Causes a test to be skipped if this CultureAttribute is not satisfied. - - The test to modify - - - - Tests to determine if the current culture is supported - based on the properties of this attribute. - - True, if the current culture is supported - - - - Test to determine if the a particular culture or comma- - delimited set of cultures is in use. - - Name of the culture or comma-separated list of culture ids - True if the culture is in use on the system - - - - Test to determine if one of a collection of cultures - is being used currently. - - - - - - - Abstract base class for all data-providing attributes defined by NUnit. - Used to select all data sources for a method, class or parameter. - - - - - Default constructor - - - - - Marks a field for use as a datapoint when executing a theory within - the same fixture that requires an argument of the field's Type. - - - - - Marks a field, property or method as providing a set of datapoints for use - in executing any theories within the same fixture that require an argument of - the provided Type. The data source may provide an array of the required Type - or an . Synonymous with . - - - - - Marks a field, property or method as providing a set of datapoints for use - in executing any theories within the same fixture that require an argument - of the provided type. The data source may provide an array of the required - Type or an . Synonymous with . - - - - - Sets the tolerance used by default when checking the equality of floating point values - within the test assembly, fixture or method. - - - - - Construct specifying an amount - - - - - - Apply changes to the TestExecutionContext - - The TestExecutionContext - - - - Provides the descriptive text relating to the assembly, test fixture or test method. - - - - - Construct a description Attribute - - The text of the description - - - - Marks an assembly, test fixture or test method such that it will only run if explicitly - executed from the GUI, command line or included within a test filter. - The test will not be run simply because an enclosing suite is run. - - - - - Default constructor - - - - - Constructor with a reason - - The reason test is marked explicit - - - - Modifies a test by marking it as explicit. - - The test to modify - - - - Specify the life cycle of a Fixture - - - - - Construct a FixtureLifeCycleAttribute with a specified . - - - - - Defines the life cycle for this test fixture or assembly. - - - - - Overridden to set a TestFixture's . - - - - - Marks an assembly, test fixture or test method as being ignored. Ignored tests result in a warning message when the tests are run. - - - - - Constructs the attribute giving a reason for ignoring the test - - The reason for ignoring the test - - - - The date in the future to stop ignoring the test as a string in UTC time. - For example for a date and time, "2014-12-25 08:10:00Z" or for just a date, - "2014-12-25". If just a date is given, the Ignore will expire at midnight UTC. - - - Once the ignore until date has passed, the test will be marked - as runnable. Tests with an ignore until date will have an IgnoreUntilDate - property set which will appear in the test results. - - The string does not contain a valid string representation of a date and time. - - - - Modifies a test by marking it as Ignored. - - The test to modify - - - - Abstract base for attributes that are used to include tests in - the test run based on environmental settings. - - - - - Constructor with no included items specified, for use - with named property syntax. - - - - - Constructor taking one or more included items - - Comma-delimited list of included items - - - - Name of the item that is needed in order for - a test to run. Multiple items may be given, - separated by a comma. - - - - - Name of the item to be excluded. Multiple items - may be given, separated by a comma. - - - - - The reason for including or excluding the test - - - - - Sets the number of worker threads that may be allocated by the framework - for running tests. - - - - - Construct a LevelOfParallelismAttribute. - - The number of worker threads to be created by the framework. - - - - Specifies the life cycle for a test fixture. - - - - - A single instance is created and shared for all test cases. - - - - - A new instance is created for each test case. - - - - - Specifies the maximum time (in milliseconds) for a test case to succeed. - - - - - Construct a MaxTimeAttribute, given a time in milliseconds. - - The maximum elapsed time in milliseconds - - - - Marks tests that should NOT be run in parallel. - - - - - Construct a NonParallelizableAttribute. - - - - - Used by third-party frameworks, or other software, that reference - the NUnit framework but do not contain any tests. Applying the - attribute indicates that the assembly is not a test assembly and - may prevent errors if certain runners attempt to load the assembly. - Note that recognition of the attribute depends on each individual runner. - - - - - Abstract base class for all custom attributes defined by NUnit. - - - - - Default constructor - - - - - Identifies a method that is called once to perform setup before any child tests are run. - - - - - Identifies a method to be called once after all the child tests have run. - The method is guaranteed to be called, even if an exception is thrown. - - - - - Defines the order that the test will run in - - - - - Defines the order that the test will run in - - - - - Defines the order that the test will run in - - - - - - Modifies a test as defined for the specific attribute. - - The test to modify - - - - Marks a test as using a pairwise join of any supplied argument data. Arguments will be - combined in such a way that all possible pairs of arguments are used. - - - - - Default constructor - - - - - Marks a test assembly, fixture or method that may be run in parallel. - - - - - Construct a ParallelizableAttribute using default ParallelScope.Self. - - - - - Construct a ParallelizableAttribute with a specified scope. - - The ParallelScope associated with this attribute. - - - - Defines the degree to which this test and its descendants may be run in parallel - - - - - Overridden to check for invalid combinations of settings - - - - - - Modify the context to be used for child tests - - The current TestExecutionContext - - - - Specifies the degree to which a test, and its descendants, - may be run in parallel. - - - - - No ParallelScope was specified on the test - - - - - The test may be run in parallel with others at the same level. - Valid on classes and methods but has no effect on assemblies. - - - - - Test may not be run in parallel with any others. Valid on - classes and methods but not assemblies. - - - - - Mask used to extract the flags that apply to the item on which a - ParallelizableAttribute has been placed, as opposed to descendants. - - - - - Descendants of the test may be run in parallel with one another. - Valid on assemblies and classes but not on non-parameterized methods. - - - - - Descendants of the test down to the level of TestFixtures may be - run in parallel with one another. Valid on assemblies and classes - but not on methods. - - - - - Mask used to extract all the flags that impact descendants of a - test and place them in the TestExecutionContext. - - - - - The test and its descendants may be run in parallel with others at - the same level. Valid on classes and parameterized methods. - For assemblies it is recommended to use - instead, as has no effect on assemblies. - - - - - Marks an assembly, test fixture or test method as applying to a specific platform. - - - - - Constructor with no platforms specified, for use - with named property syntax. - - - - - Constructor taking one or more platforms - - Comma-delimited list of platforms - - - - Causes a test to be skipped if this PlatformAttribute is not satisfied. - - The test to modify - - - - Attaches information to a test assembly, fixture or method as a name/value pair. - - - - - Construct a PropertyAttribute with a name and string value - - The name of the property - The property value - - - - Construct a PropertyAttribute with a name and int value - - The name of the property - The property value - - - - Construct a PropertyAttribute with a name and double value - - The name of the property - The property value - - - - Constructor for derived classes that set the - property dictionary directly. - - - - - Constructor for use by derived classes that use the - name of the type as the property name. Derived classes - must ensure that the Type of the property value is - a standard type supported by the BCL. Any custom - types will cause a serialization Exception when - in the client. - - - - - Gets the property dictionary for this attribute - - - - - Modifies a test by adding properties to it. - - The test to modify - - - - Supplies a set of random values to a single parameter of a parameterized test. - - - - - If true, no value will be repeated. - - - - - Construct a random set of values appropriate for the Type of the - parameter on which the attribute appears, specifying only the count. - - - - - - Generates values within a specified range. - - - - - Generates values within a specified range. - - - - - Generates values within a specified range. - - - - - Generates values within a specified range. - - - - - Generates values within a specified range. - - - - - Generates values within a specified range. - - - - - Generates values within a specified range. - - - - - Generates values within a specified range. - - - - - Generates values within a specified range. - - - - - Generates values within a specified range. - - - - - Retrieves a list of arguments which can be passed to the specified parameter. - - The parameter of a parameterized test. - - - - Supplies a range of values to an individual parameter of a parameterized test. - - - - - Constructs a range of values using the default step of 1. - - - - - Constructs a range of values with the specified step size. - - - - - Constructs a range of values using the default step of 1. - - - - - Constructs a range of values with the specified step size. - - - - - Constructs a range of values using a default step of 1. - - - - - Constructs a range of values with the specified step size. - - - - - Constructs a range of values using the default step of 1. - - - - - Constructs a range of values with the specified step size. - - - - - Constructs a range of values with the specified step size. - - - - - Constructs a range of values with the specified step size. - - - - - Retrieves a list of arguments which can be passed to the specified parameter. - - The parameter of a parameterized test. - - - Returns a string that represents the current object. - - - - Specifies that a test should be run multiple times. - - - - - Construct a RepeatAttribute - - The number of times to run the test - - - - Wrap a command and return the result. - - The command to be wrapped - The wrapped command - - - - The test command for the RepeatAttribute - - - - - Initializes a new instance of the class. - - The inner command. - The number of repetitions - - - - Runs the test, saving a TestResult in the supplied TestExecutionContext. - - The context in which the test should run. - A TestResult - - - - Marks a test that must run on a separate thread. - - - - - Construct a RequiresThreadAttribute - - - - - Construct a RequiresThreadAttribute, specifying the apartment - - - - - Specifies that a test method should be rerun on failure up to the specified - maximum number of times. - - - - - Construct a - - The maximum number of times the test should be run if it fails - - - - Wrap a command and return the result. - - The command to be wrapped - The wrapped command - - - - The test command for the - - - - - Initializes a new instance of the class. - - The inner command. - The maximum number of repetitions - - - - Runs the test, saving a TestResult in the supplied TestExecutionContext. - - The context in which the test should run. - A TestResult - - - - Marks a test to use a sequential join of any provided argument data. - Arguments will be combined into test cases, taking the next value of - each argument until all are used. - - - - - Default constructor - - - - - Sets the current Culture on an assembly, test fixture or test method for - the duration of a test. The culture remains set until the test or fixture - completes and is then reset to its original value. - - - - - - Construct given the name of a culture - - - - - - Sets the current UI Culture on an assembly, test fixture or test method - for the duration of a test. The UI culture remains set until the test or - fixture completes and is then reset to its original value. - - - - - - Construct given the name of a culture - - - - - - Identifies a method to be called immediately before each test is run. - - - - - Identifies a class as containing or - methods for all the test fixtures - under a given namespace. - - - - - Builds a from the specified type. - - The type info of the fixture to be used. - - - - Marks a test fixture as requiring all child tests to be run on the - same thread as the OneTimeSetUp and OneTimeTearDown. A flag in the - is set forcing all child tests - to be run sequentially on the current thread. - Any setting is ignored. - - - - - Apply changes to the TestExecutionContext - - The TestExecutionContext - - - - Identifies a method to be called immediately after each test is run. - The method is guaranteed to be called, even if an exception is thrown. - - - - - Abstract attribute providing actions to execute before and after tests. - - - - - Executed before each test is run - - The test that is going to be run. - - - - Executed after each test is run - - The test that has just been run. - - - - Provides the target for the action attribute - - - - - Marks a test assembly as needing a special assembly resolution hook that will - explicitly search the test assembly's directory for dependent assemblies. - This works around a conflict between mixed-mode assembly initialization and - tests running in their own AppDomain in some cases. - - - - - Marks the method as callable from the NUnit test runner. - - - - [TestFixture] - public class Fixture - { - [Test] - public void MethodToTest() - {} - - [Test(Description = "more detailed description")] - public void TestDescriptionMethod() - {} - } - - - - - - Descriptive text for this test - - - - - The author of this test - - - - - The type that this test is testing - - - - - Gets or sets the expected result. Not valid if the test - method has parameters. - - The result. - - - - Modifies a test by adding a description, if not already set. - - The test to modify - - - - Builds a single test from the specified method and context. - - The method for which a test is to be constructed. - The suite to which the test will be added. - - - - Marks a method as a parameterized test suite and provides arguments for each test case. - - - - - Construct a TestCaseAttribute with a list of arguments. - This constructor is not CLS-Compliant - - - - - - Construct a TestCaseAttribute with a single argument - - - - - - Construct a TestCaseAttribute with a two arguments - - - - - - - Construct a TestCaseAttribute with a three arguments - - - - - - - - Gets or sets the name of the test. - - The name of the test. - - - - Gets or sets the RunState of this test case. - - - - - Gets the list of arguments to a test case - - - - - Gets the properties of the test case - - - - - Gets or sets the expected result. - - The result. - - - - Returns true if the expected result has been set - - - - - Gets or sets the description. - - The description. - - - - The author of this test - - - - - The type that this test is testing - - - - - Gets or sets the reason for ignoring the test - - - - - Gets or sets a value indicating whether this is explicit. - - - if explicit; otherwise, . - - - - - Gets or sets the reason for not running the test. - - The reason. - - - - Gets or sets the ignore reason. When set to a non-null - non-empty value, the test is marked as ignored. - - The ignore reason. - - - - Comma-delimited list of platforms to run the test for - - - - - Comma-delimited list of platforms to not run the test for - - - - - Gets and sets the category for this test case. - May be a comma-separated list of categories. - - - - - Gets and sets the ignore until date for this test case. - - - - - Performs several special conversions allowed by NUnit in order to - permit arguments with types that cannot be used in the constructor - of an Attribute such as TestCaseAttribute or to simplify their use. - - The arguments to be converted - The ParameterInfo array for the method - - - - Builds a single test from the specified method and context. - - The MethodInfo for which tests are to be constructed. - The suite to which the tests will be added. - - - - Indicates the source to be used to provide test fixture instances for a test class. - - - - - Construct with the name of the method, property or field that will provide data - - The name of a static method, property or field that will provide data. - - - - Construct with a Type and name - - The Type that will provide data - The name of a static method, property or field that will provide data. - A set of parameters passed to the method, works only if the Source Name is a method. - If the source name is a field or property has no effect. - - - - Construct with a Type and name - - The Type that will provide data - The name of a static method, property or field that will provide data. - - - - Construct with a name - - The name of a static method, property or field that will provide data. - A set of parameters passed to the method, works only if the Source Name is a method. - If the source name is a field or property has no effect. - - - - Construct with a Type - - The type that will provide data - - - - A set of parameters passed to the method, works only if the Source Name is a method. - If the source name is a field or property has no effect. - - - - - The name of a the method, property or field to be used as a source - - - - - A Type to be used as a source - - - - - Gets or sets the category associated with every fixture created from - this attribute. May be a single category or a comma-separated list. - - - - - Builds any number of tests from the specified method and context. - - The IMethod for which tests are to be constructed. - The suite to which the tests will be added. - - - - Marks the class as a TestFixture. - - - - - Default constructor - - - - - Construct with a object[] representing a set of arguments. - The arguments may later be separated into type arguments and constructor arguments. - - - - - - Gets or sets the name of the test. - - The name of the test. - - - - Gets or sets the RunState of this test fixture. - - - - - The arguments originally provided to the attribute - - - - - Properties pertaining to this fixture - - - - - Get or set the type arguments. If not set - explicitly, any leading arguments that are - Types are taken as type arguments. - - - - - Descriptive text for this fixture - - - - - The author of this fixture - - - - - The type that this fixture is testing - - - - - Gets or sets the ignore reason. May set RunState as a side effect. - - The ignore reason. - - - - Gets or sets the reason for not running the fixture. - - The reason. - - - - Gets or sets the ignore reason. When set to a non-null - non-empty value, the test is marked as ignored. - - The ignore reason. - - - - Gets or sets a value indicating whether this is explicit. - - - if explicit; otherwise, . - - - - - Gets and sets the category for this fixture. - May be a comma-separated list of categories. - - - - - Builds a single test fixture from the specified type. - - - - - Builds a single test fixture from the specified type. - - The type info of the fixture to be used. - Filter used to select methods as tests. - - - - Identifies the source used to provide test fixture instances for a test class. - - - - - Error message string is public so the tests can use it - - - - - Construct with the name of the method, property or field that will provide data - - The name of a static method, property or field that will provide data. - - - - Construct with a Type and name - - The Type that will provide data - The name of a static method, property or field that will provide data. - - - - Construct with a Type - - The type that will provide data - - - - The name of a the method, property or field to be used as a source - - - - - A Type to be used as a source - - - - - Gets or sets the category associated with every fixture created from - this attribute. May be a single category or a comma-separated list. - - - - - Builds any number of test fixtures from the specified type. - - The TypeInfo for which fixtures are to be constructed. - - - - Builds any number of test fixtures from the specified type. - - The TypeInfo for which fixtures are to be constructed. - PreFilter used to select methods as tests. - - - - Returns a set of ITestFixtureData items for use as arguments - to a parameterized test fixture. - - The type for which data is needed. - - - - - Indicates the method or class the assembly, test fixture or test method is testing. - - - - - Initializes a new instance of the class. - - The type that is being tested. - - - - Initializes a new instance of the class. - - The type that is being tested. - - - - Adding this attribute to a method within a - class makes the method callable from the NUnit test runner. There is a property - called Description which is optional which you can provide a more detailed test - description. This class cannot be inherited. - - - - [TestFixture] - public class Fixture - { - [Test] - public void MethodToTest() - {} - - [Test(Description = "more detailed description")] - public void TestDescriptionMethod() - {} - } - - - - - - Construct the attribute, specifying a combining strategy and source of parameter data. - - - - - Applies a timeout in milliseconds to a test. - When applied to a method, the test is cancelled if the timeout is exceeded. - When applied to a class or assembly, the default timeout is set for all contained test methods. - - - - - Construct a TimeoutAttribute given a time in milliseconds - - The timeout value in milliseconds - - - - Provides literal arguments for an individual parameter of a test. - - - - - The collection of data to be returned. Must - be set by any derived attribute classes. - We use an object[] so that the individual - elements may have their type changed in GetData - if necessary - - - - - Constructs for use with an Enum parameter. Will pass every enum - value in to the test. - - - - - Construct with one argument - - - - - - Construct with two arguments - - - - - - - Construct with three arguments - - - - - - - - Construct with an array of arguments - - - - - - Retrieves a list of arguments which can be passed to the specified parameter. - - The parameter of a parameterized test. - - - - To generate data for Values attribute, in case no data is provided. - - - - - To Check if type is nullable enum. - - - - - Indicates the source used to provide data for one parameter of a test method. - - - - - Construct with the name of the factory - for use with languages - that don't support params arrays. - - The name of a static method, property or field that will provide data. - - - - Construct with a Type and name - for use with languages - that don't support params arrays. - - The Type that will provide data - The name of a static method, property or field that will provide data. - - - - The name of a the method, property or field to be used as a source - - - - - A Type to be used as a source - - - - - Retrieves a list of arguments which can be passed to the specified parameter. - - The parameter of a parameterized test. - - - - A set of Assert methods operating on one or more collections - - - - - DO NOT USE! Use CollectionAssert.AreEqual(...) instead. - The Equals method throws an InvalidOperationException. This is done - to make sure there is no mistake by calling this function. - - - - - - - DO NOT USE! - The ReferenceEquals method throws an InvalidOperationException. This is done - to make sure there is no mistake by calling this function. - - - - - - - Asserts that all items contained in collection are of the type specified by expectedType. - - IEnumerable containing objects to be considered - System.Type that all objects in collection must be instances of - - - - Asserts that all items contained in collection are of the type specified by expectedType. - - IEnumerable containing objects to be considered - System.Type that all objects in collection must be instances of - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Asserts that all items contained in collection are not equal to null. - - IEnumerable containing objects to be considered - - - - Asserts that all items contained in collection are not equal to null. - - IEnumerable of objects to be considered - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Ensures that every object contained in collection exists within the collection - once and only once. - - IEnumerable of objects to be considered - - - - Ensures that every object contained in collection exists within the collection - once and only once. - - IEnumerable of objects to be considered - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Asserts that expected and actual are exactly equal. The collections must have the same count, - and contain the exact same objects in the same order. - - The first IEnumerable of objects to be considered - The second IEnumerable of objects to be considered - - - - Asserts that expected and actual are exactly equal. The collections must have the same count, - and contain the exact same objects in the same order. - If comparer is not null then it will be used to compare the objects. - - The first IEnumerable of objects to be considered - The second IEnumerable of objects to be considered - The IComparer to use in comparing objects from each IEnumerable - - - - Asserts that expected and actual are exactly equal. The collections must have the same count, - and contain the exact same objects in the same order. - - The first IEnumerable of objects to be considered - The second IEnumerable of objects to be considered - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Asserts that expected and actual are exactly equal. The collections must have the same count, - and contain the exact same objects in the same order. - If comparer is not null then it will be used to compare the objects. - - The first IEnumerable of objects to be considered - The second IEnumerable of objects to be considered - The IComparer to use in comparing objects from each IEnumerable - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Asserts that expected and actual are equivalent, containing the same objects but the match may be in any order. - - The first IEnumerable of objects to be considered - The second IEnumerable of objects to be considered - - - - Asserts that expected and actual are equivalent, containing the same objects but the match may be in any order. - - The first IEnumerable of objects to be considered - The second IEnumerable of objects to be considered - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Asserts that expected and actual are not exactly equal. - - The first IEnumerable of objects to be considered - The second IEnumerable of objects to be considered - - - - Asserts that expected and actual are not exactly equal. - If comparer is not null then it will be used to compare the objects. - - The first IEnumerable of objects to be considered - The second IEnumerable of objects to be considered - The IComparer to use in comparing objects from each IEnumerable - - - - Asserts that expected and actual are not exactly equal. - - The first IEnumerable of objects to be considered - The second IEnumerable of objects to be considered - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Asserts that expected and actual are not exactly equal. - If comparer is not null then it will be used to compare the objects. - - The first IEnumerable of objects to be considered - The second IEnumerable of objects to be considered - The IComparer to use in comparing objects from each IEnumerable - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Asserts that expected and actual are not equivalent. - - The first IEnumerable of objects to be considered - The second IEnumerable of objects to be considered - - - - Asserts that expected and actual are not equivalent. - - The first IEnumerable of objects to be considered - The second IEnumerable of objects to be considered - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Asserts that collection contains actual as an item. - - IEnumerable of objects to be considered - Object to be found within collection - - - - Asserts that collection contains actual as an item. - - IEnumerable of objects to be considered - Object to be found within collection - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Asserts that collection does not contain actual as an item. - - IEnumerable of objects to be considered - Object that cannot exist within collection - - - - Asserts that collection does not contain actual as an item. - - IEnumerable of objects to be considered - Object that cannot exist within collection - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Asserts that the superset does not contain the subset - - The IEnumerable subset to be considered - The IEnumerable superset to be considered - - - - Asserts that the superset does not contain the subset - - The IEnumerable subset to be considered - The IEnumerable superset to be considered - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Asserts that the superset contains the subset. - - The IEnumerable subset to be considered - The IEnumerable superset to be considered - - - - Asserts that the superset contains the subset. - - The IEnumerable subset to be considered - The IEnumerable superset to be considered - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Asserts that the subset does not contain the superset - - The IEnumerable superset to be considered - The IEnumerable subset to be considered - - - - Asserts that the subset does not contain the superset - - The IEnumerable superset to be considered - The IEnumerable subset to be considered - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Asserts that the subset contains the superset. - - The IEnumerable superset to be considered - The IEnumerable subset to be considered - - - - Asserts that the subset contains the superset. - - The IEnumerable superset to be considered - The IEnumerable subset to be considered - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Assert that an array, list or other collection is empty - - An array, list or other collection implementing IEnumerable - The message to be displayed on failure - Arguments to be used in formatting the message - - - - Assert that an array,list or other collection is empty - - An array, list or other collection implementing IEnumerable - - - - Assert that an array, list or other collection is empty - - An array, list or other collection implementing IEnumerable - The message to be displayed on failure - Arguments to be used in formatting the message - - - - Assert that an array,list or other collection is empty - - An array, list or other collection implementing IEnumerable - - - - Assert that an array, list or other collection is ordered - - An array, list or other collection implementing IEnumerable - The message to be displayed on failure - Arguments to be used in formatting the message - - - - Assert that an array, list or other collection is ordered - - An array, list or other collection implementing IEnumerable - - - - Assert that an array, list or other collection is ordered - - An array, list or other collection implementing IEnumerable - A custom comparer to perform the comparisons - The message to be displayed on failure - Arguments to be used in formatting the message - - - - Assert that an array, list or other collection is ordered - - An array, list or other collection implementing IEnumerable - A custom comparer to perform the comparisons - - - - AllItemsConstraint applies another constraint to each - item in a collection, succeeding if they all succeed. - - - - - Construct an AllItemsConstraint on top of an existing constraint - - - - - - The display name of this Constraint for use by ToString(). - The default value is the name of the constraint with - trailing "Constraint" removed. Derived classes may set - this to another name in their constructors. - - - - - Apply the item constraint to each item in the collection, - failing if any item fails. - - - - - - - AndConstraint succeeds only if both members succeed. - - - - - Create an AndConstraint from two other constraints - - The first constraint - The second constraint - - - - Gets text describing a constraint - - - - - Apply both member constraints to an actual value, succeeding - succeeding only if both of them succeed. - - The actual value - True if the constraints both succeeded - - - - Write the actual value for a failing constraint test to a - MessageWriter. The default implementation simply writes - the raw value of actual, leaving it to the writer to - perform any formatting. - - The writer on which the actual value is displayed - - - - is used to determine whether the value is equal to any of the expected values. - - - - - Construct a - - Collection of expected values - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Test whether item is present in expected collection - - Actual item type - Actual item - - - - Flag the constraint to ignore case and return self. - - - - - Flag the constraint to use the supplied IComparer object. - - The IComparer object to use. - - - - Flag the constraint to use the supplied IComparer object. - - The IComparer object to use. - - - - Flag the constraint to use the supplied Comparison object. - - The Comparison object to use. - - - - Flag the constraint to use the supplied IEqualityComparer object. - - The IEqualityComparer object to use. - - - - Flag the constraint to use the supplied IEqualityComparer object. - - The IComparer object to use. - - - - Flag the constraint to use the supplied boolean-returning delegate. - - The supplied boolean-returning delegate to use. - - - - AssignableFromConstraint is used to test that an object - can be assigned from a given Type. - - - - - Construct an AssignableFromConstraint for the type provided - - - - - - Apply the constraint to an actual value, returning true if it succeeds - - The actual argument - True if the constraint succeeds, otherwise false. - - - - AssignableToConstraint is used to test that an object - can be assigned to a given Type. - - - - - Construct an AssignableToConstraint for the type provided - - - - - - Apply the constraint to an actual value, returning true if it succeeds - - The actual argument - True if the constraint succeeds, otherwise false. - - - - AttributeConstraint tests that a specified attribute is present - on a Type or other provider and that the value of the attribute - satisfies some other constraint. - - - - - Constructs an AttributeConstraint for a specified attribute - Type and base constraint. - - - - - - - Determines whether the Type or other provider has the - expected attribute and if its value matches the - additional constraint specified. - - - - - Returns a string representation of the constraint. - - - - - AttributeExistsConstraint tests for the presence of a - specified attribute on a Type. - - - - - Constructs an AttributeExistsConstraint for a specific attribute Type - - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Tests whether the object provides the expected attribute. - - A Type, MethodInfo, or other ICustomAttributeProvider - True if the expected attribute is present, otherwise false - - - - BinaryConstraint is the abstract base of all constraints - that combine two other constraints in some fashion. - - - - - The first constraint being combined - - - - - The second constraint being combined - - - - - Construct a BinaryConstraint from two other constraints - - The first constraint - The second constraint - - - - BinarySerializableConstraint tests whether - an object is serializable in binary format. - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - Returns the string representation - - - - - CollectionConstraint is the abstract base class for - constraints that operate on collections. - - - - - Construct an empty CollectionConstraint - - - - - Construct a CollectionConstraint - - - - - - Determines whether the specified enumerable is empty. - - The enumerable. - - if the specified enumerable is empty; otherwise, . - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - Protected method to be implemented by derived classes - - - - - - - CollectionContainsConstraint is used to test whether a collection - contains an expected object as a member. - - - - - Construct a CollectionContainsConstraint - - - - - - The display name of this Constraint for use by ToString(). - The default value is the name of the constraint with - trailing "Constraint" removed. Derived classes may set - this to another name in their constructors. - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Gets the expected object - - - - - Test whether the expected item is contained in the collection - - - - - - - Flag the constraint to use the supplied predicate function - - The comparison function to use. - Self. - - - - CollectionEquivalentConstraint is used to determine whether two - collections are equivalent. - - - - The result of the from the collections - under comparison. - - - Construct a CollectionEquivalentConstraint - Expected collection. - - - - The display name of this Constraint for use by ToString(). - The default value is the name of the constraint with - trailing "Constraint" removed. Derived classes may set - this to another name in their constructors. - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Test whether two collections are equivalent - - - - - - - Test whether the collection is equivalent to the expected. - - - Actual collection type. - - - Actual collection to compare. - - - A indicating whether or not - the two collections are equivalent. - - - - - Flag the constraint to use the supplied predicate function - - The comparison function to use. - Self. - - - Provides a for the . - - - Result of a of the collections to compare for equivalence. - - - Construct a using a . - Source . - Result of the collection comparison. - Actual collection to compare. - Whether or not the succeeded. - - - Write any additional lines (following Expected: and But was:) for a failing constraint. - The to write the failure message to. - - - - CollectionItemsEqualConstraint is the abstract base class for all - collection constraints that apply some notion of item equality - as a part of their operation. - - - - - The NUnitEqualityComparer in use for this constraint - - - - - Construct an empty CollectionConstraint - - - - - Construct a CollectionConstraint - - - - - - Get a flag indicating whether the user requested us to ignore case. - - - - - Get a flag indicating whether any external comparers are in use. - - - - - Flag the constraint to ignore case and return self. - - - - - Flag the constraint to use the supplied IComparer object. - - The IComparer object to use. - - - - Flag the constraint to use the supplied IComparer object. - - The IComparer object to use. - - - - Flag the constraint to use the supplied Comparison object. - - The Comparison object to use. - - - - Flag the constraint to use the supplied IEqualityComparer object. - - The IComparer object to use. - - - - Flag the constraint to use the supplied IEqualityComparer object. - - The IComparer object to use. - - - - Flag the constraint to use the supplied boolean-returning delegate. - - The supplied boolean-returning delegate to use. - - - - Compares two collection members for equality - - - - - Return a new CollectionTally for use in making tests - - The collection to be included in the tally - - - - CollectionOrderedConstraint is used to test whether a collection is ordered. - - - - - Construct a CollectionOrderedConstraint - - - - - The display name of this Constraint for use by ToString(). - The default value is the name of the constraint with - trailing "Constraint" removed. Derived classes may set - this to another name in their constructors. - - - - - If used performs a default ascending comparison - - - - - If used performs a reverse comparison - - - - - Modifies the constraint to use an and returns self. - - - - - Modifies the constraint to use an and returns self. - - - - - Modifies the constraint to use a and returns self. - - - - - Modifies the constraint to test ordering by the value of - a specified property and returns self. - - - - - Then signals a break between two ordering steps - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - Test whether the collection is ordered - - - - - Returns the string representation of the constraint. - - - - - - An OrderingStep represents one stage of the sort - - - - - Constructor for success result. - - The Constraint to which this result applies. - The actual value to which the Constraint was applied. - - - - Constructor for failure result. - - The Constraint to which this result applies. - The actual value to which the Constraint was applied. - Index at which collection order breaks. - Value at which collection order breaks. - - - - CollectionSubsetConstraint is used to determine whether - one collection is a subset of another - - - - - Construct a CollectionSubsetConstraint - - The collection that the actual value is expected to be a subset of - - - - The display name of this Constraint for use by ToString(). - The default value is the name of the constraint with - trailing "Constraint" removed. Derived classes may set - this to another name in their constructors. - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Test whether the actual collection is a subset of - the expected collection provided. - - - - - - - Test whether the constraint is satisfied by a given value. - - - - - Flag the constraint to use the supplied predicate function - - The comparison function to use. - Self. - - - - CollectionSupersetConstraint is used to determine whether - one collection is a superset of another - - - - - Construct a CollectionSupersetConstraint - - The collection that the actual value is expected to be a superset of - - - - The display name of this Constraint for use by ToString(). - The default value is the name of the constraint with - trailing "Constraint" removed. Derived classes may set - this to another name in their constructors. - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Test whether the actual collection is a superset of - the expected collection provided. - - - - - - - Test whether the constraint is satisfied by a given value. - - - - - Flag the constraint to use the supplied predicate function - - The comparison function to use. - Self. - - - counts (tallies) the number of occurrences - of each object in one or more enumerations. - - - The result of a . - - - Items that were not in the expected collection. - - - Items that were not accounted for in the expected collection. - - - Initializes a new instance of the class with the given fields. - - - The result of the comparison between the two collections. - - - Construct a CollectionTally object from a comparer and a collection. - The comparer to use for equality. - The expected collection to compare against. - - - Try to remove an object from the tally. - The object to remove. - - - Try to remove a set of objects from the tally. - The objects to remove. - - - - Comparator for two s. - - - - - Comparator for two s. - - - - - Flag indicating whether or not this is the top level comparison. - - - - - A list of tracked comparisons - - - - - Comparator for two s. - - - - - Comparator for two s. - - - - - Comparator for two s. - - - - - Comparator for two s. - - - - - Comparator for two s. - - - - - Comparator for two types related by . - - - - - Interface for comparing two s. - - - - - Method for comparing two objects with a tolerance. - - The first object to compare. - The second object to compare. - The tolerance to use when comparing the objects. - The evaluation state of the comparison. - - if the objects cannot be compared using the method. - Otherwise the result of the comparison is returned. - - - - - Comparator for two s. - - - - - Comparator for two s. - - - - - Comparator for two s. - - - - - Comparator for two s. - - - - - Comparator for two types related by . - - - - - Comparator for two s or s. - - - - - Comparator for two Tuples. - - - - - Base class for comparators for tuples (both regular Tuples and ValueTuples). - - - - - Comparator for two ValueTuples. - - - - - ComparisonAdapter class centralizes all comparisons of - values in NUnit, adapting to the use of any provided - , - or . - - - - - Gets the default ComparisonAdapter, which wraps an - NUnitComparer object. - - - - - Returns a ComparisonAdapter that wraps an - - - - - Returns a ComparisonAdapter that wraps an - - - - - Returns a ComparisonAdapter that wraps a - - - - - Compares two objects - - - - - Construct a default ComparisonAdapter - - - - - Construct a ComparisonAdapter for an - - - - - Compares two objects - - - - - - - - ComparerAdapter extends and - allows use of an or - to actually perform the comparison. - - - - - Construct a ComparisonAdapter for an - - - - - Compare a Type T to an object - - - - - Construct a ComparisonAdapter for a - - - - - Compare a Type T to an object - - - - - Abstract base class for constraints that compare values to - determine if one is greater than, equal to or less than - the other. - - - - - The value against which a comparison is to be made - - - - - Tolerance used in making the comparison - - - - - ComparisonAdapter to be used in making the comparison - - - - - Initializes a new instance of the class. - - The value against which to make a comparison. - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - A ConstraintResult - - - - Protected function overridden by derived class to actually perform the comparison - - - - - Modifies the constraint to use an and returns self - - The comparer used for comparison tests - A constraint modified to use the given comparer - - - - Modifies the constraint to use an and returns self - - The comparer used for comparison tests - A constraint modified to use the given comparer - - - - Modifies the constraint to use a and returns self - - The comparer used for comparison tests - A constraint modified to use the given comparer - - - - Set the tolerance for use in this comparison - - - - - Switches the .Within() modifier to interpret its tolerance as - a percentage that the actual values is allowed to deviate from - the expected value. - - Self - - - - Provides standard description of what the constraint tests - based on comparison text. - - Describes the comparison being tested, throws - if null - Is thrown when null passed to a method - - - - Delegate used to delay evaluation of the actual value - to be used in evaluating a constraint - - - - - The Constraint class is the base of all built-in constraints - within NUnit. It provides the operator overloads used to combine - constraints. - - - - - Construct a constraint with optional arguments - - Arguments to be saved - - - - The display name of this Constraint for use by ToString(). - The default value is the name of the constraint with - trailing "Constraint" removed. Derived classes may set - this to another name in their constructors. - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Arguments provided to this Constraint, for use in - formatting the description. - - - - - The ConstraintBuilder holding this constraint - - - - - Applies the constraint to an actual value, returning a ConstraintResult. - - The value to be tested - A ConstraintResult - - - - Applies the constraint to an ActualValueDelegate that returns - the value to be tested. The default implementation simply evaluates - the delegate but derived classes may override it to provide for - delayed processing. - - An ActualValueDelegate - A ConstraintResult - - - - Test whether the constraint is satisfied by a given reference. - The default implementation simply dereferences the value but - derived classes may override it to provide for delayed processing. - - A reference to the value to be tested - A ConstraintResult - - - - Retrieves the value to be tested from an ActualValueDelegate. - The default implementation simply evaluates the delegate but derived - classes may override it to provide for delayed processing. - - An ActualValueDelegate - Delegate evaluation result - - - - Default override of ToString returns the constraint DisplayName - followed by any arguments within angle brackets. - - - - - - Returns the string representation of this constraint - - - - - This operator creates a constraint that is satisfied only if both - argument constraints are satisfied. - - - - - This operator creates a constraint that is satisfied if either - of the argument constraints is satisfied. - - - - - This operator creates a constraint that is satisfied if the - argument constraint is not satisfied. - - - - - Returns a ConstraintExpression by appending And - to the current constraint. - - - - - Returns a ConstraintExpression by appending And - to the current constraint. - - - - - Returns a ConstraintExpression by appending Or - to the current constraint. - - - - - Returns a DelayedConstraint.WithRawDelayInterval with the specified delay time. - - The delay, which defaults to milliseconds. - - - - - Returns a DelayedConstraint with the specified delay time - and polling interval. - - The delay in milliseconds. - The interval at which to test the constraint. - - - - - Resolves any pending operators and returns the resolved constraint. - - - - - ConstraintBuilder maintains the stacks that are used in - processing a ConstraintExpression. An OperatorStack - is used to hold operators that are waiting for their - operands to be reorganized. a ConstraintStack holds - input constraints as well as the results of each - operator applied. - - - - - OperatorStack is a type-safe stack for holding ConstraintOperators - - - - - Initializes a new instance of the class. - - The ConstraintBuilder using this stack. - - - - Gets a value indicating whether this is empty. - - if empty; otherwise, . - - - - Gets the topmost operator without modifying the stack. - - - - - Pushes the specified operator onto the stack. - - The operator to put onto the stack. - - - - Pops the topmost operator from the stack. - - The topmost operator on the stack - - - - ConstraintStack is a type-safe stack for holding Constraints - - - - - Initializes a new instance of the class. - - The ConstraintBuilder using this stack. - - - - Gets a value indicating whether this is empty. - - if empty; otherwise, . - - - - Pushes the specified constraint. As a side effect, - the constraint's Builder field is set to the - ConstraintBuilder owning this stack. - - The constraint to put onto the stack - - - - Pops this topmost constraint from the stack. - As a side effect, the constraint's Builder - field is set to null. - - The topmost constraint on the stack - - - - Initializes a new instance of the class. - - - - - Appends the specified operator to the expression by first - reducing the operator stack and then pushing the new - operator on the stack. - - The operator to push. - - - - Appends the specified constraint to the expression by pushing - it on the constraint stack. - - The constraint to push. - - - - Sets the top operator right context. - - The right context. - - - - Reduces the operator stack until the topmost item - precedence is greater than or equal to the target precedence. - - The target precedence. - - - - Resolves this instance, returning a Constraint. If the Builder - is not currently in a resolvable state, an exception is thrown. - - The resolved constraint - - - - Gets a value indicating whether this instance is resolvable. - - - if this instance is resolvable; otherwise, . - - - - - ConstraintExpression represents a compound constraint in the - process of being constructed from a series of syntactic elements. - - Individual elements are appended to the expression as they are - reorganized. When a constraint is appended, it is returned as the - value of the operation so that modifiers may be applied. However, - any partially built expression is attached to the constraint for - later resolution. When an operator is appended, the partial - expression is returned. If it's a self-resolving operator, then - a ResolvableConstraintExpression is returned. - - - - - The ConstraintBuilder holding the elements recognized so far - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the - class passing in a ConstraintBuilder, which may be pre-populated. - - The builder. - - - - Returns a string representation of the expression as it - currently stands. This should only be used for testing, - since it has the side-effect of resolving the expression. - - - - - - Appends an operator to the expression and returns the - resulting expression itself. - - - - - Appends a self-resolving operator to the expression and - returns a new ResolvableConstraintExpression. - - - - - Appends a constraint to the expression and returns that - constraint, which is associated with the current state - of the expression being built. Note that the constraint - is not reduced at this time. For example, if there - is a NotOperator on the stack we don't reduce and - return a NotConstraint. The original constraint must - be returned because it may support modifiers that - are yet to be applied. - - - - - Returns a ConstraintExpression that negates any - following constraint. - - - - - Returns a ConstraintExpression that negates any - following constraint. - - - - - Returns a ConstraintExpression, which will apply - the following constraint to all members of a collection, - succeeding if all of them succeed. - - - - - Returns a ConstraintExpression, which will apply - the following constraint to all members of a collection, - succeeding if at least one of them succeeds. - - - - - Returns a ConstraintExpression, which will apply - the following constraint to all members of a collection, - succeeding if all of them fail. - - - - - Returns a ConstraintExpression, which will apply - the following constraint to all members of a collection, - succeeding only if a specified number of them succeed. - - - - - Returns a , which will - apply the following constraint to a collection of length one, succeeding - only if exactly one of them succeeds. - - - - - Returns a new PropertyConstraintExpression, which will either - test for the existence of the named property on the object - being tested or apply any following constraint to that property. - - - - - Returns a new ConstraintExpression, which will apply the following - constraint to the Length property of the object being tested. - - - - - Returns a new ConstraintExpression, which will apply the following - constraint to the Count property of the object being tested. - - - - - Returns a new ConstraintExpression, which will apply the following - constraint to the Message property of the object being tested. - - - - - Returns a new ConstraintExpression, which will apply the following - constraint to the InnerException property of the object being tested. - - - - - Returns a new AttributeConstraint checking for the - presence of a particular attribute on an object. - - - - - Returns a new AttributeConstraint checking for the - presence of a particular attribute on an object. - - - - - With is currently a NOP - reserved for future use. - - - - - Returns the constraint provided as an argument - used to allow custom - custom constraints to easily participate in the syntax. - - - - - Returns the constraint provided as an argument - used to allow custom - custom constraints to easily participate in the syntax. - - - - - Returns a constraint that tests for null - - - - - Returns a constraint that tests for True - - - - - Returns a constraint that tests for False - - - - - Returns a constraint that tests for a positive value - - - - - Returns a constraint that tests for a negative value - - - - - Returns a constraint that tests if item is equal to zero - - - - - Returns a constraint that tests for NaN - - - - - Returns a constraint that tests for empty - - - - - Returns a constraint that tests whether a collection - contains all unique items. - - - - - Returns a constraint that tests whether an object graph is serializable in binary format. - - - - - Returns a constraint that tests whether an object graph is serializable in XML format. - - - - - Returns a constraint that tests two items for equality - - - - - Returns a constraint that tests that two references are the same object - - - - - Returns a constraint that tests whether the - actual value is greater than the supplied argument - - - - - Returns a constraint that tests whether the - actual value is greater than or equal to the supplied argument - - - - - Returns a constraint that tests whether the - actual value is greater than or equal to the supplied argument - - - - - Returns a constraint that tests whether the - actual value is less than the supplied argument - - - - - Returns a constraint that tests whether the - actual value is less than or equal to the supplied argument - - - - - Returns a constraint that tests whether the - actual value is less than or equal to the supplied argument - - - - - Returns a constraint that tests whether the actual - value is of the exact type supplied as an argument. - - - - - Returns a constraint that tests whether the actual - value is of the exact type supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is of the type supplied as an argument or a derived type. - - - - - Returns a constraint that tests whether the actual value - is of the type supplied as an argument or a derived type. - - - - - Returns a constraint that tests whether the actual value - is assignable from the type supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is assignable from the type supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is assignable from the type supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is assignable from the type supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is a collection containing the same elements as the - collection supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is a subset of the collection supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is a superset of the collection supplied as an argument. - - - - - Returns a constraint that tests whether a collection is ordered - - - - - Returns a new checking for the - presence of a particular object in the collection. - - - - - - Returns a new checking for the - presence of a particular object in the collection. - - - To search for a substring instead of a collection element, use the - overload. - - - - - - - Returns a new ContainsConstraint. This constraint - will, in turn, make use of the appropriate second-level - constraint, depending on the type of the actual argument. - - - To search for a collection element instead of a substring, use the - overload. - - - - - - Returns a new checking for the - presence of a particular object in the collection. - - - - - Returns a new ContainsConstraint. This constraint - will, in turn, make use of the appropriate second-level - constraint, depending on the type of the actual argument. - This overload is only used if the item sought is a string, - since any other type implies that we are looking for a - collection member. - - - - - Returns a new DictionaryContainsKeyConstraint checking for the - presence of a particular key in the Dictionary key collection. - - The key to be matched in the Dictionary key collection - - - - Returns a new DictionaryContainsValueConstraint checking for the - presence of a particular value in the Dictionary value collection. - - The value to be matched in the Dictionary value collection - - - - Returns a constraint that succeeds if the actual - value contains the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value contains the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value starts with the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value starts with the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value starts with the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value ends with the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value ends with the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value ends with the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value matches the regular expression supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value matches the regular expression supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value matches the regular expression supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value matches the regular expression supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value matches the regular expression supplied as an argument. - - - - - Returns a constraint that tests whether the path provided - is the same as an expected path after canonicalization. - - - - - Returns a constraint that tests whether the path provided - is the a subpath of the expected path after canonicalization. - - - - - Returns a constraint that tests whether the path provided - is the same path or under an expected path after canonicalization. - - - - - Returns a constraint that tests whether the actual value falls - inclusively within a specified range. - - Inclusive beginning of the range. - Inclusive end of the range. - - - - Returns a constraint that succeeds if the value - is a file or directory and it exists. - - - - - Returns a constraint that tests if an item is equal to any of parameters - - Expected values - - - - Returns a new IndexerConstraintExpression, which will - apply any following constraint to that indexer value. - - Index accessor values. - - - - ConstraintStatus represents the status of a ConstraintResult - returned by a Constraint being applied to an actual value. - - - - - The status has not yet been set - - - - - The constraint succeeded - - - - - The constraint failed - - - - - An error occurred in applying the constraint (reserved for future use) - - - - - Contains the result of matching a against an actual value. - - - - - Constructs a for a particular . - - The Constraint to which this result applies. - The actual value to which the Constraint was applied. - - - - Constructs a for a particular . - - The Constraint to which this result applies. - The actual value to which the Constraint was applied. - The status of the new ConstraintResult. - - - - Constructs a for a particular . - - The Constraint to which this result applies. - The actual value to which the Constraint was applied. - If true, applies a status of Success to the result, otherwise Failure. - - - - The actual value that was passed to the method. - - - - - Gets and sets the ResultStatus for this result. - - - - - True if actual value meets the Constraint criteria otherwise false. - - - - - Display friendly name of the constraint. - - - - - Description of the constraint may be affected by the state the constraint had - when was performed against the actual value. - - - - - Write the failure message to the MessageWriter provided - as an argument. The default implementation simply passes - the result and the actual value to the writer, which - then displays the constraint description and the value. - - Constraints that need to provide additional details, - such as where the error occurred, can override this. - - The MessageWriter on which to display the message - - - - Write some additional failure message. - - The MessageWriter on which to display the message - - - - Write the actual value for a failing constraint test to a - MessageWriter. The default implementation simply writes - the raw value of actual, leaving it to the writer to - perform any formatting. - - The writer on which the actual value is displayed - - - - ContainsConstraint tests a whether a string contains a substring - or a collection contains an object. It postpones the decision of - which test to use until the type of the actual argument is known. - This allows testing whether a string is contained in a collection - or as a substring of another string using the same syntax. - - - - - Initializes a new instance of the class. - - The expected value contained within the string/collection. - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Flag the constraint to ignore case and return self. - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - The DateTimes class contains common operations on Date and Time values. - - - - - Applies a delay to the match so that a match can be evaluated in the future. - - - - - Allows only changing the time dimension of delay interval and setting a polling interval of a DelayedConstraint - - - - - Creates a new DelayedConstraint.WithRawDelayInterval - - Parent DelayedConstraint on which delay interval dimension is required to be set - - - - Changes delay interval dimension to minutes - - - - - Changes delay interval dimension to seconds - - - - - Changes delay interval dimension to milliseconds - - - - - Set polling interval, in milliseconds - - A time interval, in milliseconds - - - - - Allows only setting the polling interval of a DelayedConstraint - - - - - Creates a new DelayedConstraint.WithDimensionedDelayInterval - - Parent DelayedConstraint on which polling interval is required to be set - - - - Set polling interval, in milliseconds - - A time interval, in milliseconds - - - - - Allows only changing the time dimension of the polling interval of a DelayedConstraint - - - - - Creates a new DelayedConstraint.WithRawPollingInterval - - Parent DelayedConstraint on which polling dimension is required to be set - - - - Changes polling interval dimension to minutes - - - - - Changes polling interval dimension to seconds - - - - - Changes polling interval dimension to milliseconds - - - - - Delay value store as an Interval object - - - - - Polling value stored as an Interval object - - - - - Creates a new DelayedConstraint - - The inner constraint to decorate - The time interval after which the match is performed - If the value of is less than 0 - - - - Creates a new DelayedConstraint - - The inner constraint to decorate - The time interval after which the match is performed, in milliseconds - The time interval used for polling, in milliseconds - If the value of is less than 0 - - - - Gets text describing a constraint - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for if the base constraint fails, false if it succeeds - - - - Test whether the constraint is satisfied by a delegate - - The delegate whose value is to be tested - A ConstraintResult - - - - Test whether the constraint is satisfied by a given reference. - Overridden to wait for the specified delay period before - calling the base constraint with the dereferenced value. - - A reference to the value to be tested - True for success, false for failure - - - - Returns the string representation of the constraint. - - - - - Adjusts a Timestamp by a given TimeSpan - - - - - - - - Returns the difference between two Timestamps as a TimeSpan - - - - - - - - DictionaryContainsKeyConstraint is used to test whether a dictionary - contains an expected object as a key. - - - - - Construct a DictionaryContainsKeyConstraint - - - - - - The display name of this Constraint for use by ToString(). - The default value is the name of the constraint with - trailing "Constraint" removed. Derived classes may set - this to another name in their constructors. - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Gets the expected object - - - - - Returns a new DictionaryContainsKeyValuePairConstraint checking for the - presence of a particular key-value-pair in the dictionary. - - - - - Flag the constraint to ignore case and return self. - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - - - - Test whether the expected key is contained in the dictionary - - - - - Flag the constraint to use the supplied predicate function - - The comparison function to use. - - - - Flag the constraint to use the supplied Comparison object. - - The Comparison object to use. - - - - Flag the constraint to use the supplied IComparer object. - - The IComparer object to use. - - - - Flag the constraint to use the supplied IComparer object. - - The IComparer object to use. - - - - Flag the constraint to use the supplied IEqualityComparer object. - - The IComparer object to use. - - - - Flag the constraint to use the supplied IEqualityComparer object. - - The IComparer object to use. - - - - Flag the constraint to use the supplied boolean-returning delegate. - - The supplied boolean-returning delegate to use. - - - - DictionaryContainsKeyValuePairConstraint is used to test whether a dictionary - contains an expected object as a key-value-pair. - - - - - Construct a DictionaryContainsKeyValuePairConstraint - - - - - The display name of this Constraint for use by ToString(). - The default value is the name of the constraint with - trailing "Constraint" removed. Derived classes may set - this to another name in their constructors. - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - - - - Test whether the expected key is contained in the dictionary - - - - - DictionaryContainsValueConstraint is used to test whether a dictionary - contains an expected object as a value. - - - - - Construct a DictionaryContainsValueConstraint - - - - - - The display name of this Constraint for use by ToString(). - The default value is the name of the constraint with - trailing "Constraint" removed. Derived classes may set - this to another name in their constructors. - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Gets the expected object - - - - - Test whether the expected value is contained in the dictionary - - - - - Flag the constraint to use the supplied predicate function - - The comparison function to use. - Self. - - - - Provides a for the constraints - that are applied to each item in the collection - - - - - Constructs a for a particular - Only used for Failure - - The Constraint to which this result applies - The actual value to which the Constraint was applied - Actual item that does not match expected condition - Non matching item index - - - - Write constraint description, actual items, and non-matching item - - The MessageWriter on which to display the message - - - - EmptyCollectionConstraint tests whether a collection is empty. - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Check that the collection is empty - - - - - - - EmptyConstraint tests a whether a string or collection is empty, - postponing the decision about which test is applied until the - type of the actual argument is known. - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - EmptyDirectoryConstraint is used to test that a directory is empty - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - EmptyGuidConstraint tests whether a Guid is empty. - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - EmptyStringConstraint tests whether a string is empty. - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - EndsWithConstraint can test whether a string ends - with an expected substring. - - - - - Initializes a new instance of the class. - - The expected string - - - - Test whether the constraint is matched by the actual value. - This is a template method, which calls the IsMatch method - of the derived class. - - - - - - - EqualConstraint is able to compare an actual value with the - expected value provided in its constructor. Two objects are - considered equal if both are null, or if both have the same - value. NUnit has special semantics for some object types. - - - - - NUnitEqualityComparer used to test equality. - - - - - Initializes a new instance of the class. - - The expected value. - - - - Gets the tolerance for this comparison. - - - The tolerance. - - - - - Gets a value indicating whether to compare case insensitive. - - - if comparing case insensitive; otherwise, . - - - - - Gets a value indicating whether or not to clip strings. - - - if set to clip strings otherwise, . - - - - - Gets the failure points. - - - The failure points. - - - - - Flag the constraint to ignore case and return self. - - - - - Flag the constraint to suppress string clipping - and return self. - - - - - Flag the constraint to compare arrays as collections - and return self. - - - - - Flag the constraint to use a tolerance when determining equality. - - Tolerance value to be used - Self. - - - - Flags the constraint to include - property in comparison of two values. - - - Using this modifier does not allow to use the - constraint modifier. - - - - - Switches the .Within() modifier to interpret its tolerance as - a distance in representable values (see remarks). - - Self. - - Ulp stands for "unit in the last place" and describes the minimum - amount a given value can change. For any integers, an ulp is 1 whole - digit. For floating point values, the accuracy of which is better - for smaller numbers and worse for larger numbers, an ulp depends - on the size of the number. Using ulps for comparison of floating - point results instead of fixed tolerances is safer because it will - automatically compensate for the added inaccuracy of larger numbers. - - - - - Switches the .Within() modifier to interpret its tolerance as - a percentage that the actual values is allowed to deviate from - the expected value. - - Self - - - - Causes the tolerance to be interpreted as a TimeSpan in days. - - Self - - - - Causes the tolerance to be interpreted as a TimeSpan in hours. - - Self - - - - Causes the tolerance to be interpreted as a TimeSpan in minutes. - - Self - - - - Causes the tolerance to be interpreted as a TimeSpan in seconds. - - Self - - - - Causes the tolerance to be interpreted as a TimeSpan in milliseconds. - - Self - - - - Causes the tolerance to be interpreted as a TimeSpan in clock ticks. - - Self - - - - Flag the constraint to use the supplied IComparer object. - - The IComparer object to use. - Self. - - - - Flag the constraint to use the supplied IComparer object. - - The IComparer object to use. - Self. - - - - Flag the constraint to use the supplied boolean-returning delegate. - - The boolean-returning delegate to use. - Self. - - - - Flag the constraint to use the supplied Comparison object. - - The IComparer object to use. - Self. - - - - Flag the constraint to use the supplied IEqualityComparer object. - - The IComparer object to use. - Self. - - - - Flag the constraint to use the supplied IEqualityComparer object. - - The IComparer object to use. - Self. - - - - Flag the constraint to use the supplied predicate function - - The comparison function to use. - Self. - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - The EqualConstraintResult class is tailored for formatting - and displaying the result of an EqualConstraint. - - - - - Construct an EqualConstraintResult - - - - - Write a failure message. Overridden to provide custom - failure messages for EqualConstraint. - - The MessageWriter to write to - - - - Display the failure information for two collections that did not match. - - The MessageWriter on which to display - The expected collection. - The actual collection - The depth of this failure in a set of nested collections - - - - Displays a single line showing the types and sizes of the expected - and actual collections or arrays. If both are identical, the value is - only shown once. - - The MessageWriter on which to display - The expected collection or array - The actual collection or array - The indentation level for the message line - - - - Displays a single line showing the point in the expected and actual - arrays at which the comparison failed. If the arrays have different - structures or dimensions, both values are shown. - - The MessageWriter on which to display - The expected array - The actual array - Index of the failure point in the underlying collections - The indentation level for the message line - - - - Display the failure information for two IEnumerables that did not match. - - The MessageWriter on which to display - The expected enumeration. - The actual enumeration - The depth of this failure in a set of nested collections - - - - EqualityAdapter class handles all equality comparisons - that use an , - or a . - - - - - Compares two objects, returning true if they are equal - - - - - Returns true if the two objects can be compared by this adapter. - The base adapter cannot handle IEnumerables except for strings. - - - - - Returns an that wraps an . - - - - - that wraps an . - - - - - Returns an that wraps an . - - - - - Returns an EqualityAdapter that uses a predicate function for items comparison. - - - - - - - - - Returns true if the two objects can be compared by this adapter. - The base adapter cannot handle IEnumerables except for strings. - - - - - Compares two objects, returning true if they are equal - - - - - Returns true if the two objects can be compared by this adapter. - Generic adapter requires objects of the specified type. - - - - - Returns an that wraps an . - - - - - Returns an that wraps an . - - - - - that wraps an . - - - - - Returns an that wraps a . - - - - - ExactCountConstraint applies another constraint to each - item in a collection, succeeding only if a specified - number of items succeed. - - - - - Construct a standalone ExactCountConstraint - - - - - - Construct an ExactCountConstraint on top of an existing constraint - - - - - - - Apply the item constraint to each item in the collection, - succeeding only if the expected number of items pass. - - The value to be tested - A ConstraintResult - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Contain the result of matching a against an actual value. - - - - - The count of matched items of the - - - - - A list with maximum count (+1) of items of the - - - - - Constructs a for a . - - The Constraint to which this result applies. - The actual value to which the Constraint was applied. - If true, applies a status of Success to the result, otherwise Failure. - Count of matched items of the - A list with maximum count (+1) of items of the - - - - Write the actual value for a failing constraint test to a MessageWriter. - - The writer on which the actual value is displayed - - - - ExactTypeConstraint is used to test that an object - is of the exact type provided in the constructor - - - - - Construct an ExactTypeConstraint for a given Type - - The expected Type. - - - - The display name of this Constraint for use by ToString(). - The default value is the name of the constraint with - trailing "Constraint" removed. Derived classes may set - this to another name in their constructors. - - - - - Apply the constraint to an actual value, returning true if it succeeds - - The actual argument - True if the constraint succeeds, otherwise false. - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Applies the constraint to an actual value, returning a ConstraintResult. - - The value to be tested - A ConstraintResult - - - - ExceptionTypeConstraint is a special version of ExactTypeConstraint - used to provided detailed info about the exception thrown in - an error message. - - - - - Constructs an ExceptionTypeConstraint - - - - - Applies the constraint to an actual value, returning a ConstraintResult. - - The value to be tested - A ConstraintResult - - - - FalseConstraint tests that the actual value is false - - - - - Initializes a new instance of the class. - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - FileExistsConstraint is used to determine if a file exists - - - - - Initializes a new instance of the class. - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - FileOrDirectoryExistsConstraint is used to determine if a file or directory exists - - - - - If true, the constraint will only check if files exist, not directories - - - - - If true, the constraint will only check if directories exist, not files - - - - - Initializes a new instance of the class that - will check files and directories. - - - - - Initializes a new instance of the class that - will only check files if ignoreDirectories is true. - - if set to [ignore directories]. - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Applies the constraint to an actual value, returning a ConstraintResult. - - The value to be tested - A ConstraintResult - - - Helper routines for working with floating point numbers - - - The floating point comparison code is based on this excellent article: - https://randomascii.wordpress.com/2012/02/25/comparing-floating-point-numbers-2012-edition/ - - - "ULP" means Unit in the Last Place and in the context of this library refers to - the distance between two adjacent floating point numbers. IEEE floating point - numbers can only represent a finite subset of natural numbers, with greater - accuracy for smaller numbers and lower accuracy for very large numbers. - - - If a comparison is allowed "2 ulps" of deviation, that means the values are - allowed to deviate by up to 2 adjacent floating point values, which might be - as low as 0.0000001 for small numbers or as high as 10.0 for large numbers. - - - - - Union of a floating point variable and an integer - - - The union's value as a floating point variable - - - The union's value as an integer - - - The union's value as an unsigned integer - - - Union of a double precision floating point variable and a long - - - The union's value as a double precision floating point variable - - - The union's value as a long - - - The union's value as an unsigned long - - - Compares two floating point values for equality - First floating point value to be compared - Second floating point value t be compared - - Maximum number of representable floating point values that are allowed to - be between the left and the right floating point values - - True if both numbers are equal or close to being equal - - - Floating point values can only represent a finite subset of natural numbers. - For example, the values 2.00000000 and 2.00000024 can be stored in a float, - but nothing between them. - - - This comparison will count how many possible floating point values are between - the left and the right number. If the number of possible values between both - numbers is less than or equal to maxUlps, then the numbers are considered as - being equal. - - - Implementation partially follows the code outlined here: - http://www.anttirt.net/2007/08/19/proper-floating-point-comparisons/ - - - - - Compares two double precision floating point values for equality - First double precision floating point value to be compared - Second double precision floating point value t be compared - - Maximum number of representable double precision floating point values that are - allowed to be between the left and the right double precision floating point values - - True if both numbers are equal or close to being equal - - - Double precision floating point values can only represent a limited series of - natural numbers. For example, the values 2.0000000000000000 and 2.0000000000000004 - can be stored in a double, but nothing between them. - - - This comparison will count how many possible double precision floating point - values are between the left and the right number. If the number of possible - values between both numbers is less than or equal to maxUlps, then the numbers - are considered as being equal. - - - Implementation partially follows the code outlined here: - http://www.anttirt.net/2007/08/19/proper-floating-point-comparisons/ - - - - - - Tests whether a value is greater than the value supplied to its constructor - - - - - Initializes a new instance of the class. - - The expected value. - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Perform the comparison - - - - - Tests whether a value is greater than or equal to the value supplied to its constructor - - - - - Initializes a new instance of the class. - - The expected value. - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Perform the comparison - - - - - Interface for all constraints - - - - - The display name of this Constraint for use by ToString(). - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Arguments provided to this Constraint, for use in - formatting the description. - - - - - The ConstraintBuilder holding this constraint - - - - - Applies the constraint to an actual value, returning a ConstraintResult. - - The value to be tested - A ConstraintResult - - - - Applies the constraint to an ActualValueDelegate that returns - the value to be tested. The default implementation simply evaluates - the delegate but derived classes may override it to provide for - delayed processing. - - An ActualValueDelegate - A ConstraintResult - - - - Test whether the constraint is satisfied by a given reference. - The default implementation simply dereferences the value but - derived classes may override it to provide for delayed processing. - - A reference to the value to be tested - A ConstraintResult - - - - IndexerConstraint extracts a named property and uses - its value as the actual value for a chained constraint. - - - - - Initializes a new instance of the class. - - The argument list for the indexer. - The constraint to apply to the indexer. - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - - - - Returns the string representation of the constraint. - - - - - InstanceOfTypeConstraint is used to test that an object - is of the same type provided or derived from it. - - - - - Construct an InstanceOfTypeConstraint for the type provided - - The expected Type - - - - The display name of this Constraint for use by ToString(). - The default value is the name of the constraint with - trailing "Constraint" removed. Derived classes may set - this to another name in their constructors. - - - - - Apply the constraint to an actual value, returning true if it succeeds - - The actual argument - True if the constraint succeeds, otherwise false. - - - - Keeps track of an interval time which can be represented in - Minutes, Seconds or Milliseconds - - - - - Constructs a interval given an value in milliseconds - - - - - Gets Interval value represented as a TimeSpan object - - - - - Returns the interval with the current value as a number of minutes. - - - - - Returns the interval with the current value as a number of seconds. - - - - - Returns the interval with the current value as a number of milliseconds. - - - - - Is true for intervals created with a non-zero value - - - - - Returns a string that represents the current object. - - - A string that represents the current object. - - - - - IntervalUnit provides the semantics to the value stored in Interval class. - - - - - Unit representing an Interval in minutes - - - - - Unit representing an Interval in seconds - - - - - Unit representing an Interval in milliseconds - - - - - The IResolveConstraint interface is implemented by all - complete and resolvable constraints and expressions. - - - - - Return the top-level constraint for this expression - - - - - - An extension of ResolvableConstraintExpression that adds a no-op Items property for readability. - - - - - Create a new instance of ItemsConstraintExpression - - - - - Create a new instance of ResolvableConstraintExpression, - passing in a pre-populated ConstraintBuilder. - - - - - - No-op property for readability. - - - - - Tests whether a value is less than the value supplied to its constructor - - - - - Initializes a new instance of the class. - - The expected value. - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Perform the comparison - - - - - Tests whether a value is less than or equal to the value supplied to its constructor - - - - - Initializes a new instance of the class. - - The expected value. - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Perform the comparison - - - - - MessageWriter is the abstract base for classes that write - constraint descriptions and messages in some form. The - class has separate methods for writing various components - of a message, allowing implementations to tailor the - presentation as needed. - - - - - Construct a MessageWriter given a culture - - - - - Abstract method to get the max line length - - - - - Method to write single line message with optional args, usually - written to precede the general failure message. - - The message to be written - Any arguments used in formatting the message - - - - Method to write single line message with optional args, usually - written to precede the general failure message, at a given - indentation level. - - The indentation level of the message - The message to be written - Any arguments used in formatting the message - - - - Display Expected and Actual lines for a constraint. This - is called by MessageWriter's default implementation of - WriteMessageTo and provides the generic two-line display. - - The failing constraint result - - - - Display Expected and Actual lines for given values. This - method may be called by constraints that need more control over - the display of actual and expected values than is provided - by the default implementation. - - The expected value - The actual value causing the failure - - - - Display Expected and Actual lines for given values, including - a tolerance value on the Expected line. - - The expected value - The actual value causing the failure - The tolerance within which the test was made - - - - Display the expected and actual string values on separate lines. - If the mismatch parameter is >=0, an additional line is displayed - line containing a caret that points to the mismatch point. - - The expected string value - The actual string value - The point at which the strings don't match or -1 - If true, case is ignored in locating the point where the strings differ - If true, the strings should be clipped to fit the line - - - - Writes the text for an actual value. - - The actual value. - - - - Writes the text for a generalized value. - - The value. - - - - Writes the text for a collection value, - starting at a particular point, to a max length - - The collection containing elements to write. - The starting point of the elements to write - The maximum number of elements to write - - - - Custom value formatter function - - The value - - - - - Custom value formatter factory function - - The next formatter function - ValueFormatter - If the given formatter is unable to handle a certain format, it must call the next formatter in the chain - - - - Static methods used in creating messages - - - - - Default amount of items used by method. - - - - - Static string used when strings are clipped - - - - - Formatting strings used for expected and actual values - - - - - Current head of chain of value formatters. Public for testing. - - - - - Add a formatter to the chain of responsibility. - - - - - - Formats text to represent a generalized value. - - The value - The formatted text - - - - Formats text for a collection value, - starting at a particular point, to a max length - - The collection containing elements to write. - The starting point of the elements to write - The maximum number of elements to write - - - - Returns the representation of a type as used in NUnitLite. - This is the same as Type.ToString() except for arrays, - which are displayed with their declared sizes. - - - - - - - Converts any control characters in a string - to their escaped representation. - - The string to be converted - The converted string - - - - Converts any null characters in a string - to their escaped representation. - - The string to be converted - The converted string - - - - Return the a string representation for a set of indices into an array - - Array of indices for which a string is needed - - - - Get an array of indices representing the point in a collection or - array corresponding to a single int index into the collection. - - The collection to which the indices apply - Index in the collection - Array of indices - - - - Clip a string to a given length, starting at a particular offset, returning the clipped - string with ellipses representing the removed parts - - The string to be clipped - The maximum permitted length of the result string - The point at which to start clipping - The clipped string - - - - Clip the expected and actual strings in a coordinated fashion, - so that they may be displayed together. - - - - - - - - - Shows the position two strings start to differ. Comparison - starts at the start index. - - The expected string - The actual string - The index in the strings at which comparison should start - Boolean indicating whether case should be ignored - -1 if no mismatch found, or the index where mismatch found - - - - NaNConstraint tests that the actual value is a double or float NaN - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Test that the actual value is an NaN - - - - - - - NoItemConstraint applies another constraint to each - item in a collection, failing if any of them succeeds. - - - - - Construct a SomeItemsConstraint on top of an existing constraint - - - - - - The display name of this Constraint for use by ToString(). - The default value is the name of the constraint with - trailing "Constraint" removed. Derived classes may set - this to another name in their constructors. - - - - - Apply the item constraint to each item in the collection, - failing if any item fails. - - - - - - - NotConstraint negates the effect of some other constraint - - - - - Initializes a new instance of the class. - - The base constraint to be negated. - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for if the base constraint fails, false if it succeeds - - - - NullConstraint tests that the actual value is null - - - - - Initializes a new instance of the class. - - - - - Applies the constraint to an actual value, returning a ConstraintResult. - - The value to be tested - A ConstraintResult - - - - The Numerics class contains common operations on numeric values. - - - - - Checks the type of the object, returning true if - the object is a numeric type. - - The object to check - true if the object is a numeric type - - - - Checks the type of the object, returning true if - the object is a floating point numeric type. - - The object to check - true if the object is a floating point numeric type - - - - Checks the type of the object, returning true if - the object is a fixed point numeric type. - - The object to check - true if the object is a fixed point numeric type - - - - Test two numeric values for equality, performing the usual numeric - conversions and using a provided or default tolerance. If the tolerance - provided is Empty, this method may set it to a default tolerance. - - The expected value - The actual value - A reference to the tolerance in effect - True if the values are equal - - - - Compare two numeric values, performing the usual numeric conversions. - - The expected value - The actual value - The relationship of the values to each other - - - - Calculates the difference between 2 values in absolute/percent mode. - - The expected value - The actual value - Tolerance mode to specify difference representation - The difference between the values - - - - NUnitComparer encapsulates NUnit's default behavior - in comparing two objects. - - - - - Returns the default NUnitComparer. - - - - - Compares two objects - - - - - - - - NUnitEqualityComparer encapsulates NUnit's handling of - equality tests between objects. - - - - - If true, all string comparisons will ignore case - - - - - If true, arrays will be treated as collections, allowing - those of different dimensions to be compared - - - - - Comparison objects used in comparisons for some constraints. - - - - - List of points at which a failure occurred. - - - - - List of comparers used to compare pairs of objects. - - - - - Initializes a new instance of the class. - - - - - Returns the default NUnitEqualityComparer - - - - - Gets and sets a flag indicating whether case should - be ignored in determining equality. - - - - - Gets and sets a flag indicating that arrays should be - compared as collections, without regard to their shape. - - - - - Gets the list of external comparers to be used to - test for equality. They are applied to members of - collections, in place of NUnit's own logic. - - - - - Gets the list of failure points for the last Match performed. - The list consists of objects to be interpreted by the caller. - This generally means that the caller may only make use of - objects it has placed on the list at a particular depth. - - - - - Flags the comparer to include - property in comparison of two values. - - - Using this modifier does not allow to use the - modifier. - - - - - Compares two objects for equality within a tolerance. - - - - - Compares two objects for equality within a tolerance. - - - - - FailurePoint class represents one point of failure - in an equality test. - - - - - The location of the failure - - - - - The expected value - - - - - The actual value - - - - - Indicates whether the expected value is valid - - - - - Indicates whether the actual value is valid - - - - - Represents a constraint that succeeds if all the - members of a collection match a base constraint. - - - - - Returns a constraint that will apply the argument - to the members of a collection, succeeding if - they all succeed. - - - - - Operator that requires both its arguments to succeed - - - - - Construct an AndOperator - - - - - Apply the operator to produce an AndConstraint - - - - - Operator that tests for the presence of a particular attribute - on a type and optionally applies further tests to the attribute. - - - - - Construct an AttributeOperator for a particular Type - - The Type of attribute tested - - - - Reduce produces a constraint from the operator and - any arguments. It takes the arguments from the constraint - stack and pushes the resulting constraint on it. - - - - - Abstract base class for all binary operators - - - - - Reduce produces a constraint from the operator and - any arguments. It takes the arguments from the constraint - stack and pushes the resulting constraint on it. - - - - - - Gets the left precedence of the operator - - - - - Gets the right precedence of the operator - - - - - Abstract method that produces a constraint by applying - the operator to its left and right constraint arguments. - - - - - Abstract base for operators that indicate how to - apply a constraint to items in a collection. - - - - - Constructs a CollectionOperator - - - - - The ConstraintOperator class is used internally by a - ConstraintBuilder to represent an operator that - modifies or combines constraints. - - Constraint operators use left and right precedence - values to determine whether the top operator on the - stack should be reduced before pushing a new operator. - - - - - The precedence value used when the operator - is about to be pushed to the stack. - - - - - The precedence value used when the operator - is on the top of the stack. - - - - - The syntax element preceding this operator - - - - - The syntax element following this operator - - - - - The precedence value used when the operator - is about to be pushed to the stack. - - - - - The precedence value used when the operator - is on the top of the stack. - - - - - Reduce produces a constraint from the operator and - any arguments. It takes the arguments from the constraint - stack and pushes the resulting constraint on it. - - - - - - Represents a constraint that succeeds if the specified - count of members of a collection match a base constraint. - - - - - Construct an ExactCountOperator for a specified count - - The expected count - - - - Reduce produces a constraint from the operator and - any arguments. It takes the arguments from the constraint - stack and pushes the resulting constraint on it. - - - - - - Operator used to test for the presence of a Indexer - on an object and optionally apply further tests to the - value of that indexer. - - - - - Constructs a IndexerOperator for a particular set of indexer - parameters - - - - - Returns a IndexerConstraint applied to its argument. - - - - - Represents a constraint that succeeds if none of the - members of a collection match a base constraint. - - - - - Returns a constraint that will apply the argument - to the members of a collection, succeeding if - none of them succeed. - - - - - Negates the test of the constraint it wraps. - - - - - Constructs a new NotOperator - - - - - Returns a NotConstraint applied to its argument. - - - - - Operator that requires at least one of its arguments to succeed - - - - - Construct an OrOperator - - - - - Apply the operator to produce an OrConstraint - - - - - PrefixOperator takes a single constraint and modifies - its action in some way. - - - - - Reduce produces a constraint from the operator and - any arguments. It takes the arguments from the constraint - stack and pushes the resulting constraint on it. - - - - - - Returns the constraint created by applying this - prefix to another constraint. - - - - - - - Operator used to test for the presence of a named Property - on an object and optionally apply further tests to the - value of that property. - - - - - Gets the name of the property to which the operator applies - - - - - Constructs a PropOperator for a particular named property - - - - - Reduce produces a constraint from the operator and - any arguments. It takes the arguments from the constraint - stack and pushes the resulting constraint on it. - - - - - - Abstract base class for operators that are able to reduce to a - constraint whether or not another syntactic element follows. - - - - - Represents a constraint that succeeds if any of the - members of a collection match a base constraint. - - - - - Returns a constraint that will apply the argument - to the members of a collection, succeeding if - any of them succeed. - - - - - Operator that tests that an exception is thrown and - optionally applies further tests to the exception. - - - - - Construct a ThrowsOperator - - - - - Reduce produces a constraint from the operator and - any arguments. It takes the arguments from the constraint - stack and pushes the resulting constraint on it. - - - - - Represents a constraint that simply wraps the - constraint provided as an argument, without any - further functionality, but which modifies the - order of evaluation because of its precedence. - - - - - Constructor for the WithOperator - - - - - Returns a constraint that wraps its argument - - - - - OrConstraint succeeds if either member succeeds - - - - - Create an OrConstraint from two other constraints - - The first constraint - The second constraint - - - - Gets text describing a constraint - - - - - Apply the member constraints to an actual value, succeeding - succeeding as soon as one of them succeeds. - - The actual value - True if either constraint succeeded - - - - PathConstraint serves as the abstract base of constraints - that operate on paths and provides several helper methods. - - - - - Construct a PathConstraint for a give expected path - - The expected path - - - - Modifies the current instance to be case-sensitive - and returns it. - - - - - Returns the string representation of this constraint - - - - - Canonicalize the provided path - - - The path in standardized form - - - - Test whether one path in canonical form is a subpath of another path - - The first path - supposed to be the parent path - The second path - supposed to be the child path - - - - - Predicate constraint wraps a Predicate in a constraint, - returning success if the predicate is true. - - - - - Construct a PredicateConstraint from a predicate - - - - - Gets text describing a constraint - - - - - Determines whether the predicate succeeds when applied - to the actual value. - - - - - Abstract base class used for prefixes - - - - - The base constraint - - - - - Prefix used in forming the constraint description - - - - - Construct given a base constraint - - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Formats a prefix constraint's description. - - - - - PropertyConstraint extracts a named property and uses - its value as the actual value for a chained constraint. - - - - - Initializes a new instance of the class. - - The name. - The constraint to apply to the property. - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - - - - Returns the string representation of the constraint. - - - - - Contains the result of matching a against an actual value. - - - - - Constructs a for a particular . - - The Constraint to which this result applies. - The base result with actual value to which the Constraint was applied. - - - - Write the additional failure message for a failing constraint to a - MessageWriter. - - The writer on which the actual value is displayed - - - - PropertyExistsConstraint tests that a named property - exists on the object provided through Match. - - Originally, PropertyConstraint provided this feature - in addition to making optional tests on the value - of the property. The two constraints are now separate. - - - - - Initializes a new instance of the class. - - The name of the property. - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Test whether the property exists for a given object - - The object to be tested - True for success, false for failure - - - - Returns the string representation of the constraint. - - - - - - RangeConstraint tests whether two values are within a - specified range. - - - - - Initializes a new instance of the class. - - Inclusive beginning of the range. - Inclusive end of the range. - - - - Gets text describing a constraint - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - Modifies the constraint to use an and returns self. - - - - - Modifies the constraint to use an and returns self. - - - - - Modifies the constraint to use a and returns self. - - - - - RegexConstraint can test whether a string matches - the pattern provided. - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Initializes a new instance of the class. - - The pattern. - - - - Initializes a new instance of the class. - - The Regex pattern object. - - - - Modify the constraint to ignore case in matching. - - - - - Applies the regex constraint to an actual value, returning a ConstraintResult. - - The string to be tested. - True for success, false for failure. - - - - ResolvableConstraintExpression is used to represent a compound - constraint being constructed at a point where the last operator - may either terminate the expression or may have additional - qualifying constraints added to it. - - It is used, for example, for a Property element or for - an Exception element, either of which may be optionally - followed by constraints that apply to the property or - exception. - - - - - Create a new instance of ResolvableConstraintExpression - - - - - Create a new instance of ResolvableConstraintExpression, - passing in a pre-populated ConstraintBuilder. - - - - - Appends an And Operator to the expression - - - - - Appends an Or operator to the expression. - - - - - Resolve the current expression to a Constraint - - - - - ReusableConstraint wraps a constraint expression after - resolving it so that it can be reused consistently. - - - - - Construct a ReusableConstraint from a constraint expression - - The expression to be resolved and reused - - - - Converts a constraint to a ReusableConstraint - - The constraint to be converted - A ReusableConstraint - - - - Returns a that represents this instance. - - - A that represents this instance. - - - - - Return the top-level constraint for this expression - - - - - - SameAsConstraint tests whether an object is identical to - the object passed to its constructor - - - - - Initializes a new instance of the class. - - The expected object. - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - Summary description for SamePathConstraint. - - - - - Initializes a new instance of the class. - - The expected path - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - SamePathOrUnderConstraint tests that one path is under another - - - - - Initializes a new instance of the class. - - The expected path - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - SomeItemsConstraint applies another constraint to each - item in a collection, succeeding if any of them succeeds. - - - - - Construct a SomeItemsConstraint on top of an existing constraint - - - - - - The display name of this Constraint for use by ToString(). - The default value is the name of the constraint with - trailing "Constraint" removed. Derived classes may set - this to another name in their constructors. - - - - - Apply the item constraint to each item in the collection, - succeeding if any item succeeds. - - - - - - - Flag the constraint to use the supplied object. - - The type of the elements in the collection. - The type of the member. - The comparison function to use. - Self. - - - - Flag the constraint to use the supplied object. - - The IComparer object to use. - Self. - - - - Flag the constraint to use the supplied object. - - The IComparer object to use. - Self. - - - - Flag the constraint to use the supplied object. - - The IComparer object to use. - Self. - - - - Flag the constraint to use the supplied object. - - The IComparer object to use. - Self. - - - - Flag the constraint to use the supplied object. - - The IComparer object to use. - Self. - - - - StartsWithConstraint can test whether a string starts - with an expected substring. - - - - - Initializes a new instance of the class. - - The expected string - - - - Test whether the constraint is matched by the actual value. - This is a template method, which calls the IsMatch method - of the derived class. - - - - - - - StringConstraint is the abstract base for constraints - that operate on strings. It supports the IgnoreCase - modifier for string operations. - - - - - The expected value - - - - - Indicates whether tests should be case-insensitive - - - - - Description of this constraint - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Constructs a StringConstraint without an expected value - - - - - Constructs a StringConstraint given an expected value - - The expected value - - - - Modify the constraint to ignore case in matching. - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - Test whether the constraint is satisfied by a given string - - The string to be tested - True for success, false for failure - - - - SubPathConstraint tests that the actual path is under the expected path - - - - - Initializes a new instance of the class. - - The expected path - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - SubstringConstraint can test whether a string contains - the expected substring. - - - - - Initializes a new instance of the class. - - The expected. - - - - Modify the constraint to ignore case in matching. - This will call Using(StringComparison.CurrentCultureIgnoreCase). - - Thrown when a comparison type different - than was already set. - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - Modify the constraint to the specified comparison. - - Thrown when a comparison type different - than was already set. - - - - ThrowsConstraint is used to test the exception thrown by - a delegate by applying a constraint to it. - - - - - Initializes a new instance of the class, - using a constraint to be applied to the exception. - - A constraint to apply to the caught exception. - - - - Get the actual exception thrown - used by Assert.Throws. - - - - - Gets text describing a constraint - - - - - Executes the code of the delegate and captures any exception. - If a non-null base constraint was provided, it applies that - constraint to the exception. - - A delegate representing the code to be tested - True if an exception is thrown and the constraint succeeds, otherwise false - - - - Converts an ActualValueDelegate to a TestDelegate - before calling the primary overload. - - - - - - - Write the actual value for a failing constraint test to a - MessageWriter. This override only handles the special message - used when an exception is expected but none is thrown. - - The writer on which the actual value is displayed - - - - ThrowsExceptionConstraint tests that an exception has - been thrown, without any further tests. - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Executes the code and returns success if an exception is thrown. - - A delegate representing the code to be tested - True if an exception is thrown, otherwise false - - - - Applies the constraint to an ActualValueDelegate that returns - the value to be tested. The default implementation simply evaluates - the delegate but derived classes may override it to provide for - delayed processing. - - - - - ThrowsNothingConstraint tests that a delegate does not - throw an exception. - - - - - Gets text describing a constraint - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True if no exception is thrown, otherwise false - - - - Applies the constraint to an ActualValueDelegate that returns - the value to be tested. The default implementation simply evaluates - the delegate but derived classes may override it to provide for - delayed processing. - - An ActualValueDelegate - A ConstraintResult - - - - The Tolerance class generalizes the notion of a tolerance - within which an equality test succeeds. Normally, it is - used with numeric types, but it can be used with any - type that supports taking a difference between two - objects and comparing that difference to a value. - - - - - Returns a default Tolerance object, equivalent to an exact match. - - - - - Returns an empty Tolerance object, equivalent to an exact match. - - - - - Constructs a linear tolerance of a specified amount - - - - - Constructs a tolerance given an amount and - - - - - Returns a new tolerance, using the current amount as a percentage. - - - - - Returns a new tolerance, using the current amount in Ulps - - - - - Returns a new tolerance with a as the amount, using - the current amount as a number of days. - - - - - Returns a new tolerance with a as the amount, using - the current amount as a number of hours. - - - - - Returns a new tolerance with a as the amount, using - the current amount as a number of minutes. - - - - - Returns a new tolerance with a as the amount, using - the current amount as a number of seconds. - - - - - Returns a new tolerance with a as the amount, using - the current amount as a number of milliseconds. - - - - - Returns a new tolerance with a as the amount, using - the current amount as a number of clock ticks. - - - - - Gets the for the current Tolerance - - - - - Gets the magnitude of the current Tolerance instance. - - - - - Returns true if the current tolerance has not been set or is using the . - - - - - Apply the tolerance to an expected value and return - a Tolerance.Range that represents the acceptable values. - - - - - Tests that the current Tolerance is linear with a - numeric value, throwing an exception if it is not. - - - - - Tolerance.Range represents the range of values that match - a specific tolerance, when applied to a specific value. - - - - - The lower bound of the range - - - - - The upper bound of the range - - - - - Constructs a range - - - - - Modes in which the tolerance value for a comparison can be interpreted. - - - - - The tolerance was created with a value, without specifying - how the value would be used. This is used to prevent setting - the mode more than once and is generally changed to Linear - upon execution of the test. - - - - - The tolerance is used as a numeric range within which - two compared values are considered to be equal. - - - - - Interprets the tolerance as the percentage by which - the two compared values my deviate from each other. - - - - - Compares two values based in their distance in - representable numbers. - - - - - TrueConstraint tests that the actual value is true - - - - - Initializes a new instance of the class. - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - TypeConstraint is the abstract base for constraints - that take a Type as their expected value. - - - - - The expected Type used by the constraint - - - - - The type of the actual argument to which the constraint was applied - - - - - Construct a TypeConstraint for a given Type - - The expected type for the constraint - Prefix used in forming the constraint description - - - - Applies the constraint to an actual value, returning a ConstraintResult. - - The value to be tested - A ConstraintResult - - - - Apply the constraint to an actual value, returning true if it succeeds - - The actual argument - True if the constraint succeeds, otherwise false. - - - - UniqueItemsConstraint tests whether all the items in a - collection are unique. - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Check that all items are unique. - - - - - - - - - - XmlSerializableConstraint tests whether - an object is serializable in XML format. - - - - - Gets text describing a constraint - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - Returns the string representation of this constraint - - - - - Helper class with properties and methods that supply - a number of constraints used in Asserts. - - - - - Returns a new checking for the - presence of a particular object in the collection. - - - - - Returns a new DictionaryContainsKeyConstraint checking for the - presence of a particular key in the dictionary. - - - - - Returns a new DictionaryContainsValueConstraint checking for the - presence of a particular value in the dictionary. - - - - - Returns a constraint that succeeds if the actual - value contains the substring supplied as an argument. - - - - - Asserts on Directories - - - - - DO NOT USE! Use DirectoryAssert.AreEqual(...) instead. - The Equals method throws an InvalidOperationException. This is done - to make sure there is no mistake by calling this function. - - - - - - - DO NOT USE! - The ReferenceEquals method throws an InvalidOperationException. This is done - to make sure there is no mistake by calling this function. - - - - - - - Verifies that two directories are equal. Two directories are considered - equal if both are null, or if both point to the same directory. - If they are not equal an is thrown. - - A directory containing the value that is expected - A directory containing the actual value - The message to display if the directories are not equal - Arguments to be used in formatting the message - - - - Verifies that two directories are equal. Two directories are considered - equal if both are null, or if both point to the same directory. - If they are not equal an is thrown. - - A directory containing the value that is expected - A directory containing the actual value - - - - Asserts that two directories are not equal. If they are equal - an is thrown. - - A directory containing the value that is expected - A directory containing the actual value - The message to display if directories are not equal - Arguments to be used in formatting the message - - - - Asserts that two directories are not equal. If they are equal - an is thrown. - - A directory containing the value that is expected - A directory containing the actual value - - - - Asserts that the directory exists. If it does not exist - an is thrown. - - A directory containing the actual value - The message to display if directories are not equal - Arguments to be used in formatting the message - - - - Asserts that the directory exists. If it does not exist - an is thrown. - - A directory containing the actual value - - - - Asserts that the directory exists. If it does not exist - an is thrown. - - The path to a directory containing the actual value - The message to display if directories are not equal - Arguments to be used in formatting the message - - - - Asserts that the directory exists. If it does not exist - an is thrown. - - The path to a directory containing the actual value - - - - Asserts that the directory does not exist. If it does exist - an is thrown. - - A directory containing the actual value - The message to display if directories are not equal - Arguments to be used in formatting the message - - - - Asserts that the directory does not exist. If it does exist - an is thrown. - - A directory containing the actual value - - - - Asserts that the directory does not exist. If it does exist - an is thrown. - - The path to a directory containing the actual value - The message to display if directories are not equal - Arguments to be used in formatting the message - - - - Asserts that the directory does not exist. If it does exist - an is thrown. - - The path to a directory containing the actual value - - - - Helper class with properties and methods that supply - a number of constraints used in Asserts. - - - - - Returns a ConstraintExpression that negates any - following constraint. - - - - - Returns a constraint that succeeds if the value - is a file or directory and it exists. - - - - - Returns a new checking for the - presence of a particular object in the collection. - - - - - Returns a new . This constraint - will, in turn, make use of the appropriate second-level - constraint, depending on the type of the actual argument. - This overload is only used if the item sought is a string, - since any other type implies that we are looking for a - collection member. - - - - - Returns a new DictionaryContainsKeyConstraint checking for the - presence of a particular key in the Dictionary key collection. - - The key to be matched in the Dictionary key collection - - - - Returns a new DictionaryContainsValueConstraint checking for the - presence of a particular value in the Dictionary value collection. - - The value to be matched in the Dictionary value collection - - - - Returns a constraint that succeeds if the actual - value starts with the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value ends with the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value matches the regular expression supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value matches the regular expression supplied as an argument. - - - - - If throws, returns "SomeException was thrown by the Exception.StackTrace - property." See also . - - - - - If throws, returns "SomeException was thrown by the Exception.Message - property." - - - - - If throws, returns "SomeException was thrown by the Exception.Data property." - - - - - Thrown when an assertion failed. - - - - The error message that explains - the reason for the exception - - - The error message that explains - the reason for the exception - The exception that caused the - current exception - - - - Serialization Constructor - - - - - Gets the ResultState provided by this exception - - - - - Thrown when an assertion failed. - - - - - - - The error message that explains - the reason for the exception - The exception that caused the - current exception - - - - Serialization Constructor - - - - - Gets the ResultState provided by this exception - - - - - Thrown when a test executes inconclusively. - - - - The error message that explains - the reason for the exception - - - The error message that explains - the reason for the exception - The exception that caused the - current exception - - - - Serialization Constructor - - - - - Gets the ResultState provided by this exception - - - - - Thrown when an assertion failed. - - - - - Construct based on the TestResult so far. This is the constructor - used normally, when exiting the multiple assert block with failures. - Not used internally but provided to facilitate debugging. - - - The current result, up to this point. The result is not used - internally by NUnit but is provided to facilitate debugging. - - - - - Serialization Constructor - - - - - Gets the provided by this exception. - - - - - Gets the of this test at the point the exception was thrown, - - - - - Abstract base for Exceptions that terminate a test and provide a ResultState. - - - - The error message that explains - the reason for the exception - - - The error message that explains - the reason for the exception - The exception that caused the - current exception - - - - Serialization Constructor - - - - - Gets the ResultState provided by this exception - - - - - Thrown when an assertion failed. - - - - - - - The error message that explains - the reason for the exception - The exception that caused the - current exception - - - - Serialization Constructor - - - - - Gets the ResultState provided by this exception - - - - - Contains extension methods that do not require a special using directive. - - - - - Asserts on Files - - - - - DO NOT USE! Use FileAssert.AreEqual(...) instead. - The Equals method throws an InvalidOperationException. This is done - to make sure there is no mistake by calling this function. - - - - - - - DO NOT USE! - The ReferenceEquals method throws an InvalidOperationException. This is done - to make sure there is no mistake by calling this function. - - - - - - - Verifies that two Streams are equal. Two Streams are considered - equal if both are null, or if both have the same value byte for byte. - If they are not equal an is thrown. - - The expected Stream - The actual Stream - The message to display if Streams are not equal - Arguments to be used in formatting the message - - - - Verifies that two Streams are equal. Two Streams are considered - equal if both are null, or if both have the same value byte for byte. - If they are not equal an is thrown. - - The expected Stream - The actual Stream - - - - Verifies that two files are equal. Two files are considered - equal if both are null, or if both have the same value byte for byte. - If they are not equal an is thrown. - - A file containing the value that is expected - A file containing the actual value - The message to display if Streams are not equal - Arguments to be used in formatting the message - - - - Verifies that two files are equal. Two files are considered - equal if both are null, or if both have the same value byte for byte. - If they are not equal an is thrown. - - A file containing the value that is expected - A file containing the actual value - - - - Verifies that two files are equal. Two files are considered - equal if both are null, or if both have the same value byte for byte. - If they are not equal an is thrown. - - The path to a file containing the value that is expected - The path to a file containing the actual value - The message to display if Streams are not equal - Arguments to be used in formatting the message - - - - Verifies that two files are equal. Two files are considered - equal if both are null, or if both have the same value byte for byte. - If they are not equal an is thrown. - - The path to a file containing the value that is expected - The path to a file containing the actual value - - - - Asserts that two Streams are not equal. If they are equal - an is thrown. - - The expected Stream - The actual Stream - The message to be displayed when the two Stream are the same. - Arguments to be used in formatting the message - - - - Asserts that two Streams are not equal. If they are equal - an is thrown. - - The expected Stream - The actual Stream - - - - Asserts that two files are not equal. If they are equal - an is thrown. - - A file containing the value that is expected - A file containing the actual value - The message to display if Streams are not equal - Arguments to be used in formatting the message - - - - Asserts that two files are not equal. If they are equal - an is thrown. - - A file containing the value that is expected - A file containing the actual value - - - - Asserts that two files are not equal. If they are equal - an is thrown. - - The path to a file containing the value that is expected - The path to a file containing the actual value - The message to display if Streams are not equal - Arguments to be used in formatting the message - - - - Asserts that two files are not equal. If they are equal - an is thrown. - - The path to a file containing the value that is expected - The path to a file containing the actual value - - - - Asserts that the file exists. If it does not exist - an is thrown. - - A file containing the actual value - The message to display if Streams are not equal - Arguments to be used in formatting the message - - - - Asserts that the file exists. If it does not exist - an is thrown. - - A file containing the actual value - - - - Asserts that the file exists. If it does not exist - an is thrown. - - The path to a file containing the actual value - The message to display if Streams are not equal - Arguments to be used in formatting the message - - - - Asserts that the file exists. If it does not exist - an is thrown. - - The path to a file containing the actual value - - - - Asserts that the file does not exist. If it does exist - an is thrown. - - A file containing the actual value - The message to display if Streams are not equal - Arguments to be used in formatting the message - - - - Asserts that the file does not exist. If it does exist - an is thrown. - - A file containing the actual value - - - - Asserts that the file does not exist. If it does exist - an is thrown. - - The path to a file containing the actual value - The message to display if Streams are not equal - Arguments to be used in formatting the message - - - - Asserts that the file does not exist. If it does exist - an is thrown. - - The path to a file containing the actual value - - - - Class used to guard against unexpected argument values - or operations by throwing an appropriate exception. - - - - - Throws an exception if an argument is null - - The value to be tested - The name of the argument - - - - Throws an exception if a string argument is null or empty - - The value to be tested - The name of the argument - - - - Throws an ArgumentOutOfRangeException if the specified condition is not met. - - The condition that must be met - The exception message to be used - The name of the argument - - - - Throws an ArgumentException if the specified condition is not met. - - The condition that must be met - The exception message to be used - The name of the argument - - - - Throws an InvalidOperationException if the specified condition is not met. - - The condition that must be met - The exception message to be used - - - - Throws an if the specified delegate is async void. - - - - - Throws an if the specified delegate is async void. - - - - - Helper class with properties and methods that supply - a number of constraints used in Asserts. - - - - - Returns a ConstraintExpression that negates any - following constraint. - - - - - Returns a ConstraintExpression, which will apply - the following constraint to all members of a collection, - succeeding if all of them succeed. - - - - - Returns a ConstraintExpression, which will apply - the following constraint to all members of a collection, - succeeding if at least one of them succeeds. - - - - - Returns a ConstraintExpression, which will apply - the following constraint to all members of a collection, - succeeding if all of them fail. - - - - - Returns a ConstraintExpression, which will apply - the following constraint to all members of a collection, - succeeding only if a specified number of them succeed. - - - - - Returns a which will apply - the following constraint to only one member of the collection, - and fail if none or more than one match occurs. - - - - - Returns a new PropertyConstraintExpression, which will either - test for the existence of the named property on the object - being tested or apply any following constraint to that property. - - - - - Returns a new ConstraintExpression, which will apply the following - constraint to the Length property of the object being tested. - - - - - Returns a new ConstraintExpression, which will apply the following - constraint to the Count property of the object being tested. - - - - - Returns a new ConstraintExpression, which will apply the following - constraint to the Message property of the object being tested. - - - - - Returns a new ConstraintExpression, which will apply the following - constraint to the InnerException property of the object being tested. - - - - - Returns a new AttributeConstraint checking for the - presence of a particular attribute on an object. - - - - - Returns a new AttributeConstraint checking for the - presence of a particular attribute on an object. - - - - - Returns a new checking for the - presence of a particular object in the collection. - - - - - Returns a new IndexerConstraintExpression, which will - apply any following constraint to that indexer value. - - Index accessor values. - - - - The AssertionResult class represents the result of a single assertion. - - - - - Construct an AssertionResult - - - - The pass/fail status of the assertion - - - The message produced by the assertion, or null - - - The stack trace associated with the assertion, or null - - - Determines whether the specified object is equal to the current object. - The object to compare with the current object. - - - Indicates whether the current object is equal to another object of the same type. - An object to compare with this object. - - - Serves as the default hash function. - - - - ToString Override - - - - - AssertionStatus enumeration represents the possible outcomes of an assertion. - The order of definition is significant, higher level values override lower - ones in determining the overall result of a test. - - - - - An assumption failed - - - - - The assertion succeeded - - - - - A warning message was issued - - - - - The assertion failed - - - - - An unexpected exception was thrown - - - - - The IApplyToContext interface is implemented by attributes - that want to make changes to the execution context before - a test is run. - - - - - Apply changes to the execution context - - The execution context - - - - The IApplyToTest interface is implemented by self-applying - attributes that modify the state of a test in some way. - - - - - Modifies a test as defined for the specific attribute. - - The test to modify - - - - CombiningStrategy is the abstract base for classes that - know how to combine values provided for individual test - parameters to create a set of test cases. - - - - - Gets the test cases generated by the CombiningStrategy. - - The test cases. - - - - ICommandWrapper is implemented by attributes and other - objects able to wrap a TestCommand with another command. - - - Attributes or other objects should implement one of the - derived interfaces, rather than this one, since they - indicate in which part of the command chain the wrapper - should be applied. - - - - - Wrap a command and return the result. - - The command to be wrapped - The wrapped command - - - - Objects implementing this interface are used to wrap - the TestMethodCommand itself. They apply after SetUp - has been run and before TearDown. - - - - - Objects implementing this interface are used to wrap - the entire test, including SetUp and TearDown. - - - - - Objects implementing this interface are used to wrap - tests that can repeat. The implementing command is run once, - invoking the chained commands any number of times. - - - - - Any ITest that implements this interface is at a level that the implementing - class should be disposed at the end of the test run - - - - - The IFixtureBuilder interface is exposed by a class that knows how to - build test fixtures from a specified type. In general, it is exposed - by an attribute, but it may be implemented in a helper class used by the - attribute in some cases. - - - - - Builds any number of test fixtures from the specified type. - - The type info of the fixture to be used. - - - - The IFixtureBuilder2 interface extends IFixtureBuilder by allowing - use of a PreFilter, which is used to select methods as test cases. - - - - - Builds any number of test fixtures from the specified type. - - The type info of the fixture to be used. - PreFilter to be used to select methods. - - - - IImplyFixture is an empty marker interface used by attributes like - TestAttribute that cause the class where they are used to be treated - as a TestFixture even without a TestFixtureAttribute. - - Marker interfaces are not usually considered a good practice, but - we use it here to avoid cluttering the attribute hierarchy with - classes that don't contain any extra implementation. - - - - - The IMethodInfo class is used to encapsulate information - about a method in a platform-independent manner. - - - - - Gets the Type from which this method was reflected. - - - - - Gets the MethodInfo for this method. - - - - - Gets the name of the method. - - - - - Gets a value indicating whether the method is abstract. - - - - - Gets a value indicating whether the method is public. - - - - - Gets a value indicating whether the method is static. - - - - - Gets a value indicating whether the method contains unassigned generic type parameters. - - - - - Gets a value indicating whether the method is a generic method. - - - - - Gets a value indicating whether the MethodInfo represents the definition of a generic method. - - - - - Gets the return Type of the method. - - - - - Gets the parameters of the method. - - - - - - Returns the Type arguments of a generic method or the Type parameters of a generic method definition. - - - - - Replaces the type parameters of the method with the array of types provided and returns a new IMethodInfo. - - The type arguments to be used - A new IMethodInfo with the type arguments replaced - - - - Invokes the method, converting any TargetInvocationException to an NUnitException. - - The object on which to invoke the method - The argument list for the method - The return value from the invoked method - - - - Provides data for a single test parameter. - - - - - Determines whether any data is available for a parameter. - - The parameter of a parameterized test. - - - - Retrieves a list of arguments which can be passed to the specified parameter. - - The parameter of a parameterized test. - - - - Provides data for a single test parameter. - - - - - Retrieves a list of arguments which can be passed to the specified parameter. - - The parameter of a parameterized test. - - - - The IParameterInfo interface is an abstraction of a .NET parameter. - - - - - Gets a value indicating whether the parameter is optional - - - - - Gets an IMethodInfo representing the method for which this is a parameter - - - - - Gets the underlying .NET ParameterInfo - - - - - Gets the Type of the parameter - - - - - Implemented by filters for use in deciding which - Types and Methods should be used to generate tests. - - - - - Use the filter on a Type, returning true if the type matches the filter - and should therefore be included in the discovery process. - - - - - Use the filter on a Type, returning true if the type matches the filter - and should therefore be included in the discovery process. - - - - - A PropertyBag represents a collection of name/value pairs - that allows duplicate entries with the same key. Methods - are provided for adding a new pair as well as for setting - a key to a single value. All keys are strings but values - may be of any type. Null values are not permitted, since - a null entry represents the absence of the key. - - The entries in a PropertyBag are of two kinds: those that - take a single value and those that take multiple values. - However, the PropertyBag has no knowledge of which entries - fall into each category and the distinction is entirely - up to the code using the PropertyBag. - - When working with multi-valued properties, client code - should use the Add method to add name/value pairs and - indexing to retrieve a list of all values for a given - key. For example: - - bag.Add("Tag", "one"); - bag.Add("Tag", "two"); - Assert.That(bag["Tag"], - Is.EqualTo(new string[] { "one", "two" })); - - When working with single-valued properties, client code - should use the Set method to set the value and Get to - retrieve the value. The GetSetting methods may also be - used to retrieve the value in a type-safe manner while - also providing default. For example: - - bag.Set("Priority", "low"); - bag.Set("Priority", "high"); // replaces value - Assert.That(bag.Get("Priority"), - Is.EqualTo("high")); - Assert.That(bag.GetSetting("Priority", "low"), - Is.EqualTo("high")); - - - - - Adds a key/value pair to the property bag - - The key - The value - - - - Sets the value for a key, removing any other - values that are already in the property set. - - - - - - - Gets a single value for a key, using the first - one if multiple values are present and returning - null if the value is not found. - - - - - Gets a flag indicating whether the specified key has - any entries in the property set. - - The key to be checked - True if their are values present, otherwise false - - - - Gets or sets the list of values for a particular key - - The key for which the values are to be retrieved or set - - - - Gets a collection containing all the keys in the property set - - - - - The IReflectionInfo interface is implemented by NUnit wrapper objects that perform reflection. - - - - - Returns an array of custom attributes of the specified type applied to this object - - - - - Returns a value indicating whether an attribute of the specified type is defined on this object. - - - - - The ISimpleTestBuilder interface is exposed by a class that knows how to - build a single tests from a specified method. In general, - it is exposed by an attribute, but it may be implemented in a helper class - used by the attribute in some cases. - - - - - Builds a single test from the specified method and context. - - The method to be used as a test - The TestSuite to which the method will be added - - - - The ISuiteBuilder interface is exposed by a class that knows how to - build a single test suite from a specified type. - - - - - Examine the type and determine if it is suitable for - this builder to use in building a TestSuite. - - Note that returning false will cause the type to be ignored - in loading the tests. If it is desired to load the suite - but label it as non-runnable, ignored, etc., then this - method must return true. - - The type of the fixture to be used - - - - Builds a single test suite from the specified type. - - The type of the fixture to be used - - - - Builds a single test suite from the specified type, subject - to a filter that decides which methods are included. - - The type of the fixture to be used - A PreFilter for selecting methods. - - - - Common interface supported by all representations - of a test. Only includes informational fields. - The Run method is specifically excluded to allow - for data-only representations of a test. - - - - - Gets the id of the test - - - - - Gets the name of the test - - - - - Gets the type of the test - - - - - Gets the fully qualified name of the test - - - - - Gets the name of the class containing this test. Returns - null if the test is not associated with a class. - - - - - Gets the name of the method implementing this test. - Returns null if the test is not implemented as a method. - - - - - Gets the Type of the test fixture, if applicable, or - null if no fixture type is associated with this test. - - - - - Gets the method which declares the test, or - if no method is associated with this test. - - - - - Gets the RunState of the test, indicating whether it can be run. - - - - - Count of the test cases ( 1 if this is a test case ) - - - - - Gets the properties of the test - - - - - Gets the parent test, if any. - - The parent test or null if none exists. - - - - Returns true if this is a test suite - - - - - Gets a bool indicating whether the current test - has any descendant tests. - - - - - Gets this test's child tests - - A list of child tests - - - - Gets a fixture object for running this test. - - - - - The arguments to use in creating the test or empty array if none are required. - - - - - The ITestBuilder interface is exposed by a class that knows how to - build tests from a specified method. In general, it is exposed - by an attribute which has additional information available to provide - the necessary test parameters to distinguish the test cases built. - - - - - Builds any number of tests from the specified method and context. - - The method to be used as a test - The TestSuite to which the method will be added - - - - The ITestCaseBuilder interface is exposed by a class that knows how to - build a test from a specified method, possibly containing child test cases. - - - - - Examine the method and determine if it is suitable for - this builder to use in building a TestCase to be - included in the suite being populated. - - Note that returning false will cause the method to be ignored - in loading the tests. If it is desired to load the method - but label it as non-runnable, ignored, etc., then this - method must return true. - - The test method to examine - The suite being populated - - - - Builds a single test from the specified method and context, - possibly containing child test cases. - - The method to be used as a test case - The test suite being populated, or null - - - - The ITestCaseData interface is implemented by a class - that is able to return complete test cases for use by - a parameterized test method. - - - - - Gets the expected result of the test case - - - - - Returns true if an expected result has been set - - - - - The ITestData interface is implemented by a class that - represents a single instance of a parameterized test. - - - - - Gets the name to be used for the test - - - - - Gets the RunState for this test case. - - - - - Gets the argument list to be provided to the test - - - - - Gets the property dictionary for the test case - - - - - Interface to be implemented by filters applied to tests. - The filter applies when running the test, after it has been - loaded, since this is the only time an ITest exists. - - - - - Determine if a particular test passes the filter criteria. Pass - may examine the parents and/or descendants of a test, depending - on the semantics of the particular filter - - The test to which the filter is applied - True if the test passes the filter, otherwise false - - - - Determine if a test matches the filter explicitly. That is, it must - be a direct match of the test itself or one of its children. - - The test to which the filter is applied - True if the test matches the filter explicitly, otherwise false - - - - The ITestCaseData interface is implemented by a class - that is able to return the data required to create an - instance of a parameterized test fixture. - - - - - Get the TypeArgs if separately set - - - - - The ITestListener interface is used internally to receive - notifications of significant events while a test is being - run. The events are propagated to clients by means of an - AsyncCallback. NUnit extensions may also monitor these events. - - - - - Called when a test has just started - - The test that is starting - - - - Called when a test has finished - - The result of the test - - - - Called when a test produces output for immediate display - - A TestOutput object containing the text to display - - - - Called when a test produces a message to be sent to listeners - - A object containing the text to send - - - - The ITestResult interface represents the result of a test. - - - - - Gets the ResultState of the test result, which - indicates the success or failure of the test. - - - - - Gets the name of the test result - - - - - Gets the full name of the test result - - - - - Gets the elapsed time for running the test in seconds - - - - - Gets or sets the time the test started running. - - - - - Gets or sets the time the test finished running. - - - - - Gets the message associated with a test - failure or with not running the test - - - - - Gets any stack trace associated with an - error or failure. - - - - Gets the total number of tests executed - when running the test and all its children. - - - - - Gets the number of asserts executed - when running the test and all its children. - - - - - Gets the number of test cases that failed - when running the test and all its children. - - - - - Gets the number of test cases that had warnings - when running the test and all its children. - - - - - Gets the number of test cases that passed - when running the test and all its children. - - - - - Gets the number of test cases that were skipped - when running the test and all its children. - - - - - Gets the number of test cases that were inconclusive - when running the test and all its children. - - - - - Indicates whether this result has any child results. - Accessing HasChildren should not force creation of the - Children collection in classes implementing this interface. - - - - - Gets the collection of child results. - - - - - Gets the Test to which this result applies. - - - - - Gets any text output written to this result. - - - - - Gets a list of AssertionResults associated with the test - - - - - Gets the collection of files attached to the test - - - - - The ITypeInfo interface is an abstraction of a .NET Type - - - - - Gets the underlying Type on which this ITypeInfo is based - - - - - Gets the base type of this type as an ITypeInfo - - - - - Returns true if the Type wrapped is equal to the argument - - - - - Gets the name of the Type - - - - - Gets the full name of the Type - - - - - Gets the assembly in which the type is declared - - - - - Gets the namespace of the Type - - - - - Gets a value indicating whether the type is abstract. - - - - - Gets a value indicating whether the Type is a generic Type - - - - - Gets a value indicating whether the Type has generic parameters that have not been replaced by specific Types. - - - - - Gets a value indicating whether the Type is a generic Type definition - - - - - Gets a value indicating whether the type is sealed. - - - - - Gets a value indicating whether this type is a static class. - - - - - Get the display name for this typeInfo. - - - - - Get the display name for an object of this type, constructed with specific arguments - - - - - Returns a Type representing a generic type definition from which this Type can be constructed. - - - - - Returns a new ITypeInfo representing an instance of this generic Type using the supplied Type arguments - - - - - Returns a value indicating whether this type has a method with a specified public attribute - - - - - Returns an array of IMethodInfos for methods of this Type - that match the specified flags. - - - - - Gets the public constructor taking the specified argument Types - - - - - Returns a value indicating whether this Type has a public constructor taking the specified argument Types. - - - - - Construct an object of this Type, using the specified arguments. - - - - - Returns all methods declared by this type that have the specified attribute, optionally - including base classes. Methods from a base class are always returned before methods from a class that - inherits from it. - - Specifies whether to search the fixture type inheritance chain. - - - - An object implementing IXmlNodeBuilder is able to build - an XML representation of itself and any children. - - - - - Returns a TNode representing the current object. - - If true, children are included where applicable - A TNode representing the result - - - - Returns a TNode representing the current object after - adding it as a child of the supplied parent node. - - The parent node. - If true, children are included, where applicable - - - - - The ResultState class represents the outcome of running a test. - It contains two pieces of information. The Status of the test - is an enum indicating whether the test passed, failed, was - skipped or was inconclusive. The Label provides a more - detailed breakdown for use by client runners. - - - - - Initializes a new instance of the class. - - The TestStatus. - - - - Initializes a new instance of the class. - - The TestStatus. - The label. - - - - Initializes a new instance of the class. - - The TestStatus. - The stage at which the result was produced - - - - Initializes a new instance of the class. - - The TestStatus. - The label. - The stage at which the result was produced - - - - The result is inconclusive - - - - - The test has been skipped. - - - - - The test has been ignored. - - - - - The test was skipped because it is explicit - - - - - The test succeeded - - - - - The test issued a warning - - - - - The test failed - - - - - The test encountered an unexpected exception - - - - - The test was cancelled by the user - - - - - The test was not runnable. - - - - - A suite failed because one or more child tests failed or had errors - - - - - A suite failed because one or more child tests had warnings - - - - - A suite is marked ignored because one or more child tests were ignored - - - - - A suite failed in its OneTimeSetUp - - - - - A suite had an unexpected exception in its OneTimeSetUp - - - - - A suite had an unexpected exception in its OneTimeDown - - - - - Gets the TestStatus for the test. - - The status. - - - - Gets the label under which this test result is - categorized, or if none. - - - - - Gets the stage of test execution in which - the failure or other result took place. - - - - - Get a new ResultState, which is the same as the current - one but with the FailureSite set to the specified value. - - The FailureSite to use - A new ResultState - - - - Test whether this ResultState has the same Status and Label - as another one. In other words, the whether two are equal - ignoring the Site. - - - - - - Determines whether the specified object is equal to the current object. - The object to compare with the current object. - - - Indicates whether the current object is equal to another object of the same type. - An object to compare with this object. - - - Serves as the default hash function. - - - - Overload == operator for ResultStates - - - - - Overload != operator for ResultStates - - - - - Returns a that represents this instance. - - - A that represents this instance. - - - - - The FailureSite enum indicates the stage of a test - in which an error or failure occurred. - - - - - Failure in the test itself - - - - - Failure in the SetUp method - - - - - Failure in the TearDown method - - - - - Failure of a parent test - - - - - Failure of a child test - - - - - The RunState enum indicates whether a test can be executed. - - - - - The test is not runnable. - - - - - The test is runnable. - - - - - The test can only be run explicitly - - - - - The test has been skipped. This value may - appear on a Test when certain attributes - are used to skip the test. - - - - - The test has been ignored. May appear on - a Test, when the IgnoreAttribute is used. - - - - - The TestAttachment class represents a file attached to a TestResult, - with an optional description. - - - - - Absolute file path to attachment file - - - - - User specified description of attachment. May be null. - - - - - Creates a TestAttachment class to represent a file attached to a test result. - - Absolute file path to attachment file - User specified description of attachment. May be null. - - - - The class holds a message sent by a test to all listeners - - - - - Construct with text, destination type and - the name of the test that produced the message. - - Destination of the message - Text to be sent - ID of the test that produced the message - - - - Converts object to string - - - - - The message to send to listeners - - - - - The Destination of the message. - - - - - The ID of the test that sent the message - - - - - Returns the XML representation of the object. - - - - - The TestOutput class holds a unit of output from - a test to a specific output stream - - - - - Construct with text, output destination type and - the name of the test that produced the output. - - Text to be output - Name of the stream or channel to which the text should be written - Id of the test that produced the output - FullName of test that produced the output - - - - Return string representation of the object for debugging - - - - - - Get the text - - - - - Get the output type - - - - - Get the name of the test that created the output - - - - - Get the id of the test that created the output - - - - - Convert the TestOutput object to an XML string - - - - - The TestStatus enum indicates the result of running a test - - - - - The test was inconclusive - - - - - The test has skipped - - - - - The test succeeded - - - - - There was a warning - - - - - The test failed - - - - - TNode represents a single node in the XML representation - of a Test or TestResult. It replaces System.Xml.XmlNode and - System.Xml.Linq.XElement, providing a minimal set of methods - for operating on the XML in a platform-independent manner. - - - - - Constructs a new instance of TNode - - The name of the node - - - - Constructs a new instance of TNode with a value - - The name of the node - The text content of the node - - - - Constructs a new instance of TNode with a value - - The name of the node - The text content of the node - Flag indicating whether to use CDATA when writing the text - - - - Gets the name of the node - - - - - Gets the value of the node - - - - - Gets a flag indicating whether the value should be output using CDATA. - - - - - Gets the dictionary of attributes - - - - - Gets a list of child nodes - - - - - Gets the first ChildNode - - - - - Gets the XML representation of this node. - - - - - Create a TNode from its XML text representation - - The XML text to be parsed - A TNode - - - - Adds a new element as a child of the current node and returns it. - - The element name. - The newly created child element - - - - Adds a new element with a value as a child of the current node and returns it. - - The element name - The text content of the new element - The newly created child element - - - - Adds a new element with a value as a child of the current node and returns it. - The value will be output using a CDATA section. - - The element name - The text content of the new element - The newly created child element - - - - Adds an attribute with a specified name and value to the XmlNode. - - The name of the attribute. - The value of the attribute. - - - - Finds a single descendant of this node matching an XPath - specification. The format of the specification is - limited to what is needed by NUnit and its tests. - - - - - - - Finds all descendants of this node matching an XPath - specification. The format of the specification is - limited to what is needed by NUnit and its tests. - - - - - Writes the XML representation of the node to an XmlWriter - - - - - - Class used to represent a list of XmlResults - - - - - Class used to represent the attributes of a node - - - - - Gets or sets the value associated with the specified key. - Overridden to return null if attribute is not found. - - The key. - Value of the attribute or null - - - - A production implementation that delegates directly to .NET's . - - - - - Returns whether a debugger is currently attached to the process - - - - - A layer of abstraction around to facilitate testing. - - - - - Whether a debugger is currently attached to the process. - - - - - AssemblyHelper provides static methods for working - with assemblies. - - - - - Gets the path from which an assembly was loaded. - For builds where this is not possible, returns - the name of the assembly. - - The assembly. - The path. - - - - Gets the path to the directory from which an assembly was loaded. - - The assembly. - The path. - - - - Gets the AssemblyName of an assembly. - - The assembly - An AssemblyName - - - - Loads an assembly given a string, which may be the - path to the assembly or the AssemblyName - - - - - Gets the assembly path from code base. - - Public for testing purposes - The code base. - - - - - Adapts various styles of asynchronous waiting to a common API. - - - - - CombinatorialStrategy creates test cases by using all possible - combinations of the parameter data. - - - - - Gets the test cases generated by the CombiningStrategy. - - The test cases. - - - - Provides data from fields marked with the DatapointAttribute or the - DatapointsAttribute. - - - - - Determines whether any data is available for a parameter. - - The parameter of a parameterized test - - - - Retrieves data for use with the supplied parameter. - - The parameter of a parameterized test - - - - Built-in SuiteBuilder for all types of test classes. - - - - - Examine the type and determine if it is suitable for - this builder to use in building a TestSuite. - - Note that returning false will cause the type to be ignored - in loading the tests. If it is desired to load the suite - but label it as non-runnable, ignored, etc., then this - method must return true. - - The fixture type to check - - - - Builds a single test suite from the specified type. - - The fixture type to build - - - - Builds a single test suite from the specified type, subject - to a filter that decides which methods are included. - - The fixture type to build - A PreFilter for selecting methods. - - - - We look for attributes implementing IFixtureBuilder at one level - of inheritance at a time. Attributes on base classes are not used - unless there are no fixture builder attributes at all on the derived - class. This is by design. - - The type being examined for attributes - - - - Class to build ether a parameterized or a normal NUnitTestMethod. - There are four cases that the builder must deal with: - 1. The method needs no params and none are provided - 2. The method needs params and they are provided - 3. The method needs no params but they are provided in error - 4. The method needs params but they are not provided - This could have been done using two different builders, but it - turned out to be simpler to have just one. The BuildFrom method - takes a different branch depending on whether any parameters are - provided, but all four cases are dealt with in lower-level methods - - - - - Determines if the method can be used to build an NUnit test - test method of some kind. The method must normally be marked - with an identifying attribute for this to be true. - - Note that this method does not check that the signature - of the method for validity. If we did that here, any - test methods with invalid signatures would be passed - over in silence in the test run. Since we want such - methods to be reported, the check for validity is made - in BuildFrom rather than here. - - An IMethodInfo for the method being used as a test method - - - - Builds a single test from the specified method and context, - possibly containing child test cases. - - The method for which a test is to be built - - - - Determines if the method can be used to build an NUnit test - test method of some kind. The method must normally be marked - with an identifying attribute for this to be true. - - Note that this method does not check that the signature - of the method for validity. If we did that here, any - test methods with invalid signatures would be passed - over in silence in the test run. Since we want such - methods to be reported, the check for validity is made - in BuildFrom rather than here. - - An IMethodInfo for the method being used as a test method - The test suite being built, to which the new test would be added - - - - Builds a single test from the specified method and context, - possibly containing child test cases. - - The method for which a test is to be built - The test fixture being populated, or null - - - - Builds a ParameterizedMethodSuite containing individual test cases. - - The method for which a test is to be built. - The list of test cases to include. - - - - Build a simple, non-parameterized TestMethod for this method. - - The MethodInfo for which a test is to be built - The test suite for which the method is being built - - - - Class that can build a tree of automatic namespace - suites from a group of fixtures. - - - - - NamespaceDictionary of all test suites we have created to represent - namespaces. Used to locate namespace parent suites for fixtures. - - - - - Point in the tree where items in the global namespace are added - - - - - Initializes a new instance of the class. - - The root suite. - - - - Gets the root entry in the tree created by the NamespaceTreeBuilder. - - The root suite. - - - - Adds the specified fixtures to the tree. - - The fixtures to be added. - - - - Adds the specified fixture to the tree. - - The fixture to be added. - - - - NUnitTestCaseBuilder is a utility class used by attributes - that build test cases. - - - - - Constructs an - - - - - Builds a single NUnitTestMethod, either as a child of the fixture - or as one of a set of test cases under a ParameterizedTestMethodSuite. - - The MethodInfo from which to construct the TestMethod - The suite or fixture to which the new test will be added - The ParameterSet to be used, or null - - - - Checks to see if we have valid combinations of attributes. - - The TestMethod to be checked. If it - is found to be non-runnable, it will be modified. - True if the method signature is valid, false if not - - - - Helper method that checks the signature of a TestMethod and - any supplied parameters to determine if the test is valid. - - Currently, NUnitTestMethods are required to be public, - non-abstract methods, either static or instance, - returning void. They may take arguments but the values must - be provided or the TestMethod is not considered runnable. - - Methods not meeting these criteria will be marked as - non-runnable and the method will return false in that case. - - The TestMethod to be checked. If it - is found to be non-runnable, it will be modified. - Parameters to be used for this test, or null - True if the method signature is valid, false if not - - The return value is no longer used internally, but is retained - for testing purposes. - - - - - NUnitTestFixtureBuilder is able to build a fixture given - a class marked with a TestFixtureAttribute or an unmarked - class containing test methods. In the first case, it is - called by the attribute and in the second directly by - NUnitSuiteBuilder. - - - - - Build a TestFixture from type provided. A non-null TestSuite - must always be returned, since the method is generally called - because the user has marked the target class as a fixture. - If something prevents the fixture from being used, it should - be returned nonetheless, labeled as non-runnable. - - An ITypeInfo for the fixture to be used. - Filter used to select methods as tests. - A TestSuite object or one derived from TestSuite. - - - - Overload of BuildFrom called by tests that have arguments. - Builds a fixture using the provided type and information - in the ITestFixtureData object. - - The TypeInfo for which to construct a fixture. - Filter used to select methods as tests. - An object implementing ITestFixtureData or null. - - - - - Method to add test cases to the newly constructed fixture. - - - - - Method to create a test case from a MethodInfo and add - it to the fixture being built. It first checks to see if - any global TestCaseBuilder addin wants to build the - test case. If not, it uses the internal builder - collection maintained by this fixture builder. - - The default implementation has no test case builders. - Derived classes should add builders to the collection - in their constructor. - - The method for which a test is to be created - The test suite being built. - A newly constructed Test - - - - PairwiseStrategy creates test cases by combining the parameter - data so that all possible pairs of data items are used. - - - - The number of test cases that cover all possible pairs of test function - parameters values is significantly less than the number of test cases - that cover all possible combination of test function parameters values. - And because different studies show that most of software failures are - caused by combination of no more than two parameters, pairwise testing - can be an effective ways to test the system when it's impossible to test - all combinations of parameters. - - - The PairwiseStrategy code is based on "jenny" tool by Bob Jenkins: - https://burtleburtle.net/bob/math/jenny.html - - - - - - FleaRand is a pseudo-random number generator developed by Bob Jenkins: - https://burtleburtle.net/bob/rand/talksmall.html#flea - - - - - Initializes a new instance of the FleaRand class. - - The seed. - - - - FeatureInfo represents coverage of a single value of test function - parameter, represented as a pair of indices, Dimension and Feature. In - terms of unit testing, Dimension is the index of the test parameter and - Feature is the index of the supplied value in that parameter's list of - sources. - - - - - Initializes a new instance of FeatureInfo class. - - Index of a dimension. - Index of a feature. - - - - A FeatureTuple represents a combination of features, one per test - parameter, which should be covered by a test case. In the - PairwiseStrategy, we are only trying to cover pairs of features, so the - tuples actually may contain only single feature or pair of features, but - the algorithm itself works with triplets, quadruples and so on. - - - - - Initializes a new instance of FeatureTuple class for a single feature. - - Single feature. - - - - Initializes a new instance of FeatureTuple class for a pair of features. - - First feature. - Second feature. - - - - TestCase represents a single test case covering a list of features. - - - - - Initializes a new instance of TestCaseInfo class. - - A number of features in the test case. - - - - PairwiseTestCaseGenerator class implements an algorithm which generates - a set of test cases which covers all pairs of possible values of test - function. - - - - The algorithm starts with creating a set of all feature tuples which we - will try to cover (see method). This set - includes every single feature and all possible pairs of features. We - store feature tuples in the 3-D collection (where axes are "dimension", - "feature", and "all combinations which includes this feature"), and for - every two feature (e.g. "A" and "B") we generate both ("A", "B") and - ("B", "A") pairs. This data structure extremely reduces the amount of - time needed to calculate coverage for a single test case (this - calculation is the most time-consuming part of the algorithm). - - - Then the algorithm picks one tuple from the uncovered tuple, creates a - test case that covers this tuple, and then removes this tuple and all - other tuples covered by this test case from the collection of uncovered - tuples. - - - Picking a tuple to cover - - - There are no any special rules defined for picking tuples to cover. We - just pick them one by one, in the order they were generated. - - - Test generation - - - Test generation starts from creating a completely random test case which - covers, nevertheless, previously selected tuple. Then the algorithm - tries to maximize number of tuples which this test covers. - - - Test generation and maximization process repeats seven times for every - selected tuple and then the algorithm picks the best test case ("seven" - is a magic number which provides good results in acceptable time). - - Maximizing test coverage - - To maximize tests coverage, the algorithm walks through the list of mutable - dimensions (mutable dimension is a dimension that are not included in - the previously selected tuple). Then for every dimension, the algorithm - walks through the list of features and checks if this feature provides - better coverage than randomly selected feature, and if yes keeps this - feature. - - - This process repeats while it shows progress. If the last iteration - doesn't improve coverage, the process ends. - - - In addition, for better results, before start every iteration, the - algorithm "scrambles" dimensions - so for every iteration dimension - probes in a different order. - - - - - - Creates a set of test cases for specified dimensions. - - - An array which contains information about dimensions. Each element of - this array represents a number of features in the specific dimension. - - - A set of test cases. - - - - - Gets the test cases generated by this strategy instance. - - A set of test cases. - - - - The ParameterDataProvider class implements IParameterDataProvider - and hosts one or more individual providers. - - - - - Construct with a collection of individual providers - - - - - Determines whether any data is available for a parameter. - - The parameter of a parameterized test - - - - Retrieves data for use with the supplied parameter. - - The parameter of a parameterized test - - - - ParameterDataSourceProvider supplies individual argument values for - single parameters using attributes implementing IParameterDataSource. - - - - - Determines whether any data is available for a parameter. - - The parameter of a parameterized test - - - - Retrieves data for use with the supplied parameter. - - The parameter of a parameterized test - - - - SequentialStrategy creates test cases by using all of the - parameter data sources in parallel, substituting - when any of them run out of data. - - - - - Gets the test cases generated by the CombiningStrategy. - - The test cases. - - - - TestActionAfterCommand handles the AfterTest method of a single - TestActionItem, provided the items BeforeTest has been run. - - - - - Initializes a new instance of the class. - - The inner command. - The TestActionItem to run before the inner command. - - - - AfterCommand is a DelegatingTestCommand that performs some - specific action after the inner command is run. - - - - - Construct an AfterCommand - - - - - Execute the command - - - - - Set this to perform action after the inner command. - - - - - ContextSettingsCommand applies specified changes to the - TestExecutionContext prior to running a test. No special - action is needed after the test runs, since the prior - context will be restored automatically. - - - - - TestActionCommand handles a single ITestAction applied - to a test. It runs the BeforeTest method, then runs the - test and finally runs the AfterTest method. - - - - - Initializes a new instance of the class. - - The inner command. - - - - Runs the test, saving a TestResult in the supplied TestExecutionContext. - - The context in which the test should run. - A TestResult - - - - Perform the before test action - - - - - Perform the after test action - - - - - TestActionBeforeCommand handles the BeforeTest method of a single - TestActionItem, relying on the item to remember it has been run. - - - - - Initializes a new instance of the class. - - The inner command. - The TestActionItem to run before the inner command. - - - - BeforeTestCommand is a DelegatingTestCommand that performs some - specific action before the inner command is run. - - - - - Construct a BeforeCommand - - - - - Execute the command - - - - - Action to perform before the inner command. - - - - - ConstructFixtureCommand constructs the user test object if necessary. - - - - - Constructs a OneTimeSetUpCommand for a suite - - The inner command to which the command applies - - - - DelegatingTestCommand wraps an inner TestCommand. - Derived classes may do what they like before or - after running the inner command. - - - - TODO: Documentation needed for field - - - - Initializes a new instance of the class. - - The inner command. - - - - OneTimeTearDownCommand performs any teardown actions - specified for a suite and calls Dispose on the user - test object, if any. - - - - - Construct a OneTimeTearDownCommand - - The command wrapped by this command - - - - EmptyTestCommand is a TestCommand that does nothing. It simply - returns the current result from the context when executed. We - use it to avoid testing for null when executing a chain of - DelegatingTestCommands. - - - - - Construct a NullCommand for a test - - - - - Execute the command - - - - - ConstructFixtureCommand constructs the user test object if necessary. - - - - - Handles the construction and disposement of a fixture per test case - - The inner command to which the command applies - - - - adjusts the result of a successful test - to a failure if the elapsed time has exceeded the specified maximum - time allowed. - - - - - Initializes a new instance of the class. - - The inner command. - The max time allowed in milliseconds - - - - OneTimeSetUpCommand runs any one-time setup methods for a suite, - constructing the user test object if necessary. - - - - - Constructs a OneTimeSetUpCommand for a suite - - The inner command to which the command applies - A SetUpTearDownList for use by the command - - - - OneTimeTearDownCommand performs any teardown actions - specified for a suite and calls Dispose on the user - test object, if any. - - - - - Construct a OneTimeTearDownCommand - - The command wrapped by this command - A SetUpTearDownList for use by the command - - - - SetUpTearDownCommand runs SetUp methods for a suite, - runs the test and then runs TearDown methods. - - - - - Initializes a new instance of the class. - - The inner command. - List of setup/teardown items - - - - SetUpTearDownItem holds the setup and teardown methods - for a single level of the inheritance hierarchy. - - - - - Construct a SetUpTearDownNode - - A list of setup methods for this level - A list teardown methods for this level - A method validator to validate each method before calling. - - - - Returns true if this level has any methods at all. - This flag is used to discard levels that do nothing. - - - - - Run SetUp on this level. - - The execution context to use for running. - - - - Run TearDown for this level. - - - - - - TODO: Documentation needed for class - - - - - Initializes a new instance of the class. - - The test being skipped. - - - - Overridden to simply set the CurrentResult to the - appropriate Skipped state. - - The execution context for the test - A TestResult - - - - TestActionCommand handles a single ITestAction applied - to a test. It runs the BeforeTest method, then runs the - test and finally runs the AfterTest method. - - - - - Initializes a new instance of the class. - - The inner command. - The TestAction with which to wrap the inner command. - - - - TestActionItem wraps a single execution of an ITestAction. - Its primary purpose is to track whether the BeforeTest - method has been called and suppress calling the - AfterTest method if it has not. This is necessary when - ITestActions are used before and after a CompositeWorkItem, - since the OneTimeSetUpCommand and OneTimeTearDownCommand - are separate command chains. By sharing a TestActionItem - between the setup and teardown chains, the two calls can - be coordinated. - - - - - Construct a TestActionItem - - The ITestAction to be included - - - - Get flag indicating if the BeforeTest entry was already called. - - - - - Run the BeforeTest method of the action and remember that it has been run. - - The test to which the action applies - - - - Run the AfterTest action, but only if the BeforeTest - action was actually run. - - The test to which the action applies - - - - TestCommand is the abstract base class for all test commands - in the framework. A TestCommand represents a single stage in - the execution of a test, e.g.: SetUp/TearDown, checking for - Timeout, verifying the returned result from a method, etc. - - TestCommands may decorate other test commands so that the - execution of a lower-level command is nested within that - of a higher level command. All nested commands are executed - synchronously, as a single unit. Scheduling test execution - on separate threads is handled at a higher level, using the - task dispatcher. - - - - - Construct a TestCommand for a test. - - The test to be executed - - - - Gets the test associated with this command. - - - - - Runs the test in a specified context, returning a TestResult. - - The TestExecutionContext to be used for running the test. - A TestResult - - - - TestMethodCommand is the lowest level concrete command - used to run actual test cases. - - - - - Initializes a new instance of the class. - - The test. - - - - Runs the test, saving a TestResult in the execution context, as - well as returning it. If the test has an expected result, it - is asserts on that value. Since failed tests and errors throw - an exception, this command must be wrapped in an outer command, - will handle that exception and records the failure. This role - is usually played by the SetUpTearDown command. - - The execution context - - - - TheoryResultCommand adjusts the result of a Theory so that - it fails if all the results were inconclusive. - - - - - Constructs a TheoryResultCommand - - The command to be wrapped by this one - - - - creates a timer in order to cancel - a test if it exceeds a specified time and adjusts - the test result if it did time out. - - - - - Initializes a new instance of the class. - - The inner command - Timeout value - - - - Initializes a new instance of the class. - - The inner command - Timeout value - An instance - - - - Provides methods to support consistent checking in constraints. - - - - - Requires that the provided object is actually of the type required. - - The object to verify. - Name of the parameter as passed into the checking method. - - If and can be null, returns null rather than throwing when is null. - If cannot be null, this parameter is ignored. - The type to require. - - - - CultureDetector is a helper class used by NUnit to determine - whether a test should be run based on the current culture. - - - - - Default constructor uses the current culture. - - - - - Construct a CultureDetector for a particular culture for testing. - - The culture to be used - - - - Test to determine if one of a collection of cultures - is being used currently. - - - - - - - Tests to determine if the current culture is supported - based on a culture attribute. - - The attribute to examine - - - - - Test to determine if the a particular culture or comma- - delimited set of cultures is in use. - - Name of the culture or comma-separated list of culture ids - True if the culture is in use on the system - - - - Return the last failure reason. Results are not - defined if called before IsSupported( Attribute ) - is called. - - - - - Useful when wrapping awaiters whose GetResult method does not block until complete. - Contains a default mechanism to implement - via and . - - - - - ExceptionHelper provides static methods for working with exceptions - - - - - Rethrows an exception, preserving its stack trace - - The exception to rethrow - - - - Builds up a message, using the Message field of the specified exception - as well as any InnerExceptions. Optionally excludes exception names, - creating a more readable message. - - The exception. - Flag indicating whether exception names should be excluded. - A combined message string. - - - - Builds up a message, using the Message field of the specified exception - as well as any InnerExceptions. - - The exception. - A combined stack trace. - - - - Executes a parameterless synchronous or async delegate and returns the exception it throws, if any. - - - - - A CompositeWorkItem represents a test suite and - encapsulates the execution of the suite as well - as all its child tests. - - - - - List of Child WorkItems - - - - - Indicates whether this work item should use a separate dispatcher. - - - - - Construct a CompositeWorkItem for executing a test suite - using a filter to select child tests. - - The TestSuite to be executed - A filter used to select child tests - - - - Method that actually performs the work. Overridden - in CompositeWorkItem to do one-time setup, run all child - items and then dispatch the one-time teardown work item. - - - - - - - - - - Cancel (abort or stop) a CompositeWorkItem and all of its children - - true if the CompositeWorkItem and all of its children should be aborted, false if it should allow all currently running tests to complete - - - - OneTimeTearDownWorkItem represents the cleanup - and one-time teardown phase of a CompositeWorkItem - - - - - Construct a OneTimeTearDownWOrkItem wrapping a CompositeWorkItem - - The CompositeWorkItem being wrapped - - - - The WorkItem name, overridden to indicate this is the teardown. - - - - - The ExecutionStrategy for use in running this work item - - - - - - - - - - PerformWork is not used in CompositeWorkItem - - - - - WorkItemCancelled is called directly by the parallel dispatcher - when a test suite is left hanging after a forced StopRun. We - simulate WorkItemComplete() but without the ripple effect to - higher level suites, since we are controlling it all directly. - - - - - EventListenerTextWriter sends text output to the currently active - ITestEventListener in the form of a TestOutput object. If no event - listener is active in the context, or if there is no context, - the output is forwarded to the supplied default writer. - - - - - Construct an EventListenerTextWriter - - The name of the stream to use for events - The default writer to use if no listener is available - - - - Get the Encoding for this TextWriter - - - - - Write formatted string - - - - - Write formatted string - - - - - Write formatted string - - - - - Write an object - - - - - Write a string - - - - - Write a decimal - - - - - Write a double - - - - - Write formatted string - - - - - Write a ulong - - - - - Write a long - - - - - Write a uint - - - - - Write an int - - - - - Write a char - - - - - Write a boolean - - - - - Write chars - - - - - Write chars - - - - - Write a float - - - - - Write a string with newline - - - - - Write an object with newline - - - - - Write formatted string with newline - - - - - Write formatted string with newline - - - - - Write formatted string with newline - - - - - Write a decimal with newline - - - - - Write a formatted string with newline - - - - - Write a double with newline - - - - - Write a uint with newline - - - - - Write a ulong with newline - - - - - Write a long with newline - - - - - Write an int with newline - - - - - Write a bool with newline - - - - - Write chars with newline - - - - - Write chars with newline - - - - - Write a char with newline - - - - - Write a float with newline - - - - - Write newline - - - - - The EventPumpState enum represents the state of an - EventPump. - - - - - The pump is stopped - - - - - The pump is pumping events with no stop requested - - - - - The pump is pumping events but a stop has been requested - - - - - EventPump pulls events out of an EventQueue and sends - them to a listener. It is used to send events back to - the client without using the CallContext of the test - runner thread. - - - - - The downstream listener to which we send events - - - - - The queue that holds our events - - - - - Thread to do the pumping - - - - - The current state of the event pump - - - - - Constructor - - The EventListener to receive events - The event queue to pull events from - - - - Gets or sets the current state of the pump - - - - - Gets or sets the name of this EventPump - (used only internally and for testing). - - - - - Dispose stops the pump - Disposes the used WaitHandle, too. - - - - - Start the pump - - - - - Tell the pump to stop after emptying the queue. - - - - - Our thread proc for removing items from the event - queue and sending them on. Note that this would - need to do more locking if any other thread were - removing events from the queue. - - - - - NUnit.Core.Event is the abstract base for all stored events. - An Event is the stored representation of a call to the - ITestListener interface and is used to record such calls - or to queue them for forwarding on another thread or at - a later time. - - - - - The Send method is implemented by derived classes to send the event to the specified listener. - - The listener. - - - - TestStartedEvent holds information needed to call the TestStarted method. - - - - - Initializes a new instance of the class. - - The test. - - - - Calls TestStarted on the specified listener. - - The listener. - - - - TestFinishedEvent holds information needed to call the TestFinished method. - - - - - Initializes a new instance of the class. - - The result. - - - - Calls TestFinished on the specified listener. - - The listener. - - - - TestOutputEvent holds information needed to call the TestOutput method. - - - - - Initializes a new instance of the class. - - The output object. - - - - Calls TestOutput on the specified listener. - - The listener. - - - - TestMessageEvent holds information needed to call the SendMessage method. - - - - - Initializes a new instance of the class. - - The test message object. - - - - Calls on the specified listener. - - The listener. - - - - Holds object for sending to all listeners - - - - - Implements a queue of work items each of which - is queued as a WaitCallback. - - - - - Gets the count of items in the queue. - - - - - Enqueues the specified event - - The event to enqueue. - - - - Removes the first element from the queue and returns it (or ). - - - If and the queue is empty, the calling thread is blocked until - either an element is enqueued, or is called. - - - - - If the queue not empty - the first element. - - - otherwise, if == - or has been called - . - - - - - - - Stop processing of the queue - - - - - Validates method to execute. - - - - - Determines whether a method is allowed to execute and throws an exception otherwise. - - The method to validate. - - - - An IWorkItemDispatcher handles execution of work items. - - - - - The level of parallelism supported. Zero if not supported. - - - - - Start execution, performing any initialization. Sets - the top level work item and dispatches it. - - - - - Dispatch a single work item for execution. The first - work item dispatched is saved as the top-level - work item and used when stopping the run. - - The item to dispatch - - - - Cancel the ongoing run completely. - If no run is in process, the call has no effect. - - true if the IWorkItemDispatcher should abort all currently running WorkItems, false if it should allow all currently running WorkItems to complete - - - - MainThreadWorkItemDispatcher handles execution of WorkItems by - directly executing them on the main thread. This is different - from the SimpleWorkItemDispatcher where the work item is dispatched - onto its own thread. - - - - - The level of parallelism supported - - - - - Start execution, dispatching the top level - work into the main thread. - - - - - Dispatch a single work item for execution by - executing it directly. - - The item to dispatch - - - - This method is not supported for - this dispatcher. Using it will throw a - NotSupportedException. - - Not used - If used, it will always throw this. - - - - Enumeration representing the strategy to follow in executing a work item. - The value is only relevant when running under the parallel dispatcher. - - - - - Run directly on same thread - - - - - Enqueue for parallel execution - - - - - Enqueue for non-parallel execution - - - - - ParallelWorkItemDispatcher handles execution of work items by - queuing them for worker threads to process. - - - - - Event raised whenever a shift is starting. - - - - - Event raised whenever a shift has ended. - - - - - Construct a ParallelWorkItemDispatcher - - Number of workers to use - - - - Number of parallel worker threads - - - - - Enumerates all the shifts supported by the dispatcher - - - - - Enumerates all the Queues supported by the dispatcher - - - - - Start execution, setting the top level work, - enqueuing it and starting a shift to execute it. - - - - - Dispatch a single work item for execution. The first - work item dispatched is saved as the top-level - work item and used when stopping the run. - - The item to dispatch - - - - Cancel the ongoing run completely. - If no run is in process, the call has no effect. - - - - - Save the state of the queues and create a new isolated set - - - - - Try to remove isolated queues and restore old ones - - - - - QueuingEventListener uses an EventQueue to store any - events received on its EventListener interface. - - - - - The EventQueue created and filled by this listener - - - - - Construct a QueuingEventListener - - - - - A test has started - - The test that is starting - - - - A test case finished - - Result of the test case - - - - Called when a test produces output for immediate display - - A TestOutput object containing the text to display - - - - Called when a test produces a message to be sent to listeners - - A object containing the text to send - - - - A SimpleWorkItem represents a single test case and is - marked as completed immediately upon execution. This - class is also used for skipped or ignored test suites. - - - - - Construct a simple work item for a test. - - The test to be executed - The filter used to select this test - - - - Construct a simple work item for a test. - - The test to be executed - The filter used to select this test - An instance - - - - Method that performs actually performs the work. - - - - - Creates a test command for use in running this test. - - A TestCommand - - - - SimpleWorkItemDispatcher handles execution of WorkItems by - directly executing them. It is provided so that a dispatcher - is always available in the context, thereby simplifying the - code needed to run child tests. - - - - - The level of parallelism supported - - - - - Start execution, creating the execution thread, - setting the top level work and dispatching it. - - - - - Dispatch a single work item for execution by - executing it directly. - - The item to dispatch - - - - Cancel (abort or stop) the ongoing run. - If no run is in process, the call has no effect. - - true if the run should be aborted, false if it should allow its currently running test to complete - - - - Checks whether the method to execute is static. - - - - - Construct a StaticMethodValidator. - - The error message to output in case the validation fails. - - - - Determines whether a method to execute is static and throws an InvalidOperationException otherwise. - - The method to validate. - - - - A TestWorker pulls work items from a queue - and executes them. - - - - - Event handler for TestWorker events - - The TestWorker sending the event - The WorkItem that caused the event - - - - Event signaled immediately before executing a WorkItem - - - - - Event signaled immediately after executing a WorkItem - - - - - Construct a new TestWorker. - - The queue from which to pull work items - The name of this worker - - - - The WorkItemQueue from which this worker pulls WorkItems - - - - - The name of this worker - also used for the thread - - - - - Indicates whether the worker thread is running - - - - - Our ThreadProc, which pulls and runs tests in a loop - - - - - Create thread and start processing work items. - - - - - Stop the thread, either immediately or after finishing the current WorkItem - - true if the thread should be aborted, false if it should allow the currently running test to complete - - - - The TextCapture class intercepts console output and writes it - to the current execution context, if one is present on the thread. - If no execution context is found, the output is written to a - default destination, normally the original destination of the - intercepted output. - - - - - Construct a TextCapture object - - The default destination for non-intercepted output - - - - Gets the Encoding in use by this TextWriter - - - - - Writes a single character - - The char to write - - - - Writes a string - - The string to write - - - - Writes a string followed by a line terminator - - The string to write - - - - A WorkItem may be an individual test case, a fixture or - a higher level grouping of tests. All WorkItems inherit - from the abstract WorkItem class, which uses the template - pattern to allow derived classes to perform work in - whatever way is needed. - - A WorkItem is created with a particular TestExecutionContext - and is responsible for re-establishing that context in the - current thread before it begins or resumes execution. - - - - - Construct a WorkItem for a particular test. - - The test that the WorkItem will run - Filter used to include or exclude child items - - - - Construct a work Item that wraps another work Item. - Wrapper items are used to represent independently - dispatched tasks, which form part of the execution - of a single test, such as OneTimeTearDown. - - The WorkItem being wrapped - - - - Initialize the TestExecutionContext. This must be done - before executing the WorkItem. - - - Originally, the context was provided in the constructor - but delaying initialization of the context until the item - is about to be dispatched allows changes in the parent - context during OneTimeSetUp to be reflected in the child. - - The TestExecutionContext to use - - - - Event triggered when the item is complete - - - - - Gets the current state of the WorkItem - - - - - The test being executed by the work item - - - - - The name of the work item - defaults to the Test name. - - - - - Filter used to include or exclude child tests - - - - - The execution context - - - - - The worker executing this item. - - - - - The ParallelExecutionStrategy to use for this work item - - - - - Indicates whether this work item should use a separate dispatcher. - - - - - The test result - - - - - Gets the ParallelScope associated with the test, if any, - otherwise returning ParallelScope.Default; - - - - - Execute the current work item, including any - child work items. - - - - - Wait until the execution of this item is complete - - - - - Marks the WorkItem as NotRunnable. - - Reason for test being NotRunnable. - - - - Cancel (abort or stop) a WorkItem - - true if the WorkItem should be aborted, false if it should run to completion - - - - Standard Dispose - - - - - Method that performs actually performs the work. It should - set the State to WorkItemState.Complete when done. - - - - - Method called by the derived class when all work is complete - - - - - Builds the set up tear down list. - - Unsorted array of setup MethodInfos. - Unsorted array of teardown MethodInfos. - Method validator used before each method execution. - A list of SetUpTearDownItems - - - - Changes the result of the test, logging the old and new states - - The new ResultState - The new message - - - - Recursively walks up the test hierarchy to see if the - has been set on any of the parent tests. - - - - - WorkItemBuilder class knows how to build a tree of work items from a tree of tests - - - - - Creates a work item. - - The test for which this WorkItem is being created. - The filter to be used in selecting any child Tests. - True if child work items should be created and added. - - - - - Creates a work item. - - The test for which this WorkItem is being created. - The filter to be used in selecting any child Tests. - An instance. - True if child work items should be created and added. - if work item needs to be created unconditionally, if will be returned for tests that don't match the filter. - - - - - Compares two objects and returns a value indicating whether one is less than, equal to, or greater than the other. - - - A signed integer that indicates the relative values of and , as shown in the following table.Value Meaning Less than zero is less than .Zero equals .Greater than zero is greater than . - - The first object to compare.The second object to compare. - - - - WorkItemQueueState indicates the current state of a WorkItemQueue - - - - - The queue is paused - - - - - The queue is running - - - - - The queue is stopped - - - - - A WorkItemQueue holds work items that are ready to - be run, either initially or after some dependency - has been satisfied. - - - - - Initializes a new instance of the class. - - The name of the queue. - Flag indicating whether this is a parallel queue - ApartmentState to use for items on this queue - - - - Gets the name of the work item queue. - - - - - Gets a flag indicating whether this queue is used for parallel execution - - - - - Gets the target ApartmentState for work items on this queue - - - - - Gets the total number of items processed so far - - - - - Gets the current state of the queue - - - - - Get a bool indicating whether the queue is empty. - - - - - Enqueue a WorkItem to be processed - - The WorkItem to process - - - - Enqueue a WorkItem to be processed - internal for testing - - The WorkItem to process - The priority at which to process the item - - - - Dequeue a WorkItem for processing - - A WorkItem or null if the queue has stopped - - - - Start or restart processing of items from the queue - - - - - Signal the queue to stop - - - - - Pause the queue for restarting later - - - - - Save the current inner queue and create new ones for use by - a non-parallel fixture with parallel children. - - - - - Restore the inner queue that was previously saved - - - - - The current state of a work item - - - - - Ready to run or continue - - - - - Work Item is executing - - - - - Complete - - - - - Handler for ShiftChange events. - - The shift that is starting or ending. - - - - The dispatcher needs to do different things at different, - non-overlapped times. For example, non-parallel tests may - not be run at the same time as parallel tests. We model - this using the metaphor of a working shift. The WorkShift - class associates one or more WorkItemQueues with one or - more TestWorkers. - - Work in the queues is processed until all queues are empty - and all workers are idle. Both tests are needed because a - worker that is busy may end up adding more work to one of - the queues. At that point, the shift is over and another - shift may begin. This cycle continues until all the tests - have been run. - - - - - Construct a WorkShift - - - - - Event that fires when the shift has ended - - - - - The Name of this shift - - - - - Gets a flag indicating whether the shift is currently active - - - - - Gets a bool indicating whether this shift has any work to do - - - - - Gets a list of the queues associated with this shift. - - Internal for testing - immutable once initialized - - - - Gets the list of workers associated with this shift. - - Internal for testing - immutable once initialized - - - - Add a WorkItemQueue to the shift, starting it if the - shift is currently active. - - - - - Assign a worker to the shift. - - - - - - Start or restart processing for the shift - - - - - End the shift, pausing all queues and raising - the EndOfShift event. - - - - - Shut down the shift. - - - - - Cancel (abort or stop) the shift without completing all work - - true if the WorkShift should be aborted, false if it should allow its currently running tests to complete - - - - TextMessageWriter writes constraint descriptions and messages - in displayable form as a text stream. It tailors the display - of individual message components to form the standard message - format of NUnit assertion failure messages. - - - - - Prefix used for the expected value line of a message - - - - - Prefix used for the actual value line of a message - - - - - Prefix used for the actual difference between actual and expected values if compared with a tolerance - - - - - Length of a message prefix - - - - - Construct a TextMessageWriter - - - - - Construct a TextMessageWriter, specifying a user message - and optional formatting arguments. - - - - - - - Gets or sets the maximum line length for this writer - - - - - Method to write single line message with optional args, usually - written to precede the general failure message, at a given - indentation level. - - The indentation level of the message - The message to be written - Any arguments used in formatting the message - - - - Display Expected and Actual lines for a constraint. This - is called by MessageWriter's default implementation of - WriteMessageTo and provides the generic two-line display. - - The result of the constraint that failed - - - - Gets the unique type name between expected and actual. - - The expected value - The actual value causing the failure - Output of the unique type name for expected - Output of the unique type name for actual - - - - Display Expected and Actual lines for given values. This - method may be called by constraints that need more control over - the display of actual and expected values than is provided - by the default implementation. - - The expected value - The actual value causing the failure - - - - Display Expected and Actual lines for given values, including - a tolerance value on the expected line. - - The expected value - The actual value causing the failure - The tolerance within which the test was made - - - - Display the expected and actual string values on separate lines. - If the mismatch parameter is >=0, an additional line is displayed - line containing a caret that points to the mismatch point. - - The expected string value - The actual string value - The point at which the strings don't match or -1 - If true, case is ignored in string comparisons - If true, clip the strings to fit the max line length - - - - Writes the text for an actual value. - - The actual value. - - - - Writes the text for a generalized value. - - The value. - - - - Writes the text for a collection value, - starting at a particular point, to a max length - - The collection containing elements to write. - The starting point of the elements to write - The maximum number of elements to write - - - - Write the generic 'Expected' line for a constraint - - The constraint that failed - - - - Write the generic 'Expected' line for a given value - and tolerance. - - The expected value - The tolerance within which the test was made - - - - Write the generic 'Actual' line for a constraint - - The ConstraintResult for which the actual value is to be written - - - - Write the generic 'Actual' line for a given value - - The actual value causing a failure - - - - Extensions to . - - - - - Adds the skip reason to tests that are ignored until a specific date. - - The test properties to add the skip reason to - The date that the test is being ignored until - The reason the test is being ignored until that date - - - - Combines multiple filters so that a test must pass all - of them in order to pass this filter. - - - - - Constructs an empty AndFilter - - - - - Constructs an AndFilter from an array of filters - - - - - - Checks whether the AndFilter is matched by a test - - The test to be matched - If set to we are carrying a negation through - True if all the component filters pass, otherwise false - - - - Checks whether the AndFilter is matched by a test - - The test to be matched - True if all the component filters match, otherwise false - - - - Checks whether the AndFilter is explicit matched by a test. - - The test to be matched - True if all the component filters explicit match, otherwise false - - - - Gets the element name - - Element name - - - - CategoryFilter is able to select or exclude tests - based on their categories. - - - - - Construct a CategoryFilter using a single category name - - A category name - - - - Check whether the filter matches a test - - The test to be matched - - - - - Gets the element name - - Element name - - - - ClassName filter selects tests based on the class FullName - - - - - Construct a FullNameFilter for a single name - - The name the filter will recognize. - - - - Match a test against a single value. - - - - - Gets the element name - - Element name - - - - A base class for multi-part filters - - - - - Constructs an empty CompositeFilter - - - - - Constructs a CompositeFilter from an array of filters - - - - - - Return a list of the composing filters. - - - - - Checks whether the CompositeFilter is matched by a test. - - The test to be matched - If set to we are carrying a negation through - - - - Checks whether the CompositeFilter is matched by a test. - - The test to be matched - - - - Checks whether the CompositeFilter is explicit matched by a test. - - The test to be matched - - - - Adds an XML node - - Parent node - True if recursive - The added XML node - - - - Gets the element name - - Element name - - - - FullName filter selects tests based on their FullName - - - - - Construct a FullNameFilter for a single name - - The name the filter will recognize. - - - - Match a test against a single value. - - - - - Gets the element name - - Element name - - - - IdFilter selects tests based on their id - - - - - Construct an IdFilter for a single value - - The id the filter will recognize. - - - - Match a test against a single value. - - - - - Gets the element name - - Element name - - - - FullName filter selects tests based on their FullName - - - - - Construct a MethodNameFilter for a single name - - The name the filter will recognize. - - - - Match a test against a single value. - - - - - Gets the element name - - Element name - - - - ClassName filter selects tests based on the class FullName - - - - - Construct a NamespaceFilter for a single namespace - - The namespace the filter will recognize. - - - - Match a test against a single value. - - - - - Gets the element name - - Element name - - - - NotFilter negates the operation of another filter - - - - - Construct a not filter on another filter - - The filter to be negated - - - - Gets the base filter - - - - - Determine if a particular test passes the filter criteria. - - The test to which the filter is applied - If set to we are carrying a negation through - True if the test passes the filter, otherwise false - - - - Check whether the filter matches a test - - The test to be matched - True if it matches, otherwise false - - - - Determine if a test matches the filter explicitly. That is, it must - be a direct match of the test itself or one of its children. - - The test to which the filter is applied - True if the test matches the filter explicitly, otherwise false - - - - Adds an XML node - - Parent node - True if recursive - The added XML node - - - - Combines multiple filters so that a test must pass one - of them in order to pass this filter. - - - - - Constructs an empty OrFilter - - - - - Constructs an OrFilter from an array of filters - - - - - - Checks whether the OrFilter is matched by a test - - The test to be matched - If set to we are carrying a negation through - True if any of the component filters pass, otherwise false - - - - Checks whether the OrFilter is matched by a test - - The test to be matched - True if any of the component filters match, otherwise false - - - - Checks whether the OrFilter is explicit matched by a test - - The test to be matched - True if any of the component filters explicit match, otherwise false - - - - Gets the element name - - Element name - - - - PropertyFilter is able to select or exclude tests - based on their properties. - - - - - Construct a PropertyFilter using a property name and expected value - - A property name - The expected value of the property - - - - Check whether the filter matches a test - - The test to be matched - - - - - Adds an XML node - - Parent node - True if recursive - The added XML node - - - - Gets the element name - - Element name - - - - TestName filter selects tests based on their Name - - - - - Construct a TestNameFilter for a single name - - The name the filter will recognize. - - - - Match a test against a single value. - - - - - Gets the element name - - Element name - - - - ValueMatchFilter selects tests based on some value, which - is expected to be contained in the test. - - - - - Returns the value matched by the filter - used for testing - - - - - Indicates whether the value is a regular expression - - - - - Construct a ValueMatchFilter for a single value. - - The value to be included. - - - - Match the input provided by the derived class - - The value to be matched - True for a match, false otherwise. - - - - Adds an XML node - - Parent node - True if recursive - The added XML node - - - - Gets the element name - - Element name - - - - GenericMethodHelper is able to deduce the Type arguments for - a generic method from the actual arguments provided. - - - - - A special value, which is used to indicate that BestCommonType() method - was unable to find a common type for the specified arguments. - - - - - Construct a GenericMethodHelper for a method - - MethodInfo for the method to examine - - - - Return the type arguments for the method, deducing them - from the arguments actually provided. - - The arguments to the method - If successful, an array of type arguments. - - - - A minimalistic implementation of an immutable stack. Add members as needed. - - - - - Represents an empty stack. may be used instead. - - - - - Returns a new immutable stack which begins with the specified value and continues with the values in the - current stack. - - The beginning value of the new stack. - - - - InvalidTestFixtureException is thrown when an appropriate test - fixture constructor using the provided arguments cannot be found. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The message. - - - - Initializes a new instance of the class. - - The message. - The inner. - - - - Serialization Constructor - - - - - InvalidPlatformException is thrown when the platform name supplied - to a test is not recognized. - - - - - Instantiates a new instance of the class. - - - - - Instantiates a new instance of the class - - The message. - - - - Instantiates a new instance of the class - - The message. - The inner. - - - - Serialization constructor for the class - - - - - InvalidTestFixtureException is thrown when an appropriate test - fixture constructor using the provided arguments cannot be found. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The message. - - - - Initializes a new instance of the class. - - The message. - The inner. - - - - Serialization Constructor - - - - - Interface for logging within the engine - - - - - Logs the specified message at the error level. - - The message. - - - - Logs the specified message at the error level. - - The message. - The arguments. - - - - Logs the specified message at the warning level. - - The message. - - - - Logs the specified message at the warning level. - - The message. - The arguments. - - - - Logs the specified message at the info level. - - The message. - - - - Logs the specified message at the info level. - - The message. - The arguments. - - - - Logs the specified message at the debug level. - - The message. - - - - Logs the specified message at the debug level. - - The message. - The arguments. - - - - InternalTrace provides facilities for tracing the execution - of the NUnit framework. Tests and classes under test may make use - of Console writes, System.Diagnostics.Trace or various loggers and - NUnit itself traps and processes each of them. For that reason, a - separate internal trace is needed. - - Note: - InternalTrace uses a global lock to allow multiple threads to write - trace messages. This can easily make it a bottleneck so it must be - used sparingly. Keep the trace Level as low as possible and only - insert InternalTrace writes where they are needed. - TODO: add some buffering and a separate writer thread as an option. - TODO: figure out a way to turn on trace in specific classes only. - - - - - Gets a flag indicating whether the InternalTrace is initialized - - - - - Initialize the internal trace facility using the name of the log - to be written to and the trace level. - - The log name - The trace level - - - - Initialize the internal trace using a provided TextWriter and level - - A TextWriter - The InternalTraceLevel - - - - Get a named Logger - - - - - - Get a logger named for a particular Type. - - - - - InternalTraceLevel is an enumeration controlling the - level of detailed presented in the internal log. - - - - - Use the default settings as specified by the user. - - - - - Do not display any trace messages - - - - - Display Error messages only - - - - - Display Warning level and higher messages - - - - - Display informational and higher messages - - - - - Display debug messages and higher - i.e. all messages - - - - - Display debug messages and higher - i.e. all messages - - - - - A trace listener that writes to a separate file per domain - and process using it. - - - - - Construct an InternalTraceWriter that writes to a file. - - Path to the file to use - - - - Construct an InternalTraceWriter that writes to a - TextWriter provided by the caller. - - - - - - Returns the character encoding in which the output is written. - - The character encoding in which the output is written. - - - - Writes a character to the text string or stream. - - The character to write to the text stream. - - - - Writes a string to the text string or stream. - - The string to write. - - - - Writes a string followed by a line terminator to the text string or stream. - - The string to write. If is null, only the line terminator is written. - - - - Releases the unmanaged resources used by the and optionally releases the managed resources. - - true to release both managed and unmanaged resources; false to release only unmanaged resources. - - - - Clears all buffers for the current writer and causes any buffered data to be written to the underlying device. - - - - - Provides internal logging to the NUnit framework - - - - - Initializes a new instance of the class. - - The name. - The log level. - The writer where logs are sent. - - - - Logs the message at error level. - - The message. - - - - Logs the message at error level. - - The message. - The message arguments. - - - - Logs the message at warm level. - - The message. - - - - Logs the message at warning level. - - The message. - The message arguments. - - - - Logs the message at info level. - - The message. - - - - Logs the message at info level. - - The message. - The message arguments. - - - - Logs the message at debug level. - - The message. - - - - Logs the message at debug level. - - The message. - The message arguments. - - - - The MethodWrapper class wraps a MethodInfo so that it may - be used in a platform-independent manner. - - - - - Construct a MethodWrapper for a Type and a MethodInfo. - - - - - Construct a MethodInfo for a given Type and method name. - - - - - Gets the Type from which this method was reflected. - - - - - Gets the MethodInfo for this method. - - - - - Gets the name of the method. - - - - - Gets a value indicating whether the method is abstract. - - - - - Gets a value indicating whether the method is public. - - - - - Gets a value indicating whether the method is static. - - - - - Gets a value indicating whether the method contains unassigned generic type parameters. - - - - - Gets a value indicating whether the method is a generic method. - - - - - Gets a value indicating whether the MethodInfo represents the definition of a generic method. - - - - - Gets the return Type of the method. - - - - - Gets the parameters of the method. - - - - - - Returns the Type arguments of a generic method or the Type parameters of a generic method definition. - - - - - Replaces the type parameters of the method with the array of types provided and returns a new IMethodInfo. - - The type arguments to be used - A new IMethodInfo with the type arguments replaced - - - - Returns an array of custom attributes of the specified type applied to this method - - - - - Gets a value indicating whether one or more attributes of the specified type are defined on the method. - - - - - Invokes the method, converting any TargetInvocationException to an NUnitException. - - The object on which to invoke the method - The argument list for the method - The return value from the invoked method - - - - Override ToString() so that error messages in NUnit's own tests make sense - - - - - This class ensures the is correctly cleared - or restored around framework actions. This is important if running multiple assemblies within the same - process, to ensure no leakage from one assembly to the next. See https://github.com/nunit/nunit-console/issues/325 - - - - - Thrown when an assertion failed. Here to preserve the inner - exception and hence its stack trace. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The error message that explains - the reason for the exception - - - - Initializes a new instance of the class. - - The error message that explains - the reason for the exception - The exception that caused the - current exception - - - - Serialization Constructor - - - - - Enables the syntax. - - - - - Wraps an action so that it is executed when the returned object is disposed. - This disposal is thread-safe and the action will be executed at most once. - - - - - OSPlatform represents a particular operating system platform - - - - - Platform ID for Unix as defined by .NET - - - - - Platform ID for Unix as defined by Mono - - - - - Platform ID for XBox as defined by .NET and Mono - - - - - Platform ID for MacOSX as defined by .NET and Mono - - - - - Get the OSPlatform under which we are currently running - - - - - Gets the actual OS Version, not the incorrect value that might be - returned for Win 8.1 and Win 10 - - - If an application is not manifested as Windows 8.1 or Windows 10, - the version returned from Environment.OSVersion will not be 6.3 and 10.0 - respectively, but will be 6.2 and 6.3. The correct value can be found in - the registry. - - The original version - The correct OS version - - - - Product Type Enumeration used for Windows - - - - - Product type is unknown or unspecified - - - - - Product type is Workstation - - - - - Product type is Domain Controller - - - - - Product type is Server - - - - - Construct from a platform ID and version - - - - - Construct from a platform ID, version and product type - - - - - Get the platform ID of this instance - - - - - Implemented to use in place of Environment.OSVersion.ToString() - - A representation of the platform ID and version in an approximation of the format used by Environment.OSVersion.ToString() - - - - Get the Version of this instance - - - - - Get the Product Type of this instance - - - - - Return true if this is a windows platform - - - - - Return true if this is a Unix or Linux platform - - - - - Return true if the platform is Win32S - - - - - Return true if the platform is Win32Windows - - - - - Return true if the platform is Win32NT - - - - - Return true if the platform is Windows CE - - - - - Return true if the platform is Xbox - - - - - Return true if the platform is MacOSX - - - - - Return true if the platform is Windows 95 - - - - - Return true if the platform is Windows 98 - - - - - Return true if the platform is Windows ME - - - - - Return true if the platform is NT 3 - - - - - Return true if the platform is NT 4 - - - - - Return true if the platform is NT 5 - - - - - Return true if the platform is Windows 2000 - - - - - Return true if the platform is Windows XP - - - - - Return true if the platform is Windows 2003 Server - - - - - Return true if the platform is NT 6 - - - - - Return true if the platform is NT 6.0 - - - - - Return true if the platform is NT 6.1 - - - - - Return true if the platform is NT 6.2 - - - - - Return true if the platform is NT 6.3 - - - - - Return true if the platform is Vista - - - - - Return true if the platform is Windows 2008 Server (original or R2) - - - - - Return true if the platform is Windows 2008 Server (original) - - - - - Return true if the platform is Windows 2008 Server R2 - - - - - Return true if the platform is Windows 2012 Server (original or R2) - - - - - Return true if the platform is Windows 2012 Server (original) - - - - - Return true if the platform is Windows 2012 Server R2 - - - - - Return true if the platform is Windows 7 - - - - - Return true if the platform is Windows 8 - - - - - Return true if the platform is Windows 8.1 - - - - - Return true if the platform is Windows 10 - - - - - Return true if the platform is Windows Server. This is named Windows - Server 10 to distinguish it from previous versions of Windows Server. - - - - - - Examines an attribute argument and tries to simulate what that value would have been if the literal syntax - which might have defined the value in C# had instead been used as an argument to a given method parameter in a direct call. - - - For example, since you can’t apply attributes using arguments, we allow the C# syntax - 10 ( value) or 0.1 ( value) to be specified. - NUnit then converts it to match the method’s parameters, just as if you were actually - using the syntax TestMethod(10) or TestMethod(0.1). - - - For another example, you might have written the syntax 10 and picked up the attribute - constructor overload; however, the test method for which this value is intended only has a - signature. Again, NUnit simulates what would have happened if the inferred C# syntax was transplanted - and you were actually using the syntax TestMethod(10). - - - - - - Converts an array of objects to the , if it is supported. - - - - - Converts a single value to the , if it is supported. - - - - - Performs several special conversions allowed by NUnit in order to - permit arguments with types that cannot be used in the constructor - of an Attribute such as TestCaseAttribute or to simplify their use. - - The value to be converted - The target in which the should be converted - If conversion was successfully applied, the converted into - - if was converted and should be used; - is no conversion was applied and should be ignored - - - - - The ParameterWrapper class wraps a ParameterInfo so that it may - be used in a platform-independent manner. - - - - - Construct a ParameterWrapper for a given method and parameter - - - - - - - Gets a value indicating whether the parameter is optional - - - - - Gets an IMethodInfo representing the method for which this is a parameter. - - - - - Gets the underlying ParameterInfo - - - - - Gets the Type of the parameter - - - - - Returns an array of custom attributes of the specified type applied to this method - - - - - Gets a value indicating whether one or more attributes of the specified type are defined on the parameter. - - - - - PlatformHelper class is used by the PlatformAttribute class to - determine whether a platform is supported. - - - - - Comma-delimited list of all supported OS platform constants - - - - - Comma-delimited list of all supported Runtime platform constants - - - - - Default constructor uses the operating system and - common language runtime of the system. - - - - - Construct a PlatformHelper for a particular operating - system and common language runtime. Used in testing. - - RuntimeFramework to be used - OperatingSystem to be used - - - - Test to determine if one of a collection of platforms - is being used currently. - - - - - - - Tests to determine if the current platform is supported - based on a platform attribute. - - The attribute to examine - - - - - Tests to determine if the current platform is supported - based on a platform attribute. - - The attribute to examine - - - - - Test to determine if a particular platform or comma-delimited set of platforms is in use. - - Name of the platform or comma-separated list of platform ids - True if the platform is in use on the system - - - - Return the last failure reason. Results are not - defined if called before IsSupported( Attribute ) - is called. - - - - - Implements a simplified filter for use in deciding which - Types and Methods should be used to generate tests. It is constructed with a - list of strings, each of which may end up being interpreted in various ways. - - - - - Return a new PreFilter, without elements, which is considered - empty and always matches. - - - - - Return true if the filter is empty, in which case it - always succeeds. Technically, this is just a filter and - you can add elements but it's best to use Empty when - you need an empty filter and new when you plan to add. - - - - - Add a new filter element to the filter - - - - - - Use the filter on a Type, returning true if the type matches the filter - and should therefore be included in the discovery process. - - - - - Use the filter on a Type, returning true if the type matches the filter - and should therefore be included in the discovery process. - - - - - A PropertyBag represents a collection of name value pairs - that allows duplicate entries with the same key. Methods - are provided for adding a new pair as well as for setting - a key to a single value. All keys are strings but values - may be of any type. Null values are not permitted, since - a null entry represents the absence of the key. - - - - - Adds a key/value pair to the property set - - The key - The value - - - - Sets the value for a key, removing any other - values that are already in the property set. - - - - - - - Gets a single value for a key, using the first - one if multiple values are present and returning - null if the value is not found. - - - - - - - Gets a flag indicating whether the specified key has - any entries in the property set. - - The key to be checked - - True if their are values present, otherwise false - - - - - Gets a collection containing all the keys in the property set - - - - - - Gets or sets the list of values for a particular key - - - - - Returns an XmlNode representing the current PropertyBag. - - Not used - An XmlNode representing the PropertyBag - - - - Returns an XmlNode representing the PropertyBag after - adding it as a child of the supplied parent node. - - The parent node. - Not used - - - - - The PropertyNames class provides static constants for the - standard property ids that NUnit uses on tests. - - - - - The FriendlyName of the AppDomain in which the assembly is running - - - - - The selected strategy for joining parameter data into test cases - - - - - The process ID of the executing assembly - - - - - The stack trace from any data provider that threw - an exception. - - - - - The reason a test was not run - - - - - The author of the tests - - - - - The ApartmentState required for running the test - - - - - The categories applying to a test - - - - - The Description of a test - - - - - The number of threads to be used in running tests - - - - - The maximum time in ms, above which the test is considered to have failed - - - - - The ParallelScope associated with a test - - - - - The number of times the test should be repeated - - - - - Indicates that the test should be run on a separate thread - - - - - The culture to be set for a test - - - - - The UI culture to be set for a test - - - - - The type that is under test - - - - - The timeout value for the test - - - - - The test will be ignored until the given date - - - - - The optional Order the test will run in - - - - - Randomizer returns a set of random values in a repeatable - way, to allow re-running of tests if necessary. It extends - the .NET Random class, providing random values for a much - wider range of types. - - The class is used internally by the framework to generate - test case data and is also exposed for use by users through - the TestContext.Random property. - - - For consistency with the underlying Random Type, methods - returning a single value use the prefix "Next..." Those - without an argument return a non-negative value up to - the full positive range of the Type. Overloads are provided - for specifying a maximum or a range. Methods that return - arrays or strings use the prefix "Get..." to avoid - confusion with the single-value methods. - - - - - Initial seed used to create randomizers for this run - - - - - Get a Randomizer for a particular member, returning - one that has already been created if it exists. - This ensures that the same values are generated - each time the tests are reloaded. - - - - - Get a randomizer for a particular parameter, returning - one that has already been created if it exists. - This ensures that the same values are generated - each time the tests are reloaded. - - - - - Create a new Randomizer using the next seed - available to ensure that each randomizer gives - a unique sequence of values. - - - - - - Default constructor - - - - - Construct based on seed value - - - - - - Returns a random unsigned int. - - - - - Returns a random unsigned int less than the specified maximum. - - - - - Returns a random unsigned int within a specified range. - - - - - Returns a non-negative random short. - - - - - Returns a non-negative random short less than the specified maximum. - - - - - Returns a non-negative random short within a specified range. - - - - - Returns a random unsigned short. - - - - - Returns a random unsigned short less than the specified maximum. - - - - - Returns a random unsigned short within a specified range. - - - - - Returns a random long. - - - - - Returns a random long less than the specified maximum. - - - - - Returns a non-negative random long within a specified range. - - - - - Returns a random ulong. - - - - - Returns a random ulong less than the specified maximum. - - - - - Returns a non-negative random long within a specified range. - - - - - Returns a random Byte - - - - - Returns a random Byte less than the specified maximum. - - - - - Returns a random Byte within a specified range - - - - - Returns a random SByte - - - - - Returns a random sbyte less than the specified maximum. - - - - - Returns a random sbyte within a specified range - - - - - Returns a random bool - - - - - Returns a random bool based on the probability a true result - - - - - Returns a random double between 0.0 and the specified maximum. - - - - - Returns a random double within a specified range. - - - - - Returns a random float. - - - - - Returns a random float between 0.0 and the specified maximum. - - - - - Returns a random float within a specified range. - - - - - Returns a random enum value of the specified Type as an object. - - - - - Returns a random enum value of the specified Type. - - - - - Default characters for random functions. - - Default characters are the English alphabet (uppercase & lowercase), Arabic numerals, and underscore - - - - Generate a random string based on the characters from the input string. - - desired length of output string. - string representing the set of characters from which to construct the resulting string - A random string of arbitrary length - - - - Generate a random string based on the characters from the input string. - - desired length of output string. - A random string of arbitrary length - Uses DefaultStringChars as the input character set - - - - Generate a random string based on the characters from the input string. - - A random string of the default length - Uses DefaultStringChars as the input character set - - - - Returns a random decimal. - - - - - Returns a random decimal between positive zero and the specified maximum. - - - - - Returns a random decimal within a specified range, which is not - permitted to exceed decimal.MaxVal in the current implementation. - - - A limitation of this implementation is that the range from min - to max must not exceed decimal.MaxVal. - - - - - Generates a valid version 4 . - - - - - Helper methods for inspecting a type by reflection. - - Many of these methods take ICustomAttributeProvider as an - argument to avoid duplication, even though certain attributes can - only appear on specific types of members, like MethodInfo or Type. - - In the case where a type is being examined for the presence of - an attribute, interface or named member, the Reflect methods - operate with the full name of the member being sought. This - removes the necessity of the caller having a reference to the - assembly that defines the item being sought and allows the - NUnit core to inspect assemblies that reference an older - version of the NUnit framework. - - - - - Examine a fixture type and return true if it has a method with - a particular attribute. - - The type to examine - The attribute Type to look for - True if found, otherwise false - - - - Invoke the default constructor on a Type - - The Type to be constructed - An instance of the Type - - - - Invoke a constructor on a Type with arguments - - The Type to be constructed - Arguments to the constructor - An instance of the Type - - - - Returns an array of types from an array of objects. - Differs from by returning - for null elements rather than throwing . - - - - - Gets the constructors to which the specified argument types can be coerced. - - - - - Determines if the given types can be coerced to match the given parameters. - - - - - Determines whether the current type can be implicitly converted to the specified type. - - - - - Invoke a parameterless method returning void on an object. - - A MethodInfo for the method to be invoked - The object on which to invoke the method - - - - Invoke a method, converting any TargetInvocationException to an NUnitException. - - A MethodInfo for the method to be invoked - The object on which to invoke the method - The argument list for the method - The return value from the invoked method - - - - - Selects the ultimate shadowing property just like dynamic would, - rather than throwing - for properties that shadow properties of a different property type - which is what does. - - - If you request both public and nonpublic properties, every public property is preferred - over every nonpublic property. It would violate the principle of least surprise for a - derived class’s implementation detail to be chosen over the public API for a type. - - - See . - See . - See . - - - - Same as GetMethod(, | - , , , - ) except that it also chooses only non-generic methods. - Useful for avoiding the you can have with GetMethod. - - - - - Returns the get accessor for the indexer. - - Type to reflect on for the indexer. - List of indexer types that matches the indexer type order. - The Get accessor - - - - Represents the result of running a single test case. - - - - - Construct a TestCaseResult based on a TestMethod - - A TestMethod to which the result applies. - - - - Gets the number of test cases that failed - when running the test and all its children. - - - - - Gets the number of test cases that executed - when running the test and all its children. - - - - - Gets the number of test cases that had warnings - when running the test and all its children. - - - - - Gets the number of test cases that passed - when running the test and all its children. - - - - - Gets the number of test cases that were skipped - when running the test and all its children. - - - - - Gets the number of test cases that were inconclusive - when running the test and all its children. - - - - - Indicates whether this result has any child results. - - - - - Gets the collection of child results. - - - - - The TestResult class represents the result of a test. - - - - - Error message for when child tests have errors - - - - - Error message for when child tests have warnings - - - - - Error message for when child tests are ignored - - - - - Error message for when user has cancelled the test run - - - - - The minimum duration for tests - - - - - Aggregate assertion count - - - - - ReaderWriterLock - - - - - Construct a test result given a Test - - The test to be used - - - - Gets the test with which this result is associated. - - - - - Gets the ResultState of the test result, which - indicates the success or failure of the test. - - - - - Gets the name of the test result - - - - - Gets the full name of the test result - - - - - Gets or sets the elapsed time for running the test in seconds - - - - - Gets or sets the time the test started running. - - - - - Gets or sets the time the test finished running. - - - - - Adds a test attachment to the test result - - The TestAttachment object to attach - - - - Gets the collection of files attached to the test - - - - - Gets the message associated with a test - failure or with not running the test - - - - - Gets any stack trace associated with an - error or failure. - - - - - Gets or sets the count of asserts executed - when running the test. - - - - - Gets the number of test cases executed - when running the test and all its children. - - - - - Gets the number of test cases that failed - when running the test and all its children. - - - - - Gets the number of test cases that had warnings - when running the test and all its children. - - - - - Gets the number of test cases that passed - when running the test and all its children. - - - - - Gets the number of test cases that were skipped - when running the test and all its children. - - - - - Gets the number of test cases that were inconclusive - when running the test and all its children. - - - - - Indicates whether this result has any child results. - - - - - Gets the collection of child results. - - - - - Gets a TextWriter, which will write output to be included in the result. - - - - - Gets any text output written to this result. - - - - - Gets a list of assertion results associated with the test. - - - - - Returns the XML representation of the result. - - If true, descendant results are included - An XmlNode representing the result - - - - Adds the XML representation of the result as a child of the - supplied parent node.. - - The parent node. - If true, descendant results are included - - - - - Gets a count of pending failures (from Multiple Assert) - - - - - Gets the worst assertion status (highest enum) in all the assertion results - - - - - Set the result of the test - - The ResultState to use in the result - - - - Set the result of the test - - The ResultState to use in the result - A message associated with the result state - - - - Set the result of the test - - The ResultState to use in the result - A message associated with the result state - Stack trace giving the location of the command - - - - Set the test result based on the type of exception thrown - - The exception that was thrown - - - - Set the test result based on the type of exception thrown - - The exception that was thrown - The FailureSite to use in the result - - - - RecordTearDownException appends the message and stack trace - from an exception arising during teardown of the test - to any previously recorded information, so that any - earlier failure information is not lost. Note that - calling Assert.Ignore, Assert.Inconclusive, etc. during - teardown is treated as an error. If the current result - represents a suite, it may show a teardown error even - though all contained tests passed. - - The Exception to be recorded - - - - Update overall test result, including legacy Message, based - on AssertionResults that have been saved to this point. - - - - - Record an assertion result - - - - - Record an assertion result - - - - - Record an assertion result - - - - - Creates a failure message incorporating failures - from a Multiple Assert block for use by runners - that don't know about AssertionResults. - - Message as a string - - - - Adds a failure element to a node and returns it. - - The target node. - The new failure element. - - - - Adds an attachments element to a node and returns it. - - The target node. - The new attachments element. - - - - Represents the result of running a test suite - - - - - Construct a TestSuiteResult base on a TestSuite - - The TestSuite to which the result applies - - - - Gets the number of test cases that executed - when running the test and all its children. - - - - - Gets the number of test cases that failed - when running the test and all its children. - - - - - Gets the number of test cases that passed - when running the test and all its children. - - - - - Gets the number of test cases that passed - when running the test and all its children. - - - - - Gets the number of test cases that were skipped - when running the test and all its children. - - - - - Gets the number of test cases that were inconclusive - when running the test and all its children. - - - - - Indicates whether this result has any child results. - - - - - Gets the collection of child results. - - - - - Adds a child result to this result, setting this result's - ResultState to Failure if the child result failed. - - The result to be added - - - - RuntimeFramework represents a particular version - of a common language runtime implementation. - - - - - DefaultVersion is an empty Version, used to indicate that - NUnit should select the CLR version to use for the test. - - - - - Construct from a runtime type and version. If the version has - two parts, it is taken as a framework version. If it has three - or more, it is taken as a CLR version. In either case, the other - version is deduced based on the runtime type and provided version. - - The runtime type of the framework - The version of the framework - - - - Static method to return a RuntimeFramework object - for the framework that is currently in use. - - - - - The type of this runtime framework - - - - - The framework version for this runtime framework - - - - - The CLR version for this runtime framework - - - - - Return true if any CLR version may be used in - matching this RuntimeFramework object. - - - - - Returns the Display name for this framework - - - - - Parses a string representing a RuntimeFramework. - The string may be just a RuntimeType name or just - a Version or a hyphenated RuntimeType-Version or - a Version prefixed by 'versionString'. - - - - - - - Overridden to return the short name of the framework - - - - - - Returns true if the current framework matches the - one supplied as an argument. Two frameworks match - if their runtime types are the same or either one - is RuntimeType.Any and all specified version components - are equal. Negative (i.e. unspecified) version - components are ignored. - - The RuntimeFramework to be matched. - True on match, otherwise false - - - - Enumeration identifying a common language - runtime implementation. - - - - Any supported runtime framework - - - Microsoft .NET Framework - - - Microsoft .NET Framework - - - Microsoft Shared Source CLI - - - Mono - - - MonoTouch - - - Microsoft .NET Core, including .NET 5+ - - - - Holds thread state which is captured and restored in order to sandbox user code. - - - - - Thread principal. - This will be null on platforms that don't support . - - - - - Captures a snapshot of the tracked state of the current thread to be restored later. - - - - - Restores the tracked state of the current thread to the previously captured state. - - - - - Returns a copy with the specified culture. - - - - - Returns a copy with the specified UI culture. - - - - - Returns a copy with the specified principal. - - - - - May be called from any thread. - - - - - May be called from any thread. - - - - - May be called from any thread. - - - - - May be called from any thread, but may only be called once. - - - - - StackFilter class is used to remove internal NUnit - entries from a stack trace so that the resulting - trace provides better information about the test. - - - - - Single instance of our default filter - - - - - Construct a stack filter instance - - Regex pattern used to delete lines from the top of the stack - Regex pattern used to delete lines from the bottom of the stack - - - - Construct a stack filter instance - - Regex pattern used to delete lines from the top of the stack - - - - Construct a stack filter instance - - - - - Filters a raw stack trace and returns the result. - - The original stack trace - A filtered stack trace - - - - Provides methods to support legacy string comparison methods. - - - - - Compares two strings for equality, ignoring case if requested. - - The first string. - The second string.. - if set to , the case of the letters in the strings is ignored. - Zero if the strings are equivalent, a negative number if strA is sorted first, a positive number if - strB is sorted first - - - - Compares two strings for equality, ignoring case if requested. - - The first string. - The second string.. - if set to , the case of the letters in the strings is ignored. - True if the strings are equivalent, false if not. - - - - The TestCaseParameters class encapsulates method arguments and - other selected parameters needed for constructing - a parameterized test case. - - - - - The expected result to be returned - - - - - Default Constructor creates an empty parameter set - - - - - Construct a non-runnable ParameterSet, specifying - the provider exception that made it invalid. - - - - - Construct a parameter set with a list of arguments - - - - - - Construct a ParameterSet from an object implementing ITestCaseData - - - - - - The expected result of the test, which - must match the method return type. - - - - - Gets a value indicating whether an expected result was specified. - - - - - TestCaseTimeoutException is thrown when a test running directly - on a TestWorker thread is cancelled due to timeout. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The message. - - - - Initializes a new instance of the class. - - The message. - The inner. - - - - Serialization Constructor - - - - - Helper class used to save and restore certain static or - singleton settings in the environment that affect tests - or which might be changed by the user tests. - - - - - Link to a prior saved context - - - - - Indicates that a stop has been requested - - - - - The event listener currently receiving notifications - - - - - The number of assertions for the current test - - - - - The current test result - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - An existing instance of TestExecutionContext. - - - - Gets and sets the current context. - - - - - Gets or sets the current test - - - - - The time the current test started execution - - - - - The time the current test started in Ticks - - - - - Gets the elapsed time for running the test in seconds - - - - - Gets or sets the current test result - - - - - Gets a TextWriter that will send output to the current test result. - - - - - The current test object - that is the user fixture - object on which tests are being executed. - - - - - Get or set indicator that run should stop on the first error - - - - - Gets an enum indicating whether a stop has been requested. - - - - - The current test event listener - - - - - The current WorkItemDispatcher. Made public for - use by nunitlite.tests - - - - - The ParallelScope to be used by tests running in this context. - For builds with out the parallel feature, it has no effect. - - - - - Default tolerance value used for floating point equality - when no other tolerance is specified. - - - - - The worker that spawned the context. - For builds without the parallel feature, it is null. - - - - - Gets the RandomGenerator specific to this Test - - - - - Gets the assert count. - - The assert count. - - - - The current nesting level of multiple assert blocks - - - - - Gets or sets the test case timeout value - - - - - Gets a list of ITestActions set by upstream tests - - - - - Saves or restores the CurrentCulture - - - - - Saves or restores the CurrentUICulture - - - - - Gets or sets the current for the Thread. - - - - - The current head of the ValueFormatter chain, copied from MsgUtils.ValueFormatter - - - - - If true, all tests must run on the same thread. No new thread may be spawned. - - - - - The number of times the current test has been scheduled for execution. - Currently only being executed in a test using the - - - - - Record any changes in the environment made by - the test code in the execution context so it - will be passed on to lower level tests. - - - - - Set up the execution environment to match a context. - Note that we may be running on the same thread where the - context was initially created or on a different thread. - - - - - Increments the assert count by one. - - - - - Increments the assert count by a specified amount. - - - - - Adds a new ValueFormatterFactory to the chain of formatters - - The new factory - - - - Sends a message from test to listeners. This message is not kind of test output and doesn't go to test result. - - A name recognized by the intended listeners. - A message to be sent - - - - Obtain lifetime service object - - - - - - An IsolatedContext is used when running code - that may effect the current result in ways that - should not impact the final result of the test. - A new TestExecutionContext is created with an - initially clear result, which is discarded on - exiting the context. - - - using (new TestExecutionContext.IsolatedContext()) - { - // Code that should not impact the result - } - - - - - Save the original current TestExecutionContext and - make a new isolated context current. - - - - - Restore the original TestExecutionContext. - - - - - An AdhocTestExecutionContext is created whenever a context is needed - but not available in CurrentContext. This happens when tests are run - on an ad-hoc basis or Asserts are used outside of tests. - - - - - Construct an AdhocTestExecutionContext, which is used - whenever the current TestExecutionContext is found to be null. - - - - - Enumeration indicating whether the tests are - running normally or being cancelled. - - - - - Running normally with no stop requested - - - - - A graceful stop has been requested - - - - - A forced stop has been requested - - - - - Interface to be implemented by filters applied to tests. - The filter applies when running the test, after it has been - loaded, since this is the only time an ITest exists. - - - - - Unique Empty filter. - - - - - Indicates whether this is the EmptyFilter - - - - - Indicates whether this is a top-level filter, - not contained in any other filter. - - - - - Determine if a particular test passes the filter criteria. The default - implementation checks the test itself, its parents and any descendants. - - Derived classes may override this method or any of the Match methods - to change the behavior of the filter. - - The test to which the filter is applied - True if the test passes the filter, otherwise false - - - - Determine if a particular test passes the filter criteria. The default - implementation checks the test itself, its parents and any descendants. - - Derived classes may override this method or any of the Match methods - to change the behavior of the filter. - - The test to which the filter is applied - If set to we are carrying a negation through - True if the test passes the filter, otherwise false - - - - Determine if a test matches the filter explicitly. That is, it must - be a direct match of the test itself or one of its children. - - The test to which the filter is applied - True if the test matches the filter explicitly, otherwise false - - - - Determine whether the test itself matches the filter criteria, without - examining either parents or descendants. This is overridden by each - different type of filter to perform the necessary tests. - - The test to which the filter is applied - True if the filter matches the any parent of the test - - - - Determine whether any ancestor of the test matches the filter criteria - - The test to which the filter is applied - True if the filter matches the an ancestor of the test - - - - Determine whether any descendant of the test matches the filter criteria. - - The test to be matched - True if at least one descendant matches the filter criteria - - - - Create a TestFilter instance from an XML representation. - - - - - Create a TestFilter from its TNode representation - - - - - Nested class provides an empty filter - one that always - returns true when called. It never matches explicitly. - - - - - Adds an XML node - - True if recursive - The added XML node - - - - Adds an XML node - - Parent node - True if recursive - The added XML node - - - - The TestCaseParameters class encapsulates method arguments and - other selected parameters needed for constructing - a parameterized test case. - - - - - Default Constructor creates an empty parameter set - - - - - Construct a non-runnable ParameterSet, specifying - the provider exception that made it invalid. - - - - - Construct a parameter set with a list of arguments - - - - - - Construct a ParameterSet from an object implementing ITestCaseData - - - - - - Type arguments used to create a generic fixture instance - - - - - TestListener provides an implementation of ITestListener that - does nothing. It is used only through its NULL property. - - - - - Called when a test has just started - - The test that is starting - - - - Called when a test case has finished - - The result of the test - - - - Called when a test produces output for immediate display - - A TestOutput object containing the text to display - - - - Called when a test produces a message to be sent to listeners - - A object containing the message to send - - - - Construct a new TestListener - private so it may not be used. - - - - - Get a listener that does nothing - - - - - TestNameGenerator is able to create test names according to - a coded pattern. - - - - - Default pattern used to generate names - - - - - Construct a TestNameGenerator - - - - - Construct a TestNameGenerator - - The pattern used by this generator. - - - - Get the display name for a TestMethod and its arguments - - A TestMethod - The display name - - - - Get the display name for a TestMethod and its arguments - - A TestMethod - Arguments to be used - The display name - - - - TestParameters is the abstract base class for all classes - that know how to provide data for constructing a test. - - - - - Default Constructor creates an empty parameter set - - - - - Construct a parameter set with a list of arguments - - - - - - Construct a non-runnable ParameterSet, specifying - the provider exception that made it invalid. - - - - - Construct a ParameterSet from an object implementing ITestData - - - - - - The RunState for this set of parameters. - - - - - The arguments to be used in running the test, - which must match the method signature. - - - - - A name to be used for this test case in lieu - of the standard generated name containing - the argument list. - - - - - Gets the property dictionary for this test - - - - - Applies ParameterSet values to the test itself. - - A test. - - - - The original arguments provided by the user, - used for display purposes. - - - - - The list of display names to use as the parameters in the test name. - - - - - TestProgressReporter translates ITestListener events into - the async callbacks that are used to inform the client - software about the progress of a test run. - - - - - Initializes a new instance of the class. - - The callback handler to be used for reporting progress. - - - - Called when a test has just started - - The test that is starting - - - - Called when a test has finished. Sends a result summary to the callback. - to - - The result of the test - - - - Called when a test produces output for immediate display - - A TestOutput object containing the text to display - - - - Called when a test produces a message to be sent to listeners - - A object containing the text to send - - - - Returns the parent test item for the target test item if it exists - - - parent test item - - - - Makes a string safe for use as an attribute, replacing - characters that can't be used with their - corresponding XML representations. - - The string to be used - A new string with the values replaced - - - - ParameterizedFixtureSuite serves as a container for the set of test - fixtures created from a given Type using various parameters. - - - - - Initializes a new instance of the class. - - The ITypeInfo for the type that represents the suite. - - - - Creates a copy of the given suite with only the descendants that pass the specified filter. - - The to copy. - Determines which descendants are copied. - - - - Gets a string representing the type of test - - - - - Creates a filtered copy of the test suite. - - Determines which descendants are copied. - - - - ParameterizedMethodSuite holds a collection of individual - TestMethods with their arguments applied. - - - - - Initializes a new instance of the class. - - - - - Creates a copy of the given suite with only the descendants that pass the specified filter. - - The to copy. - Determines which descendants are copied. - - - - Gets a MethodInfo for the method implementing this test. - - - - - Gets a string representing the type of test - - - - - Creates a filtered copy of the test suite. - - Determines which descendants are copied. - - - - SetUpFixture extends TestSuite and supports - Setup and TearDown methods. - - - - - Initializes a new instance of the class. - - - - - Creates a copy of the given suite with only the descendants that pass the specified filter. - - The to copy. - Determines which descendants are copied. - - - - Gets the TypeInfo of the fixture used in running this test. - - - - - Creates a filtered copy of the test suite. - - Determines which descendants are copied. - - - - The Test abstract class represents a test within the framework. - - - - - Static value to seed ids. It's started at 1000 so any - uninitialized ids will stand out. - - - - - Used to cache the declaring type for this MethodInfo - - - - - Method property backing field - - - - - Constructs a test given its name - - The name of the test - - - - Constructs a test given the path through the - test hierarchy to its parent and a name. - - The parent tests full name - The name of the test - - - - Constructs a test for a specific type. - - - - - Constructs a test for a specific method. - - - - - Gets or sets the id of the test - - - - - - Gets or sets the name of the test - - - - - Gets or sets the fully qualified name of the test - - - - - - Gets the name of the class where this test was declared. - Returns null if the test is not associated with a class. - - - - - Gets the name of the method implementing this test. - Returns null if the test is not implemented as a method. - - - - - The arguments to use in creating the test or empty array if none required. - - - - - Gets the TypeInfo of the fixture used in running this test - or null if no fixture type is associated with it. - - - - - Gets a MethodInfo for the method implementing this test. - Returns null if the test is not implemented as a method. - - - - - Whether or not the test should be run - - - - - Gets the name used for the top-level element in the - XML representation of this test - - - - - Gets a string representing the type of test. Used as an attribute - value in the XML representation of a test and has no other - function in the framework. - - - - - Gets a count of test cases represented by - or contained under this test. - - - - - Gets the properties for this test - - - - - Returns true if this is a TestSuite - - - - - Gets a bool indicating whether the current test - has any descendant tests. - - - - - Gets the parent as a Test object. - Used by the core to set the parent. - - - - - Gets this test's child tests - - A list of child tests - - - - Gets or sets a fixture object for running this test. - - - - - Static prefix used for ids in this AppDomain. - Set by FrameworkController. - - - - - Gets or Sets the Int value representing the seed for the RandomGenerator - - - - - - The SetUp methods. - - - - - The teardown methods - - - - - Creates a TestResult for this test. - - A TestResult suitable for this type of test. - - - - Modify a newly constructed test by applying any of NUnit's common - attributes, based on a supplied , which is - usually the reflection element from which the test was constructed, - but may not be in some instances. The attributes retrieved are - saved for use in subsequent operations. - - - - - Mark the test as Invalid (not runnable) specifying a reason - - The reason the test is not runnable - - - - Get custom attributes applied to a test - - - - - Add standard attributes and members to a test node. - - - - - - - Returns the XML representation of the test - - If true, include child tests recursively - - - - - Returns an XmlNode representing the current result after - adding it as a child of the supplied parent node. - - The parent node. - If true, descendant results are included - - - - Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. - An object to compare with this instance. - - - Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. - An object to compare with this instance. - - - - TestAssembly is a TestSuite that represents the execution - of tests in a managed assembly. - - - - - Initializes a new instance of the class - specifying the Assembly and the suite name. - - The assembly this test represents. - - This becomes the full name of the suite and the filename part is used as the suite name. - - - - - Initializes a new instance of the class - specifying the suite name for an assembly that could not be loaded. - - - This becomes the full name of the suite and the filename part is used as the suite name. - - - - - Creates a copy of the given assembly with only the descendants that pass the specified filter. - - The to copy. - Determines which descendants are copied. - - - - Gets the Assembly represented by this instance. - - - - - Gets the name used for the top-level element in the - XML representation of this test - - - - - Get custom attributes specified on the assembly - - - - - Creates a filtered copy of the test suite. - - Determines which descendants are copied. - - - - TestFixture is a surrogate for a user test fixture class, - containing one or more tests. - - - - - The life cycle specified for the current test fixture. - - - - - Initializes a new instance of the class. - - Type of the fixture. - Arguments used to instantiate the test fixture, or null if none used - - - - Creates a copy of the given suite with only the descendants that pass the specified filter. - - The to copy. - Determines which descendants are copied. - - - - Gets the TypeInfo of the fixture used in running this test. - - - - - Creates a filtered copy of the test suite. - - Determines which descendants are copied. - - - - The TestMethod class represents a Test implemented as a method. - - - - - The ParameterSet used to create this test method - - - - - Initializes a new instance of the class. - - The method to be used as a test. - - - - Initializes a new instance of the class. - - The method to be used as a test. - The suite or fixture to which the new test will be added - - - - Gets a MethodInfo for the method implementing this test. - - - - - The arguments to use in executing the test method, or empty array if none are provided. - - - - - Overridden to return a TestCaseResult. - - A TestResult for this test. - - - - Gets a bool indicating whether the current test - has any descendant tests. - - - - - Returns a TNode representing the current result after - adding it as a child of the supplied parent node. - - The parent node. - If true, descendant results are included - - - - - Gets this test's child tests - - A list of child tests - - - - Gets the name used for the top-level element in the - XML representation of this test - - - - - Returns the name of the method - - - - - TestSuite represents a composite test, which contains other tests. - - - - - Our collection of child tests - - - - - Initializes a new instance of the class. - - The name of the suite. - - - - Initializes a new instance of the class. - - Name of the parent suite. - The name of the suite. - - - - Initializes a new instance of the class. - - Type of the fixture. - Arguments used to instantiate the test fixture, or null if none used. - - - - Initializes a new instance of the class. - - Type of the fixture. - - - - Creates a copy of the given suite with only the descendants that pass the specified filter. - - The to copy. - Determines which descendants are copied. - - - - Sorts tests under this suite. - - - - - Adds a test to the suite. - - The test. - - - - Creates a filtered copy of the test suite. - - Determines which descendants are copied. - - - - Gets this test's child tests - - The list of child tests - - - - Gets a count of test cases represented by - or contained under this test. - - - - - - The arguments to use in creating the fixture, or empty array if none are provided. - - - - - Set to true to suppress sorting this suite's contents - - - - - OneTimeSetUp methods for this suite - - - - - OneTimeTearDown methods for this suite - - - - - Overridden to return a TestSuiteResult. - - A TestResult for this test. - - - - Gets a bool indicating whether the current test - has any descendant tests. - - - - - Gets the name used for the top-level element in the - XML representation of this test - - - - - Returns an XmlNode representing the current result after - adding it as a child of the supplied parent node. - - The parent node. - If true, descendant results are included - - - - - Check that setup and teardown methods marked by certain attributes - meet NUnit's requirements and mark the tests not runnable otherwise. - - - - - ThreadUtility provides a set of static methods convenient - for working with threads. - - - - - Pre-Task compatibility - - - - - Abort a thread, helping to dislodging it if it is blocked in native code - - The thread to abort - The native thread id (if known), otherwise 0. - If provided, allows the thread to be killed if it's in a message pump native blocking wait. - This must have previously been captured by calling from the running thread itself. - - - - Do our best to kill a thread - - The thread to kill - The native thread id (if known), otherwise 0. - If provided, allows the thread to be killed if it's in a message pump native blocking wait. - This must have previously been captured by calling from the running thread itself. - - - - Do our best to kill a thread, passing state info - - The thread to kill - Info for the ThreadAbortException handler - The native thread id (if known), otherwise 0. - If provided, allows the thread to be killed if it's in a message pump native blocking wait. - This must have previously been captured by calling from the running thread itself. - - - - Schedule a thread pool thread to check on the aborting thread in case it's in a message pump native blocking wait - - - - - Captures the current thread's native id. If provided to later, allows the thread to be killed if it's in a message pump native blocking wait. - - - - - Sends a message to the thread to dislodge it from native code and allow a return to managed code, where a ThreadAbortException can be generated. - The message is meaningless (WM_CLOSE without a window handle) but it will end any blocking message wait. - - - - Gets or if the current platform does not support it. - - - Sets if current platform supports it. - Value to set. If the current platform does not support then the only allowed value is . - - - - TypeHelper provides static methods that operate on Types. - - - - - Gets the display name for a Type as used by NUnit. - - The Type for which a display name is needed. - The display name for the Type - - - - Gets the display name for a Type as used by NUnit. - - The Type for which a display name is needed. - The arglist provided. - The display name for the Type - - - - Returns the best fit for a common type to be used in - matching actual arguments to a methods Type parameters. - - - - - Determines whether the specified type is numeric. - - The type to be examined. - - if the specified type is numeric; otherwise, . - - - - - Convert an argument list to the required parameter types. - Currently, only widening numeric conversions are performed. - - An array of args to be converted - A ParameterInfo[] whose types will be used as targets - - - - Determines whether this instance can deduce type args for a generic type from the supplied arguments. - - The type to be examined. - The arglist. - The type args to be used. - - if this the provided args give sufficient information to determine the type args to be used; otherwise, . - - - - - Return the interfaces implemented by a Type. - - The Type to be examined. - An array of Types for the interfaces. - - - - Return whether or not the given type is a ValueTuple. - - Type. - Whether or not the given type is a ValueTuple. - - - - Return whether or not the given type is a Tuple. - - Type. - Whether or not the given type is a Tuple. - - - - Determines whether the cast to the given type would succeed. - If is and - can be , the cast succeeds just like the C# language feature. - - The object to cast. - - - - Casts to a value of the given type if possible. - If is and - can be , the cast succeeds just like the C# language feature. - - The object to cast. - The value of the object, if the cast succeeded. - - - - Used for resolving the type difference between objects. - - - - - Gets the shortened type name difference between and . - - The expected object. - The actual object. - Output of the unique type name for the expected object. - Output of the unique type name for actual object. - - - - Gets the shortened type name difference between and . - - The expected object . - The actual object . - Output of the unique type name for the expected object. - Output of the unique type name for actual object. - - - - Obtain the shortened generic template parameters of the given and , - if they are generic. - - The expected . - The actual . - Shortened generic parameters of the expected . - Shortened generic parameters of the actual . - - - - Obtain a shortened name of the given . - - - - - Shorten the given names by only including the relevant differing namespaces/types, if they differ. - - The expected . - The actual . - The shortened expected name. - The shortened actual name. - - - - Returns whether or not the is generic. - - - - - Returns the fully qualified generic name of a given . - - - - - Reconstruct a generic type name using the provided generic type name, and a - of the template parameters. - - The name of the generic type, including the number of template parameters expected. - A of names of the template parameters of the provided generic type. - - - - Obtain the shortened generic names of the given expected and actual s. - - The expected . - The actual . - The shortened expected generic name. - The shortened actual generic name. - - - - The TypeWrapper class wraps a Type so it may be used in - a platform-independent manner. - - - - - Construct a TypeWrapper for a specified Type. - - - - - Gets the underlying Type on which this TypeWrapper is based. - - - - - Gets the base type of this type as an ITypeInfo - - - - - Gets the Name of the Type - - - - - Gets the FullName of the Type - - - - - Gets the assembly in which the type is declared - - - - - Gets the namespace of the Type - - - - - Gets a value indicating whether the type is abstract. - - - - - Gets a value indicating whether the Type is a generic Type - - - - - Returns true if the Type wrapped is T - - - - - Gets a value indicating whether the Type has generic parameters that have not been replaced by specific Types. - - - - - Gets a value indicating whether the Type is a generic Type definition - - - - - Gets a value indicating whether the type is sealed. - - - - - Gets a value indicating whether this type represents a static class. - - - - - Get the display name for this type - - - - - Get the display name for an object of this type, constructed with the specified args. - - - - - Returns a new ITypeInfo representing an instance of this generic Type using the supplied Type arguments - - - - - Returns a Type representing a generic type definition from which this Type can be constructed. - - - - - Returns an array of custom attributes of the specified type applied to this type - - - - - Returns a value indicating whether the type has an attribute of the specified type. - - - - - - - - Returns a flag indicating whether this type has a method with an attribute of the specified type. - - - - - - - Returns an array of IMethodInfos for methods of this Type - that match the specified flags. - - - - - Gets the public constructor taking the specified argument Types - - - - - Returns a value indicating whether this Type has a public constructor taking the specified argument Types. - - - - - Construct an object of this Type, using the specified arguments. - - - - - Override ToString() so that error messages in NUnit's own tests make sense - - - - - Returns all methods declared by this type that have the specified attribute, optionally - including base classes. Methods from a base class are always returned before methods from a class that - inherits from it. - - Specifies whether to search the fixture type inheritance chain. - - - - Encapsulates the ability to increment a value by an amount which may be of a different type. - - - - - Creates a from the specified value if the current instance is able to - use it to increment the on values which it operates. If the creation fails, - is thrown. - - - - - - Creates a from the specified value if the current instance is able to - use it to increment values on which it operates. A return value indicates - whether the creation succeeded. - - - - - Provides a convenient shorthand when is - and the default value of represents zero. - - - - - Initializes a new instance of the class. - - The amount by which to increment each time this step is applied. - - Must increment the given value and return the result. - If the result is outside the range representable by , - must throw . If the result does not change due to lack - of precision representable by , must throw . - - - - - Increments the given value and returns the result. - If the result is outside the range representable by , - throws . If the result does not change due to lack - of precision representable by , throws . - - - - - - - Encapsulates the ability to increment a value by an amount - which may be of a different type. - - - - - Increments the given value and returns the result. - If the result is outside the range representable by , - throws . If the result does not change due to lack - of precision representable by , throws . - - - - - - - Creates a from the specified value if the current instance is able to - use it to increment values of type . If the creation fails, - is thrown. - - - - - - Creates a from the specified value if the current instance is able to - use it to increment values of type . A return value indicates - whether the creation succeeded. - - - - - The IgnoredTestCaseData class represents a ignored TestCaseData. It adds - the ability to set a date until which the test will be ignored. - - - - - The previous RunState - - - - - Set the date that the test is being ignored until - - The date that the test is being ignored until - A modified TestCaseData. - - - - Helper class with properties and methods that supply - a number of constraints used in Asserts. - - - - - Returns a ConstraintExpression that negates any - following constraint. - - - - - Returns a ConstraintExpression, which will apply - the following constraint to all members of a collection, - succeeding if all of them succeed. - - - - - Returns a constraint that tests for null - - - - - Returns a constraint that tests for True - - - - - Returns a constraint that tests for False - - - - - Returns a constraint that tests for a positive value - - - - - Returns a constraint that tests for a negative value - - - - - Returns a constraint that tests for equality with zero - - - - - Returns a constraint that tests for NaN - - - - - Returns a constraint that tests for empty - - - - - Returns a constraint that tests whether a collection - contains all unique items. - - - - - Returns a constraint that tests whether an object graph is serializable in binary format. - - - - - Returns a constraint that tests whether an object graph is serializable in XML format. - - - - - Returns a constraint that tests two items for equality - - - - - Returns a constraint that tests that two references are the same object - - - - - Returns a constraint that tests whether the - actual value is greater than the supplied argument - - - - - Returns a constraint that tests whether the - actual value is greater than or equal to the supplied argument - - - - - Returns a constraint that tests whether the - actual value is greater than or equal to the supplied argument - - - - - Returns a constraint that tests whether the - actual value is less than the supplied argument - - - - - Returns a constraint that tests whether the - actual value is less than or equal to the supplied argument - - - - - Returns a constraint that tests whether the - actual value is less than or equal to the supplied argument - - - - - Returns a constraint that tests whether the actual - value is of the exact type supplied as an argument. - - - - - Returns a constraint that tests whether the actual - value is of the exact type supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is of the type supplied as an argument or a derived type. - - - - - Returns a constraint that tests whether the actual value - is of the type supplied as an argument or a derived type. - - - - - Returns a constraint that tests whether the actual value - is assignable from the type supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is assignable from the type supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is assignable to the type supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is assignable to the type supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is a collection containing the same elements as the - collection supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is a subset of the collection supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is a superset of the collection supplied as an argument. - - - - - Returns a constraint that tests whether a collection is ordered - - - - - Returns a constraint that tests whether the path provided - is the same as an expected path after canonicalization. - - - - - Returns a constraint that tests whether the path provided - is a subpath of the expected path after canonicalization. - - - - - Returns a constraint that tests whether the path provided - is the same path or under an expected path after canonicalization. - - - - - Returns a constraint that tests whether the actual value falls - inclusively within a specified range. - - Inclusive beginning of the range. - Inclusive end of the range. - - - - - Returns a constraint that tests if an item is equal to any of parameters - - Expected values - - - - When implemented by an attribute, this interface implemented to provide actions to execute before and after tests. - - - - - Executed before each test is run - - The test that is going to be run. - - - - Executed after each test is run - - The test that has just been run. - - - - Provides the target for the action attribute - - The target for the action attribute - - - - The Iz class is a synonym for Is intended for use in VB, - which regards Is as a keyword. - - - - - The List class is a helper class with properties and methods - that supply a number of constraints used with lists and collections. - - - - - List.Map returns a ListMapper, which can be used to map - the original collection to another collection. - - - - - - - ListMapper is used to transform a collection used as an actual argument - producing another collection to be used in the assertion. - - - - - Construct a ListMapper based on a collection - - The collection to be transformed - - - - Produces a collection containing all the values of a property - - The collection of property values - - - - - Basic Asserts on strings. - - - - - DO NOT USE! Use StringAssert.AreEqualIgnoringCase(...) or Assert.AreEqual(...) instead. - The Equals method throws an InvalidOperationException. This is done - to make sure there is no mistake by calling this function. - - - - - - - DO NOT USE! - The ReferenceEquals method throws an InvalidOperationException. This is done - to make sure there is no mistake by calling this function. - - - - - - - Asserts that a string is found within another string. - - The expected string - The string to be examined - The message to display in case of failure - Arguments used in formatting the message - - - - Asserts that a string is found within another string. - - The expected string - The string to be examined - - - - Asserts that a string is not found within another string. - - The expected string - The string to be examined - The message to display in case of failure - Arguments used in formatting the message - - - - Asserts that a string is found within another string. - - The expected string - The string to be examined - - - - Asserts that a string starts with another string. - - The expected string - The string to be examined - The message to display in case of failure - Arguments used in formatting the message - - - - Asserts that a string starts with another string. - - The expected string - The string to be examined - - - - Asserts that a string does not start with another string. - - The expected string - The string to be examined - The message to display in case of failure - Arguments used in formatting the message - - - - Asserts that a string does not start with another string. - - The expected string - The string to be examined - - - - Asserts that a string ends with another string. - - The expected string - The string to be examined - The message to display in case of failure - Arguments used in formatting the message - - - - Asserts that a string ends with another string. - - The expected string - The string to be examined - - - - Asserts that a string does not end with another string. - - The expected string - The string to be examined - The message to display in case of failure - Arguments used in formatting the message - - - - Asserts that a string does not end with another string. - - The expected string - The string to be examined - - - - Asserts that two strings are equal, without regard to case. - - The expected string - The actual string - The message to display in case of failure - Arguments used in formatting the message - - - - Asserts that two strings are equal, without regard to case. - - The expected string - The actual string - - - - Asserts that two strings are not equal, without regard to case. - - The expected string - The actual string - The message to display in case of failure - Arguments used in formatting the message - - - - Asserts that two strings are not equal, without regard to case. - - The expected string - The actual string - - - - Asserts that a string matches an expected regular expression pattern. - - The regex pattern to be matched - The actual string - The message to display in case of failure - Arguments used in formatting the message - - - - Asserts that a string matches an expected regular expression pattern. - - The regex pattern to be matched - The actual string - - - - Asserts that a string does not match an expected regular expression pattern. - - The regex pattern to be used - The actual string - The message to display in case of failure - Arguments used in formatting the message - - - - Asserts that a string does not match an expected regular expression pattern. - - The regex pattern to be used - The actual string - - - - The TestCaseData class represents a set of arguments - and other parameter info to be used for a parameterized - test case. It is derived from TestCaseParameters and adds a - fluent syntax for use in initializing the test case. - - - - - Initializes a new instance of the class. - - The arguments. - - - - Initializes a new instance of the class. - - The argument. - - - - Initializes a new instance of the class. - - The first argument. - The second argument. - - - - Initializes a new instance of the class. - - The first argument. - The second argument. - The third argument. - - - - Sets the expected result for the test - - The expected result - A modified TestCaseData - - - - Sets the name of the test case - - The modified TestCaseData instance - - - - Sets the list of display names to use as the parameters in the test name. - - - - - Sets the description for the test case - being constructed. - - The description. - The modified TestCaseData instance. - - - - Applies a category to the test - - - - - - - Applies a named property to the test - - - - - - - - Applies a named property to the test - - - - - - - - Applies a named property to the test - - - - - - - - Marks the test case as explicit. - - - - - Marks the test case as explicit, specifying the reason. - - - - - Ignores this TestCase, specifying the reason. - - The reason. - - - - - Provide the context information of the current test. - This is an adapter for the internal ExecutionContext - class, hiding the internals from the user test. - - - - - Construct a TestContext for an ExecutionContext - - The ExecutionContext to adapt - - - - Get the current test context. This is created - as needed. The user may save the context for - use within a test, but it should not be used - outside the test for which it is created. - - - - - Gets a TextWriter that will send output to the current test result. - - - - - Gets a TextWriter that will send output directly to Console.Error - - - - - Gets a TextWriter for use in displaying immediate progress messages - - - - - TestParameters object holds parameters for the test run, if any are specified - - - - - Static DefaultWorkDirectory is now used as the source - of the public instance property WorkDirectory. This is - a bit odd but necessary to avoid breaking user tests. - - - - - Get a representation of the current test. - - - - - Gets a Representation of the TestResult for the current test. - - - - - Gets the unique name of the Worker that is executing this test. - - - - - Gets the directory containing the current test assembly. - - - - - Gets the directory to be used for outputting files created - by this test run. - - - - - Gets the random generator. - - - The random generator. - - - - - Gets the number of assertions executed - up to this point in the test. - - - - - Get the number of times the current Test has been repeated - when using the or . - - - - Write the string representation of a boolean value to the current result - - - Write a char to the current result - - - Write a char array to the current result - - - Write the string representation of a double to the current result - - - Write the string representation of an Int32 value to the current result - - - Write the string representation of an Int64 value to the current result - - - Write the string representation of a decimal value to the current result - - - Write the string representation of an object to the current result - - - Write the string representation of a Single value to the current result - - - Write a string to the current result - - - Write the string representation of a UInt32 value to the current result - - - Write the string representation of a UInt64 value to the current result - - - Write a formatted string to the current result - - - Write a formatted string to the current result - - - Write a formatted string to the current result - - - Write a formatted string to the current result - - - Write a line terminator to the current result - - - Write the string representation of a boolean value to the current result followed by a line terminator - - - Write a char to the current result followed by a line terminator - - - Write a char array to the current result followed by a line terminator - - - Write the string representation of a double to the current result followed by a line terminator - - - Write the string representation of an Int32 value to the current result followed by a line terminator - - - Write the string representation of an Int64 value to the current result followed by a line terminator - - - Write the string representation of a decimal value to the current result followed by a line terminator - - - Write the string representation of an object to the current result followed by a line terminator - - - Write the string representation of a Single value to the current result followed by a line terminator - - - Write a string to the current result followed by a line terminator - - - Write the string representation of a UInt32 value to the current result followed by a line terminator - - - Write the string representation of a UInt64 value to the current result followed by a line terminator - - - Write a formatted string to the current result followed by a line terminator - - - Write a formatted string to the current result followed by a line terminator - - - Write a formatted string to the current result followed by a line terminator - - - Write a formatted string to the current result followed by a line terminator - - - - This method adds the a new ValueFormatterFactory to the - chain of responsibility used for formatting values in messages. - The scope of the change is the current TestContext. - - The factory delegate - - - - Attach a file to the current test result - - Relative or absolute file path to attachment - Optional description of attachment - - - - This method provides a simplified way to add a ValueFormatter - delegate to the chain of responsibility, creating the factory - delegate internally. It is useful when the Type of the object - is the only criterion for selection of the formatter, since - it can be used without getting involved with a compound function. - - The type supported by this formatter - The ValueFormatter delegate - - - - TestAdapter adapts a Test for consumption by - the user test code. - - - - - Construct a TestAdapter for a Test - - The Test to be adapted - - - - Gets the unique Id of a test - - - - - The name of the test, which may or may not be - the same as the method name. - - - - - The name of the method representing the test. - - - - - The FullName of the test - - - - - The ClassName of the test - - - - - A shallow copy of the properties of the test. - - - - - The arguments to use in creating the test or empty array if none are required. - - - - - ResultAdapter adapts a TestResult for consumption by - the user test code. - - - - - Construct a ResultAdapter for a TestResult - - The TestResult to be adapted - - - - Gets a ResultState representing the outcome of the test - up to this point in its execution. - - - - - Gets a list of the assertion results generated - up to this point in the test. - - - - - Gets the message associated with a test - failure or with not running the test - - - - - Gets any stack trace associated with an - error or failure. - - - - - Gets the number of test cases that failed - when running the test and all its children. - - - - - Gets the number of test cases that had warnings - when running the test and all its children. - - - - - Gets the number of test cases that passed - when running the test and all its children. - - - - - Gets the number of test cases that were skipped - when running the test and all its children. - - - - - Gets the number of test cases that were inconclusive - when running the test and all its children. - - - - - adapts an - for consumption by the user. - - - - - Construct a from a source - . - - - - - Get the first property with the given , if it can be found, otherwise - returns null. - - - - - Indicates whether is found in this - . - - - - - Returns a collection of properties - with the given . - - - - - Returns the count of elements with the given . - - - - - Returns a collection of the property keys. - - - - - The TestFixtureData class represents a set of arguments - and other parameter info to be used for a parameterized - fixture. It is derived from TestFixtureParameters and adds a - fluent syntax for use in initializing the fixture. - - - - - Initializes a new instance of the class. - - The arguments. - - - - Initializes a new instance of the class. - - The argument. - - - - Initializes a new instance of the class. - - The first argument. - The second argument. - - - - Initializes a new instance of the class. - - The first argument. - The second argument. - The third argument. - - - - Sets the name of the test fixture - - The modified TestFixtureData instance - - - - Sets the list of display names to use as the parameters in the test name. - - - - - Marks the test fixture as explicit. - - - - - Marks the test fixture as explicit, specifying the reason. - - - - - Ignores this TestFixture, specifying the reason. - - The reason. - - - - - TestParameters class holds any named parameters supplied to the test run - - - - - Gets the number of test parameters - - - - - Gets a collection of the test parameter names - - - - - Gets a flag indicating whether a parameter with the specified name exists. - - Name of the parameter - True if it exists, otherwise false - - - - Indexer provides access to the internal dictionary - - Name of the parameter - Value of the parameter or null if not present - - - - Get method is a simple alternative to the indexer - - Name of the parameter - Value of the parameter or null if not present - - - - Get the value of a parameter or a default string - - Name of the parameter - Default value of the parameter - Value of the parameter or default value if not present - - - - Get the value of a parameter or return a default - - The return Type - Name of the parameter - Default value of the parameter - Value of the parameter or default value if not present - - - - Adds a parameter to the list - - Name of the parameter - Value of the parameter - - - - Helper class with properties and methods that supply - constraints that operate on exceptions. - - - - - Creates a constraint specifying an expected exception - - - - - Creates a constraint specifying an exception with a given InnerException - - - - - Creates a constraint specifying an expected TargetInvocationException - - - - - Creates a constraint specifying an expected ArgumentException - - - - - Creates a constraint specifying an expected ArgumentNullException - - - - - Creates a constraint specifying an expected InvalidOperationException - - - - - Creates a constraint specifying that no exception is thrown - - - - - Creates a constraint specifying the exact type of exception expected - - - - - Creates a constraint specifying the exact type of exception expected - - - - - Creates a constraint specifying the type of exception expected - - - - - Creates a constraint specifying the type of exception expected - - - - - Provides static methods to express conditions - that must be met for the test to succeed. If - any test fails, a warning is issued. - - - - - DO NOT USE! - The Equals method throws an InvalidOperationException. This is done - to make sure there is no mistake by calling this function. - - The left object. - The right object. - Not applicable - - - - DO NOT USE! - The ReferenceEquals method throws an InvalidOperationException. This is done - to make sure there is no mistake by calling this function. - - The left object. - The right object. - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and issuing a warning on failure. - - The Type being compared. - An ActualValueDelegate returning the value to be tested - A Constraint expression to be applied - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and issuing a warning on failure. - - The Type being compared. - An ActualValueDelegate returning the value to be tested - A Constraint expression to be applied - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and issuing a warning on failure. - - The Type being compared. - An ActualValueDelegate returning the value to be tested - A Constraint expression to be applied - A function to build the message included with the Exception - - - - Asserts that a condition is true. If the condition is false, a warning is issued. - - The evaluated condition - The message to display if the condition is false - Arguments to be used in formatting the message - - - - Asserts that a condition is true. If the condition is false, a warning is issued. - - The evaluated condition - - - - Asserts that a condition is true. If the condition is false, a warning is issued. - - The evaluated condition - A function to build the message included with the Exception - - - - Asserts that a condition is true. If the condition is false, a warning is issued. - - A lambda that returns a Boolean - The message to display if the condition is false - Arguments to be used in formatting the message - - - - Asserts that a condition is true. If the condition is false, a warning is issued. - - A lambda that returns a Boolean - - - - Asserts that a condition is true. If the condition is false, a warning is issued. - - A lambda that returns a Boolean - A function to build the message included with the Exception - - - - Asserts that the code represented by a delegate throws an exception - that satisfies the constraint provided. - - A TestDelegate to be executed - A Constraint expression to be applied - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and issuing a warning on failure. - - The Type being compared. - The actual value to test - A Constraint expression to be applied - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and issuing a warning on failure. - - The Type being compared. - The actual value to test - A Constraint expression to be applied - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and issuing a warning on failure. - - The Type being compared. - The actual value to test - A Constraint expression to be applied - A function to build the message included with the Exception - - - - Apply a constraint to an actual value, succeeding if the constraint - fails and issuing a warning on success. - - The Type being compared. - An ActualValueDelegate returning the value to be tested - A Constraint expression to be applied - - - - Apply a constraint to an actual value, succeeding if the constraint - fails and issuing a warning on success. - - The Type being compared. - An ActualValueDelegate returning the value to be tested - A Constraint expression to be applied - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Apply a constraint to an actual value, succeeding if the constraint - fails and issuing a warning on failure. - - The Type being compared. - An ActualValueDelegate returning the value to be tested - A Constraint expression to be applied - A function to build the message included with the Exception - - - - Asserts that a condition is true. If the condition is false, a warning is issued. - - The evaluated condition - The message to display if the condition is false - Arguments to be used in formatting the message - - - - Asserts that a condition is true. If the condition is false, a warning is issued. - - The evaluated condition - - - - Asserts that a condition is true. If the condition is false, a warning is issued. - - The evaluated condition - A function to build the message included with the Exception - - - - Asserts that a condition is false. If the condition is true a warning is issued. - - A lambda that returns a Boolean - The message to display if the condition is true - Arguments to be used in formatting the message - - - - Asserts that a condition is false. If the condition is true a warning is issued. - - A lambda that returns a Boolean - - - - Asserts that a condition is false. If the condition is true a warning is issued. - - A lambda that returns a Boolean - A function to build the message included with the Exception - - - - Apply a constraint to an actual value, succeeding if the constraint - fails and issuing a warning if it succeeds. - - The Type being compared. - The actual value to test - A Constraint expression to be applied - - - - Apply a constraint to an actual value, succeeding if the constraint - fails and issuing a warning if it succeeds. - - The Type being compared. - The actual value to test - A Constraint expression to be applied - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and issuing a warning on failure. - - The Type being compared. - The actual value to test - A Constraint expression to be applied - A function to build the message included with the Exception - - - - FrameworkPackageSettings is a static class containing constant values that - are used as keys in setting up a TestPackage. These values are used in - the framework, and set in the runner. Setting values may be a string, int or bool. - - - - - Flag (bool) indicating whether tests are being debugged. - - - - - Flag (bool) indicating whether to pause execution of tests to allow - the user to attach a debugger. - - - - - The InternalTraceLevel for this run. Values are: "Default", - "Off", "Error", "Warning", "Info", "Debug", "Verbose". - Default is "Off". "Debug" and "Verbose" are synonyms. - - - - - Full path of the directory to be used for work and result files. - This path is provided to tests by the framework TestContext. - - - - - Integer value in milliseconds for the default timeout value - for test cases. If not specified, there is no timeout except - as specified by attributes on the tests themselves. - - - - - A string representing the default thread culture to be used for - running tests. String should be a valid BCP-47 culture name. If - culture is unset, tests run on the machine's default culture. - - - - - A string representing the default thread UI culture to be used for - running tests. String should be a valid BCP-47 culture name. If - culture is unset, tests run on the machine's default culture. - - - - - A TextWriter to which the internal trace will be sent. - - - - - A list of tests to be loaded. - - - - - The number of test threads to run for the assembly. If set to - 1, a single queue is used. If set to 0, tests are executed - directly, without queuing. - - - - - The random seed to be used for this assembly. If specified - as the value reported from a prior run, the framework should - generate identical random values for tests as were used for - that run, provided that no change has been made to the test - assembly. Default is a random value itself. - - - - - If true, execution stops after the first error or failure. - - - - - If true, use of the event queue is suppressed and test events are synchronous. - - - - - The default naming pattern used in generating test names - - - - - Parameters to be passed on to the tests, serialized to a single string which needs parsing. Obsoleted by ; kept for backward compatibility. - - - - - Parameters to be passed on to the tests, already parsed into an IDictionary<string, string>. Replaces . - - - - - If true, the tests will run on the same thread as the NUnit runner itself - - - - - Provides a platform-independent methods for getting attributes - for use by AttributeConstraint and AttributeExistsConstraint. - - - - - Gets the custom attributes from the given object. - - The actual. - Type of the attribute. - if set to [inherit]. - A list of the given attribute on the given object. - - - - A MarshalByRefObject that lives forever - - - - - Obtains a lifetime service object to control the lifetime policy for this instance. - - - - Specifies that null is allowed as an input even if the corresponding type disallows it. - - - Specifies that null is disallowed as an input even if the corresponding type allows it. - - - Specifies that an output may be null even if the corresponding type disallows it. - - - Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns. - - - Specifies that when a method returns , the parameter may be null even if the corresponding type disallows it. - - - Initializes the attribute with the specified return value condition. - - The return value condition. If the method returns this value, the associated parameter may be null. - - - - Gets the return value condition. - - - Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. - - - Initializes the attribute with the specified return value condition. - - The return value condition. If the method returns this value, the associated parameter will not be null. - - - - Gets the return value condition. - - - Specifies that the output will be non-null if the named parameter is non-null. - - - Initializes the attribute with the associated parameter name. - - The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null. - - - - Gets the associated parameter name. - - - Applied to a method that will never return under any circumstance. - - - Specifies that the method will not return if the associated Boolean parameter is passed the specified value. - - - Initializes the attribute with the specified parameter value. - - The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to - the associated parameter matches this value. - - - - Gets the condition parameter value. - - - diff --git a/src/packages/NUnit.3.13.2/lib/netstandard2.0/nunit.framework.xml b/src/packages/NUnit.3.13.2/lib/netstandard2.0/nunit.framework.xml deleted file mode 100644 index 7246d5d..0000000 --- a/src/packages/NUnit.3.13.2/lib/netstandard2.0/nunit.framework.xml +++ /dev/null @@ -1,21198 +0,0 @@ - - - - nunit.framework - - - - - The different targets a test action attribute can be applied to - - - - - Default target, which is determined by where the action attribute is attached - - - - - Target a individual test case - - - - - Target a suite of test cases - - - - - DefaultTestAssemblyBuilder loads a single assembly and builds a TestSuite - containing test fixtures present in the assembly. - - - - - The default suite builder used by the test assembly builder. - - - - - Initializes a new instance of the class. - - - - - Build a suite of tests from a provided assembly - - The assembly from which tests are to be built - A dictionary of options to use in building the suite - - A TestSuite containing the tests found in the assembly - - - - - Build a suite of tests given the name or the location of an assembly - - The name or the location of the assembly. - A dictionary of options to use in building the suite - - A TestSuite containing the tests found in the assembly - - - - - FrameworkController provides a facade for use in loading, browsing - and running tests without requiring a reference to the NUnit - framework. All calls are encapsulated in constructors for - this class and its nested classes, which only require the - types of the Common Type System as arguments. - - The controller supports four actions: Load, Explore, Count and Run. - They are intended to be called by a driver, which should allow for - proper sequencing of calls. Load must be called before any of the - other actions. The driver may support other actions, such as - reload on run, by combining these calls. - - - - - Construct a FrameworkController using the default builder and runner. - - The AssemblyName or path to the test assembly - A prefix used for all test ids created under this controller. - A Dictionary of settings to use in loading and running the tests - - - - Construct a FrameworkController using the default builder and runner. - - The test assembly - A prefix used for all test ids created under this controller. - A Dictionary of settings to use in loading and running the tests - - - - Construct a FrameworkController, specifying the types to be used - for the runner and builder. This constructor is provided for - purposes of development. - - The full AssemblyName or the path to the test assembly - A prefix used for all test ids created under this controller. - A Dictionary of settings to use in loading and running the tests - The Type of the test runner - The Type of the test builder - - - - Construct a FrameworkController, specifying the types to be used - for the runner and builder. This constructor is provided for - purposes of development. - - The test assembly - A prefix used for all test ids created under this controller. - A Dictionary of settings to use in loading and running the tests - The Type of the test runner - The Type of the test builder - - - - Gets the ITestAssemblyBuilder used by this controller instance. - - The builder. - - - - Gets the ITestAssemblyRunner used by this controller instance. - - The runner. - - - - Gets the AssemblyName or the path for which this FrameworkController was created - - - - - Gets the Assembly for which this - - - - - Gets a dictionary of settings for the FrameworkController - - - - - Loads the tests in the assembly - - - - - - Returns info about the tests in an assembly - - A string containing the XML representation of the filter to use - The XML result of exploring the tests - - - - Runs the tests in an assembly - - A string containing the XML representation of the filter to use - The XML result of the test run - - - - Runs the tests in an assembly synchronously reporting back the test results through the callback - or through the return value - - The callback that receives the test results - A string containing the XML representation of the filter to use - The XML result of the test run - - - - Runs the tests in an assembly asynchronously reporting back the test results through the callback - - The callback that receives the test results - A string containing the XML representation of the filter to use - - - - Stops the test run - - True to force the stop, false for a cooperative stop - - - - Counts the number of test cases in the loaded TestSuite - - A string containing the XML representation of the filter to use - The number of tests - - - - Inserts the environment and settings elements - - Target node - The updated target node - - - - Inserts environment element - - Target node - The new node - - - - Inserts settings element - - Target node - Settings dictionary - The new node - - - - FrameworkControllerAction is the base class for all actions - performed against a FrameworkController. - - - - - LoadTestsAction loads a test into the FrameworkController - - - - - LoadTestsAction loads the tests in an assembly. - - The controller. - The callback handler. - - - - ExploreTestsAction returns info about the tests in an assembly - - - - - Initializes a new instance of the class. - - The controller for which this action is being performed. - Filter used to control which tests are included (NYI) - The callback handler. - - - - CountTestsAction counts the number of test cases in the loaded TestSuite - held by the FrameworkController. - - - - - Construct a CountsTestAction and perform the count of test cases. - - A FrameworkController holding the TestSuite whose cases are to be counted - A string containing the XML representation of the filter to use - A callback handler used to report results - - - - RunTestsAction runs the loaded TestSuite held by the FrameworkController. - - - - - Construct a RunTestsAction and run all tests in the loaded TestSuite. - - A FrameworkController holding the TestSuite to run - A string containing the XML representation of the filter to use - A callback handler used to report results - - - - RunAsyncAction initiates an asynchronous test run, returning immediately - - - - - Construct a RunAsyncAction and run all tests in the loaded TestSuite. - - A FrameworkController holding the TestSuite to run - A string containing the XML representation of the filter to use - A callback handler used to report results - - - - StopRunAction stops an ongoing run. - - - - - Construct a StopRunAction and stop any ongoing run. If no - run is in process, no error is raised. - - The FrameworkController for which a run is to be stopped. - True the stop should be forced, false for a cooperative stop. - >A callback handler used to report results - A forced stop will cause threads and processes to be killed as needed. - - - - The ITestAssemblyBuilder interface is implemented by a class - that is able to build a suite of tests given an assembly or - an assembly filename. - - - - - Build a suite of tests from a provided assembly - - The assembly from which tests are to be built - A dictionary of options to use in building the suite - A TestSuite containing the tests found in the assembly - - - - Build a suite of tests given the filename of an assembly - - The filename of the assembly from which tests are to be built - A dictionary of options to use in building the suite - A TestSuite containing the tests found in the assembly - - - - The ITestAssemblyRunner interface is implemented by classes - that are able to execute a suite of tests loaded - from an assembly. - - - - - Gets the tree of loaded tests, or null if - no tests have been loaded. - - - - - Gets the tree of test results, if the test - run is completed, otherwise null. - - - - - Indicates whether a test has been loaded - - - - - Indicates whether a test is currently running - - - - - Indicates whether a test run is complete - - - - - Loads the tests found in an Assembly, returning an - indication of whether or not the load succeeded. - - File name of the assembly to load - Dictionary of options to use in loading the test - An ITest representing the loaded tests - - - - Loads the tests found in an Assembly, returning an - indication of whether or not the load succeeded. - - The assembly to load - Dictionary of options to use in loading the test - An ITest representing the loaded tests - - - - Count Test Cases using a filter - - The filter to apply - The number of test cases found - - - - Explore the test cases using a filter - - The filter to apply - Test Assembly with test cases that matches the filter - - - - Run selected tests and return a test result. The test is run synchronously, - and the listener interface is notified as it progresses. - - Interface to receive ITestListener notifications. - A test filter used to select tests to be run - - - - Run selected tests asynchronously, notifying the listener interface as it progresses. - - Interface to receive EventListener notifications. - A test filter used to select tests to be run - - - - Wait for the ongoing run to complete. - - Time to wait in milliseconds - True if the run completed, otherwise false - - - - Signal any test run that is in process to stop. Return without error if no test is running. - - If true, kill any test-running threads - - - - Implementation of ITestAssemblyRunner - - - - - Initializes a new instance of the class. - - The builder. - - - - Gets the default level of parallel execution (worker threads) - - - - - The tree of tests that was loaded by the builder - - - - - The test result, if a run has completed - - - - - Indicates whether a test is loaded - - - - - Indicates whether a test is running - - - - - Indicates whether a test run is complete - - - - - Our settings, specified when loading the assembly - - - - - The top level WorkItem created for the assembly as a whole - - - - - The TestExecutionContext for the top level WorkItem - - - - - Loads the tests found in an Assembly - - File name or path of the assembly to load - Dictionary of option settings for loading the assembly - A Test Assembly containing all loaded tests - - - - Loads the tests found in an Assembly - - The assembly to load - Dictionary of option settings for loading the assembly - A Test Assembly containing all loaded tests - - - - Count Test Cases using a filter - - The filter to apply - The number of test cases found - - - - Explore the test cases using a filter - - The filter to apply - Test Assembly with test cases that matches the filter - - - - Run selected tests and return a test result. The test is run synchronously, - and the listener interface is notified as it progresses. - - Interface to receive EventListener notifications. - A test filter used to select tests to be run - The test results from the run - - - - Run selected tests asynchronously, notifying the listener interface as it progresses. - - Interface to receive EventListener notifications. - A test filter used to select tests to be run - - RunAsync is a template method, calling various abstract and - virtual methods to be overridden by derived classes. - - - - - Wait for the ongoing run to complete. - - Time to wait in milliseconds - True if the run completed, otherwise false - - - - Signal any test run that is in process to stop. Return without error if no test is running. - - If true, kill any tests that are currently running - - - - Initiate the test run. - - - - - Create the initial TestExecutionContext used to run tests - - The ITestListener specified in the RunAsync call - - - - Handle the Completed event for the top level work item - - - - - This method is a no-op in .NET Standard builds. - - - - - The Assert class contains a collection of static methods that - implement the most common assertions used in NUnit. - - - The Assert class contains a collection of static methods that - implement the most common assertions used in NUnit. - - - - - Verifies that the first int is greater than the second - int. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first int is greater than the second - int. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - - - - Verifies that the first value is greater than the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is greater than the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - - - - Verifies that the first value is greater than the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is greater than the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - - - - Verifies that the first value is greater than the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is greater than the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - - - - Verifies that the first value is greater than the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is greater than the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - - - - Verifies that the first value is greater than the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is greater than the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - - - - Verifies that the first value is greater than the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is greater than the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - - - - Verifies that the first value is greater than the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is greater than the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - - - - Verifies that the first value is less than the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is less than the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - - - - Verifies that the first value is less than the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is less than the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - - - - Verifies that the first value is less than the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is less than the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - - - - Verifies that the first value is less than the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is less than the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - - - - Verifies that the first value is less than the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is less than the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - - - - Verifies that the first value is less than the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is less than the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - - - - Verifies that the first value is less than the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is less than the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - - - - Verifies that the first value is less than the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is less than the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - - - - Verifies that the first value is greater than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is greater than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - - - - Verifies that the first value is greater than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is greater than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - - - - Verifies that the first value is greater than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is greater than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - - - - Verifies that the first value is greater than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is greater than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - - - - Verifies that the first value is greater than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is greater than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - - - - Verifies that the first value is greater than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is greater than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - - - - Verifies that the first value is greater than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is greater than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - - - - Verifies that the first value is greater than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is greater than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be greater - The second value, expected to be less - - - - Verifies that the first value is less than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is less than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - - - - Verifies that the first value is less than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is less than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - - - - Verifies that the first value is less than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is less than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - - - - Verifies that the first value is less than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is less than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - - - - Verifies that the first value is less than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is less than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - - - - Verifies that the first value is less than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is less than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - - - - Verifies that the first value is less than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is less than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - - - - Verifies that the first value is less than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the first value is less than or equal to the second - value. If it is not, then an - is thrown. - - The first value, expected to be less - The second value, expected to be greater - - - - Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. - - The evaluated condition - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. - - The evaluated condition - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. - - The evaluated condition - - - - Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. - - The evaluated condition - - - - Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. - - The evaluated condition - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. - - The evaluated condition - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. - - The evaluated condition - - - - Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. - - The evaluated condition - - - - Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert - block. - - The evaluated condition - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert - block. - - The evaluated condition - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert block. - - The evaluated condition - - - - Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert - block. - - The evaluated condition - - - - Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert - block. - - The evaluated condition - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert - block. - - The evaluated condition - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert - block. - - The evaluated condition - - - - Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert - block. - - The evaluated condition - - - - Verifies that the object that is passed in is not equal to . Returns without throwing an - exception when inside a multiple assert block. - - The object that is to be tested - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the object that is passed in is not equal to . Returns without throwing an - exception when inside a multiple assert block. - - The object that is to be tested - - - - Verifies that the object that is passed in is not equal to . Returns without throwing an - exception when inside a multiple assert block. - - The object that is to be tested - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the object that is passed in is not equal to . Returns without throwing an - exception when inside a multiple assert block. - - The object that is to be tested - - - - Verifies that the object that is passed in is equal to . Returns without throwing an - exception when inside a multiple assert block. - - The object that is to be tested - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the object that is passed in is equal to . Returns without throwing an - exception when inside a multiple assert block. - - The object that is to be tested - - - - Verifies that the object that is passed in is equal to . Returns without throwing an - exception when inside a multiple assert block. - - The object that is to be tested - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the object that is passed in is equal to . Returns without throwing an - exception when inside a multiple assert block. - - The object that is to be tested - - - - Verifies that the double that is passed in is an NaN. Returns without throwing an - exception when inside a multiple assert block. - - The value that is to be tested - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the double that is passed in is an NaN value. Returns without throwing an - exception when inside a multiple assert block. - - The value that is to be tested - - - - Verifies that the double that is passed in is an NaN value. Returns without throwing an - exception when inside a multiple assert block. - - The value that is to be tested - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that the double that is passed in is an NaN value. Returns without throwing an - exception when inside a multiple assert block. - - The value that is to be tested - - - - Assert that a string is empty. Returns without throwing an exception when inside a multiple assert block. - - The string to be tested - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Assert that a string is empty. Returns without throwing an exception when inside a multiple assert block. - - The string to be tested - - - - Assert that an array, list or other collection is empty. Returns without throwing an exception when inside a - multiple assert block. - - An array, list or other collection implementing ICollection - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Assert that an array, list or other collection is empty. Returns without throwing an exception when inside a - multiple assert block. - - An array, list or other collection implementing ICollection - - - - Assert that a string is not empty. Returns without throwing an exception when inside a multiple assert - block. - - The string to be tested - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Assert that a string is not empty. Returns without throwing an exception when inside a multiple assert - block. - - The string to be tested - - - - Assert that an array, list or other collection is not empty. Returns without throwing an exception when - inside a multiple assert block. - - An array, list or other collection implementing ICollection - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Assert that an array, list or other collection is not empty. Returns without throwing an exception when - inside a multiple assert block. - - An array, list or other collection implementing ICollection - - - - Asserts that an int is zero. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - - - - Asserts that an int is zero. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an unsigned int is zero. Returns without throwing an exception when inside a multiple assert - block. - - The number to be examined - - - - Asserts that an unsigned int is zero. Returns without throwing an exception when inside a multiple assert - block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a Long is zero. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - - - - Asserts that a Long is zero. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an unsigned Long is zero. Returns without throwing an exception when inside a multiple assert - block. - - The number to be examined - - - - Asserts that an unsigned Long is zero. Returns without throwing an exception when inside a multiple assert - block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a decimal is zero. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - - - - Asserts that a decimal is zero. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a double is zero. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - - - - Asserts that a double is zero. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a float is zero. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - - - - Asserts that a float is zero. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an int is not zero. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - - - - Asserts that an int is not zero. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an unsigned int is not zero. Returns without throwing an exception when inside a multiple - assert block. - - The number to be examined - - - - Asserts that an unsigned int is not zero. Returns without throwing an exception when inside a multiple - assert block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a Long is not zero. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - - - - Asserts that a Long is not zero. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an unsigned Long is not zero. Returns without throwing an exception when inside a multiple - assert block. - - The number to be examined - - - - Asserts that an unsigned Long is not zero. Returns without throwing an exception when inside a multiple - assert block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a decimal is zero. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - - - - Asserts that a decimal is zero. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a double is zero. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - - - - Asserts that a double is zero. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a float is zero. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - - - - Asserts that a float is zero. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an int is positive. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - - - - Asserts that an int is positive. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an unsigned int is positive. Returns without throwing an exception when inside a multiple - assert block. - - The number to be examined - - - - Asserts that an unsigned int is positive. Returns without throwing an exception when inside a multiple - assert block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a Long is positive. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - - - - Asserts that a Long is positive. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an unsigned Long is positive. Returns without throwing an exception when inside a multiple - assert block. - - The number to be examined - - - - Asserts that an unsigned Long is positive. Returns without throwing an exception when inside a multiple - assert block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a decimal is positive. Returns without throwing an exception when inside a multiple assert - block. - - The number to be examined - - - - Asserts that a decimal is positive. Returns without throwing an exception when inside a multiple assert - block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a double is positive. Returns without throwing an exception when inside a multiple assert - block. - - The number to be examined - - - - Asserts that a double is positive. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a float is positive. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - - - - Asserts that a float is positive. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an int is negative. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - - - - Asserts that an int is negative. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an unsigned int is negative. Returns without throwing an exception when inside a multiple - assert block. - - The number to be examined - - - - Asserts that an unsigned int is negative. Returns without throwing an exception when inside a multiple - assert block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a Long is negative. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - - - - Asserts that a Long is negative. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an unsigned Long is negative. Returns without throwing an exception when inside a multiple - assert block. - - The number to be examined - - - - Asserts that an unsigned Long is negative. Returns without throwing an exception when inside a multiple - assert block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a decimal is negative. Returns without throwing an exception when inside a multiple assert - block. - - The number to be examined - - - - Asserts that a decimal is negative. Returns without throwing an exception when inside a multiple assert - block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a double is negative. Returns without throwing an exception when inside a multiple assert - block. - - The number to be examined - - - - Asserts that a double is negative. Returns without throwing an exception when inside a multiple assert - block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that a float is negative. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - - - - Asserts that a float is negative. Returns without throwing an exception when inside a multiple assert block. - - The number to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - DO NOT USE! Use Assert.AreEqual(...) instead. - The Equals method throws an InvalidOperationException. This is done - to make sure there is no mistake by calling this function. - - - - - - - DO NOT USE! - The ReferenceEquals method throws an InvalidOperationException. This is done - to make sure there is no mistake by calling this function. - - - - - - - Throws a with the message and arguments - that are passed in. This allows a test to be cut short, with a result - of success returned to NUnit. - - The message to initialize the with. - Arguments to be used in formatting the message - - - - Throws a with the message and arguments - that are passed in. This allows a test to be cut short, with a result - of success returned to NUnit. - - The message to initialize the with. - - - - Throws a with the message and arguments - that are passed in. This allows a test to be cut short, with a result - of success returned to NUnit. - - - - - Marks the test as failed with the message and arguments that are passed in. Returns without throwing an - exception when inside a multiple assert block. - - The message to initialize the with. - Arguments to be used in formatting the message - - - - Marks the test as failed with the message that is passed in. Returns without throwing an exception when - inside a multiple assert block. - - The message to initialize the with. - - - - Marks the test as failed. Returns without throwing an exception when inside a multiple assert block. - - - - - Issues a warning using the message and arguments provided. - - The message to display. - Arguments to be used in formatting the message - - - - Issues a warning using the message provided. - - The message to display. - - - - Throws an with the message and arguments - that are passed in. This causes the test to be reported as ignored. - - The message to initialize the with. - Arguments to be used in formatting the message - - - - Throws an with the message that is - passed in. This causes the test to be reported as ignored. - - The message to initialize the with. - - - - Throws an . - This causes the test to be reported as ignored. - - - - - Throws an with the message and arguments - that are passed in. This causes the test to be reported as inconclusive. - - The message to initialize the with. - Arguments to be used in formatting the message - - - - Throws an with the message that is - passed in. This causes the test to be reported as inconclusive. - - The message to initialize the with. - - - - Throws an . - This causes the test to be reported as Inconclusive. - - - - - Asserts that an object is contained in a collection. Returns without throwing an exception when inside a - multiple assert block. - - The expected object - The collection to be examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an object is contained in a collection. Returns without throwing an exception when inside a - multiple assert block. - - The expected object - The collection to be examined - - - - Wraps code containing a series of assertions, which should all - be executed, even if they fail. Failed results are saved and - reported at the end of the code block. - - A TestDelegate to be executed in Multiple Assertion mode. - - - - Wraps code containing a series of assertions, which should all - be executed, even if they fail. Failed results are saved and - reported at the end of the code block. - - A TestDelegate to be executed in Multiple Assertion mode. - - - - If throws, returns "SomeException was thrown by the - Environment.StackTrace property." See also . - - - - - Verifies that two doubles are equal considering a delta. If the expected value is infinity then the delta - value is ignored. Returns without throwing an exception when inside a multiple assert block. - - The expected value - The actual value - The maximum acceptable difference between the the expected and the actual - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that two doubles are equal considering a delta. If the expected value is infinity then the delta - value is ignored. Returns without throwing an exception when inside a multiple assert block. - - The expected value - The actual value - The maximum acceptable difference between the the expected and the actual - - - - Verifies that two doubles are equal considering a delta. If the expected value is infinity then the delta - value is ignored. Returns without throwing an exception when inside a multiple assert block. - - The expected value - The actual value - The maximum acceptable difference between the the expected and the actual - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that two doubles are equal considering a delta. If the expected value is infinity then the delta - value is ignored. Returns without throwing an exception when inside a multiple assert block. - - The expected value - The actual value - The maximum acceptable difference between the the expected and the actual - - - - Verifies that two objects are equal. Two objects are considered equal if both are null, or if both have the - same value. NUnit has special semantics for some object types. Returns without throwing an exception when - inside a multiple assert block. - - The value that is expected - The actual value - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that two objects are equal. Two objects are considered equal if both are null, or if both have the - same value. NUnit has special semantics for some object types. Returns without throwing an exception when - inside a multiple assert block. - - The value that is expected - The actual value - - - - Verifies that two objects are not equal. Two objects are considered equal if both are null, or if both have - the same value. NUnit has special semantics for some object types. Returns without throwing an exception - when inside a multiple assert block. - - The value that is expected - The actual value - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that two objects are not equal. Two objects are considered equal if both are null, or if both have - the same value. NUnit has special semantics for some object types. Returns without throwing an exception - when inside a multiple assert block. - - The value that is expected - The actual value - - - - Asserts that two objects refer to the same object. Returns without throwing an exception when inside a - multiple assert block. - - The expected object - The actual object - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that two objects refer to the same object. Returns without throwing an exception when inside a - multiple assert block. - - The expected object - The actual object - - - - Asserts that two objects do not refer to the same object. Returns without throwing an exception when inside - a multiple assert block. - - The expected object - The actual object - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that two objects do not refer to the same object. Returns without throwing an exception when inside - a multiple assert block. - - The expected object - The actual object - - - - Helper for Assert.AreEqual(double expected, double actual, ...) - allowing code generation to work consistently. - - The expected value - The actual value - The maximum acceptable difference between the - the expected and the actual - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Verifies that an async delegate throws a particular exception when called. The returned exception may be - when inside a multiple assert block. - - A constraint to be satisfied by the exception - A TestSnippet delegate - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Verifies that an async delegate throws a particular exception when called. The returned exception may be - when inside a multiple assert block. - - A constraint to be satisfied by the exception - A TestSnippet delegate - - - - Verifies that an async delegate throws a particular exception when called. The returned exception may be - when inside a multiple assert block. - - The exception Type expected - A TestDelegate - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Verifies that an async delegate throws a particular exception when called. The returned exception may be - when inside a multiple assert block. - - The exception Type expected - A TestDelegate - - - - Verifies that an async delegate throws a particular exception when called. The returned exception may be - when inside a multiple assert block. - - Type of the expected exception - A TestDelegate - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Verifies that an async delegate throws a particular exception when called. The returned exception may be - when inside a multiple assert block. - - Type of the expected exception - A TestDelegate - - - - Verifies that an async delegate throws an exception when called and returns it. The returned exception may - be when inside a multiple assert block. - - A TestDelegate - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Verifies that an async delegate throws an exception when called and returns it. The returned exception may - be when inside a multiple assert block. - - 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 returned exception may be when inside a multiple assert block. - - The expected Exception Type - A TestDelegate - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Verifies that an async delegate throws an exception of a certain Type or one derived from it when called and - returns it. The returned exception may be when inside a multiple assert block. - - 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. The returned exception may be when inside a multiple assert block. - - A TestDelegate - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Verifies that an async delegate throws an exception of a certain Type or one derived from it when called and - returns it. The returned exception may be when inside a multiple assert block. - - 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. The returned exception may be when inside a multiple assert block. - - A constraint to be satisfied by the exception - A TestSnippet delegate - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Verifies that a delegate throws a particular exception when called. The returned exception may be when inside a multiple assert block. - - A constraint to be satisfied by the exception - A TestSnippet delegate - - - - Verifies that a delegate throws a particular exception when called. The returned exception may be when inside a multiple assert block. - - The exception Type expected - A TestDelegate - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Verifies that a delegate throws a particular exception when called. The returned exception may be when inside a multiple assert block. - - The exception Type expected - A TestDelegate - - - - Verifies that a delegate throws a particular exception when called. The returned exception may be when inside a multiple assert block. - - Type of the expected exception - A TestDelegate - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Verifies that a delegate throws a particular exception when called. The returned exception may be when inside a multiple assert block. - - Type of the expected exception - A TestDelegate - - - - Verifies that a delegate throws an exception when called and returns it. The returned exception may be when inside a multiple assert block. - - A TestDelegate - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Verifies that a delegate throws an exception when called and returns it. The returned exception may be when inside a multiple assert block. - - A TestDelegate - - - - Verifies that a delegate throws an exception of a certain Type or one derived from it when called and - returns it. The returned exception may be when inside a multiple assert block. - - The expected Exception Type - A TestDelegate - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Verifies that a delegate throws an exception of a certain Type or one derived from it when called and - returns it. The returned exception may be when inside a multiple assert block. - - The expected Exception Type - A TestDelegate - - - - Verifies that a delegate throws an exception of a certain Type or one derived from it when called and - returns it. The returned exception may be when inside a multiple assert block. - - A TestDelegate - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Verifies that a delegate throws an exception of a certain Type or one derived from it when called and - returns it. The returned exception may be when inside a multiple assert block. - - A TestDelegate - - - - Verifies that a delegate does not throw an exception - - A TestDelegate - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Verifies that a delegate does not throw an exception. - - A TestDelegate - - - - Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. - - The evaluated condition - The message to display if the condition is false - Arguments to be used in formatting the message - - - - Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. - - The evaluated condition - - - - Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. - - The evaluated condition - A function to build the message included with the Exception - - - - Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. - - A lambda that returns a Boolean - The message to display if the condition is false - Arguments to be used in formatting the message - - - - Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. - - A lambda that returns a Boolean - - - - Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. - - A lambda that returns a Boolean - A function to build the message included with the Exception - - - - Apply a constraint to a delegate. Returns without throwing an exception when inside a multiple assert block. - - The Type being compared. - An ActualValueDelegate returning the value to be tested - A Constraint expression to be applied - - - - Apply a constraint to a delegate. Returns without throwing an exception when inside a multiple assert block. - - The Type being compared. - An ActualValueDelegate returning the value to be tested - A Constraint expression to be applied - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Apply a constraint to a delegate. Returns without throwing an exception when inside a multiple assert block. - - The Type being compared. - An ActualValueDelegate returning the value to be tested - A Constraint expression to be applied - A function to build the message included with the Exception - - - - Apply a constraint to a delegate. Returns without throwing an exception when inside a multiple assert block. - - A TestDelegate to be executed - A Constraint expression to be applied - - - - Apply a constraint to a delegate. Returns without throwing an exception when inside a multiple assert block. - - A TestDelegate to be executed - A Constraint expression to be applied - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Apply a constraint to a delegate. Returns without throwing an exception when inside a multiple assert block. - - A TestDelegate to be executed - A Constraint expression to be applied - A function to build the message included with the Exception - - - - Apply a constraint to an actual value. Returns without throwing an exception when inside a multiple assert - block. - - The Type being compared. - The actual value to test - A Constraint expression to be applied - - - - Apply a constraint to an actual value. Returns without throwing an exception when inside a multiple assert - block. - - The Type being compared. - The actual value to test - A Constraint expression to be applied - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Apply a constraint to an actual value. Returns without throwing an exception when inside a multiple assert - block. - - The Type being compared. - The actual value to test - A Constraint expression to be applied - A function to build the message included with the Exception - - - - Apply a constraint to an actual value. Returns without throwing an exception when inside a multiple assert - block. Used as a synonym for That in rare cases where a private setter causes a Visual Basic compilation - error. - - The actual value to test - A Constraint expression to be applied - - - - Apply a constraint to an actual value. Returns without throwing an exception when inside a multiple assert - block. Used as a synonym for That in rare cases where a private setter causes a Visual Basic compilation - error. - - - This method is provided for use by VB developers needing to test the value of properties with private - setters. - - The actual value to test - A Constraint expression to be applied - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Asserts that an object may be assigned a value of a given Type. Returns without throwing an exception when - inside a multiple assert block. - - The expected Type. - The object under examination - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an object may be assigned a value of a given Type. Returns without throwing an exception when - inside a multiple assert block. - - The expected Type. - The object under examination - - - - Asserts that an object may be assigned a value of a given Type. Returns without throwing an exception when - inside a multiple assert block. - - The expected Type. - The object under examination - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an object may be assigned a value of a given Type. Returns without throwing an exception when - inside a multiple assert block. - - The expected Type. - The object under examination - - - - Asserts that an object may not be assigned a value of a given Type. Returns without throwing an exception - when inside a multiple assert block. - - The expected Type. - The object under examination - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an object may not be assigned a value of a given Type. Returns without throwing an exception - when inside a multiple assert block. - - The expected Type. - The object under examination - - - - Asserts that an object may not be assigned a value of a given Type. Returns without throwing an exception - when inside a multiple assert block. - - The expected Type. - The object under examination - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an object may not be assigned a value of a given Type. Returns without throwing an exception - when inside a multiple assert block. - - The expected Type. - The object under examination - - - - Asserts that an object is an instance of a given type. Returns without throwing an exception when inside a - multiple assert block. - - The expected Type - The object being examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an object is an instance of a given type. Returns without throwing an exception when inside a - multiple assert block. - - The expected Type - The object being examined - - - - Asserts that an object is an instance of a given type. Returns without throwing an exception when inside a - multiple assert block. - - The expected Type - The object being examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an object is an instance of a given type. Returns without throwing an exception when inside a - multiple assert block. - - The expected Type - The object being examined - - - - Asserts that an object is not an instance of a given type. Returns without throwing an exception when inside - a multiple assert block. - - The expected Type - The object being examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an object is not an instance of a given type. Returns without throwing an exception when inside - a multiple assert block. - - The expected Type - The object being examined - - - - Asserts that an object is not an instance of a given type. Returns without throwing an exception when inside - a multiple assert block. - - The expected Type - The object being examined - The message to display in case of failure - Array of objects to be used in formatting the message - - - - Asserts that an object is not an instance of a given type. Returns without throwing an exception when inside - a multiple assert block. - - The expected Type - The object being examined - - - - Delegate used by tests that execute code and - capture any thrown exception. - - - - - 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 Constraint expression to be applied - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and throwing an assertion exception on failure. - - A Constraint expression to be applied - The actual value to test - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and throwing an assertion exception on failure. - - A Constraint expression to be applied - The actual value to test - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Returns a ListMapper based on a collection. - - The original collection - - - - Returns a ConstraintExpression that negates any - following constraint. - - - - - Returns a ConstraintExpression that negates any - following constraint. - - - - - Returns a ConstraintExpression, which will apply - the following constraint to all members of a collection, - succeeding if all of them succeed. - - - - - Returns a ConstraintExpression, which will apply - the following constraint to all members of a collection, - succeeding if at least one of them succeeds. - - - - - Returns a ConstraintExpression, which will apply - the following constraint to all members of a collection, - succeeding if all of them fail. - - - - - Returns a ConstraintExpression, which will apply - the following constraint to all members of a collection, - succeeding only if a specified number of them succeed. - - - - - Returns a new PropertyConstraintExpression, which will either - test for the existence of the named property on the object - being tested or apply any following constraint to that property. - - - - - Returns a new ConstraintExpression, which will apply the following - constraint to the Length property of the object being tested. - - - - - Returns a new ConstraintExpression, which will apply the following - constraint to the Count property of the object being tested. - - - - - Returns a new ConstraintExpression, which will apply the following - constraint to the Message property of the object being tested. - - - - - Returns a new ConstraintExpression, which will apply the following - constraint to the InnerException property of the object being tested. - - - - - Returns a new AttributeConstraint checking for the - presence of a particular attribute on an object. - - - - - Returns a new AttributeConstraint checking for the - presence of a particular attribute on an object. - - - - - Returns a constraint that tests for null - - - - - Returns a constraint that tests for True - - - - - Returns a constraint that tests for False - - - - - Returns a constraint that tests for a positive value - - - - - Returns a constraint that tests for a negative value - - - - - Returns a constraint that tests for equality with zero - - - - - Returns a constraint that tests for NaN - - - - - Returns a constraint that tests for empty - - - - - Returns a constraint that tests whether a collection - contains all unique items. - - - - - Returns a constraint that tests whether an object graph is serializable in binary format. - - - - - Returns a constraint that tests whether an object graph is serializable in XML format. - - - - - Returns a constraint that tests two items for equality - - - - - Returns a constraint that tests that two references are the same object - - - - - Returns a constraint that tests whether the - actual value is greater than the supplied argument - - - - - Returns a constraint that tests whether the - actual value is greater than or equal to the supplied argument - - - - - Returns a constraint that tests whether the - actual value is greater than or equal to the supplied argument - - - - - Returns a constraint that tests whether the - actual value is less than the supplied argument - - - - - Returns a constraint that tests whether the - actual value is less than or equal to the supplied argument - - - - - Returns a constraint that tests whether the - actual value is less than or equal to the supplied argument - - - - - Returns a constraint that tests whether the actual - value is of the exact type supplied as an argument. - - - - - Returns a constraint that tests whether the actual - value is of the exact type supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is of the type supplied as an argument or a derived type. - - - - - Returns a constraint that tests whether the actual value - is of the type supplied as an argument or a derived type. - - - - - Returns a constraint that tests whether the actual value - is assignable from the type supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is assignable from the type supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is assignable from the type supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is assignable from the type supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is a collection containing the same elements as the - collection supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is a subset of the collection supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is a superset of the collection supplied as an argument. - - - - - Returns a constraint that tests whether a collection is ordered - - - - - Returns a new checking for the - presence of a particular object in the collection. - - - - - - Returns a new checking for the - presence of a particular object in the collection. - - - To search for a substring instead of a collection element, use the - overload. - - - - - - - Returns a new ContainsConstraint. This constraint - will, in turn, make use of the appropriate second-level - constraint, depending on the type of the actual argument. - - - To search for a collection element instead of a substring, use the - overload. - - - - - - Returns a constraint that succeeds if the actual - value contains the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value contains the substring supplied as an argument. - - - - - Returns a constraint that fails if the actual - value contains the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value starts with the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value starts with the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value starts with the substring supplied as an argument. - - - - - Returns a constraint that fails if the actual - value starts with the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value ends with the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value ends with the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value ends with the substring supplied as an argument. - - - - - Returns a constraint that fails if the actual - value ends with the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value matches the regular expression supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value matches the regular expression supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value matches the regular expression supplied as an argument. - - - - - Returns a constraint that fails if the actual - value matches the pattern supplied as an argument. - - - - - Returns a constraint that tests whether the path provided - is the same as an expected path after canonicalization. - - - - - Returns a constraint that tests whether the path provided - is a subpath of the expected path after canonicalization. - - - - - Returns a constraint that tests whether the path provided - is the same path or under an expected path after canonicalization. - - - - - Returns a constraint that tests whether the actual value falls - within a specified range. - - - - - Provides static methods to express the assumptions - that must be met for a test to give a meaningful - result. If an assumption is not met, the test - should produce an inconclusive result. - - - - - DO NOT USE! - The Equals method throws an InvalidOperationException. This is done - to make sure there is no mistake by calling this function. - - The left object. - The right object. - Not applicable - - - - DO NOT USE! - The ReferenceEquals method throws an InvalidOperationException. This is done - to make sure there is no mistake by calling this function. - - The left object. - The right object. - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and throwing an InconclusiveException on failure. - - The Type being compared. - An ActualValueDelegate returning the value to be tested - A Constraint expression to be applied - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and throwing an InconclusiveException on failure. - - The Type being compared. - An ActualValueDelegate returning the value to be tested - A Constraint expression to be applied - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and throwing an InconclusiveException on failure. - - The Type being compared. - An ActualValueDelegate returning the value to be tested - A Constraint expression to be applied - A function to build the message included with the Exception - - - - Asserts that a condition is true. If the condition is false, the method throws - an . - - The evaluated condition - The message to display if the condition is false - Arguments to be used in formatting the message - - - - Asserts that a condition is true. If the condition is false, the - method throws an . - - The evaluated condition - - - - Asserts that a condition is true. If the condition is false, the method throws - an . - - The evaluated condition - A function to build the message included with the Exception - - - - Asserts that a condition is true. If the condition is false, the method throws - an . - - A lambda that returns a Boolean - The message to display if the condition is false - Arguments to be used in formatting the message - - - - Asserts that a condition is true. If the condition is false, the method throws - an . - - A lambda that returns a Boolean - - - - Asserts that a condition is true. If the condition is false, the method throws - an . - - A lambda that returns a Boolean - A function to build the message included with the Exception - - - - Asserts that the code represented by a delegate throws an exception - that satisfies the constraint provided. - - A TestDelegate to be executed - A ThrowsConstraint used in the test - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and throwing an InconclusiveException on failure. - - The Type being compared. - The actual value to test - A Constraint expression to be applied - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and throwing an InconclusiveException on failure. - - The Type being compared. - The actual value to test - A Constraint expression to be applied - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and throwing an InconclusiveException on failure. - - The Type being compared. - The actual value to test - A Constraint expression to be applied - A function to build the message included with the Exception - - - - Marks a test as needing to be run in a particular threading apartment state. This will cause it - to run in a separate thread if necessary. - - - - - Construct an ApartmentAttribute - - The apartment state that this test must be run under. You must pass in a valid apartment state. - - - - Provides the author of a test or test fixture. - - - - - Initializes a new instance of the class. - - The name of the author. - - - - Initializes a new instance of the class. - - The name of the author. - The email address of the author. - - - - Applies a category to a test - - - - - The name of the category - - - - - Construct attribute for a given category based on - a name. The name may not contain the characters ',', - '+', '-' or '!'. However, this is not checked in the - constructor since it would cause an error to arise at - as the test was loaded without giving a clear indication - of where the problem is located. The error is handled - in NUnitFramework.cs by marking the test as not - runnable. - - The name of the category - - - - Protected constructor uses the Type name as the name - of the category. - - - - - The name of the category - - - - - Modifies a test by adding a category to it. - - The test to modify - - - - Marks a test to use a combinatorial join of any argument data provided. - Since this is the default, the attribute is optional. - - - - - Default constructor - - - - - Marks a test as using a particular CombiningStrategy to join any supplied parameter data. - Since this is the default, the attribute is optional. - - - - - Construct a CombiningStrategyAttribute incorporating an - ICombiningStrategy and an IParameterDataProvider. - - Combining strategy to be used in combining data - An IParameterDataProvider to supply data - - - - Construct a CombiningStrategyAttribute incorporating an object - that implements ICombiningStrategy and an IParameterDataProvider. - This constructor is provided for CLS compliance. - - Combining strategy to be used in combining data - An IParameterDataProvider to supply data - - - - Builds any number of tests from the specified method and context. - - The MethodInfo for which tests are to be constructed. - The suite to which the tests will be added. - - - - Modify the test by adding the name of the combining strategy - to the properties. - - The test to modify - - - - Marks an assembly, test fixture or test method as applying to a specific Culture. - - - - - Constructor with no cultures specified, for use - with named property syntax. - - - - - Constructor taking one or more cultures - - Comma-delimited list of cultures - - - - Causes a test to be skipped if this CultureAttribute is not satisfied. - - The test to modify - - - - Tests to determine if the current culture is supported - based on the properties of this attribute. - - True, if the current culture is supported - - - - Test to determine if the a particular culture or comma- - delimited set of cultures is in use. - - Name of the culture or comma-separated list of culture ids - True if the culture is in use on the system - - - - Test to determine if one of a collection of cultures - is being used currently. - - - - - - - Abstract base class for all data-providing attributes defined by NUnit. - Used to select all data sources for a method, class or parameter. - - - - - Default constructor - - - - - Marks a field for use as a datapoint when executing a theory within - the same fixture that requires an argument of the field's Type. - - - - - Marks a field, property or method as providing a set of datapoints for use - in executing any theories within the same fixture that require an argument of - the provided Type. The data source may provide an array of the required Type - or an . Synonymous with . - - - - - Marks a field, property or method as providing a set of datapoints for use - in executing any theories within the same fixture that require an argument - of the provided type. The data source may provide an array of the required - Type or an . Synonymous with . - - - - - Sets the tolerance used by default when checking the equality of floating point values - within the test assembly, fixture or method. - - - - - Construct specifying an amount - - - - - - Apply changes to the TestExecutionContext - - The TestExecutionContext - - - - Provides the descriptive text relating to the assembly, test fixture or test method. - - - - - Construct a description Attribute - - The text of the description - - - - Marks an assembly, test fixture or test method such that it will only run if explicitly - executed from the GUI, command line or included within a test filter. - The test will not be run simply because an enclosing suite is run. - - - - - Default constructor - - - - - Constructor with a reason - - The reason test is marked explicit - - - - Modifies a test by marking it as explicit. - - The test to modify - - - - Specify the life cycle of a Fixture - - - - - Construct a FixtureLifeCycleAttribute with a specified . - - - - - Defines the life cycle for this test fixture or assembly. - - - - - Overridden to set a TestFixture's . - - - - - Marks an assembly, test fixture or test method as being ignored. Ignored tests result in a warning message when the tests are run. - - - - - Constructs the attribute giving a reason for ignoring the test - - The reason for ignoring the test - - - - The date in the future to stop ignoring the test as a string in UTC time. - For example for a date and time, "2014-12-25 08:10:00Z" or for just a date, - "2014-12-25". If just a date is given, the Ignore will expire at midnight UTC. - - - Once the ignore until date has passed, the test will be marked - as runnable. Tests with an ignore until date will have an IgnoreUntilDate - property set which will appear in the test results. - - The string does not contain a valid string representation of a date and time. - - - - Modifies a test by marking it as Ignored. - - The test to modify - - - - Abstract base for attributes that are used to include tests in - the test run based on environmental settings. - - - - - Constructor with no included items specified, for use - with named property syntax. - - - - - Constructor taking one or more included items - - Comma-delimited list of included items - - - - Name of the item that is needed in order for - a test to run. Multiple items may be given, - separated by a comma. - - - - - Name of the item to be excluded. Multiple items - may be given, separated by a comma. - - - - - The reason for including or excluding the test - - - - - Sets the number of worker threads that may be allocated by the framework - for running tests. - - - - - Construct a LevelOfParallelismAttribute. - - The number of worker threads to be created by the framework. - - - - Specifies the life cycle for a test fixture. - - - - - A single instance is created and shared for all test cases. - - - - - A new instance is created for each test case. - - - - - Specifies the maximum time (in milliseconds) for a test case to succeed. - - - - - Construct a MaxTimeAttribute, given a time in milliseconds. - - The maximum elapsed time in milliseconds - - - - Marks tests that should NOT be run in parallel. - - - - - Construct a NonParallelizableAttribute. - - - - - Used by third-party frameworks, or other software, that reference - the NUnit framework but do not contain any tests. Applying the - attribute indicates that the assembly is not a test assembly and - may prevent errors if certain runners attempt to load the assembly. - Note that recognition of the attribute depends on each individual runner. - - - - - Abstract base class for all custom attributes defined by NUnit. - - - - - Default constructor - - - - - Identifies a method that is called once to perform setup before any child tests are run. - - - - - Identifies a method to be called once after all the child tests have run. - The method is guaranteed to be called, even if an exception is thrown. - - - - - Defines the order that the test will run in - - - - - Defines the order that the test will run in - - - - - Defines the order that the test will run in - - - - - - Modifies a test as defined for the specific attribute. - - The test to modify - - - - Marks a test as using a pairwise join of any supplied argument data. Arguments will be - combined in such a way that all possible pairs of arguments are used. - - - - - Default constructor - - - - - Marks a test assembly, fixture or method that may be run in parallel. - - - - - Construct a ParallelizableAttribute using default ParallelScope.Self. - - - - - Construct a ParallelizableAttribute with a specified scope. - - The ParallelScope associated with this attribute. - - - - Defines the degree to which this test and its descendants may be run in parallel - - - - - Overridden to check for invalid combinations of settings - - - - - - Modify the context to be used for child tests - - The current TestExecutionContext - - - - Specifies the degree to which a test, and its descendants, - may be run in parallel. - - - - - No ParallelScope was specified on the test - - - - - The test may be run in parallel with others at the same level. - Valid on classes and methods but has no effect on assemblies. - - - - - Test may not be run in parallel with any others. Valid on - classes and methods but not assemblies. - - - - - Mask used to extract the flags that apply to the item on which a - ParallelizableAttribute has been placed, as opposed to descendants. - - - - - Descendants of the test may be run in parallel with one another. - Valid on assemblies and classes but not on non-parameterized methods. - - - - - Descendants of the test down to the level of TestFixtures may be - run in parallel with one another. Valid on assemblies and classes - but not on methods. - - - - - Mask used to extract all the flags that impact descendants of a - test and place them in the TestExecutionContext. - - - - - The test and its descendants may be run in parallel with others at - the same level. Valid on classes and parameterized methods. - For assemblies it is recommended to use - instead, as has no effect on assemblies. - - - - - Marks an assembly, test fixture or test method as applying to a specific platform. - - - - - Constructor with no platforms specified, for use - with named property syntax. - - - - - Constructor taking one or more platforms - - Comma-delimited list of platforms - - - - Causes a test to be skipped if this PlatformAttribute is not satisfied. - - The test to modify - - - - Attaches information to a test assembly, fixture or method as a name/value pair. - - - - - Construct a PropertyAttribute with a name and string value - - The name of the property - The property value - - - - Construct a PropertyAttribute with a name and int value - - The name of the property - The property value - - - - Construct a PropertyAttribute with a name and double value - - The name of the property - The property value - - - - Constructor for derived classes that set the - property dictionary directly. - - - - - Constructor for use by derived classes that use the - name of the type as the property name. Derived classes - must ensure that the Type of the property value is - a standard type supported by the BCL. Any custom - types will cause a serialization Exception when - in the client. - - - - - Gets the property dictionary for this attribute - - - - - Modifies a test by adding properties to it. - - The test to modify - - - - Supplies a set of random values to a single parameter of a parameterized test. - - - - - If true, no value will be repeated. - - - - - Construct a random set of values appropriate for the Type of the - parameter on which the attribute appears, specifying only the count. - - - - - - Generates values within a specified range. - - - - - Generates values within a specified range. - - - - - Generates values within a specified range. - - - - - Generates values within a specified range. - - - - - Generates values within a specified range. - - - - - Generates values within a specified range. - - - - - Generates values within a specified range. - - - - - Generates values within a specified range. - - - - - Generates values within a specified range. - - - - - Generates values within a specified range. - - - - - Retrieves a list of arguments which can be passed to the specified parameter. - - The parameter of a parameterized test. - - - - Supplies a range of values to an individual parameter of a parameterized test. - - - - - Constructs a range of values using the default step of 1. - - - - - Constructs a range of values with the specified step size. - - - - - Constructs a range of values using the default step of 1. - - - - - Constructs a range of values with the specified step size. - - - - - Constructs a range of values using a default step of 1. - - - - - Constructs a range of values with the specified step size. - - - - - Constructs a range of values using the default step of 1. - - - - - Constructs a range of values with the specified step size. - - - - - Constructs a range of values with the specified step size. - - - - - Constructs a range of values with the specified step size. - - - - - Retrieves a list of arguments which can be passed to the specified parameter. - - The parameter of a parameterized test. - - - Returns a string that represents the current object. - - - - Specifies that a test should be run multiple times. - - - - - Construct a RepeatAttribute - - The number of times to run the test - - - - Wrap a command and return the result. - - The command to be wrapped - The wrapped command - - - - The test command for the RepeatAttribute - - - - - Initializes a new instance of the class. - - The inner command. - The number of repetitions - - - - Runs the test, saving a TestResult in the supplied TestExecutionContext. - - The context in which the test should run. - A TestResult - - - - Marks a test that must run on a separate thread. - - - - - Construct a RequiresThreadAttribute - - - - - Construct a RequiresThreadAttribute, specifying the apartment - - - - - Specifies that a test method should be rerun on failure up to the specified - maximum number of times. - - - - - Construct a - - The maximum number of times the test should be run if it fails - - - - Wrap a command and return the result. - - The command to be wrapped - The wrapped command - - - - The test command for the - - - - - Initializes a new instance of the class. - - The inner command. - The maximum number of repetitions - - - - Runs the test, saving a TestResult in the supplied TestExecutionContext. - - The context in which the test should run. - A TestResult - - - - Marks a test to use a sequential join of any provided argument data. - Arguments will be combined into test cases, taking the next value of - each argument until all are used. - - - - - Default constructor - - - - - Sets the current Culture on an assembly, test fixture or test method for - the duration of a test. The culture remains set until the test or fixture - completes and is then reset to its original value. - - - - - - Construct given the name of a culture - - - - - - Sets the current UI Culture on an assembly, test fixture or test method - for the duration of a test. The UI culture remains set until the test or - fixture completes and is then reset to its original value. - - - - - - Construct given the name of a culture - - - - - - Identifies a method to be called immediately before each test is run. - - - - - Identifies a class as containing or - methods for all the test fixtures - under a given namespace. - - - - - Builds a from the specified type. - - The type info of the fixture to be used. - - - - Marks a test fixture as requiring all child tests to be run on the - same thread as the OneTimeSetUp and OneTimeTearDown. A flag in the - is set forcing all child tests - to be run sequentially on the current thread. - Any setting is ignored. - - - - - Apply changes to the TestExecutionContext - - The TestExecutionContext - - - - Identifies a method to be called immediately after each test is run. - The method is guaranteed to be called, even if an exception is thrown. - - - - - Abstract attribute providing actions to execute before and after tests. - - - - - Executed before each test is run - - The test that is going to be run. - - - - Executed after each test is run - - The test that has just been run. - - - - Provides the target for the action attribute - - - - - Marks a test assembly as needing a special assembly resolution hook that will - explicitly search the test assembly's directory for dependent assemblies. - This works around a conflict between mixed-mode assembly initialization and - tests running in their own AppDomain in some cases. - - - - - Marks the method as callable from the NUnit test runner. - - - - [TestFixture] - public class Fixture - { - [Test] - public void MethodToTest() - {} - - [Test(Description = "more detailed description")] - public void TestDescriptionMethod() - {} - } - - - - - - Descriptive text for this test - - - - - The author of this test - - - - - The type that this test is testing - - - - - Gets or sets the expected result. Not valid if the test - method has parameters. - - The result. - - - - Modifies a test by adding a description, if not already set. - - The test to modify - - - - Builds a single test from the specified method and context. - - The method for which a test is to be constructed. - The suite to which the test will be added. - - - - Marks a method as a parameterized test suite and provides arguments for each test case. - - - - - Construct a TestCaseAttribute with a list of arguments. - This constructor is not CLS-Compliant - - - - - - Construct a TestCaseAttribute with a single argument - - - - - - Construct a TestCaseAttribute with a two arguments - - - - - - - Construct a TestCaseAttribute with a three arguments - - - - - - - - Gets or sets the name of the test. - - The name of the test. - - - - Gets or sets the RunState of this test case. - - - - - Gets the list of arguments to a test case - - - - - Gets the properties of the test case - - - - - Gets or sets the expected result. - - The result. - - - - Returns true if the expected result has been set - - - - - Gets or sets the description. - - The description. - - - - The author of this test - - - - - The type that this test is testing - - - - - Gets or sets the reason for ignoring the test - - - - - Gets or sets a value indicating whether this is explicit. - - - if explicit; otherwise, . - - - - - Gets or sets the reason for not running the test. - - The reason. - - - - Gets or sets the ignore reason. When set to a non-null - non-empty value, the test is marked as ignored. - - The ignore reason. - - - - Comma-delimited list of platforms to run the test for - - - - - Comma-delimited list of platforms to not run the test for - - - - - Gets and sets the category for this test case. - May be a comma-separated list of categories. - - - - - Gets and sets the ignore until date for this test case. - - - - - Performs several special conversions allowed by NUnit in order to - permit arguments with types that cannot be used in the constructor - of an Attribute such as TestCaseAttribute or to simplify their use. - - The arguments to be converted - The ParameterInfo array for the method - - - - Builds a single test from the specified method and context. - - The MethodInfo for which tests are to be constructed. - The suite to which the tests will be added. - - - - Indicates the source to be used to provide test fixture instances for a test class. - - - - - Construct with the name of the method, property or field that will provide data - - The name of a static method, property or field that will provide data. - - - - Construct with a Type and name - - The Type that will provide data - The name of a static method, property or field that will provide data. - A set of parameters passed to the method, works only if the Source Name is a method. - If the source name is a field or property has no effect. - - - - Construct with a Type and name - - The Type that will provide data - The name of a static method, property or field that will provide data. - - - - Construct with a name - - The name of a static method, property or field that will provide data. - A set of parameters passed to the method, works only if the Source Name is a method. - If the source name is a field or property has no effect. - - - - Construct with a Type - - The type that will provide data - - - - A set of parameters passed to the method, works only if the Source Name is a method. - If the source name is a field or property has no effect. - - - - - The name of a the method, property or field to be used as a source - - - - - A Type to be used as a source - - - - - Gets or sets the category associated with every fixture created from - this attribute. May be a single category or a comma-separated list. - - - - - Builds any number of tests from the specified method and context. - - The IMethod for which tests are to be constructed. - The suite to which the tests will be added. - - - - Marks the class as a TestFixture. - - - - - Default constructor - - - - - Construct with a object[] representing a set of arguments. - The arguments may later be separated into type arguments and constructor arguments. - - - - - - Gets or sets the name of the test. - - The name of the test. - - - - Gets or sets the RunState of this test fixture. - - - - - The arguments originally provided to the attribute - - - - - Properties pertaining to this fixture - - - - - Get or set the type arguments. If not set - explicitly, any leading arguments that are - Types are taken as type arguments. - - - - - Descriptive text for this fixture - - - - - The author of this fixture - - - - - The type that this fixture is testing - - - - - Gets or sets the ignore reason. May set RunState as a side effect. - - The ignore reason. - - - - Gets or sets the reason for not running the fixture. - - The reason. - - - - Gets or sets the ignore reason. When set to a non-null - non-empty value, the test is marked as ignored. - - The ignore reason. - - - - Gets or sets a value indicating whether this is explicit. - - - if explicit; otherwise, . - - - - - Gets and sets the category for this fixture. - May be a comma-separated list of categories. - - - - - Builds a single test fixture from the specified type. - - - - - Builds a single test fixture from the specified type. - - The type info of the fixture to be used. - Filter used to select methods as tests. - - - - Identifies the source used to provide test fixture instances for a test class. - - - - - Error message string is public so the tests can use it - - - - - Construct with the name of the method, property or field that will provide data - - The name of a static method, property or field that will provide data. - - - - Construct with a Type and name - - The Type that will provide data - The name of a static method, property or field that will provide data. - - - - Construct with a Type - - The type that will provide data - - - - The name of a the method, property or field to be used as a source - - - - - A Type to be used as a source - - - - - Gets or sets the category associated with every fixture created from - this attribute. May be a single category or a comma-separated list. - - - - - Builds any number of test fixtures from the specified type. - - The TypeInfo for which fixtures are to be constructed. - - - - Builds any number of test fixtures from the specified type. - - The TypeInfo for which fixtures are to be constructed. - PreFilter used to select methods as tests. - - - - Returns a set of ITestFixtureData items for use as arguments - to a parameterized test fixture. - - The type for which data is needed. - - - - - Indicates the method or class the assembly, test fixture or test method is testing. - - - - - Initializes a new instance of the class. - - The type that is being tested. - - - - Initializes a new instance of the class. - - The type that is being tested. - - - - Adding this attribute to a method within a - class makes the method callable from the NUnit test runner. There is a property - called Description which is optional which you can provide a more detailed test - description. This class cannot be inherited. - - - - [TestFixture] - public class Fixture - { - [Test] - public void MethodToTest() - {} - - [Test(Description = "more detailed description")] - public void TestDescriptionMethod() - {} - } - - - - - - Construct the attribute, specifying a combining strategy and source of parameter data. - - - - - Applies a timeout in milliseconds to a test. - When applied to a method, the test is cancelled if the timeout is exceeded. - When applied to a class or assembly, the default timeout is set for all contained test methods. - - - - - Construct a TimeoutAttribute given a time in milliseconds - - The timeout value in milliseconds - - - - Provides literal arguments for an individual parameter of a test. - - - - - The collection of data to be returned. Must - be set by any derived attribute classes. - We use an object[] so that the individual - elements may have their type changed in GetData - if necessary - - - - - Constructs for use with an Enum parameter. Will pass every enum - value in to the test. - - - - - Construct with one argument - - - - - - Construct with two arguments - - - - - - - Construct with three arguments - - - - - - - - Construct with an array of arguments - - - - - - Retrieves a list of arguments which can be passed to the specified parameter. - - The parameter of a parameterized test. - - - - To generate data for Values attribute, in case no data is provided. - - - - - To Check if type is nullable enum. - - - - - Indicates the source used to provide data for one parameter of a test method. - - - - - Construct with the name of the factory - for use with languages - that don't support params arrays. - - The name of a static method, property or field that will provide data. - - - - Construct with a Type and name - for use with languages - that don't support params arrays. - - The Type that will provide data - The name of a static method, property or field that will provide data. - - - - The name of a the method, property or field to be used as a source - - - - - A Type to be used as a source - - - - - Retrieves a list of arguments which can be passed to the specified parameter. - - The parameter of a parameterized test. - - - - A set of Assert methods operating on one or more collections - - - - - DO NOT USE! Use CollectionAssert.AreEqual(...) instead. - The Equals method throws an InvalidOperationException. This is done - to make sure there is no mistake by calling this function. - - - - - - - DO NOT USE! - The ReferenceEquals method throws an InvalidOperationException. This is done - to make sure there is no mistake by calling this function. - - - - - - - Asserts that all items contained in collection are of the type specified by expectedType. - - IEnumerable containing objects to be considered - System.Type that all objects in collection must be instances of - - - - Asserts that all items contained in collection are of the type specified by expectedType. - - IEnumerable containing objects to be considered - System.Type that all objects in collection must be instances of - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Asserts that all items contained in collection are not equal to null. - - IEnumerable containing objects to be considered - - - - Asserts that all items contained in collection are not equal to null. - - IEnumerable of objects to be considered - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Ensures that every object contained in collection exists within the collection - once and only once. - - IEnumerable of objects to be considered - - - - Ensures that every object contained in collection exists within the collection - once and only once. - - IEnumerable of objects to be considered - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Asserts that expected and actual are exactly equal. The collections must have the same count, - and contain the exact same objects in the same order. - - The first IEnumerable of objects to be considered - The second IEnumerable of objects to be considered - - - - Asserts that expected and actual are exactly equal. The collections must have the same count, - and contain the exact same objects in the same order. - If comparer is not null then it will be used to compare the objects. - - The first IEnumerable of objects to be considered - The second IEnumerable of objects to be considered - The IComparer to use in comparing objects from each IEnumerable - - - - Asserts that expected and actual are exactly equal. The collections must have the same count, - and contain the exact same objects in the same order. - - The first IEnumerable of objects to be considered - The second IEnumerable of objects to be considered - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Asserts that expected and actual are exactly equal. The collections must have the same count, - and contain the exact same objects in the same order. - If comparer is not null then it will be used to compare the objects. - - The first IEnumerable of objects to be considered - The second IEnumerable of objects to be considered - The IComparer to use in comparing objects from each IEnumerable - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Asserts that expected and actual are equivalent, containing the same objects but the match may be in any order. - - The first IEnumerable of objects to be considered - The second IEnumerable of objects to be considered - - - - Asserts that expected and actual are equivalent, containing the same objects but the match may be in any order. - - The first IEnumerable of objects to be considered - The second IEnumerable of objects to be considered - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Asserts that expected and actual are not exactly equal. - - The first IEnumerable of objects to be considered - The second IEnumerable of objects to be considered - - - - Asserts that expected and actual are not exactly equal. - If comparer is not null then it will be used to compare the objects. - - The first IEnumerable of objects to be considered - The second IEnumerable of objects to be considered - The IComparer to use in comparing objects from each IEnumerable - - - - Asserts that expected and actual are not exactly equal. - - The first IEnumerable of objects to be considered - The second IEnumerable of objects to be considered - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Asserts that expected and actual are not exactly equal. - If comparer is not null then it will be used to compare the objects. - - The first IEnumerable of objects to be considered - The second IEnumerable of objects to be considered - The IComparer to use in comparing objects from each IEnumerable - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Asserts that expected and actual are not equivalent. - - The first IEnumerable of objects to be considered - The second IEnumerable of objects to be considered - - - - Asserts that expected and actual are not equivalent. - - The first IEnumerable of objects to be considered - The second IEnumerable of objects to be considered - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Asserts that collection contains actual as an item. - - IEnumerable of objects to be considered - Object to be found within collection - - - - Asserts that collection contains actual as an item. - - IEnumerable of objects to be considered - Object to be found within collection - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Asserts that collection does not contain actual as an item. - - IEnumerable of objects to be considered - Object that cannot exist within collection - - - - Asserts that collection does not contain actual as an item. - - IEnumerable of objects to be considered - Object that cannot exist within collection - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Asserts that the superset does not contain the subset - - The IEnumerable subset to be considered - The IEnumerable superset to be considered - - - - Asserts that the superset does not contain the subset - - The IEnumerable subset to be considered - The IEnumerable superset to be considered - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Asserts that the superset contains the subset. - - The IEnumerable subset to be considered - The IEnumerable superset to be considered - - - - Asserts that the superset contains the subset. - - The IEnumerable subset to be considered - The IEnumerable superset to be considered - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Asserts that the subset does not contain the superset - - The IEnumerable superset to be considered - The IEnumerable subset to be considered - - - - Asserts that the subset does not contain the superset - - The IEnumerable superset to be considered - The IEnumerable subset to be considered - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Asserts that the subset contains the superset. - - The IEnumerable superset to be considered - The IEnumerable subset to be considered - - - - Asserts that the subset contains the superset. - - The IEnumerable superset to be considered - The IEnumerable subset to be considered - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Assert that an array, list or other collection is empty - - An array, list or other collection implementing IEnumerable - The message to be displayed on failure - Arguments to be used in formatting the message - - - - Assert that an array,list or other collection is empty - - An array, list or other collection implementing IEnumerable - - - - Assert that an array, list or other collection is empty - - An array, list or other collection implementing IEnumerable - The message to be displayed on failure - Arguments to be used in formatting the message - - - - Assert that an array,list or other collection is empty - - An array, list or other collection implementing IEnumerable - - - - Assert that an array, list or other collection is ordered - - An array, list or other collection implementing IEnumerable - The message to be displayed on failure - Arguments to be used in formatting the message - - - - Assert that an array, list or other collection is ordered - - An array, list or other collection implementing IEnumerable - - - - Assert that an array, list or other collection is ordered - - An array, list or other collection implementing IEnumerable - A custom comparer to perform the comparisons - The message to be displayed on failure - Arguments to be used in formatting the message - - - - Assert that an array, list or other collection is ordered - - An array, list or other collection implementing IEnumerable - A custom comparer to perform the comparisons - - - - AllItemsConstraint applies another constraint to each - item in a collection, succeeding if they all succeed. - - - - - Construct an AllItemsConstraint on top of an existing constraint - - - - - - The display name of this Constraint for use by ToString(). - The default value is the name of the constraint with - trailing "Constraint" removed. Derived classes may set - this to another name in their constructors. - - - - - Apply the item constraint to each item in the collection, - failing if any item fails. - - - - - - - AndConstraint succeeds only if both members succeed. - - - - - Create an AndConstraint from two other constraints - - The first constraint - The second constraint - - - - Gets text describing a constraint - - - - - Apply both member constraints to an actual value, succeeding - succeeding only if both of them succeed. - - The actual value - True if the constraints both succeeded - - - - Write the actual value for a failing constraint test to a - MessageWriter. The default implementation simply writes - the raw value of actual, leaving it to the writer to - perform any formatting. - - The writer on which the actual value is displayed - - - - is used to determine whether the value is equal to any of the expected values. - - - - - Construct a - - Collection of expected values - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Test whether item is present in expected collection - - Actual item type - Actual item - - - - Flag the constraint to ignore case and return self. - - - - - Flag the constraint to use the supplied IComparer object. - - The IComparer object to use. - - - - Flag the constraint to use the supplied IComparer object. - - The IComparer object to use. - - - - Flag the constraint to use the supplied Comparison object. - - The Comparison object to use. - - - - Flag the constraint to use the supplied IEqualityComparer object. - - The IEqualityComparer object to use. - - - - Flag the constraint to use the supplied IEqualityComparer object. - - The IComparer object to use. - - - - Flag the constraint to use the supplied boolean-returning delegate. - - The supplied boolean-returning delegate to use. - - - - AssignableFromConstraint is used to test that an object - can be assigned from a given Type. - - - - - Construct an AssignableFromConstraint for the type provided - - - - - - Apply the constraint to an actual value, returning true if it succeeds - - The actual argument - True if the constraint succeeds, otherwise false. - - - - AssignableToConstraint is used to test that an object - can be assigned to a given Type. - - - - - Construct an AssignableToConstraint for the type provided - - - - - - Apply the constraint to an actual value, returning true if it succeeds - - The actual argument - True if the constraint succeeds, otherwise false. - - - - AttributeConstraint tests that a specified attribute is present - on a Type or other provider and that the value of the attribute - satisfies some other constraint. - - - - - Constructs an AttributeConstraint for a specified attribute - Type and base constraint. - - - - - - - Determines whether the Type or other provider has the - expected attribute and if its value matches the - additional constraint specified. - - - - - Returns a string representation of the constraint. - - - - - AttributeExistsConstraint tests for the presence of a - specified attribute on a Type. - - - - - Constructs an AttributeExistsConstraint for a specific attribute Type - - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Tests whether the object provides the expected attribute. - - A Type, MethodInfo, or other ICustomAttributeProvider - True if the expected attribute is present, otherwise false - - - - BinaryConstraint is the abstract base of all constraints - that combine two other constraints in some fashion. - - - - - The first constraint being combined - - - - - The second constraint being combined - - - - - Construct a BinaryConstraint from two other constraints - - The first constraint - The second constraint - - - - BinarySerializableConstraint tests whether - an object is serializable in binary format. - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - Returns the string representation - - - - - CollectionConstraint is the abstract base class for - constraints that operate on collections. - - - - - Construct an empty CollectionConstraint - - - - - Construct a CollectionConstraint - - - - - - Determines whether the specified enumerable is empty. - - The enumerable. - - if the specified enumerable is empty; otherwise, . - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - Protected method to be implemented by derived classes - - - - - - - CollectionContainsConstraint is used to test whether a collection - contains an expected object as a member. - - - - - Construct a CollectionContainsConstraint - - - - - - The display name of this Constraint for use by ToString(). - The default value is the name of the constraint with - trailing "Constraint" removed. Derived classes may set - this to another name in their constructors. - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Gets the expected object - - - - - Test whether the expected item is contained in the collection - - - - - - - Flag the constraint to use the supplied predicate function - - The comparison function to use. - Self. - - - - CollectionEquivalentConstraint is used to determine whether two - collections are equivalent. - - - - The result of the from the collections - under comparison. - - - Construct a CollectionEquivalentConstraint - Expected collection. - - - - The display name of this Constraint for use by ToString(). - The default value is the name of the constraint with - trailing "Constraint" removed. Derived classes may set - this to another name in their constructors. - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Test whether two collections are equivalent - - - - - - - Test whether the collection is equivalent to the expected. - - - Actual collection type. - - - Actual collection to compare. - - - A indicating whether or not - the two collections are equivalent. - - - - - Flag the constraint to use the supplied predicate function - - The comparison function to use. - Self. - - - Provides a for the . - - - Result of a of the collections to compare for equivalence. - - - Construct a using a . - Source . - Result of the collection comparison. - Actual collection to compare. - Whether or not the succeeded. - - - Write any additional lines (following Expected: and But was:) for a failing constraint. - The to write the failure message to. - - - - CollectionItemsEqualConstraint is the abstract base class for all - collection constraints that apply some notion of item equality - as a part of their operation. - - - - - The NUnitEqualityComparer in use for this constraint - - - - - Construct an empty CollectionConstraint - - - - - Construct a CollectionConstraint - - - - - - Get a flag indicating whether the user requested us to ignore case. - - - - - Get a flag indicating whether any external comparers are in use. - - - - - Flag the constraint to ignore case and return self. - - - - - Flag the constraint to use the supplied IComparer object. - - The IComparer object to use. - - - - Flag the constraint to use the supplied IComparer object. - - The IComparer object to use. - - - - Flag the constraint to use the supplied Comparison object. - - The Comparison object to use. - - - - Flag the constraint to use the supplied IEqualityComparer object. - - The IComparer object to use. - - - - Flag the constraint to use the supplied IEqualityComparer object. - - The IComparer object to use. - - - - Flag the constraint to use the supplied boolean-returning delegate. - - The supplied boolean-returning delegate to use. - - - - Compares two collection members for equality - - - - - Return a new CollectionTally for use in making tests - - The collection to be included in the tally - - - - CollectionOrderedConstraint is used to test whether a collection is ordered. - - - - - Construct a CollectionOrderedConstraint - - - - - The display name of this Constraint for use by ToString(). - The default value is the name of the constraint with - trailing "Constraint" removed. Derived classes may set - this to another name in their constructors. - - - - - If used performs a default ascending comparison - - - - - If used performs a reverse comparison - - - - - Modifies the constraint to use an and returns self. - - - - - Modifies the constraint to use an and returns self. - - - - - Modifies the constraint to use a and returns self. - - - - - Modifies the constraint to test ordering by the value of - a specified property and returns self. - - - - - Then signals a break between two ordering steps - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - Test whether the collection is ordered - - - - - Returns the string representation of the constraint. - - - - - - An OrderingStep represents one stage of the sort - - - - - Constructor for success result. - - The Constraint to which this result applies. - The actual value to which the Constraint was applied. - - - - Constructor for failure result. - - The Constraint to which this result applies. - The actual value to which the Constraint was applied. - Index at which collection order breaks. - Value at which collection order breaks. - - - - CollectionSubsetConstraint is used to determine whether - one collection is a subset of another - - - - - Construct a CollectionSubsetConstraint - - The collection that the actual value is expected to be a subset of - - - - The display name of this Constraint for use by ToString(). - The default value is the name of the constraint with - trailing "Constraint" removed. Derived classes may set - this to another name in their constructors. - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Test whether the actual collection is a subset of - the expected collection provided. - - - - - - - Test whether the constraint is satisfied by a given value. - - - - - Flag the constraint to use the supplied predicate function - - The comparison function to use. - Self. - - - - CollectionSupersetConstraint is used to determine whether - one collection is a superset of another - - - - - Construct a CollectionSupersetConstraint - - The collection that the actual value is expected to be a superset of - - - - The display name of this Constraint for use by ToString(). - The default value is the name of the constraint with - trailing "Constraint" removed. Derived classes may set - this to another name in their constructors. - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Test whether the actual collection is a superset of - the expected collection provided. - - - - - - - Test whether the constraint is satisfied by a given value. - - - - - Flag the constraint to use the supplied predicate function - - The comparison function to use. - Self. - - - counts (tallies) the number of occurrences - of each object in one or more enumerations. - - - The result of a . - - - Items that were not in the expected collection. - - - Items that were not accounted for in the expected collection. - - - Initializes a new instance of the class with the given fields. - - - The result of the comparison between the two collections. - - - Construct a CollectionTally object from a comparer and a collection. - The comparer to use for equality. - The expected collection to compare against. - - - Try to remove an object from the tally. - The object to remove. - - - Try to remove a set of objects from the tally. - The objects to remove. - - - - Comparator for two s. - - - - - Comparator for two s. - - - - - Flag indicating whether or not this is the top level comparison. - - - - - A list of tracked comparisons - - - - - Comparator for two s. - - - - - Comparator for two s. - - - - - Comparator for two s. - - - - - Comparator for two s. - - - - - Comparator for two s. - - - - - Comparator for two types related by . - - - - - Interface for comparing two s. - - - - - Method for comparing two objects with a tolerance. - - The first object to compare. - The second object to compare. - The tolerance to use when comparing the objects. - The evaluation state of the comparison. - - if the objects cannot be compared using the method. - Otherwise the result of the comparison is returned. - - - - - Comparator for two s. - - - - - Comparator for two s. - - - - - Comparator for two s. - - - - - Comparator for two s. - - - - - Comparator for two types related by . - - - - - Comparator for two s or s. - - - - - Comparator for two Tuples. - - - - - Base class for comparators for tuples (both regular Tuples and ValueTuples). - - - - - Comparator for two ValueTuples. - - - - - ComparisonAdapter class centralizes all comparisons of - values in NUnit, adapting to the use of any provided - , - or . - - - - - Gets the default ComparisonAdapter, which wraps an - NUnitComparer object. - - - - - Returns a ComparisonAdapter that wraps an - - - - - Returns a ComparisonAdapter that wraps an - - - - - Returns a ComparisonAdapter that wraps a - - - - - Compares two objects - - - - - Construct a default ComparisonAdapter - - - - - Construct a ComparisonAdapter for an - - - - - Compares two objects - - - - - - - - ComparerAdapter extends and - allows use of an or - to actually perform the comparison. - - - - - Construct a ComparisonAdapter for an - - - - - Compare a Type T to an object - - - - - Construct a ComparisonAdapter for a - - - - - Compare a Type T to an object - - - - - Abstract base class for constraints that compare values to - determine if one is greater than, equal to or less than - the other. - - - - - The value against which a comparison is to be made - - - - - Tolerance used in making the comparison - - - - - ComparisonAdapter to be used in making the comparison - - - - - Initializes a new instance of the class. - - The value against which to make a comparison. - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - A ConstraintResult - - - - Protected function overridden by derived class to actually perform the comparison - - - - - Modifies the constraint to use an and returns self - - The comparer used for comparison tests - A constraint modified to use the given comparer - - - - Modifies the constraint to use an and returns self - - The comparer used for comparison tests - A constraint modified to use the given comparer - - - - Modifies the constraint to use a and returns self - - The comparer used for comparison tests - A constraint modified to use the given comparer - - - - Set the tolerance for use in this comparison - - - - - Switches the .Within() modifier to interpret its tolerance as - a percentage that the actual values is allowed to deviate from - the expected value. - - Self - - - - Provides standard description of what the constraint tests - based on comparison text. - - Describes the comparison being tested, throws - if null - Is thrown when null passed to a method - - - - Delegate used to delay evaluation of the actual value - to be used in evaluating a constraint - - - - - The Constraint class is the base of all built-in constraints - within NUnit. It provides the operator overloads used to combine - constraints. - - - - - Construct a constraint with optional arguments - - Arguments to be saved - - - - The display name of this Constraint for use by ToString(). - The default value is the name of the constraint with - trailing "Constraint" removed. Derived classes may set - this to another name in their constructors. - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Arguments provided to this Constraint, for use in - formatting the description. - - - - - The ConstraintBuilder holding this constraint - - - - - Applies the constraint to an actual value, returning a ConstraintResult. - - The value to be tested - A ConstraintResult - - - - Applies the constraint to an ActualValueDelegate that returns - the value to be tested. The default implementation simply evaluates - the delegate but derived classes may override it to provide for - delayed processing. - - An ActualValueDelegate - A ConstraintResult - - - - Test whether the constraint is satisfied by a given reference. - The default implementation simply dereferences the value but - derived classes may override it to provide for delayed processing. - - A reference to the value to be tested - A ConstraintResult - - - - Retrieves the value to be tested from an ActualValueDelegate. - The default implementation simply evaluates the delegate but derived - classes may override it to provide for delayed processing. - - An ActualValueDelegate - Delegate evaluation result - - - - Default override of ToString returns the constraint DisplayName - followed by any arguments within angle brackets. - - - - - - Returns the string representation of this constraint - - - - - This operator creates a constraint that is satisfied only if both - argument constraints are satisfied. - - - - - This operator creates a constraint that is satisfied if either - of the argument constraints is satisfied. - - - - - This operator creates a constraint that is satisfied if the - argument constraint is not satisfied. - - - - - Returns a ConstraintExpression by appending And - to the current constraint. - - - - - Returns a ConstraintExpression by appending And - to the current constraint. - - - - - Returns a ConstraintExpression by appending Or - to the current constraint. - - - - - Returns a DelayedConstraint.WithRawDelayInterval with the specified delay time. - - The delay, which defaults to milliseconds. - - - - - Returns a DelayedConstraint with the specified delay time - and polling interval. - - The delay in milliseconds. - The interval at which to test the constraint. - - - - - Resolves any pending operators and returns the resolved constraint. - - - - - ConstraintBuilder maintains the stacks that are used in - processing a ConstraintExpression. An OperatorStack - is used to hold operators that are waiting for their - operands to be reorganized. a ConstraintStack holds - input constraints as well as the results of each - operator applied. - - - - - OperatorStack is a type-safe stack for holding ConstraintOperators - - - - - Initializes a new instance of the class. - - The ConstraintBuilder using this stack. - - - - Gets a value indicating whether this is empty. - - if empty; otherwise, . - - - - Gets the topmost operator without modifying the stack. - - - - - Pushes the specified operator onto the stack. - - The operator to put onto the stack. - - - - Pops the topmost operator from the stack. - - The topmost operator on the stack - - - - ConstraintStack is a type-safe stack for holding Constraints - - - - - Initializes a new instance of the class. - - The ConstraintBuilder using this stack. - - - - Gets a value indicating whether this is empty. - - if empty; otherwise, . - - - - Pushes the specified constraint. As a side effect, - the constraint's Builder field is set to the - ConstraintBuilder owning this stack. - - The constraint to put onto the stack - - - - Pops this topmost constraint from the stack. - As a side effect, the constraint's Builder - field is set to null. - - The topmost constraint on the stack - - - - Initializes a new instance of the class. - - - - - Appends the specified operator to the expression by first - reducing the operator stack and then pushing the new - operator on the stack. - - The operator to push. - - - - Appends the specified constraint to the expression by pushing - it on the constraint stack. - - The constraint to push. - - - - Sets the top operator right context. - - The right context. - - - - Reduces the operator stack until the topmost item - precedence is greater than or equal to the target precedence. - - The target precedence. - - - - Resolves this instance, returning a Constraint. If the Builder - is not currently in a resolvable state, an exception is thrown. - - The resolved constraint - - - - Gets a value indicating whether this instance is resolvable. - - - if this instance is resolvable; otherwise, . - - - - - ConstraintExpression represents a compound constraint in the - process of being constructed from a series of syntactic elements. - - Individual elements are appended to the expression as they are - reorganized. When a constraint is appended, it is returned as the - value of the operation so that modifiers may be applied. However, - any partially built expression is attached to the constraint for - later resolution. When an operator is appended, the partial - expression is returned. If it's a self-resolving operator, then - a ResolvableConstraintExpression is returned. - - - - - The ConstraintBuilder holding the elements recognized so far - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the - class passing in a ConstraintBuilder, which may be pre-populated. - - The builder. - - - - Returns a string representation of the expression as it - currently stands. This should only be used for testing, - since it has the side-effect of resolving the expression. - - - - - - Appends an operator to the expression and returns the - resulting expression itself. - - - - - Appends a self-resolving operator to the expression and - returns a new ResolvableConstraintExpression. - - - - - Appends a constraint to the expression and returns that - constraint, which is associated with the current state - of the expression being built. Note that the constraint - is not reduced at this time. For example, if there - is a NotOperator on the stack we don't reduce and - return a NotConstraint. The original constraint must - be returned because it may support modifiers that - are yet to be applied. - - - - - Returns a ConstraintExpression that negates any - following constraint. - - - - - Returns a ConstraintExpression that negates any - following constraint. - - - - - Returns a ConstraintExpression, which will apply - the following constraint to all members of a collection, - succeeding if all of them succeed. - - - - - Returns a ConstraintExpression, which will apply - the following constraint to all members of a collection, - succeeding if at least one of them succeeds. - - - - - Returns a ConstraintExpression, which will apply - the following constraint to all members of a collection, - succeeding if all of them fail. - - - - - Returns a ConstraintExpression, which will apply - the following constraint to all members of a collection, - succeeding only if a specified number of them succeed. - - - - - Returns a , which will - apply the following constraint to a collection of length one, succeeding - only if exactly one of them succeeds. - - - - - Returns a new PropertyConstraintExpression, which will either - test for the existence of the named property on the object - being tested or apply any following constraint to that property. - - - - - Returns a new ConstraintExpression, which will apply the following - constraint to the Length property of the object being tested. - - - - - Returns a new ConstraintExpression, which will apply the following - constraint to the Count property of the object being tested. - - - - - Returns a new ConstraintExpression, which will apply the following - constraint to the Message property of the object being tested. - - - - - Returns a new ConstraintExpression, which will apply the following - constraint to the InnerException property of the object being tested. - - - - - Returns a new AttributeConstraint checking for the - presence of a particular attribute on an object. - - - - - Returns a new AttributeConstraint checking for the - presence of a particular attribute on an object. - - - - - With is currently a NOP - reserved for future use. - - - - - Returns the constraint provided as an argument - used to allow custom - custom constraints to easily participate in the syntax. - - - - - Returns the constraint provided as an argument - used to allow custom - custom constraints to easily participate in the syntax. - - - - - Returns a constraint that tests for null - - - - - Returns a constraint that tests for True - - - - - Returns a constraint that tests for False - - - - - Returns a constraint that tests for a positive value - - - - - Returns a constraint that tests for a negative value - - - - - Returns a constraint that tests if item is equal to zero - - - - - Returns a constraint that tests for NaN - - - - - Returns a constraint that tests for empty - - - - - Returns a constraint that tests whether a collection - contains all unique items. - - - - - Returns a constraint that tests whether an object graph is serializable in binary format. - - - - - Returns a constraint that tests whether an object graph is serializable in XML format. - - - - - Returns a constraint that tests two items for equality - - - - - Returns a constraint that tests that two references are the same object - - - - - Returns a constraint that tests whether the - actual value is greater than the supplied argument - - - - - Returns a constraint that tests whether the - actual value is greater than or equal to the supplied argument - - - - - Returns a constraint that tests whether the - actual value is greater than or equal to the supplied argument - - - - - Returns a constraint that tests whether the - actual value is less than the supplied argument - - - - - Returns a constraint that tests whether the - actual value is less than or equal to the supplied argument - - - - - Returns a constraint that tests whether the - actual value is less than or equal to the supplied argument - - - - - Returns a constraint that tests whether the actual - value is of the exact type supplied as an argument. - - - - - Returns a constraint that tests whether the actual - value is of the exact type supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is of the type supplied as an argument or a derived type. - - - - - Returns a constraint that tests whether the actual value - is of the type supplied as an argument or a derived type. - - - - - Returns a constraint that tests whether the actual value - is assignable from the type supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is assignable from the type supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is assignable from the type supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is assignable from the type supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is a collection containing the same elements as the - collection supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is a subset of the collection supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is a superset of the collection supplied as an argument. - - - - - Returns a constraint that tests whether a collection is ordered - - - - - Returns a new checking for the - presence of a particular object in the collection. - - - - - - Returns a new checking for the - presence of a particular object in the collection. - - - To search for a substring instead of a collection element, use the - overload. - - - - - - - Returns a new ContainsConstraint. This constraint - will, in turn, make use of the appropriate second-level - constraint, depending on the type of the actual argument. - - - To search for a collection element instead of a substring, use the - overload. - - - - - - Returns a new checking for the - presence of a particular object in the collection. - - - - - Returns a new ContainsConstraint. This constraint - will, in turn, make use of the appropriate second-level - constraint, depending on the type of the actual argument. - This overload is only used if the item sought is a string, - since any other type implies that we are looking for a - collection member. - - - - - Returns a new DictionaryContainsKeyConstraint checking for the - presence of a particular key in the Dictionary key collection. - - The key to be matched in the Dictionary key collection - - - - Returns a new DictionaryContainsValueConstraint checking for the - presence of a particular value in the Dictionary value collection. - - The value to be matched in the Dictionary value collection - - - - Returns a constraint that succeeds if the actual - value contains the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value contains the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value starts with the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value starts with the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value starts with the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value ends with the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value ends with the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value ends with the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value matches the regular expression supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value matches the regular expression supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value matches the regular expression supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value matches the regular expression supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value matches the regular expression supplied as an argument. - - - - - Returns a constraint that tests whether the path provided - is the same as an expected path after canonicalization. - - - - - Returns a constraint that tests whether the path provided - is the a subpath of the expected path after canonicalization. - - - - - Returns a constraint that tests whether the path provided - is the same path or under an expected path after canonicalization. - - - - - Returns a constraint that tests whether the actual value falls - inclusively within a specified range. - - Inclusive beginning of the range. - Inclusive end of the range. - - - - Returns a constraint that succeeds if the value - is a file or directory and it exists. - - - - - Returns a constraint that tests if an item is equal to any of parameters - - Expected values - - - - Returns a new IndexerConstraintExpression, which will - apply any following constraint to that indexer value. - - Index accessor values. - - - - ConstraintStatus represents the status of a ConstraintResult - returned by a Constraint being applied to an actual value. - - - - - The status has not yet been set - - - - - The constraint succeeded - - - - - The constraint failed - - - - - An error occurred in applying the constraint (reserved for future use) - - - - - Contains the result of matching a against an actual value. - - - - - Constructs a for a particular . - - The Constraint to which this result applies. - The actual value to which the Constraint was applied. - - - - Constructs a for a particular . - - The Constraint to which this result applies. - The actual value to which the Constraint was applied. - The status of the new ConstraintResult. - - - - Constructs a for a particular . - - The Constraint to which this result applies. - The actual value to which the Constraint was applied. - If true, applies a status of Success to the result, otherwise Failure. - - - - The actual value that was passed to the method. - - - - - Gets and sets the ResultStatus for this result. - - - - - True if actual value meets the Constraint criteria otherwise false. - - - - - Display friendly name of the constraint. - - - - - Description of the constraint may be affected by the state the constraint had - when was performed against the actual value. - - - - - Write the failure message to the MessageWriter provided - as an argument. The default implementation simply passes - the result and the actual value to the writer, which - then displays the constraint description and the value. - - Constraints that need to provide additional details, - such as where the error occurred, can override this. - - The MessageWriter on which to display the message - - - - Write some additional failure message. - - The MessageWriter on which to display the message - - - - Write the actual value for a failing constraint test to a - MessageWriter. The default implementation simply writes - the raw value of actual, leaving it to the writer to - perform any formatting. - - The writer on which the actual value is displayed - - - - ContainsConstraint tests a whether a string contains a substring - or a collection contains an object. It postpones the decision of - which test to use until the type of the actual argument is known. - This allows testing whether a string is contained in a collection - or as a substring of another string using the same syntax. - - - - - Initializes a new instance of the class. - - The expected value contained within the string/collection. - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Flag the constraint to ignore case and return self. - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - The DateTimes class contains common operations on Date and Time values. - - - - - Applies a delay to the match so that a match can be evaluated in the future. - - - - - Allows only changing the time dimension of delay interval and setting a polling interval of a DelayedConstraint - - - - - Creates a new DelayedConstraint.WithRawDelayInterval - - Parent DelayedConstraint on which delay interval dimension is required to be set - - - - Changes delay interval dimension to minutes - - - - - Changes delay interval dimension to seconds - - - - - Changes delay interval dimension to milliseconds - - - - - Set polling interval, in milliseconds - - A time interval, in milliseconds - - - - - Allows only setting the polling interval of a DelayedConstraint - - - - - Creates a new DelayedConstraint.WithDimensionedDelayInterval - - Parent DelayedConstraint on which polling interval is required to be set - - - - Set polling interval, in milliseconds - - A time interval, in milliseconds - - - - - Allows only changing the time dimension of the polling interval of a DelayedConstraint - - - - - Creates a new DelayedConstraint.WithRawPollingInterval - - Parent DelayedConstraint on which polling dimension is required to be set - - - - Changes polling interval dimension to minutes - - - - - Changes polling interval dimension to seconds - - - - - Changes polling interval dimension to milliseconds - - - - - Delay value store as an Interval object - - - - - Polling value stored as an Interval object - - - - - Creates a new DelayedConstraint - - The inner constraint to decorate - The time interval after which the match is performed - If the value of is less than 0 - - - - Creates a new DelayedConstraint - - The inner constraint to decorate - The time interval after which the match is performed, in milliseconds - The time interval used for polling, in milliseconds - If the value of is less than 0 - - - - Gets text describing a constraint - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for if the base constraint fails, false if it succeeds - - - - Test whether the constraint is satisfied by a delegate - - The delegate whose value is to be tested - A ConstraintResult - - - - Test whether the constraint is satisfied by a given reference. - Overridden to wait for the specified delay period before - calling the base constraint with the dereferenced value. - - A reference to the value to be tested - True for success, false for failure - - - - Returns the string representation of the constraint. - - - - - Adjusts a Timestamp by a given TimeSpan - - - - - - - - Returns the difference between two Timestamps as a TimeSpan - - - - - - - - DictionaryContainsKeyConstraint is used to test whether a dictionary - contains an expected object as a key. - - - - - Construct a DictionaryContainsKeyConstraint - - - - - - The display name of this Constraint for use by ToString(). - The default value is the name of the constraint with - trailing "Constraint" removed. Derived classes may set - this to another name in their constructors. - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Gets the expected object - - - - - Returns a new DictionaryContainsKeyValuePairConstraint checking for the - presence of a particular key-value-pair in the dictionary. - - - - - Flag the constraint to ignore case and return self. - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - - - - Test whether the expected key is contained in the dictionary - - - - - Flag the constraint to use the supplied predicate function - - The comparison function to use. - - - - Flag the constraint to use the supplied Comparison object. - - The Comparison object to use. - - - - Flag the constraint to use the supplied IComparer object. - - The IComparer object to use. - - - - Flag the constraint to use the supplied IComparer object. - - The IComparer object to use. - - - - Flag the constraint to use the supplied IEqualityComparer object. - - The IComparer object to use. - - - - Flag the constraint to use the supplied IEqualityComparer object. - - The IComparer object to use. - - - - Flag the constraint to use the supplied boolean-returning delegate. - - The supplied boolean-returning delegate to use. - - - - DictionaryContainsKeyValuePairConstraint is used to test whether a dictionary - contains an expected object as a key-value-pair. - - - - - Construct a DictionaryContainsKeyValuePairConstraint - - - - - The display name of this Constraint for use by ToString(). - The default value is the name of the constraint with - trailing "Constraint" removed. Derived classes may set - this to another name in their constructors. - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - - - - Test whether the expected key is contained in the dictionary - - - - - DictionaryContainsValueConstraint is used to test whether a dictionary - contains an expected object as a value. - - - - - Construct a DictionaryContainsValueConstraint - - - - - - The display name of this Constraint for use by ToString(). - The default value is the name of the constraint with - trailing "Constraint" removed. Derived classes may set - this to another name in their constructors. - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Gets the expected object - - - - - Test whether the expected value is contained in the dictionary - - - - - Flag the constraint to use the supplied predicate function - - The comparison function to use. - Self. - - - - Provides a for the constraints - that are applied to each item in the collection - - - - - Constructs a for a particular - Only used for Failure - - The Constraint to which this result applies - The actual value to which the Constraint was applied - Actual item that does not match expected condition - Non matching item index - - - - Write constraint description, actual items, and non-matching item - - The MessageWriter on which to display the message - - - - EmptyCollectionConstraint tests whether a collection is empty. - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Check that the collection is empty - - - - - - - EmptyConstraint tests a whether a string or collection is empty, - postponing the decision about which test is applied until the - type of the actual argument is known. - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - EmptyDirectoryConstraint is used to test that a directory is empty - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - EmptyGuidConstraint tests whether a Guid is empty. - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - EmptyStringConstraint tests whether a string is empty. - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - EndsWithConstraint can test whether a string ends - with an expected substring. - - - - - Initializes a new instance of the class. - - The expected string - - - - Test whether the constraint is matched by the actual value. - This is a template method, which calls the IsMatch method - of the derived class. - - - - - - - EqualConstraint is able to compare an actual value with the - expected value provided in its constructor. Two objects are - considered equal if both are null, or if both have the same - value. NUnit has special semantics for some object types. - - - - - NUnitEqualityComparer used to test equality. - - - - - Initializes a new instance of the class. - - The expected value. - - - - Gets the tolerance for this comparison. - - - The tolerance. - - - - - Gets a value indicating whether to compare case insensitive. - - - if comparing case insensitive; otherwise, . - - - - - Gets a value indicating whether or not to clip strings. - - - if set to clip strings otherwise, . - - - - - Gets the failure points. - - - The failure points. - - - - - Flag the constraint to ignore case and return self. - - - - - Flag the constraint to suppress string clipping - and return self. - - - - - Flag the constraint to compare arrays as collections - and return self. - - - - - Flag the constraint to use a tolerance when determining equality. - - Tolerance value to be used - Self. - - - - Flags the constraint to include - property in comparison of two values. - - - Using this modifier does not allow to use the - constraint modifier. - - - - - Switches the .Within() modifier to interpret its tolerance as - a distance in representable values (see remarks). - - Self. - - Ulp stands for "unit in the last place" and describes the minimum - amount a given value can change. For any integers, an ulp is 1 whole - digit. For floating point values, the accuracy of which is better - for smaller numbers and worse for larger numbers, an ulp depends - on the size of the number. Using ulps for comparison of floating - point results instead of fixed tolerances is safer because it will - automatically compensate for the added inaccuracy of larger numbers. - - - - - Switches the .Within() modifier to interpret its tolerance as - a percentage that the actual values is allowed to deviate from - the expected value. - - Self - - - - Causes the tolerance to be interpreted as a TimeSpan in days. - - Self - - - - Causes the tolerance to be interpreted as a TimeSpan in hours. - - Self - - - - Causes the tolerance to be interpreted as a TimeSpan in minutes. - - Self - - - - Causes the tolerance to be interpreted as a TimeSpan in seconds. - - Self - - - - Causes the tolerance to be interpreted as a TimeSpan in milliseconds. - - Self - - - - Causes the tolerance to be interpreted as a TimeSpan in clock ticks. - - Self - - - - Flag the constraint to use the supplied IComparer object. - - The IComparer object to use. - Self. - - - - Flag the constraint to use the supplied IComparer object. - - The IComparer object to use. - Self. - - - - Flag the constraint to use the supplied boolean-returning delegate. - - The boolean-returning delegate to use. - Self. - - - - Flag the constraint to use the supplied Comparison object. - - The IComparer object to use. - Self. - - - - Flag the constraint to use the supplied IEqualityComparer object. - - The IComparer object to use. - Self. - - - - Flag the constraint to use the supplied IEqualityComparer object. - - The IComparer object to use. - Self. - - - - Flag the constraint to use the supplied predicate function - - The comparison function to use. - Self. - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - The EqualConstraintResult class is tailored for formatting - and displaying the result of an EqualConstraint. - - - - - Construct an EqualConstraintResult - - - - - Write a failure message. Overridden to provide custom - failure messages for EqualConstraint. - - The MessageWriter to write to - - - - Display the failure information for two collections that did not match. - - The MessageWriter on which to display - The expected collection. - The actual collection - The depth of this failure in a set of nested collections - - - - Displays a single line showing the types and sizes of the expected - and actual collections or arrays. If both are identical, the value is - only shown once. - - The MessageWriter on which to display - The expected collection or array - The actual collection or array - The indentation level for the message line - - - - Displays a single line showing the point in the expected and actual - arrays at which the comparison failed. If the arrays have different - structures or dimensions, both values are shown. - - The MessageWriter on which to display - The expected array - The actual array - Index of the failure point in the underlying collections - The indentation level for the message line - - - - Display the failure information for two IEnumerables that did not match. - - The MessageWriter on which to display - The expected enumeration. - The actual enumeration - The depth of this failure in a set of nested collections - - - - EqualityAdapter class handles all equality comparisons - that use an , - or a . - - - - - Compares two objects, returning true if they are equal - - - - - Returns true if the two objects can be compared by this adapter. - The base adapter cannot handle IEnumerables except for strings. - - - - - Returns an that wraps an . - - - - - that wraps an . - - - - - Returns an that wraps an . - - - - - Returns an EqualityAdapter that uses a predicate function for items comparison. - - - - - - - - - Returns true if the two objects can be compared by this adapter. - The base adapter cannot handle IEnumerables except for strings. - - - - - Compares two objects, returning true if they are equal - - - - - Returns true if the two objects can be compared by this adapter. - Generic adapter requires objects of the specified type. - - - - - Returns an that wraps an . - - - - - Returns an that wraps an . - - - - - that wraps an . - - - - - Returns an that wraps a . - - - - - ExactCountConstraint applies another constraint to each - item in a collection, succeeding only if a specified - number of items succeed. - - - - - Construct a standalone ExactCountConstraint - - - - - - Construct an ExactCountConstraint on top of an existing constraint - - - - - - - Apply the item constraint to each item in the collection, - succeeding only if the expected number of items pass. - - The value to be tested - A ConstraintResult - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Contain the result of matching a against an actual value. - - - - - The count of matched items of the - - - - - A list with maximum count (+1) of items of the - - - - - Constructs a for a . - - The Constraint to which this result applies. - The actual value to which the Constraint was applied. - If true, applies a status of Success to the result, otherwise Failure. - Count of matched items of the - A list with maximum count (+1) of items of the - - - - Write the actual value for a failing constraint test to a MessageWriter. - - The writer on which the actual value is displayed - - - - ExactTypeConstraint is used to test that an object - is of the exact type provided in the constructor - - - - - Construct an ExactTypeConstraint for a given Type - - The expected Type. - - - - The display name of this Constraint for use by ToString(). - The default value is the name of the constraint with - trailing "Constraint" removed. Derived classes may set - this to another name in their constructors. - - - - - Apply the constraint to an actual value, returning true if it succeeds - - The actual argument - True if the constraint succeeds, otherwise false. - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Applies the constraint to an actual value, returning a ConstraintResult. - - The value to be tested - A ConstraintResult - - - - ExceptionTypeConstraint is a special version of ExactTypeConstraint - used to provided detailed info about the exception thrown in - an error message. - - - - - Constructs an ExceptionTypeConstraint - - - - - Applies the constraint to an actual value, returning a ConstraintResult. - - The value to be tested - A ConstraintResult - - - - FalseConstraint tests that the actual value is false - - - - - Initializes a new instance of the class. - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - FileExistsConstraint is used to determine if a file exists - - - - - Initializes a new instance of the class. - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - FileOrDirectoryExistsConstraint is used to determine if a file or directory exists - - - - - If true, the constraint will only check if files exist, not directories - - - - - If true, the constraint will only check if directories exist, not files - - - - - Initializes a new instance of the class that - will check files and directories. - - - - - Initializes a new instance of the class that - will only check files if ignoreDirectories is true. - - if set to [ignore directories]. - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Applies the constraint to an actual value, returning a ConstraintResult. - - The value to be tested - A ConstraintResult - - - Helper routines for working with floating point numbers - - - The floating point comparison code is based on this excellent article: - https://randomascii.wordpress.com/2012/02/25/comparing-floating-point-numbers-2012-edition/ - - - "ULP" means Unit in the Last Place and in the context of this library refers to - the distance between two adjacent floating point numbers. IEEE floating point - numbers can only represent a finite subset of natural numbers, with greater - accuracy for smaller numbers and lower accuracy for very large numbers. - - - If a comparison is allowed "2 ulps" of deviation, that means the values are - allowed to deviate by up to 2 adjacent floating point values, which might be - as low as 0.0000001 for small numbers or as high as 10.0 for large numbers. - - - - - Union of a floating point variable and an integer - - - The union's value as a floating point variable - - - The union's value as an integer - - - The union's value as an unsigned integer - - - Union of a double precision floating point variable and a long - - - The union's value as a double precision floating point variable - - - The union's value as a long - - - The union's value as an unsigned long - - - Compares two floating point values for equality - First floating point value to be compared - Second floating point value t be compared - - Maximum number of representable floating point values that are allowed to - be between the left and the right floating point values - - True if both numbers are equal or close to being equal - - - Floating point values can only represent a finite subset of natural numbers. - For example, the values 2.00000000 and 2.00000024 can be stored in a float, - but nothing between them. - - - This comparison will count how many possible floating point values are between - the left and the right number. If the number of possible values between both - numbers is less than or equal to maxUlps, then the numbers are considered as - being equal. - - - Implementation partially follows the code outlined here: - http://www.anttirt.net/2007/08/19/proper-floating-point-comparisons/ - - - - - Compares two double precision floating point values for equality - First double precision floating point value to be compared - Second double precision floating point value t be compared - - Maximum number of representable double precision floating point values that are - allowed to be between the left and the right double precision floating point values - - True if both numbers are equal or close to being equal - - - Double precision floating point values can only represent a limited series of - natural numbers. For example, the values 2.0000000000000000 and 2.0000000000000004 - can be stored in a double, but nothing between them. - - - This comparison will count how many possible double precision floating point - values are between the left and the right number. If the number of possible - values between both numbers is less than or equal to maxUlps, then the numbers - are considered as being equal. - - - Implementation partially follows the code outlined here: - http://www.anttirt.net/2007/08/19/proper-floating-point-comparisons/ - - - - - - Tests whether a value is greater than the value supplied to its constructor - - - - - Initializes a new instance of the class. - - The expected value. - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Perform the comparison - - - - - Tests whether a value is greater than or equal to the value supplied to its constructor - - - - - Initializes a new instance of the class. - - The expected value. - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Perform the comparison - - - - - Interface for all constraints - - - - - The display name of this Constraint for use by ToString(). - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Arguments provided to this Constraint, for use in - formatting the description. - - - - - The ConstraintBuilder holding this constraint - - - - - Applies the constraint to an actual value, returning a ConstraintResult. - - The value to be tested - A ConstraintResult - - - - Applies the constraint to an ActualValueDelegate that returns - the value to be tested. The default implementation simply evaluates - the delegate but derived classes may override it to provide for - delayed processing. - - An ActualValueDelegate - A ConstraintResult - - - - Test whether the constraint is satisfied by a given reference. - The default implementation simply dereferences the value but - derived classes may override it to provide for delayed processing. - - A reference to the value to be tested - A ConstraintResult - - - - IndexerConstraint extracts a named property and uses - its value as the actual value for a chained constraint. - - - - - Initializes a new instance of the class. - - The argument list for the indexer. - The constraint to apply to the indexer. - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - - - - Returns the string representation of the constraint. - - - - - InstanceOfTypeConstraint is used to test that an object - is of the same type provided or derived from it. - - - - - Construct an InstanceOfTypeConstraint for the type provided - - The expected Type - - - - The display name of this Constraint for use by ToString(). - The default value is the name of the constraint with - trailing "Constraint" removed. Derived classes may set - this to another name in their constructors. - - - - - Apply the constraint to an actual value, returning true if it succeeds - - The actual argument - True if the constraint succeeds, otherwise false. - - - - Keeps track of an interval time which can be represented in - Minutes, Seconds or Milliseconds - - - - - Constructs a interval given an value in milliseconds - - - - - Gets Interval value represented as a TimeSpan object - - - - - Returns the interval with the current value as a number of minutes. - - - - - Returns the interval with the current value as a number of seconds. - - - - - Returns the interval with the current value as a number of milliseconds. - - - - - Is true for intervals created with a non-zero value - - - - - Returns a string that represents the current object. - - - A string that represents the current object. - - - - - IntervalUnit provides the semantics to the value stored in Interval class. - - - - - Unit representing an Interval in minutes - - - - - Unit representing an Interval in seconds - - - - - Unit representing an Interval in milliseconds - - - - - The IResolveConstraint interface is implemented by all - complete and resolvable constraints and expressions. - - - - - Return the top-level constraint for this expression - - - - - - An extension of ResolvableConstraintExpression that adds a no-op Items property for readability. - - - - - Create a new instance of ItemsConstraintExpression - - - - - Create a new instance of ResolvableConstraintExpression, - passing in a pre-populated ConstraintBuilder. - - - - - - No-op property for readability. - - - - - Tests whether a value is less than the value supplied to its constructor - - - - - Initializes a new instance of the class. - - The expected value. - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Perform the comparison - - - - - Tests whether a value is less than or equal to the value supplied to its constructor - - - - - Initializes a new instance of the class. - - The expected value. - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Perform the comparison - - - - - MessageWriter is the abstract base for classes that write - constraint descriptions and messages in some form. The - class has separate methods for writing various components - of a message, allowing implementations to tailor the - presentation as needed. - - - - - Construct a MessageWriter given a culture - - - - - Abstract method to get the max line length - - - - - Method to write single line message with optional args, usually - written to precede the general failure message. - - The message to be written - Any arguments used in formatting the message - - - - Method to write single line message with optional args, usually - written to precede the general failure message, at a given - indentation level. - - The indentation level of the message - The message to be written - Any arguments used in formatting the message - - - - Display Expected and Actual lines for a constraint. This - is called by MessageWriter's default implementation of - WriteMessageTo and provides the generic two-line display. - - The failing constraint result - - - - Display Expected and Actual lines for given values. This - method may be called by constraints that need more control over - the display of actual and expected values than is provided - by the default implementation. - - The expected value - The actual value causing the failure - - - - Display Expected and Actual lines for given values, including - a tolerance value on the Expected line. - - The expected value - The actual value causing the failure - The tolerance within which the test was made - - - - Display the expected and actual string values on separate lines. - If the mismatch parameter is >=0, an additional line is displayed - line containing a caret that points to the mismatch point. - - The expected string value - The actual string value - The point at which the strings don't match or -1 - If true, case is ignored in locating the point where the strings differ - If true, the strings should be clipped to fit the line - - - - Writes the text for an actual value. - - The actual value. - - - - Writes the text for a generalized value. - - The value. - - - - Writes the text for a collection value, - starting at a particular point, to a max length - - The collection containing elements to write. - The starting point of the elements to write - The maximum number of elements to write - - - - Custom value formatter function - - The value - - - - - Custom value formatter factory function - - The next formatter function - ValueFormatter - If the given formatter is unable to handle a certain format, it must call the next formatter in the chain - - - - Static methods used in creating messages - - - - - Default amount of items used by method. - - - - - Static string used when strings are clipped - - - - - Formatting strings used for expected and actual values - - - - - Current head of chain of value formatters. Public for testing. - - - - - Add a formatter to the chain of responsibility. - - - - - - Formats text to represent a generalized value. - - The value - The formatted text - - - - Formats text for a collection value, - starting at a particular point, to a max length - - The collection containing elements to write. - The starting point of the elements to write - The maximum number of elements to write - - - - Returns the representation of a type as used in NUnitLite. - This is the same as Type.ToString() except for arrays, - which are displayed with their declared sizes. - - - - - - - Converts any control characters in a string - to their escaped representation. - - The string to be converted - The converted string - - - - Converts any null characters in a string - to their escaped representation. - - The string to be converted - The converted string - - - - Return the a string representation for a set of indices into an array - - Array of indices for which a string is needed - - - - Get an array of indices representing the point in a collection or - array corresponding to a single int index into the collection. - - The collection to which the indices apply - Index in the collection - Array of indices - - - - Clip a string to a given length, starting at a particular offset, returning the clipped - string with ellipses representing the removed parts - - The string to be clipped - The maximum permitted length of the result string - The point at which to start clipping - The clipped string - - - - Clip the expected and actual strings in a coordinated fashion, - so that they may be displayed together. - - - - - - - - - Shows the position two strings start to differ. Comparison - starts at the start index. - - The expected string - The actual string - The index in the strings at which comparison should start - Boolean indicating whether case should be ignored - -1 if no mismatch found, or the index where mismatch found - - - - NaNConstraint tests that the actual value is a double or float NaN - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Test that the actual value is an NaN - - - - - - - NoItemConstraint applies another constraint to each - item in a collection, failing if any of them succeeds. - - - - - Construct a SomeItemsConstraint on top of an existing constraint - - - - - - The display name of this Constraint for use by ToString(). - The default value is the name of the constraint with - trailing "Constraint" removed. Derived classes may set - this to another name in their constructors. - - - - - Apply the item constraint to each item in the collection, - failing if any item fails. - - - - - - - NotConstraint negates the effect of some other constraint - - - - - Initializes a new instance of the class. - - The base constraint to be negated. - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for if the base constraint fails, false if it succeeds - - - - NullConstraint tests that the actual value is null - - - - - Initializes a new instance of the class. - - - - - Applies the constraint to an actual value, returning a ConstraintResult. - - The value to be tested - A ConstraintResult - - - - The Numerics class contains common operations on numeric values. - - - - - Checks the type of the object, returning true if - the object is a numeric type. - - The object to check - true if the object is a numeric type - - - - Checks the type of the object, returning true if - the object is a floating point numeric type. - - The object to check - true if the object is a floating point numeric type - - - - Checks the type of the object, returning true if - the object is a fixed point numeric type. - - The object to check - true if the object is a fixed point numeric type - - - - Test two numeric values for equality, performing the usual numeric - conversions and using a provided or default tolerance. If the tolerance - provided is Empty, this method may set it to a default tolerance. - - The expected value - The actual value - A reference to the tolerance in effect - True if the values are equal - - - - Compare two numeric values, performing the usual numeric conversions. - - The expected value - The actual value - The relationship of the values to each other - - - - Calculates the difference between 2 values in absolute/percent mode. - - The expected value - The actual value - Tolerance mode to specify difference representation - The difference between the values - - - - NUnitComparer encapsulates NUnit's default behavior - in comparing two objects. - - - - - Returns the default NUnitComparer. - - - - - Compares two objects - - - - - - - - NUnitEqualityComparer encapsulates NUnit's handling of - equality tests between objects. - - - - - If true, all string comparisons will ignore case - - - - - If true, arrays will be treated as collections, allowing - those of different dimensions to be compared - - - - - Comparison objects used in comparisons for some constraints. - - - - - List of points at which a failure occurred. - - - - - List of comparers used to compare pairs of objects. - - - - - Initializes a new instance of the class. - - - - - Returns the default NUnitEqualityComparer - - - - - Gets and sets a flag indicating whether case should - be ignored in determining equality. - - - - - Gets and sets a flag indicating that arrays should be - compared as collections, without regard to their shape. - - - - - Gets the list of external comparers to be used to - test for equality. They are applied to members of - collections, in place of NUnit's own logic. - - - - - Gets the list of failure points for the last Match performed. - The list consists of objects to be interpreted by the caller. - This generally means that the caller may only make use of - objects it has placed on the list at a particular depth. - - - - - Flags the comparer to include - property in comparison of two values. - - - Using this modifier does not allow to use the - modifier. - - - - - Compares two objects for equality within a tolerance. - - - - - Compares two objects for equality within a tolerance. - - - - - FailurePoint class represents one point of failure - in an equality test. - - - - - The location of the failure - - - - - The expected value - - - - - The actual value - - - - - Indicates whether the expected value is valid - - - - - Indicates whether the actual value is valid - - - - - Represents a constraint that succeeds if all the - members of a collection match a base constraint. - - - - - Returns a constraint that will apply the argument - to the members of a collection, succeeding if - they all succeed. - - - - - Operator that requires both its arguments to succeed - - - - - Construct an AndOperator - - - - - Apply the operator to produce an AndConstraint - - - - - Operator that tests for the presence of a particular attribute - on a type and optionally applies further tests to the attribute. - - - - - Construct an AttributeOperator for a particular Type - - The Type of attribute tested - - - - Reduce produces a constraint from the operator and - any arguments. It takes the arguments from the constraint - stack and pushes the resulting constraint on it. - - - - - Abstract base class for all binary operators - - - - - Reduce produces a constraint from the operator and - any arguments. It takes the arguments from the constraint - stack and pushes the resulting constraint on it. - - - - - - Gets the left precedence of the operator - - - - - Gets the right precedence of the operator - - - - - Abstract method that produces a constraint by applying - the operator to its left and right constraint arguments. - - - - - Abstract base for operators that indicate how to - apply a constraint to items in a collection. - - - - - Constructs a CollectionOperator - - - - - The ConstraintOperator class is used internally by a - ConstraintBuilder to represent an operator that - modifies or combines constraints. - - Constraint operators use left and right precedence - values to determine whether the top operator on the - stack should be reduced before pushing a new operator. - - - - - The precedence value used when the operator - is about to be pushed to the stack. - - - - - The precedence value used when the operator - is on the top of the stack. - - - - - The syntax element preceding this operator - - - - - The syntax element following this operator - - - - - The precedence value used when the operator - is about to be pushed to the stack. - - - - - The precedence value used when the operator - is on the top of the stack. - - - - - Reduce produces a constraint from the operator and - any arguments. It takes the arguments from the constraint - stack and pushes the resulting constraint on it. - - - - - - Represents a constraint that succeeds if the specified - count of members of a collection match a base constraint. - - - - - Construct an ExactCountOperator for a specified count - - The expected count - - - - Reduce produces a constraint from the operator and - any arguments. It takes the arguments from the constraint - stack and pushes the resulting constraint on it. - - - - - - Operator used to test for the presence of a Indexer - on an object and optionally apply further tests to the - value of that indexer. - - - - - Constructs a IndexerOperator for a particular set of indexer - parameters - - - - - Returns a IndexerConstraint applied to its argument. - - - - - Represents a constraint that succeeds if none of the - members of a collection match a base constraint. - - - - - Returns a constraint that will apply the argument - to the members of a collection, succeeding if - none of them succeed. - - - - - Negates the test of the constraint it wraps. - - - - - Constructs a new NotOperator - - - - - Returns a NotConstraint applied to its argument. - - - - - Operator that requires at least one of its arguments to succeed - - - - - Construct an OrOperator - - - - - Apply the operator to produce an OrConstraint - - - - - PrefixOperator takes a single constraint and modifies - its action in some way. - - - - - Reduce produces a constraint from the operator and - any arguments. It takes the arguments from the constraint - stack and pushes the resulting constraint on it. - - - - - - Returns the constraint created by applying this - prefix to another constraint. - - - - - - - Operator used to test for the presence of a named Property - on an object and optionally apply further tests to the - value of that property. - - - - - Gets the name of the property to which the operator applies - - - - - Constructs a PropOperator for a particular named property - - - - - Reduce produces a constraint from the operator and - any arguments. It takes the arguments from the constraint - stack and pushes the resulting constraint on it. - - - - - - Abstract base class for operators that are able to reduce to a - constraint whether or not another syntactic element follows. - - - - - Represents a constraint that succeeds if any of the - members of a collection match a base constraint. - - - - - Returns a constraint that will apply the argument - to the members of a collection, succeeding if - any of them succeed. - - - - - Operator that tests that an exception is thrown and - optionally applies further tests to the exception. - - - - - Construct a ThrowsOperator - - - - - Reduce produces a constraint from the operator and - any arguments. It takes the arguments from the constraint - stack and pushes the resulting constraint on it. - - - - - Represents a constraint that simply wraps the - constraint provided as an argument, without any - further functionality, but which modifies the - order of evaluation because of its precedence. - - - - - Constructor for the WithOperator - - - - - Returns a constraint that wraps its argument - - - - - OrConstraint succeeds if either member succeeds - - - - - Create an OrConstraint from two other constraints - - The first constraint - The second constraint - - - - Gets text describing a constraint - - - - - Apply the member constraints to an actual value, succeeding - succeeding as soon as one of them succeeds. - - The actual value - True if either constraint succeeded - - - - PathConstraint serves as the abstract base of constraints - that operate on paths and provides several helper methods. - - - - - Construct a PathConstraint for a give expected path - - The expected path - - - - Modifies the current instance to be case-sensitive - and returns it. - - - - - Returns the string representation of this constraint - - - - - Canonicalize the provided path - - - The path in standardized form - - - - Test whether one path in canonical form is a subpath of another path - - The first path - supposed to be the parent path - The second path - supposed to be the child path - - - - - Predicate constraint wraps a Predicate in a constraint, - returning success if the predicate is true. - - - - - Construct a PredicateConstraint from a predicate - - - - - Gets text describing a constraint - - - - - Determines whether the predicate succeeds when applied - to the actual value. - - - - - Abstract base class used for prefixes - - - - - The base constraint - - - - - Prefix used in forming the constraint description - - - - - Construct given a base constraint - - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Formats a prefix constraint's description. - - - - - PropertyConstraint extracts a named property and uses - its value as the actual value for a chained constraint. - - - - - Initializes a new instance of the class. - - The name. - The constraint to apply to the property. - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - - - - Returns the string representation of the constraint. - - - - - Contains the result of matching a against an actual value. - - - - - Constructs a for a particular . - - The Constraint to which this result applies. - The base result with actual value to which the Constraint was applied. - - - - Write the additional failure message for a failing constraint to a - MessageWriter. - - The writer on which the actual value is displayed - - - - PropertyExistsConstraint tests that a named property - exists on the object provided through Match. - - Originally, PropertyConstraint provided this feature - in addition to making optional tests on the value - of the property. The two constraints are now separate. - - - - - Initializes a new instance of the class. - - The name of the property. - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Test whether the property exists for a given object - - The object to be tested - True for success, false for failure - - - - Returns the string representation of the constraint. - - - - - - RangeConstraint tests whether two values are within a - specified range. - - - - - Initializes a new instance of the class. - - Inclusive beginning of the range. - Inclusive end of the range. - - - - Gets text describing a constraint - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - Modifies the constraint to use an and returns self. - - - - - Modifies the constraint to use an and returns self. - - - - - Modifies the constraint to use a and returns self. - - - - - RegexConstraint can test whether a string matches - the pattern provided. - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Initializes a new instance of the class. - - The pattern. - - - - Initializes a new instance of the class. - - The Regex pattern object. - - - - Modify the constraint to ignore case in matching. - - - - - Applies the regex constraint to an actual value, returning a ConstraintResult. - - The string to be tested. - True for success, false for failure. - - - - ResolvableConstraintExpression is used to represent a compound - constraint being constructed at a point where the last operator - may either terminate the expression or may have additional - qualifying constraints added to it. - - It is used, for example, for a Property element or for - an Exception element, either of which may be optionally - followed by constraints that apply to the property or - exception. - - - - - Create a new instance of ResolvableConstraintExpression - - - - - Create a new instance of ResolvableConstraintExpression, - passing in a pre-populated ConstraintBuilder. - - - - - Appends an And Operator to the expression - - - - - Appends an Or operator to the expression. - - - - - Resolve the current expression to a Constraint - - - - - ReusableConstraint wraps a constraint expression after - resolving it so that it can be reused consistently. - - - - - Construct a ReusableConstraint from a constraint expression - - The expression to be resolved and reused - - - - Converts a constraint to a ReusableConstraint - - The constraint to be converted - A ReusableConstraint - - - - Returns a that represents this instance. - - - A that represents this instance. - - - - - Return the top-level constraint for this expression - - - - - - SameAsConstraint tests whether an object is identical to - the object passed to its constructor - - - - - Initializes a new instance of the class. - - The expected object. - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - Summary description for SamePathConstraint. - - - - - Initializes a new instance of the class. - - The expected path - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - SamePathOrUnderConstraint tests that one path is under another - - - - - Initializes a new instance of the class. - - The expected path - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - SomeItemsConstraint applies another constraint to each - item in a collection, succeeding if any of them succeeds. - - - - - Construct a SomeItemsConstraint on top of an existing constraint - - - - - - The display name of this Constraint for use by ToString(). - The default value is the name of the constraint with - trailing "Constraint" removed. Derived classes may set - this to another name in their constructors. - - - - - Apply the item constraint to each item in the collection, - succeeding if any item succeeds. - - - - - - - Flag the constraint to use the supplied object. - - The type of the elements in the collection. - The type of the member. - The comparison function to use. - Self. - - - - Flag the constraint to use the supplied object. - - The IComparer object to use. - Self. - - - - Flag the constraint to use the supplied object. - - The IComparer object to use. - Self. - - - - Flag the constraint to use the supplied object. - - The IComparer object to use. - Self. - - - - Flag the constraint to use the supplied object. - - The IComparer object to use. - Self. - - - - Flag the constraint to use the supplied object. - - The IComparer object to use. - Self. - - - - StartsWithConstraint can test whether a string starts - with an expected substring. - - - - - Initializes a new instance of the class. - - The expected string - - - - Test whether the constraint is matched by the actual value. - This is a template method, which calls the IsMatch method - of the derived class. - - - - - - - StringConstraint is the abstract base for constraints - that operate on strings. It supports the IgnoreCase - modifier for string operations. - - - - - The expected value - - - - - Indicates whether tests should be case-insensitive - - - - - Description of this constraint - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Constructs a StringConstraint without an expected value - - - - - Constructs a StringConstraint given an expected value - - The expected value - - - - Modify the constraint to ignore case in matching. - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - Test whether the constraint is satisfied by a given string - - The string to be tested - True for success, false for failure - - - - SubPathConstraint tests that the actual path is under the expected path - - - - - Initializes a new instance of the class. - - The expected path - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - SubstringConstraint can test whether a string contains - the expected substring. - - - - - Initializes a new instance of the class. - - The expected. - - - - Modify the constraint to ignore case in matching. - This will call Using(StringComparison.CurrentCultureIgnoreCase). - - Thrown when a comparison type different - than was already set. - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - Modify the constraint to the specified comparison. - - Thrown when a comparison type different - than was already set. - - - - ThrowsConstraint is used to test the exception thrown by - a delegate by applying a constraint to it. - - - - - Initializes a new instance of the class, - using a constraint to be applied to the exception. - - A constraint to apply to the caught exception. - - - - Get the actual exception thrown - used by Assert.Throws. - - - - - Gets text describing a constraint - - - - - Executes the code of the delegate and captures any exception. - If a non-null base constraint was provided, it applies that - constraint to the exception. - - A delegate representing the code to be tested - True if an exception is thrown and the constraint succeeds, otherwise false - - - - Converts an ActualValueDelegate to a TestDelegate - before calling the primary overload. - - - - - - - Write the actual value for a failing constraint test to a - MessageWriter. This override only handles the special message - used when an exception is expected but none is thrown. - - The writer on which the actual value is displayed - - - - ThrowsExceptionConstraint tests that an exception has - been thrown, without any further tests. - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Executes the code and returns success if an exception is thrown. - - A delegate representing the code to be tested - True if an exception is thrown, otherwise false - - - - Applies the constraint to an ActualValueDelegate that returns - the value to be tested. The default implementation simply evaluates - the delegate but derived classes may override it to provide for - delayed processing. - - - - - ThrowsNothingConstraint tests that a delegate does not - throw an exception. - - - - - Gets text describing a constraint - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True if no exception is thrown, otherwise false - - - - Applies the constraint to an ActualValueDelegate that returns - the value to be tested. The default implementation simply evaluates - the delegate but derived classes may override it to provide for - delayed processing. - - An ActualValueDelegate - A ConstraintResult - - - - The Tolerance class generalizes the notion of a tolerance - within which an equality test succeeds. Normally, it is - used with numeric types, but it can be used with any - type that supports taking a difference between two - objects and comparing that difference to a value. - - - - - Returns a default Tolerance object, equivalent to an exact match. - - - - - Returns an empty Tolerance object, equivalent to an exact match. - - - - - Constructs a linear tolerance of a specified amount - - - - - Constructs a tolerance given an amount and - - - - - Returns a new tolerance, using the current amount as a percentage. - - - - - Returns a new tolerance, using the current amount in Ulps - - - - - Returns a new tolerance with a as the amount, using - the current amount as a number of days. - - - - - Returns a new tolerance with a as the amount, using - the current amount as a number of hours. - - - - - Returns a new tolerance with a as the amount, using - the current amount as a number of minutes. - - - - - Returns a new tolerance with a as the amount, using - the current amount as a number of seconds. - - - - - Returns a new tolerance with a as the amount, using - the current amount as a number of milliseconds. - - - - - Returns a new tolerance with a as the amount, using - the current amount as a number of clock ticks. - - - - - Gets the for the current Tolerance - - - - - Gets the magnitude of the current Tolerance instance. - - - - - Returns true if the current tolerance has not been set or is using the . - - - - - Apply the tolerance to an expected value and return - a Tolerance.Range that represents the acceptable values. - - - - - Tests that the current Tolerance is linear with a - numeric value, throwing an exception if it is not. - - - - - Tolerance.Range represents the range of values that match - a specific tolerance, when applied to a specific value. - - - - - The lower bound of the range - - - - - The upper bound of the range - - - - - Constructs a range - - - - - Modes in which the tolerance value for a comparison can be interpreted. - - - - - The tolerance was created with a value, without specifying - how the value would be used. This is used to prevent setting - the mode more than once and is generally changed to Linear - upon execution of the test. - - - - - The tolerance is used as a numeric range within which - two compared values are considered to be equal. - - - - - Interprets the tolerance as the percentage by which - the two compared values my deviate from each other. - - - - - Compares two values based in their distance in - representable numbers. - - - - - TrueConstraint tests that the actual value is true - - - - - Initializes a new instance of the class. - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - TypeConstraint is the abstract base for constraints - that take a Type as their expected value. - - - - - The expected Type used by the constraint - - - - - The type of the actual argument to which the constraint was applied - - - - - Construct a TypeConstraint for a given Type - - The expected type for the constraint - Prefix used in forming the constraint description - - - - Applies the constraint to an actual value, returning a ConstraintResult. - - The value to be tested - A ConstraintResult - - - - Apply the constraint to an actual value, returning true if it succeeds - - The actual argument - True if the constraint succeeds, otherwise false. - - - - UniqueItemsConstraint tests whether all the items in a - collection are unique. - - - - - The Description of what this constraint tests, for - use in messages and in the ConstraintResult. - - - - - Check that all items are unique. - - - - - - - - - - XmlSerializableConstraint tests whether - an object is serializable in XML format. - - - - - Gets text describing a constraint - - - - - Test whether the constraint is satisfied by a given value - - The value to be tested - True for success, false for failure - - - - Returns the string representation of this constraint - - - - - Helper class with properties and methods that supply - a number of constraints used in Asserts. - - - - - Returns a new checking for the - presence of a particular object in the collection. - - - - - Returns a new DictionaryContainsKeyConstraint checking for the - presence of a particular key in the dictionary. - - - - - Returns a new DictionaryContainsValueConstraint checking for the - presence of a particular value in the dictionary. - - - - - Returns a constraint that succeeds if the actual - value contains the substring supplied as an argument. - - - - - Asserts on Directories - - - - - DO NOT USE! Use DirectoryAssert.AreEqual(...) instead. - The Equals method throws an InvalidOperationException. This is done - to make sure there is no mistake by calling this function. - - - - - - - DO NOT USE! - The ReferenceEquals method throws an InvalidOperationException. This is done - to make sure there is no mistake by calling this function. - - - - - - - Verifies that two directories are equal. Two directories are considered - equal if both are null, or if both point to the same directory. - If they are not equal an is thrown. - - A directory containing the value that is expected - A directory containing the actual value - The message to display if the directories are not equal - Arguments to be used in formatting the message - - - - Verifies that two directories are equal. Two directories are considered - equal if both are null, or if both point to the same directory. - If they are not equal an is thrown. - - A directory containing the value that is expected - A directory containing the actual value - - - - Asserts that two directories are not equal. If they are equal - an is thrown. - - A directory containing the value that is expected - A directory containing the actual value - The message to display if directories are not equal - Arguments to be used in formatting the message - - - - Asserts that two directories are not equal. If they are equal - an is thrown. - - A directory containing the value that is expected - A directory containing the actual value - - - - Asserts that the directory exists. If it does not exist - an is thrown. - - A directory containing the actual value - The message to display if directories are not equal - Arguments to be used in formatting the message - - - - Asserts that the directory exists. If it does not exist - an is thrown. - - A directory containing the actual value - - - - Asserts that the directory exists. If it does not exist - an is thrown. - - The path to a directory containing the actual value - The message to display if directories are not equal - Arguments to be used in formatting the message - - - - Asserts that the directory exists. If it does not exist - an is thrown. - - The path to a directory containing the actual value - - - - Asserts that the directory does not exist. If it does exist - an is thrown. - - A directory containing the actual value - The message to display if directories are not equal - Arguments to be used in formatting the message - - - - Asserts that the directory does not exist. If it does exist - an is thrown. - - A directory containing the actual value - - - - Asserts that the directory does not exist. If it does exist - an is thrown. - - The path to a directory containing the actual value - The message to display if directories are not equal - Arguments to be used in formatting the message - - - - Asserts that the directory does not exist. If it does exist - an is thrown. - - The path to a directory containing the actual value - - - - Helper class with properties and methods that supply - a number of constraints used in Asserts. - - - - - Returns a ConstraintExpression that negates any - following constraint. - - - - - Returns a constraint that succeeds if the value - is a file or directory and it exists. - - - - - Returns a new checking for the - presence of a particular object in the collection. - - - - - Returns a new . This constraint - will, in turn, make use of the appropriate second-level - constraint, depending on the type of the actual argument. - This overload is only used if the item sought is a string, - since any other type implies that we are looking for a - collection member. - - - - - Returns a new DictionaryContainsKeyConstraint checking for the - presence of a particular key in the Dictionary key collection. - - The key to be matched in the Dictionary key collection - - - - Returns a new DictionaryContainsValueConstraint checking for the - presence of a particular value in the Dictionary value collection. - - The value to be matched in the Dictionary value collection - - - - Returns a constraint that succeeds if the actual - value starts with the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value ends with the substring supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value matches the regular expression supplied as an argument. - - - - - Returns a constraint that succeeds if the actual - value matches the regular expression supplied as an argument. - - - - - If throws, returns "SomeException was thrown by the Exception.StackTrace - property." See also . - - - - - If throws, returns "SomeException was thrown by the Exception.Message - property." - - - - - If throws, returns "SomeException was thrown by the Exception.Data property." - - - - - Thrown when an assertion failed. - - - - The error message that explains - the reason for the exception - - - The error message that explains - the reason for the exception - The exception that caused the - current exception - - - - Serialization Constructor - - - - - Gets the ResultState provided by this exception - - - - - Thrown when an assertion failed. - - - - - - - The error message that explains - the reason for the exception - The exception that caused the - current exception - - - - Serialization Constructor - - - - - Gets the ResultState provided by this exception - - - - - Thrown when a test executes inconclusively. - - - - The error message that explains - the reason for the exception - - - The error message that explains - the reason for the exception - The exception that caused the - current exception - - - - Serialization Constructor - - - - - Gets the ResultState provided by this exception - - - - - Thrown when an assertion failed. - - - - - Construct based on the TestResult so far. This is the constructor - used normally, when exiting the multiple assert block with failures. - Not used internally but provided to facilitate debugging. - - - The current result, up to this point. The result is not used - internally by NUnit but is provided to facilitate debugging. - - - - - Serialization Constructor - - - - - Gets the provided by this exception. - - - - - Gets the of this test at the point the exception was thrown, - - - - - Abstract base for Exceptions that terminate a test and provide a ResultState. - - - - The error message that explains - the reason for the exception - - - The error message that explains - the reason for the exception - The exception that caused the - current exception - - - - Serialization Constructor - - - - - Gets the ResultState provided by this exception - - - - - Thrown when an assertion failed. - - - - - - - The error message that explains - the reason for the exception - The exception that caused the - current exception - - - - Serialization Constructor - - - - - Gets the ResultState provided by this exception - - - - - Contains extension methods that do not require a special using directive. - - - - - Asserts on Files - - - - - DO NOT USE! Use FileAssert.AreEqual(...) instead. - The Equals method throws an InvalidOperationException. This is done - to make sure there is no mistake by calling this function. - - - - - - - DO NOT USE! - The ReferenceEquals method throws an InvalidOperationException. This is done - to make sure there is no mistake by calling this function. - - - - - - - Verifies that two Streams are equal. Two Streams are considered - equal if both are null, or if both have the same value byte for byte. - If they are not equal an is thrown. - - The expected Stream - The actual Stream - The message to display if Streams are not equal - Arguments to be used in formatting the message - - - - Verifies that two Streams are equal. Two Streams are considered - equal if both are null, or if both have the same value byte for byte. - If they are not equal an is thrown. - - The expected Stream - The actual Stream - - - - Verifies that two files are equal. Two files are considered - equal if both are null, or if both have the same value byte for byte. - If they are not equal an is thrown. - - A file containing the value that is expected - A file containing the actual value - The message to display if Streams are not equal - Arguments to be used in formatting the message - - - - Verifies that two files are equal. Two files are considered - equal if both are null, or if both have the same value byte for byte. - If they are not equal an is thrown. - - A file containing the value that is expected - A file containing the actual value - - - - Verifies that two files are equal. Two files are considered - equal if both are null, or if both have the same value byte for byte. - If they are not equal an is thrown. - - The path to a file containing the value that is expected - The path to a file containing the actual value - The message to display if Streams are not equal - Arguments to be used in formatting the message - - - - Verifies that two files are equal. Two files are considered - equal if both are null, or if both have the same value byte for byte. - If they are not equal an is thrown. - - The path to a file containing the value that is expected - The path to a file containing the actual value - - - - Asserts that two Streams are not equal. If they are equal - an is thrown. - - The expected Stream - The actual Stream - The message to be displayed when the two Stream are the same. - Arguments to be used in formatting the message - - - - Asserts that two Streams are not equal. If they are equal - an is thrown. - - The expected Stream - The actual Stream - - - - Asserts that two files are not equal. If they are equal - an is thrown. - - A file containing the value that is expected - A file containing the actual value - The message to display if Streams are not equal - Arguments to be used in formatting the message - - - - Asserts that two files are not equal. If they are equal - an is thrown. - - A file containing the value that is expected - A file containing the actual value - - - - Asserts that two files are not equal. If they are equal - an is thrown. - - The path to a file containing the value that is expected - The path to a file containing the actual value - The message to display if Streams are not equal - Arguments to be used in formatting the message - - - - Asserts that two files are not equal. If they are equal - an is thrown. - - The path to a file containing the value that is expected - The path to a file containing the actual value - - - - Asserts that the file exists. If it does not exist - an is thrown. - - A file containing the actual value - The message to display if Streams are not equal - Arguments to be used in formatting the message - - - - Asserts that the file exists. If it does not exist - an is thrown. - - A file containing the actual value - - - - Asserts that the file exists. If it does not exist - an is thrown. - - The path to a file containing the actual value - The message to display if Streams are not equal - Arguments to be used in formatting the message - - - - Asserts that the file exists. If it does not exist - an is thrown. - - The path to a file containing the actual value - - - - Asserts that the file does not exist. If it does exist - an is thrown. - - A file containing the actual value - The message to display if Streams are not equal - Arguments to be used in formatting the message - - - - Asserts that the file does not exist. If it does exist - an is thrown. - - A file containing the actual value - - - - Asserts that the file does not exist. If it does exist - an is thrown. - - The path to a file containing the actual value - The message to display if Streams are not equal - Arguments to be used in formatting the message - - - - Asserts that the file does not exist. If it does exist - an is thrown. - - The path to a file containing the actual value - - - - Class used to guard against unexpected argument values - or operations by throwing an appropriate exception. - - - - - Throws an exception if an argument is null - - The value to be tested - The name of the argument - - - - Throws an exception if a string argument is null or empty - - The value to be tested - The name of the argument - - - - Throws an ArgumentOutOfRangeException if the specified condition is not met. - - The condition that must be met - The exception message to be used - The name of the argument - - - - Throws an ArgumentException if the specified condition is not met. - - The condition that must be met - The exception message to be used - The name of the argument - - - - Throws an InvalidOperationException if the specified condition is not met. - - The condition that must be met - The exception message to be used - - - - Throws an if the specified delegate is async void. - - - - - Throws an if the specified delegate is async void. - - - - - Helper class with properties and methods that supply - a number of constraints used in Asserts. - - - - - Returns a ConstraintExpression that negates any - following constraint. - - - - - Returns a ConstraintExpression, which will apply - the following constraint to all members of a collection, - succeeding if all of them succeed. - - - - - Returns a ConstraintExpression, which will apply - the following constraint to all members of a collection, - succeeding if at least one of them succeeds. - - - - - Returns a ConstraintExpression, which will apply - the following constraint to all members of a collection, - succeeding if all of them fail. - - - - - Returns a ConstraintExpression, which will apply - the following constraint to all members of a collection, - succeeding only if a specified number of them succeed. - - - - - Returns a which will apply - the following constraint to only one member of the collection, - and fail if none or more than one match occurs. - - - - - Returns a new PropertyConstraintExpression, which will either - test for the existence of the named property on the object - being tested or apply any following constraint to that property. - - - - - Returns a new ConstraintExpression, which will apply the following - constraint to the Length property of the object being tested. - - - - - Returns a new ConstraintExpression, which will apply the following - constraint to the Count property of the object being tested. - - - - - Returns a new ConstraintExpression, which will apply the following - constraint to the Message property of the object being tested. - - - - - Returns a new ConstraintExpression, which will apply the following - constraint to the InnerException property of the object being tested. - - - - - Returns a new AttributeConstraint checking for the - presence of a particular attribute on an object. - - - - - Returns a new AttributeConstraint checking for the - presence of a particular attribute on an object. - - - - - Returns a new checking for the - presence of a particular object in the collection. - - - - - Returns a new IndexerConstraintExpression, which will - apply any following constraint to that indexer value. - - Index accessor values. - - - - The AssertionResult class represents the result of a single assertion. - - - - - Construct an AssertionResult - - - - The pass/fail status of the assertion - - - The message produced by the assertion, or null - - - The stack trace associated with the assertion, or null - - - Determines whether the specified object is equal to the current object. - The object to compare with the current object. - - - Indicates whether the current object is equal to another object of the same type. - An object to compare with this object. - - - Serves as the default hash function. - - - - ToString Override - - - - - AssertionStatus enumeration represents the possible outcomes of an assertion. - The order of definition is significant, higher level values override lower - ones in determining the overall result of a test. - - - - - An assumption failed - - - - - The assertion succeeded - - - - - A warning message was issued - - - - - The assertion failed - - - - - An unexpected exception was thrown - - - - - The IApplyToContext interface is implemented by attributes - that want to make changes to the execution context before - a test is run. - - - - - Apply changes to the execution context - - The execution context - - - - The IApplyToTest interface is implemented by self-applying - attributes that modify the state of a test in some way. - - - - - Modifies a test as defined for the specific attribute. - - The test to modify - - - - CombiningStrategy is the abstract base for classes that - know how to combine values provided for individual test - parameters to create a set of test cases. - - - - - Gets the test cases generated by the CombiningStrategy. - - The test cases. - - - - ICommandWrapper is implemented by attributes and other - objects able to wrap a TestCommand with another command. - - - Attributes or other objects should implement one of the - derived interfaces, rather than this one, since they - indicate in which part of the command chain the wrapper - should be applied. - - - - - Wrap a command and return the result. - - The command to be wrapped - The wrapped command - - - - Objects implementing this interface are used to wrap - the TestMethodCommand itself. They apply after SetUp - has been run and before TearDown. - - - - - Objects implementing this interface are used to wrap - the entire test, including SetUp and TearDown. - - - - - Objects implementing this interface are used to wrap - tests that can repeat. The implementing command is run once, - invoking the chained commands any number of times. - - - - - Any ITest that implements this interface is at a level that the implementing - class should be disposed at the end of the test run - - - - - The IFixtureBuilder interface is exposed by a class that knows how to - build test fixtures from a specified type. In general, it is exposed - by an attribute, but it may be implemented in a helper class used by the - attribute in some cases. - - - - - Builds any number of test fixtures from the specified type. - - The type info of the fixture to be used. - - - - The IFixtureBuilder2 interface extends IFixtureBuilder by allowing - use of a PreFilter, which is used to select methods as test cases. - - - - - Builds any number of test fixtures from the specified type. - - The type info of the fixture to be used. - PreFilter to be used to select methods. - - - - IImplyFixture is an empty marker interface used by attributes like - TestAttribute that cause the class where they are used to be treated - as a TestFixture even without a TestFixtureAttribute. - - Marker interfaces are not usually considered a good practice, but - we use it here to avoid cluttering the attribute hierarchy with - classes that don't contain any extra implementation. - - - - - The IMethodInfo class is used to encapsulate information - about a method in a platform-independent manner. - - - - - Gets the Type from which this method was reflected. - - - - - Gets the MethodInfo for this method. - - - - - Gets the name of the method. - - - - - Gets a value indicating whether the method is abstract. - - - - - Gets a value indicating whether the method is public. - - - - - Gets a value indicating whether the method is static. - - - - - Gets a value indicating whether the method contains unassigned generic type parameters. - - - - - Gets a value indicating whether the method is a generic method. - - - - - Gets a value indicating whether the MethodInfo represents the definition of a generic method. - - - - - Gets the return Type of the method. - - - - - Gets the parameters of the method. - - - - - - Returns the Type arguments of a generic method or the Type parameters of a generic method definition. - - - - - Replaces the type parameters of the method with the array of types provided and returns a new IMethodInfo. - - The type arguments to be used - A new IMethodInfo with the type arguments replaced - - - - Invokes the method, converting any TargetInvocationException to an NUnitException. - - The object on which to invoke the method - The argument list for the method - The return value from the invoked method - - - - Provides data for a single test parameter. - - - - - Determines whether any data is available for a parameter. - - The parameter of a parameterized test. - - - - Retrieves a list of arguments which can be passed to the specified parameter. - - The parameter of a parameterized test. - - - - Provides data for a single test parameter. - - - - - Retrieves a list of arguments which can be passed to the specified parameter. - - The parameter of a parameterized test. - - - - The IParameterInfo interface is an abstraction of a .NET parameter. - - - - - Gets a value indicating whether the parameter is optional - - - - - Gets an IMethodInfo representing the method for which this is a parameter - - - - - Gets the underlying .NET ParameterInfo - - - - - Gets the Type of the parameter - - - - - Implemented by filters for use in deciding which - Types and Methods should be used to generate tests. - - - - - Use the filter on a Type, returning true if the type matches the filter - and should therefore be included in the discovery process. - - - - - Use the filter on a Type, returning true if the type matches the filter - and should therefore be included in the discovery process. - - - - - A PropertyBag represents a collection of name/value pairs - that allows duplicate entries with the same key. Methods - are provided for adding a new pair as well as for setting - a key to a single value. All keys are strings but values - may be of any type. Null values are not permitted, since - a null entry represents the absence of the key. - - The entries in a PropertyBag are of two kinds: those that - take a single value and those that take multiple values. - However, the PropertyBag has no knowledge of which entries - fall into each category and the distinction is entirely - up to the code using the PropertyBag. - - When working with multi-valued properties, client code - should use the Add method to add name/value pairs and - indexing to retrieve a list of all values for a given - key. For example: - - bag.Add("Tag", "one"); - bag.Add("Tag", "two"); - Assert.That(bag["Tag"], - Is.EqualTo(new string[] { "one", "two" })); - - When working with single-valued properties, client code - should use the Set method to set the value and Get to - retrieve the value. The GetSetting methods may also be - used to retrieve the value in a type-safe manner while - also providing default. For example: - - bag.Set("Priority", "low"); - bag.Set("Priority", "high"); // replaces value - Assert.That(bag.Get("Priority"), - Is.EqualTo("high")); - Assert.That(bag.GetSetting("Priority", "low"), - Is.EqualTo("high")); - - - - - Adds a key/value pair to the property bag - - The key - The value - - - - Sets the value for a key, removing any other - values that are already in the property set. - - - - - - - Gets a single value for a key, using the first - one if multiple values are present and returning - null if the value is not found. - - - - - Gets a flag indicating whether the specified key has - any entries in the property set. - - The key to be checked - True if their are values present, otherwise false - - - - Gets or sets the list of values for a particular key - - The key for which the values are to be retrieved or set - - - - Gets a collection containing all the keys in the property set - - - - - The IReflectionInfo interface is implemented by NUnit wrapper objects that perform reflection. - - - - - Returns an array of custom attributes of the specified type applied to this object - - - - - Returns a value indicating whether an attribute of the specified type is defined on this object. - - - - - The ISimpleTestBuilder interface is exposed by a class that knows how to - build a single tests from a specified method. In general, - it is exposed by an attribute, but it may be implemented in a helper class - used by the attribute in some cases. - - - - - Builds a single test from the specified method and context. - - The method to be used as a test - The TestSuite to which the method will be added - - - - The ISuiteBuilder interface is exposed by a class that knows how to - build a single test suite from a specified type. - - - - - Examine the type and determine if it is suitable for - this builder to use in building a TestSuite. - - Note that returning false will cause the type to be ignored - in loading the tests. If it is desired to load the suite - but label it as non-runnable, ignored, etc., then this - method must return true. - - The type of the fixture to be used - - - - Builds a single test suite from the specified type. - - The type of the fixture to be used - - - - Builds a single test suite from the specified type, subject - to a filter that decides which methods are included. - - The type of the fixture to be used - A PreFilter for selecting methods. - - - - Common interface supported by all representations - of a test. Only includes informational fields. - The Run method is specifically excluded to allow - for data-only representations of a test. - - - - - Gets the id of the test - - - - - Gets the name of the test - - - - - Gets the type of the test - - - - - Gets the fully qualified name of the test - - - - - Gets the name of the class containing this test. Returns - null if the test is not associated with a class. - - - - - Gets the name of the method implementing this test. - Returns null if the test is not implemented as a method. - - - - - Gets the Type of the test fixture, if applicable, or - null if no fixture type is associated with this test. - - - - - Gets the method which declares the test, or - if no method is associated with this test. - - - - - Gets the RunState of the test, indicating whether it can be run. - - - - - Count of the test cases ( 1 if this is a test case ) - - - - - Gets the properties of the test - - - - - Gets the parent test, if any. - - The parent test or null if none exists. - - - - Returns true if this is a test suite - - - - - Gets a bool indicating whether the current test - has any descendant tests. - - - - - Gets this test's child tests - - A list of child tests - - - - Gets a fixture object for running this test. - - - - - The arguments to use in creating the test or empty array if none are required. - - - - - The ITestBuilder interface is exposed by a class that knows how to - build tests from a specified method. In general, it is exposed - by an attribute which has additional information available to provide - the necessary test parameters to distinguish the test cases built. - - - - - Builds any number of tests from the specified method and context. - - The method to be used as a test - The TestSuite to which the method will be added - - - - The ITestCaseBuilder interface is exposed by a class that knows how to - build a test from a specified method, possibly containing child test cases. - - - - - Examine the method and determine if it is suitable for - this builder to use in building a TestCase to be - included in the suite being populated. - - Note that returning false will cause the method to be ignored - in loading the tests. If it is desired to load the method - but label it as non-runnable, ignored, etc., then this - method must return true. - - The test method to examine - The suite being populated - - - - Builds a single test from the specified method and context, - possibly containing child test cases. - - The method to be used as a test case - The test suite being populated, or null - - - - The ITestCaseData interface is implemented by a class - that is able to return complete test cases for use by - a parameterized test method. - - - - - Gets the expected result of the test case - - - - - Returns true if an expected result has been set - - - - - The ITestData interface is implemented by a class that - represents a single instance of a parameterized test. - - - - - Gets the name to be used for the test - - - - - Gets the RunState for this test case. - - - - - Gets the argument list to be provided to the test - - - - - Gets the property dictionary for the test case - - - - - Interface to be implemented by filters applied to tests. - The filter applies when running the test, after it has been - loaded, since this is the only time an ITest exists. - - - - - Determine if a particular test passes the filter criteria. Pass - may examine the parents and/or descendants of a test, depending - on the semantics of the particular filter - - The test to which the filter is applied - True if the test passes the filter, otherwise false - - - - Determine if a test matches the filter explicitly. That is, it must - be a direct match of the test itself or one of its children. - - The test to which the filter is applied - True if the test matches the filter explicitly, otherwise false - - - - The ITestCaseData interface is implemented by a class - that is able to return the data required to create an - instance of a parameterized test fixture. - - - - - Get the TypeArgs if separately set - - - - - The ITestListener interface is used internally to receive - notifications of significant events while a test is being - run. The events are propagated to clients by means of an - AsyncCallback. NUnit extensions may also monitor these events. - - - - - Called when a test has just started - - The test that is starting - - - - Called when a test has finished - - The result of the test - - - - Called when a test produces output for immediate display - - A TestOutput object containing the text to display - - - - Called when a test produces a message to be sent to listeners - - A object containing the text to send - - - - The ITestResult interface represents the result of a test. - - - - - Gets the ResultState of the test result, which - indicates the success or failure of the test. - - - - - Gets the name of the test result - - - - - Gets the full name of the test result - - - - - Gets the elapsed time for running the test in seconds - - - - - Gets or sets the time the test started running. - - - - - Gets or sets the time the test finished running. - - - - - Gets the message associated with a test - failure or with not running the test - - - - - Gets any stack trace associated with an - error or failure. - - - - Gets the total number of tests executed - when running the test and all its children. - - - - - Gets the number of asserts executed - when running the test and all its children. - - - - - Gets the number of test cases that failed - when running the test and all its children. - - - - - Gets the number of test cases that had warnings - when running the test and all its children. - - - - - Gets the number of test cases that passed - when running the test and all its children. - - - - - Gets the number of test cases that were skipped - when running the test and all its children. - - - - - Gets the number of test cases that were inconclusive - when running the test and all its children. - - - - - Indicates whether this result has any child results. - Accessing HasChildren should not force creation of the - Children collection in classes implementing this interface. - - - - - Gets the collection of child results. - - - - - Gets the Test to which this result applies. - - - - - Gets any text output written to this result. - - - - - Gets a list of AssertionResults associated with the test - - - - - Gets the collection of files attached to the test - - - - - The ITypeInfo interface is an abstraction of a .NET Type - - - - - Gets the underlying Type on which this ITypeInfo is based - - - - - Gets the base type of this type as an ITypeInfo - - - - - Returns true if the Type wrapped is equal to the argument - - - - - Gets the name of the Type - - - - - Gets the full name of the Type - - - - - Gets the assembly in which the type is declared - - - - - Gets the namespace of the Type - - - - - Gets a value indicating whether the type is abstract. - - - - - Gets a value indicating whether the Type is a generic Type - - - - - Gets a value indicating whether the Type has generic parameters that have not been replaced by specific Types. - - - - - Gets a value indicating whether the Type is a generic Type definition - - - - - Gets a value indicating whether the type is sealed. - - - - - Gets a value indicating whether this type is a static class. - - - - - Get the display name for this typeInfo. - - - - - Get the display name for an object of this type, constructed with specific arguments - - - - - Returns a Type representing a generic type definition from which this Type can be constructed. - - - - - Returns a new ITypeInfo representing an instance of this generic Type using the supplied Type arguments - - - - - Returns a value indicating whether this type has a method with a specified public attribute - - - - - Returns an array of IMethodInfos for methods of this Type - that match the specified flags. - - - - - Gets the public constructor taking the specified argument Types - - - - - Returns a value indicating whether this Type has a public constructor taking the specified argument Types. - - - - - Construct an object of this Type, using the specified arguments. - - - - - Returns all methods declared by this type that have the specified attribute, optionally - including base classes. Methods from a base class are always returned before methods from a class that - inherits from it. - - Specifies whether to search the fixture type inheritance chain. - - - - An object implementing IXmlNodeBuilder is able to build - an XML representation of itself and any children. - - - - - Returns a TNode representing the current object. - - If true, children are included where applicable - A TNode representing the result - - - - Returns a TNode representing the current object after - adding it as a child of the supplied parent node. - - The parent node. - If true, children are included, where applicable - - - - - The ResultState class represents the outcome of running a test. - It contains two pieces of information. The Status of the test - is an enum indicating whether the test passed, failed, was - skipped or was inconclusive. The Label provides a more - detailed breakdown for use by client runners. - - - - - Initializes a new instance of the class. - - The TestStatus. - - - - Initializes a new instance of the class. - - The TestStatus. - The label. - - - - Initializes a new instance of the class. - - The TestStatus. - The stage at which the result was produced - - - - Initializes a new instance of the class. - - The TestStatus. - The label. - The stage at which the result was produced - - - - The result is inconclusive - - - - - The test has been skipped. - - - - - The test has been ignored. - - - - - The test was skipped because it is explicit - - - - - The test succeeded - - - - - The test issued a warning - - - - - The test failed - - - - - The test encountered an unexpected exception - - - - - The test was cancelled by the user - - - - - The test was not runnable. - - - - - A suite failed because one or more child tests failed or had errors - - - - - A suite failed because one or more child tests had warnings - - - - - A suite is marked ignored because one or more child tests were ignored - - - - - A suite failed in its OneTimeSetUp - - - - - A suite had an unexpected exception in its OneTimeSetUp - - - - - A suite had an unexpected exception in its OneTimeDown - - - - - Gets the TestStatus for the test. - - The status. - - - - Gets the label under which this test result is - categorized, or if none. - - - - - Gets the stage of test execution in which - the failure or other result took place. - - - - - Get a new ResultState, which is the same as the current - one but with the FailureSite set to the specified value. - - The FailureSite to use - A new ResultState - - - - Test whether this ResultState has the same Status and Label - as another one. In other words, the whether two are equal - ignoring the Site. - - - - - - Determines whether the specified object is equal to the current object. - The object to compare with the current object. - - - Indicates whether the current object is equal to another object of the same type. - An object to compare with this object. - - - Serves as the default hash function. - - - - Overload == operator for ResultStates - - - - - Overload != operator for ResultStates - - - - - Returns a that represents this instance. - - - A that represents this instance. - - - - - The FailureSite enum indicates the stage of a test - in which an error or failure occurred. - - - - - Failure in the test itself - - - - - Failure in the SetUp method - - - - - Failure in the TearDown method - - - - - Failure of a parent test - - - - - Failure of a child test - - - - - The RunState enum indicates whether a test can be executed. - - - - - The test is not runnable. - - - - - The test is runnable. - - - - - The test can only be run explicitly - - - - - The test has been skipped. This value may - appear on a Test when certain attributes - are used to skip the test. - - - - - The test has been ignored. May appear on - a Test, when the IgnoreAttribute is used. - - - - - The TestAttachment class represents a file attached to a TestResult, - with an optional description. - - - - - Absolute file path to attachment file - - - - - User specified description of attachment. May be null. - - - - - Creates a TestAttachment class to represent a file attached to a test result. - - Absolute file path to attachment file - User specified description of attachment. May be null. - - - - The class holds a message sent by a test to all listeners - - - - - Construct with text, destination type and - the name of the test that produced the message. - - Destination of the message - Text to be sent - ID of the test that produced the message - - - - Converts object to string - - - - - The message to send to listeners - - - - - The Destination of the message. - - - - - The ID of the test that sent the message - - - - - Returns the XML representation of the object. - - - - - The TestOutput class holds a unit of output from - a test to a specific output stream - - - - - Construct with text, output destination type and - the name of the test that produced the output. - - Text to be output - Name of the stream or channel to which the text should be written - Id of the test that produced the output - FullName of test that produced the output - - - - Return string representation of the object for debugging - - - - - - Get the text - - - - - Get the output type - - - - - Get the name of the test that created the output - - - - - Get the id of the test that created the output - - - - - Convert the TestOutput object to an XML string - - - - - The TestStatus enum indicates the result of running a test - - - - - The test was inconclusive - - - - - The test has skipped - - - - - The test succeeded - - - - - There was a warning - - - - - The test failed - - - - - TNode represents a single node in the XML representation - of a Test or TestResult. It replaces System.Xml.XmlNode and - System.Xml.Linq.XElement, providing a minimal set of methods - for operating on the XML in a platform-independent manner. - - - - - Constructs a new instance of TNode - - The name of the node - - - - Constructs a new instance of TNode with a value - - The name of the node - The text content of the node - - - - Constructs a new instance of TNode with a value - - The name of the node - The text content of the node - Flag indicating whether to use CDATA when writing the text - - - - Gets the name of the node - - - - - Gets the value of the node - - - - - Gets a flag indicating whether the value should be output using CDATA. - - - - - Gets the dictionary of attributes - - - - - Gets a list of child nodes - - - - - Gets the first ChildNode - - - - - Gets the XML representation of this node. - - - - - Create a TNode from its XML text representation - - The XML text to be parsed - A TNode - - - - Adds a new element as a child of the current node and returns it. - - The element name. - The newly created child element - - - - Adds a new element with a value as a child of the current node and returns it. - - The element name - The text content of the new element - The newly created child element - - - - Adds a new element with a value as a child of the current node and returns it. - The value will be output using a CDATA section. - - The element name - The text content of the new element - The newly created child element - - - - Adds an attribute with a specified name and value to the XmlNode. - - The name of the attribute. - The value of the attribute. - - - - Finds a single descendant of this node matching an XPath - specification. The format of the specification is - limited to what is needed by NUnit and its tests. - - - - - - - Finds all descendants of this node matching an XPath - specification. The format of the specification is - limited to what is needed by NUnit and its tests. - - - - - Writes the XML representation of the node to an XmlWriter - - - - - - Class used to represent a list of XmlResults - - - - - Class used to represent the attributes of a node - - - - - Gets or sets the value associated with the specified key. - Overridden to return null if attribute is not found. - - The key. - Value of the attribute or null - - - - A production implementation that delegates directly to .NET's . - - - - - Returns whether a debugger is currently attached to the process - - - - - A layer of abstraction around to facilitate testing. - - - - - Whether a debugger is currently attached to the process. - - - - - AssemblyHelper provides static methods for working - with assemblies. - - - - - Gets the path from which an assembly was loaded. - For builds where this is not possible, returns - the name of the assembly. - - The assembly. - The path. - - - - Gets the path to the directory from which an assembly was loaded. - - The assembly. - The path. - - - - Gets the AssemblyName of an assembly. - - The assembly - An AssemblyName - - - - Loads an assembly given a string, which is the AssemblyName - - - - - Gets the assembly path from code base. - - Public for testing purposes - The code base. - - - - - Adapts various styles of asynchronous waiting to a common API. - - - - - CombinatorialStrategy creates test cases by using all possible - combinations of the parameter data. - - - - - Gets the test cases generated by the CombiningStrategy. - - The test cases. - - - - Provides data from fields marked with the DatapointAttribute or the - DatapointsAttribute. - - - - - Determines whether any data is available for a parameter. - - The parameter of a parameterized test - - - - Retrieves data for use with the supplied parameter. - - The parameter of a parameterized test - - - - Built-in SuiteBuilder for all types of test classes. - - - - - Examine the type and determine if it is suitable for - this builder to use in building a TestSuite. - - Note that returning false will cause the type to be ignored - in loading the tests. If it is desired to load the suite - but label it as non-runnable, ignored, etc., then this - method must return true. - - The fixture type to check - - - - Builds a single test suite from the specified type. - - The fixture type to build - - - - Builds a single test suite from the specified type, subject - to a filter that decides which methods are included. - - The fixture type to build - A PreFilter for selecting methods. - - - - We look for attributes implementing IFixtureBuilder at one level - of inheritance at a time. Attributes on base classes are not used - unless there are no fixture builder attributes at all on the derived - class. This is by design. - - The type being examined for attributes - - - - Class to build ether a parameterized or a normal NUnitTestMethod. - There are four cases that the builder must deal with: - 1. The method needs no params and none are provided - 2. The method needs params and they are provided - 3. The method needs no params but they are provided in error - 4. The method needs params but they are not provided - This could have been done using two different builders, but it - turned out to be simpler to have just one. The BuildFrom method - takes a different branch depending on whether any parameters are - provided, but all four cases are dealt with in lower-level methods - - - - - Determines if the method can be used to build an NUnit test - test method of some kind. The method must normally be marked - with an identifying attribute for this to be true. - - Note that this method does not check that the signature - of the method for validity. If we did that here, any - test methods with invalid signatures would be passed - over in silence in the test run. Since we want such - methods to be reported, the check for validity is made - in BuildFrom rather than here. - - An IMethodInfo for the method being used as a test method - - - - Builds a single test from the specified method and context, - possibly containing child test cases. - - The method for which a test is to be built - - - - Determines if the method can be used to build an NUnit test - test method of some kind. The method must normally be marked - with an identifying attribute for this to be true. - - Note that this method does not check that the signature - of the method for validity. If we did that here, any - test methods with invalid signatures would be passed - over in silence in the test run. Since we want such - methods to be reported, the check for validity is made - in BuildFrom rather than here. - - An IMethodInfo for the method being used as a test method - The test suite being built, to which the new test would be added - - - - Builds a single test from the specified method and context, - possibly containing child test cases. - - The method for which a test is to be built - The test fixture being populated, or null - - - - Builds a ParameterizedMethodSuite containing individual test cases. - - The method for which a test is to be built. - The list of test cases to include. - - - - Build a simple, non-parameterized TestMethod for this method. - - The MethodInfo for which a test is to be built - The test suite for which the method is being built - - - - Class that can build a tree of automatic namespace - suites from a group of fixtures. - - - - - NamespaceDictionary of all test suites we have created to represent - namespaces. Used to locate namespace parent suites for fixtures. - - - - - Point in the tree where items in the global namespace are added - - - - - Initializes a new instance of the class. - - The root suite. - - - - Gets the root entry in the tree created by the NamespaceTreeBuilder. - - The root suite. - - - - Adds the specified fixtures to the tree. - - The fixtures to be added. - - - - Adds the specified fixture to the tree. - - The fixture to be added. - - - - NUnitTestCaseBuilder is a utility class used by attributes - that build test cases. - - - - - Constructs an - - - - - Builds a single NUnitTestMethod, either as a child of the fixture - or as one of a set of test cases under a ParameterizedTestMethodSuite. - - The MethodInfo from which to construct the TestMethod - The suite or fixture to which the new test will be added - The ParameterSet to be used, or null - - - - Checks to see if we have valid combinations of attributes. - - The TestMethod to be checked. If it - is found to be non-runnable, it will be modified. - True if the method signature is valid, false if not - - - - Helper method that checks the signature of a TestMethod and - any supplied parameters to determine if the test is valid. - - Currently, NUnitTestMethods are required to be public, - non-abstract methods, either static or instance, - returning void. They may take arguments but the values must - be provided or the TestMethod is not considered runnable. - - Methods not meeting these criteria will be marked as - non-runnable and the method will return false in that case. - - The TestMethod to be checked. If it - is found to be non-runnable, it will be modified. - Parameters to be used for this test, or null - True if the method signature is valid, false if not - - The return value is no longer used internally, but is retained - for testing purposes. - - - - - NUnitTestFixtureBuilder is able to build a fixture given - a class marked with a TestFixtureAttribute or an unmarked - class containing test methods. In the first case, it is - called by the attribute and in the second directly by - NUnitSuiteBuilder. - - - - - Build a TestFixture from type provided. A non-null TestSuite - must always be returned, since the method is generally called - because the user has marked the target class as a fixture. - If something prevents the fixture from being used, it should - be returned nonetheless, labeled as non-runnable. - - An ITypeInfo for the fixture to be used. - Filter used to select methods as tests. - A TestSuite object or one derived from TestSuite. - - - - Overload of BuildFrom called by tests that have arguments. - Builds a fixture using the provided type and information - in the ITestFixtureData object. - - The TypeInfo for which to construct a fixture. - Filter used to select methods as tests. - An object implementing ITestFixtureData or null. - - - - - Method to add test cases to the newly constructed fixture. - - - - - Method to create a test case from a MethodInfo and add - it to the fixture being built. It first checks to see if - any global TestCaseBuilder addin wants to build the - test case. If not, it uses the internal builder - collection maintained by this fixture builder. - - The default implementation has no test case builders. - Derived classes should add builders to the collection - in their constructor. - - The method for which a test is to be created - The test suite being built. - A newly constructed Test - - - - PairwiseStrategy creates test cases by combining the parameter - data so that all possible pairs of data items are used. - - - - The number of test cases that cover all possible pairs of test function - parameters values is significantly less than the number of test cases - that cover all possible combination of test function parameters values. - And because different studies show that most of software failures are - caused by combination of no more than two parameters, pairwise testing - can be an effective ways to test the system when it's impossible to test - all combinations of parameters. - - - The PairwiseStrategy code is based on "jenny" tool by Bob Jenkins: - https://burtleburtle.net/bob/math/jenny.html - - - - - - FleaRand is a pseudo-random number generator developed by Bob Jenkins: - https://burtleburtle.net/bob/rand/talksmall.html#flea - - - - - Initializes a new instance of the FleaRand class. - - The seed. - - - - FeatureInfo represents coverage of a single value of test function - parameter, represented as a pair of indices, Dimension and Feature. In - terms of unit testing, Dimension is the index of the test parameter and - Feature is the index of the supplied value in that parameter's list of - sources. - - - - - Initializes a new instance of FeatureInfo class. - - Index of a dimension. - Index of a feature. - - - - A FeatureTuple represents a combination of features, one per test - parameter, which should be covered by a test case. In the - PairwiseStrategy, we are only trying to cover pairs of features, so the - tuples actually may contain only single feature or pair of features, but - the algorithm itself works with triplets, quadruples and so on. - - - - - Initializes a new instance of FeatureTuple class for a single feature. - - Single feature. - - - - Initializes a new instance of FeatureTuple class for a pair of features. - - First feature. - Second feature. - - - - TestCase represents a single test case covering a list of features. - - - - - Initializes a new instance of TestCaseInfo class. - - A number of features in the test case. - - - - PairwiseTestCaseGenerator class implements an algorithm which generates - a set of test cases which covers all pairs of possible values of test - function. - - - - The algorithm starts with creating a set of all feature tuples which we - will try to cover (see method). This set - includes every single feature and all possible pairs of features. We - store feature tuples in the 3-D collection (where axes are "dimension", - "feature", and "all combinations which includes this feature"), and for - every two feature (e.g. "A" and "B") we generate both ("A", "B") and - ("B", "A") pairs. This data structure extremely reduces the amount of - time needed to calculate coverage for a single test case (this - calculation is the most time-consuming part of the algorithm). - - - Then the algorithm picks one tuple from the uncovered tuple, creates a - test case that covers this tuple, and then removes this tuple and all - other tuples covered by this test case from the collection of uncovered - tuples. - - - Picking a tuple to cover - - - There are no any special rules defined for picking tuples to cover. We - just pick them one by one, in the order they were generated. - - - Test generation - - - Test generation starts from creating a completely random test case which - covers, nevertheless, previously selected tuple. Then the algorithm - tries to maximize number of tuples which this test covers. - - - Test generation and maximization process repeats seven times for every - selected tuple and then the algorithm picks the best test case ("seven" - is a magic number which provides good results in acceptable time). - - Maximizing test coverage - - To maximize tests coverage, the algorithm walks through the list of mutable - dimensions (mutable dimension is a dimension that are not included in - the previously selected tuple). Then for every dimension, the algorithm - walks through the list of features and checks if this feature provides - better coverage than randomly selected feature, and if yes keeps this - feature. - - - This process repeats while it shows progress. If the last iteration - doesn't improve coverage, the process ends. - - - In addition, for better results, before start every iteration, the - algorithm "scrambles" dimensions - so for every iteration dimension - probes in a different order. - - - - - - Creates a set of test cases for specified dimensions. - - - An array which contains information about dimensions. Each element of - this array represents a number of features in the specific dimension. - - - A set of test cases. - - - - - Gets the test cases generated by this strategy instance. - - A set of test cases. - - - - The ParameterDataProvider class implements IParameterDataProvider - and hosts one or more individual providers. - - - - - Construct with a collection of individual providers - - - - - Determines whether any data is available for a parameter. - - The parameter of a parameterized test - - - - Retrieves data for use with the supplied parameter. - - The parameter of a parameterized test - - - - ParameterDataSourceProvider supplies individual argument values for - single parameters using attributes implementing IParameterDataSource. - - - - - Determines whether any data is available for a parameter. - - The parameter of a parameterized test - - - - Retrieves data for use with the supplied parameter. - - The parameter of a parameterized test - - - - SequentialStrategy creates test cases by using all of the - parameter data sources in parallel, substituting - when any of them run out of data. - - - - - Gets the test cases generated by the CombiningStrategy. - - The test cases. - - - - TestActionAfterCommand handles the AfterTest method of a single - TestActionItem, provided the items BeforeTest has been run. - - - - - Initializes a new instance of the class. - - The inner command. - The TestActionItem to run before the inner command. - - - - AfterCommand is a DelegatingTestCommand that performs some - specific action after the inner command is run. - - - - - Construct an AfterCommand - - - - - Execute the command - - - - - Set this to perform action after the inner command. - - - - - ContextSettingsCommand applies specified changes to the - TestExecutionContext prior to running a test. No special - action is needed after the test runs, since the prior - context will be restored automatically. - - - - - TestActionCommand handles a single ITestAction applied - to a test. It runs the BeforeTest method, then runs the - test and finally runs the AfterTest method. - - - - - Initializes a new instance of the class. - - The inner command. - - - - Runs the test, saving a TestResult in the supplied TestExecutionContext. - - The context in which the test should run. - A TestResult - - - - Perform the before test action - - - - - Perform the after test action - - - - - TestActionBeforeCommand handles the BeforeTest method of a single - TestActionItem, relying on the item to remember it has been run. - - - - - Initializes a new instance of the class. - - The inner command. - The TestActionItem to run before the inner command. - - - - BeforeTestCommand is a DelegatingTestCommand that performs some - specific action before the inner command is run. - - - - - Construct a BeforeCommand - - - - - Execute the command - - - - - Action to perform before the inner command. - - - - - ConstructFixtureCommand constructs the user test object if necessary. - - - - - Constructs a OneTimeSetUpCommand for a suite - - The inner command to which the command applies - - - - DelegatingTestCommand wraps an inner TestCommand. - Derived classes may do what they like before or - after running the inner command. - - - - TODO: Documentation needed for field - - - - Initializes a new instance of the class. - - The inner command. - - - - OneTimeTearDownCommand performs any teardown actions - specified for a suite and calls Dispose on the user - test object, if any. - - - - - Construct a OneTimeTearDownCommand - - The command wrapped by this command - - - - EmptyTestCommand is a TestCommand that does nothing. It simply - returns the current result from the context when executed. We - use it to avoid testing for null when executing a chain of - DelegatingTestCommands. - - - - - Construct a NullCommand for a test - - - - - Execute the command - - - - - ConstructFixtureCommand constructs the user test object if necessary. - - - - - Handles the construction and disposement of a fixture per test case - - The inner command to which the command applies - - - - adjusts the result of a successful test - to a failure if the elapsed time has exceeded the specified maximum - time allowed. - - - - - Initializes a new instance of the class. - - The inner command. - The max time allowed in milliseconds - - - - OneTimeSetUpCommand runs any one-time setup methods for a suite, - constructing the user test object if necessary. - - - - - Constructs a OneTimeSetUpCommand for a suite - - The inner command to which the command applies - A SetUpTearDownList for use by the command - - - - OneTimeTearDownCommand performs any teardown actions - specified for a suite and calls Dispose on the user - test object, if any. - - - - - Construct a OneTimeTearDownCommand - - The command wrapped by this command - A SetUpTearDownList for use by the command - - - - SetUpTearDownCommand runs SetUp methods for a suite, - runs the test and then runs TearDown methods. - - - - - Initializes a new instance of the class. - - The inner command. - List of setup/teardown items - - - - SetUpTearDownItem holds the setup and teardown methods - for a single level of the inheritance hierarchy. - - - - - Construct a SetUpTearDownNode - - A list of setup methods for this level - A list teardown methods for this level - A method validator to validate each method before calling. - - - - Returns true if this level has any methods at all. - This flag is used to discard levels that do nothing. - - - - - Run SetUp on this level. - - The execution context to use for running. - - - - Run TearDown for this level. - - - - - - TODO: Documentation needed for class - - - - - Initializes a new instance of the class. - - The test being skipped. - - - - Overridden to simply set the CurrentResult to the - appropriate Skipped state. - - The execution context for the test - A TestResult - - - - TestActionCommand handles a single ITestAction applied - to a test. It runs the BeforeTest method, then runs the - test and finally runs the AfterTest method. - - - - - Initializes a new instance of the class. - - The inner command. - The TestAction with which to wrap the inner command. - - - - TestActionItem wraps a single execution of an ITestAction. - Its primary purpose is to track whether the BeforeTest - method has been called and suppress calling the - AfterTest method if it has not. This is necessary when - ITestActions are used before and after a CompositeWorkItem, - since the OneTimeSetUpCommand and OneTimeTearDownCommand - are separate command chains. By sharing a TestActionItem - between the setup and teardown chains, the two calls can - be coordinated. - - - - - Construct a TestActionItem - - The ITestAction to be included - - - - Get flag indicating if the BeforeTest entry was already called. - - - - - Run the BeforeTest method of the action and remember that it has been run. - - The test to which the action applies - - - - Run the AfterTest action, but only if the BeforeTest - action was actually run. - - The test to which the action applies - - - - TestCommand is the abstract base class for all test commands - in the framework. A TestCommand represents a single stage in - the execution of a test, e.g.: SetUp/TearDown, checking for - Timeout, verifying the returned result from a method, etc. - - TestCommands may decorate other test commands so that the - execution of a lower-level command is nested within that - of a higher level command. All nested commands are executed - synchronously, as a single unit. Scheduling test execution - on separate threads is handled at a higher level, using the - task dispatcher. - - - - - Construct a TestCommand for a test. - - The test to be executed - - - - Gets the test associated with this command. - - - - - Runs the test in a specified context, returning a TestResult. - - The TestExecutionContext to be used for running the test. - A TestResult - - - - TestMethodCommand is the lowest level concrete command - used to run actual test cases. - - - - - Initializes a new instance of the class. - - The test. - - - - Runs the test, saving a TestResult in the execution context, as - well as returning it. If the test has an expected result, it - is asserts on that value. Since failed tests and errors throw - an exception, this command must be wrapped in an outer command, - will handle that exception and records the failure. This role - is usually played by the SetUpTearDown command. - - The execution context - - - - TheoryResultCommand adjusts the result of a Theory so that - it fails if all the results were inconclusive. - - - - - Constructs a TheoryResultCommand - - The command to be wrapped by this one - - - - creates a timer in order to cancel - a test if it exceeds a specified time and adjusts - the test result if it did time out. - - - - - Initializes a new instance of the class. - - The inner command - Timeout value - - - - Initializes a new instance of the class. - - The inner command - Timeout value - An instance - - - - Runs the test, saving a TestResult in the supplied TestExecutionContext. - - The context in which the test should run. - A TestResult - - - - Provides methods to support consistent checking in constraints. - - - - - Requires that the provided object is actually of the type required. - - The object to verify. - Name of the parameter as passed into the checking method. - - If and can be null, returns null rather than throwing when is null. - If cannot be null, this parameter is ignored. - The type to require. - - - - CultureDetector is a helper class used by NUnit to determine - whether a test should be run based on the current culture. - - - - - Default constructor uses the current culture. - - - - - Construct a CultureDetector for a particular culture for testing. - - The culture to be used - - - - Test to determine if one of a collection of cultures - is being used currently. - - - - - - - Tests to determine if the current culture is supported - based on a culture attribute. - - The attribute to examine - - - - - Test to determine if the a particular culture or comma- - delimited set of cultures is in use. - - Name of the culture or comma-separated list of culture ids - True if the culture is in use on the system - - - - Return the last failure reason. Results are not - defined if called before IsSupported( Attribute ) - is called. - - - - - Useful when wrapping awaiters whose GetResult method does not block until complete. - Contains a default mechanism to implement - via and . - - - - - ExceptionHelper provides static methods for working with exceptions - - - - - Rethrows an exception, preserving its stack trace - - The exception to rethrow - - - - Builds up a message, using the Message field of the specified exception - as well as any InnerExceptions. Optionally excludes exception names, - creating a more readable message. - - The exception. - Flag indicating whether exception names should be excluded. - A combined message string. - - - - Builds up a message, using the Message field of the specified exception - as well as any InnerExceptions. - - The exception. - A combined stack trace. - - - - Executes a parameterless synchronous or async delegate and returns the exception it throws, if any. - - - - - A CompositeWorkItem represents a test suite and - encapsulates the execution of the suite as well - as all its child tests. - - - - - List of Child WorkItems - - - - - Indicates whether this work item should use a separate dispatcher. - - - - - Construct a CompositeWorkItem for executing a test suite - using a filter to select child tests. - - The TestSuite to be executed - A filter used to select child tests - - - - Method that actually performs the work. Overridden - in CompositeWorkItem to do one-time setup, run all child - items and then dispatch the one-time teardown work item. - - - - - - - - - - Cancel (abort or stop) a CompositeWorkItem and all of its children - - true if the CompositeWorkItem and all of its children should be aborted, false if it should allow all currently running tests to complete - - - - OneTimeTearDownWorkItem represents the cleanup - and one-time teardown phase of a CompositeWorkItem - - - - - Construct a OneTimeTearDownWOrkItem wrapping a CompositeWorkItem - - The CompositeWorkItem being wrapped - - - - The WorkItem name, overridden to indicate this is the teardown. - - - - - The ExecutionStrategy for use in running this work item - - - - - - - - - - PerformWork is not used in CompositeWorkItem - - - - - WorkItemCancelled is called directly by the parallel dispatcher - when a test suite is left hanging after a forced StopRun. We - simulate WorkItemComplete() but without the ripple effect to - higher level suites, since we are controlling it all directly. - - - - - EventListenerTextWriter sends text output to the currently active - ITestEventListener in the form of a TestOutput object. If no event - listener is active in the context, or if there is no context, - the output is forwarded to the supplied default writer. - - - - - Construct an EventListenerTextWriter - - The name of the stream to use for events - The default writer to use if no listener is available - - - - Get the Encoding for this TextWriter - - - - - Write formatted string - - - - - Write formatted string - - - - - Write formatted string - - - - - Write an object - - - - - Write a string - - - - - Write a decimal - - - - - Write a double - - - - - Write formatted string - - - - - Write a ulong - - - - - Write a long - - - - - Write a uint - - - - - Write an int - - - - - Write a char - - - - - Write a boolean - - - - - Write chars - - - - - Write chars - - - - - Write a float - - - - - Write a string with newline - - - - - Write an object with newline - - - - - Write formatted string with newline - - - - - Write formatted string with newline - - - - - Write formatted string with newline - - - - - Write a decimal with newline - - - - - Write a formatted string with newline - - - - - Write a double with newline - - - - - Write a uint with newline - - - - - Write a ulong with newline - - - - - Write a long with newline - - - - - Write an int with newline - - - - - Write a bool with newline - - - - - Write chars with newline - - - - - Write chars with newline - - - - - Write a char with newline - - - - - Write a float with newline - - - - - Write newline - - - - - The EventPumpState enum represents the state of an - EventPump. - - - - - The pump is stopped - - - - - The pump is pumping events with no stop requested - - - - - The pump is pumping events but a stop has been requested - - - - - EventPump pulls events out of an EventQueue and sends - them to a listener. It is used to send events back to - the client without using the CallContext of the test - runner thread. - - - - - The downstream listener to which we send events - - - - - The queue that holds our events - - - - - Thread to do the pumping - - - - - The current state of the event pump - - - - - Constructor - - The EventListener to receive events - The event queue to pull events from - - - - Gets or sets the current state of the pump - - - - - Gets or sets the name of this EventPump - (used only internally and for testing). - - - - - Dispose stops the pump - Disposes the used WaitHandle, too. - - - - - Start the pump - - - - - Tell the pump to stop after emptying the queue. - - - - - Our thread proc for removing items from the event - queue and sending them on. Note that this would - need to do more locking if any other thread were - removing events from the queue. - - - - - NUnit.Core.Event is the abstract base for all stored events. - An Event is the stored representation of a call to the - ITestListener interface and is used to record such calls - or to queue them for forwarding on another thread or at - a later time. - - - - - The Send method is implemented by derived classes to send the event to the specified listener. - - The listener. - - - - TestStartedEvent holds information needed to call the TestStarted method. - - - - - Initializes a new instance of the class. - - The test. - - - - Calls TestStarted on the specified listener. - - The listener. - - - - TestFinishedEvent holds information needed to call the TestFinished method. - - - - - Initializes a new instance of the class. - - The result. - - - - Calls TestFinished on the specified listener. - - The listener. - - - - TestOutputEvent holds information needed to call the TestOutput method. - - - - - Initializes a new instance of the class. - - The output object. - - - - Calls TestOutput on the specified listener. - - The listener. - - - - TestMessageEvent holds information needed to call the SendMessage method. - - - - - Initializes a new instance of the class. - - The test message object. - - - - Calls on the specified listener. - - The listener. - - - - Holds object for sending to all listeners - - - - - Implements a queue of work items each of which - is queued as a WaitCallback. - - - - - Gets the count of items in the queue. - - - - - Enqueues the specified event - - The event to enqueue. - - - - Removes the first element from the queue and returns it (or ). - - - If and the queue is empty, the calling thread is blocked until - either an element is enqueued, or is called. - - - - - If the queue not empty - the first element. - - - otherwise, if == - or has been called - . - - - - - - - Stop processing of the queue - - - - - Validates method to execute. - - - - - Determines whether a method is allowed to execute and throws an exception otherwise. - - The method to validate. - - - - An IWorkItemDispatcher handles execution of work items. - - - - - The level of parallelism supported. Zero if not supported. - - - - - Start execution, performing any initialization. Sets - the top level work item and dispatches it. - - - - - Dispatch a single work item for execution. The first - work item dispatched is saved as the top-level - work item and used when stopping the run. - - The item to dispatch - - - - Cancel the ongoing run completely. - If no run is in process, the call has no effect. - - true if the IWorkItemDispatcher should abort all currently running WorkItems, false if it should allow all currently running WorkItems to complete - - - - MainThreadWorkItemDispatcher handles execution of WorkItems by - directly executing them on the main thread. This is different - from the SimpleWorkItemDispatcher where the work item is dispatched - onto its own thread. - - - - - The level of parallelism supported - - - - - Start execution, dispatching the top level - work into the main thread. - - - - - Dispatch a single work item for execution by - executing it directly. - - The item to dispatch - - - - This method is not supported for - this dispatcher. Using it will throw a - NotSupportedException. - - Not used - If used, it will always throw this. - - - - Enumeration representing the strategy to follow in executing a work item. - The value is only relevant when running under the parallel dispatcher. - - - - - Run directly on same thread - - - - - Enqueue for parallel execution - - - - - Enqueue for non-parallel execution - - - - - ParallelWorkItemDispatcher handles execution of work items by - queuing them for worker threads to process. - - - - - Event raised whenever a shift is starting. - - - - - Event raised whenever a shift has ended. - - - - - Construct a ParallelWorkItemDispatcher - - Number of workers to use - - - - Number of parallel worker threads - - - - - Enumerates all the shifts supported by the dispatcher - - - - - Enumerates all the Queues supported by the dispatcher - - - - - Start execution, setting the top level work, - enqueuing it and starting a shift to execute it. - - - - - Dispatch a single work item for execution. The first - work item dispatched is saved as the top-level - work item and used when stopping the run. - - The item to dispatch - - - - Cancel the ongoing run completely. - If no run is in process, the call has no effect. - - - - - Save the state of the queues and create a new isolated set - - - - - Try to remove isolated queues and restore old ones - - - - - QueuingEventListener uses an EventQueue to store any - events received on its EventListener interface. - - - - - The EventQueue created and filled by this listener - - - - - Construct a QueuingEventListener - - - - - A test has started - - The test that is starting - - - - A test case finished - - Result of the test case - - - - Called when a test produces output for immediate display - - A TestOutput object containing the text to display - - - - Called when a test produces a message to be sent to listeners - - A object containing the text to send - - - - A SimpleWorkItem represents a single test case and is - marked as completed immediately upon execution. This - class is also used for skipped or ignored test suites. - - - - - Construct a simple work item for a test. - - The test to be executed - The filter used to select this test - - - - Construct a simple work item for a test. - - The test to be executed - The filter used to select this test - An instance - - - - Method that performs actually performs the work. - - - - - Creates a test command for use in running this test. - - A TestCommand - - - - SimpleWorkItemDispatcher handles execution of WorkItems by - directly executing them. It is provided so that a dispatcher - is always available in the context, thereby simplifying the - code needed to run child tests. - - - - - The level of parallelism supported - - - - - Start execution, creating the execution thread, - setting the top level work and dispatching it. - - - - - Dispatch a single work item for execution by - executing it directly. - - The item to dispatch - - - - Cancel (abort or stop) the ongoing run. - If no run is in process, the call has no effect. - - true if the run should be aborted, false if it should allow its currently running test to complete - - - - Checks whether the method to execute is static. - - - - - Construct a StaticMethodValidator. - - The error message to output in case the validation fails. - - - - Determines whether a method to execute is static and throws an InvalidOperationException otherwise. - - The method to validate. - - - - A TestWorker pulls work items from a queue - and executes them. - - - - - Event handler for TestWorker events - - The TestWorker sending the event - The WorkItem that caused the event - - - - Event signaled immediately before executing a WorkItem - - - - - Event signaled immediately after executing a WorkItem - - - - - Construct a new TestWorker. - - The queue from which to pull work items - The name of this worker - - - - The WorkItemQueue from which this worker pulls WorkItems - - - - - The name of this worker - also used for the thread - - - - - Indicates whether the worker thread is running - - - - - Our ThreadProc, which pulls and runs tests in a loop - - - - - Create thread and start processing work items. - - - - - Stop the thread, either immediately or after finishing the current WorkItem - - true if the thread should be aborted, false if it should allow the currently running test to complete - - - - The TextCapture class intercepts console output and writes it - to the current execution context, if one is present on the thread. - If no execution context is found, the output is written to a - default destination, normally the original destination of the - intercepted output. - - - - - Construct a TextCapture object - - The default destination for non-intercepted output - - - - Gets the Encoding in use by this TextWriter - - - - - Writes a single character - - The char to write - - - - Writes a string - - The string to write - - - - Writes a string followed by a line terminator - - The string to write - - - - A WorkItem may be an individual test case, a fixture or - a higher level grouping of tests. All WorkItems inherit - from the abstract WorkItem class, which uses the template - pattern to allow derived classes to perform work in - whatever way is needed. - - A WorkItem is created with a particular TestExecutionContext - and is responsible for re-establishing that context in the - current thread before it begins or resumes execution. - - - - - Construct a WorkItem for a particular test. - - The test that the WorkItem will run - Filter used to include or exclude child items - - - - Construct a work Item that wraps another work Item. - Wrapper items are used to represent independently - dispatched tasks, which form part of the execution - of a single test, such as OneTimeTearDown. - - The WorkItem being wrapped - - - - Initialize the TestExecutionContext. This must be done - before executing the WorkItem. - - - Originally, the context was provided in the constructor - but delaying initialization of the context until the item - is about to be dispatched allows changes in the parent - context during OneTimeSetUp to be reflected in the child. - - The TestExecutionContext to use - - - - Event triggered when the item is complete - - - - - Gets the current state of the WorkItem - - - - - The test being executed by the work item - - - - - The name of the work item - defaults to the Test name. - - - - - Filter used to include or exclude child tests - - - - - The execution context - - - - - The worker executing this item. - - - - - The ParallelExecutionStrategy to use for this work item - - - - - Indicates whether this work item should use a separate dispatcher. - - - - - The test result - - - - - Gets the ParallelScope associated with the test, if any, - otherwise returning ParallelScope.Default; - - - - - Execute the current work item, including any - child work items. - - - - - Wait until the execution of this item is complete - - - - - Marks the WorkItem as NotRunnable. - - Reason for test being NotRunnable. - - - - Cancel (abort or stop) a WorkItem - - true if the WorkItem should be aborted, false if it should run to completion - - - - Standard Dispose - - - - - Method that performs actually performs the work. It should - set the State to WorkItemState.Complete when done. - - - - - Method called by the derived class when all work is complete - - - - - Builds the set up tear down list. - - Unsorted array of setup MethodInfos. - Unsorted array of teardown MethodInfos. - Method validator used before each method execution. - A list of SetUpTearDownItems - - - - Changes the result of the test, logging the old and new states - - The new ResultState - The new message - - - - Recursively walks up the test hierarchy to see if the - has been set on any of the parent tests. - - - - - WorkItemBuilder class knows how to build a tree of work items from a tree of tests - - - - - Creates a work item. - - The test for which this WorkItem is being created. - The filter to be used in selecting any child Tests. - True if child work items should be created and added. - - - - - Creates a work item. - - The test for which this WorkItem is being created. - The filter to be used in selecting any child Tests. - An instance. - True if child work items should be created and added. - if work item needs to be created unconditionally, if will be returned for tests that don't match the filter. - - - - - Compares two objects and returns a value indicating whether one is less than, equal to, or greater than the other. - - - A signed integer that indicates the relative values of and , as shown in the following table.Value Meaning Less than zero is less than .Zero equals .Greater than zero is greater than . - - The first object to compare.The second object to compare. - - - - WorkItemQueueState indicates the current state of a WorkItemQueue - - - - - The queue is paused - - - - - The queue is running - - - - - The queue is stopped - - - - - A WorkItemQueue holds work items that are ready to - be run, either initially or after some dependency - has been satisfied. - - - - - Initializes a new instance of the class. - - The name of the queue. - Flag indicating whether this is a parallel queue - ApartmentState to use for items on this queue - - - - Gets the name of the work item queue. - - - - - Gets a flag indicating whether this queue is used for parallel execution - - - - - Gets the target ApartmentState for work items on this queue - - - - - Gets the total number of items processed so far - - - - - Gets the current state of the queue - - - - - Get a bool indicating whether the queue is empty. - - - - - Enqueue a WorkItem to be processed - - The WorkItem to process - - - - Enqueue a WorkItem to be processed - internal for testing - - The WorkItem to process - The priority at which to process the item - - - - Dequeue a WorkItem for processing - - A WorkItem or null if the queue has stopped - - - - Start or restart processing of items from the queue - - - - - Signal the queue to stop - - - - - Pause the queue for restarting later - - - - - Save the current inner queue and create new ones for use by - a non-parallel fixture with parallel children. - - - - - Restore the inner queue that was previously saved - - - - - The current state of a work item - - - - - Ready to run or continue - - - - - Work Item is executing - - - - - Complete - - - - - Handler for ShiftChange events. - - The shift that is starting or ending. - - - - The dispatcher needs to do different things at different, - non-overlapped times. For example, non-parallel tests may - not be run at the same time as parallel tests. We model - this using the metaphor of a working shift. The WorkShift - class associates one or more WorkItemQueues with one or - more TestWorkers. - - Work in the queues is processed until all queues are empty - and all workers are idle. Both tests are needed because a - worker that is busy may end up adding more work to one of - the queues. At that point, the shift is over and another - shift may begin. This cycle continues until all the tests - have been run. - - - - - Construct a WorkShift - - - - - Event that fires when the shift has ended - - - - - The Name of this shift - - - - - Gets a flag indicating whether the shift is currently active - - - - - Gets a bool indicating whether this shift has any work to do - - - - - Gets a list of the queues associated with this shift. - - Internal for testing - immutable once initialized - - - - Gets the list of workers associated with this shift. - - Internal for testing - immutable once initialized - - - - Add a WorkItemQueue to the shift, starting it if the - shift is currently active. - - - - - Assign a worker to the shift. - - - - - - Start or restart processing for the shift - - - - - End the shift, pausing all queues and raising - the EndOfShift event. - - - - - Shut down the shift. - - - - - Cancel (abort or stop) the shift without completing all work - - true if the WorkShift should be aborted, false if it should allow its currently running tests to complete - - - - TextMessageWriter writes constraint descriptions and messages - in displayable form as a text stream. It tailors the display - of individual message components to form the standard message - format of NUnit assertion failure messages. - - - - - Prefix used for the expected value line of a message - - - - - Prefix used for the actual value line of a message - - - - - Prefix used for the actual difference between actual and expected values if compared with a tolerance - - - - - Length of a message prefix - - - - - Construct a TextMessageWriter - - - - - Construct a TextMessageWriter, specifying a user message - and optional formatting arguments. - - - - - - - Gets or sets the maximum line length for this writer - - - - - Method to write single line message with optional args, usually - written to precede the general failure message, at a given - indentation level. - - The indentation level of the message - The message to be written - Any arguments used in formatting the message - - - - Display Expected and Actual lines for a constraint. This - is called by MessageWriter's default implementation of - WriteMessageTo and provides the generic two-line display. - - The result of the constraint that failed - - - - Gets the unique type name between expected and actual. - - The expected value - The actual value causing the failure - Output of the unique type name for expected - Output of the unique type name for actual - - - - Display Expected and Actual lines for given values. This - method may be called by constraints that need more control over - the display of actual and expected values than is provided - by the default implementation. - - The expected value - The actual value causing the failure - - - - Display Expected and Actual lines for given values, including - a tolerance value on the expected line. - - The expected value - The actual value causing the failure - The tolerance within which the test was made - - - - Display the expected and actual string values on separate lines. - If the mismatch parameter is >=0, an additional line is displayed - line containing a caret that points to the mismatch point. - - The expected string value - The actual string value - The point at which the strings don't match or -1 - If true, case is ignored in string comparisons - If true, clip the strings to fit the max line length - - - - Writes the text for an actual value. - - The actual value. - - - - Writes the text for a generalized value. - - The value. - - - - Writes the text for a collection value, - starting at a particular point, to a max length - - The collection containing elements to write. - The starting point of the elements to write - The maximum number of elements to write - - - - Write the generic 'Expected' line for a constraint - - The constraint that failed - - - - Write the generic 'Expected' line for a given value - and tolerance. - - The expected value - The tolerance within which the test was made - - - - Write the generic 'Actual' line for a constraint - - The ConstraintResult for which the actual value is to be written - - - - Write the generic 'Actual' line for a given value - - The actual value causing a failure - - - - Extensions to . - - - - - Adds the skip reason to tests that are ignored until a specific date. - - The test properties to add the skip reason to - The date that the test is being ignored until - The reason the test is being ignored until that date - - - - Combines multiple filters so that a test must pass all - of them in order to pass this filter. - - - - - Constructs an empty AndFilter - - - - - Constructs an AndFilter from an array of filters - - - - - - Checks whether the AndFilter is matched by a test - - The test to be matched - If set to we are carrying a negation through - True if all the component filters pass, otherwise false - - - - Checks whether the AndFilter is matched by a test - - The test to be matched - True if all the component filters match, otherwise false - - - - Checks whether the AndFilter is explicit matched by a test. - - The test to be matched - True if all the component filters explicit match, otherwise false - - - - Gets the element name - - Element name - - - - CategoryFilter is able to select or exclude tests - based on their categories. - - - - - Construct a CategoryFilter using a single category name - - A category name - - - - Check whether the filter matches a test - - The test to be matched - - - - - Gets the element name - - Element name - - - - ClassName filter selects tests based on the class FullName - - - - - Construct a FullNameFilter for a single name - - The name the filter will recognize. - - - - Match a test against a single value. - - - - - Gets the element name - - Element name - - - - A base class for multi-part filters - - - - - Constructs an empty CompositeFilter - - - - - Constructs a CompositeFilter from an array of filters - - - - - - Return a list of the composing filters. - - - - - Checks whether the CompositeFilter is matched by a test. - - The test to be matched - If set to we are carrying a negation through - - - - Checks whether the CompositeFilter is matched by a test. - - The test to be matched - - - - Checks whether the CompositeFilter is explicit matched by a test. - - The test to be matched - - - - Adds an XML node - - Parent node - True if recursive - The added XML node - - - - Gets the element name - - Element name - - - - FullName filter selects tests based on their FullName - - - - - Construct a FullNameFilter for a single name - - The name the filter will recognize. - - - - Match a test against a single value. - - - - - Gets the element name - - Element name - - - - IdFilter selects tests based on their id - - - - - Construct an IdFilter for a single value - - The id the filter will recognize. - - - - Match a test against a single value. - - - - - Gets the element name - - Element name - - - - FullName filter selects tests based on their FullName - - - - - Construct a MethodNameFilter for a single name - - The name the filter will recognize. - - - - Match a test against a single value. - - - - - Gets the element name - - Element name - - - - ClassName filter selects tests based on the class FullName - - - - - Construct a NamespaceFilter for a single namespace - - The namespace the filter will recognize. - - - - Match a test against a single value. - - - - - Gets the element name - - Element name - - - - NotFilter negates the operation of another filter - - - - - Construct a not filter on another filter - - The filter to be negated - - - - Gets the base filter - - - - - Determine if a particular test passes the filter criteria. - - The test to which the filter is applied - If set to we are carrying a negation through - True if the test passes the filter, otherwise false - - - - Check whether the filter matches a test - - The test to be matched - True if it matches, otherwise false - - - - Determine if a test matches the filter explicitly. That is, it must - be a direct match of the test itself or one of its children. - - The test to which the filter is applied - True if the test matches the filter explicitly, otherwise false - - - - Adds an XML node - - Parent node - True if recursive - The added XML node - - - - Combines multiple filters so that a test must pass one - of them in order to pass this filter. - - - - - Constructs an empty OrFilter - - - - - Constructs an OrFilter from an array of filters - - - - - - Checks whether the OrFilter is matched by a test - - The test to be matched - If set to we are carrying a negation through - True if any of the component filters pass, otherwise false - - - - Checks whether the OrFilter is matched by a test - - The test to be matched - True if any of the component filters match, otherwise false - - - - Checks whether the OrFilter is explicit matched by a test - - The test to be matched - True if any of the component filters explicit match, otherwise false - - - - Gets the element name - - Element name - - - - PropertyFilter is able to select or exclude tests - based on their properties. - - - - - Construct a PropertyFilter using a property name and expected value - - A property name - The expected value of the property - - - - Check whether the filter matches a test - - The test to be matched - - - - - Adds an XML node - - Parent node - True if recursive - The added XML node - - - - Gets the element name - - Element name - - - - TestName filter selects tests based on their Name - - - - - Construct a TestNameFilter for a single name - - The name the filter will recognize. - - - - Match a test against a single value. - - - - - Gets the element name - - Element name - - - - ValueMatchFilter selects tests based on some value, which - is expected to be contained in the test. - - - - - Returns the value matched by the filter - used for testing - - - - - Indicates whether the value is a regular expression - - - - - Construct a ValueMatchFilter for a single value. - - The value to be included. - - - - Match the input provided by the derived class - - The value to be matched - True for a match, false otherwise. - - - - Adds an XML node - - Parent node - True if recursive - The added XML node - - - - Gets the element name - - Element name - - - - GenericMethodHelper is able to deduce the Type arguments for - a generic method from the actual arguments provided. - - - - - A special value, which is used to indicate that BestCommonType() method - was unable to find a common type for the specified arguments. - - - - - Construct a GenericMethodHelper for a method - - MethodInfo for the method to examine - - - - Return the type arguments for the method, deducing them - from the arguments actually provided. - - The arguments to the method - If successful, an array of type arguments. - - - - A minimalistic implementation of an immutable stack. Add members as needed. - - - - - Represents an empty stack. may be used instead. - - - - - Returns a new immutable stack which begins with the specified value and continues with the values in the - current stack. - - The beginning value of the new stack. - - - - InvalidTestFixtureException is thrown when an appropriate test - fixture constructor using the provided arguments cannot be found. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The message. - - - - Initializes a new instance of the class. - - The message. - The inner. - - - - Serialization Constructor - - - - - InvalidPlatformException is thrown when the platform name supplied - to a test is not recognized. - - - - - Instantiates a new instance of the class. - - - - - Instantiates a new instance of the class - - The message. - - - - Instantiates a new instance of the class - - The message. - The inner. - - - - Serialization constructor for the class - - - - - InvalidTestFixtureException is thrown when an appropriate test - fixture constructor using the provided arguments cannot be found. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The message. - - - - Initializes a new instance of the class. - - The message. - The inner. - - - - Serialization Constructor - - - - - Interface for logging within the engine - - - - - Logs the specified message at the error level. - - The message. - - - - Logs the specified message at the error level. - - The message. - The arguments. - - - - Logs the specified message at the warning level. - - The message. - - - - Logs the specified message at the warning level. - - The message. - The arguments. - - - - Logs the specified message at the info level. - - The message. - - - - Logs the specified message at the info level. - - The message. - The arguments. - - - - Logs the specified message at the debug level. - - The message. - - - - Logs the specified message at the debug level. - - The message. - The arguments. - - - - InternalTrace provides facilities for tracing the execution - of the NUnit framework. Tests and classes under test may make use - of Console writes, System.Diagnostics.Trace or various loggers and - NUnit itself traps and processes each of them. For that reason, a - separate internal trace is needed. - - Note: - InternalTrace uses a global lock to allow multiple threads to write - trace messages. This can easily make it a bottleneck so it must be - used sparingly. Keep the trace Level as low as possible and only - insert InternalTrace writes where they are needed. - TODO: add some buffering and a separate writer thread as an option. - TODO: figure out a way to turn on trace in specific classes only. - - - - - Gets a flag indicating whether the InternalTrace is initialized - - - - - Initialize the internal trace facility using the name of the log - to be written to and the trace level. - - The log name - The trace level - - - - Initialize the internal trace using a provided TextWriter and level - - A TextWriter - The InternalTraceLevel - - - - Get a named Logger - - - - - - Get a logger named for a particular Type. - - - - - InternalTraceLevel is an enumeration controlling the - level of detailed presented in the internal log. - - - - - Use the default settings as specified by the user. - - - - - Do not display any trace messages - - - - - Display Error messages only - - - - - Display Warning level and higher messages - - - - - Display informational and higher messages - - - - - Display debug messages and higher - i.e. all messages - - - - - Display debug messages and higher - i.e. all messages - - - - - A trace listener that writes to a separate file per domain - and process using it. - - - - - Construct an InternalTraceWriter that writes to a file. - - Path to the file to use - - - - Construct an InternalTraceWriter that writes to a - TextWriter provided by the caller. - - - - - - Returns the character encoding in which the output is written. - - The character encoding in which the output is written. - - - - Writes a character to the text string or stream. - - The character to write to the text stream. - - - - Writes a string to the text string or stream. - - The string to write. - - - - Writes a string followed by a line terminator to the text string or stream. - - The string to write. If is null, only the line terminator is written. - - - - Releases the unmanaged resources used by the and optionally releases the managed resources. - - true to release both managed and unmanaged resources; false to release only unmanaged resources. - - - - Clears all buffers for the current writer and causes any buffered data to be written to the underlying device. - - - - - Provides internal logging to the NUnit framework - - - - - Initializes a new instance of the class. - - The name. - The log level. - The writer where logs are sent. - - - - Logs the message at error level. - - The message. - - - - Logs the message at error level. - - The message. - The message arguments. - - - - Logs the message at warm level. - - The message. - - - - Logs the message at warning level. - - The message. - The message arguments. - - - - Logs the message at info level. - - The message. - - - - Logs the message at info level. - - The message. - The message arguments. - - - - Logs the message at debug level. - - The message. - - - - Logs the message at debug level. - - The message. - The message arguments. - - - - The MethodWrapper class wraps a MethodInfo so that it may - be used in a platform-independent manner. - - - - - Construct a MethodWrapper for a Type and a MethodInfo. - - - - - Construct a MethodInfo for a given Type and method name. - - - - - Gets the Type from which this method was reflected. - - - - - Gets the MethodInfo for this method. - - - - - Gets the name of the method. - - - - - Gets a value indicating whether the method is abstract. - - - - - Gets a value indicating whether the method is public. - - - - - Gets a value indicating whether the method is static. - - - - - Gets a value indicating whether the method contains unassigned generic type parameters. - - - - - Gets a value indicating whether the method is a generic method. - - - - - Gets a value indicating whether the MethodInfo represents the definition of a generic method. - - - - - Gets the return Type of the method. - - - - - Gets the parameters of the method. - - - - - - Returns the Type arguments of a generic method or the Type parameters of a generic method definition. - - - - - Replaces the type parameters of the method with the array of types provided and returns a new IMethodInfo. - - The type arguments to be used - A new IMethodInfo with the type arguments replaced - - - - Returns an array of custom attributes of the specified type applied to this method - - - - - Gets a value indicating whether one or more attributes of the specified type are defined on the method. - - - - - Invokes the method, converting any TargetInvocationException to an NUnitException. - - The object on which to invoke the method - The argument list for the method - The return value from the invoked method - - - - Override ToString() so that error messages in NUnit's own tests make sense - - - - - Thrown when an assertion failed. Here to preserve the inner - exception and hence its stack trace. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The error message that explains - the reason for the exception - - - - Initializes a new instance of the class. - - The error message that explains - the reason for the exception - The exception that caused the - current exception - - - - Serialization Constructor - - - - - Enables the syntax. - - - - - Wraps an action so that it is executed when the returned object is disposed. - This disposal is thread-safe and the action will be executed at most once. - - - - - OSPlatform represents a particular operating system platform - - - - - Platform ID for Unix as defined by .NET - - - - - Platform ID for Unix as defined by Mono - - - - - Platform ID for XBox as defined by .NET and Mono - - - - - Platform ID for MacOSX as defined by .NET and Mono - - - - - Get the OSPlatform under which we are currently running - - - - - Gets the actual OS Version, not the incorrect value that might be - returned for Win 8.1 and Win 10 - - - If an application is not manifested as Windows 8.1 or Windows 10, - the version returned from Environment.OSVersion will not be 6.3 and 10.0 - respectively, but will be 6.2 and 6.3. The correct value can be found in - the registry. - - The original version - The correct OS version - - - - Product Type Enumeration used for Windows - - - - - Product type is unknown or unspecified - - - - - Product type is Workstation - - - - - Product type is Domain Controller - - - - - Product type is Server - - - - - Construct from a platform ID and version - - - - - Construct from a platform ID, version and product type - - - - - Get the platform ID of this instance - - - - - Implemented to use in place of Environment.OSVersion.ToString() - - A representation of the platform ID and version in an approximation of the format used by Environment.OSVersion.ToString() - - - - Get the Version of this instance - - - - - Get the Product Type of this instance - - - - - Return true if this is a windows platform - - - - - Return true if this is a Unix or Linux platform - - - - - Return true if the platform is Win32S - - - - - Return true if the platform is Win32Windows - - - - - Return true if the platform is Win32NT - - - - - Return true if the platform is Windows CE - - - - - Return true if the platform is Xbox - - - - - Return true if the platform is MacOSX - - - - - Return true if the platform is Windows 95 - - - - - Return true if the platform is Windows 98 - - - - - Return true if the platform is Windows ME - - - - - Return true if the platform is NT 3 - - - - - Return true if the platform is NT 4 - - - - - Return true if the platform is NT 5 - - - - - Return true if the platform is Windows 2000 - - - - - Return true if the platform is Windows XP - - - - - Return true if the platform is Windows 2003 Server - - - - - Return true if the platform is NT 6 - - - - - Return true if the platform is NT 6.0 - - - - - Return true if the platform is NT 6.1 - - - - - Return true if the platform is NT 6.2 - - - - - Return true if the platform is NT 6.3 - - - - - Return true if the platform is Vista - - - - - Return true if the platform is Windows 2008 Server (original or R2) - - - - - Return true if the platform is Windows 2008 Server (original) - - - - - Return true if the platform is Windows 2008 Server R2 - - - - - Return true if the platform is Windows 2012 Server (original or R2) - - - - - Return true if the platform is Windows 2012 Server (original) - - - - - Return true if the platform is Windows 2012 Server R2 - - - - - Return true if the platform is Windows 7 - - - - - Return true if the platform is Windows 8 - - - - - Return true if the platform is Windows 8.1 - - - - - Return true if the platform is Windows 10 - - - - - Return true if the platform is Windows Server. This is named Windows - Server 10 to distinguish it from previous versions of Windows Server. - - - - - - Examines an attribute argument and tries to simulate what that value would have been if the literal syntax - which might have defined the value in C# had instead been used as an argument to a given method parameter in a direct call. - - - For example, since you can’t apply attributes using arguments, we allow the C# syntax - 10 ( value) or 0.1 ( value) to be specified. - NUnit then converts it to match the method’s parameters, just as if you were actually - using the syntax TestMethod(10) or TestMethod(0.1). - - - For another example, you might have written the syntax 10 and picked up the attribute - constructor overload; however, the test method for which this value is intended only has a - signature. Again, NUnit simulates what would have happened if the inferred C# syntax was transplanted - and you were actually using the syntax TestMethod(10). - - - - - - Converts an array of objects to the , if it is supported. - - - - - Converts a single value to the , if it is supported. - - - - - Performs several special conversions allowed by NUnit in order to - permit arguments with types that cannot be used in the constructor - of an Attribute such as TestCaseAttribute or to simplify their use. - - The value to be converted - The target in which the should be converted - If conversion was successfully applied, the converted into - - if was converted and should be used; - is no conversion was applied and should be ignored - - - - - The ParameterWrapper class wraps a ParameterInfo so that it may - be used in a platform-independent manner. - - - - - Construct a ParameterWrapper for a given method and parameter - - - - - - - Gets a value indicating whether the parameter is optional - - - - - Gets an IMethodInfo representing the method for which this is a parameter. - - - - - Gets the underlying ParameterInfo - - - - - Gets the Type of the parameter - - - - - Returns an array of custom attributes of the specified type applied to this method - - - - - Gets a value indicating whether one or more attributes of the specified type are defined on the parameter. - - - - - PlatformHelper class is used by the PlatformAttribute class to - determine whether a platform is supported. - - - - - Comma-delimited list of all supported OS platform constants - - - - - Comma-delimited list of all supported Runtime platform constants - - - - - Default constructor uses the operating system and - common language runtime of the system. - - - - - Construct a PlatformHelper for a particular operating - system and common language runtime. Used in testing. - - RuntimeFramework to be used - OperatingSystem to be used - - - - Test to determine if one of a collection of platforms - is being used currently. - - - - - - - Tests to determine if the current platform is supported - based on a platform attribute. - - The attribute to examine - - - - - Tests to determine if the current platform is supported - based on a platform attribute. - - The attribute to examine - - - - - Test to determine if a particular platform or comma-delimited set of platforms is in use. - - Name of the platform or comma-separated list of platform ids - True if the platform is in use on the system - - - - Return the last failure reason. Results are not - defined if called before IsSupported( Attribute ) - is called. - - - - - Implements a simplified filter for use in deciding which - Types and Methods should be used to generate tests. It is constructed with a - list of strings, each of which may end up being interpreted in various ways. - - - - - Return a new PreFilter, without elements, which is considered - empty and always matches. - - - - - Return true if the filter is empty, in which case it - always succeeds. Technically, this is just a filter and - you can add elements but it's best to use Empty when - you need an empty filter and new when you plan to add. - - - - - Add a new filter element to the filter - - - - - - Use the filter on a Type, returning true if the type matches the filter - and should therefore be included in the discovery process. - - - - - Use the filter on a Type, returning true if the type matches the filter - and should therefore be included in the discovery process. - - - - - A PropertyBag represents a collection of name value pairs - that allows duplicate entries with the same key. Methods - are provided for adding a new pair as well as for setting - a key to a single value. All keys are strings but values - may be of any type. Null values are not permitted, since - a null entry represents the absence of the key. - - - - - Adds a key/value pair to the property set - - The key - The value - - - - Sets the value for a key, removing any other - values that are already in the property set. - - - - - - - Gets a single value for a key, using the first - one if multiple values are present and returning - null if the value is not found. - - - - - - - Gets a flag indicating whether the specified key has - any entries in the property set. - - The key to be checked - - True if their are values present, otherwise false - - - - - Gets a collection containing all the keys in the property set - - - - - - Gets or sets the list of values for a particular key - - - - - Returns an XmlNode representing the current PropertyBag. - - Not used - An XmlNode representing the PropertyBag - - - - Returns an XmlNode representing the PropertyBag after - adding it as a child of the supplied parent node. - - The parent node. - Not used - - - - - The PropertyNames class provides static constants for the - standard property ids that NUnit uses on tests. - - - - - The FriendlyName of the AppDomain in which the assembly is running - - - - - The selected strategy for joining parameter data into test cases - - - - - The process ID of the executing assembly - - - - - The stack trace from any data provider that threw - an exception. - - - - - The reason a test was not run - - - - - The author of the tests - - - - - The ApartmentState required for running the test - - - - - The categories applying to a test - - - - - The Description of a test - - - - - The number of threads to be used in running tests - - - - - The maximum time in ms, above which the test is considered to have failed - - - - - The ParallelScope associated with a test - - - - - The number of times the test should be repeated - - - - - Indicates that the test should be run on a separate thread - - - - - The culture to be set for a test - - - - - The UI culture to be set for a test - - - - - The type that is under test - - - - - The timeout value for the test - - - - - The test will be ignored until the given date - - - - - The optional Order the test will run in - - - - - Randomizer returns a set of random values in a repeatable - way, to allow re-running of tests if necessary. It extends - the .NET Random class, providing random values for a much - wider range of types. - - The class is used internally by the framework to generate - test case data and is also exposed for use by users through - the TestContext.Random property. - - - For consistency with the underlying Random Type, methods - returning a single value use the prefix "Next..." Those - without an argument return a non-negative value up to - the full positive range of the Type. Overloads are provided - for specifying a maximum or a range. Methods that return - arrays or strings use the prefix "Get..." to avoid - confusion with the single-value methods. - - - - - Initial seed used to create randomizers for this run - - - - - Get a Randomizer for a particular member, returning - one that has already been created if it exists. - This ensures that the same values are generated - each time the tests are reloaded. - - - - - Get a randomizer for a particular parameter, returning - one that has already been created if it exists. - This ensures that the same values are generated - each time the tests are reloaded. - - - - - Create a new Randomizer using the next seed - available to ensure that each randomizer gives - a unique sequence of values. - - - - - - Default constructor - - - - - Construct based on seed value - - - - - - Returns a random unsigned int. - - - - - Returns a random unsigned int less than the specified maximum. - - - - - Returns a random unsigned int within a specified range. - - - - - Returns a non-negative random short. - - - - - Returns a non-negative random short less than the specified maximum. - - - - - Returns a non-negative random short within a specified range. - - - - - Returns a random unsigned short. - - - - - Returns a random unsigned short less than the specified maximum. - - - - - Returns a random unsigned short within a specified range. - - - - - Returns a random long. - - - - - Returns a random long less than the specified maximum. - - - - - Returns a non-negative random long within a specified range. - - - - - Returns a random ulong. - - - - - Returns a random ulong less than the specified maximum. - - - - - Returns a non-negative random long within a specified range. - - - - - Returns a random Byte - - - - - Returns a random Byte less than the specified maximum. - - - - - Returns a random Byte within a specified range - - - - - Returns a random SByte - - - - - Returns a random sbyte less than the specified maximum. - - - - - Returns a random sbyte within a specified range - - - - - Returns a random bool - - - - - Returns a random bool based on the probability a true result - - - - - Returns a random double between 0.0 and the specified maximum. - - - - - Returns a random double within a specified range. - - - - - Returns a random float. - - - - - Returns a random float between 0.0 and the specified maximum. - - - - - Returns a random float within a specified range. - - - - - Returns a random enum value of the specified Type as an object. - - - - - Returns a random enum value of the specified Type. - - - - - Default characters for random functions. - - Default characters are the English alphabet (uppercase & lowercase), Arabic numerals, and underscore - - - - Generate a random string based on the characters from the input string. - - desired length of output string. - string representing the set of characters from which to construct the resulting string - A random string of arbitrary length - - - - Generate a random string based on the characters from the input string. - - desired length of output string. - A random string of arbitrary length - Uses DefaultStringChars as the input character set - - - - Generate a random string based on the characters from the input string. - - A random string of the default length - Uses DefaultStringChars as the input character set - - - - Returns a random decimal. - - - - - Returns a random decimal between positive zero and the specified maximum. - - - - - Returns a random decimal within a specified range, which is not - permitted to exceed decimal.MaxVal in the current implementation. - - - A limitation of this implementation is that the range from min - to max must not exceed decimal.MaxVal. - - - - - Generates a valid version 4 . - - - - - Helper methods for inspecting a type by reflection. - - Many of these methods take ICustomAttributeProvider as an - argument to avoid duplication, even though certain attributes can - only appear on specific types of members, like MethodInfo or Type. - - In the case where a type is being examined for the presence of - an attribute, interface or named member, the Reflect methods - operate with the full name of the member being sought. This - removes the necessity of the caller having a reference to the - assembly that defines the item being sought and allows the - NUnit core to inspect assemblies that reference an older - version of the NUnit framework. - - - - - Examine a fixture type and return true if it has a method with - a particular attribute. - - The type to examine - The attribute Type to look for - True if found, otherwise false - - - - Invoke the default constructor on a Type - - The Type to be constructed - An instance of the Type - - - - Invoke a constructor on a Type with arguments - - The Type to be constructed - Arguments to the constructor - An instance of the Type - - - - Returns an array of types from an array of objects. - Differs from by returning - for null elements rather than throwing . - - - - - Gets the constructors to which the specified argument types can be coerced. - - - - - Determines if the given types can be coerced to match the given parameters. - - - - - Determines whether the current type can be implicitly converted to the specified type. - - - - - Invoke a parameterless method returning void on an object. - - A MethodInfo for the method to be invoked - The object on which to invoke the method - - - - Invoke a method, converting any TargetInvocationException to an NUnitException. - - A MethodInfo for the method to be invoked - The object on which to invoke the method - The argument list for the method - The return value from the invoked method - - - - - Selects the ultimate shadowing property just like dynamic would, - rather than throwing - for properties that shadow properties of a different property type - which is what does. - - - If you request both public and nonpublic properties, every public property is preferred - over every nonpublic property. It would violate the principle of least surprise for a - derived class’s implementation detail to be chosen over the public API for a type. - - - See . - See . - See . - - - - Same as GetMethod(, | - , , , - ) except that it also chooses only non-generic methods. - Useful for avoiding the you can have with GetMethod. - - - - - Returns the get accessor for the indexer. - - Type to reflect on for the indexer. - List of indexer types that matches the indexer type order. - The Get accessor - - - - Represents the result of running a single test case. - - - - - Construct a TestCaseResult based on a TestMethod - - A TestMethod to which the result applies. - - - - Gets the number of test cases that failed - when running the test and all its children. - - - - - Gets the number of test cases that executed - when running the test and all its children. - - - - - Gets the number of test cases that had warnings - when running the test and all its children. - - - - - Gets the number of test cases that passed - when running the test and all its children. - - - - - Gets the number of test cases that were skipped - when running the test and all its children. - - - - - Gets the number of test cases that were inconclusive - when running the test and all its children. - - - - - Indicates whether this result has any child results. - - - - - Gets the collection of child results. - - - - - The TestResult class represents the result of a test. - - - - - Error message for when child tests have errors - - - - - Error message for when child tests have warnings - - - - - Error message for when child tests are ignored - - - - - Error message for when user has cancelled the test run - - - - - The minimum duration for tests - - - - - Aggregate assertion count - - - - - ReaderWriterLock - - - - - Construct a test result given a Test - - The test to be used - - - - Gets the test with which this result is associated. - - - - - Gets the ResultState of the test result, which - indicates the success or failure of the test. - - - - - Gets the name of the test result - - - - - Gets the full name of the test result - - - - - Gets or sets the elapsed time for running the test in seconds - - - - - Gets or sets the time the test started running. - - - - - Gets or sets the time the test finished running. - - - - - Adds a test attachment to the test result - - The TestAttachment object to attach - - - - Gets the collection of files attached to the test - - - - - Gets the message associated with a test - failure or with not running the test - - - - - Gets any stack trace associated with an - error or failure. - - - - - Gets or sets the count of asserts executed - when running the test. - - - - - Gets the number of test cases executed - when running the test and all its children. - - - - - Gets the number of test cases that failed - when running the test and all its children. - - - - - Gets the number of test cases that had warnings - when running the test and all its children. - - - - - Gets the number of test cases that passed - when running the test and all its children. - - - - - Gets the number of test cases that were skipped - when running the test and all its children. - - - - - Gets the number of test cases that were inconclusive - when running the test and all its children. - - - - - Indicates whether this result has any child results. - - - - - Gets the collection of child results. - - - - - Gets a TextWriter, which will write output to be included in the result. - - - - - Gets any text output written to this result. - - - - - Gets a list of assertion results associated with the test. - - - - - Returns the XML representation of the result. - - If true, descendant results are included - An XmlNode representing the result - - - - Adds the XML representation of the result as a child of the - supplied parent node.. - - The parent node. - If true, descendant results are included - - - - - Gets a count of pending failures (from Multiple Assert) - - - - - Gets the worst assertion status (highest enum) in all the assertion results - - - - - Set the result of the test - - The ResultState to use in the result - - - - Set the result of the test - - The ResultState to use in the result - A message associated with the result state - - - - Set the result of the test - - The ResultState to use in the result - A message associated with the result state - Stack trace giving the location of the command - - - - Set the test result based on the type of exception thrown - - The exception that was thrown - - - - Set the test result based on the type of exception thrown - - The exception that was thrown - The FailureSite to use in the result - - - - RecordTearDownException appends the message and stack trace - from an exception arising during teardown of the test - to any previously recorded information, so that any - earlier failure information is not lost. Note that - calling Assert.Ignore, Assert.Inconclusive, etc. during - teardown is treated as an error. If the current result - represents a suite, it may show a teardown error even - though all contained tests passed. - - The Exception to be recorded - - - - Update overall test result, including legacy Message, based - on AssertionResults that have been saved to this point. - - - - - Record an assertion result - - - - - Record an assertion result - - - - - Record an assertion result - - - - - Creates a failure message incorporating failures - from a Multiple Assert block for use by runners - that don't know about AssertionResults. - - Message as a string - - - - Adds a failure element to a node and returns it. - - The target node. - The new failure element. - - - - Adds an attachments element to a node and returns it. - - The target node. - The new attachments element. - - - - Represents the result of running a test suite - - - - - Construct a TestSuiteResult base on a TestSuite - - The TestSuite to which the result applies - - - - Gets the number of test cases that executed - when running the test and all its children. - - - - - Gets the number of test cases that failed - when running the test and all its children. - - - - - Gets the number of test cases that passed - when running the test and all its children. - - - - - Gets the number of test cases that passed - when running the test and all its children. - - - - - Gets the number of test cases that were skipped - when running the test and all its children. - - - - - Gets the number of test cases that were inconclusive - when running the test and all its children. - - - - - Indicates whether this result has any child results. - - - - - Gets the collection of child results. - - - - - Adds a child result to this result, setting this result's - ResultState to Failure if the child result failed. - - The result to be added - - - - RuntimeFramework represents a particular version - of a common language runtime implementation. - - - - - DefaultVersion is an empty Version, used to indicate that - NUnit should select the CLR version to use for the test. - - - - - Construct from a runtime type and version. If the version has - two parts, it is taken as a framework version. If it has three - or more, it is taken as a CLR version. In either case, the other - version is deduced based on the runtime type and provided version. - - The runtime type of the framework - The version of the framework - - - - Static method to return a RuntimeFramework object - for the framework that is currently in use. - - - - - The type of this runtime framework - - - - - The framework version for this runtime framework - - - - - The CLR version for this runtime framework - - - - - Return true if any CLR version may be used in - matching this RuntimeFramework object. - - - - - Returns the Display name for this framework - - - - - Parses a string representing a RuntimeFramework. - The string may be just a RuntimeType name or just - a Version or a hyphenated RuntimeType-Version or - a Version prefixed by 'versionString'. - - - - - - - Overridden to return the short name of the framework - - - - - - Returns true if the current framework matches the - one supplied as an argument. Two frameworks match - if their runtime types are the same or either one - is RuntimeType.Any and all specified version components - are equal. Negative (i.e. unspecified) version - components are ignored. - - The RuntimeFramework to be matched. - True on match, otherwise false - - - - Enumeration identifying a common language - runtime implementation. - - - - Any supported runtime framework - - - Microsoft .NET Framework - - - Microsoft .NET Framework - - - Microsoft Shared Source CLI - - - Mono - - - MonoTouch - - - Microsoft .NET Core, including .NET 5+ - - - - Holds thread state which is captured and restored in order to sandbox user code. - - - - - Thread principal. - This will be null on platforms that don't support . - - - - - Captures a snapshot of the tracked state of the current thread to be restored later. - - - - - Restores the tracked state of the current thread to the previously captured state. - - - - - Returns a copy with the specified culture. - - - - - Returns a copy with the specified UI culture. - - - - - Returns a copy with the specified principal. - - - - - May be called from any thread. - - - - - May be called from any thread. - - - - - May be called from any thread. - - - - - May be called from any thread, but may only be called once. - - - - - StackFilter class is used to remove internal NUnit - entries from a stack trace so that the resulting - trace provides better information about the test. - - - - - Single instance of our default filter - - - - - Construct a stack filter instance - - Regex pattern used to delete lines from the top of the stack - Regex pattern used to delete lines from the bottom of the stack - - - - Construct a stack filter instance - - Regex pattern used to delete lines from the top of the stack - - - - Construct a stack filter instance - - - - - Filters a raw stack trace and returns the result. - - The original stack trace - A filtered stack trace - - - - Provides methods to support legacy string comparison methods. - - - - - Compares two strings for equality, ignoring case if requested. - - The first string. - The second string.. - if set to , the case of the letters in the strings is ignored. - Zero if the strings are equivalent, a negative number if strA is sorted first, a positive number if - strB is sorted first - - - - Compares two strings for equality, ignoring case if requested. - - The first string. - The second string.. - if set to , the case of the letters in the strings is ignored. - True if the strings are equivalent, false if not. - - - - The TestCaseParameters class encapsulates method arguments and - other selected parameters needed for constructing - a parameterized test case. - - - - - The expected result to be returned - - - - - Default Constructor creates an empty parameter set - - - - - Construct a non-runnable ParameterSet, specifying - the provider exception that made it invalid. - - - - - Construct a parameter set with a list of arguments - - - - - - Construct a ParameterSet from an object implementing ITestCaseData - - - - - - The expected result of the test, which - must match the method return type. - - - - - Gets a value indicating whether an expected result was specified. - - - - - TestCaseTimeoutException is thrown when a test running directly - on a TestWorker thread is cancelled due to timeout. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The message. - - - - Initializes a new instance of the class. - - The message. - The inner. - - - - Serialization Constructor - - - - - Helper class used to save and restore certain static or - singleton settings in the environment that affect tests - or which might be changed by the user tests. - - - - - Link to a prior saved context - - - - - Indicates that a stop has been requested - - - - - The event listener currently receiving notifications - - - - - The number of assertions for the current test - - - - - The current test result - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - An existing instance of TestExecutionContext. - - - - Gets and sets the current context. - - - - - Gets or sets the current test - - - - - The time the current test started execution - - - - - The time the current test started in Ticks - - - - - Gets the elapsed time for running the test in seconds - - - - - Gets or sets the current test result - - - - - Gets a TextWriter that will send output to the current test result. - - - - - The current test object - that is the user fixture - object on which tests are being executed. - - - - - Get or set indicator that run should stop on the first error - - - - - Gets an enum indicating whether a stop has been requested. - - - - - The current test event listener - - - - - The current WorkItemDispatcher. Made public for - use by nunitlite.tests - - - - - The ParallelScope to be used by tests running in this context. - For builds with out the parallel feature, it has no effect. - - - - - Default tolerance value used for floating point equality - when no other tolerance is specified. - - - - - The worker that spawned the context. - For builds without the parallel feature, it is null. - - - - - Gets the RandomGenerator specific to this Test - - - - - Gets the assert count. - - The assert count. - - - - The current nesting level of multiple assert blocks - - - - - Gets or sets the test case timeout value - - - - - Gets a list of ITestActions set by upstream tests - - - - - Saves or restores the CurrentCulture - - - - - Saves or restores the CurrentUICulture - - - - - Gets or sets the current for the Thread. - - - - - The current head of the ValueFormatter chain, copied from MsgUtils.ValueFormatter - - - - - If true, all tests must run on the same thread. No new thread may be spawned. - - - - - The number of times the current test has been scheduled for execution. - Currently only being executed in a test using the - - - - - Record any changes in the environment made by - the test code in the execution context so it - will be passed on to lower level tests. - - - - - Set up the execution environment to match a context. - Note that we may be running on the same thread where the - context was initially created or on a different thread. - - - - - Increments the assert count by one. - - - - - Increments the assert count by a specified amount. - - - - - Adds a new ValueFormatterFactory to the chain of formatters - - The new factory - - - - Sends a message from test to listeners. This message is not kind of test output and doesn't go to test result. - - A name recognized by the intended listeners. - A message to be sent - - - - Obtain lifetime service object - - - - - - An IsolatedContext is used when running code - that may effect the current result in ways that - should not impact the final result of the test. - A new TestExecutionContext is created with an - initially clear result, which is discarded on - exiting the context. - - - using (new TestExecutionContext.IsolatedContext()) - { - // Code that should not impact the result - } - - - - - Save the original current TestExecutionContext and - make a new isolated context current. - - - - - Restore the original TestExecutionContext. - - - - - An AdhocTestExecutionContext is created whenever a context is needed - but not available in CurrentContext. This happens when tests are run - on an ad-hoc basis or Asserts are used outside of tests. - - - - - Construct an AdhocTestExecutionContext, which is used - whenever the current TestExecutionContext is found to be null. - - - - - Enumeration indicating whether the tests are - running normally or being cancelled. - - - - - Running normally with no stop requested - - - - - A graceful stop has been requested - - - - - A forced stop has been requested - - - - - Interface to be implemented by filters applied to tests. - The filter applies when running the test, after it has been - loaded, since this is the only time an ITest exists. - - - - - Unique Empty filter. - - - - - Indicates whether this is the EmptyFilter - - - - - Indicates whether this is a top-level filter, - not contained in any other filter. - - - - - Determine if a particular test passes the filter criteria. The default - implementation checks the test itself, its parents and any descendants. - - Derived classes may override this method or any of the Match methods - to change the behavior of the filter. - - The test to which the filter is applied - True if the test passes the filter, otherwise false - - - - Determine if a particular test passes the filter criteria. The default - implementation checks the test itself, its parents and any descendants. - - Derived classes may override this method or any of the Match methods - to change the behavior of the filter. - - The test to which the filter is applied - If set to we are carrying a negation through - True if the test passes the filter, otherwise false - - - - Determine if a test matches the filter explicitly. That is, it must - be a direct match of the test itself or one of its children. - - The test to which the filter is applied - True if the test matches the filter explicitly, otherwise false - - - - Determine whether the test itself matches the filter criteria, without - examining either parents or descendants. This is overridden by each - different type of filter to perform the necessary tests. - - The test to which the filter is applied - True if the filter matches the any parent of the test - - - - Determine whether any ancestor of the test matches the filter criteria - - The test to which the filter is applied - True if the filter matches the an ancestor of the test - - - - Determine whether any descendant of the test matches the filter criteria. - - The test to be matched - True if at least one descendant matches the filter criteria - - - - Create a TestFilter instance from an XML representation. - - - - - Create a TestFilter from its TNode representation - - - - - Nested class provides an empty filter - one that always - returns true when called. It never matches explicitly. - - - - - Adds an XML node - - True if recursive - The added XML node - - - - Adds an XML node - - Parent node - True if recursive - The added XML node - - - - The TestCaseParameters class encapsulates method arguments and - other selected parameters needed for constructing - a parameterized test case. - - - - - Default Constructor creates an empty parameter set - - - - - Construct a non-runnable ParameterSet, specifying - the provider exception that made it invalid. - - - - - Construct a parameter set with a list of arguments - - - - - - Construct a ParameterSet from an object implementing ITestCaseData - - - - - - Type arguments used to create a generic fixture instance - - - - - TestListener provides an implementation of ITestListener that - does nothing. It is used only through its NULL property. - - - - - Called when a test has just started - - The test that is starting - - - - Called when a test case has finished - - The result of the test - - - - Called when a test produces output for immediate display - - A TestOutput object containing the text to display - - - - Called when a test produces a message to be sent to listeners - - A object containing the message to send - - - - Construct a new TestListener - private so it may not be used. - - - - - Get a listener that does nothing - - - - - TestNameGenerator is able to create test names according to - a coded pattern. - - - - - Default pattern used to generate names - - - - - Construct a TestNameGenerator - - - - - Construct a TestNameGenerator - - The pattern used by this generator. - - - - Get the display name for a TestMethod and its arguments - - A TestMethod - The display name - - - - Get the display name for a TestMethod and its arguments - - A TestMethod - Arguments to be used - The display name - - - - TestParameters is the abstract base class for all classes - that know how to provide data for constructing a test. - - - - - Default Constructor creates an empty parameter set - - - - - Construct a parameter set with a list of arguments - - - - - - Construct a non-runnable ParameterSet, specifying - the provider exception that made it invalid. - - - - - Construct a ParameterSet from an object implementing ITestData - - - - - - The RunState for this set of parameters. - - - - - The arguments to be used in running the test, - which must match the method signature. - - - - - A name to be used for this test case in lieu - of the standard generated name containing - the argument list. - - - - - Gets the property dictionary for this test - - - - - Applies ParameterSet values to the test itself. - - A test. - - - - The original arguments provided by the user, - used for display purposes. - - - - - The list of display names to use as the parameters in the test name. - - - - - TestProgressReporter translates ITestListener events into - the async callbacks that are used to inform the client - software about the progress of a test run. - - - - - Initializes a new instance of the class. - - The callback handler to be used for reporting progress. - - - - Called when a test has just started - - The test that is starting - - - - Called when a test has finished. Sends a result summary to the callback. - to - - The result of the test - - - - Called when a test produces output for immediate display - - A TestOutput object containing the text to display - - - - Called when a test produces a message to be sent to listeners - - A object containing the text to send - - - - Returns the parent test item for the target test item if it exists - - - parent test item - - - - Makes a string safe for use as an attribute, replacing - characters that can't be used with their - corresponding XML representations. - - The string to be used - A new string with the values replaced - - - - ParameterizedFixtureSuite serves as a container for the set of test - fixtures created from a given Type using various parameters. - - - - - Initializes a new instance of the class. - - The ITypeInfo for the type that represents the suite. - - - - Creates a copy of the given suite with only the descendants that pass the specified filter. - - The to copy. - Determines which descendants are copied. - - - - Gets a string representing the type of test - - - - - Creates a filtered copy of the test suite. - - Determines which descendants are copied. - - - - ParameterizedMethodSuite holds a collection of individual - TestMethods with their arguments applied. - - - - - Initializes a new instance of the class. - - - - - Creates a copy of the given suite with only the descendants that pass the specified filter. - - The to copy. - Determines which descendants are copied. - - - - Gets a MethodInfo for the method implementing this test. - - - - - Gets a string representing the type of test - - - - - Creates a filtered copy of the test suite. - - Determines which descendants are copied. - - - - SetUpFixture extends TestSuite and supports - Setup and TearDown methods. - - - - - Initializes a new instance of the class. - - - - - Creates a copy of the given suite with only the descendants that pass the specified filter. - - The to copy. - Determines which descendants are copied. - - - - Gets the TypeInfo of the fixture used in running this test. - - - - - Creates a filtered copy of the test suite. - - Determines which descendants are copied. - - - - The Test abstract class represents a test within the framework. - - - - - Static value to seed ids. It's started at 1000 so any - uninitialized ids will stand out. - - - - - Used to cache the declaring type for this MethodInfo - - - - - Method property backing field - - - - - Constructs a test given its name - - The name of the test - - - - Constructs a test given the path through the - test hierarchy to its parent and a name. - - The parent tests full name - The name of the test - - - - Constructs a test for a specific type. - - - - - Constructs a test for a specific method. - - - - - Gets or sets the id of the test - - - - - - Gets or sets the name of the test - - - - - Gets or sets the fully qualified name of the test - - - - - - Gets the name of the class where this test was declared. - Returns null if the test is not associated with a class. - - - - - Gets the name of the method implementing this test. - Returns null if the test is not implemented as a method. - - - - - The arguments to use in creating the test or empty array if none required. - - - - - Gets the TypeInfo of the fixture used in running this test - or null if no fixture type is associated with it. - - - - - Gets a MethodInfo for the method implementing this test. - Returns null if the test is not implemented as a method. - - - - - Whether or not the test should be run - - - - - Gets the name used for the top-level element in the - XML representation of this test - - - - - Gets a string representing the type of test. Used as an attribute - value in the XML representation of a test and has no other - function in the framework. - - - - - Gets a count of test cases represented by - or contained under this test. - - - - - Gets the properties for this test - - - - - Returns true if this is a TestSuite - - - - - Gets a bool indicating whether the current test - has any descendant tests. - - - - - Gets the parent as a Test object. - Used by the core to set the parent. - - - - - Gets this test's child tests - - A list of child tests - - - - Gets or sets a fixture object for running this test. - - - - - Static prefix used for ids in this AppDomain. - Set by FrameworkController. - - - - - Gets or Sets the Int value representing the seed for the RandomGenerator - - - - - - The SetUp methods. - - - - - The teardown methods - - - - - Creates a TestResult for this test. - - A TestResult suitable for this type of test. - - - - Modify a newly constructed test by applying any of NUnit's common - attributes, based on a supplied , which is - usually the reflection element from which the test was constructed, - but may not be in some instances. The attributes retrieved are - saved for use in subsequent operations. - - - - - Mark the test as Invalid (not runnable) specifying a reason - - The reason the test is not runnable - - - - Get custom attributes applied to a test - - - - - Add standard attributes and members to a test node. - - - - - - - Returns the XML representation of the test - - If true, include child tests recursively - - - - - Returns an XmlNode representing the current result after - adding it as a child of the supplied parent node. - - The parent node. - If true, descendant results are included - - - - Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. - An object to compare with this instance. - - - Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. - An object to compare with this instance. - - - - TestAssembly is a TestSuite that represents the execution - of tests in a managed assembly. - - - - - Initializes a new instance of the class - specifying the Assembly and the suite name. - - The assembly this test represents. - - This becomes the full name of the suite and the filename part is used as the suite name. - - - - - Initializes a new instance of the class - specifying the suite name for an assembly that could not be loaded. - - - This becomes the full name of the suite and the filename part is used as the suite name. - - - - - Creates a copy of the given assembly with only the descendants that pass the specified filter. - - The to copy. - Determines which descendants are copied. - - - - Gets the Assembly represented by this instance. - - - - - Gets the name used for the top-level element in the - XML representation of this test - - - - - Get custom attributes specified on the assembly - - - - - Creates a filtered copy of the test suite. - - Determines which descendants are copied. - - - - TestFixture is a surrogate for a user test fixture class, - containing one or more tests. - - - - - The life cycle specified for the current test fixture. - - - - - Initializes a new instance of the class. - - Type of the fixture. - Arguments used to instantiate the test fixture, or null if none used - - - - Creates a copy of the given suite with only the descendants that pass the specified filter. - - The to copy. - Determines which descendants are copied. - - - - Gets the TypeInfo of the fixture used in running this test. - - - - - Creates a filtered copy of the test suite. - - Determines which descendants are copied. - - - - The TestMethod class represents a Test implemented as a method. - - - - - The ParameterSet used to create this test method - - - - - Initializes a new instance of the class. - - The method to be used as a test. - - - - Initializes a new instance of the class. - - The method to be used as a test. - The suite or fixture to which the new test will be added - - - - Gets a MethodInfo for the method implementing this test. - - - - - The arguments to use in executing the test method, or empty array if none are provided. - - - - - Overridden to return a TestCaseResult. - - A TestResult for this test. - - - - Gets a bool indicating whether the current test - has any descendant tests. - - - - - Returns a TNode representing the current result after - adding it as a child of the supplied parent node. - - The parent node. - If true, descendant results are included - - - - - Gets this test's child tests - - A list of child tests - - - - Gets the name used for the top-level element in the - XML representation of this test - - - - - Returns the name of the method - - - - - TestSuite represents a composite test, which contains other tests. - - - - - Our collection of child tests - - - - - Initializes a new instance of the class. - - The name of the suite. - - - - Initializes a new instance of the class. - - Name of the parent suite. - The name of the suite. - - - - Initializes a new instance of the class. - - Type of the fixture. - Arguments used to instantiate the test fixture, or null if none used. - - - - Initializes a new instance of the class. - - Type of the fixture. - - - - Creates a copy of the given suite with only the descendants that pass the specified filter. - - The to copy. - Determines which descendants are copied. - - - - Sorts tests under this suite. - - - - - Adds a test to the suite. - - The test. - - - - Creates a filtered copy of the test suite. - - Determines which descendants are copied. - - - - Gets this test's child tests - - The list of child tests - - - - Gets a count of test cases represented by - or contained under this test. - - - - - - The arguments to use in creating the fixture, or empty array if none are provided. - - - - - Set to true to suppress sorting this suite's contents - - - - - OneTimeSetUp methods for this suite - - - - - OneTimeTearDown methods for this suite - - - - - Overridden to return a TestSuiteResult. - - A TestResult for this test. - - - - Gets a bool indicating whether the current test - has any descendant tests. - - - - - Gets the name used for the top-level element in the - XML representation of this test - - - - - Returns an XmlNode representing the current result after - adding it as a child of the supplied parent node. - - The parent node. - If true, descendant results are included - - - - - Check that setup and teardown methods marked by certain attributes - meet NUnit's requirements and mark the tests not runnable otherwise. - - - - - ThreadUtility provides a set of static methods convenient - for working with threads. - - - - Gets or if the current platform does not support it. - - - Sets if current platform supports it. - Value to set. If the current platform does not support then the only allowed value is . - - - - TypeHelper provides static methods that operate on Types. - - - - - Gets the display name for a Type as used by NUnit. - - The Type for which a display name is needed. - The display name for the Type - - - - Gets the display name for a Type as used by NUnit. - - The Type for which a display name is needed. - The arglist provided. - The display name for the Type - - - - Returns the best fit for a common type to be used in - matching actual arguments to a methods Type parameters. - - - - - Determines whether the specified type is numeric. - - The type to be examined. - - if the specified type is numeric; otherwise, . - - - - - Convert an argument list to the required parameter types. - Currently, only widening numeric conversions are performed. - - An array of args to be converted - A ParameterInfo[] whose types will be used as targets - - - - Determines whether this instance can deduce type args for a generic type from the supplied arguments. - - The type to be examined. - The arglist. - The type args to be used. - - if this the provided args give sufficient information to determine the type args to be used; otherwise, . - - - - - Return the interfaces implemented by a Type. - - The Type to be examined. - An array of Types for the interfaces. - - - - Return whether or not the given type is a ValueTuple. - - Type. - Whether or not the given type is a ValueTuple. - - - - Return whether or not the given type is a Tuple. - - Type. - Whether or not the given type is a Tuple. - - - - Determines whether the cast to the given type would succeed. - If is and - can be , the cast succeeds just like the C# language feature. - - The object to cast. - - - - Casts to a value of the given type if possible. - If is and - can be , the cast succeeds just like the C# language feature. - - The object to cast. - The value of the object, if the cast succeeded. - - - - Used for resolving the type difference between objects. - - - - - Gets the shortened type name difference between and . - - The expected object. - The actual object. - Output of the unique type name for the expected object. - Output of the unique type name for actual object. - - - - Gets the shortened type name difference between and . - - The expected object . - The actual object . - Output of the unique type name for the expected object. - Output of the unique type name for actual object. - - - - Obtain the shortened generic template parameters of the given and , - if they are generic. - - The expected . - The actual . - Shortened generic parameters of the expected . - Shortened generic parameters of the actual . - - - - Obtain a shortened name of the given . - - - - - Shorten the given names by only including the relevant differing namespaces/types, if they differ. - - The expected . - The actual . - The shortened expected name. - The shortened actual name. - - - - Returns whether or not the is generic. - - - - - Returns the fully qualified generic name of a given . - - - - - Reconstruct a generic type name using the provided generic type name, and a - of the template parameters. - - The name of the generic type, including the number of template parameters expected. - A of names of the template parameters of the provided generic type. - - - - Obtain the shortened generic names of the given expected and actual s. - - The expected . - The actual . - The shortened expected generic name. - The shortened actual generic name. - - - - The TypeWrapper class wraps a Type so it may be used in - a platform-independent manner. - - - - - Construct a TypeWrapper for a specified Type. - - - - - Gets the underlying Type on which this TypeWrapper is based. - - - - - Gets the base type of this type as an ITypeInfo - - - - - Gets the Name of the Type - - - - - Gets the FullName of the Type - - - - - Gets the assembly in which the type is declared - - - - - Gets the namespace of the Type - - - - - Gets a value indicating whether the type is abstract. - - - - - Gets a value indicating whether the Type is a generic Type - - - - - Returns true if the Type wrapped is T - - - - - Gets a value indicating whether the Type has generic parameters that have not been replaced by specific Types. - - - - - Gets a value indicating whether the Type is a generic Type definition - - - - - Gets a value indicating whether the type is sealed. - - - - - Gets a value indicating whether this type represents a static class. - - - - - Get the display name for this type - - - - - Get the display name for an object of this type, constructed with the specified args. - - - - - Returns a new ITypeInfo representing an instance of this generic Type using the supplied Type arguments - - - - - Returns a Type representing a generic type definition from which this Type can be constructed. - - - - - Returns an array of custom attributes of the specified type applied to this type - - - - - Returns a value indicating whether the type has an attribute of the specified type. - - - - - - - - Returns a flag indicating whether this type has a method with an attribute of the specified type. - - - - - - - Returns an array of IMethodInfos for methods of this Type - that match the specified flags. - - - - - Gets the public constructor taking the specified argument Types - - - - - Returns a value indicating whether this Type has a public constructor taking the specified argument Types. - - - - - Construct an object of this Type, using the specified arguments. - - - - - Override ToString() so that error messages in NUnit's own tests make sense - - - - - Returns all methods declared by this type that have the specified attribute, optionally - including base classes. Methods from a base class are always returned before methods from a class that - inherits from it. - - Specifies whether to search the fixture type inheritance chain. - - - - Encapsulates the ability to increment a value by an amount which may be of a different type. - - - - - Creates a from the specified value if the current instance is able to - use it to increment the on values which it operates. If the creation fails, - is thrown. - - - - - - Creates a from the specified value if the current instance is able to - use it to increment values on which it operates. A return value indicates - whether the creation succeeded. - - - - - Provides a convenient shorthand when is - and the default value of represents zero. - - - - - Initializes a new instance of the class. - - The amount by which to increment each time this step is applied. - - Must increment the given value and return the result. - If the result is outside the range representable by , - must throw . If the result does not change due to lack - of precision representable by , must throw . - - - - - Increments the given value and returns the result. - If the result is outside the range representable by , - throws . If the result does not change due to lack - of precision representable by , throws . - - - - - - - Encapsulates the ability to increment a value by an amount - which may be of a different type. - - - - - Increments the given value and returns the result. - If the result is outside the range representable by , - throws . If the result does not change due to lack - of precision representable by , throws . - - - - - - - Creates a from the specified value if the current instance is able to - use it to increment values of type . If the creation fails, - is thrown. - - - - - - Creates a from the specified value if the current instance is able to - use it to increment values of type . A return value indicates - whether the creation succeeded. - - - - - The IgnoredTestCaseData class represents a ignored TestCaseData. It adds - the ability to set a date until which the test will be ignored. - - - - - The previous RunState - - - - - Set the date that the test is being ignored until - - The date that the test is being ignored until - A modified TestCaseData. - - - - Helper class with properties and methods that supply - a number of constraints used in Asserts. - - - - - Returns a ConstraintExpression that negates any - following constraint. - - - - - Returns a ConstraintExpression, which will apply - the following constraint to all members of a collection, - succeeding if all of them succeed. - - - - - Returns a constraint that tests for null - - - - - Returns a constraint that tests for True - - - - - Returns a constraint that tests for False - - - - - Returns a constraint that tests for a positive value - - - - - Returns a constraint that tests for a negative value - - - - - Returns a constraint that tests for equality with zero - - - - - Returns a constraint that tests for NaN - - - - - Returns a constraint that tests for empty - - - - - Returns a constraint that tests whether a collection - contains all unique items. - - - - - Returns a constraint that tests whether an object graph is serializable in binary format. - - - - - Returns a constraint that tests whether an object graph is serializable in XML format. - - - - - Returns a constraint that tests two items for equality - - - - - Returns a constraint that tests that two references are the same object - - - - - Returns a constraint that tests whether the - actual value is greater than the supplied argument - - - - - Returns a constraint that tests whether the - actual value is greater than or equal to the supplied argument - - - - - Returns a constraint that tests whether the - actual value is greater than or equal to the supplied argument - - - - - Returns a constraint that tests whether the - actual value is less than the supplied argument - - - - - Returns a constraint that tests whether the - actual value is less than or equal to the supplied argument - - - - - Returns a constraint that tests whether the - actual value is less than or equal to the supplied argument - - - - - Returns a constraint that tests whether the actual - value is of the exact type supplied as an argument. - - - - - Returns a constraint that tests whether the actual - value is of the exact type supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is of the type supplied as an argument or a derived type. - - - - - Returns a constraint that tests whether the actual value - is of the type supplied as an argument or a derived type. - - - - - Returns a constraint that tests whether the actual value - is assignable from the type supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is assignable from the type supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is assignable to the type supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is assignable to the type supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is a collection containing the same elements as the - collection supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is a subset of the collection supplied as an argument. - - - - - Returns a constraint that tests whether the actual value - is a superset of the collection supplied as an argument. - - - - - Returns a constraint that tests whether a collection is ordered - - - - - Returns a constraint that tests whether the path provided - is the same as an expected path after canonicalization. - - - - - Returns a constraint that tests whether the path provided - is a subpath of the expected path after canonicalization. - - - - - Returns a constraint that tests whether the path provided - is the same path or under an expected path after canonicalization. - - - - - Returns a constraint that tests whether the actual value falls - inclusively within a specified range. - - Inclusive beginning of the range. - Inclusive end of the range. - - - - - Returns a constraint that tests if an item is equal to any of parameters - - Expected values - - - - When implemented by an attribute, this interface implemented to provide actions to execute before and after tests. - - - - - Executed before each test is run - - The test that is going to be run. - - - - Executed after each test is run - - The test that has just been run. - - - - Provides the target for the action attribute - - The target for the action attribute - - - - The Iz class is a synonym for Is intended for use in VB, - which regards Is as a keyword. - - - - - The List class is a helper class with properties and methods - that supply a number of constraints used with lists and collections. - - - - - List.Map returns a ListMapper, which can be used to map - the original collection to another collection. - - - - - - - ListMapper is used to transform a collection used as an actual argument - producing another collection to be used in the assertion. - - - - - Construct a ListMapper based on a collection - - The collection to be transformed - - - - Produces a collection containing all the values of a property - - The collection of property values - - - - - Basic Asserts on strings. - - - - - DO NOT USE! Use StringAssert.AreEqualIgnoringCase(...) or Assert.AreEqual(...) instead. - The Equals method throws an InvalidOperationException. This is done - to make sure there is no mistake by calling this function. - - - - - - - DO NOT USE! - The ReferenceEquals method throws an InvalidOperationException. This is done - to make sure there is no mistake by calling this function. - - - - - - - Asserts that a string is found within another string. - - The expected string - The string to be examined - The message to display in case of failure - Arguments used in formatting the message - - - - Asserts that a string is found within another string. - - The expected string - The string to be examined - - - - Asserts that a string is not found within another string. - - The expected string - The string to be examined - The message to display in case of failure - Arguments used in formatting the message - - - - Asserts that a string is found within another string. - - The expected string - The string to be examined - - - - Asserts that a string starts with another string. - - The expected string - The string to be examined - The message to display in case of failure - Arguments used in formatting the message - - - - Asserts that a string starts with another string. - - The expected string - The string to be examined - - - - Asserts that a string does not start with another string. - - The expected string - The string to be examined - The message to display in case of failure - Arguments used in formatting the message - - - - Asserts that a string does not start with another string. - - The expected string - The string to be examined - - - - Asserts that a string ends with another string. - - The expected string - The string to be examined - The message to display in case of failure - Arguments used in formatting the message - - - - Asserts that a string ends with another string. - - The expected string - The string to be examined - - - - Asserts that a string does not end with another string. - - The expected string - The string to be examined - The message to display in case of failure - Arguments used in formatting the message - - - - Asserts that a string does not end with another string. - - The expected string - The string to be examined - - - - Asserts that two strings are equal, without regard to case. - - The expected string - The actual string - The message to display in case of failure - Arguments used in formatting the message - - - - Asserts that two strings are equal, without regard to case. - - The expected string - The actual string - - - - Asserts that two strings are not equal, without regard to case. - - The expected string - The actual string - The message to display in case of failure - Arguments used in formatting the message - - - - Asserts that two strings are not equal, without regard to case. - - The expected string - The actual string - - - - Asserts that a string matches an expected regular expression pattern. - - The regex pattern to be matched - The actual string - The message to display in case of failure - Arguments used in formatting the message - - - - Asserts that a string matches an expected regular expression pattern. - - The regex pattern to be matched - The actual string - - - - Asserts that a string does not match an expected regular expression pattern. - - The regex pattern to be used - The actual string - The message to display in case of failure - Arguments used in formatting the message - - - - Asserts that a string does not match an expected regular expression pattern. - - The regex pattern to be used - The actual string - - - - The TestCaseData class represents a set of arguments - and other parameter info to be used for a parameterized - test case. It is derived from TestCaseParameters and adds a - fluent syntax for use in initializing the test case. - - - - - Initializes a new instance of the class. - - The arguments. - - - - Initializes a new instance of the class. - - The argument. - - - - Initializes a new instance of the class. - - The first argument. - The second argument. - - - - Initializes a new instance of the class. - - The first argument. - The second argument. - The third argument. - - - - Sets the expected result for the test - - The expected result - A modified TestCaseData - - - - Sets the name of the test case - - The modified TestCaseData instance - - - - Sets the list of display names to use as the parameters in the test name. - - - - - Sets the description for the test case - being constructed. - - The description. - The modified TestCaseData instance. - - - - Applies a category to the test - - - - - - - Applies a named property to the test - - - - - - - - Applies a named property to the test - - - - - - - - Applies a named property to the test - - - - - - - - Marks the test case as explicit. - - - - - Marks the test case as explicit, specifying the reason. - - - - - Ignores this TestCase, specifying the reason. - - The reason. - - - - - Provide the context information of the current test. - This is an adapter for the internal ExecutionContext - class, hiding the internals from the user test. - - - - - Construct a TestContext for an ExecutionContext - - The ExecutionContext to adapt - - - - Get the current test context. This is created - as needed. The user may save the context for - use within a test, but it should not be used - outside the test for which it is created. - - - - - Gets a TextWriter that will send output to the current test result. - - - - - Gets a TextWriter that will send output directly to Console.Error - - - - - Gets a TextWriter for use in displaying immediate progress messages - - - - - TestParameters object holds parameters for the test run, if any are specified - - - - - Static DefaultWorkDirectory is now used as the source - of the public instance property WorkDirectory. This is - a bit odd but necessary to avoid breaking user tests. - - - - - Get a representation of the current test. - - - - - Gets a Representation of the TestResult for the current test. - - - - - Gets the unique name of the Worker that is executing this test. - - - - - Gets the directory containing the current test assembly. - - - - - Gets the directory to be used for outputting files created - by this test run. - - - - - Gets the random generator. - - - The random generator. - - - - - Gets the number of assertions executed - up to this point in the test. - - - - - Get the number of times the current Test has been repeated - when using the or . - - - - Write the string representation of a boolean value to the current result - - - Write a char to the current result - - - Write a char array to the current result - - - Write the string representation of a double to the current result - - - Write the string representation of an Int32 value to the current result - - - Write the string representation of an Int64 value to the current result - - - Write the string representation of a decimal value to the current result - - - Write the string representation of an object to the current result - - - Write the string representation of a Single value to the current result - - - Write a string to the current result - - - Write the string representation of a UInt32 value to the current result - - - Write the string representation of a UInt64 value to the current result - - - Write a formatted string to the current result - - - Write a formatted string to the current result - - - Write a formatted string to the current result - - - Write a formatted string to the current result - - - Write a line terminator to the current result - - - Write the string representation of a boolean value to the current result followed by a line terminator - - - Write a char to the current result followed by a line terminator - - - Write a char array to the current result followed by a line terminator - - - Write the string representation of a double to the current result followed by a line terminator - - - Write the string representation of an Int32 value to the current result followed by a line terminator - - - Write the string representation of an Int64 value to the current result followed by a line terminator - - - Write the string representation of a decimal value to the current result followed by a line terminator - - - Write the string representation of an object to the current result followed by a line terminator - - - Write the string representation of a Single value to the current result followed by a line terminator - - - Write a string to the current result followed by a line terminator - - - Write the string representation of a UInt32 value to the current result followed by a line terminator - - - Write the string representation of a UInt64 value to the current result followed by a line terminator - - - Write a formatted string to the current result followed by a line terminator - - - Write a formatted string to the current result followed by a line terminator - - - Write a formatted string to the current result followed by a line terminator - - - Write a formatted string to the current result followed by a line terminator - - - - This method adds the a new ValueFormatterFactory to the - chain of responsibility used for formatting values in messages. - The scope of the change is the current TestContext. - - The factory delegate - - - - Attach a file to the current test result - - Relative or absolute file path to attachment - Optional description of attachment - - - - This method provides a simplified way to add a ValueFormatter - delegate to the chain of responsibility, creating the factory - delegate internally. It is useful when the Type of the object - is the only criterion for selection of the formatter, since - it can be used without getting involved with a compound function. - - The type supported by this formatter - The ValueFormatter delegate - - - - TestAdapter adapts a Test for consumption by - the user test code. - - - - - Construct a TestAdapter for a Test - - The Test to be adapted - - - - Gets the unique Id of a test - - - - - The name of the test, which may or may not be - the same as the method name. - - - - - The name of the method representing the test. - - - - - The FullName of the test - - - - - The ClassName of the test - - - - - A shallow copy of the properties of the test. - - - - - The arguments to use in creating the test or empty array if none are required. - - - - - ResultAdapter adapts a TestResult for consumption by - the user test code. - - - - - Construct a ResultAdapter for a TestResult - - The TestResult to be adapted - - - - Gets a ResultState representing the outcome of the test - up to this point in its execution. - - - - - Gets a list of the assertion results generated - up to this point in the test. - - - - - Gets the message associated with a test - failure or with not running the test - - - - - Gets any stack trace associated with an - error or failure. - - - - - Gets the number of test cases that failed - when running the test and all its children. - - - - - Gets the number of test cases that had warnings - when running the test and all its children. - - - - - Gets the number of test cases that passed - when running the test and all its children. - - - - - Gets the number of test cases that were skipped - when running the test and all its children. - - - - - Gets the number of test cases that were inconclusive - when running the test and all its children. - - - - - adapts an - for consumption by the user. - - - - - Construct a from a source - . - - - - - Get the first property with the given , if it can be found, otherwise - returns null. - - - - - Indicates whether is found in this - . - - - - - Returns a collection of properties - with the given . - - - - - Returns the count of elements with the given . - - - - - Returns a collection of the property keys. - - - - - The TestFixtureData class represents a set of arguments - and other parameter info to be used for a parameterized - fixture. It is derived from TestFixtureParameters and adds a - fluent syntax for use in initializing the fixture. - - - - - Initializes a new instance of the class. - - The arguments. - - - - Initializes a new instance of the class. - - The argument. - - - - Initializes a new instance of the class. - - The first argument. - The second argument. - - - - Initializes a new instance of the class. - - The first argument. - The second argument. - The third argument. - - - - Sets the name of the test fixture - - The modified TestFixtureData instance - - - - Sets the list of display names to use as the parameters in the test name. - - - - - Marks the test fixture as explicit. - - - - - Marks the test fixture as explicit, specifying the reason. - - - - - Ignores this TestFixture, specifying the reason. - - The reason. - - - - - TestParameters class holds any named parameters supplied to the test run - - - - - Gets the number of test parameters - - - - - Gets a collection of the test parameter names - - - - - Gets a flag indicating whether a parameter with the specified name exists. - - Name of the parameter - True if it exists, otherwise false - - - - Indexer provides access to the internal dictionary - - Name of the parameter - Value of the parameter or null if not present - - - - Get method is a simple alternative to the indexer - - Name of the parameter - Value of the parameter or null if not present - - - - Get the value of a parameter or a default string - - Name of the parameter - Default value of the parameter - Value of the parameter or default value if not present - - - - Get the value of a parameter or return a default - - The return Type - Name of the parameter - Default value of the parameter - Value of the parameter or default value if not present - - - - Adds a parameter to the list - - Name of the parameter - Value of the parameter - - - - Helper class with properties and methods that supply - constraints that operate on exceptions. - - - - - Creates a constraint specifying an expected exception - - - - - Creates a constraint specifying an exception with a given InnerException - - - - - Creates a constraint specifying an expected TargetInvocationException - - - - - Creates a constraint specifying an expected ArgumentException - - - - - Creates a constraint specifying an expected ArgumentNullException - - - - - Creates a constraint specifying an expected InvalidOperationException - - - - - Creates a constraint specifying that no exception is thrown - - - - - Creates a constraint specifying the exact type of exception expected - - - - - Creates a constraint specifying the exact type of exception expected - - - - - Creates a constraint specifying the type of exception expected - - - - - Creates a constraint specifying the type of exception expected - - - - - Provides static methods to express conditions - that must be met for the test to succeed. If - any test fails, a warning is issued. - - - - - DO NOT USE! - The Equals method throws an InvalidOperationException. This is done - to make sure there is no mistake by calling this function. - - The left object. - The right object. - Not applicable - - - - DO NOT USE! - The ReferenceEquals method throws an InvalidOperationException. This is done - to make sure there is no mistake by calling this function. - - The left object. - The right object. - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and issuing a warning on failure. - - The Type being compared. - An ActualValueDelegate returning the value to be tested - A Constraint expression to be applied - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and issuing a warning on failure. - - The Type being compared. - An ActualValueDelegate returning the value to be tested - A Constraint expression to be applied - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and issuing a warning on failure. - - The Type being compared. - An ActualValueDelegate returning the value to be tested - A Constraint expression to be applied - A function to build the message included with the Exception - - - - Asserts that a condition is true. If the condition is false, a warning is issued. - - The evaluated condition - The message to display if the condition is false - Arguments to be used in formatting the message - - - - Asserts that a condition is true. If the condition is false, a warning is issued. - - The evaluated condition - - - - Asserts that a condition is true. If the condition is false, a warning is issued. - - The evaluated condition - A function to build the message included with the Exception - - - - Asserts that a condition is true. If the condition is false, a warning is issued. - - A lambda that returns a Boolean - The message to display if the condition is false - Arguments to be used in formatting the message - - - - Asserts that a condition is true. If the condition is false, a warning is issued. - - A lambda that returns a Boolean - - - - Asserts that a condition is true. If the condition is false, a warning is issued. - - A lambda that returns a Boolean - A function to build the message included with the Exception - - - - Asserts that the code represented by a delegate throws an exception - that satisfies the constraint provided. - - A TestDelegate to be executed - A Constraint expression to be applied - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and issuing a warning on failure. - - The Type being compared. - The actual value to test - A Constraint expression to be applied - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and issuing a warning on failure. - - The Type being compared. - The actual value to test - A Constraint expression to be applied - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and issuing a warning on failure. - - The Type being compared. - The actual value to test - A Constraint expression to be applied - A function to build the message included with the Exception - - - - Apply a constraint to an actual value, succeeding if the constraint - fails and issuing a warning on success. - - The Type being compared. - An ActualValueDelegate returning the value to be tested - A Constraint expression to be applied - - - - Apply a constraint to an actual value, succeeding if the constraint - fails and issuing a warning on success. - - The Type being compared. - An ActualValueDelegate returning the value to be tested - A Constraint expression to be applied - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Apply a constraint to an actual value, succeeding if the constraint - fails and issuing a warning on failure. - - The Type being compared. - An ActualValueDelegate returning the value to be tested - A Constraint expression to be applied - A function to build the message included with the Exception - - - - Asserts that a condition is true. If the condition is false, a warning is issued. - - The evaluated condition - The message to display if the condition is false - Arguments to be used in formatting the message - - - - Asserts that a condition is true. If the condition is false, a warning is issued. - - The evaluated condition - - - - Asserts that a condition is true. If the condition is false, a warning is issued. - - The evaluated condition - A function to build the message included with the Exception - - - - Asserts that a condition is false. If the condition is true a warning is issued. - - A lambda that returns a Boolean - The message to display if the condition is true - Arguments to be used in formatting the message - - - - Asserts that a condition is false. If the condition is true a warning is issued. - - A lambda that returns a Boolean - - - - Asserts that a condition is false. If the condition is true a warning is issued. - - A lambda that returns a Boolean - A function to build the message included with the Exception - - - - Apply a constraint to an actual value, succeeding if the constraint - fails and issuing a warning if it succeeds. - - The Type being compared. - The actual value to test - A Constraint expression to be applied - - - - Apply a constraint to an actual value, succeeding if the constraint - fails and issuing a warning if it succeeds. - - The Type being compared. - The actual value to test - A Constraint expression to be applied - The message that will be displayed on failure - Arguments to be used in formatting the message - - - - Apply a constraint to an actual value, succeeding if the constraint - is satisfied and issuing a warning on failure. - - The Type being compared. - The actual value to test - A Constraint expression to be applied - A function to build the message included with the Exception - - - - FrameworkPackageSettings is a static class containing constant values that - are used as keys in setting up a TestPackage. These values are used in - the framework, and set in the runner. Setting values may be a string, int or bool. - - - - - Flag (bool) indicating whether tests are being debugged. - - - - - Flag (bool) indicating whether to pause execution of tests to allow - the user to attach a debugger. - - - - - The InternalTraceLevel for this run. Values are: "Default", - "Off", "Error", "Warning", "Info", "Debug", "Verbose". - Default is "Off". "Debug" and "Verbose" are synonyms. - - - - - Full path of the directory to be used for work and result files. - This path is provided to tests by the framework TestContext. - - - - - Integer value in milliseconds for the default timeout value - for test cases. If not specified, there is no timeout except - as specified by attributes on the tests themselves. - - - - - A string representing the default thread culture to be used for - running tests. String should be a valid BCP-47 culture name. If - culture is unset, tests run on the machine's default culture. - - - - - A string representing the default thread UI culture to be used for - running tests. String should be a valid BCP-47 culture name. If - culture is unset, tests run on the machine's default culture. - - - - - A TextWriter to which the internal trace will be sent. - - - - - A list of tests to be loaded. - - - - - The number of test threads to run for the assembly. If set to - 1, a single queue is used. If set to 0, tests are executed - directly, without queuing. - - - - - The random seed to be used for this assembly. If specified - as the value reported from a prior run, the framework should - generate identical random values for tests as were used for - that run, provided that no change has been made to the test - assembly. Default is a random value itself. - - - - - If true, execution stops after the first error or failure. - - - - - If true, use of the event queue is suppressed and test events are synchronous. - - - - - The default naming pattern used in generating test names - - - - - Parameters to be passed on to the tests, serialized to a single string which needs parsing. Obsoleted by ; kept for backward compatibility. - - - - - Parameters to be passed on to the tests, already parsed into an IDictionary<string, string>. Replaces . - - - - - If true, the tests will run on the same thread as the NUnit runner itself - - - - - Provides a platform-independent methods for getting attributes - for use by AttributeConstraint and AttributeExistsConstraint. - - - - - Gets the custom attributes from the given object. - - The actual. - Type of the attribute. - if set to [inherit]. - A list of the given attribute on the given object. - - - - A MarshalByRefObject that lives forever - - - - - Obtains a lifetime service object to control the lifetime policy for this instance. - - - - Specifies that null is allowed as an input even if the corresponding type disallows it. - - - Specifies that null is disallowed as an input even if the corresponding type allows it. - - - Specifies that an output may be null even if the corresponding type disallows it. - - - Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns. - - - Specifies that when a method returns , the parameter may be null even if the corresponding type disallows it. - - - Initializes the attribute with the specified return value condition. - - The return value condition. If the method returns this value, the associated parameter may be null. - - - - Gets the return value condition. - - - Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. - - - Initializes the attribute with the specified return value condition. - - The return value condition. If the method returns this value, the associated parameter will not be null. - - - - Gets the return value condition. - - - Specifies that the output will be non-null if the named parameter is non-null. - - - Initializes the attribute with the associated parameter name. - - The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null. - - - - Gets the associated parameter name. - - - Applied to a method that will never return under any circumstance. - - - Specifies that the method will not return if the associated Boolean parameter is passed the specified value. - - - Initializes the attribute with the specified parameter value. - - The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to - the associated parameter matches this value. - - - - Gets the condition parameter value. - - - - 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/src/packages/Should.1.1.20/.signature.p7s b/src/packages/Should.1.1.20/.signature.p7s deleted file mode 100644 index 82bd94702d664d26d5175d1b666bdf77aaca8e68..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9467 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 diff --git a/src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/Icon.png b/src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/Icon.png deleted file mode 100644 index a0f1fdbf4d5eae0e561018cccee74f6a454cdb9c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7006 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 diff --git a/src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/LICENSE.TXT b/src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/LICENSE.TXT deleted file mode 100644 index 984713a..0000000 --- a/src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/LICENSE.TXT +++ /dev/null @@ -1,23 +0,0 @@ -The MIT License (MIT) - -Copyright (c) .NET Foundation and Contributors - -All rights reserved. - -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/src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/System.Runtime.CompilerServices.Unsafe.5.0.0.nupkg b/src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/System.Runtime.CompilerServices.Unsafe.5.0.0.nupkg deleted file mode 100644 index 426776aa009cd5ae77b59223ad284c69682c9427..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 130329 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 - - - System.Runtime.CompilerServices.Unsafe - - - - Contains generic, low-level functionality for manipulating pointers. - - - Adds an element offset to the given reference. - The reference to add the offset to. - The offset to add. - The type of reference. - A new reference that reflects the addition of offset to pointer. - - - Adds an element offset to the given reference. - The reference to add the offset to. - The offset to add. - The type of reference. - A new reference that reflects the addition of offset to pointer. - - - Adds an element offset to the given void pointer. - The void pointer to add the offset to. - The offset to add. - The type of void pointer. - A new void pointer that reflects the addition of offset to the specified pointer. - - - Adds a byte offset to the given reference. - The reference to add the offset to. - The offset to add. - The type of reference. - A new reference that reflects the addition of byte offset to pointer. - - - Determines whether the specified references point to the same location. - The first reference to compare. - The second reference to compare. - The type of reference. - - if and point to the same location; otherwise, . - - - Casts the given object to the specified type. - The object to cast. - The type which the object will be cast to. - The original object, casted to the given type. - - - Reinterprets the given reference as a reference to a value of type . - The reference to reinterpret. - The type of reference to reinterpret. - The desired type of the reference. - A reference to a value of type . - - - Returns a pointer to the given by-ref parameter. - The object whose pointer is obtained. - The type of object. - A pointer to the given value. - - - Reinterprets the given read-only reference as a reference. - The read-only reference to reinterpret. - The type of reference. - A reference to a value of type . - - - Reinterprets the given location as a reference to a value of type . - The location of the value to reference. - The type of the interpreted location. - A reference to a value of type . - - - Determines the byte offset from origin to target from the given references. - The reference to origin. - The reference to target. - The type of reference. - Byte offset from origin to target i.e. - . - - - Copies a value of type to the given location. - The location to copy to. - A pointer to the value to copy. - The type of value to copy. - - - Copies a value of type to the given location. - The location to copy to. - A reference to the value to copy. - The type of value to copy. - - - Copies bytes from the source address to the destination address. - The destination address to copy to. - The source address to copy from. - The number of bytes to copy. - - - Copies bytes from the source address to the destination address. - The destination address to copy to. - The source address to copy from. - The number of bytes to copy. - - - Copies bytes from the source address to the destination address without assuming architecture dependent alignment of the addresses. - The destination address to copy to. - The source address to copy from. - The number of bytes to copy. - - - Copies bytes from the source address to the destination address without assuming architecture dependent alignment of the addresses. - The destination address to copy to. - The source address to copy from. - The number of bytes to copy. - - - Initializes a block of memory at the given location with a given initial value. - The address of the start of the memory block to initialize. - The value to initialize the block to. - The number of bytes to initialize. - - - Initializes a block of memory at the given location with a given initial value. - The address of the start of the memory block to initialize. - The value to initialize the block to. - The number of bytes to initialize. - - - Initializes a block of memory at the given location with a given initial value without assuming architecture dependent alignment of the address. - The address of the start of the memory block to initialize. - The value to initialize the block to. - The number of bytes to initialize. - - - Initializes a block of memory at the given location with a given initial value without assuming architecture dependent alignment of the address. - The address of the start of the memory block to initialize. - The value to initialize the block to. - The number of bytes to initialize. - - - Returns a value that indicates whether a specified reference is greater than another specified reference. - The first value to compare. - The second value to compare. - The type of the reference. - - if is greater than ; otherwise, . - - - Returns a value that indicates whether a specified reference is less than another specified reference. - The first value to compare. - The second value to compare. - The type of the reference. - - if is less than ; otherwise, . - - - - - - - - - - Reads a value of type from the given location. - The location to read from. - The type to read. - An object of type read from the given location. - - - Reads a value of type from the given location without assuming architecture dependent alignment of the addresses. - The location to read from. - The type to read. - An object of type read from the given location. - - - Reads a value of type from the given location without assuming architecture dependent alignment of the addresses. - The location to read from. - The type to read. - An object of type read from the given location. - - - Returns the size of an object of the given type parameter. - The type of object whose size is retrieved. - The size of an object of type . - - - Bypasses definite assignment rules for a given value. - The uninitialized object. - The type of the uninitialized object. - - - Subtracts an element offset from the given reference. - The reference to subtract the offset from. - The offset to subtract. - The type of reference. - A new reference that reflects the subtraction of offset from pointer. - - - Subtracts an element offset from the given reference. - The reference to subtract the offset from. - The offset to subtract. - The type of reference. - A new reference that reflects the subtraction of offset from pointer. - - - Subtracts an element offset from the given void pointer. - The void pointer to subtract the offset from. - The offset to subtract. - The type of the void pointer. - A new void pointer that reflects the subtraction of offset from the specified pointer. - - - Subtracts a byte offset from the given reference. - The reference to subtract the offset from. - The offset to subtract. - The type of reference. - A new reference that reflects the subtraction of byte offset from pointer. - - - Returns a to a boxed value. - The value to unbox. - The type to be unboxed. - - is , and is a non-nullable value type. - - is not a boxed value type. - --or- - - is not a boxed . - - cannot be found. - A to the boxed value . - - - Writes a value of type to the given location. - The location to write to. - The value to write. - The type of value to write. - - - Writes a value of type to the given location without assuming architecture dependent alignment of the addresses. - The location to write to. - The value to write. - The type of value to write. - - - Writes a value of type to the given location without assuming architecture dependent alignment of the addresses. - The location to write to. - The value to write. - The type of value to write. - - - \ No newline at end of file diff --git a/src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/lib/netcoreapp2.0/System.Runtime.CompilerServices.Unsafe.xml b/src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/lib/netcoreapp2.0/System.Runtime.CompilerServices.Unsafe.xml deleted file mode 100644 index b5dd21b..0000000 --- a/src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/lib/netcoreapp2.0/System.Runtime.CompilerServices.Unsafe.xml +++ /dev/null @@ -1,258 +0,0 @@ - - - - System.Runtime.CompilerServices.Unsafe - - - - Contains generic, low-level functionality for manipulating pointers. - - - Adds an element offset to the given reference. - The reference to add the offset to. - The offset to add. - The type of reference. - A new reference that reflects the addition of offset to pointer. - - - Adds an element offset to the given reference. - The reference to add the offset to. - The offset to add. - The type of reference. - A new reference that reflects the addition of offset to pointer. - - - Adds an element offset to the given void pointer. - The void pointer to add the offset to. - The offset to add. - The type of void pointer. - A new void pointer that reflects the addition of offset to the specified pointer. - - - Adds a byte offset to the given reference. - The reference to add the offset to. - The offset to add. - The type of reference. - A new reference that reflects the addition of byte offset to pointer. - - - Determines whether the specified references point to the same location. - The first reference to compare. - The second reference to compare. - The type of reference. - - if and point to the same location; otherwise, . - - - Casts the given object to the specified type. - The object to cast. - The type which the object will be cast to. - The original object, casted to the given type. - - - Reinterprets the given reference as a reference to a value of type . - The reference to reinterpret. - The type of reference to reinterpret. - The desired type of the reference. - A reference to a value of type . - - - Returns a pointer to the given by-ref parameter. - The object whose pointer is obtained. - The type of object. - A pointer to the given value. - - - Reinterprets the given read-only reference as a reference. - The read-only reference to reinterpret. - The type of reference. - A reference to a value of type . - - - Reinterprets the given location as a reference to a value of type . - The location of the value to reference. - The type of the interpreted location. - A reference to a value of type . - - - Determines the byte offset from origin to target from the given references. - The reference to origin. - The reference to target. - The type of reference. - Byte offset from origin to target i.e. - . - - - Copies a value of type to the given location. - The location to copy to. - A pointer to the value to copy. - The type of value to copy. - - - Copies a value of type to the given location. - The location to copy to. - A reference to the value to copy. - The type of value to copy. - - - Copies bytes from the source address to the destination address. - The destination address to copy to. - The source address to copy from. - The number of bytes to copy. - - - Copies bytes from the source address to the destination address. - The destination address to copy to. - The source address to copy from. - The number of bytes to copy. - - - Copies bytes from the source address to the destination address without assuming architecture dependent alignment of the addresses. - The destination address to copy to. - The source address to copy from. - The number of bytes to copy. - - - Copies bytes from the source address to the destination address without assuming architecture dependent alignment of the addresses. - The destination address to copy to. - The source address to copy from. - The number of bytes to copy. - - - Initializes a block of memory at the given location with a given initial value. - The address of the start of the memory block to initialize. - The value to initialize the block to. - The number of bytes to initialize. - - - Initializes a block of memory at the given location with a given initial value. - The address of the start of the memory block to initialize. - The value to initialize the block to. - The number of bytes to initialize. - - - Initializes a block of memory at the given location with a given initial value without assuming architecture dependent alignment of the address. - The address of the start of the memory block to initialize. - The value to initialize the block to. - The number of bytes to initialize. - - - Initializes a block of memory at the given location with a given initial value without assuming architecture dependent alignment of the address. - The address of the start of the memory block to initialize. - The value to initialize the block to. - The number of bytes to initialize. - - - Returns a value that indicates whether a specified reference is greater than another specified reference. - The first value to compare. - The second value to compare. - The type of the reference. - - if is greater than ; otherwise, . - - - Returns a value that indicates whether a specified reference is less than another specified reference. - The first value to compare. - The second value to compare. - The type of the reference. - - if is less than ; otherwise, . - - - - - - - - - - Reads a value of type from the given location. - The location to read from. - The type to read. - An object of type read from the given location. - - - Reads a value of type from the given location without assuming architecture dependent alignment of the addresses. - The location to read from. - The type to read. - An object of type read from the given location. - - - Reads a value of type from the given location without assuming architecture dependent alignment of the addresses. - The location to read from. - The type to read. - An object of type read from the given location. - - - Returns the size of an object of the given type parameter. - The type of object whose size is retrieved. - The size of an object of type . - - - Bypasses definite assignment rules for a given value. - The uninitialized object. - The type of the uninitialized object. - - - Subtracts an element offset from the given reference. - The reference to subtract the offset from. - The offset to subtract. - The type of reference. - A new reference that reflects the subtraction of offset from pointer. - - - Subtracts an element offset from the given reference. - The reference to subtract the offset from. - The offset to subtract. - The type of reference. - A new reference that reflects the subtraction of offset from pointer. - - - Subtracts an element offset from the given void pointer. - The void pointer to subtract the offset from. - The offset to subtract. - The type of the void pointer. - A new void pointer that reflects the subtraction of offset from the specified pointer. - - - Subtracts a byte offset from the given reference. - The reference to subtract the offset from. - The offset to subtract. - The type of reference. - A new reference that reflects the subtraction of byte offset from pointer. - - - Returns a to a boxed value. - The value to unbox. - The type to be unboxed. - - is , and is a non-nullable value type. - - is not a boxed value type. - --or- - - is not a boxed . - - cannot be found. - A to the boxed value . - - - Writes a value of type to the given location. - The location to write to. - The value to write. - The type of value to write. - - - Writes a value of type to the given location without assuming architecture dependent alignment of the addresses. - The location to write to. - The value to write. - The type of value to write. - - - Writes a value of type to the given location without assuming architecture dependent alignment of the addresses. - The location to write to. - The value to write. - The type of value to write. - - - \ No newline at end of file diff --git a/src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/lib/netstandard1.0/System.Runtime.CompilerServices.Unsafe.xml b/src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/lib/netstandard1.0/System.Runtime.CompilerServices.Unsafe.xml deleted file mode 100644 index b5dd21b..0000000 --- a/src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/lib/netstandard1.0/System.Runtime.CompilerServices.Unsafe.xml +++ /dev/null @@ -1,258 +0,0 @@ - - - - System.Runtime.CompilerServices.Unsafe - - - - Contains generic, low-level functionality for manipulating pointers. - - - Adds an element offset to the given reference. - The reference to add the offset to. - The offset to add. - The type of reference. - A new reference that reflects the addition of offset to pointer. - - - Adds an element offset to the given reference. - The reference to add the offset to. - The offset to add. - The type of reference. - A new reference that reflects the addition of offset to pointer. - - - Adds an element offset to the given void pointer. - The void pointer to add the offset to. - The offset to add. - The type of void pointer. - A new void pointer that reflects the addition of offset to the specified pointer. - - - Adds a byte offset to the given reference. - The reference to add the offset to. - The offset to add. - The type of reference. - A new reference that reflects the addition of byte offset to pointer. - - - Determines whether the specified references point to the same location. - The first reference to compare. - The second reference to compare. - The type of reference. - - if and point to the same location; otherwise, . - - - Casts the given object to the specified type. - The object to cast. - The type which the object will be cast to. - The original object, casted to the given type. - - - Reinterprets the given reference as a reference to a value of type . - The reference to reinterpret. - The type of reference to reinterpret. - The desired type of the reference. - A reference to a value of type . - - - Returns a pointer to the given by-ref parameter. - The object whose pointer is obtained. - The type of object. - A pointer to the given value. - - - Reinterprets the given read-only reference as a reference. - The read-only reference to reinterpret. - The type of reference. - A reference to a value of type . - - - Reinterprets the given location as a reference to a value of type . - The location of the value to reference. - The type of the interpreted location. - A reference to a value of type . - - - Determines the byte offset from origin to target from the given references. - The reference to origin. - The reference to target. - The type of reference. - Byte offset from origin to target i.e. - . - - - Copies a value of type to the given location. - The location to copy to. - A pointer to the value to copy. - The type of value to copy. - - - Copies a value of type to the given location. - The location to copy to. - A reference to the value to copy. - The type of value to copy. - - - Copies bytes from the source address to the destination address. - The destination address to copy to. - The source address to copy from. - The number of bytes to copy. - - - Copies bytes from the source address to the destination address. - The destination address to copy to. - The source address to copy from. - The number of bytes to copy. - - - Copies bytes from the source address to the destination address without assuming architecture dependent alignment of the addresses. - The destination address to copy to. - The source address to copy from. - The number of bytes to copy. - - - Copies bytes from the source address to the destination address without assuming architecture dependent alignment of the addresses. - The destination address to copy to. - The source address to copy from. - The number of bytes to copy. - - - Initializes a block of memory at the given location with a given initial value. - The address of the start of the memory block to initialize. - The value to initialize the block to. - The number of bytes to initialize. - - - Initializes a block of memory at the given location with a given initial value. - The address of the start of the memory block to initialize. - The value to initialize the block to. - The number of bytes to initialize. - - - Initializes a block of memory at the given location with a given initial value without assuming architecture dependent alignment of the address. - The address of the start of the memory block to initialize. - The value to initialize the block to. - The number of bytes to initialize. - - - Initializes a block of memory at the given location with a given initial value without assuming architecture dependent alignment of the address. - The address of the start of the memory block to initialize. - The value to initialize the block to. - The number of bytes to initialize. - - - Returns a value that indicates whether a specified reference is greater than another specified reference. - The first value to compare. - The second value to compare. - The type of the reference. - - if is greater than ; otherwise, . - - - Returns a value that indicates whether a specified reference is less than another specified reference. - The first value to compare. - The second value to compare. - The type of the reference. - - if is less than ; otherwise, . - - - - - - - - - - Reads a value of type from the given location. - The location to read from. - The type to read. - An object of type read from the given location. - - - Reads a value of type from the given location without assuming architecture dependent alignment of the addresses. - The location to read from. - The type to read. - An object of type read from the given location. - - - Reads a value of type from the given location without assuming architecture dependent alignment of the addresses. - The location to read from. - The type to read. - An object of type read from the given location. - - - Returns the size of an object of the given type parameter. - The type of object whose size is retrieved. - The size of an object of type . - - - Bypasses definite assignment rules for a given value. - The uninitialized object. - The type of the uninitialized object. - - - Subtracts an element offset from the given reference. - The reference to subtract the offset from. - The offset to subtract. - The type of reference. - A new reference that reflects the subtraction of offset from pointer. - - - Subtracts an element offset from the given reference. - The reference to subtract the offset from. - The offset to subtract. - The type of reference. - A new reference that reflects the subtraction of offset from pointer. - - - Subtracts an element offset from the given void pointer. - The void pointer to subtract the offset from. - The offset to subtract. - The type of the void pointer. - A new void pointer that reflects the subtraction of offset from the specified pointer. - - - Subtracts a byte offset from the given reference. - The reference to subtract the offset from. - The offset to subtract. - The type of reference. - A new reference that reflects the subtraction of byte offset from pointer. - - - Returns a to a boxed value. - The value to unbox. - The type to be unboxed. - - is , and is a non-nullable value type. - - is not a boxed value type. - --or- - - is not a boxed . - - cannot be found. - A to the boxed value . - - - Writes a value of type to the given location. - The location to write to. - The value to write. - The type of value to write. - - - Writes a value of type to the given location without assuming architecture dependent alignment of the addresses. - The location to write to. - The value to write. - The type of value to write. - - - Writes a value of type to the given location without assuming architecture dependent alignment of the addresses. - The location to write to. - The value to write. - The type of value to write. - - - \ No newline at end of file diff --git a/src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.xml b/src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.xml deleted file mode 100644 index b5dd21b..0000000 --- a/src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.xml +++ /dev/null @@ -1,258 +0,0 @@ - - - - System.Runtime.CompilerServices.Unsafe - - - - Contains generic, low-level functionality for manipulating pointers. - - - Adds an element offset to the given reference. - The reference to add the offset to. - The offset to add. - The type of reference. - A new reference that reflects the addition of offset to pointer. - - - Adds an element offset to the given reference. - The reference to add the offset to. - The offset to add. - The type of reference. - A new reference that reflects the addition of offset to pointer. - - - Adds an element offset to the given void pointer. - The void pointer to add the offset to. - The offset to add. - The type of void pointer. - A new void pointer that reflects the addition of offset to the specified pointer. - - - Adds a byte offset to the given reference. - The reference to add the offset to. - The offset to add. - The type of reference. - A new reference that reflects the addition of byte offset to pointer. - - - Determines whether the specified references point to the same location. - The first reference to compare. - The second reference to compare. - The type of reference. - - if and point to the same location; otherwise, . - - - Casts the given object to the specified type. - The object to cast. - The type which the object will be cast to. - The original object, casted to the given type. - - - Reinterprets the given reference as a reference to a value of type . - The reference to reinterpret. - The type of reference to reinterpret. - The desired type of the reference. - A reference to a value of type . - - - Returns a pointer to the given by-ref parameter. - The object whose pointer is obtained. - The type of object. - A pointer to the given value. - - - Reinterprets the given read-only reference as a reference. - The read-only reference to reinterpret. - The type of reference. - A reference to a value of type . - - - Reinterprets the given location as a reference to a value of type . - The location of the value to reference. - The type of the interpreted location. - A reference to a value of type . - - - Determines the byte offset from origin to target from the given references. - The reference to origin. - The reference to target. - The type of reference. - Byte offset from origin to target i.e. - . - - - Copies a value of type to the given location. - The location to copy to. - A pointer to the value to copy. - The type of value to copy. - - - Copies a value of type to the given location. - The location to copy to. - A reference to the value to copy. - The type of value to copy. - - - Copies bytes from the source address to the destination address. - The destination address to copy to. - The source address to copy from. - The number of bytes to copy. - - - Copies bytes from the source address to the destination address. - The destination address to copy to. - The source address to copy from. - The number of bytes to copy. - - - Copies bytes from the source address to the destination address without assuming architecture dependent alignment of the addresses. - The destination address to copy to. - The source address to copy from. - The number of bytes to copy. - - - Copies bytes from the source address to the destination address without assuming architecture dependent alignment of the addresses. - The destination address to copy to. - The source address to copy from. - The number of bytes to copy. - - - Initializes a block of memory at the given location with a given initial value. - The address of the start of the memory block to initialize. - The value to initialize the block to. - The number of bytes to initialize. - - - Initializes a block of memory at the given location with a given initial value. - The address of the start of the memory block to initialize. - The value to initialize the block to. - The number of bytes to initialize. - - - Initializes a block of memory at the given location with a given initial value without assuming architecture dependent alignment of the address. - The address of the start of the memory block to initialize. - The value to initialize the block to. - The number of bytes to initialize. - - - Initializes a block of memory at the given location with a given initial value without assuming architecture dependent alignment of the address. - The address of the start of the memory block to initialize. - The value to initialize the block to. - The number of bytes to initialize. - - - Returns a value that indicates whether a specified reference is greater than another specified reference. - The first value to compare. - The second value to compare. - The type of the reference. - - if is greater than ; otherwise, . - - - Returns a value that indicates whether a specified reference is less than another specified reference. - The first value to compare. - The second value to compare. - The type of the reference. - - if is less than ; otherwise, . - - - - - - - - - - Reads a value of type from the given location. - The location to read from. - The type to read. - An object of type read from the given location. - - - Reads a value of type from the given location without assuming architecture dependent alignment of the addresses. - The location to read from. - The type to read. - An object of type read from the given location. - - - Reads a value of type from the given location without assuming architecture dependent alignment of the addresses. - The location to read from. - The type to read. - An object of type read from the given location. - - - Returns the size of an object of the given type parameter. - The type of object whose size is retrieved. - The size of an object of type . - - - Bypasses definite assignment rules for a given value. - The uninitialized object. - The type of the uninitialized object. - - - Subtracts an element offset from the given reference. - The reference to subtract the offset from. - The offset to subtract. - The type of reference. - A new reference that reflects the subtraction of offset from pointer. - - - Subtracts an element offset from the given reference. - The reference to subtract the offset from. - The offset to subtract. - The type of reference. - A new reference that reflects the subtraction of offset from pointer. - - - Subtracts an element offset from the given void pointer. - The void pointer to subtract the offset from. - The offset to subtract. - The type of the void pointer. - A new void pointer that reflects the subtraction of offset from the specified pointer. - - - Subtracts a byte offset from the given reference. - The reference to subtract the offset from. - The offset to subtract. - The type of reference. - A new reference that reflects the subtraction of byte offset from pointer. - - - Returns a to a boxed value. - The value to unbox. - The type to be unboxed. - - is , and is a non-nullable value type. - - is not a boxed value type. - --or- - - is not a boxed . - - cannot be found. - A to the boxed value . - - - Writes a value of type to the given location. - The location to write to. - The value to write. - The type of value to write. - - - Writes a value of type to the given location without assuming architecture dependent alignment of the addresses. - The location to write to. - The value to write. - The type of value to write. - - - Writes a value of type to the given location without assuming architecture dependent alignment of the addresses. - The location to write to. - The value to write. - The type of value to write. - - - \ No newline at end of file diff --git a/src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/ref/net461/System.Runtime.CompilerServices.Unsafe.xml b/src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/ref/net461/System.Runtime.CompilerServices.Unsafe.xml deleted file mode 100644 index b5dd21b..0000000 --- a/src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/ref/net461/System.Runtime.CompilerServices.Unsafe.xml +++ /dev/null @@ -1,258 +0,0 @@ - - - - System.Runtime.CompilerServices.Unsafe - - - - Contains generic, low-level functionality for manipulating pointers. - - - Adds an element offset to the given reference. - The reference to add the offset to. - The offset to add. - The type of reference. - A new reference that reflects the addition of offset to pointer. - - - Adds an element offset to the given reference. - The reference to add the offset to. - The offset to add. - The type of reference. - A new reference that reflects the addition of offset to pointer. - - - Adds an element offset to the given void pointer. - The void pointer to add the offset to. - The offset to add. - The type of void pointer. - A new void pointer that reflects the addition of offset to the specified pointer. - - - Adds a byte offset to the given reference. - The reference to add the offset to. - The offset to add. - The type of reference. - A new reference that reflects the addition of byte offset to pointer. - - - Determines whether the specified references point to the same location. - The first reference to compare. - The second reference to compare. - The type of reference. - - if and point to the same location; otherwise, . - - - Casts the given object to the specified type. - The object to cast. - The type which the object will be cast to. - The original object, casted to the given type. - - - Reinterprets the given reference as a reference to a value of type . - The reference to reinterpret. - The type of reference to reinterpret. - The desired type of the reference. - A reference to a value of type . - - - Returns a pointer to the given by-ref parameter. - The object whose pointer is obtained. - The type of object. - A pointer to the given value. - - - Reinterprets the given read-only reference as a reference. - The read-only reference to reinterpret. - The type of reference. - A reference to a value of type . - - - Reinterprets the given location as a reference to a value of type . - The location of the value to reference. - The type of the interpreted location. - A reference to a value of type . - - - Determines the byte offset from origin to target from the given references. - The reference to origin. - The reference to target. - The type of reference. - Byte offset from origin to target i.e. - . - - - Copies a value of type to the given location. - The location to copy to. - A pointer to the value to copy. - The type of value to copy. - - - Copies a value of type to the given location. - The location to copy to. - A reference to the value to copy. - The type of value to copy. - - - Copies bytes from the source address to the destination address. - The destination address to copy to. - The source address to copy from. - The number of bytes to copy. - - - Copies bytes from the source address to the destination address. - The destination address to copy to. - The source address to copy from. - The number of bytes to copy. - - - Copies bytes from the source address to the destination address without assuming architecture dependent alignment of the addresses. - The destination address to copy to. - The source address to copy from. - The number of bytes to copy. - - - Copies bytes from the source address to the destination address without assuming architecture dependent alignment of the addresses. - The destination address to copy to. - The source address to copy from. - The number of bytes to copy. - - - Initializes a block of memory at the given location with a given initial value. - The address of the start of the memory block to initialize. - The value to initialize the block to. - The number of bytes to initialize. - - - Initializes a block of memory at the given location with a given initial value. - The address of the start of the memory block to initialize. - The value to initialize the block to. - The number of bytes to initialize. - - - Initializes a block of memory at the given location with a given initial value without assuming architecture dependent alignment of the address. - The address of the start of the memory block to initialize. - The value to initialize the block to. - The number of bytes to initialize. - - - Initializes a block of memory at the given location with a given initial value without assuming architecture dependent alignment of the address. - The address of the start of the memory block to initialize. - The value to initialize the block to. - The number of bytes to initialize. - - - Returns a value that indicates whether a specified reference is greater than another specified reference. - The first value to compare. - The second value to compare. - The type of the reference. - - if is greater than ; otherwise, . - - - Returns a value that indicates whether a specified reference is less than another specified reference. - The first value to compare. - The second value to compare. - The type of the reference. - - if is less than ; otherwise, . - - - - - - - - - - Reads a value of type from the given location. - The location to read from. - The type to read. - An object of type read from the given location. - - - Reads a value of type from the given location without assuming architecture dependent alignment of the addresses. - The location to read from. - The type to read. - An object of type read from the given location. - - - Reads a value of type from the given location without assuming architecture dependent alignment of the addresses. - The location to read from. - The type to read. - An object of type read from the given location. - - - Returns the size of an object of the given type parameter. - The type of object whose size is retrieved. - The size of an object of type . - - - Bypasses definite assignment rules for a given value. - The uninitialized object. - The type of the uninitialized object. - - - Subtracts an element offset from the given reference. - The reference to subtract the offset from. - The offset to subtract. - The type of reference. - A new reference that reflects the subtraction of offset from pointer. - - - Subtracts an element offset from the given reference. - The reference to subtract the offset from. - The offset to subtract. - The type of reference. - A new reference that reflects the subtraction of offset from pointer. - - - Subtracts an element offset from the given void pointer. - The void pointer to subtract the offset from. - The offset to subtract. - The type of the void pointer. - A new void pointer that reflects the subtraction of offset from the specified pointer. - - - Subtracts a byte offset from the given reference. - The reference to subtract the offset from. - The offset to subtract. - The type of reference. - A new reference that reflects the subtraction of byte offset from pointer. - - - Returns a to a boxed value. - The value to unbox. - The type to be unboxed. - - is , and is a non-nullable value type. - - is not a boxed value type. - --or- - - is not a boxed . - - cannot be found. - A to the boxed value . - - - Writes a value of type to the given location. - The location to write to. - The value to write. - The type of value to write. - - - Writes a value of type to the given location without assuming architecture dependent alignment of the addresses. - The location to write to. - The value to write. - The type of value to write. - - - Writes a value of type to the given location without assuming architecture dependent alignment of the addresses. - The location to write to. - The value to write. - The type of value to write. - - - \ No newline at end of file diff --git a/src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/ref/netstandard1.0/System.Runtime.CompilerServices.Unsafe.xml b/src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/ref/netstandard1.0/System.Runtime.CompilerServices.Unsafe.xml deleted file mode 100644 index b5dd21b..0000000 --- a/src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/ref/netstandard1.0/System.Runtime.CompilerServices.Unsafe.xml +++ /dev/null @@ -1,258 +0,0 @@ - - - - System.Runtime.CompilerServices.Unsafe - - - - Contains generic, low-level functionality for manipulating pointers. - - - Adds an element offset to the given reference. - The reference to add the offset to. - The offset to add. - The type of reference. - A new reference that reflects the addition of offset to pointer. - - - Adds an element offset to the given reference. - The reference to add the offset to. - The offset to add. - The type of reference. - A new reference that reflects the addition of offset to pointer. - - - Adds an element offset to the given void pointer. - The void pointer to add the offset to. - The offset to add. - The type of void pointer. - A new void pointer that reflects the addition of offset to the specified pointer. - - - Adds a byte offset to the given reference. - The reference to add the offset to. - The offset to add. - The type of reference. - A new reference that reflects the addition of byte offset to pointer. - - - Determines whether the specified references point to the same location. - The first reference to compare. - The second reference to compare. - The type of reference. - - if and point to the same location; otherwise, . - - - Casts the given object to the specified type. - The object to cast. - The type which the object will be cast to. - The original object, casted to the given type. - - - Reinterprets the given reference as a reference to a value of type . - The reference to reinterpret. - The type of reference to reinterpret. - The desired type of the reference. - A reference to a value of type . - - - Returns a pointer to the given by-ref parameter. - The object whose pointer is obtained. - The type of object. - A pointer to the given value. - - - Reinterprets the given read-only reference as a reference. - The read-only reference to reinterpret. - The type of reference. - A reference to a value of type . - - - Reinterprets the given location as a reference to a value of type . - The location of the value to reference. - The type of the interpreted location. - A reference to a value of type . - - - Determines the byte offset from origin to target from the given references. - The reference to origin. - The reference to target. - The type of reference. - Byte offset from origin to target i.e. - . - - - Copies a value of type to the given location. - The location to copy to. - A pointer to the value to copy. - The type of value to copy. - - - Copies a value of type to the given location. - The location to copy to. - A reference to the value to copy. - The type of value to copy. - - - Copies bytes from the source address to the destination address. - The destination address to copy to. - The source address to copy from. - The number of bytes to copy. - - - Copies bytes from the source address to the destination address. - The destination address to copy to. - The source address to copy from. - The number of bytes to copy. - - - Copies bytes from the source address to the destination address without assuming architecture dependent alignment of the addresses. - The destination address to copy to. - The source address to copy from. - The number of bytes to copy. - - - Copies bytes from the source address to the destination address without assuming architecture dependent alignment of the addresses. - The destination address to copy to. - The source address to copy from. - The number of bytes to copy. - - - Initializes a block of memory at the given location with a given initial value. - The address of the start of the memory block to initialize. - The value to initialize the block to. - The number of bytes to initialize. - - - Initializes a block of memory at the given location with a given initial value. - The address of the start of the memory block to initialize. - The value to initialize the block to. - The number of bytes to initialize. - - - Initializes a block of memory at the given location with a given initial value without assuming architecture dependent alignment of the address. - The address of the start of the memory block to initialize. - The value to initialize the block to. - The number of bytes to initialize. - - - Initializes a block of memory at the given location with a given initial value without assuming architecture dependent alignment of the address. - The address of the start of the memory block to initialize. - The value to initialize the block to. - The number of bytes to initialize. - - - Returns a value that indicates whether a specified reference is greater than another specified reference. - The first value to compare. - The second value to compare. - The type of the reference. - - if is greater than ; otherwise, . - - - Returns a value that indicates whether a specified reference is less than another specified reference. - The first value to compare. - The second value to compare. - The type of the reference. - - if is less than ; otherwise, . - - - - - - - - - - Reads a value of type from the given location. - The location to read from. - The type to read. - An object of type read from the given location. - - - Reads a value of type from the given location without assuming architecture dependent alignment of the addresses. - The location to read from. - The type to read. - An object of type read from the given location. - - - Reads a value of type from the given location without assuming architecture dependent alignment of the addresses. - The location to read from. - The type to read. - An object of type read from the given location. - - - Returns the size of an object of the given type parameter. - The type of object whose size is retrieved. - The size of an object of type . - - - Bypasses definite assignment rules for a given value. - The uninitialized object. - The type of the uninitialized object. - - - Subtracts an element offset from the given reference. - The reference to subtract the offset from. - The offset to subtract. - The type of reference. - A new reference that reflects the subtraction of offset from pointer. - - - Subtracts an element offset from the given reference. - The reference to subtract the offset from. - The offset to subtract. - The type of reference. - A new reference that reflects the subtraction of offset from pointer. - - - Subtracts an element offset from the given void pointer. - The void pointer to subtract the offset from. - The offset to subtract. - The type of the void pointer. - A new void pointer that reflects the subtraction of offset from the specified pointer. - - - Subtracts a byte offset from the given reference. - The reference to subtract the offset from. - The offset to subtract. - The type of reference. - A new reference that reflects the subtraction of byte offset from pointer. - - - Returns a to a boxed value. - The value to unbox. - The type to be unboxed. - - is , and is a non-nullable value type. - - is not a boxed value type. - --or- - - is not a boxed . - - cannot be found. - A to the boxed value . - - - Writes a value of type to the given location. - The location to write to. - The value to write. - The type of value to write. - - - Writes a value of type to the given location without assuming architecture dependent alignment of the addresses. - The location to write to. - The value to write. - The type of value to write. - - - Writes a value of type to the given location without assuming architecture dependent alignment of the addresses. - The location to write to. - The value to write. - The type of value to write. - - - \ No newline at end of file diff --git a/src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/ref/netstandard2.0/System.Runtime.CompilerServices.Unsafe.xml b/src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/ref/netstandard2.0/System.Runtime.CompilerServices.Unsafe.xml deleted file mode 100644 index b5dd21b..0000000 --- a/src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/ref/netstandard2.0/System.Runtime.CompilerServices.Unsafe.xml +++ /dev/null @@ -1,258 +0,0 @@ - - - - System.Runtime.CompilerServices.Unsafe - - - - Contains generic, low-level functionality for manipulating pointers. - - - Adds an element offset to the given reference. - The reference to add the offset to. - The offset to add. - The type of reference. - A new reference that reflects the addition of offset to pointer. - - - Adds an element offset to the given reference. - The reference to add the offset to. - The offset to add. - The type of reference. - A new reference that reflects the addition of offset to pointer. - - - Adds an element offset to the given void pointer. - The void pointer to add the offset to. - The offset to add. - The type of void pointer. - A new void pointer that reflects the addition of offset to the specified pointer. - - - Adds a byte offset to the given reference. - The reference to add the offset to. - The offset to add. - The type of reference. - A new reference that reflects the addition of byte offset to pointer. - - - Determines whether the specified references point to the same location. - The first reference to compare. - The second reference to compare. - The type of reference. - - if and point to the same location; otherwise, . - - - Casts the given object to the specified type. - The object to cast. - The type which the object will be cast to. - The original object, casted to the given type. - - - Reinterprets the given reference as a reference to a value of type . - The reference to reinterpret. - The type of reference to reinterpret. - The desired type of the reference. - A reference to a value of type . - - - Returns a pointer to the given by-ref parameter. - The object whose pointer is obtained. - The type of object. - A pointer to the given value. - - - Reinterprets the given read-only reference as a reference. - The read-only reference to reinterpret. - The type of reference. - A reference to a value of type . - - - Reinterprets the given location as a reference to a value of type . - The location of the value to reference. - The type of the interpreted location. - A reference to a value of type . - - - Determines the byte offset from origin to target from the given references. - The reference to origin. - The reference to target. - The type of reference. - Byte offset from origin to target i.e. - . - - - Copies a value of type to the given location. - The location to copy to. - A pointer to the value to copy. - The type of value to copy. - - - Copies a value of type to the given location. - The location to copy to. - A reference to the value to copy. - The type of value to copy. - - - Copies bytes from the source address to the destination address. - The destination address to copy to. - The source address to copy from. - The number of bytes to copy. - - - Copies bytes from the source address to the destination address. - The destination address to copy to. - The source address to copy from. - The number of bytes to copy. - - - Copies bytes from the source address to the destination address without assuming architecture dependent alignment of the addresses. - The destination address to copy to. - The source address to copy from. - The number of bytes to copy. - - - Copies bytes from the source address to the destination address without assuming architecture dependent alignment of the addresses. - The destination address to copy to. - The source address to copy from. - The number of bytes to copy. - - - Initializes a block of memory at the given location with a given initial value. - The address of the start of the memory block to initialize. - The value to initialize the block to. - The number of bytes to initialize. - - - Initializes a block of memory at the given location with a given initial value. - The address of the start of the memory block to initialize. - The value to initialize the block to. - The number of bytes to initialize. - - - Initializes a block of memory at the given location with a given initial value without assuming architecture dependent alignment of the address. - The address of the start of the memory block to initialize. - The value to initialize the block to. - The number of bytes to initialize. - - - Initializes a block of memory at the given location with a given initial value without assuming architecture dependent alignment of the address. - The address of the start of the memory block to initialize. - The value to initialize the block to. - The number of bytes to initialize. - - - Returns a value that indicates whether a specified reference is greater than another specified reference. - The first value to compare. - The second value to compare. - The type of the reference. - - if is greater than ; otherwise, . - - - Returns a value that indicates whether a specified reference is less than another specified reference. - The first value to compare. - The second value to compare. - The type of the reference. - - if is less than ; otherwise, . - - - - - - - - - - Reads a value of type from the given location. - The location to read from. - The type to read. - An object of type read from the given location. - - - Reads a value of type from the given location without assuming architecture dependent alignment of the addresses. - The location to read from. - The type to read. - An object of type read from the given location. - - - Reads a value of type from the given location without assuming architecture dependent alignment of the addresses. - The location to read from. - The type to read. - An object of type read from the given location. - - - Returns the size of an object of the given type parameter. - The type of object whose size is retrieved. - The size of an object of type . - - - Bypasses definite assignment rules for a given value. - The uninitialized object. - The type of the uninitialized object. - - - Subtracts an element offset from the given reference. - The reference to subtract the offset from. - The offset to subtract. - The type of reference. - A new reference that reflects the subtraction of offset from pointer. - - - Subtracts an element offset from the given reference. - The reference to subtract the offset from. - The offset to subtract. - The type of reference. - A new reference that reflects the subtraction of offset from pointer. - - - Subtracts an element offset from the given void pointer. - The void pointer to subtract the offset from. - The offset to subtract. - The type of the void pointer. - A new void pointer that reflects the subtraction of offset from the specified pointer. - - - Subtracts a byte offset from the given reference. - The reference to subtract the offset from. - The offset to subtract. - The type of reference. - A new reference that reflects the subtraction of byte offset from pointer. - - - Returns a to a boxed value. - The value to unbox. - The type to be unboxed. - - is , and is a non-nullable value type. - - is not a boxed value type. - --or- - - is not a boxed . - - cannot be found. - A to the boxed value . - - - Writes a value of type to the given location. - The location to write to. - The value to write. - The type of value to write. - - - Writes a value of type to the given location without assuming architecture dependent alignment of the addresses. - The location to write to. - The value to write. - The type of value to write. - - - Writes a value of type to the given location without assuming architecture dependent alignment of the addresses. - The location to write to. - The value to write. - The type of value to write. - - - \ No newline at end of file diff --git a/src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/ref/netstandard2.1/System.Runtime.CompilerServices.Unsafe.xml b/src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/ref/netstandard2.1/System.Runtime.CompilerServices.Unsafe.xml deleted file mode 100644 index b5dd21b..0000000 --- a/src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/ref/netstandard2.1/System.Runtime.CompilerServices.Unsafe.xml +++ /dev/null @@ -1,258 +0,0 @@ - - - - System.Runtime.CompilerServices.Unsafe - - - - Contains generic, low-level functionality for manipulating pointers. - - - Adds an element offset to the given reference. - The reference to add the offset to. - The offset to add. - The type of reference. - A new reference that reflects the addition of offset to pointer. - - - Adds an element offset to the given reference. - The reference to add the offset to. - The offset to add. - The type of reference. - A new reference that reflects the addition of offset to pointer. - - - Adds an element offset to the given void pointer. - The void pointer to add the offset to. - The offset to add. - The type of void pointer. - A new void pointer that reflects the addition of offset to the specified pointer. - - - Adds a byte offset to the given reference. - The reference to add the offset to. - The offset to add. - The type of reference. - A new reference that reflects the addition of byte offset to pointer. - - - Determines whether the specified references point to the same location. - The first reference to compare. - The second reference to compare. - The type of reference. - - if and point to the same location; otherwise, . - - - Casts the given object to the specified type. - The object to cast. - The type which the object will be cast to. - The original object, casted to the given type. - - - Reinterprets the given reference as a reference to a value of type . - The reference to reinterpret. - The type of reference to reinterpret. - The desired type of the reference. - A reference to a value of type . - - - Returns a pointer to the given by-ref parameter. - The object whose pointer is obtained. - The type of object. - A pointer to the given value. - - - Reinterprets the given read-only reference as a reference. - The read-only reference to reinterpret. - The type of reference. - A reference to a value of type . - - - Reinterprets the given location as a reference to a value of type . - The location of the value to reference. - The type of the interpreted location. - A reference to a value of type . - - - Determines the byte offset from origin to target from the given references. - The reference to origin. - The reference to target. - The type of reference. - Byte offset from origin to target i.e. - . - - - Copies a value of type to the given location. - The location to copy to. - A pointer to the value to copy. - The type of value to copy. - - - Copies a value of type to the given location. - The location to copy to. - A reference to the value to copy. - The type of value to copy. - - - Copies bytes from the source address to the destination address. - The destination address to copy to. - The source address to copy from. - The number of bytes to copy. - - - Copies bytes from the source address to the destination address. - The destination address to copy to. - The source address to copy from. - The number of bytes to copy. - - - Copies bytes from the source address to the destination address without assuming architecture dependent alignment of the addresses. - The destination address to copy to. - The source address to copy from. - The number of bytes to copy. - - - Copies bytes from the source address to the destination address without assuming architecture dependent alignment of the addresses. - The destination address to copy to. - The source address to copy from. - The number of bytes to copy. - - - Initializes a block of memory at the given location with a given initial value. - The address of the start of the memory block to initialize. - The value to initialize the block to. - The number of bytes to initialize. - - - Initializes a block of memory at the given location with a given initial value. - The address of the start of the memory block to initialize. - The value to initialize the block to. - The number of bytes to initialize. - - - Initializes a block of memory at the given location with a given initial value without assuming architecture dependent alignment of the address. - The address of the start of the memory block to initialize. - The value to initialize the block to. - The number of bytes to initialize. - - - Initializes a block of memory at the given location with a given initial value without assuming architecture dependent alignment of the address. - The address of the start of the memory block to initialize. - The value to initialize the block to. - The number of bytes to initialize. - - - Returns a value that indicates whether a specified reference is greater than another specified reference. - The first value to compare. - The second value to compare. - The type of the reference. - - if is greater than ; otherwise, . - - - Returns a value that indicates whether a specified reference is less than another specified reference. - The first value to compare. - The second value to compare. - The type of the reference. - - if is less than ; otherwise, . - - - - - - - - - - Reads a value of type from the given location. - The location to read from. - The type to read. - An object of type read from the given location. - - - Reads a value of type from the given location without assuming architecture dependent alignment of the addresses. - The location to read from. - The type to read. - An object of type read from the given location. - - - Reads a value of type from the given location without assuming architecture dependent alignment of the addresses. - The location to read from. - The type to read. - An object of type read from the given location. - - - Returns the size of an object of the given type parameter. - The type of object whose size is retrieved. - The size of an object of type . - - - Bypasses definite assignment rules for a given value. - The uninitialized object. - The type of the uninitialized object. - - - Subtracts an element offset from the given reference. - The reference to subtract the offset from. - The offset to subtract. - The type of reference. - A new reference that reflects the subtraction of offset from pointer. - - - Subtracts an element offset from the given reference. - The reference to subtract the offset from. - The offset to subtract. - The type of reference. - A new reference that reflects the subtraction of offset from pointer. - - - Subtracts an element offset from the given void pointer. - The void pointer to subtract the offset from. - The offset to subtract. - The type of the void pointer. - A new void pointer that reflects the subtraction of offset from the specified pointer. - - - Subtracts a byte offset from the given reference. - The reference to subtract the offset from. - The offset to subtract. - The type of reference. - A new reference that reflects the subtraction of byte offset from pointer. - - - Returns a to a boxed value. - The value to unbox. - The type to be unboxed. - - is , and is a non-nullable value type. - - is not a boxed value type. - --or- - - is not a boxed . - - cannot be found. - A to the boxed value . - - - Writes a value of type to the given location. - The location to write to. - The value to write. - The type of value to write. - - - Writes a value of type to the given location without assuming architecture dependent alignment of the addresses. - The location to write to. - The value to write. - The type of value to write. - - - Writes a value of type to the given location without assuming architecture dependent alignment of the addresses. - The location to write to. - The value to write. - The type of value to write. - - - \ No newline at end of file diff --git a/src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/useSharedDesignerContext.txt b/src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/useSharedDesignerContext.txt deleted file mode 100644 index e69de29..0000000 diff --git a/src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/version.txt b/src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/version.txt deleted file mode 100644 index 0a6d216..0000000 --- a/src/packages/System.Runtime.CompilerServices.Unsafe.5.0.0/version.txt +++ /dev/null @@ -1 +0,0 @@ -cf258a14b70ad9069470a108f13765e0e5988f51 diff --git a/src/packages/System.Threading.Tasks.Extensions.4.5.4/.signature.p7s b/src/packages/System.Threading.Tasks.Extensions.4.5.4/.signature.p7s deleted file mode 100644 index e0ee9f435e686515a6d1ea60ac92d591352b314f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18703 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 Zomhdj_WxFNO#DIHMJMl~m673;{|6~(JsAK1 diff --git a/src/packages/System.Threading.Tasks.Extensions.4.5.4/LICENSE.TXT b/src/packages/System.Threading.Tasks.Extensions.4.5.4/LICENSE.TXT deleted file mode 100644 index 984713a..0000000 --- a/src/packages/System.Threading.Tasks.Extensions.4.5.4/LICENSE.TXT +++ /dev/null @@ -1,23 +0,0 @@ -The MIT License (MIT) - -Copyright (c) .NET Foundation and Contributors - -All rights reserved. - -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/src/packages/System.Threading.Tasks.Extensions.4.5.4/System.Threading.Tasks.Extensions.4.5.4.nupkg b/src/packages/System.Threading.Tasks.Extensions.4.5.4/System.Threading.Tasks.Extensions.4.5.4.nupkg deleted file mode 100644 index a608bc53b86d1884af17171f9e0b0c424b0311c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 89582 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 diff --git a/src/packages/System.Threading.Tasks.Extensions.4.5.4/THIRD-PARTY-NOTICES.TXT b/src/packages/System.Threading.Tasks.Extensions.4.5.4/THIRD-PARTY-NOTICES.TXT deleted file mode 100644 index db542ca..0000000 --- a/src/packages/System.Threading.Tasks.Extensions.4.5.4/THIRD-PARTY-NOTICES.TXT +++ /dev/null @@ -1,309 +0,0 @@ -.NET Core uses third-party libraries or other resources that may be -distributed under licenses different than the .NET Core software. - -In the event that we accidentally failed to list a required notice, please -bring it to our attention. Post an issue or email us: - - dotnet@microsoft.com - -The attached notices are provided for information only. - -License notice for Slicing-by-8 -------------------------------- - -http://sourceforge.net/projects/slicing-by-8/ - -Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved - - -This software program is licensed subject to the BSD License, available at -http://www.opensource.org/licenses/bsd-license.html. - - -License notice for Unicode data -------------------------------- - -http://www.unicode.org/copyright.html#License - -Copyright © 1991-2017 Unicode, Inc. All rights reserved. -Distributed under the Terms of Use in http://www.unicode.org/copyright.html. - -Permission is hereby granted, free of charge, to any person obtaining -a copy of the Unicode data files and any associated documentation -(the "Data Files") or Unicode software and any associated documentation -(the "Software") to deal in the Data Files or Software -without restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, and/or sell copies of -the Data Files or Software, and to permit persons to whom the Data Files -or Software are furnished to do so, provided that either -(a) this copyright and permission notice appear with all copies -of the Data Files or Software, or -(b) this copyright and permission notice appear in associated -Documentation. - -THE DATA FILES AND SOFTWARE ARE 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 OF THIRD PARTY RIGHTS. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS -NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL -DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, -DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER -TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THE DATA FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder -shall not be used in advertising or otherwise to promote the sale, -use or other dealings in these Data Files or Software without prior -written authorization of the copyright holder. - -License notice for Zlib ------------------------ - -https://github.com/madler/zlib -http://zlib.net/zlib_license.html - -/* zlib.h -- interface of the 'zlib' general purpose compression library - version 1.2.11, January 15th, 2017 - - Copyright (C) 1995-2017 Jean-loup Gailly and Mark Adler - - This software is provided 'as-is', without any express or implied - warranty. In no event will the authors be held liable for any damages - arising from the use of this software. - - Permission is granted to anyone to use this software for any purpose, - including commercial applications, and to alter it and redistribute it - freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - 3. This notice may not be removed or altered from any source distribution. - - Jean-loup Gailly Mark Adler - jloup@gzip.org madler@alumni.caltech.edu - -*/ - -License notice for Mono -------------------------------- - -http://www.mono-project.com/docs/about-mono/ - -Copyright (c) .NET Foundation Contributors - -MIT License - -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. - -License notice for International Organization for Standardization ------------------------------------------------------------------ - -Portions (C) International Organization for Standardization 1986: - Permission to copy in any form is granted for use with - conforming SGML systems and applications as defined in - ISO 8879, provided this notice is included in all copies. - -License notice for Intel ------------------------- - -"Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this -list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright notice, -this list of conditions and the following disclaimer in the documentation -and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -License notice for Xamarin and Novell -------------------------------------- - -Copyright (c) 2015 Xamarin, Inc (http://www.xamarin.com) - -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. - -Copyright (c) 2011 Novell, Inc (http://www.novell.com) - -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. - -Third party notice for W3C --------------------------- - -"W3C SOFTWARE AND DOCUMENT NOTICE AND LICENSE -Status: This license takes effect 13 May, 2015. -This work is being provided by the copyright holders under the following license. -License -By obtaining and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions. -Permission to copy, modify, and distribute this work, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the work or portions thereof, including modifications: -The full text of this NOTICE in a location viewable to users of the redistributed or derivative work. -Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software and Document Short Notice should be included. -Notice of any changes or modifications, through a copyright statement on the new code or document such as "This software or document includes material copied from or derived from [title and URI of the W3C document]. Copyright © [YEAR] W3C® (MIT, ERCIM, Keio, Beihang)." -Disclaimers -THIS WORK IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENT WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. -COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENT. -The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the work without specific, written prior permission. Title to copyright in this work will at all times remain with copyright holders." - -License notice for Bit Twiddling Hacks --------------------------------------- - -Bit Twiddling Hacks - -By Sean Eron Anderson -seander@cs.stanford.edu - -Individually, the code snippets here are in the public domain (unless otherwise -noted) — feel free to use them however you please. The aggregate collection and -descriptions are © 1997-2005 Sean Eron Anderson. The code and descriptions are -distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY and -without even the implied warranty of merchantability or fitness for a particular -purpose. - -License notice for Brotli --------------------------------------- - -Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors. - -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. - -compress_fragment.c: -Copyright (c) 2011, Google Inc. -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -decode_fuzzer.c: -Copyright (c) 2015 The Chromium Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." - diff --git a/src/packages/System.Threading.Tasks.Extensions.4.5.4/lib/MonoAndroid10/_._ b/src/packages/System.Threading.Tasks.Extensions.4.5.4/lib/MonoAndroid10/_._ deleted file mode 100644 index e69de29..0000000 diff --git a/src/packages/System.Threading.Tasks.Extensions.4.5.4/lib/MonoTouch10/_._ b/src/packages/System.Threading.Tasks.Extensions.4.5.4/lib/MonoTouch10/_._ deleted file mode 100644 index e69de29..0000000 diff --git a/src/packages/System.Threading.Tasks.Extensions.4.5.4/lib/net461/System.Threading.Tasks.Extensions.xml b/src/packages/System.Threading.Tasks.Extensions.4.5.4/lib/net461/System.Threading.Tasks.Extensions.xml deleted file mode 100644 index 5e02a99..0000000 --- a/src/packages/System.Threading.Tasks.Extensions.4.5.4/lib/net461/System.Threading.Tasks.Extensions.xml +++ /dev/null @@ -1,166 +0,0 @@ - - - System.Threading.Tasks.Extensions - - - - - - - - - - - - - - - - - - - Provides a value type that wraps a and a TResult, only one of which is used. - The result. - - - Initializes a new instance of the class using the supplied task that represents the operation. - The task. - The task argument is null. - - - Initializes a new instance of the class using the supplied result of a successful operation. - The result. - - - Retrieves a object that represents this . - The object that is wrapped in this if one exists, or a new object that represents the result. - - - Configures an awaiter for this value. - true to attempt to marshal the continuation back to the captured context; otherwise, false. - The configured awaiter. - - - Creates a method builder for use with an async method. - The created builder. - - - Determines whether the specified object is equal to the current object. - The object to compare with the current object. - true if the specified object is equal to the current object; otherwise, false. - - - Determines whether the specified object is equal to the current object. - The object to compare with the current object. - true if the specified object is equal to the current object; otherwise, false. - - - Creates an awaiter for this value. - The awaiter. - - - Returns the hash code for this instance. - The hash code for the current object. - - - Gets a value that indicates whether this object represents a canceled operation. - true if this object represents a canceled operation; otherwise, false. - - - Gets a value that indicates whether this object represents a completed operation. - true if this object represents a completed operation; otherwise, false. - - - Gets a value that indicates whether this object represents a successfully completed operation. - true if this object represents a successfully completed operation; otherwise, false. - - - Gets a value that indicates whether this object represents a failed operation. - true if this object represents a failed operation; otherwise, false. - - - Compares two values for equality. - The first value to compare. - The second value to compare. - true if the two values are equal; otherwise, false. - - - Determines whether two values are unequal. - The first value to compare. - The seconed value to compare. - true if the two values are not equal; otherwise, false. - - - Gets the result. - The result. - - - Returns a string that represents the current object. - A string that represents the current object. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/packages/System.Threading.Tasks.Extensions.4.5.4/lib/netcoreapp2.1/_._ b/src/packages/System.Threading.Tasks.Extensions.4.5.4/lib/netcoreapp2.1/_._ deleted file mode 100644 index e69de29..0000000 diff --git a/src/packages/System.Threading.Tasks.Extensions.4.5.4/lib/netstandard1.0/System.Threading.Tasks.Extensions.xml b/src/packages/System.Threading.Tasks.Extensions.4.5.4/lib/netstandard1.0/System.Threading.Tasks.Extensions.xml deleted file mode 100644 index 5e02a99..0000000 --- a/src/packages/System.Threading.Tasks.Extensions.4.5.4/lib/netstandard1.0/System.Threading.Tasks.Extensions.xml +++ /dev/null @@ -1,166 +0,0 @@ - - - System.Threading.Tasks.Extensions - - - - - - - - - - - - - - - - - - - Provides a value type that wraps a and a TResult, only one of which is used. - The result. - - - Initializes a new instance of the class using the supplied task that represents the operation. - The task. - The task argument is null. - - - Initializes a new instance of the class using the supplied result of a successful operation. - The result. - - - Retrieves a object that represents this . - The object that is wrapped in this if one exists, or a new object that represents the result. - - - Configures an awaiter for this value. - true to attempt to marshal the continuation back to the captured context; otherwise, false. - The configured awaiter. - - - Creates a method builder for use with an async method. - The created builder. - - - Determines whether the specified object is equal to the current object. - The object to compare with the current object. - true if the specified object is equal to the current object; otherwise, false. - - - Determines whether the specified object is equal to the current object. - The object to compare with the current object. - true if the specified object is equal to the current object; otherwise, false. - - - Creates an awaiter for this value. - The awaiter. - - - Returns the hash code for this instance. - The hash code for the current object. - - - Gets a value that indicates whether this object represents a canceled operation. - true if this object represents a canceled operation; otherwise, false. - - - Gets a value that indicates whether this object represents a completed operation. - true if this object represents a completed operation; otherwise, false. - - - Gets a value that indicates whether this object represents a successfully completed operation. - true if this object represents a successfully completed operation; otherwise, false. - - - Gets a value that indicates whether this object represents a failed operation. - true if this object represents a failed operation; otherwise, false. - - - Compares two values for equality. - The first value to compare. - The second value to compare. - true if the two values are equal; otherwise, false. - - - Determines whether two values are unequal. - The first value to compare. - The seconed value to compare. - true if the two values are not equal; otherwise, false. - - - Gets the result. - The result. - - - Returns a string that represents the current object. - A string that represents the current object. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/packages/System.Threading.Tasks.Extensions.4.5.4/lib/netstandard2.0/System.Threading.Tasks.Extensions.xml b/src/packages/System.Threading.Tasks.Extensions.4.5.4/lib/netstandard2.0/System.Threading.Tasks.Extensions.xml deleted file mode 100644 index 5e02a99..0000000 --- a/src/packages/System.Threading.Tasks.Extensions.4.5.4/lib/netstandard2.0/System.Threading.Tasks.Extensions.xml +++ /dev/null @@ -1,166 +0,0 @@ - - - System.Threading.Tasks.Extensions - - - - - - - - - - - - - - - - - - - Provides a value type that wraps a and a TResult, only one of which is used. - The result. - - - Initializes a new instance of the class using the supplied task that represents the operation. - The task. - The task argument is null. - - - Initializes a new instance of the class using the supplied result of a successful operation. - The result. - - - Retrieves a object that represents this . - The object that is wrapped in this if one exists, or a new object that represents the result. - - - Configures an awaiter for this value. - true to attempt to marshal the continuation back to the captured context; otherwise, false. - The configured awaiter. - - - Creates a method builder for use with an async method. - The created builder. - - - Determines whether the specified object is equal to the current object. - The object to compare with the current object. - true if the specified object is equal to the current object; otherwise, false. - - - Determines whether the specified object is equal to the current object. - The object to compare with the current object. - true if the specified object is equal to the current object; otherwise, false. - - - Creates an awaiter for this value. - The awaiter. - - - Returns the hash code for this instance. - The hash code for the current object. - - - Gets a value that indicates whether this object represents a canceled operation. - true if this object represents a canceled operation; otherwise, false. - - - Gets a value that indicates whether this object represents a completed operation. - true if this object represents a completed operation; otherwise, false. - - - Gets a value that indicates whether this object represents a successfully completed operation. - true if this object represents a successfully completed operation; otherwise, false. - - - Gets a value that indicates whether this object represents a failed operation. - true if this object represents a failed operation; otherwise, false. - - - Compares two values for equality. - The first value to compare. - The second value to compare. - true if the two values are equal; otherwise, false. - - - Determines whether two values are unequal. - The first value to compare. - The seconed value to compare. - true if the two values are not equal; otherwise, false. - - - Gets the result. - The result. - - - Returns a string that represents the current object. - A string that represents the current object. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/packages/System.Threading.Tasks.Extensions.4.5.4/lib/portable-net45+win8+wp8+wpa81/System.Threading.Tasks.Extensions.xml b/src/packages/System.Threading.Tasks.Extensions.4.5.4/lib/portable-net45+win8+wp8+wpa81/System.Threading.Tasks.Extensions.xml deleted file mode 100644 index 5e02a99..0000000 --- a/src/packages/System.Threading.Tasks.Extensions.4.5.4/lib/portable-net45+win8+wp8+wpa81/System.Threading.Tasks.Extensions.xml +++ /dev/null @@ -1,166 +0,0 @@ - - - System.Threading.Tasks.Extensions - - - - - - - - - - - - - - - - - - - Provides a value type that wraps a and a TResult, only one of which is used. - The result. - - - Initializes a new instance of the class using the supplied task that represents the operation. - The task. - The task argument is null. - - - Initializes a new instance of the class using the supplied result of a successful operation. - The result. - - - Retrieves a object that represents this . - The object that is wrapped in this if one exists, or a new object that represents the result. - - - Configures an awaiter for this value. - true to attempt to marshal the continuation back to the captured context; otherwise, false. - The configured awaiter. - - - Creates a method builder for use with an async method. - The created builder. - - - Determines whether the specified object is equal to the current object. - The object to compare with the current object. - true if the specified object is equal to the current object; otherwise, false. - - - Determines whether the specified object is equal to the current object. - The object to compare with the current object. - true if the specified object is equal to the current object; otherwise, false. - - - Creates an awaiter for this value. - The awaiter. - - - Returns the hash code for this instance. - The hash code for the current object. - - - Gets a value that indicates whether this object represents a canceled operation. - true if this object represents a canceled operation; otherwise, false. - - - Gets a value that indicates whether this object represents a completed operation. - true if this object represents a completed operation; otherwise, false. - - - Gets a value that indicates whether this object represents a successfully completed operation. - true if this object represents a successfully completed operation; otherwise, false. - - - Gets a value that indicates whether this object represents a failed operation. - true if this object represents a failed operation; otherwise, false. - - - Compares two values for equality. - The first value to compare. - The second value to compare. - true if the two values are equal; otherwise, false. - - - Determines whether two values are unequal. - The first value to compare. - The seconed value to compare. - true if the two values are not equal; otherwise, false. - - - Gets the result. - The result. - - - Returns a string that represents the current object. - A string that represents the current object. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/packages/System.Threading.Tasks.Extensions.4.5.4/lib/xamarinios10/_._ b/src/packages/System.Threading.Tasks.Extensions.4.5.4/lib/xamarinios10/_._ deleted file mode 100644 index e69de29..0000000 diff --git a/src/packages/System.Threading.Tasks.Extensions.4.5.4/lib/xamarinmac20/_._ b/src/packages/System.Threading.Tasks.Extensions.4.5.4/lib/xamarinmac20/_._ deleted file mode 100644 index e69de29..0000000 diff --git a/src/packages/System.Threading.Tasks.Extensions.4.5.4/lib/xamarintvos10/_._ b/src/packages/System.Threading.Tasks.Extensions.4.5.4/lib/xamarintvos10/_._ deleted file mode 100644 index e69de29..0000000 diff --git a/src/packages/System.Threading.Tasks.Extensions.4.5.4/lib/xamarinwatchos10/_._ b/src/packages/System.Threading.Tasks.Extensions.4.5.4/lib/xamarinwatchos10/_._ deleted file mode 100644 index e69de29..0000000 diff --git a/src/packages/System.Threading.Tasks.Extensions.4.5.4/ref/MonoAndroid10/_._ b/src/packages/System.Threading.Tasks.Extensions.4.5.4/ref/MonoAndroid10/_._ deleted file mode 100644 index e69de29..0000000 diff --git a/src/packages/System.Threading.Tasks.Extensions.4.5.4/ref/MonoTouch10/_._ b/src/packages/System.Threading.Tasks.Extensions.4.5.4/ref/MonoTouch10/_._ deleted file mode 100644 index e69de29..0000000 diff --git a/src/packages/System.Threading.Tasks.Extensions.4.5.4/ref/netcoreapp2.1/_._ b/src/packages/System.Threading.Tasks.Extensions.4.5.4/ref/netcoreapp2.1/_._ deleted file mode 100644 index e69de29..0000000 diff --git a/src/packages/System.Threading.Tasks.Extensions.4.5.4/ref/xamarinios10/_._ b/src/packages/System.Threading.Tasks.Extensions.4.5.4/ref/xamarinios10/_._ deleted file mode 100644 index e69de29..0000000 diff --git a/src/packages/System.Threading.Tasks.Extensions.4.5.4/ref/xamarinmac20/_._ b/src/packages/System.Threading.Tasks.Extensions.4.5.4/ref/xamarinmac20/_._ deleted file mode 100644 index e69de29..0000000 diff --git a/src/packages/System.Threading.Tasks.Extensions.4.5.4/ref/xamarintvos10/_._ b/src/packages/System.Threading.Tasks.Extensions.4.5.4/ref/xamarintvos10/_._ deleted file mode 100644 index e69de29..0000000 diff --git a/src/packages/System.Threading.Tasks.Extensions.4.5.4/ref/xamarinwatchos10/_._ b/src/packages/System.Threading.Tasks.Extensions.4.5.4/ref/xamarinwatchos10/_._ deleted file mode 100644 index e69de29..0000000 diff --git a/src/packages/System.Threading.Tasks.Extensions.4.5.4/useSharedDesignerContext.txt b/src/packages/System.Threading.Tasks.Extensions.4.5.4/useSharedDesignerContext.txt deleted file mode 100644 index e69de29..0000000 diff --git a/src/packages/System.Threading.Tasks.Extensions.4.5.4/version.txt b/src/packages/System.Threading.Tasks.Extensions.4.5.4/version.txt deleted file mode 100644 index 8d6cdd6..0000000 --- a/src/packages/System.Threading.Tasks.Extensions.4.5.4/version.txt +++ /dev/null @@ -1 +0,0 @@ -7601f4f6225089ffb291dc7d58293c7bbf5c5d4f diff --git a/src/packages/Unity.4.0.1/.signature.p7s b/src/packages/Unity.4.0.1/.signature.p7s deleted file mode 100644 index ad5de07961709ff3ed226620c6e10411b8b8eeeb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9506 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 diff --git a/src/packages/Unity.4.0.1/Unity.4.0.1.nupkg b/src/packages/Unity.4.0.1/Unity.4.0.1.nupkg deleted file mode 100644 index 58e108ad262eb10c40cba5b6c723dcc253bd0c63..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 475012 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 z

r!f87_k4|WfT7uUqT>Ye4{*G`> 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

B{ zD=Lh=DXp#FD{li68Z!Wt2M<4ZogdsQ*pM>Zw1Qa*zlW#d^d2@YVhP*V@L{>*@;UBO zgv#t>dDvC(0cfl#=k@Q|`siRe!(R)`o9#X7#0Ed?rP>{2rk5X0pe>TXm9KTF&xB>V zOXkH=QI@+a)nlj_33)QZaG8V>;B6(+?ynV888YnAa1BmejrtCkhaFpE`xVu z-SOmdX6aPuyGQ(`gA!9$scgY{Lh(*8rIHkPe#lhk_qULBPx%I$v6zJ6}O7&x=iRo|}ArnxaX2oYxIGzcqfBva{;1^Ute$%^>_Q5O&+c zy%mC!pRW@IkLB}lVXDQ_94T#YIGfM&yZ>_^<P z$4s>vslQo`jM4Q8HLbo**GYAjLR0FrIz`V@bUjXC{QUEd|MtHnpAHqiKdSS=Q!@sR zF~k#m-q>+{!dh^0v%>CKq>_`-aK2VPe7+d}yw&kj6M2MBd27w-ZH5^Me#g`-aG*}8 zJ1G7rp9QwWWvtat+@_z_^KV^-URFzd4cBHLway62KE|hQ&2gQU8tUva{;d$~6Z%}T zI?R|FCYWJ0%6ICAWL_JgGhyZAzIshR&N;nVIp0|=sCy{y6H3me&2#&f2x6H}U0cA( zh;8Cr^#=Wa6#Qhl4X1S;Io$>y2Ze2EOP1RrXVYc%33IoiXFVTRP4IbqaxQwk?r!*W za-v7HrHp0@*6F9zL8kSDK4EQ<&#*&TTcsJ%H2=syuBm$HcH`lXllcGt{B{5Nzfem9 z1QY-Q00;o8Ohrc!{Xc#Ul>h)ti3I>B02}~pX<{#KWpp$(FHLD&)6ba^g#ZEPT-7yu}s6aWAK00000000000000000000008X0YjfLJmLT|j zBlbTaoDrMO2&PQhjma=MQIy%-6aVeq%0xUc%vnuMp?>*<-HvsYi z1VGA0#Z0F~iT82tc|U*t?_V}a@R{XBoTdN%?5B%AJp1o2|L_0n=O|n9{{;MhKZixZ zHh0NR{EVNa;fB3@8!z*$$X4aWhdf-C@sbr6zo&7z`}qa_UVQ(Bv%t?A{uAHOT#r5q z;A{W>?DpSUSH8IZ$nN8!WI2o8@jos;WJ$c-Ju}wA^@?h<3Getg<`^gJqVMVVtu3!dd)9ef6JT&<#4?>HXc`*s}bkij#=tf4sOB z|LSz9k8GQ>f~5dYK(N0hzgBQZ3j|wSA&66cp;fqK7r{-OE*V@mXF4HrNFA;pceZ+o<(}Ri15v$92411627D;?I1aBndLu z(q7j+TrmWI-*!fti(gsk{Nnk|j{mf|xZQ2p51#Pns}%dtsN`#TTo6CshIzOV7lQ9S zdwI(j#ua{kfxmRWk+ZVO(*pml@c^`D&Q|8KFJAKX|X8o7vkkxR<5%M zfAb*;)2p0?W!4S7FH`;-#)2ikLMJk+Z}{S65O1~#qIy_zerNAguEP?Dz9{o*si`U0 z@`VtTOIR&V@9hH#l!04+`U&>P@HB%U^-Wvj-e^x1LM>vWarmE#mwy?FQf z7TNP(<21@1i{OS60_Qv1?dUq*AuxlscO`{;mYbU1!ua=p{+BQLd?Yl%doT6E0E!l! zi{#`cESGCW-z&Ck8Lwg%Su5bT8CT&@^Yeime%`J;!lTD2Y*u>EnQ@d4@+1WjFZy_ux*n=oWxa{CLef)z%u|W~vry+-v zv!M@*h~i?IeMalG3)-Co+qg*Hvb>Dhpj<++hOJuuDRTz_q}}QHgT~&sAa z9QHr|s~?AW1q*EAls{Wc5W;r?y&yCQrC=q0%qUL7B-z=55Pq`?ifX$}V!=InJ@eKe zS8p1>YLNZ_fc7=yI}WZnzhYaKMl48R+AlV2~i z)8dYS9kAq(=BluUnWGfvCOrb@M0I5stg}b>F^3a=Mh9!~IZU{s&9`gtFKGnOD~{;7 z@BpN+P(RWI@;>ZKx))O5BV`DVX4i=Dv3;Fmes*0<_NI?rf=0I^F z*+kUf?{e=ykg(Ar<~tzgafL}c`f=&;7?*2^c*5zY6SmI%pIheV$g=e?IJA$~6Ds(* zDfdz|F2TeEOsoW(7Klb}WE5ud3=P6;a7fR}%&g2j`_K_-$V=iWrGzU*yDNq7+fZD_ z7P9ZRBn(E6_*P$j+|CW;)qW& zu5)#&U=_v*mvbRxoB(RVyX4v9*bINqYjhKQ5`j1rQ}*clK>LtE`CCp7gPy`~M36Kv zFGWFB%nU^Ao!p!i1Tu@ew?j-2>P_8c*vP&J9a*`|xrIWdA&BHC7Tro+`3$m2BArv~0f+yp0Qe25^-!br8z-zipkld3=0$EMqqAS6hlymcf zGtQj`Qgo7awk$qPk=jg*x zfU82whX#kZk7dUm^)qtlY!FeRCT2Yz_&(w;fhPVytsa?vNitc55a$R zdn=Ky(EquL`g-_K5q4^*2<4k2GREjmXK zIi$bH%ohmnvZ^#v5{*((%uXD%;(4FHvGI-GS*&pD$56R|>Qyn_ygqam z*LYdRdbde6WG_zWSi2n3mDX|f}j01Cr@ zHym}r8sgwdzc0CElMa#w(fx_vLSjsGoArKRVGrshL6P6!s$ee#*FcrEOXH0fdtHJ@ zqbq+W6#@WXD)A0(tzsBs9g5`80(|7iqfhe!UETT0x&|;B45Q-QGrtJl0V@Rg60ucS zC8hN?r@5g+Z5>g~xMCs};+TXhso2+9+^fT#Y8N4ez@en$^5xK}q6k2S?xdt_BwKXi zrx5i>gL|Qk_DVEVR^uSgH?BKvD-XDRWRHbh6JF%Y-f+;G{B@A#!iotB^)V z+@FIt%p=SpPu&fPdFkd`Sx0#948U(?~v5{iQUV z-Q+o6R*s+7oq;ODLF>N<^8{*3>A(I9oaWg}{EtY=8!zi_wyI{U>Zw>&b*%LcDP02i z`4h(s*o;|g3^>^oUd4CrIpXgttgKEj(E;=>aAYYzX=n5zDK7O4KC1d=2{0-Ynpy`Y>f7| zswj1DsUk3({?6?)fmRH&*&t_LP+!V{8eDy6tjwVhmvNZH|A2DQW=bDeS(b08{luUC zTbJaVHA}euZ{+BxmRb5*#c|Oh`LcCc48V+2Bt9&8;<7Vct_6HI(jO%Ai=l|>f?oJe z=M`;5mzBB(xM535R8?>cG=a9cW`nbJoC9$Qo#Ty|>{5lfURD@&5|7 zu*xQ&5G(aXj!4&1Rpp``6X;-6*{{<2J%g8rR1~*?s_y?}C~ADkDoh5@%#YGklpbN6 zOs0Q!R!yLS9vct}-}j+~tX_4ve{=*qh8G+SHolFZNBh-hq@9s==zJC^N>UL`3fx4m zxtdyD=J&onD*XE(%@L*c;1Z2EG?JYnA>6?}fliO=VaV={ z_wPpq``29>71VDuVUCyQrSJv)d?=~W{8*MP%GVq5mirJ&=)@g%n%)QO*mDzJo(MWb1v>OIxkMQE(XTFx~)fEMonkd?Ke z2o#uoqTG~Ox{B|iPpQ#Ps@Av9>`2D{pHzJ00Ws|kwz+3zDVwKDjlf>%&Peu%Q!Fi- zss&&RJTKl-MR4C5ty@-TxK|Km&P#*tMd?_W-^FDPjr0%;3Q=?ky$FP0YB`p@zSUMCuM%kE zlCyt}E)sRys5!w#8S@E(HL zk8vTRBQ-f(KT>U_-fb9AqfQ9F|Lb`$_1KSrb%=CmQD z)ik?nvb~glsCeXZu%C>iashQbAY3aE%O`fAngSJ&I}Nv|fdRQ;6e#!06m2w{467mf zXm)XWxM!%VHmYNoqbkS*1>ImXs_P5=%&Hod-8-k$Gau?Z;-hLsX6T5#@1rf|Cmit! zYs>2%iI}M)S5O^WlPr4xHd}3tW|sY3U7ayxHbT$d2yJ|~*#d1riP-`j7SUd1dr_^Q zIQeQ3Pxq|zQB8rtR;be5{jETpZ5=AS}Sqm(0RLKsa5NOb>9IuEG!2!}rkq)>hvN)d) zNf81478l-OC8+hr==XAOp{2eqsr*b_bD@E0fgoL)OS$9*Ct+~`+ENc9-u-XRsV3*2N$DTs=QI=MbZ0$H6tEZtF-y->+Ip&p$ zZ)GX#`BQ?B(zem?rb?H4dILLc@$8}k??%Cvb!M+IBpKFxADO9pGk%snhe zz{{?&?(R>&eXK>+P9B-Yc(V~iSWsg|F|TpDSzZ8_NZq1K%KxR=#svp5OX3?OflO9E zHh3~4hGUtzk-r5hq0GC{o%s!rsyA00)BW4@RFbARD6$%`nmbXG%&$o$GX_@=dU?qV zdkw4AnRXKntO_)}%ADPD7TGQP;=oPM_Q6IUzqc|*5$VfQj}c0$RUzR)7{pO`nnT-1 zhgw=9ah+K2aU*W6=$pr2+jf>)_UE)^jlqsT=XMY1dxk*I>>;rAm-{=^`6qd#+V>4} zLvn&CUwO_oY=71{*Ki=)vqMi{36JjmfEz4c{?d$j_XI8*Y1nQJT#VHlc$5~4^>-ky zJ~8XYPF9oa4sP$`(}*qV;$?TBY+^fu$Rb0Q45BdXyXk+#EDv*T7%ju3-w2IMqCT#B z)&^-j@@3b-W0pS@{Fe{jU08Kr4E~QCIv_>v*=i;b`?6$P(I!vi5|Iv0-gu|+MX?B2 z$j?R}-vd*@vO*YYDg~CkzBN8|fq%rp2tF>>VU7)4Q>L?+Hk%BZ?dAiu$~h8R13L}t zk3n!>XGsK8eS|YzNq%8uL(4k{7}!y(Lw{Z`%m7O|iVJYEL^ap8aV+D{h_q|R8~m+q zcIk4RXKDP8zK`Ujqx|O3Tp@@K6dCl3=nXL{QS|lU?m0PVpDjje$Cl#A1{=Hv+bV}= zA|f=pj>8Q_Q)=jF9Tr^Wu)_+HZfm?r1BU)?8v|Lf5ib8;#oz@Gl5F`v-TLE|O*G(4OEVZC&CLGYf`UZ*-C)Pae+lbQ zC<(`|VYX_*LZCSN444jDR2*|dV_ABdGJN1x!8XBI)(+9wN+>@L(l-LqZjrnJ_#B{6 zXC%}jAcxBSq7-yTRoOBw#zZ8L&_cecT(>!`y$RtOGU4#^zU+D+ZZ;AJ`!TQ@H7$wN zbLsMEF9hg`cq5S$8x5#lS0b$rk2*!mE7w?)7ZWDhU^2L+N4MJ?o1j(z*lYkfAuh1c z3V;`YGiOU^_beM$hSXCmhcFkmT_jr=MY&|NE?sca6xtqGT-;vEuvKpaJN>vW%k7Vn zVkA!<&!*V_B$~;3`$zJa=_cd4spnm|#5{ItP04XLTgHfk!eZc(N}>6d_V$*OWYcTi zQ#J+1&RV(?H!)Ayx|@qgYD>fxvKH|GSlc+NACzz4xU~T>)Dg^vGjNZb-UO_V zu&0lR+l7D8tvIA}QuG-e&UJSHXdl^zQ(iZ8gl_~!Lp8v&#Ktok0LmFF)=>ezS}+{j zoNrZYW{MjCnqLE7hXrv7{N$({~3jn{N(*dhFW^@kz}>6WobdnuVuK<4yq>2SM zF&Gw)pe(}}DX5Jo^WBS8oZ>vGJ1`>1tx(s&QNQNO&5~|_xCuYsGd0t5x#o)B0@fE! z8|N$$R?!qpmv+d}Gt>wfvgM#p6#Krg4(_-XDCLhyHW1X_$`D<3NQKp`9QFhzQXbUqmH9=i(uT z8QgXAg&VayoSO#NkS(=`nNXV3P{Tas9%WHSyCJ?+d2OMP;pEXh{%xm;a0B2xXW{5T z&qoZ-n>0&*#Pc-FC<4C<`c$Cpqh!Xe*Q#GlTyM{a@w<+Q@PSL2EZ>lJAyQMc27#U| zUj%XdL{A7^ZtY1Bar!xXAiu=04nl{mAgAQ~3De#PIr;uvt^s~dj6q+&f@;0^jc9T$ zu^UAMIF>itl5z%+CurBGdLNDyqq^l!#yE~cfhIlzPra2V7|JibMoSNTd~3DVcE*=8jhRa{M|df4E4(`6bIh zn)p)==gwgs1!5VQN8#3k2Jf;`h_pp;SHYyt;DNDi5xn_wm2Ej!-)?)&;iU{74&G-k zFO$b`$Ei4np7DirDn=;4z}W`fbHJwv1qvQA@QgZtR#dUw3WyL9GQ%_i-`8?pC z?2<}%n}=x;^Jh4iKnIT!CPij?hN0I_sPY#$`iE5_CmnN%oGtwjE!bk-w-HrkM-SvS7(d;D*_t@x(yu zJ!xW87#2#r+xz0gaGKvh1ZY_8&ZKrvBhA}OgDj9TsYu|Lz z2y?S(0ul5{Bk766>fcl(b#OvlXqV;VdRGTh3T3HDUjQ7=t`bl{mH<(fBSvZ1BSME( zq1sV@*7V1L>nWA`;5s#OO`AGoptMf2Y%7%w;d7Pg@DNrlIRD0!aymxUZg)J+cLT@j~H+}?n1L0=R{%1=$SXsbFhLYU-jF$UZd)=%k zpXBrEb02(PP>oh`8W(FuZHqN-*o$u0K>I+90uwNkD~GrUBx&W4U8Xc<1HrJo>FYp; zoJl@(M(9xTBcV2XfZ*lPp8~}<+-Xvxf3nYPoV^$2H_O?sq_2)JIPFh}7_+GVibee_ z>1Rp5m(-uE1egVV2aB$ESqLem{qZ-Q&hdIQY;6~PEXE9lW-^1oQ0zDn z*9I762E1fDrcwltC-Vxnf#E{@I3g4IRdn>w&H2J^ov-opW^xr3bMzFl?9QWqp4}+W zYLYc@jPekTpGlj|eGGxZZm!q7&Lpfh`FaK+atCUiECq9yo*K2+HyUmlqvL|NRZ(I` zTmI3C<=DOpyEAv|!D(CrLg!;O;Pgj_r;Pw-_3q=o+{{Uj=cM}@Zy$UB{fjQG#i_L` zmR-_ngw+zi29VH4U8-w0@o}%>rE}?lII*99%KzC}yVVB}V>)D~H;&hw zDaEYbqmctE$wI#0bEg4qu?RNYludR&Os1?g!SCWK;r8aIPd|CF7rnxwR{|7e-V~G` z8pRxTP(CO6!l)?-(%yritDd~4)()3WdMz^tC{KyT!md>(8W`@WXZQqR(b6mzw`d-| zb36{^IvYtG3&fg_c7ae*(`q@i%tf$DfHgIJ9vhinQBrnyoa&54D*wA%=Ha)1EF(TL z*A}MY7r#Oq+$Lr*>{IImBLlFp_1qN~qWLLaykOv}8<8F0I;Q3&?=Q2z3urF961|Jd zKM99SK^~b5d@zr3!A9)nHWn6koZ|OCW~@CktaU98ZUV;Xy>S>5pJ_gxC|RnokCQcY zLDg1>xB8kWr6-w~UZaT__vsOHdnC=x{CYGjJX^*+W9`hZ&qA~5S2{f_E+0oEeFXr~%F-_05pftO9l= z<1^3&kEGAjQ_ZXlesz-Wrk9K3)2Bc53)9@pehM*cMI|9+{*-5Nb!g$lj2k`81RjnM z{q-!4hTRa)<-9a}m-7N@!9=-W^t*-Z1%`9gVW_H$vi1hh3hQ$iC*fVf79xd|_L9By zs(Qb=;m|x&m|#BX(?xRop?r{i!0u1)Wt~*Nah{kUF4B-y$(7UN&`wW2j1>dcWvbg9 zk)n_DMSb)0_k+0KfOx>@U!bT?RSU34F4q$kcwqp) zv_98W8DfGeqlz4RTPV(hUSHG^OO|SQw<;g9Q(9+`U7F>1F)B+&AJ>JP_KTx47Gkb| zNsUbp z$P>VFfPv5;Kn5ucuEY>yI+n0;#0!n30lxptSxOv5ELBhQHq0MXiOBpw<2{fU&w8C! z8!pMX3fsBh1*BJ)K!phh0Q(%5unOk{NkY}^0A_xzJan58x~!#1NL;C9z^Q{}Ef?4N zutI)twX?bxT^zZ9fR4_h!RTYH9s6(B@BUwYUXBjY4p}0ULr=z zFZf3QtWxV0t!OF!GHaOP09D#*HWC)fVf`C5MaKg~Tt3_)_AZNXrR$NA6hp$V5vP`@jTg zzaWc12y{;vXtm-rQVRT9uEX@61qh?y$N%TP{L_IgOouVIZmOiDR^Z}0W4VGyWgcG> zcYvM0Z>CZL>BVhEx7OnvW`6OF@{8e#dGF{KI0EAwNmy0B#q}OdmS_W6zpvKk7*0-3 z^vEROQLlAV&%_^tH-aB83byi?(mVn+U3&I=$DwD_7D*mVcc5xX+&p-XN`1Hs6=xjNwIg=3w z*o#uij?pRn-wr=FS;GUQGW?nCMDr&5WU_aV507b_o+h=vLkpRDAMGC<0gn+lMGjHu zayO--Xt4xE>Ta0M?f@oIEkJ1$Cmx-i9mou*8Vcjqjx+c&S@*&E#mFTTNmaWggBd@; zKk!n`#1~x63)?B z?A#Ty8<+^cd=rAQvAejoe&o_>72j8#@()#7D5OndC5ZHx=%tKgQT7FACkr39y%e1# z5Ql+?J%tCx9zuGJ|GAR6S}H7|!QnlQ9J4X?ZBe)6EMHxv4K9Q5s(md|eeQUne%*DF zvUqWk>!!3$awsyKnW-}hB?t!UV84&4c_TZgJxcEtzchkS7>D)-tj*`WqtzeH1ZvW@ zR)P#7mauzdW0;3r8}p#S?xYHZ#RKVgGIdeMM|8C67L=#k4E391awp7XM0;tKI(cVi zOg6N!_Kd&?fV@S)^X%m-11^-4=&*c=hF+XnK~a;c@``Km3T-h({$qfXEC%j#KLoxu zWKn!8*o&bDHy#WB_slUnRYr130oTy3+#q;~olwG>UE<@yyG8$3LPA}J8(&Ft(-V`` ztZ4a?kPpdqzsEJ?^oefGKUQ1F&xGkkKicDqAPsA}dEwVj{F0p}cZy4bQQ~UKg>S}) zzw+(P{P=N12v#I~s=o2c{uf3K5SLk>LyiwU7^#QN!?!ie{p0N}Q9m{M6ju3`zp_#% zW-A9<4{sTiIFIAav3+2!ba8x9u9eKcD}6r5)eRTbIxN!fVdw@+C8qFS^g)6)e;5@4 z8nYz!@^A?N;bL8wXHPSY%$u;p0_N6gvk`O0T=aRz9y{digD*P5A}LXd>P_O7hfI4u zqD)XeQZleh#UU}9NvG-i7uz+FxI8bpH-rn^NY6j?v{%9pp)&ZN$on|?<=qe9&%_6N z;Q&(V93~*VYXO@yBUr`kN z>`(U}l777kN?rQBQKfZVy3WD<){Nu3KuR_IkNQ`5VrTu1@V{GgJyEQ>igT>|Awa_( zPKOI>!I6_ADs|>C8s&rL618Ja1#>y1v@66rlaSmBLmfdEW47 zQy)S9DVHlCg14d5V2M+Qp-9RF zO%IL?_3zkpEC_$R5{%UI1>Pj#J+_lthG@3NjWgOI`KA&kQk?o%YtX&1?cIijsSs1R zIF=*Ps!-1bRutBIZMf~#rjRd0KRjAX9!9!RQ?RF`Eif6-Mb=u^Hcgi*7?MlxyE3lh zdcPg410-|A!9+@yLklJNy^tX?usnl1&dxX&&$GNxCeQa^U9ZA8sqzuWupWXLx&u1J zC~n<8RVrJtJ_jE1{V<)N5tS9ZCBb)6kp}F2rQv~@zTWvYaT$jR_z}nxW%my0Zdlbk zCzMHcQdoGU)CysvAneN) zFdy_e*(bu@8FkfOSlwzMlE! z$@yk`mJm1=vLY^-n=UkS*O|M{-1SVkYwl)7K9enh?3~2$TJ6u-nyruX)Uq|_WX(BQ zb1>|gb2ZN^S94C)oKrRDRLv)wsySzBPM)dxwI{62xgDp=?Qmc}Cjp;v60q}Da}MxO zkeoAQpK^w*`Ac;a z#y*gMD@L*7l)5zeD>j|p&co@9CouTqwR56Vzkc7`?UN9qHs&+Sg>}cZtJHgPbM1|E zM#8PBlGRsT=L>awG>*qYFgG%)^MYAF z0d0bCEb!GN@iEN&tq>BZfrFcCygp#vq25~-pTRQ>Ep>e!s`l*zLU%0gZQF^RXFIDe zsG-d?CKu8^txNzJx~IPTb))+DxV3KAe4=7GV_>FE*MQcq-LK-dRlj6=A~u$+tQ&Se(_E9TkEB=(4>$hGga-%PrZ@T>s^Jwfd+{i|rS9 zO<19B>8r<5c+qhO`5wTAtPHQ}!QT!NuONn*?`U+lnp{I)Cb$P;3Cv@SaYhLq&=JC^ z%9n&vuprALD3w?tPtJ2(WmW3m`5b4ep~g|+zE}Yw;37$1$LZAQ z?SbysH|eQ!04WS)1(`98z?0Nk@+KNqgp`Tp12JUvTMC;KENK|D(&QZazkU@L9Irq+ zUeKs3DOTl3h# z7Yhw!sgLx3am!1?#6GPmcqp2_^1Q=tL zRy-sm>rQA1*CbnpCF`)~UJIa!(Q(RzBn>;WRfNW2i^$!)g`{+nHf3sLkah4F7j+wJ zw8r9fMEJ-yoNf0*1Ntt~5Wa>Q-O}(1`psPZ1)}k-e55a_<#@DS%8Z}%Y$7Rt3953m zO!>KDIk@2V(2pl{+H%~E+pKfSke8UArSw-QrDq{M1k7d`{VmGqIvx;7`zEb^WC;rk z;okx0XO#n+uk^Uk&Mt|j@)4i>@sR-{>Ef3x<5%_$WS$X#@N=uI9dFi9Er!^Q-fTQP z)M$nG;40-Jr%L5d>NbB8=xcl(43I*@2m;h#<+i5)V^)ptcENeMsU zv*uZKzdn+^H8Y#b)W(g54jk9Ur3}wq!@ziP;@W`&S9Lxe>!JI7XWZ{QqqE3&^An!` z6V3)+F9UD3?*?+i8tq3tHGa`Zz^Y$@T$H}4CvJP22{Q@xts^#3Q!S zs=dNxl5~Z3k{A_&nhSbG-bT8`D@qUQ(>Y3AOXe7frx+Gjj3puuO?l=V8Dw>9kd>elQ89d{9c@TnCbrL{)=X;WLuogT%<8P?_ERfwMi)~} zMz`o6DT|@Rj=m!ib{2|BvrrP~lTu4L_?x(E=g05%+%ET|xD+SGTbTrM znTnb)Q`Jx!&1l?v_UxR22>mJ?JF{P>Ba~*h&g|BC!nWp#-8!>ZXZGrRBb0VFgf=^M zz7?m=?9=)7d^%qFB&L>sTp|f1!4#%2C^PSrsKc2fUaOCjD$=LE8LWT1!$H4tW^?Bk zFDJA8=AvYWRHrUVo@!m%O$%%idjiKq5p1j0WZ5Yj@ zD{aENta5q}QN^W(JXNMgIjQEL6gAF^B0P0%)aY2J=H3wqq_F}95}I4Fb5UKy6nVGwqv8U%XG@ z$FlcaH@5=^9QD`}!P{{d!t<$tQyTXC-_UHl6iO84L`xT{i`42IZ#obPX9M?)YfeR} zf)t_b7gv-`?G48&XltTe{?|-k|A?K#u3-39WOnT)YYYQ651n? z&l2`sM$-+dRim=tYq5#?F4aR(c!|v$NnH^Y4IlEv&)alX!@hz&(1D`dEX+7gET@^l zU&pCX(S@yYF9xOORnxe}&ZD7d5*0{jy36k%2azttl3a}KwlPFE z9<%(x80@0Hw2AN6uCAUglPY57SWBc)7#Pg)T&6>zvTuy_a)*r3moP41uWzjTh>;i= zjF`jnLtuFKCm0I;G>%c_bxF{3+Zd+xqE&+>!|MoAYaii5X=ov z11-mJI1*-vmYE)9=>o48-m(h-NT|)in_Cq%(%5^I(q>4$cVB zMP{N!%@B3H5jJ=gM3XFgAWXhFLk`YP*g^$;NmAu2^l2s1!$Dwh z0S!A9lg0*VaOp1wx#IFR+-_CKwofx1DfmQ$1Z<8Ct*KMb20_XW+WM2aR|mz;z1Ic* zso&uE@yt_xq{6UQdL|y)dbL^#Xp6ssZ#n{*j@E!@HO~?!yuquAPauqGjHz0alw%y#-ND%#Sw3i zGfYb71|7`c3Y2p1~pjhZRUwF>56z35Tv@ z(I;3fH?1aQKFZV3fu5demK0=9>ihjI9C!79$7mT4O=A0QsCzY{~=2PG;&N0hBQw67FNkG%QBDe zsuC*-Liq!dC(xivfJOQ}l*3SZdMd6b!#wJM${~E|$sqxTXojp35F#(Z7(7F-&M`Yu9XB|LEBaX6*7%y%1^uzulK>P=km$0C6PUs;U7q*9r2sm?wK#dZ@&@rRh393d90 zvqxF5CD2j~vCAp^E5c9H`QY2HG?rMeH=uy0T8QwA&c<=55~Y5mI-e7O8?aQDdTYI4 zI@f903?DBhA#=zg!XvDHwo*0Fmj;2@0( z3{$5v3hgn}#pV9S_=ff(P*XGKth~Uup#trQKK}!JbVkD&4bK4$$>Sr3hsr9-k1DC> z;)4{B*W7mQ>__VS3a{9fr4dV)yN}lUn$9B|1Kk7Ft7Y46<5z`NLp-H2;NV=LJpggg zrKwm*;KnLzt)6rS;+nX0N_^12|Ba>h<@zeyKv6sN=Ei?CposAu0PEu5UwEStZOL`W z$IKdcDhtg+F{>M@Y9YUb8^2t80jmYQ16*lO7^$G?B4B?97f_jD^~^m!7B!wH%mPWUy9oXd ze29=K;KyH0u*ff1u&R6eCP&qoZGBB_%L~AS04y?a!t+hv3$}q750Lo_?Ulk@UKmRn ziHV@S(z%@L%nXehZd{iEN6T&50&E(=iumieAu|pa zwx!{ORB$V1x{m}JFUGSEG|=Th{iKBCF=W?ilwdQ~K+U}AVdF1SZ5m*$yD(Yh9BRQr z4h|%k^~^DoXVE!k>YQT*d-uNBudJ-Sm@kT}1}6RR5kHrL`;s$}JP&u8(>EYAcP3(nbUB9#lLvD!0;m%g|*Oy@Q(-(K;*d(s%{iNfA;dNUJ4WMA?`U^ zGo1qu@zyw(*Gt?gilqzS=?C$zcfu<}rxD0BoV9vP@=TM0YuXOzX0OE%adxSJY^G1C zpHEI}*SB@|AN0E(9pTIu>aOnBP7ON0Fsb4A)9Eh8*)Q|^3SudOv8yPg_nn}u990-- zw~`AHYb3LXisyPPCKNkkVY=+hVy{j$rGmFdB6Fh9c>@UV-J#?zKjia zC^O$)9Yzr1pF-JAw!||`NA(_WU~>VpHRlap&i<);=6x|x>b(y-b?BdtpPRG~cJVKO z3Th)3Sq+IpqXK!U|Hd;_OWDZreHwDr0fOEdeMGjiN?tKASZs(1E?$l3q?Cf3IMdZ( zo)601W`s@N`dunVU@F6#oAAp#z9WxkXr@;@hJ}0AjyfRq@PqZYve=Yz-+Cy0 zUaa2-W><|kSn1E!NqZ z&v&YPMYe&W((B(;B-6~oa>N!Eq@j^dHP@IJdV)lTLqPnh@(X2uh1ZZ03Onh}7uaG~ zOVF+;A;758GX+bfv@DE6zj%4k)ZhWnHBH{*F!*r8$`35ZzrVqL0%bO4W2MVr%@UY_ zBg*N`5$`%yPBcgSm7~W8<>QbefZyWC^jwe7r5Wmuds38{s}dQ79YwWV51)i^x<@2a zQpq_IV8dCezsOQCL!rLrMXCiVidmNn*iaEtACt#UT35u<62o|{DuRwf|?~3b;YdEK3D_Kxw z^o(4Y4z|xc?T8L%km0bBi}S$h5{18nK&co>5=mlOV~aCyKfpVBLM_T!lOL1 zH&wd)=k32BR}cSrEgA~mC5(UkuNfhaN62?ol1NjV)_6Kt2t!z8ssa@8!x*DG*4gDb zqemC?fGDu2q&qULtyfTGS`^~{UWU-&5~LyMba?LpLagVFWVI6)+S`tK&hkeY$Z7)2 zXnm#Y)?L?N>ZMthsKcqyC(-hCfasz&(wLG2{$dpywO9NqBBlEvdniPDx}fM@e3*Qi z^j;Vq6Z2~b#`Os4jUL9^d;cTicg9zPNA^AVP4b;kD6t-T;)vFsD1zUGCidmDpSMog zzO>v!^npQno8e)aT)R_U`7(;cDd6|=?!U$9-!EQ&0W+q6{*lJNM+6B|o179N6m3vW zYkl*hQic}|^5Qg5&Q-2&m;4c&vFY=Tf|W*JiG2@>U!5#^vFF8qWir*^8122kCh#AP zdc3Q{%PIs*QCBrbX4e#v{@Ak@Rp%&RZ3TTk!W#I$Ql~M_elP{86?L&w)}O_kRRsb_ z^`Si4{ewD9Er1#jHUMdzC(4b^R#-LL;815ZGN>8^;5)Bi5ru+eKl0Z&mDX^c#L*X*S1?} zPp(zp5Xyb5)@b%l)J#yiLJBJ#HTWEdN^o%HgKc6oLQa!4(tJOE0=&lYIFSrUTtTX7 zpMt-hNuqnPLgW(H{Oo2GmTK6pX5gx4>)sEoMjVA2{_{+_^^D!72^+P%uy7=RTV%SpgyY&2X%w^Dcfdka@ z54X5jaI#2?3%PG7$l_j|e(oAtp>LfwszPU&Yh+Kvh4zDgE{`3*Ja*%fZhK{{@HjrT zqSymCHrK;;0#`p)-&_T2A=JbLum`UB_0+y{Iz3s@s|-q*g|GHrq8}|`LJ>TNpwgBt z<5jHF>!gL!Sz{Eq>NaWr!I6Nv+*YI%lT|YeGWJM|G+yj!RM>)x-5~{aY)Ryx-xw1# z^(IPiNe{UwL9!R*8$X6QKO*{|j^&n0~)q_MrVeDnZuK#srn za~WS30rVkP3J?XLFhz&7qJJOZhBWr9SlP`QBSn!mc zXz%P)N=$DPXk9`a3|qC2?C5fU@NK%d4nY3fWc-JKGP6PT`M_+jy9YsDhO5aXJ6!`U z*Owr;g`vIKJ7+XbS6KAOU@+P3GzLdA5TAy5e~hJl292s(K!3pGHu=(Q{Y?V=8?wjb zS7xYpn^s@}@4PfSZfSpAN?jYY&o_Od6+cD@OhQmnVF(!EO`N{A*w(VN;Q!*73%QQM zq!DK%v^?spjjGQF)<(U~|0V>Y+R1J;D*sO;{!O4jiJ|XKA5e5K=?u8w{HrwJ35%!N3t&=4hB~F zunq}vn43fVaGK8FE7sK5wchZOt|_Nc5l{=4Mu8yKS(QXGiIBgC5n;r4k+M#_%Tz+E z@twrz1Nv2;4rL?Ff&EAigjp8G6Ujia?4nGbd<&{&nBTL~AGmvns&9tvlN=9w(+=hl zT@6h*={>*fa*%=UEolORnDJwW%q4iZkpOj;fO+;{;-7)jAhh{8BskuN`2&MaY={K9s+q!b}*0EH?7RVzq1Ama4c??K8kX2+AnPcBnOM853NlWEIX^?N&K?mv8s=HyJTj3_KioU3e-bRPv$&>e zEu~y*P3QIXdg%@cd3y$v&%$UHMnemuV=;3c`r8?G6|+0Dp})ORVMc?m2@N{VVC+ym z|6VY{)fj8BIK;1Lb92gf_)FG-8GF))OvP{AR6f-4gNJ11~&a^5@G5b4xdM^_kBU$%*kD1^4_gZ zF%vM8^k$aK<+y>-HS(z$EAjzFwn0bqNTa^po;5!*i`=?3V;W1N-eVy>o9wqUPfxHQs84&vTqpD|*!p(vGRH)1C+=O%N#9)K1MR*}E>GgGA_ zw2F5f2$1>8aa;GB{A9FY1~ zR*DZgKER?E{$mA>p^sCyM5#*@V<-^|`vi<@>nyj622&;rLNr}K;Ru@cV3QHa;@_=; zxD29<73uem+{R*(LD5B;e=QhNTL`re>?Mr=LQ_(*mrgzjB9KuB0Uf|g{0Z3XF<99T zM~O!Z*xfP3Ed=Y7SR-LH*n5D?JM=?~(W=ni#9ydAzvG;pGF-6FLtGDQLNYTa3Q)u#T4xrI%h?T9 z8J`|PwZN*u+Q{XQJf?&S7>e6$AtSwvHw?n2aanZ2kb%lKn;)kC_)jZwP04kr%$G>o zDLJTywbraqESS;lMn+>eZBPMiaspswB)8!78B&ZgYyuWKNxi`&_&YA6TC^xDs$h2j^gb1#r1M7D3io zG}w3Y&!o2s?)lCoOWkzpUfYjKNZp_Bqii-0WV5e5k#u+JNkmiPtBI)}87N@BO##JU zQ{8tCH&Ddck@#w8k<-#qeHznPrj!GT*VMUr{6-97BO-EV(p7j58Rn%S|AoA9tZ~q~ zq@IAMsJ5!YOeCXq!Y%xKZ%+m(#zd=#JmUaqwW`dARoWi~?5BRuTNdW8vd2F2v`+P) z^2igtXvw#WV7vB59f+s?7Oxnn@uC;XaWNvN0Zk&-mcN!NwF|4?jlNj&JQ8uJt2=$O zjLC(SZQWED%vX$;)Q4j_zTF5skzFKz*9oG{7Dyk9(b>MAUSOVL%;`_faFn0Y^kz?m zS&XjXAd_DYHet%Ou-xe8a%T*h+Yygg(bkiNX}8# zG#)#EE^qNlH_x;;gLZ3S!e1qVmR!J;#S5X!FyqoH0@BEG9eHs59-;~g10Y4VVdw(E z=3dZTZ!)&vKJC+J#yQX0==-`^Q9jA%)#pC=zCfI-IE{-nqadut4SUh;8j5a!WCbRG z|3VrP!ah*}N&~^rWqD@kaD;_Fx^0S;Dly!QWEgs4`ln{&EncV9Mo!0mxUQ&KpZXi&Y^!&0rAC(Q!oDZJ!W!a`rc zgnw(LVK|(oOUf3viJ%i(Q~U@mUMS#Nstp?%TP%uWbiWO*^hqNO`7c*CYUinMJSKem z265nf7N?>sL)YVoTzSUDyLw74`!zb5E^zX-#!YPJ@`;r~`!y$525XRz2@qFVBI|4ji8>aNOg4i1~hJ zFyHTfrI74*1{40LTK7A(?sxXO-?@VBUwolbEYYCfwLPQi4g}+T)VD>AMk(gKmFqmK z?y2Bes|OeE4lNJj{#l(8@PC($2D2%q1f-O>;s*s6GT)am(GO(FuW_eas*4+VUtk&{ z9si-i5ud5K+Pz7gz}tz}5h2GDJ(8Eg4Fiub0r(e{H1EX;b-{&7>!8*VG96qtog~d& zw0wYrUC4|MdqL}5q;^N~5jAG`oMftE4NOCg+&ZcqYW?x7j;L0<276oT zaRR-2;6-}Km=e=2j01b+a@4^neS=bq@p00^{}pARD_Nj!QYcYxtME zfS%WJZP1tWQbg`cTXk{WU$*A)*X1elRa!mr$9X~bLt#A4r4=2X_u}!>Vh6mm!|d%& zmmM4N9D07wc+7xIdu+_IXvt}MWDCwIQSkNOt1v10bz`{7Hd~wo@R$t?DsTH#MuKh! zKLOSo!sQqM$YF{o&30CI(1NdqFG0D3@)P8U!DUip3$bFo&{0_UVGzZu6{F&4zy}PX zVP8ZsW?{vDAna%gyjgU?_2g$S-wQ(_QTXr|6-hwg&DEC>i!;Vqwc~Qsync!v{*Wq zNhYc@hT92btdgS^PlRtIR84Ih&I5uqDxz*8?$%BNKSy+YsS2PB)17`ZJ_O&P{nr74 zgmuVYj=jC&nR3C#oZw#RYW?`Ge?NIuya+Myo(*Ce*?y5V)JQ?|P6$+hNzLu@P&oL3 z8s#~P9Vf^y$2t$BH;U+Zyb6H^$ahKwyOOiChVs-<+IqvVku6)stC$r*XD8jrkm~32 zIyvBuif)jz3eMnQ>PTfmVj_w+Qz$qol6GOa6;WG>SeTI4O3uD1f*G9u51+^qnsJQN*RtqF^^%Inq{ z=yUYVX6}X}|0mvl`t--9#J`5u`6tJse=WTK_9yR3s9%X6J!YC17t%>63N++2B&Xxu zGRrBS8mos0w)WasDG9Se8&mInQ41|73ANY62{gJ|2+lQ!VQ>EOVK~U{^|9XlBESs4D;lm2PHY}iU0SCaGK?M8#Tm8 zHjB^MJ!iE19-+Nc#1eK7K4BGsS<2OnE+VR504J-kq=vWrGm&IhcQ?=x379Y>m4JSh>6i+@^qtDg0D%X@I6MwL1OwgH__~e|>5e+^Ms0 zVN;-W71azvU*)JrM{;e-&S-9Np$4wT za)n3STFlv>YLv!NC?aoA5LRWj0rh}Gp-x~8&})XMPCcr(H#Uh1)E&6Xn*47~>-WLj zW*6mt%++$Tk8H6y6?R0yHbp2)Aei6TPup9@lVN-4JcBuY4?`72qBl&BV4@=BSW??2 zOye!471Y&0S>udNqg+WjvQFfqjrSI#RHbM>zOYG*UJDv8a&CCUIntmjTEuEZwvSo< za28J1wHxDm8~5@shUZZ19$W2)?1@jxEQVH`diS2d4$W!+(IP$nH}-~b68O}%fU`5fjTH-u8%~F@De+r zUqpjNP3rV9_rb%*5o70877Ju4}xL?+YY)9o9oU28_B>E{|>T6i;z)xs6B zTS~7l`DX*xK()Q$udGzF)4Nwhn@ z7-(Xyp!YX$jbpq1Tpsn1{1_OxLhQ({QVMg!?KVM&S6YE%>xks_PE_0>9|tF?q%nqf zy5!`v^A9^7V(&-U4dii@nOiDy5qyqAnU_-xl$hf%q5(5=T0y_3E#*0J`c4u2lkw^v zaj3$(`Gr&(DH=r%L(xKrVHU1Q9B{)V3nLku=;bTFuKTyt#G@0%t_o#F0g8YPt)v_y@OInFR1`irb0~z;UsMVbmyM zseP?i+J%aojk>}6sX!LQ3ZN|UiCRdQ2_n|%VIuYRx|*#XTw_XDv-~8_MLkn+_1z+P zi^Ev|5*JmNK$JIL{xG~>z!Qo8cwR^>YC#)9|D(r$q^ei4#EnUku@628@;ac-2ghyn zIlRfUO?@ga2UrEM6_o^J3#azwZZi-+V(41|st2~-SXD{A;FsGL=r7Zy9gx)``DQ)n z?;Y0>sv59$mA66WGDUmjyNN-r9MwQ=m6Kk)_HC>Es3$G~d|x)D;;FU)jn0`)NlYB- zo?EDg#l7Hd_ir`x!>^wo%4ra9X~xWHIp+dcmncD!je9kNKpf`$q#i0Gi`EknoEsnG zY@O-bDR^^0+l4;s&!Y2p^DLnh47q`Q1`!>VS3c-)o>|fvup~Ps`h*p>Svi~ap`QHG zsNqprM}(y_>-q{<*Q{I3y44uGLQe3(QG(jTr6UsB+BJVaYj86goW@f;E#vEtp7n-< zhqc3Znayb-Z;|UoS-w$S4Q1Nb5iV>amIm?0U1PnXORU(2ayIy8c5#;MVoHPWD`yFc zMgxV-lm>Sib)=RQi@A=dkEyJHnKZuw(tN^lUAEddLux)}0Y3(r&q~9$%$d5gr2|Q} zXPK5VI3bpY^IB#sK6@;l7^9zBj*27xR{bL&&PwGI%1k*b1!Zu)v+D1LJ$F$ zyJf3<`t*nH?8R`LP7w{0H>-teH`Q`Yt#u3Gdlfz#nph@h3NHfoWy!YUQQ_z;j2iJ* z`K&@`>g7R=`zZw;v`h(5ADS<9-i0tY#M0i-q~?T{E+rnVo{_bJS}89o4S-0Lz(| z9mmV|s--Rw_Ek_#UZ?cbb@muolf+d_VuRm|VE%%aML+Z7?)=!ch-U>8|MyMtTx+UC zt2+6}|5>c#ZQBGn#dC0g+*iVlk7cAoC!)JPh?x0`GpCx2Q_X7U*TQX& zi^vex&W!ZyVx&*Sxj9}815KYRt`ZI-y#lPCdoO7d+fMi zbw=P2RQjdBIl~f|qNfgYafnwigz@{&%sk76lS9n4TyZGH@r%&Sd*6qXcU2ig@oL3z zmM6Sq?|wJGaKe2Ib5>V1(f{-A{cTfI3yHLnz@JwsoFe+c){qB{UmD%`yt;^w!7FkH zPra!5U{%2ljXV@J2>a(lkVQ8YrQ->n6`hgIC4O*D$pgRD|~Y^5(;JlZ``ZF>Pk!+Sdp%$na1stU&Kn;?&Na4q#^F=O;N<17qN(H>QmVLW7`Fxo zN#UpjnosyKuMUjDTb?&z$WS~*;H3{+kthxIN!mq1Gn%XIpo|F@ZC}&YFba@XiqbBE zUv~2S79=X9yV&(VsSCY$xd7yId~OO{OtG2(+(2Oz!Mf>vL7qe934QaQup;gD<1#9eY$Cbkd1^`RJ8M1qg$bJ?f{B zAW~@nad|lQ?;Dd*H_}n^UNK|6j_5KHMbKN88P|Zl?c?ZnibyOGxwhfGMO&hx+HRAW z|H6HK%}>xBb(C62NN%09wd={Z8C$=S`4*#~y^7x~`BKOxLZ>;3&c$F~wpl@GVW@G4 zBX-ps^xZhXQ?Y8>rUhgSJwnfB$Q+6y&JOKmQCxDdDJ1qbOX4N`P$N=HA9)Ou2ibR~ z0ROAKDBpomvez_~L;%8&Aycj$Zz+U$SpDOdxXti_a?}Y&8oaNS0k~(@iNc_~VgMx7 zxvL2{TzwCdf(e{?QrKeq;f}|h7wE;tRMNbz+Tn~;~PBu9k2;=sH^ek|1994G^ z2GyGu0cf})=ZPO3Y_Qr6+zMMJ zA-6WRdG;CoF@P@{7N+ExagFc7(SHu3BTFVy_c^FiZk!b*d?eH2dzy$I_<9tH zyYNtjB!E{Dwv0VmkGSC`0~0kD27Uo_0ctr}{Z(V0&e4wFzk-VwiY*F-$5#8+B6toi zTlB4xgX;%k8zDk33Le;QVH)R-ah4?6V}YJqvy=c0F}!Mnz$&spPx*0>W8Ygjywpg3 zd)_~@@`VF0?IR}##KO1>dLfoc6=79`wphvREOa?Tx9DI8pRNJpj%mA`#It3L{&?{u z;B(nE4j?^9Q6IWclqP3?Ze~>3DBsYM)&oF0m+_^V&tX!rE*`7vHkTC#8Z9;!&~B6` zr32Iq_ltrUK@ox*BS48lY3R6T`5*bAp;A#CeRs9ydw=>#br`mp0EJs*C_y*<9T%*4 z)DKCRjsRcbv!SS&xYw3%bq0X1pA~tptlo1Yar)$AzsCpRA?)x7+Nszd#U&%|1M6!% z^X@m!gbBh-m-6mM?K=A(7MQZucu1|$y}aDR;)!ioHa_AvpU0RmNY&GgDcsku;$oW> z;a$QsV=tO`73e;&4$KqsAie zry-rpne+%+Yf8ner4Hj43$3~hVLSAFyK7bLdipn1HSwO6?p->OJfYXQT63nMphF?% z=#=k6N3f5j0cx5cWSc|2Lp>6avd3hna&4BdnyEf#X5%Sne#eJBJ5m%xEs9lb9Wx)Ca}+c@!b-mfPT(9d>N6- z;AwX_;NmzTO>zj@dHQz;zwq;Z&dcHMZx`hDiK!R{F{gzB95X}PzYgTyg`E_#E*B$3 z1TTZ?j+(tAcR#{d-S;|Du5_hm{QDrx?<0>B8 zsTYNrg}5_7Qs>6Po5L zDKkXX#tzMN>gTvskKxCA+!q^wgt{LX-oNv4Ig(6%Sof9vPCYhKjjY7E_QbjI|7+c9 zX<9i@14uswQO55(vhDhFfD1%+G(9Z{nna>7GN%%XLqe1PBQE1GiT_~+*GVOncM!ft0G|EbEC|r8Sfu&no?eG_PT?LPX zm6QVkIZW|tho9PeIX#)e;GWJ*$rxL?ZcwbDbjYj)8C!(Az?<6HQ+qs9;39YlsxfnO zk7T4q`-CC|)*~T`pPORp-Z>@tbwIGzcTAP2#Qpk6k7FOKXQJW!d|uC2TV7{y{h96d z7rA@PnI9HAUS+?sQl>sp@cQ_iwvV!Yv2(=s727hdIi|~g$*Ka;#7@y=o`<_L zm%t&MQIei)TW#b^+r8`BM6|u^$pm&Y;P(jwLKpvb21kg47OeOdWdoyXM8wyE)WL6xkKoF;(T(e7B zmr}EeI6^jOY#pyedw#_oOJVQlVfp|$94-@$Fr!1DtXjR5SsJZymiTdW%COoL55F;H@mXqKUP$oTNQQ=U|!M*8j&ttE0676?MlfAbZ8~j%zfiRxcqGm#eeRu1&%@v#VK6l zG-CWGaJ0+LQuJsAmCUMcNbBtJurxHuYqVDN-nil$|2+-n=sL}_#UUds3+lQNcJ+!4 zf71x)SulFuT&u2y+sM{&JlKp9-7_|y3UeA5RoYq4jA*?O?W;$+g5{t272ND5(U9!L zT?k$0Fd@**q)=lCX~L}!e#r)Kh>`Y|!YsA_q-E!s5{|XG$?TD)ueae{tMwuKCP`%L zT0k9WXN!P#+@pxQhQYm1{U&UibLn<8zO&qoKqp{s$+A|t+%y)p4LCcdb5swUImOT^)Uck+iENIA%;mGU3P_~vksyVKrcX;}dl}5a{j3QY= zB}WOU{_S04y}NEBE?mEg!5>^rJ2a^+grVKOIdD2xOQ=z^EdiW~$7h;7C!>1-aiUx)rG- z62(8Vl`sY_h^t?7d!Sz?<7H560KsHP1+GaYB6iZkMex6~3Y(XL%LX3^&>sXF16ANDXS0~J2X6y@stbBCshV$l|q$^N`1mL#Dg~|hx*TsOr5c9 z*k>>CKiD~psYC$X)j@AH7T0Zg(|YmdlX%~H$ID|=0M!fFx`B-cKH|0U-QAVOf8{x) zt@(ZCl(r#d@TZ@=rLY7DKVl&qy~i_)P58iYR8(khm&9esl{^*}G1(cqbbuYl<7=q^ zhCU*hhRHCR!u-Xy>)6696^gWh0>H}rz?YeY`BQ27olNq82 z!n>?0g?GdlYp9|(PL4OInYI(f(fPvVGRq-@Eb&Q<8wi&KK#r;pZMlyQV;L?Vu^*ms z;j({VWKw@4)(=UNM-N?*o7R0r>Nx7Gkc#8lis z+fXqUeHsTjDroNzu@%3f$anVd(b&A{#cig2e)T|Ha})XD@XrhPTGy&EQ2C4T5qS1a zP86VWa~Edcb&1cVQsHdtrrk0s9TOfs}c_0(oR&7zwS@*Vg*5e zhHb*sn9I2ybs(&Jk{C#Jn}B*IE*7I8V`!by!AXffbfBX#bjJAMFn)IRHKWGt>Kj@k zn#A4L&NKllkW$l_gP~T9X-vI=x7~nw2+`jDW8;Z)*wFyRr)nJ0^<53_`fGcXBXdZH zlx=!6Q5XHn>M!5~bOuwhz8VqHWvZDU3TRssJuA`=bjQ}==NQI)5OPz|bfox@QC~2b zt#Q7?Y<%UcXt5evqZ%7#DK3DeNw1z50ivxybRlz-yDd=Ky9;C=3R___^1Z_iC0$WN zA2HD0t9N|nyE4^(Bs;$8ky7C$$Nu&SVX#c^qs)MdIvl*VOTCOQ~P86g`Hi)gAz~!H? z66lS6S+cF1zRFi)VbqA%M$M0*`k8hI%s|S)iwIdjv6$s5_|F1=4-<49Cor;QK64W`?(DpT-Y{1%XfHety{C%vHQ7h&!T+0NbXXy3n)s!t$?AyP5jF4 zR6pkTf(o;~EY{_%U3h05@B6Y(lbI+ky3QU0tGBU|STv471)TOZ_!Ok_O))&w?Rynj zH;rxfWo~4GI|*nqR}<;G(V)Q0U(i^Nk0>9Q=**9kDRO}hKn=Tgu0w^dXC@KmG3(H` z)POaY=a=bDr92l#8#V&%zQPF;!{s5O@rtjTQSP|$;GG;}cKcAy6^v*Ld9JipJGeZ( zHK?BkpmO#N>L{dbf3_k&8?Kwiod1hMDcmnYS2Ns)xp!3=MDc3HmlTb>>XvttBy0HW z7fzy&Vb1D&EXw!+-@U(;UORmzOVDK=Lr%{|mKwk+!>)50QUZ1jj12GZOHkgDvFWY6LO%i< zp6Q7lYBG1V^_Q$^*xu0{UJMTXmfSQZz$^>6m88dK79@cS;QNX)E`ncnl6Q*kcT$yg znTUeoivo)(YL%-LBw1b|cMCsQ)O z5IX`xo&yFG_97Q_o9i}l#R;_DTNdU~_L%moj_JbCD2-&9Fc6Ss;8m1d!@Z0ooTfT% z4CVn`VDL;a2T+$$q#7me=^|)5f-q)Nw3qnhl|Fl6)Oi`D3>Fk^l3@ zyX=dKNnQk(tCHm=e_IHPn3P;n=<4Ay!%n#8|D`X0aslZd@GTajdY6N<)I6)f^&Tz=^>JEZQ*1c|;~c*qcNdVm^4L z=q+0`eor>=ZOJaQ!LHWa*ytKKaNwZi##2!MpCe&-4K=?p^04Aw`bXKCF~RLmDd?T+om> z_TuOY14jW;GG~hy1J9Ujj!_EJ)e}0uGRP1rK*)A0_Ey`PyQ&yAw|kd)d?)f8svLpF zxn0>D$R0G&JcWFMEArlO*3)kwr}rSNwlF_+tq8d`89s1Mjbw?=4##r@1TG_0 zQw@ps023sriaI4Dz2sMIL#LTq?KRTd3R060y_y-A<$Fj|1vkP%(sh#6zG zjio3C1%$BWoaI7dY_g+6ji5pLK=?*LxSuoPhKg3)hA23Gzy>)5Z}EA!tWCn6nYmmP z2!t?v5>)1-pg5>c!Uu+=Uw1=P)W|j5#7z)iEx?Vb$jOe@OC#n zSsp>`t#iQZ$)Ga5!iuT6mH7lwMb6@8j&FNsR|{{N9cW|oz-H)+tX%)`A&VYfkUoX{ zEy!Z#(%GBj4Ixmw|^uaHVDpMoN>T9 zyKZ^{?kW3guxJ)D7%JcuHZ?&1{%x@D+H_Pe@a&}AgcJ9!_5@hP^S zLRzD4lXglq7bXwE?t$$JYEC7pcc_ecGVfpyAPc{b%$IKHjIRpHp+9_QXW=+KKBT#E zXrS_e+jMd;HF*VY>n+h}mX$goVSuNmr|*6#XK`bq0@@Jv&YEpPng+)?bS)^SVb5mS zHUdE%Py`Mw@4oVlUB*39xzwMVgHZHkj6~(!YhZx+_hZebYbQ1ur*J}M)_4HT$B1>= z8$S^~)^xL(g>@JHUl+m2MxiGpxt1fiL|4nA-9vQMxe#6R-8{%neDCyBw};qN7u!Bm zq?&twFk0&h8ai|O`7P!oA0}wjwt{Z3Ku;$Y+2Gs~ps3T1Xdul>Z8JSldHbkZr_4|02)tTAhRMT`!;&=on? zHXPmWnJAZqilaR$qQ{{X1o4wUGtb9ah$!{ueH)AFh5`PC z#+U~K#m0xm-cS0%<8w_}s`qts&VBhwUEicn!jdkTQA(@qx;X?>8S;AX!lqtMt=FRh z{c*47-RktOoSBHmu*EscJEP;OBl0pM&XaAc#2%w3TBFJ}pz;mlV>*RX_KOg)>YB@H z(9Xsqi$l++Z4iUUT&(*L?_P4#7jJ##W$3h=A8!<@PJ}S~atLfyqdgHj2OGQ4q1(Ki zd-Kfp5tt?1O^23bH)>z_JxKg*O8Uz^%#Kh96WZ;uW3@LO+nTz;0fjM(o=W7kz>ix8 zwVDHyuziWqQq!E9BmrHhc}sDL?^9p6kRUQU?N4eh9eyNRP#A7k;~O~7ymQm=iDX7+ ztZc0CY4%1LII$2pL));xu~F)8bQ362MC^6LqTAc!=N2o$lPOA;aue*f(vopv1m(M}ya`LL68LLH#E{(++UQhLD z(m6l;sfQa=^u3vsOtKPq26RGo<}8{shzhT6-tL&i-;61Xrt;e|YO%haD-+)fCV?Yl zce?FQ9g3c96SftG3k_UPh@TCRNILkOV3E2m?1ltr(GKHqrJYyLPGqB}TAGS(sJbOvk=%wOw zPS&H{%~2}8)bNdzF98gVJz^5pG&+4VVNQ-AzV0VwaheY&nV!_?AJ=gr61=2rD#IMw zpouJ>$$V5#Ud6v@2lHfl{s-00`YcloDL?j+c6}x=tuqQX{7COl2s>I zVw*c7$r3Ce4^H=)lE{XVr&4&9F=}w8EOne>4L;yv z4L#q1)PTOobBnCb5WL|ma*q{b(Q6#{ zhJg3Z3Ssg)*i-5;Z7GXEhVDcW(jY83sJ5l)M=_(6!HOSibX&L;3Wu`p^_{E&tOlgIaF}S)yMCq)Bi{Q)OcnU;hK#j3 z=1~%<_Q1Ml`ujwXA5L8Mg@0`!N_|JsXr{&KbgKzp^H)~dDRKP<&xlD?0MN@N}JKNp#649>kQm0dRr88K?gk3`Bc3q&l}tZ?NV(!WUxzOH8b}HRQJD4+bj!{6c+Y zG@AbOQ>Q+ey{#GNh4+^)%Xd{=n8M#QN5+#Qj{~OXM^$f447I+pt1fa3Ms&Oead4o` z4a-0C&wk66p+9E!3qzP&fyHp`?5&!5=iwH#;E8*NG=Sq^TXbhui7$>0)&aNa31#zJ zkhY96 za*i8ANT&>ohoaVKa+NbMj2E0UBrGiOpV%W&j5rFaR1Q-C-cjXCuT(w!d=)1ga@#!4 za(=UyfBgA{^U0Wi%ea~=C*mG&y8IRN2D6(h*Bat<%{es!3CV&LV#ur<)&()PD64hH zGs`UOUCjSc3Yzp*6m+{T18wkgljOu2wkf07Lw(@4_2mb)6T$?KuV%8zgUN|=7r|Ry z)q6;$2j|5%zquL4 zaStg2HAB4oUQt)Z3HqmCGe=sqFNP_PXqs|9R~2T)+nP~()jX^C z9DwuCrB>zPOIlaGgF`-S9RG&PUB(3 z`~3B0Tkf7WhS_={1`Y_8FC`vcJVSx&)es;MrV#`tcjAx6LW)}oneuaq!wA$U4x+}v zof>z+G#lE9?}0ZQ3jL6^^v6F3_i(kbkq<=3b#Yk~@qG%}$W2;We~s-gT)?hW{#a;m z8nmoqRE5RPIvBLgv(IrPCO-$yH!MtRTADfBI%lS6N7Y#fbed`}TYue!Fe4j<#5!hq zm@n76ANmMkIyBa8W3r~M-nQ>&WqHw;uwcRqMbsXMZgzpVq@E>H6s~fq)fy59T(#P;_&Hx<<5s+%R`yK|#d=BFTMT@9m zELA{CATluR;vwcJFvu*6{$To$GYqNtCp^B%s=QoFQ0WxUAp4B+kp(6WplFipeVW?ox?2_3z(KDn;VJLut`5I@c({YkA9Mp znv5uVFq1EKEV0>LU0q$zUqwkd8`qj7=nfT+fMeRyAzc_UO!Y<1gFK@1t-}#*R(F=( znbm3ZVv&>rnO&8|X^4!+v)t2Ml--t`+(=E~8rQc-vv_$(@x8SXqCQ0!%0%~n;F`!u zR^-{$^8Pt!Z6<<1%Et&*M(9a_afY@0b%voUW8iP?o zKcgoyOaYuwtpRABaxjYqGjbud2Kfx**5Ga|x#5uh@u1vV2@)`beZJ zd4nVNinh7Gy?BtvUPLQN(^Oi0&Rqu={4&X|r2P2y@?k9XTDt#p=<^!me4$tKFyvw* z=%fO5M}Vdj(p={)u5NVjr`zP);Q z#)<4dMc@AV5FM#5W18DWQcTU0J7A~~L%s*86lZeJ^x2wRf!0n>1a|=7<82ilwdJYlg*RAKL#?sO_s@(-08znaL#YsMmRFW z^9&kKR_k?Ml){Q;zOS;`56klB^B=CtpK%!V7YoTke*wRAskNqI&bmkSsq)($lyObk z%I}hA-`(M{0}KCsk*_p3{GLfjFN+d-8?Bx?VH$Dy;$cWOB1MDITTU3yWB+`_W)&<} z3jHIzBZ!flq-FZrIQmroqp+BatTV}BgA;BF_gD)JzMaZJnk}ejIhPwq;^_m3Zw3n; zewo`PrH_$P#9M$5_Ngi{VYN>_dufr3wOin|s`)! z;r+!&tVGSEAj>z48k-3B3?_9sDln}-jyXL{+;Ig2V=Bn9U0&U2~N0@W~2 z8KgfZ^D#;vsK8K7+?h=EH~wu?M}KzI4tVfbGqMQ|8wntcf_YicFU{R9e|BqpJ09Q|5L zw6L`Vh|P_nHP{4+?pu%bbkaZ=hJYuaSQqFAJ6*;Zo~wQ?#GE61q{|oV3R}yU5?cE` znoO4oHmbl`j3J3dD6q3EfpiQCQ;#sLC*-z#1qxnPSG8QSfyhaa%8yG8GiKFTS^xvm z<)8|f!EmS%=Vb$NHYsW2Xc&T#>)gOC?EPxfi&fRzHbh%qJO)?w2?wT|qT;mvpN(lPU3O~DRmwz9g-w9e!2Pcba3 z>kRNW49P#?RTnSy3gpM2g1$*UC+zUX+Pi)4fO@Yn@E})2spExuH$fkc>k%X8Sb>sxXevOA1poW$VdUlisfaP1G{rOefxixP zQz)uo*y^xer_v^-@0DwIH4Q}~OmU~0bZM>pnN`1wQ8p8ymFKonP=sCwM@pg}(b4(E z=baIuasRTznA5fuRj^`9Bd~{lit0XK^W9WX?*8-W+kZW{UwYo|pZoB{1wnVZ5sbVd z@Y`7Y%l=&WkYqhnaM3IkG(oPNKIE#SBS;Qc0Qz{pNH!d% zNJLN0xjYUK#IYh4)+Ibx#94LtwVW3pVxbZ#xryWcF9$FAg&VYS@}J|NhqOugH#ZM; z9D%KD8}49Ap#DZxAUu-&8l6%&%yn}{pqPr?dgC;H&tu~=LTvhImA3Sy;cM>MP`C0= zs96COL?;M&R}=JX!oJI7OClkM;Tg0PCq)8wyaxX1k7h4znpw~|2uBF7wv2|w zuUUSZ_2ChMY_E!jhn%mz>*GB<;;_X`V8ZKVGJ>+BB%^SMrBxbegTq2p>vePklULC0 zZ4jnyDCZ&8xCMc`8vwVaMpr5{G$jXn>$||VX$WEKzBH9`cr@ zN9i`$`So2g{cVbTNl`TQ0(TDV2hiPtH70jZCqIYLr6Dr4uQycQxYGl}J@2C#&L-h% zH#&0ww`0`{7(A&*_)(fg$A1|`CkPn#KdAr|?l-YWXV1Fz&*>nPb_3XZsFlIn-%Z?D z5yrZ#2|e^h0-0Gp5;!uA_csk~WuFr)G6TaAQ%Y5v0+xhO$`?U8-ZClS$dT(x0dvcR z#PdehHim=U9LUCmOz83=#~78eX%R$zF?r}c5J8f-!W}BUmXpvrI9!GD!V_kS^uBxt zZ5yZsOu3P=S`s!u|6^Ym+Gg#3eh{m@^H*hvV%c zsDobw&8bM_oXD1OUkw{I#|b0uwIUT^oypI>Cds;X-UxyL!G*8l;t~K#XZe!cOKR1B z-V>_5)RyaEXKSiL;dzCtp#Mlp=PJjR2 z-P;F7$U^84q{{9F{t8io)FkGrd;Ed8ZDLwSAj9>+ zV%%QRm@0r#FQt_QNlg78jTx|a?c>}!_bI^ACGxTZ{rx_#p57$(Tyz3DO-i#q`yeY$ROZQ1m0=>(Gxw(5 zr!J!WmaWXWPDg5|VR4p}Ms^r4sek*Gof~MjIBHnt^<^E3Pv6fOtTO7~A$K0}mDQa{ zi14mf0=GHCHCX;j)OZecGErB8jI?>4J=J!tnkU5$IE){AO&9eEIGUWDjz7LTkJbnn zo)?-Ol=lSsVE^yrdtpWCRwOG!Y|2|5cTgRhh345=8RV-Mztn zzP(PRX?zPwOTICJEkH4`GS|Z2x^I{_j(~TGZwWgiU#;cP5Td|qtw|jAujrm9aWT(t zGq-0|ACipI<(5f|)|zC94jO7sH=8+b(qxuakX%5|-t5VI{!VdDaBM?A5lT<_7NRFV zXD{@7m3uv?C(K$ehMR-Rlk=xXu>f!tij#L~VTcAFR&F6hJ-@B-4JCKzmH_-sn?2ep z0Pl?Ko8dU8MfY|-O0tD{!j#>=nDC5}B5+(G4w zEl+q7jZIYU@B~{M&CY~W^y&DvIkCVA37k=V z9?s20ttXW;O<8deMD-(lHcOIkqbi^0i|6v!=a>1N)LgFPn>3e)VzNM>9y6g4o4};j zk_uN3AX=8e6?hi$0rWQ}l#Y_5sL%m0hcjDiiRj^7FC`b%#%J&oIcfnB=B{Qkv9s0X zNVyx}IO{M1JLjn$jiE#k{X!(5AP}I1%@FQO<~cGxbyR}A+@RwJN`XJrt%XL{@wL>< z+a}rQM2s0cy|2SM@rR4VbzGPdM0uQiSxDfA+-1$evqA>e>bG}ise}n=kio%*aS%rU zM2)}VzIUlzlX4XeagR*v&eqMec&h^qo)B7!oTCtUy6=4=iH5dH&iAdXiEEg?+7`-M zy{_zj|6uOSNmf3oAm$SHWT&8la3=% zq7*27%iH)Kz=$w*xA~0Nx|12@^?5<9fVu4{Nj`nGTG2Q~O?OyzBVuT+c^qp=J==cA za(kuuLpH9)iP{_+3irjMMx+&Ixoi0>jdckbI!<)U7J}i#4OW_qB&F}>SgoOO#zvMB zIjbdFRu&0-TpDjW$TlSz>l#NUH3y2$>v?col1jF^1e)X+=Q-u8n7FwycEL-){Z^fxHBZE>NG}to+Y-P6H|J>WHDfqj zryOfL3;rZe;#67}frOhXLnOAV?EC>)ItY`Y2N->g7p^-sW9T$Tui9T+SZbY-2~3xm zC%o8Kg1f|UcbojYlzE6Xrs(0mO+`Xgx&|s|A9};P@7qe9ktQXSX`34;G@#e{4YznN z;#4R+-O{yS9$9{zJb-+?dk3u`y!{2GH{T@1GLPp1+pf^Xe~_d1mh9y>Y^WQzXPaHo z4qOJh5{@aZoB--bdgp3#I;|bQYpFLcZS@;YE^a>C)SRxTl!=4n{BI(aX-^r-%Tw|Q zIaD%dS<@@cI(Wi+TqkL8?bN+SM(C8kvo~Hp)1KV#CpBb440MUpTcw=7GIT?{5Wuf@qZ&NuBn9d;&@oHxlV!=B*gi?A-L>zz{jUs5vj9&&`sC z#PJg1Xu5hEOGs@Ur$w$NCSQV^Tu^$G(-=d8RF0w!bh|RZUKR=`P_g+XyMjv-1vZ5i z{|ss1H46~qsFOEytL?XaJLu0JVqsyiwyvw!eSz8E1Rh1zm)+FAE2Em2&~r#i-nY?M zdvAZcgDfs{woB{u6#u3`WfI%a0Gy=bw{UNFCEvhAzq}=A4f)De!jIqH0+jN5ZgcK&f@$uZ>K-9e;K}Rvm@t521^5s} zB4;J9tTX(%>9M_>e-&VH zRTA9W{l^qV)b18w8x;*;UxnzVVsF*oX?FV8mt`&)Xv)RpMfnENEkz6{9PPSZ~jy4RM%8@!9> zi70V}uz~5qqAnYlR06f4nNWnYmVkDfJS`HP@(*#-4qG9Q;5?mUH+!?On5`*i2V-vw z$SNVF3^F;-dz!Qr&Bs4tHAxRSH2d8{%c-MBoMwx>?|t3-RvxQgmHb4=tP&Bv!ngIj z&uwibusXUQCt1$MJRc;bEun*30jj?Sd}rSc=Ie@VebyW2?gjH014HAgx=WB zB<6`U_fx8|jooq1;XhcNOQR{=pUtrx$S;VoZDjPsJpF{MSw#mqdcHVhHe2l>($qEf1N3}AzMjl zG*F0qv!85;PLrF8_MMrg!n%8S@BcpB0xa#U%L4ocmq(H_UAY~JbuvpAX)=E{+$yns zQpfd~?o9)3lkTthz3Z^@7ZR?g9c)>+ns+pdmSUx}#Hm_`t|G(_HAtLVdhZPuHg6xB zh8;Tks;mc6J&!S}{Q3Ax-Pt0#sQrvI#!#K-QC^g@sL_T?~hXgAKXVAqP6GE0V zWFJG5aE~E*s+|}(8g1(oVa5sWWf`w7=P_sbf})!HFg!uN7LEi`)&O04rB{f(_6o*n85@e4~`I=GOc`Y`&|TL<(H}<5zd3>p)q778@sPMdKUcx zwiKFK$Kd)M!*4Y1QGhB|V`THzC$9}9RCSdSWtR6T0EE%C+1t>hKNEgCb6i}!Y|S6v zE-qd?JVqwDV;;Hd!W*@;4GW9VK;|2aIlgm4^EUp-?54USd7SsE1?Ro5ve`FIBsv`L zu{s68eBPPv?5Kz^96Q#AG+n9n(0=#J{j#_2Sp}~lU^@rmLvLi&ofC-cK7%Hd|r1`)8DG@>gww1>v?*H zArsev1puu0_wRoLJOlE-68P)?8t^Y7^|=UmBIH2&Gh*<8^wF~`{Au&6eY2{|=A}(9 ztE%$Vq)jVNt6o@@R#BB!I&4(hJl~A+yzp>WrqVIIAHZN?0e@BWSY7Wi(9%OiC_teA za7tdQk(f@y#8g2riqo33oBp%wg*OT2mpme{T~n{3tn`25Gw{Lx?HM6p97w&#tkCqo z1_5FCv3j_Glnd}l;J>th>HMD)@cYItH4oA((INIvU zS57A`y86o7UpjL|zXu1ji+-`};qP83wz8MD zKb4feZT&Z^J4I&O7DR41ej>7F)3S4WUU+7}bmj&oJcAS*qLV`Yl{g^I)gheW}dIV1`p?cw1{0Uu#NSuM(@{09xca(6kJ; z(8>&7Cgtgj+%}lFmspIl0?252OuhvcU|(P}-CAufvRw9l8pxO^z`vaFT3j9RwfH); z)s@pp(`xew*An!#M^cwhIDxYzc=h~kI77mCE+%u!lAaDo3Z98aXV+3mZ?eB5ek`$j z3nYVE;VsfUh1@Du=LLw#*LXalY3_J`C$?3qBaL=ypKN<) z+Ueies##h$_kRpciwb@yP2T{i^{wn&uw2>Vg`yL37!29d;jetv43c0`)_?;C$S# zy~qQ8@*%Le^RKc8jRAmobH|>uw<0%`qNIUX%=h&pKQ~Zi)VTgs#S}S6 zv@1}P)pHR=f}P~t9vfgIXbN(BaKdm^55pP~)?iNIvd3$+lyNoc6kF_`fqMVipj4I7 zXeQGKo^KGjBLWi_Q`Zb8lCFP{0j(CL%RiLD=`Tkg%9jP?80#9^&;t8`Y(P)D z^#O>~?s_fH+meWDOB4ec$wCEOy6$)zaP>WW(hB~fx zH90q(x`<-H2fP-z{dpSLLmien&Sdp?r~>@V#?Lw`B296ev$w~L{t@I0?28kkxzL#NX-^YIec|iE71!Q?`NQL5tT|mn+|nJPs_tl6x1(c-MVglr zX|eloLYEB*JDTFQCXA1$d(z{mb?R1`Y&&T|clz%2oGg|FBu3{E7*WnvV^*R##7gHrT-ONTd zPe}H#pqx4BPRaIEAPiGEn^Sh!Y4;D2^N_SPit6sHY+Wa9?Q$MlF~Gsidx#qYid}YA zoU7Tr%1#LQA)0h|Rl0AKy1Si6_iS2EjQ(eLgle@n1u6=2$`*v1``XKcDjZjNCpS67 zX}BT0xzdM29Kr36B^!&BjWeYIY!rG{_89JbI4Y1d~^UlXa`o~quPWxc)5 zQ!niklFUBaV8o>IgRD9JoM;?B$y85?s%L|&r+1*90y%xjLV-%DY(^kXZ)p;z*h9CH zCf{6r9nb(5W@tfm^-*yB@ zP1bX}tfya~9;Lr!V4nVynYkdIJ_F6TW_mdH9lHrL@P#&&WKTrSe+587;!oyPP)ZYMGMXnRYSZk<-{Q6O@A$QjZYsx zR=_4x{NO%sI)@9*DfZlSd+OBH7@tD(%u^vn`*zP#B6Yk1dCK*DVY^rfQuDZoUC%Hp zkRjS$eVBJ|%&O<`SM^V(eK6JUFQobt*Q8-bhlj-D!J`ILoNoz9K-kZKbf~f0gBC0; z*6Z+(ruo5BM(dtahK-wc^0beC1nWtq`9-VEpbkYvc1*XX^h}w?VQP&%CvbxC%^{AD zU9nV2YO^S7B@5<~AS2$D6UDJ+kM&(avqZvp9ITw#_ZV^uKJlueZHU!ClXXsPwB}hR zHz`#-r%_4dT}ggAaWo=YI~Sit8^oaV=iM9*InPG|=7Z@G5=evW>Tz=}+K@wPa zfuPlb=Pn1_3;bNj?eEWL3IBZB4^mF)@h~TOe39;AJW5@Fw>T5bU2|7( z*DN%Z8xUMh_7xpZQ3t0r^ZeHi_XBpe)xmbl#f#@PJJ5qYoD1EuW;|qIRaXXTwkwN5 z9l;hk$fD&2lm_%71MDUP0(0OLt#%`OjQvT+kh<1#$S6KpS4Tn9C@YRbtuE7a#@&ve zt;xp&rH>z_f>a>Ms3987r*B&kSnc5RFEd|0+7D+!=@=85%bPhsGU^My>OleQ1!a zp59F?&8YquXA37=YPH}u!qq$;Zz#@*=4FMdyttG2y zbqXFmG{4@Dc4U)ZXj9-yKEE@T>Co&c(*%Be9so0rxUjOMwjBt5YRR>Xr zdBWag%)+$7`>qY_>FGS+r8bRHd*@AZ(>z-5KCiJS&!K#@5V|yDF}3qLs+p_qteM>E zm21=1X4a;_@>!23DEaX8USeH`tOjB+pPr54ER>LBTD=T^^Xg^nd>p}HCKt2%L|y%T z0rkXUzEW?VB`D_lt2rjgWbf+WIc80xd6KH${AcstaHTWZq;o~E&Z`Yb>Q)($`v2PI zXEoA2w6X5$rWu$piu;#1IZ?_$$s=hP(Vr6stiqv+VVycikWo4sYkOTG4 zyi`#Ao&FXlM}MwQYiKUkU7w`);rfP?hnD6OHK`CnpO^wnACQSGj{~nc585LcLdjFlC}tzrUXlyv1MA5cF+A!+I>sVlJ^&lZ$754_)qG) z?)NeYz8bxm@a}rDwjZuSx-X-Q>kcHq!Q(K$cR|TBwDGiu>ee*`)Tul;h z&+0pcJ_PV!CHGqcn$f-96a)3i`q=neU~CYJ`8+n7&KJ$uyEZtk)-{^nE@&TkbFhvZ zo1d}HzmIEF{-);3qr27`dj8TsEp-2E3;2gv%x}g&sC}L8r@z#lqU(Mjpqp6CZ`Swn zon{`N;Z3`b;XH-OXX$FZjc%syyMz7Hy-_&Tx75wq9$4y##e81s0(0%tfk5-#SKmr6 z_F$kD#9}_T!f?%v^m$)>s$SxuKnY?o-&~@gdY8GPG`-lvfnvmBzPZ>+xueh;ZO8eo zr+(-qA5Cb+M;n5DWNfufaa^CS8}dlNQN&`t*-@%5+BL2xb&_1`8c#&c%$rTiUh>yv zi&FDAQvgm4hB;<K}yh zLj5M=R&J)4aBB}?^@;S&-7hZEO{H1 zblEL7AMT@F30}Ht;<*F(oj+&tZKQ#iM>jRlZ+B92h^_pF)p+Hz+q*#BkwK%N1J}V4 ztmAH~BgAg?Z8EBO3HTK^=kaZ(Dmthtwonybqig7fii@TbN`&f(Fg+1Y3GyeFqcz4I z8yXuH8y*{D)%^F6s=R`z`vVk-|BwoLr1%C?VSBhibFiK(CO+$OxvsRFg)MM zvV*!T%&BCvP!__nw{%%}h?4nH=C-zrK;hfEkY8G{m@fEOy?GkH2gs##Prm3w4!oD0 zGl#GL5Z;Le(*w5EkRa-9y% zXAziFvs;>8**Onae`iw2?@aIv<#N@xr(>cg0$oiP6*Nz(Fyi=9{OrX2P0sc8Ls4$7 zyaRDl;0^@tuax{EK}QA-YKtFt_pT+)T``cE?W>v5U&!aQHW;tQjJd92=|LavhFtL- zRLwV=Z(o>ewwr5?_nOO|(>RW92-HC$4ieusir@sPNAmrx@W?DJQyH()Gq#IXoO{kw z)F$+z(%9Sn+*o->htK6SuXg6XZY3y$V?7U$`cymLqNs6jw_8mfbZ|W?pPX0cqK+-nIp5wG{Ta$qOgU3wG;_w`!^~UL4 zWbr*hEjefZCsp_;RTxRxt&kYEV@X=u!YBK5kIqglHGoNg=!7m^~=*R zCK=j2Zq!oWLEpHXpemlGjSI1u?}^suK3rw!`KH_dEUC1z=Fs@CoJ_k^=JY*BQSWfx z?)wK>vydWi2d10}njT0v-_T>SbIUPp1#V!n5#tHxWKxtv7Q$x*rutsRiwAR zKsWCsnYWY7BNp>LG31L_BJ_mXC4>ETRGg^K2^QZj;Kw@pl%VcLVN|?NQIY4l4zo*U zfu$y%o@PCx!saDuX>B+CRURk)>ef_HoOPi%LyoZMoNUF33vkkigVl5ezH;RG9O!kJ z=L_nw-vv#W`W~aRMXTLRWA|y$`+5xet_StY7=GSnsoTtp(bu%gjYG$1o-g&JC!XwDQQ1vA4^Z^_L375sN-*}?*j5Z<0};2F|<^i4J;b30^e)|u%I17K>nxS6C>;O zdwOJyr8);2?Ayl+`u(JdSo})qz zx+g*2B}}D}_?sGuhro1gk@jQ`p%Nj&h!dK-d(-~R6&ot^T6oR0^G+&)#`(K41i}T$ z?g{M9B6V4)gJl;o$p6$`*UOsmm@3pb;Mz2gQ^#49M~)REkGf=TRfHVjI_vvT zu)F*@w8x+{Gq7L+tvqRzw}{g;eWeG(*1<4?V1b0bOfzU>23Z8AXw|RiouK$_iGQtD z+m}Y!htxT>rAD%!o}}BPeR<>U@nQ*^?<2)5ZI0Qm3A3{*PF3d+Dh)#Y4AcVmadfYv z5AOkZe~p_B4^4Xx-^W15g`D(gD{VhqVbPlBpVaHL<-l_qLfnkF!jGn5hEFJp-a8r* zZ9NxX8n_f;_hh50B_ZlQbpqt|lXoL5Sno)+4jhcv_i7g33E&I#Y`*tki>8877C4#; zs8L>vtgq3TmP31e(7skh5$^!~Cskz10b=oL{8HP(w_m(lH2rA6+0Qr{ z>R;8UA*;P(Y1u0f`U0q~_UC!lm}8Z4`VIlVx2o-L^a@69OA$CzW$Wi3izi>do$cwM zmN)JS+NaS1mm=3THOJv7r+LmTO~r|y_O1t0bl3Sl(6aH zrRKE1n)7Ib9xNx$1OPD0va^lh}qC=AS- z{j@-C(>&TWfTTKS%ADen_{3BG$(!aD=I)a>w_=Jji$RCJImX3z1IsJ|c2 z$IpJOqq9Em=0>Wj)ZC0yX>aaWnaB5qTu%i(!;mpxWN(+Kz{hfW=R;RA`AQn;IiprW zeVO!_H>_V?U^o0#H~wii$#%C3w0i_w+7460$-qn1Xc1m)?;vXLR{;*lz2byGKQ`GI z3=nE#Aj?Xh;D$qX@E}7v*esRZJ6M-emyx1_mj-tk`Fu#g=Y!1sH8{Ax2Alh1@Ok=U zxVb-g6E#I1Dzqzx2NuE+|M8K5kET4=wGUc5b8ti?2Ie}?Xg}-T0+KKUfos`SM^LI0ei0%{R`$|Du{^s&g>utRJOon=15k zFtM25{5kjz%$O872lJMXgT|5A^en7@gQuPO8$91%;HvOfJ7F1aGaAj#GflHGoPVD? z<9z$vnT_|k>&~;!oq4`}?pfe{?o87@_XjW?G={2ut>)iDr={^1IF$d?9R*tL1nRN9 z>LgP)K|a1>E}v)?1fGjz2kmuk3^WhNzvpf>{5_S%V?6yCe4(1-On$VYC#wPu3sc}@ zx$MoS(~w>N-kZkHkNCV@JQ)7!%OV>X&)*BA7|*8| zuT+PLpG|(F^X)}6zpUg&aIc3tlnJ>Jn%%dYwBjM0zFDhp0P{T8o40?oi}j_c5%jAJ zr`n176QqgiVdXNR&aYQeBH8~NmDV5g=%4y`=LXPyl}T7K)^m=Wl~#QNI__X$U@P}; z3T+THB{fh!&g@ODpDb%@;Low1YiMH?g7XXud;$yT+zHKcA8MBSeY4yy_U5>kHp_ji zS#FG@Ic~3JxpmEQA8D2w?re_Rtyyk)v)ntI<-Xo5_orsLNg>VJ&@6Xcv)p;ja+fvB zy{TF5?q<0mu4Zir<_=XG8#NP7xuBV_`VJS3#QTK$rWDP6mj=y!m#Vq%Qhn}w;DYA9 zP5Rt-pK0z(=0lHpu9;%YHAM;;lgpIzOfC;JGr8Osm|Qf^He)K`d;K(bVEyidH5K~K zjIzs&7TozfL4|2*^;-nJg;skRoHSt&e;-1sxAN$X_1N$;S1o9Fil7JCfd%cp#tWL= zXBQW?^Z%>0>k(IDIdKg6KLYX`+NO4voaVN%ZRJyKIg{OJ(Q5DI*Hc@V-otb&1;f+S z`gfH-?XU>_axu-p$b@BE=sc|&p$}XP`R2tFZh=GczTrW zK)29Zo)hZi`kh?AQ`XN_<1r5>>l|N*ptByGPpoXidCn(K8tcp>9No_bb~Q3qo(`-# z%Blf@C9;);ohA8A_thBwFH!hcDW&>K{iMFEdSmI^UIAHdkW2|UP5XX4*HVnRr9XTw zp?+i`RPeXt`PJC@H}{8|`QCgOv@^ap&&SU>_2ugIK$vLsa|gVh()oG_#du9;{*?tE znad}8yN~_E&tmw;5YpA7a?pPdVJO8wI1dVTef>;*|NAPfwh<_4AQtm|k%FFWm#f7! zN|+YWL7K(*TDb3Z!7mBTtOLSyi=*if8fhLvT5Mf~n)?nk87T*hk+4ClrF`w;HJmtw zek$%tUs$Q&&}S`u0&^8-%JP2QOvD{DPHAro)0y`Ghtk`+RNq6>_j8Al&(%{T^;-cO zg!w@kD-C-0d$4Qp!#Djm25u4N_v^Bp!~DArv`2{xoT(2QyGpy~uu$Jfw*=nhXndv} z&M{FWV}e=`>QK?{;D>a)T7)|6zJr0K1GTt?Jgw0$XlVRv9sX$9(fWZ!e$p7W!S!kk zYtt zz5v^nk#bBwVFXuugbebS-)gTgm~cba#Q@pXaD^utndIZ4}MD^6U|zUU@FDc!$zjZ&#IAJUO&X&8c6ab`!aQt$N`8 z4%wEA^^E7e1zAN~@}Fsf%Hq||cZhg$ujUVAwNi_PND@>$0u@g_r3BJyxBf-~2esrY| z+SqoJDnLJHO=7>1F}@;NZ*tO|zV6&^c3h}Kxh~!xuKUgzIA@t|8Z|y=b(T9;i?3Ml zt7zYkjCu(D))7h7@5s^32`p@v0&<G?tf`H01QnXh4qIxF@T@(5~8@KEP?t2NJ?JOJvh zq)@ijE$6*(-3riuXTZXHSGi9lZad+%;68-%sbAZWfY)L5Ya3cEY2*H~Tm3fLSoP8O zoi|G-%(J!*;9_+cBuz5&?Zk{gE8Nfd?tX`a^#EH$m@Dft)bDS1Cq zvQjf{m065Kn?mKUh-*dq~3TWj*h+5hxf zp1Ot}=Fkf_`L;Y&3%>r4u9;rA>EHF>clcIMmc~C8)Rr!h(xnqB%NG^=7a4K-5ayr4 z??m|>oO()m&v~9wl8T_Cn#DgrPKpCf&p5XRN{2c1(oVg!Gw2!TAXBj|fnwnyda)3_ zScv)MCXZRc>zjN=!EVss?K5cdZr>tb>r=nx;+*`(Yu~&;zqU)`v~tv9e@*$kypiR8 z-@@wY<^DiwWO><)^6K2QdH(6X>dJ~~xoKm|tNj(esvd=T`Sicsw7v@~YZg|Q_oymg zSW{hAnVU9z;k3$%=@*wT9_^c3Ue#k-mo8a z@e?})zDLt;z|ZB#>x;Z{!Dm(&V59R2p6`&~2LJwzvKR1k5Aq&RO?nRV&cMlRXkRFU zD*T@hYVhDv4dsYykoHAR6{gCd0zb=9A~`b=&w_=Bi9ZViy%MGK@Q-rSejW*uINiTPZ12Gi*%?2lQi z;UdQ6?9S=USTGLxH84A%ZWK$tL8VjAuXGslbze{e{<}&>W4L%rxluLT*+%aSRmEj> z^H@SB-{MmA$b77k>iJKd`Z_Ae4`%5G84jL>s{Kk)IX2veaXmS>klvc!NNc#w)3CN0 zZb)zT)`i>Thf!F8w`t@CTh^aLfmA3P7*VfI!C54&x$HyOYqL=@1NLI3R+MQJmz>?q zw9x^#U@7J-!;$IZCRAg_#jpf3#7f6d_w+_Kb@_FS|HKu=_ zV0v|VSxxzjytLt!kJ{XQb)>AO!9^Di@hlPM=*qeQw%f+>DS;!<}g} zD=N#=%Bp6hEh?|3I&0`(m5)rgr``K)s6`HJaj^Yv!3 zA@dgcYuJw2Ws694TKVPkar0DBW3qhOLK6Ga+SYccYnvx3sS@9OGN`Qb|9Nc=Du+qY zm8z}KBcQQke6j*6I1l%O74y+ii>M#{d15e?49>5c%GK%xWp|WUVTa7Bz%62R`HZy7 zDr#nJ8hZ|b(PiBR99dd%l+Ju(`Q#;Ah4yn zQE0KZZy-J@ePuKB%F$hFlm!gW6FtbDrh>E?zH-?l+&@>Kw`W%S=B162iUOlGPaG7% z<(qh>W_DQ(wP#v6P8VrqGiG3mn$`U$(@XAohHfs6ie|@MURv*}W~|}>GFR%W!dRS1 zJ>-{z4ZSyOsE<5aF~jWa%dk7KdlsV4YkbseIO-STz^1;H?x(&ZL|zRZi8W2)hX!Jv zC=Z(K$VnAdcuc9rmgaJyrkx=J->9GKLFulCI^udZ2aZsw?_ z!<2?mc@1@#9B?#clvP)kEzad>BB<@kJUxe+ghK+&6i&TTX;Gip#D0rKDGp?}k75gqfZ<8=VVnxJRQ6>TNkhX(f5&j* z)J9WITP)?dF}5Mr1vQBoj(E5~Xga-g z9UEe!VSGpO?V^t4pW8Z8&c~Tr3NswzU}YzIpFuPlJVj*5sv;`&FV~i$X!vIll^WDN z!x0Tjx)Ue6n6yo_6YaxkKhqV(lygHdX@0(#`sKG`>X(cjB)y2~)l4__pqzj2L3uvu z@mddzgdWt!tey?A@zB5Lx}9F!mgMNSfRy zfi5+vQ9)yW8IIb{Fabxq;QvLz2Dk@Dj{qynUPoC7Sa4hsI)@0oj{}!-wiEZ@IJ7__ z%Sr{6vq37$CL&4!2aZ{i&0<*yO_Kz+aJY0qc{qG&|nA)?<$ zi-PABDrB^eQ5gSrZ4|u6D4cF!BKm|;6#s5m6nw|X&Hn-jT8*eHB;ZNTf+$?0e{rET z&LV^|7`1`Nxb{vOm1_%+v(*DNvbrri$+B{mWy7;<^%8}i;~H*ez-g0RNpnMr39i_b|0bw=mW8W+VBRVI7A78+Wv`!+TIt^IOne@>x^gMTt+Rd zRQp9x$S4O<5qi3>*i6sit@N$9i=iLOCR?e#i(vqxN-MQ*D2!sX#7aFq8p;@5ho~o_ zY0@$)Sv?wNFnWr$jD@+3UP06c=l5DhpCIawsE)1HY-IIB>=W{QiY?0)hqJ)doO6PW zYQF^TWmI9KHcW*l87)RM2v6{P*h@Fr$P=?LrU-3S=ylGy!$!8uf`g0>AsPyE-~;yH zk2dPtIq(t7EOtUwaFS81{T}FmQT9FCnTN~LNnG2)G?Mi~*+{qwqBPPn(N6WPgd~>v z?c|A-&{DIY?EUuCzH7k4=#2tGt0B*Xu7`X^Eei?V00oSS8LfpvM$;IrgU*cBFuD=C zGJ2HJO;E(>5To@_%;;xEH$zWGEjkg}040oy7~KMW7)@n#8$(FlegvpjoFv`^0%`nD6?T^G6tdthrQ@pp$V*3xk!)PNj+ zIB`}n-OBW(aLRd{DMY-dx#5}4zel)1>q4}DmrSHLF+Iq%Wmlr}x{~xEPJhlcuN%=> z-F}a-Lq^0t+?l-TCYqsHEm`os`#sGL10oio{*Y*DOFGkQqB~iLRw4ac^sN@OKl)Bg zzZ$&->GA0Mkn?r)!Z6Jz(`yf>ui-_dSJ=)O5-M8nUqx(7xyM8^^J#7Vymv!+9@ zxN%kiE#t4Sy5aur@5Z{}4W?T0yRo_tWm!tQ;m3HgCpuvy`n-L@PSlW?cmioBrbC!+ zM5>oMo2Zu^(GZ{1JV)k~mKP_J{t?Nf-`onr26H+c?nqv46Yy~I)ksIATy1m1+LT+7 zKA*DDruVy%XGBA2277>Mj|@ZGung&wKd|hNJs)bJ*VQSLdVfG>n%xbrWp=QWJ&Rhp zp?9zAkS^|ZN6U2hBlAA&1zVdj_H>9s+5uX$Ibj{!5S6tL#x|s6k)CX(B}~UNUBq+^ z)2&&u_C5|bJe5U#@kaOC)2J7S_Uuixoat(&JCUYCAI}x&?Li)D;|LE$CiSD)&$y!J zZ*d8@H-DtC!-x6XU3U1C(<8DwhGE*%1!-;e*>F2tolSALDmxP+^QP=>NN+RIt=UTg z)Xd+Leae)ksD`krNTQpOW_BK9r?l0g(|GTYD81fCdy)-1nSPkxDOvIlrqSNyWpS^A zR@x5~`iJ91JU@KIXhq_F$6j2$PcmAm(3b&p3{iACBj-8CDcqA}D&%yYK~$hnwDT0U zxKyE3l-Xe+U>@E5fx3l{$aLz0AXm_J|=U3xyp4Bt#gzmTt5m92)55 zHGC#!IvpYcHZocXHO?qR4=8lGGhRf(;|eWv?xl4|p{t!OaQ;ioFxnmsX^i&3y-tsa zhTI@oVTNvXCzMUj(5)^KF>tdg_ms0l#KEHq9d=$M5+Eeg@Mj{t%CdEdr#rlEO@!wq zf^R##7Mcj|OrySJ$d%=smXK3{*SjytRvIERh0_W*VMv1utb9o^J&Q z71|b3EmGlRrqK_nFtv?Dq%#dZVzdmN2)SIehRiI9UJ0oe8Bm;Mv>_8pC31d^mSw_N zg?jgwNO9XYUctqP3x(ZP~Jl9sX_IlS#xQZQX zE9-m7byyTYsYjv%uA`zOoD85ZL?IMs>*z<(2|ico9hXDv45eO)jw0#;pDXk^qOPzt zN1}hZlC^G-k}J_~h>Bo^LY7d6)*T*D$Ps#26vMX)g@)#7Jz#u09bKgLf@|8zSc=D- zz2Sv+hClnjW9^Kn>jN(bWYe@ha4LY#;I7q~r=wX~Ddb7y>=62t=ntJ4Epzq=ou>7N zUP?AF^c3!BFH*8ep=S^cSF(Ab^RxjlUdfh*E~+M*DR;)~%Cg-XLVY8S)v3JnR{q78=q3XMkDQ20QikV#=Lh+%L_q4Kb& z5S`U)2zx*q23mWGmWDm54F|VEG>43YREa{mJD=7@K|6&?osVjxp}4&<9>zjxdt*F| zg&_*94?6|pV2nar!pAS#Ce3b`W>i<$7gLK%o=!QVPd)Dh8a=-Nf1ix5@7PK72Rngi>*N;E(6 z2W>9=uF!InRlnlE_+6oA5v_rez7p+4bUiHVYsB>putW9xhR)NXZh$WpI)-R1 zWUBu2cBzV52W^!<7b3b5hAN-^1JO_gW~*|S z#Jp~K0(SJ5o?jYs$nrFN&S)8|iTS|t42-@=q75;}EziO;3hj*93(vvm0TP|W8lHo} z{Umz6+q19(#wfH8(ep4xp?49z0J9W2j_5_Wm9@y#cc<#3m&2(a0>~B@d&;sCA_vMo z%8osSJEMewvJKs0f3oZW??9uc_d>xy87~WB|FGO+ZDPZZnpJZcu=8raaD+3Q0VTs8bk*bdN^(gqW2|&m*Y|`?}Bx(94j<( z-h=YN(oWjXABNR~4G$iH&j(9S9E>XwA3)*|iGGTE5k7(*LyZ=F3=a-5`u$^ADiPe$ z{Xp!;aIHe$b~q6GPqLSFdf}z{TwbGX7s~pSTM}!htqJy zFvIFEVBIjo>M!7KM#shN@h`#|*ged!`b+p+Av%S81vSH^Cr-ydYW)U&Q!ScRdBn3`D;|ABE}>{Q)Bsx+UST6~q*U zo0NF`XS+v#Uj>@knu_TU8{Ipp?(QpTCL($g=Qdfh>sPjN8}R!Qs|b1 zv(|7Se~xh_)_2w#AtDrdA5o-8QRs(+U#(GM{YdHE8Hr$Xi?btTKh!6N*`h_(D2Z-N zjIqUto}&ye#fe!G;kh`;7AF>tGDc3kxNel;>qK$OD8tu@V(Tbb-}c0_)+F(FRl|#k zhpowChmsvmEDIqm3ABDf|j~lJF!fu2QHV2~Wb}rqM=xriyz< z8}XSc9#^Os%cY6E3XR2bY2qD5a&Ao*-;Oq7H(ivBku9RgYAxoBkyg)7+HB1bD->!- znx|!moeDjfbg?Z%{4vI8QHHRMHT;qxqQ@GtO!-O)R|`+laGQY&lE#?OCunsWkv!ID zUmKA-)@WZFQ8d=@OO_Zs*6>S~m^jvGds|UC)@XZMu~Z_6Po8S?h-bzcZTEZ5_qH2{H!9 z_4qEjlh~`!+#a{bbQXgr8g1wzMo%<)tcxf!$-0V)iAMXnirR@r`?`u%6OBIVChnMM z^iemlZKBblB5_b5niac?$&-v4dWac8=<-QMeLcjrlZ^U$h+8Ka_4O1FOfu^0DV~|6 z$HZ`3FR^!$9us2_y}{^s$Ul;Y+e*ZH3MI7|gXkEe&q65bdW*!#GD0qEF-7zi;}yE4 z#dWs6;=#$%OLw`{n3FD)bwpr3%HT61q{Ld`5p$s2`&j6q>;3kV2J=zEG%^5loe66{C2CHZaOn z=j%_#B2RAY3E61%1vqhpkK zZK^RkMvJ$n8lz*h_-LvTFJpweOzNaLYm7)NGseRhkymDnhjF4unGx3$#P~8}JWLWR z6r$N}ve?0B8T{6|UQ89S)1+lI!plUKLNvn5MBy}}wbMlZX+~?OiO~v8%{T?q#Y}~& zGR`2XQD|w#QQHi$QlV8DClRezXhX&sTe&ziOn!o3 zLN72%nIX~sj2B^+SUSV#quFA`48s$%#U_PlOwSQXT9FTm1(!n6X{$|?iH&7vc$||h_a6vE`-K9`fW*hq=v8UXKiACbwa>Ij{i`bdcOIK!IE*6Vx z6xx`%*}6n*n`wAriFjhB;iV%`j% zeU@2jzd{@jpuzTK;-{I?yDfXoZMj0YW=WLaYembeM6^P)d)?e}rTBK1Ui)PG)ndnN z>A?>&YwXtwSA}eYx6N7WYEe)jWuIl%+SiEw6;eyjHixZi#c-8#B<5TvRx8=1D7#VY zRLI|Eh5aV+naX(;=3FnVb0oS8(aqwdLeC-EAU4jG=zT=Dh{Q^%<#d}>_FF}+LO-^N zvE3nxD~-syQ@DKW3FqFdiye0gw@>!p`&p;pPLZL|Cs}6@6)N;))(FR4VxmI7WsO5r zsZeO!$%yI|N^d(2(OQM_+s;O`MIt=C%tQ2O0M$6|7AJku&R%VoIyQ?I^JTw}Zu>0U zBihe5M$T3-c)o1yER@|RRw&tRZC5z%7sD4wEqmHt?|4A0SRix0-F7c*7ybN3^lTT! z)rKdwi<7EcX76=r+r_^W>VW7W0Wv3^Z`Y+gBBB)fw!^x#$3&7sKcMV!k*(0 z@chg1vN#(+e>nDu%!N9#IbRp!11QY7Uo2f{Xn8}d2%!6{Z-}=f;$8Zi;)Fu9OMg>* zrx5MZ4+_g7iD;L8P`DY%)Ad^-d6D!I%^`1#5`}0V`Hq;sNVe}r&*kD>k$ag$PbS4X z-xG(@rIw%DKP3)}5&V|)ct}M4eXhe|f<$6m{$4mNrYdwLqiHJVqxti+!@}2EZ&5sI zDQ#o4_I)u}A~;^qJ?wpv;4x%JM5;vKF8nF{h?rxNeIRO-EFWbb2v@ct`%pwn1jA7F zp_pcpeIzQCY$3`%5)ocQ_OVEm2sWYYV=>1hJ1T0FY!AwgiijLT_D_*05qyrae~Q;k zvSZ?ql7)5pDg2n|lWWM1i@_2>dz2j)Pn%?)h@DC{6lI@?mZmp%Cxk~Ls6p8Yad`(r zc2YD*1Y0{@qn#ADD)cO(PsK|GM$XT~YZAdhlzk>XQRquVr^F8mIXhpYeJ)<1XiaDNgS)Q7L^TKsCjeoC6+1 z&s!$`HqLn@pjp>1%O2shxzr!@lkFf1DE%o*zma@Shh;am$DF4nOTTGiv((%%Td&Ik zy|No~Mqt{i_}yGYFX8k|ralwDmeW@=UB&b!rni~sRujF=RQ5KmaZh&Rw3NQV>GuLu z<7@B1y&&o5vZW?^mh=DGgfDx_NH^Dm7ea0HJ1;;ZUxOI0Ve|h^+w4vW+gpOW4{&m`id*^^@WDVgwe~UKsY-u7jk3q^QU<&i+ zdYd1o#$2KC$ddm)ft@P3uoXgtQ1loK4Ja;hN?ltnf7~rFA zoE}g_G_Jd0p*gC}-ZNXf?L3^V-HqAld}*_0^ZX;z?|B>BuxwBOmU^< zP&zV4=j)t5kFKVDdOoYndE#^Q5u`z8&Yz7$b96QJ;f2iV7hcQxywpACui6zH;Z5!Q zS5IT?jAU&S>G!ZHs_Ih#S5Eb z&Gg=UqFP6y|F^6Eg;Uwy*LzyQjw8$sQ4o)R$@tfbzJCLW&>H{TkOW!y=SH*w^5JjL z5&t^jUmwJMVIuyGz`tK09cDVO*W7~k{YirEC8jgYX4*l}y~S>v?#+1yGG_#HCNM2y zeg&r&FkQ@a8Piov*D<|~>1L#@osS7RwLZ&bcQM_Ev`B>T)432J&Re2a`{zRzz_9kG zAOyNQcZY;PsdJWA0rT4ziQ}y8G}Bn1JIrqQNBel;hF9BP<8s5n_BSxS*|izyoc#n` zjOXjkuoO?y--$bsZbr^LZ3o{i-@&)ackm7KSfJa|JNV|g8|aqMFKnUE_^le-wgbq1 zs_PBRb47=}Xan7j-h=!PkwbYxIKNwaxI=YlEOU~Ob2*ke+F^l4Wp{+`=bJxnevY)C z^BiIg`}uxQ3Uku60R`WO{sJQl?zJ5ebp^kKegrEDBEvpHJLAHRh_wYNVZXp#DD9?^ zH&(MHC%L^}vbNq@+m089Er7g^Pl zwq|nezwMiwtt@;dYJv81mnx+Fx)P1*RuxqNH*`A#dw^P90h_zgJGRHVeIGSh(6?h|pw4I9 zGni9}K6%DHnQwm0Kza!IWY1F0vy}6!VDBwu=~9-iXS#wdSuaX4XEuD*ZL^i4qC9#% z`((YK$XNhCbn{1V|aT*R3ZMN=bU+rg4ZbnP4j@bo0yKj#< z#HAJh-GUv>k+zLvueY|a`@GnXSo)ZDL-(s~^-W~Ft=ISvup+?SikkF%d;sPk{acg2B+a@eDHjjuOx@}K9j&(hj zxKz$67Sivwkj*2&&}3iP4@4Bo+Fc2!TUXzBv-P}OWEgx zHR_$g+}_cgbFfA}U(YsdWI7r77~3qZWLm>?sYZHMu%5~6$;s^7^&FEl2IHeTSSUgk zU?d;5rf3xTM?_87I*15BJ)OIcdDF=epK& zf0gmG{EcjXh+M^Rgcgad8pYLvOrK!7gXtco*+8@0ckIvaEbo>~)4sDDW9sZZC9MKl z_AXD`!R^}5b#2usCigJi$X+_cZQsaVDr5g_Wt;bC^xYexXJISzh4uH|Thc?U`yCIZ zyRE!-Sm`FZ+nUqoDG`A?fc+2wPB@G-g=relFAHSCbtv7*>HSO(GUpJqwMM}EP=xd> z=l_}cze^2*(rKcN4K)bjcti=NbD5LRoI>Vw<($RzMM4

Cr45&*{mWuHke8=UE|M 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

B{D=Lh=DXp#F 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

IuHtH1NV$;PDQDL6rt=FSCmcd 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%0DtUcR#BAgkjqR&O`bERpBIy#4U{^wuVaRp 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�oJ%I2fzu<_{PHDGD-MwCHoC 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 diff --git a/src/packages/Unity.4.0.1/UnityConfiguration30.xsd b/src/packages/Unity.4.0.1/UnityConfiguration30.xsd deleted file mode 100644 index 0fc1bc8..0000000 --- a/src/packages/Unity.4.0.1/UnityConfiguration30.xsd +++ /dev/null @@ -1,319 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/packages/Unity.4.0.1/lib/net45/Microsoft.Practices.Unity.Configuration.XML b/src/packages/Unity.4.0.1/lib/net45/Microsoft.Practices.Unity.Configuration.XML deleted file mode 100644 index 5c24c78..0000000 --- a/src/packages/Unity.4.0.1/lib/net45/Microsoft.Practices.Unity.Configuration.XML +++ /dev/null @@ -1,2424 +0,0 @@ - - - - Microsoft.Practices.Unity.Configuration - - - -

- A configuration element storing information about a single type alias. - - - - - Base class for configuration elements with a default implementation of - public deserialization. - - - - - Load this element from the given . - - Contains the XML to initialize from. - - - - Write the contents of this element to the given . - - The caller of this method has already written the start element tag before - calling this method, so deriving classes only need to write the element content, not - the start or end tags. - Writer to send XML content to. - - - - Construct a new, uninitialized . - - - - - Construct a new that is initialized - to alias to the target . - - Alias to use. - Type that is aliased. - - - - Write the contents of this element to the given . - - The caller of this method has already written the start element tag before - calling this method, so deriving classes only need to write the element content, not - the start or end tags. - Writer to send XML content to. - - - - The alias used for this type. - - - - - The fully qualified name this alias refers to. - - - - - A collection of s. - - - - - Specialization of - that provides a canned implementation of . - - Type of configuration element in the collection. - - - - A base helper class for implementing configuration collections. - - Type of configuration element contained in - the collection. - - - - Plug point to get objects out of the collection. - - Index in the collection to retrieve the item from. - Item at that index or null if not present. - - - - Plug point to get objects out of the collection. - - Key to look up the object by. - Item with that key or null if not present. - - - - Load this element from the given . - - Contains the XML to initialize from. - - - - Returns an enumerator that iterates through the collection. - - - A that can be used to iterate through the collection. - - 1 - - - - Add a new element to the collection. - - Element to add. - - - - Remove an element from the collection at the given index. - - The index of the item to remove. - - - - Remove all the items in the collection. - - - - - Write out the contents of this collection to the given - without a containing element - corresponding directly to this container element. Each - child element will have a tag name given by - . - - to output XML to. - Name of tag to generate. - - - - Indexer to retrieve items in the collection by index. - - Index of the item to get or set. - The item at the given index. - - - - When overridden in a derived class, creates a new . - - - A new . - - - - - Causes the configuration system to throw an exception. - - - true if the unrecognized element was deserialized successfully; otherwise, false. The default is false. - - The name of the unrecognized element. - An input stream that reads XML from the configuration file. - The element specified in is the <clear> element. - starts with the reserved prefix "config" or "lock". - - - - Gets the element key for a specified configuration element when overridden in a derived class. - - - An that acts as the key for the specified . - - The to return the key for. - - - - Indexer that allows you to get or set an alias by the alias name. - - Alias of element to get or set. - The type name at that alias. - - - - A configuration element used to configure injection of - a specific set of values into an array. - - - - - Base class for configuration elements that describe a value that will - be injected. - - - - - Initialize a new instance of . - - - - - Generate an object - that will be used to configure the container for a type registration. - - Container that is being configured. Supplied in order - to let custom implementations retrieve services; do not configure the container - directly in this method. - Type of the - - - - - Validate that an expected attribute is present in the given - dictionary and that it has a non-empty value. - - Dictionary of name/value pairs to check. - attribute name to check. - - - - Return a unique string that can be used to identify this object. Used - by the configuration collection support. - - - - - Write the contents of this element to the given . - - The caller of this method has already written the start element tag before - calling this method, so deriving classes only need to write the element content, not - the start or end tags. - Writer to send XML content to. - - - - Generate an object - that will be used to configure the container for a type registration. - - Container that is being configured. Supplied in order - to let custom implementations retrieve services; do not configure the container - directly in this method. - Type of the - - - - - Type of array to inject. This is actually the type of the array elements, - not the array type. Optional, if not specified we take the type from - our containing element. - - - - - Values used to calculate the contents of the array. - - - - - A configuration element representing the namespace - tags in the config file. - - - - - An element with a single "name" property, used for - the namespaces and assemblies. - - - - - Write the contents of this element to the given . - - The caller of this method has already written the start element tag before - calling this method, so deriving classes only need to write the element content, not - the start or end tags. - Writer to send XML content to. - - - - Name attribute for this element. - - - - - A collection of s in configuration. - - - - - Gets the element key for a specified configuration element when overridden in a derived class. - - - An that acts as the key for the specified . - - The to return the key for. - - - - Helpful extension methods when implementing configuration sections - that deserialize "unwrapped" elements - elements that should be - deserialized into a container but can be present outside - that container in the actual config file. - - - - - Deserialize an element of the given type, store it in - the collection object, and - - Type of element to create and deserialize. - Parent element containing element to deserialize. - Xml reader containing state to deserialize from. - Collection to store the created element into. - The created element. - - - - Deserialize an element, basing the element type on the one - supplied at runtime, and then store the element into the - given . - - This method is useful when reading elements into a polymorphic collection. - Base type of element to store. - Element that contains the collection being stored into. - Xml Reader containing state to deserialize from. - Runtime type of element to create. - Collection to store the created element into. - The created element. - - - - Class that tracks the current input state of the parser. - - - - - A simple implementing of the rules for a Parsing Expression Grammar - parsing algorithm. This supplies basic methods to do the primitives - of the PEG, and combinators to create larger rules. - - - - - The PEG "dot" operator that matches and consumes one character. - - Input to the parser. - The parse result. - - - - Parse function generator that returns a method to match a single, - specific character. - - Character to match. - The generated parsing function. - - - - Parse function generator that checks if the current character matches - the predicate supplied. - - Predicate used to determine if the character is in - the given range. - The generated parsing function. - - - - The "*" operator - match zero or more of the inner parse expressions. - - Parse method to repeat matching. - The generated parsing function. - - - - Parsing combinator that matches all of the given expressions in - order, or matches none of them. - - Expressions that form the sequence to match. - The combined sequence. - - - - Parsing combinator that implements the PEG prioritized choice operator. Basically, - try each of the expressions in order, and match if any of them match, stopping on the - first match. - - Expressions that form the set of alternatives. - The combined parsing method. - - - - Parsing combinator implementing the "not" predicate. This wraps - the given parsing method with a check - to see if it matched. If it matched, then the Not fails, and vice - versa. The result consumes no input. - - The parse method to wrap. - The generated parsing function. - - - - Parsing expression that matches End of input. - - Parser input. - Parse result - - - - Combinator that executes an action if the given expression matched. - - Parsing expression to match. - Action to execute if - matched. Input is the matched text from . - The result of . - - - - Combinator that executes an action if the given expression matched. - - parsing expression to match. - Method to execute if a match happens. This method returns - the that will be returned from the combined expression. - The result of if expression matched, else - whatever returned. - - - - Object containing the result of attempting to match a PEG rule. - This object is the return type for all parsing methods. - - - - - Did the rule match? - - - - - The characters that were matched (if any) - - - - - Any extra information provided by the parsing expression - (only set if the parse matched). The nature - of the data varies depending on the parsing expression. - - - - - Helper methods to make it easier to pull the data - out of the result of a sequence expression. - - - - - Returns an enumerator that iterates through a collection. - - - An object that can be used to iterate through the collection. - - 2 - - - - Returns an enumerator that iterates through the collection. - - - A that can be used to iterate through the collection. - - 1 - - - - Adds an item to the . - - The object to add to the . - The is read-only. - - - - Removes all items from the . - - The is read-only. - - - - Determines whether the contains a specific value. - - - true if is found in the ; otherwise, false. - - The object to locate in the . - - - - Copies the elements of the sequence to an , starting at a particular index. - - The one-dimensional that is the destination of the elements copied from this sequence. The must have zero-based indexing. - The zero-based index in at which copying begins. - is null. - is less than 0. - is multidimensional. - -or- - is equal to or greater than the length of . - -or- - The number of elements in the source is greater than the available space from to the end of the destination . - - - - - Removes the first occurrence of a specific object from the . - - - true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . - - The object to remove from the . - The is read-only. - - - - Determines the index of a specific item in the . - - - The index of if found in the list; otherwise, -1. - - The object to locate in the . - - - - Inserts an item to the at the specified index. - - The zero-based index at which should be inserted. - The object to insert into the . - is not a valid index in the . - The is read-only. - - - - Removes the item at the specified index. - - The zero-based index of the item to remove. - is not a valid index in the . - The is read-only. - - - - Gets the number of elements contained in the . - - - The number of elements contained in the . - - - - - Gets a value indicating whether the is read-only. - - - true if the is read-only; otherwise, false. - - - - - Gets or sets the element at the specified index. - - - The element at the specified index. - - The zero-based index of the element to get or set. - is not a valid index in the . - The property is set and the is read-only. - - - - Class containing information about a type name. - - - - - The base name of the class - - - - - Namespace if any - - - - - Assembly name, if any - - - - - Helper methods on . - - - - - A helper method to make it more foolproof to write elements. This takes care of writing the - start and end element tags, and takes a nested closure with the code to write the content of - the tag. That way the caller doesn't need to worry about the details of getting the start - and end tags correct. - - - We don't support XML Namespaces here because .NET configuration doesn't use them so - we don't need it for this current implementation. - - XmlWriter to write to. - Name of element. - Nested lambda which, when executed, will create the content for the - element. - (for method chaining if desired). - - - - A helper method to make it easier to output attributes. If the is - null or an empty string, output nothing, else output the given XML attribute. - - Writer to output to. - Attribute name to write. - Value for the attribute. - (for method chaining if desired). - - - - A base class for those elements that can be used - to configure a unity container. - - - - - Create a new instance of . - - - - - Apply this element's configuration to the given . - - Container to configure. - - - - Return a unique key that can be used to manage this element in a collection. - - - - - A couple of useful extension methods on IDictionary - - - - - Get the value from a dictionary, or null if there is no value. - - Key type of dictionary. - Value type of dictionary. - Dictionary to search. - Key to look up. - The value at the key or null if not in the dictionary. - - - - A helper class used to map element tag names to a handler method - used to interpret that element. - - - - - - Add method to enable dictionary initializer syntax - - - - - - - Process an unknown element according to the map entries. - - Parent element that hit this unknown element. - Name of the unknown element. - XmlReader positioned at start of element. - true if processed, false if not. - - - - Returns an enumerator that iterates through a collection. - - - An object that can be used to iterate through the collection. - - 2 - - - - Returns an enumerator that iterates through the collection. - - - A that can be used to iterate through the collection. - - 1 - - - - A helper class used to map element tag names to a handler method - used to interpret that element. - - - - - Returns an enumerator that iterates through a collection. - - - An object that can be used to iterate through the collection. - - 2 - - - - Returns an enumerator that iterates through the collection. - - - A that can be used to iterate through the collection. - - 1 - - - - A helper class that assists in deserializing parameter and property - elements. These elements both have a single "value" child element that - specify the value to inject for the property or parameter. - - - - - Create a new that wraps reading - values and storing them in the given . - - Element that contains the value elements. - - - - Gets a , or if none is present, - returns a default . - - The . - The given , unless - is null, in which case returns - a . - - - - Helper method used during deserialization to handle - attributes for the dependency and value tags. - - attribute name. - attribute value. - true - - - - Helper method used during deserialization to handle the default - value element tags. - - The element name. - XML data to read. - True if deserialization succeeded, false if it failed. - - - - Call this method at the end of deserialization of your element to - set your value element. - - - - - Serialize a object out to XML. - This method is aware of and implements the shorthand attributes - for dependency and value elements. - - Writer to output XML to. - The to serialize. - If true, always output an element. If false, then - dependency and value elements will be serialized as attributes in the parent tag. - - - - Configuration element representing a constructor configuration. - - - - - Base class for configuration elements that generate - object to configure a container. - - - - - Return the set of s that are needed - to configure the container according to this configuration element. - - Container that is being configured. - Type that is being registered. - Type that is being mapped to. - Name this registration is under. - One or more objects that should be - applied to the container registration. - - - - Get the standard tag name for an - taking into account currently loaded section extensions. - - Element to get the name for. - The element name. - If the member element is not currently registered - with the section. - - - - Each element must have a unique key, which is generated by the subclasses. - - - - - Element name to use to serialize this into XML. - - - - - Write the contents of this element to the given . - - The caller of this method has already written the start element tag before - calling this method, so deriving classes only need to write the element content, not - the start or end tags. - Writer to send XML content to. - - - - Return the set of s that are needed - to configure the container according to this configuration element. - - Container that is being configured. - Type that is being registered. - Type that is being mapped to. - Name this registration is under. - One or more objects that should be - applied to the container registration. - - - - The parameters of the constructor to call. - - - - - Each element must have a unique key, which is generated by the subclasses. - - - - - Element name to use to serialize this into XML. - - - - - A collection of s as - loaded from configuration. - - - - - When overridden in a derived class, creates a new . - - - A new . - - - - - Gets the element key for a specified configuration element when overridden in a derived class. - - - An that acts as the key for the specified . - - The to return the key for. - - - - A configuration element class defining the set of registrations to be - put into a container. - - - - - Original configuration API kept for backwards compatibility. - - Container to configure - - - - Apply the configuration information in this element to the - given . - - Container to configure. - - - - Gets a value indicating whether an unknown element is encountered during deserialization. - - - true when an unknown element is encountered while deserializing; otherwise, false. - - The name of the unknown subelement. - The being used for deserialization. - The element identified by is locked. - - or - - One or more of the element's attributes is locked. - - or - - is unrecognized, or the element has an unrecognized attribute. - - or - - The element has a Boolean attribute with an invalid value. - - or - - An attempt was made to deserialize a property more than once. - - or - - An attempt was made to deserialize a property that is not a valid member of the element. - - or - - The element cannot contain a CDATA or text element. - - - - - Write the contents of this element to the given . - - The caller of this method has already written the start element tag before - calling this method, so deriving classes only need to write the element content, not - the start or end tags. - Writer to send XML content to. - - - - Name for this container configuration as given in the config file. - - - - - The type registrations in this container. - - - - - Any instances to register in the container. - - - - - Any extensions to add to the container. - - - - - Set of any extra configuration elements that were added by a - section extension. - - - This is not marked as a configuration property because we don't want - the actual property to show up as a nested element in the configuration. - - - - Configuration element representing an extension to add to a container. - - - - - Add the extension specified in this element to the container. - - Container to configure. - - - - Write the contents of this element to the given . - - The caller of this method has already written the start element tag before - calling this method, so deriving classes only need to write the element content, not - the start or end tags. - Writer to send XML content to. - - - - Type of the extension to add. - - - - - A collection of s. - - - - - Gets the element key for a specified configuration element when overridden in a derived class. - - - An that acts as the key for the specified . - - The to return the key for. - - - - A derived class that describes - a parameter that should be resolved through the container. - - - - - Create a new instance of . - - - - - Create a new instance of with - properties initialized from the contents of - . - - Dictionary of name/value pairs to - initialize this object with. - - - - Write the contents of this element to the given . - - The caller of this method has already written the start element tag before - calling this method, so deriving classes only need to write the element content, not - the start or end tags. - Writer to send XML content to. - - - - Write the contents of this element to the given . This - method always outputs an explicit <dependency> tag, instead of providing - attributes to the parent method. - - Writer to send XML content to. - - - - Generate an object - that will be used to configure the container for a type registration. - - Container that is being configured. Supplied in order - to let custom implementations retrieve services; do not configure the container - directly in this method. - Type of the - - - - - Name to use to when resolving. If empty, resolves the default. - - - - - Name of type this dependency should resolve to. This is optional; - without it the container will resolve the type of whatever - property or parameter this element is contained in. - - - - - Base class used to derive new elements that can occur - directly within a container element. - - - - - Initialize a new instance of . - - - - - When overridden in a derived class, this method will make configuration - calls into the given according to its contents. - - The container to configure. - - - - Unique key generated for use in the collection class. - - - - - A collection of s. - - - - - When overridden in a derived class, creates a new . - - - A new . - - - - - Gets the element key for a specified configuration element when overridden in a derived class. - - - An that acts as the key for the specified . - - The to return the key for. - - - - This class manages the set of extension elements - added by section elements. - - - - - Clear the current set of extension elements. - - - - - Register a new ContainerExtensionConfigurationElement with he section so it - can be read. - - prefix if any. - tag name. - Type of element to register. - - - - Register a new with the section - so it can be read. - - prefix if any. - Tag name. - Type of element to register. - - - - Register a new with the section - so it can be read. - - prefix if any. - Tag name. - Type of element to register. - - - - Retrieve the registered for the given - tag. - - Tag to look up. - Type of element, or null if not registered. - - - - Retrieve the ContainerExtensionConfigurationElement registered for the given - tag. - - Tag to look up. - Type of element, or null if not registered. - - - - Retrieve the ContainerExtensionConfigurationElement registered for the given - tag. - - Tag to look up. - Type of element, or null if not registered. - - - - Retrieve the correct tag to use when serializing the given - to XML. - - Element to be serialized. - The tag for that element type. - if the element is of a type that - is not registered with the section already. - - - - A polymorphic collection of s. - - - - - Causes the configuration system to throw an exception. - - - true if the unrecognized element was deserialized successfully; otherwise, false. The default is false. - - The name of the unrecognized element. - An input stream that reads XML from the configuration file. - The element specified in is the <clear> element. - starts with the reserved prefix "config" or "lock". - - - - - When overridden in a derived class, creates a new . - - - A new . - - - - - Gets the element key for a specified configuration element when overridden in a derived class. - - - An that acts as the key for the specified . - - The to return the key for. - - - - Indexer that lets you access elements by their key. - - Key to retrieve element with. - The element. - - - - A configuration element that describes an instance to add to the container. - - - - - Write the contents of this element to the given . - - The caller of this method has already written the start element tag before - calling this method, so deriving classes only need to write the element content, not - the start or end tags. - Writer to send XML content to. - - - - Add the instance defined by this element to the given container. - - Container to configure. - - - - Name to register instance under - - - - - Value for this instance - - - - - Type of the instance. If not given, defaults to string - - - - - Type name for the type converter to use to create the instance. If not - given, defaults to the default type converter for this instance type. - - - - - Key used to keep these instances unique in the config collection. - - - - - A collection of s. - - - - - Gets the element key for a specified configuration element when overridden in a derived class. - - - An that acts as the key for the specified . - - The to return the key for. - - - - An element that has a child Value property. - - - - - String that will be deserialized to provide the value. - - - - - A string describing where the value this element contains - is being used. For example, if setting a property Prop1, - this should return "property Prop1" (in english). - - - - - A configuration element that represents lifetime managers. - - - - - Create the described by - this element. - - A instance. - - - - Write the contents of this element to the given . - - The caller of this method has already written the start element tag before - calling this method, so deriving classes only need to write the element content, not - the start or end tags. - Writer to send XML content to. - - - - Type of the lifetime manager. - - - - - Extra initialization information used by the type converter for this lifetime manager. - - - - - Type of to use to create the - lifetime manager. - - - - - A configuration element representing a method to call. - - - - - Construct a new instance of . - - - - - Write the contents of this element to the given . - - The caller of this method has already written the start element tag before - calling this method, so deriving classes only need to write the element content, not - the start or end tags. - Writer to send XML content to. - - - - Return the set of s that are needed - to configure the container according to this configuration element. - - Container that is being configured. - Type that is being registered. - Type that is being mapped to. - Name this registration is under. - One or more objects that should be - applied to the container registration. - - - - Name of the method to call. - - - - - Parameters to the method call. - - - - - Each element must have a unique key, which is generated by the subclasses. - - - - - Element name to use to serialize this into XML. - - - - - A configuration element representing the namespace - tags in the config file. - - - - - A collection of s in configuration. - - - - - Gets the element key for a specified configuration element when overridden in a derived class. - - - An that acts as the key for the specified . - - The to return the key for - - - - A configuration element that specifies that a value - is optional. - - - - - Write the contents of this element to the given . - - The caller of this method has already written the start element tag before - calling this method, so deriving classes only need to write the element content, not - the start or end tags. - Writer to send XML content to. - - - - Generate an object - that will be used to configure the container for a type registration. - - Container that is being configured. Supplied in order - to let custom implementations retrieve services; do not configure the container - directly in this method. - Type of the - - - - - Name used to resolve the dependency, leave out or blank to resolve default. - - - - - Type of dependency to resolve. If left out, resolved the type of - the containing parameter or property. - - - - - Configuration element representing a parameter passed to a constructor - or a method. - - - - - Construct a new instance of . - - - - - Returns the required needed - to configure the container so that the correct value is injected. - - Container being configured. - Type of the parameter. - The value to use to configure the container. - - - - Does the information in this match - up with the given ? - - Information about the parameter. - True if this is a match, false if not. - - - - Reads XML from the configuration file. - - The that reads from the configuration file. - true to serialize only the collection key properties; otherwise, false. - The element to read is locked. - - or - - An attribute of the current node is not recognized. - - or - - The lock status of the current node cannot be determined. - - - - - Gets a value indicating whether an unknown attribute is encountered during deserialization. - - - true when an unknown attribute is encountered while deserializing; otherwise, false. - - The name of the unrecognized attribute. - The value of the unrecognized attribute. - - - - Gets a value indicating whether an unknown element is encountered during deserialization. - - - true when an unknown element is encountered while deserializing; otherwise, false. - - The name of the unknown subelement. - The being used for deserialization. - The element identified by is locked. - - or - - One or more of the element's attributes is locked. - - or - - is unrecognized, or the element has an unrecognized attribute. - - or - - The element has a Boolean attribute with an invalid value. - - or - - An attempt was made to deserialize a property more than once. - - or - - An attempt was made to deserialize a property that is not a valid member of the element. - - or - - The element cannot contain a CDATA or text element. - - - - - Write the contents of this element to the given . - - The caller of this method has already written the start element tag before - calling this method, so deriving classes only need to write the element content, not - the start or end tags. - Writer to send XML content to. - - - - Name of this parameter. - - - - - Type of this parameter. - - This is only needed in order to disambiguate method overloads. Normally - the parameter name is sufficient. - - - - Element that describes the value for this property. - - - This is NOT marked as a ConfigurationProperty because this - child element is polymorphic, and the element tag determines - the type. Standard configuration properties only let you do - this if it's a collection, but we only want one value. Thus - the separate property. The element is deserialized in - . - - - - A string describing where the value this element contains - is being used. For example, if setting a property Prop1, - this should return "property Prop1" (in english). - - - - - A collection of objects. - - - - - Gets the element key for a specified configuration element when overridden in a derived class. - - - An that acts as the key for the specified . - - The to return the key for. - - - - A collection of objects. - - - - - Causes the configuration system to throw an exception. - - - true if the unrecognized element was deserialized successfully; otherwise, false. The default is false. - - The name of the unrecognized element. - An input stream that reads XML from the configuration file. - The element specified in is the <clear> element. - starts with the reserved prefix "config" or "lock". - - - - When overridden in a derived class, creates a new . - - - A new . - - - - - Gets the element key for a specified configuration element when overridden in a derived class. - - - An that acts as the key for the specified . - - The to return the key for. - - - - String that will be deserialized to provide the value. - - - - - A string describing where the value this element contains - is being used. For example, if setting a property Prop1, - this should return "property Prop1" (in english). - - - - - A strongly-typed resource class, for looking up localized strings, etc. - - - - - Returns the cached ResourceManager instance used by this class. - - - - - Overrides the current thread's CurrentUICulture property for all - resource lookups using this strongly typed resource class. - - - - - Looks up a localized string similar to An abstract ContainerConfiguringElement cannot be created. Please specify a concrete type.. - - - - - Looks up a localized string similar to An abstract ExtensionConfigurationElement object cannot be created. Please specify a concrete type.. - - - - - Looks up a localized string similar to An abstract InjectionMemberElement object cannot be created. Please specify a concrete type.. - - - - - Looks up a localized string similar to An abstract ParameterValueElement object cannot be created. Please specify a concrete type.. - - - - - Looks up a localized string similar to The type name or alias {0} could not be resolved. Please check your configuration file and verify this type name.. - - - - - Looks up a localized string similar to The dependency element for generic parameter {0} must not have an explicit type name but has '{1}'.. - - - - - Looks up a localized string similar to The optional dependency element for generic parameter {0} must not have an explicit type name but has '{1}'.. - - - - - Looks up a localized string similar to {0} {1}. - - - - - Looks up a localized string similar to The injection configuration for {0} has multiple values.. - - - - - Looks up a localized string similar to The configuration element type {0} has not been registered with the section.. - - - - - Looks up a localized string similar to The injection configuration for {0} is specified through both attributes and child value elements.. - - - - - Looks up a localized string similar to Could not load section extension type {0}.. - - - - - Looks up a localized string similar to The extension type {0} does not derive from SectionExtension.. - - - - - Looks up a localized string similar to The extension element type {0} that is being added does not derive from ContainerConfiguringElement, InjectionMemberElement, or ParameterValueElement. An extension element must derive from one of these types.. - - - - - Looks up a localized string similar to No valid attributes were found to construct the value for the {0}. Please check the configuration file.. - - - - - Looks up a localized string similar to Configuration is incorrect, the type {0} does not have a constructor that takes parameters named {1}.. - - - - - Looks up a localized string similar to Configuration is incorrect, the type {0} does not have a method named {1} that takes parameters named {2}.. - - - - - Looks up a localized string similar to The container named "{0}" is not defined in this configuration section.. - - - - - Looks up a localized string similar to The type {0} does not have a property named {1}.. - - - - - Looks up a localized string similar to The configuration is set to inject an array, but the type {0} is not an array type.. - - - - - Looks up a localized string similar to parameter. - - - - - Looks up a localized string similar to property. - - - - - Looks up a localized string similar to The attribute {0} must be present and non-empty.. - - - - - Looks up a localized string similar to The value element for {1} was specified for the generic array type {0}. Value elements are not allowed for generic array types.. - - - - - Looks up a localized string similar to The value element for {1} was specified for the generic parameter type {0}. Value elements are not allowed for generic parameter types.. - - - - - Looks up a localized string similar to The value element for {1} was specified for the generic type {0}. Value elements are not allowed for generic types.. - - - - - A class representing a property configuration element. - - - - - Construct a new instance of - - - - - Reads XML from the configuration file. - - The that reads from the configuration file. - true to serialize only the collection key properties; otherwise, false. - The element to read is locked. - - or - - An attribute of the current node is not recognized. - - or - - The lock status of the current node cannot be determined. - - - - - Gets a value indicating whether an unknown attribute is encountered during deserialization. - - - true when an unknown attribute is encountered while deserializing; otherwise, false. - - The name of the unrecognized attribute. - The value of the unrecognized attribute. - - - - Gets a value indicating whether an unknown element is encountered during deserialization. - - - true when an unknown element is encountered while deserializing; otherwise, false. - - The name of the unknown subelement. - The being used for deserialization. - The element identified by is locked. - - or - - One or more of the element's attributes is locked. - - or - - is unrecognized, or the element has an unrecognized attribute. - - or - - The element has a Boolean attribute with an invalid value. - - or - - An attempt was made to deserialize a property more than once. - - or - - An attempt was made to deserialize a property that is not a valid member of the element. - - or - - The element cannot contain a CDATA or text element. - - - - - Write the contents of this element to the given . - - The caller of this method has already written the start element tag before - calling this method, so deriving classes only need to write the element content, not - the start or end tags. - Writer to send XML content to. - - - - Return the set of s that are needed - to configure the container according to this configuration element. - - Container that is being configured. - Type that is being registered. - Type that is being mapped to. - Name this registration is under. - One or more objects that should be - applied to the container registration. - - - - Name of the property that will be set. - - - - - Each element must have a unique key, which is generated by the subclasses. - - - - - String that will be deserialized to provide the value. - - - - - A string describing where the value this element contains - is being used. For example, if setting a property Prop1, - this should return "property Prop1" (in english). - - - - - Element name to use to serialize this into XML. - - - - - A configuration element representing a single container type registration. - - - - - Apply the registrations from this element to the given container. - - Container to configure. - - - - Write the contents of this element to the given . - - The caller of this method has already written the start element tag before - calling this method, so deriving classes only need to write the element content, not - the start or end tags. - Writer to send XML content to. - - - - The type that is registered. - - - - - Name registered under. - - - - - Type that is mapped to. - - - - - Lifetime manager to register for this registration. - - - - - Any injection members (constructor, properties, etc.) that are specified for - this registration. - - - - - A collection of s. - - - - - Causes the configuration system to throw an exception. - - - true if the unrecognized element was deserialized successfully; otherwise, false. The default is false. - - The name of the unrecognized element. - An input stream that reads XML from the configuration file. - The element specified in is the <clear> element. - starts with the reserved prefix "config" or "lock". - - - - Gets the element key for a specified configuration element when overridden in a derived class. - - - An that acts as the key for the specified . - - The to return the key for. - - - - Base class for Unity configuration section extensions. - Derived classes are used to add custom elements and aliases - into the configuration section being loaded. - - - - - Add the extensions to the section via the context. - - Context object that can be used to add elements and aliases. - - - - An object that gives the ability to add - elements and aliases to a configuration section. - - - - - Add a new alias to the configuration section. This is useful - for those extensions that add commonly used types to configuration - so users don't have to alias them repeatedly. - - The alias to use. - Type the alias maps to. - - - - Add a new alias to the configuration section. This is useful - for those extensions that add commonly used types to configuration - so users don't have to alias them repeatedly. - - Type the alias maps to. - The alias to use - - - - Add a new element to the configuration section schema. - - Tag name in the XML. - Type the tag maps to. - - - - Add a new element to the configuration section schema. - - Type the tag maps to. - Tag name in the XML. - - - - A configuration element used to specify which extensions to - add to the configuration schema. - - - - - Reads XML from the configuration file. - - The that reads from the configuration file. - true to serialize only the collection key properties; otherwise, false. - The element to read is locked. - - or - - An attribute of the current node is not recognized. - - or - - The lock status of the current node cannot be determined. - - - - - Write the contents of this element to the given . - - The caller of this method has already written the start element tag before - calling this method, so deriving classes only need to write the element content, not - the start or end tags. - Writer to send XML content to. - - - - Type of the section extender object that will provide new elements to the schema. - - - - - Optional prefix that will be added to the element names added by this - section extender. If left out, no prefix will be added. - - - - - The extension object represented by this element. - - - - - A collection of s. - - - - - Gets the element key for a specified configuration element when overridden in a derived class. - - - An that acts as the key for the specified . - - The to return the key for. - - - - Type that manage access to a set of type aliases and implements - the logic for converting aliases to their actual types. - - - - - Set the set of aliases to use for resolution. - - Configuration section containing the various - type aliases, namespaces and assemblies. - - - - Resolves a type alias or type FullName to a concrete type. - - Type alias or type FullName - Type object or null if resolve fails. - Thrown if alias lookup fails. - - - - Resolves a type alias or type FullName to a concrete type. - - Alias or name to resolve. - if true and the alias does not - resolve, throw an , otherwise - return null on failure. - The type object or null if resolve fails and - is false. - - - - Resolve a type alias or type full name to a concrete type. - If is null or empty, return the - given instead. - - Type alias or full name to resolve. - Value to return if typeName is null or empty. - The concrete . - Thrown if alias lookup fails. - - - - Resolve a type alias or type full name to a concrete type. - If is null or empty, return the - given instead. - - Type alias or full name to resolve. - Value to return if typeName is null or empty. - if true and the alias does not - resolve, throw an , otherwise - return null on failure. - The concrete . - Thrown if alias lookup fails and - is true. - - - - A helper class that implements the actual logic for resolving a shorthand - type name (alias or raw type name) into an actual type object. - - - - - Construct a new that uses the given - sequence of alias, type name pairs to resolve types. - - Type aliases from the configuration file. - Assembly names to search. - Namespaces to search. - - - - Resolves a type alias or type FullName to a concrete type. - - Alias or name to resolve. - if true and the alias does not - resolve, throw an , otherwise - return null on failure. - The type object or null if resolve fails and - is false. - - - - Resolve a type alias or type full name to a concrete type. - If is null or empty, return the - given instead. - - Type alias or full name to resolve. - Value to return if typeName is null or empty. - if true and the alias does not - resolve, throw an , otherwise - return null on failure. - - If is null or an empty string, - then return . - Otherwise, return the resolved type object. If the resolution fails - and is false, then return null. - - - - - A configuration section describing configuration for an . - - - - - The name of the section where unity configuration is expected to be found. - - - - - XML Namespace string used for IntelliSense in this section. - - - - - Apply the configuration in the default container element to the given container. - - Container to configure. - The passed in . - - - - Apply the configuration in the default container element to the given container. - - Container to configure. - Name of the container element to use to configure the container. - The passed in . - - - - Reads XML from the configuration file. - - The object, which reads from the configuration file. - found no elements in the configuration file. - - - - Gets a value indicating whether an unknown element is encountered during deserialization. - - - true when an unknown element is encountered while deserializing; otherwise, false. - - The name of the unknown subelement. - The being used for deserialization. - - The element identified by is locked. - - or - - One or more of the element's attributes is locked. - - or - - is unrecognized, or the element has an unrecognized attribute. - - or - - The element has a Boolean attribute with an invalid value. - - or - - An attempt was made to deserialize a property more than once. - - or - - An attempt was made to deserialize a property that is not a valid member of the element. - - or - - The element cannot contain a CDATA or text element. - - - - - Creates an XML string containing an unmerged view of the object as a single section to write to a file. - - - An XML string containing an unmerged view of the object. - - The instance to use as the parent when performing the un-merge. - The name of the section to create. - The instance to use when writing to a string. - - - - The current that is being deserialized - or being configured from. - - - - - Storage for XML namespace. The namespace isn't used or validated by config, but - it is useful for Visual Studio XML IntelliSense to kick in. - - - - - The set of containers defined in this configuration section. - - - - - The set of type aliases defined in this configuration file. - - - - - Any schema extensions that are added. - - - - - Any namespaces added to the type search list. - - - - - Any assemblies added to the type search list. - - - - - Add a new alias to the configuration section. This is useful - for those extensions that add commonly used types to configuration - so users don't have to alias them repeatedly. - - The alias to use. - Type the alias maps to. - - - - Add a new element to the configuration section schema. - - Tag name in the XML. - Type the tag maps to. - - - - Collection element for s. - - - - - Plug point to get objects out of the collection. - - Index in the collection to retrieve the item from. - Item at that index or null if not present. - - - - Plug point to get objects out of the collection. - - Key to look up the object by. - Item with that key or null if not present. - - - - Gets the element key for a specified configuration element when overridden in a derived class. - - - An that acts as the key for the specified . - - The to return the key for. - - - - Retrieve a stored by name. - - Name to look up. - The stored container or null if not in the collection. - - - - Return the default container in the collection. The default is the one without a name. - - - - - Extensions to to simplify - loading configuration into a container. - - - - - Apply configuration from the given section and named container - into the given container. - - Unity container to configure. - Configuration section with config information. - Named container. - . - - - - Apply configuration from the default section (named "unity" pulled out of - ConfigurationManager) and the named container. - - Unity container to configure. - Named container element in configuration. - . - - - - Apply configuration from the default section and unnamed container element. - - Container to configure. - . - - - - Apply configuration from the default container in the given section. - - Unity container to configure. - Configuration section. - . - - - - Element that describes a constant value that will be - injected into the container. - - - - - Construct a new object. - - - - - Construct a new object, - initializing properties from the contents of - . - - Name/value pairs which - contain the values to initialize properties to. - - - - Write the contents of this element to the given . - - The caller of this method has already written the start element tag before - calling this method, so deriving classes only need to write the element content, not - the start or end tags. - Writer to send XML content to. - - - - Write the contents of this element to the given . This - method always outputs an explicit <dependency> tag, instead of providing - attributes to the parent method. - - Writer to send XML content to. - - - - Generate an object - that will be used to configure the container for a type registration. - - Container that is being configured. Supplied in order - to let custom implementations retrieve services; do not configure the container - directly in this method. - Type of the parameter to get the value for. - The required object. - - - - Value for this element - - - - - - - - - diff --git a/src/packages/Unity.4.0.1/lib/net45/Microsoft.Practices.Unity.Configuration.dll b/src/packages/Unity.4.0.1/lib/net45/Microsoft.Practices.Unity.Configuration.dll deleted file mode 100644 index 870581cda9012eabb9e1b11a1514d6a3deec3a76..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 81408 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%0DrOmoo?QGut(23rnNA z^q9?OX|5Xu78Z<5*Yxrtus9IKs^$6sqhZP7k#BE{rm#2~Mp-E1GLVCdcw_m81?TH8 z4W!e{D`_)YCf0pX;9feerkxB+eGTbT_YwTA%q3bYo2R-enl7NmYV}nwC*F=pyUa+x zPOj9vRnY_Ns1}zz<4efxj4_GY5|)M%mI10K98L)pNE!5T8yH%WHW)^j>G_}mluLTm zQIU2xdFecI&LACIy*vhGB$RET&pD;W0=(E+$@oS)MuMzAnT| zE%}4;gji+?*axU)tQSImLhj)^drIo7s)2F<&o=#Je=q%ZBXLX`Q;mMQ)@wdPS~EBO_m zX(=G3>PQPOgz(cbYJ8?F#u{xL)fp}c^(1K5=x_K8)4lZ}y=!ee4Lvy84&*^fPJ<_m z6G;Emve^F$J_e>L{4NEBw8Hi{3s;X4)W8Yxn+o||0!oL~rwUR+VDNe?jjT@=H1JQT zrEz$(8Zk$L`B z@I;t|-iIeOfvE1s9C#itIXkKY?#8HxW1oJ6vQN_5pz5qFzv_sV9`bodR5n-|&@?Kv zkDF=qSa?|KO9;e?+Mw$k<_Y+Mzx@)Z)RT`s-}1ZlH+;t1Soq@0hkjbcfB6;DukZMF z(}DQsUVH25EqkB7r+$Om>U1hR+V!K$aa-_(M=u^*9Crwh9{p&=qk{=HbnJ*FHn=a1 z;rz~>Z6Tkla67fYa&OT}3 zcVA6XIkEagQ$Q|pi=p~t%t^R|h>@s8ibPGXN+40EiZdkMspO+Oo>Uv$>)=g*or+N< zg1awK*UQ+oN#)ixAn)59cQb+$fC9(~K#3)!9NlhRZ7+Oc_3`-po}Y|8{f)1FAfAl5 z!|s@i`)y;+26sG`U^?Zl{H7Fqus-RygYIBmFTLWHI@;Qun#+)#yOW5zOm(z7wffr~ z)IO+A48I!uP%ao}#Oz8i(@CQ3+U??tonr4INQO*Eht+@pA5 z)mUsH<53{&M60TC_o21Le;-aql`oQt(fvo*BGGgKDA7hmmNY{L?E%bpv-lu) z<<1ks=iNbz+w+3z^9IA`fvdClF;&c6B!Rm-WAIqU@6K9OZJExUsFLH}iApAFQLSY< zch~K)WJ@F8she3Y!3%VZP^4UHLMtJ6CSn0t5E4F~jrx-fi&PnR zu$E_CXz$wzOlsoDdzjf7pm)~&fPkr=f^Y_nu z?UZx4vFm%S4_v%)-#5Q~<-?!4cgL)X{KG>BFU)@NXGZV%wLiF+ zx#Ncy4}9}ScXr(Q-Ne~9AHKWpVs^v$hPS0wS9d?UW!rncb;qQNVB+UxBf|sN z^zS_|&Y2%>X(|-;K{|)L$pw$IRU>&ESIAvjxI!S&Xjc7>rxU^U9L~p2C0cL50&YOS zqBN|3-ZWlHW{Sz8hLN1HK(diC00tJ@U5PUE@85F(3p6rm%$wN-!o`VMeRP(YF?LXZ zXfBtTB*-wC#?cSSGs{U?sF1|8Rj~+3<#bc8=}zo$RGsVuKrLcTJUCD9TXCjhb>mz` z>1@JfG$l-LBbP{orAUc2)^-wW1O1g)JA&;224Rznv)J%gS?1m;EUzVQQpqz|xuHwC zE1AQBCi-HbXc5cDfzn14NRIMU=rAD@(685#XzPS@>$)LCsFBswQy;^z@a$Wtk%Efx zvB6z!VQ7OBZ)|{=kuM}idc;E)x{o?X_vWSsK-Z8~?y6GNe=P#pyas{v)wMe~fxfm0 zg&%a(-hg0V_=xpk?ijHPepGD(b#itUbum=;b||G_X1MOoMtr|C#y8~Qw#4lhu5;88 z(UHX4~q4E*SJH8cq`(qZni2u8IOYm^N_gRBr`p-zzbCDq2`7f{Q>|I zB}pRHkgsTIs6}3kWiuCwvLS9lp&)3WjOd5!^6auJNP#um z%PK%7aNx>^cwTF&fSfcQ@FD?v$bms0xB(+XUB6MFj0{6PrMnwU6HCN98frOG3YD}G zihRc^#a4qn-O-kYnz%b^KEO7kTaakTU45lrJO8DtA?CmPFGzB;~fgWGhsk#cmi+ounbk+sOUOvRg; zAX-dB-`@%wij_@TgxE+v6!a1awDGveBdFn!aqXQB#&q=!a4vIJ-dCk(_~&$jH)2H= zI=~tKa*18ZJdU|d%Bh{)5>ZUry)WnqErVmzpg#UoR1C}Hz~=2}iPp%NlR~pobvme( zHn}uWyzAFyA;Mu)vJ)D2$Leq}RBaB8KLHoKuv7X4zO>k={HTL~UX9aTc@u?oQeJ-* zX*dq;Zm4t9I(elFoF?3ryXqkJ2NP^|m^o;K*-2z8$a@t-2z()A23^{BUd5Qwi_05) zXdik4Pjo#iPqZN7$`j_J5d?{0X^(pw$sglXY3x*NV+BF5_ldFWsb+LNw&!UD2|`;K zBS?3#9Thqj`i?aPVN^OC$z-wHbZrvIJ}pFaP6H}RSTK4;K*4Nd>6{@bObhAPW)1G> z!EjHwX&90QoiJpD{zO0=d;>H-VT9Dm6V%o*K*tbWY77r{tayNhAaG;oNsl;cB5+mZ#TP?r6^?gXyc!U{n2NM6#eVD7#o9> zV*T7(*bW+VZU-BN20;+pE$zURkJ78qR3bSTdOLV>!ids zUPks9)6(F|8!8p3t44<)R)BKL2kS48*$XZ^`gdK{}wsZ6k}k}RMtobUrYh)dGsbZjc%of-qY?s#Z)M7DC4>P-wK5_aR4-hLoQmo}MUNJ)yqaX5^H#W@*TVh0Nb&O+?V{@uDR|yJzXtI;*E#Ci z^|mkuyL#u6Uz?j=L~38rH>pXT&DhAqF)bn2EpXi=E41+A~kk8=C1|fBv5XSAH zAOft)SHxU5?2F1>eGe4}XoBw{buL4Yz*>4IR9mNG^@DK-7lZMyo?X-GgB&ERK9qo2 z2%~|A@Sk;AeF!5)*Z`kwqUE%eCgp64^hjC#xvlCjP{h6r1+(sL@<){;2A=|SY+*P6fz`g;x7im~i$r2HR2S$%Z*zW|dVXgR79vo6G z_oGR+;nK9Mxw)vEVkck3pwg~DUxQ-eb|pLL9zEa6Q|t#(1M{oU!_lb zveEw*c_eAdbXjeJ+D#J_%wT4rxG^|sOBfd7a_j9BWQI@Dq~)k7YHUg@5MEjvakO=b zifcMAY62JCLxo75@k$pxFDHItkiv*IEnjTCmA6I|?SHAlU1N8jmlqDD(s`%mSXSyY zp57*rWO1N^_H_4jZ*f#T_WWyeR@gYEMjiEv5YzGGlr=BGGis6FqxwRHitfrY=pghY zX~J!3MMGj71C1MfC(W#!N(F> zX!a(kfcGY5-@~wlCO+)k)&|YBjC_6EZbD?w;EZ}0CyQbXl&;nv;^;w) z7%ErZ7HM`!$A6A#ww9Tf)8~sVQPdWw36W^&@85r5G!H!RUWm}XisE=q>j9J8KFvE7 zij_>Vn@V$jHkm_OaLSzC)g+{*O`vfhspzBGC2VOE( zg5ZT3Mtg6(2FA@qoD_nwI3~8>^tgjt8{!bCquMiuF*>BHu{?l=V3tU9HPmx@%y?5l zgJ)|)ZOBh_Z!s_~88P&n2%Bd_7(Ih5p?5ki2KgM38*GN2g`V#NCS3{03@jS3g zX*vUEOQnSayLT6Hronuw*f;NQBLo@mUa;J~dr$vB|L#TZVQaxn(jvvI@=tx+oOdOI z0a)RAZzIo!Q>R{p^574@*60cv{UH@>Cf#CCN5rK4WLYl!6hoaBFgC>g-6NJMpOfa(?tB_FsYmRF|o?=ntv zO~p3ej9am=N6sIiV0ROCxk+7$IrlW9Qjwyu`r{Z%e|(RFiL%kjpL}r3{fXBA$;b_u}QWnpD$p$7B!HIQCN=$M-ng!+7W4 zmujE=M@~uU`>%s1c0b7IM&t7Vm%@Mu24)BtU}Eq zrrk9n5!5f&exIvdP`Y4EZ6%~9Bu+o-t^e)C`bgkFy$L(9U@4T(3#d9s|l5TC8BcQkRuNj6mLf7$Z&Va+R7LMyb< zOOWqTly6RQWa}>g-^37i8e$E(;5O=)R1cwLE6cQYJFH0kCJbDz8e{!zyV&(L|I+Oc z)H5yhJc0bVmrU=gyA(~mSjz3koSS2IKG;0UTRv!ag4kjy Z?| - - - Microsoft.Practices.Unity.RegistrationByConvention - - - - - Provides helper methods to retrieve classes from assemblies. - - - - - Returns all visible, non-abstract classes from . - - The assemblies. - All visible, non-abstract classes found in the assemblies. - is . - contains elements. - All exceptions thrown while getting types from the assemblies are ignored, and the types that can be retrieved are returned. - - - - Returns all visible, non-abstract classes from , and optionally skips errors. - - to skip errors; otherwise, . - The assemblies. - - All visible, non-abstract classes. - - is . - contains elements. - - If is , all exceptions thrown while getting types from the assemblies are ignored, and the types - that can be retrieved are returned; otherwise, the original exception is thrown. - - - - - Returns all visible, non-abstract classes from . - - to skip errors; otherwise, . - The assemblies. - - All visible, non-abstract classes. - - is . - contains elements. - - If is , all exceptions thrown while getting types from the assemblies are ignored, and the types - that can be retrieved are returned; otherwise, the original exception is thrown. - - - - - Returns all visible, non-abstract classes from all assemblies that are loaded in the current application domain. - - to include system assemblies; otherwise, . Defaults to . - to include the Unity assemblies; otherwise, . Defaults to . - to include dynamic assemblies; otherwise, . Defaults to . - to skip errors; otherwise, . - - All visible, non-abstract classes in the loaded assemblies. - - - If is , all exceptions thrown while getting types from the assemblies are ignored, and the types - that can be retrieved are returned; otherwise, the original exception is thrown. - - - - - Returns all visible, non-abstract classes from all assemblies that are located in the base folder of the current application domain. - - to include system assemblies; otherwise, . Defaults to . - to include the Unity assemblies; otherwise, . Defaults to . - to skip errors; otherwise, . - - All visible, non-abstract classes. - - - If is , all exceptions thrown while loading assemblies or getting types from the assemblies are ignored, and the types - that can be retrieved are returned; otherwise, the original exception is thrown. - - - - - The exception that is thrown when registering multiple types would result in an type mapping being overwritten. - - - - - Initializes a new instance of the class. - - The name for the mapping. - The source type for the mapping. - The type currently mapped. - The new type to map. - - - - Gets the name for the mapping. - - - - - Gets the source type for the mapping. - - - - - Gets the type currently mapped. - - - - - Gets the new type to map. - - - - - A strongly-typed resource class, for looking up localized strings, etc. - - - - - Returns the cached ResourceManager instance used by this class. - - - - - Overrides the current thread's CurrentUICulture property for all - resource lookups using this strongly typed resource class. - - - - - Looks up a localized string similar to An attempt to override an existing mapping was detected for type {1} with name "{0}", currently mapped to type {2}, to type {3}.. - - - - - Looks up a localized string similar to The set of assemblies contains a null element.. - - - - - Represents a set of types to register and their registration settings. - - - - - Gets types to register. - - - - - Gets a function to get the types that will be requested for each type to configure. - - - - - Gets a function to get the name to use for the registration of each type. - - - - - Gets a function to get the for the registration of each type. Defaults to no lifetime management. - - - - - - Gets a function to get the additional objects for the registration of each type. Defaults to no injection members. - - - - - - Provides a set of convenience overloads to the - interface to support registration of multiple types. - - - - - Registers the supplied types by using the specified rules for name, lifetime manager, injection members, and registration types. - - The container to configure. - The types to register. The methods in the class can be used to scan assemblies to get types, and further filtering can be performed using LINQ queries. - A function that gets the types that will be requested for each type to configure. It can be a method from the class or a custom function. Defaults to no registration types, and registers only the supplied types. - A function that gets the name to use for the registration of each type. It can be a method from the or a custom function. Defaults to no name. - A function that gets the for the registration of each type. It can be a method from the class or a custom function. Defaults to no lifetime management. - A function that gets the additional objects for the registration of each type. Defaults to no injection members. - to overwrite existing mappings; otherwise, . Defaults to . - - The container that this method was called on. - - A new registration would overwrite an existing mapping and is . - - - - Registers the types according to the . - - The container to configure. - The convention to determine which types will be registered and how. - to overwrite existing mappings; otherwise, . Defaults to . - - The container that this method was called on. - - - - - Provides helper methods to specify the lifetime for a type with registration by convention. - - - - - Returns a . - - The type. - A lifetime manager - - - - Returns a . - - The type. - A container controlled lifetime manager. - - - - Returns a . - - The type. - An externally controlled lifetime manager. - - - - Returns a . - - The type. - A hierarchical lifetime manager. - - - - Returns a . - - The type. - A per resolve lifetime manager. - - - - Returns a . - - The type. - A transient lifetime manager. - - - - Returns a . - - The custom type. - The type. - - A lifetime manager. - - - - - Returns a . - - The type. - A per thread lifetime manager. - - - - Provides helper methods to map types to the types interfaces to which register them. - - - - - Returns no types. - - The type to register. - An empty enumeration. - - - - Returns an enumeration with the interface that matches the name of . - - The type to register. - An enumeration with the first interface matching the name of (for example, if type is MyType, a matching interface is IMyType), - or an empty enumeration if no such interface is found. - - - - Returns an enumeration with all the interfaces implemented by . - - The type to register. - An enumeration with all the interfaces implemented by the implementation type except . - - - - Returns an enumeration with all the interfaces implemented by that belong to the same assembly as implementationType. - - The type to register. - An enumeration with all the interfaces implemented by the implementation type that belong to the same assembly. - - - - Provides helper methods to get type names. - - - - - Returns the type name. - - The type. - The type name. - - - - Returns null for the registration name. - - The type. - - - - diff --git a/src/packages/Unity.4.0.1/lib/net45/Microsoft.Practices.Unity.RegistrationByConvention.dll b/src/packages/Unity.4.0.1/lib/net45/Microsoft.Practices.Unity.RegistrationByConvention.dll deleted file mode 100644 index fc76a46e8630a5a530b4cd88da942f346d1b9503..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23552 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 diff --git a/src/packages/Unity.4.0.1/lib/net45/Microsoft.Practices.Unity.dll b/src/packages/Unity.4.0.1/lib/net45/Microsoft.Practices.Unity.dll deleted file mode 100644 index 0d8c0040e78dc28e5e24949b30860d4ddd5364bf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 135680 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 Z=G*>LDJI(~^yY(ayX5~b@c#e={x_&(Z`=R? diff --git a/src/packages/Unity.4.0.1/lib/net45/Microsoft.Practices.Unity.xml b/src/packages/Unity.4.0.1/lib/net45/Microsoft.Practices.Unity.xml deleted file mode 100644 index f99ca70..0000000 --- a/src/packages/Unity.4.0.1/lib/net45/Microsoft.Practices.Unity.xml +++ /dev/null @@ -1,5916 +0,0 @@ - - - - Microsoft.Practices.Unity - - - - - Provides access to the names registered for a container. - - - - - Represents a builder policy interface. Since there are no fixed requirements - for policies, it acts as a marker interface from which to derive all other - policy interfaces. - - - - - Gets the names registered for a type. - - The type. - The names registered for . - - - - An implementation - that constructs a build plan for creating objects. - - - - - A that can create and return an - for the given build key. - - - - - Create a build plan using the given context and build key. - - Current build context. - Current build key. - The build plan. - - - - Creates a build plan using the given context and build key. - - Current build context. - Current build key. - - The build plan. - - - - - Provides extension methods to the class due to the introduction - of class in the .NET for Windows Store apps. - - - - - Returns the constructor in that matches the specified constructor parameter types. - - The type to inspect - The constructor parameter types. - The constructor that matches the specified parameter types. - - - - Returns the non-static declared methods of a type or its base types. - - The type to inspect - An enumerable of the objects. - - - - Returns the non-static method of a type or its based type. - - The type to inspect - The name of the method to seek. - The (closed) parameter type signature of the method. - The discovered - - - - Returns the declared properties of a type or its base types. - - The type to inspect - An enumerable of the objects. - - - - Determines if the types in a parameter set ordinally matches the set of supplied types. - - - - - - - - Base class for attributes that can be placed on parameters - or properties to specify how to resolve the value for - that parameter or property. - - - - - Create an instance of that - will be used to get the value for the member this attribute is - applied to. - - Type of parameter or property that - this attribute is decoration. - The resolver object. - - - - This attribute is used to indicate which constructor to choose when - the container attempts to build a type. - - - - - This attribute is used to mark methods that should be called when - the container is building an object. - - - - - This attribute is used to mark properties and parameters as targets for injection. - - - For properties, this attribute is necessary for injection to happen. For parameters, - it's not needed unless you want to specify additional information to control how - the parameter is resolved. - - - - - Create an instance of with no name. - - - - - Create an instance of with the given name. - - Name to use when resolving this dependency. - - - - Create an instance of that - will be used to get the value for the member this attribute is - applied to. - - Type of parameter or property that - this attribute is decoration. - The resolver object. - - - - The name specified in the constructor. - - - - - An used to mark a dependency - as optional - the container will try to resolve it, and return null - if the resolution fails rather than throw. - - - - - Construct a new object. - - - - - Construct a new object that - specifies a named dependency. - - Name of the dependency. - - - - Create an instance of that - will be used to get the value for the member this attribute is - applied to. - - Type of parameter or property that - this attribute is decoration. - The resolver object. - - - - Name of the dependency. - - - - - A that composites other - ResolverOverride objects. The GetResolver operation then - returns the resolver from the first child override that - matches the current context and request. - - - - - Base class for all override objects passed in the - method. - - - - - Return a that can be used to give a value - for the given desired dependency. - - Current build context. - Type of dependency desired. - a object if this override applies, null if not. - - - - Wrap this resolver in one that verifies the type of the object being built. - This allows you to narrow any override down to a specific type easily. - - Type to constrain the override to. - The new override. - - - - Wrap this resolver in one that verifies the type of the object being built. - This allows you to narrow any override down to a specific type easily. - - Type to constrain the override to. - The new override. - - - - Add a new to the collection - that is checked. - - item to add. - - - - Add a set of s to the collection. - - items to add. - - - - Returns an enumerator that iterates through a collection. - - - An object that can be used to iterate through the collection. - - 2 - - - - Returns an enumerator that iterates through the collection. - - - A that can be used to iterate through the collection. - - 1 - - - - Return a that can be used to give a value - for the given desired dependency. - - Current build context. - Type of dependency desired. - a object if this override applies, null if not. - - - - Class that returns information about the types registered in a container. - - - - - The type that was passed to the method - as the "from" type, or the only type if type mapping wasn't done. - - - - - The type that this registration is mapped to. If no type mapping was done, the - property and this one will have the same value. - - - - - Name the type was registered under. Null for default registration. - - - - - The registered lifetime manager instance. - - - - - The lifetime manager for this registration. - - - This property will be null if this registration is for an open generic. - - - - A class that overrides - the value injected whenever there is a dependency of the - given type, regardless of where it appears in the object graph. - - - - - Create an instance of to override - the given type with the given value. - - Type of the dependency. - Value to use. - - - - Return a that can be used to give a value - for the given desired dependency. - - Current build context. - Type of dependency desired. - a object if this override applies, null if not. - - - - A convenience version of that lets you - specify the dependency type using generic syntax. - - Type of the dependency to override. - - - - Construct a new object that will - override the given dependency, and pass the given value. - - - - - A convenience form of that lets you - specify multiple parameter overrides in one shot rather than having - to construct multiple objects. - - - This class isn't really a collection, it just implements IEnumerable - so that we get use of the nice C# collection initializer syntax. - - - - - Base helper class for creating collections of objects - for use in passing a bunch of them to the resolve call. This base class provides - the mechanics needed to allow you to use the C# collection initializer syntax. - - Concrete type of the this class collects. - Key used to create the underlying override object. - Value that the override returns. - - - - Add a new override to the collection with the given key and value. - - Key - for example, a parameter or property name. - Value - the value to be returned by the override. - - - - Return a that can be used to give a value - for the given desired dependency. - - Current build context. - Type of dependency desired. - a object if this override applies, null if not. - - - - Returns an enumerator that iterates through a collection. - - - An object that can be used to iterate through the collection. - - 2 - - - - Returns an enumerator that iterates through the collection. - - - A that can be used to iterate through the collection. - - 1 - - - - When implemented in derived classes, this method is called from the - method to create the actual objects. - - Key value to create the resolver. - Value to store in the resolver. - The created . - - - - When implemented in derived classes, this method is called from the - method to create the actual objects. - - Key value to create the resolver. - Value to store in the resolver. - The created . - - - - Event argument class for the event. - - - - - Construct a new object with the - given child container object. - - An for the newly created child - container. - - - - The newly created child container. - - - - - An extension context for the created child container. - - - - - Base class for subclasses that let you specify that - an instance of a generic type parameter should be resolved. - - - - - Base type for objects that are used to configure parameters for - constructor or method injection, or for getting the value to - be injected into a property. - - - - - Test to see if this parameter value has a matching type for the given type. - - Type to check. - True if this parameter value is compatible with type , - false if not. - - - - Return a instance that will - return this types value for the parameter. - - Type that contains the member that needs this parameter. Used - to resolve open generic parameters. - The . - - - - Convert the given set of arbitrary values to a sequence of InjectionParameterValue - objects. The rules are: If it's already an InjectionParameterValue, return it. If - it's a Type, return a ResolvedParameter object for that type. Otherwise return - an InjectionParameter object for that value. - - The values to build the sequence from. - The resulting converted sequence. - - - - Convert an arbitrary value to an InjectionParameterValue object. The rules are: - If it's already an InjectionParameterValue, return it. If it's a Type, return a - ResolvedParameter object for that type. Otherwise return an InjectionParameter - object for that value. - - The value to convert. - The resulting . - - - - Name for the type represented by this . - This may be an actual type name or a generic argument name. - - - - - Create a new instance that specifies - that the given named generic parameter should be resolved. - - The generic parameter name to resolve. - - - - Create a new instance that specifies - that the given named generic parameter should be resolved. - - The generic parameter name to resolve. - name to use when looking up in the container. - - - - Test to see if this parameter value has a matching type for the given type. - - Type to check. - True if this parameter value is compatible with type , - false if not. - - - - Return a instance that will - return this types value for the parameter. - - Type that contains the member that needs this parameter. Used - to resolve open generic parameters. - The . - - - - Return a instance that will - return this types value for the parameter. - - The actual type to resolve. - The resolution key. - The . - - - - Name for the type represented by this . - This may be an actual type name or a generic argument name. - - - - - A that lets you specify that - an instance of a generic type parameter should be resolved, providing the - value if resolving fails. - - - - - Create a new instance that specifies - that the given named generic parameter should be resolved. - - The generic parameter name to resolve. - - - - Create a new instance that specifies - that the given named generic parameter should be resolved. - - The generic parameter name to resolve. - name to use when looking up in the container. - - - - Return a instance that will - return this types value for the parameter. - - The actual type to resolve. - The resolution key. - The . - - - - A class that lets you specify a factory method the container - will use to create the object. - - This is a significantly easier way to do the same - thing the old static factory extension was used for. - - - - Base class for objects that can be used to configure what - class members get injected by the container. - - - - - Add policies to the to configure the - container to call this constructor with the appropriate parameter values. - - Type to register. - Policy list to add policies to. - - - - Add policies to the to configure the - container to call this constructor with the appropriate parameter values. - - Type of interface being registered. If no interface, - this will be null. - Type of concrete type being registered. - Name used to resolve the type object. - Policy list to add policies to. - - - - Create a new instance of with - the given factory function. - - Factory function. - - - - Create a new instance of with - the given factory function. - - Factory function. - - - - Add policies to the to configure the - container to call this constructor with the appropriate parameter values. - - Type of interface being registered. If no interface, - this will be null. This parameter is ignored in this implementation. - Type of concrete type being registered. - Name used to resolve the type object. - Policy list to add policies to. - - - - A that can be passed to - to configure a - parameter or property as an optional dependency. - - - - - A base class for implementing classes - that deal in explicit types. - - - - - Create a new that exposes - information about the given . - - Type of the parameter. - - - - Test to see if this parameter value has a matching type for the given type. - - Type to check. - True if this parameter value is compatible with type , - false if not. - - - - The type of parameter this object represents. - - - - - Name for the type represented by this . - This may be an actual type name or a generic argument name. - - - - - Construct a new object that - specifies the given . - - Type of the dependency. - - - - Construct a new object that - specifies the given and . - - Type of the dependency. - Name for the dependency. - - - - Return a instance that will - return this types value for the parameter. - - Type that contains the member that needs this parameter. Used - to resolve open generic parameters. - The . - - - - A generic version of that lets you - specify the type of the dependency using generics syntax. - - Type of the dependency. - - - - Construct a new . - - - - - Construct a new with the given - . - - Name of the dependency. - - - - A special lifetime manager which works like , - except that in the presence of child containers, each child gets it's own instance - of the object, instead of sharing one in the common parent. - - - - - A that holds onto the instance given to it. - When the is disposed, - the instance is disposed with it. - - - - - Base class for Lifetime managers which need to synchronize calls to - . - - - - The purpose of this class is to provide a basic implementation of the lifetime manager synchronization pattern. - - - Calls to the method of a - instance acquire a lock, and if the instance has not been initialized with a value yet the lock will only be released - when such an initialization takes place by calling the method or if - the build request which resulted in the call to the GetValue method fails. - - - - - - - Base class for Lifetime managers - classes that control how - and when instances are created by the Unity container. - - - - - A that controls how instances are - persisted and recovered from an external store. Used to implement - things like singletons and per-http-request lifetime. - - - - - Retrieve a value from the backing store associated with this Lifetime policy. - - the object desired, or null if no such object is currently stored. - - - - Stores the given value into backing store for retrieval later. - - The object to store. - - - - Remove the value this lifetime policy is managing from backing store. - - - - - Retrieve a value from the backing store associated with this Lifetime policy. - - the object desired, or null if no such object is currently stored. - - - - Stores the given value into backing store for retrieval later. - - The object being stored. - - - - Remove the given object from backing store. - - - - - This interface provides a hook for the builder context to - implement error recovery when a builder strategy throws - an exception. Since we can't get try/finally blocks onto - the call stack for later stages in the chain, we instead - add these objects to the context. If there's an exception, - all the current IRequiresRecovery instances will have - their Recover methods called. - - - - - A method that does whatever is needed to clean up - as part of cleaning up after an exception. - - - Don't do anything that could throw in this method, - it will cause later recover operations to get skipped - and play real havoc with the stack trace. - - - - - Retrieve a value from the backing store associated with this Lifetime policy. - - the object desired, or null if no such object is currently stored. - Calls to this method acquire a lock which is released only if a non-null value - has been set for the lifetime manager. - - - - Performs the actual retrieval of a value from the backing store associated - with this Lifetime policy. - - the object desired, or null if no such object is currently stored. - This method is invoked by - after it has acquired its lock. - - - - Stores the given value into backing store for retrieval later. - - The object being stored. - Setting a value will attempt to release the lock acquired by - . - - - - Performs the actual storage of the given value into backing store for retrieval later. - - The object being stored. - This method is invoked by - before releasing its lock. - - - - Remove the given object from backing store. - - - - - A method that does whatever is needed to clean up - as part of cleaning up after an exception. - - - Don't do anything that could throw in this method, - it will cause later recover operations to get skipped - and play real havoc with the stack trace. - - - - - Retrieve a value from the backing store associated with this Lifetime policy. - - the object desired, or null if no such object is currently stored. - - - - Stores the given value into backing store for retrieval later. - - The object being stored. - - - - Remove the given object from backing store. - - - - - Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. - - - - - Standard Dispose pattern implementation. Not needed, but it keeps FxCop happy. - - Always true, since we don't have a finalizer. - - - - This is a custom lifetime manager that acts like , - but also provides a signal to the default build plan, marking the type so that - instances are reused across the build up object graph. - - - - - Construct a new object that does not - itself manage an instance. - - - - - Construct a new object that stores the - give value. This value will be returned by - but is not stored in the lifetime manager, nor is the value disposed. - This Lifetime manager is intended only for internal use, which is why the - normal method is not used here. - - Value to store. - - - - Retrieve a value from the backing store associated with this Lifetime policy. - - the object desired, or null if no such object is currently stored. - - - - Stores the given value into backing store for retrieval later. In this class, - this is a noop, since it has special hooks down in the guts. - - The object being stored. - - - - Remove the given object from backing store. Noop in this class. - - - - - A strategy that handles Hierarchical lifetimes across a set of parent/child - containers. - - - - - Represents a strategy in the chain of responsibility. - Strategies are required to support both BuildUp and TearDown. - - - - - Represents a strategy in the chain of responsibility. - Strategies are required to support both BuildUp and TearDown. Although you - can implement this interface directly, you may also choose to use - as the base class for your strategies, as - this class provides useful helper methods and makes support BuildUp and TearDown - optional. - - - - - Called during the chain of responsibility for a build operation. The - PreBuildUp method is called when the chain is being executed in the - forward direction. - - Context of the build operation. - - - - Called during the chain of responsibility for a build operation. The - PostBuildUp method is called when the chain has finished the PreBuildUp - phase and executes in reverse order from the PreBuildUp calls. - - Context of the build operation. - - - - Called during the chain of responsibility for a teardown operation. The - PreTearDown method is called when the chain is being executed in the - forward direction. - - Context of the teardown operation. - - - - Called during the chain of responsibility for a teardown operation. The - PostTearDown method is called when the chain has finished the PreTearDown - phase and executes in reverse order from the PreTearDown calls. - - Context of the teardown operation. - - - - Called during the chain of responsibility for a build operation. The - PreBuildUp method is called when the chain is being executed in the - forward direction. - - Context of the build operation. - - - - Called during the chain of responsibility for a build operation. The - PostBuildUp method is called when the chain has finished the PreBuildUp - phase and executes in reverse order from the PreBuildUp calls. - - Context of the build operation. - - - - Called during the chain of responsibility for a teardown operation. The - PreTearDown method is called when the chain is being executed in the - forward direction. - - Context of the teardown operation. - - - - Called during the chain of responsibility for a teardown operation. The - PostTearDown method is called when the chain has finished the PreTearDown - phase and executes in reverse order from the PreTearDown calls. - - Context of the teardown operation. - - - - Called during the chain of responsibility for a build operation. The - PreBuildUp method is called when the chain is being executed in the - forward direction. - - Context of the build operation. - - - - A that will attempt to - resolve a value, and return null if it cannot rather than throwing. - - - - - A strategy that is used at build plan execution time - to resolve a dependent value. - - - - - Get the value for a dependency. - - Current build context. - The value for the dependency. - - - - Construct a new object - that will attempt to resolve the given name and type from the container. - - Type to resolve. Must be a reference type. - Name to resolve with. - - - - Construct a new object - that will attempt to resolve the given type from the container. - - Type to resolve. Must be a reference type. - - - - Get the value for a dependency. - - Current build context. - The value for the dependency. - - - - Type this resolver will resolve. - - - - - Name this resolver will resolve. - - - - - Extension methods on to provide convenience - overloads (generic versions, mostly). - - - - - Removes an individual policy type for a build key. - - The type the policy was registered as. - to remove the policy from. - The key the policy applies. - - - - Removes a default policy. - - The type the policy was registered as. - to remove the policy from. - - - - Gets an individual policy. - - The interface the policy is registered under. - to search. - The key the policy applies. - The policy in the list, if present; returns null otherwise. - - - - Gets an individual policy. - - The interface the policy is registered under. - to search. - The key the policy applies. - The policy list that actually contains the returned policy. - The policy in the list, if present; returns null otherwise. - - - - Gets an individual policy. - - to search. - The interface the policy is registered under. - The key the policy applies. - The policy in the list, if present; returns null otherwise. - - - - Gets an individual policy. - - to search. - The interface the policy is registered under. - The key the policy applies. - The policy list that actually contains the returned policy. - The policy in the list, if present; returns null otherwise. - - - - Gets an individual policy. - - The interface the policy is registered under. - to search. - The key the policy applies. - true if the policy searches local only; otherwise false to search up the parent chain. - The policy in the list, if present; returns null otherwise. - - - - Gets an individual policy. - - The interface the policy is registered under. - to search. - The key the policy applies. - true if the policy searches local only; otherwise false to search up the parent chain. - The policy list that actually contains the returned policy. - The policy in the list, if present; returns null otherwise. - - - - Gets an individual policy. - - to search. - The interface the policy is registered under. - The key the policy applies. - true if the policy searches local only; otherwise false to search up the parent chain. - The policy in the list, if present; returns null otherwise. - - - - Get the non default policy. - - The interface the policy is registered under. - to search. - The key the policy applies. - true if the policy searches local only; otherwise false to search up the parent chain. - The policy in the list, if present; returns null otherwise. - - - - Get the non default policy. - - The interface the policy is registered under. - to search. - The key the policy applies. - true if the policy searches local only; otherwise false to search up the parent chain. - The policy list that actually contains the returned policy. - The policy in the list, if present; returns null otherwise. - - - - Get the non default policy. - - to search. - The interface the policy is registered under. - The key the policy applies. - true if the policy searches local only; otherwise false to search up the parent chain. - The policy in the list, if present; returns null otherwise. - - - - Sets an individual policy. - - The interface the policy is registered under. - to add the policy to. - The policy to be registered. - The key the policy applies. - - - - Sets a default policy. When checking for a policy, if no specific individual policy - is available, the default will be used. - - The interface to register the policy under. - to add the policy to. - The default policy to be registered. - - - - Base class for the current operation stored in the build context. - - - - - Create a new . - - Type currently being built. - - - - The type that's currently being built. - - - - - Build plan for that will return a Func that will resolve the requested type - through this container later. - - - - - A build plan is an object that, when invoked, will create a new object - or fill in a given existing one. It encapsulates all the information - gathered by the strategies to construct a particular object. - - - - - Creates an instance of this build plan's type, or fills - in the existing type if passed in. - - Context used to build up the object. - - - - Creates an instance of this build plan's type, or fills - in the existing type if passed in. - - Context used to build up the object. - - - - The almost inevitable collection of extra helper methods on - to augment the rich set of what - LINQ already gives us. - - - - - Execute the provided on every item in . - - Type of the items stored in - Sequence of items to process. - Code to run over each item. - - - - Create a single string from a sequence of items, separated by the provided , - and with the conversion to string done by the given . - - This method does basically the same thing as , - but will work on any sequence of items, not just arrays. - Type of items in the sequence. - Sequence of items to convert. - Separator to place between the items in the string. - The conversion function to change TItem -> string. - The resulting string. - - - - Create a single string from a sequence of items, separated by the provided , - and with the conversion to string done by the item's method. - - This method does basically the same thing as , - but will work on any sequence of items, not just arrays. - Type of items in the sequence. - Sequence of items to convert. - Separator to place between the items in the string. - The resulting string. - - - - A class that lets you - override a named parameter passed to a constructor. - - - - - Construct a new object that will - override the given named constructor parameter, and pass the given - value. - - Name of the constructor parameter. - Value to pass for the constructor. - - - - Return a that can be used to give a value - for the given desired dependency. - - Current build context. - Type of dependency desired. - a object if this override applies, null if not. - - - - A convenience form of that lets you - specify multiple parameter overrides in one shot rather than having - to construct multiple objects. - - - - - When implemented in derived classes, this method is called from the - method to create the actual objects. - - Key value to create the resolver. - Value to store in the resolver. - The created . - - - - A that lets you override - the value for a specified property. - - - - - Create an instance of . - - The property name. - Value to use for the property. - - - - Return a that can be used to give a value - for the given desired dependency. - - Current build context. - Type of dependency desired. - a object if this override applies, null if not. - - - - A convenience form of that lets you - specify multiple property overrides in one shot rather than having - to construct multiple objects. - - - - - When implemented in derived classes, this method is called from the - method to create the actual objects. - - Key value to create the resolver. - Value to store in the resolver. - The created . - - - - Interface defining the configuration interface exposed by the - Static Factory extension. - - - - - Base interface for all extension configuration interfaces. - - - - - Retrieve the container instance that we are currently configuring. - - - - - Register the given factory delegate to be called when the container is - asked to resolve . - - Type that will be requested from the container. - Delegate to invoke to create the instance. - The container extension object this method was invoked on. - - - - Register the given factory delegate to be called when the container is - asked to resolve and . - - Type that will be requested from the container. - The name that will be used when requesting to resolve this type. - Delegate to invoke to create the instance. - The container extension object this method was invoked on. - - - - Represents the context in which a build-up or tear-down operation runs. - - - - - Represents the context in which a build-up or tear-down operation runs. - - - - - Add a new set of resolver override objects to the current build operation. - - objects to add. - - - - Get a object for the given - or null if that dependency hasn't been overridden. - - Type of the dependency. - Resolver to use, or null if no override matches for the current operation. - - - - A convenience method to do a new buildup operation on an existing context. - - Key to use to build up. - Created object. - - - - A convenience method to do a new buildup operation on an existing context. This - overload allows you to specify extra policies which will be in effect for the duration - of the build. - - Key defining what to build up. - A delegate that takes a . This - is invoked with the new child context before the build up process starts. This gives callers - the opportunity to customize the context for the build process. - Created object. - - - - Gets the head of the strategy chain. - - - The strategy that's first in the chain; returns null if there are no - strategies in the chain. - - - - - Gets the associated with the build. - - - The associated with the build. - - - - - Gets the original build key for the build operation. - - - The original build key for the build operation. - - - - - Get the current build key for the current build operation. - - - - - The set of policies that were passed into this context. - - This returns the policies passed into the context. - Policies added here will remain after buildup completes. - The persistent policies for the current context. - - - - Gets the policies for the current context. - - Any policies added to this object are transient - and will be erased at the end of the buildup. - - The policies for the current context. - - - - - Gets the collection of objects - that need to execute in event of an exception. - - - - - The current object being built up or torn down. - - - The current object being manipulated by the build operation. May - be null if the object hasn't been created yet. - - - - Flag indicating if the build operation should continue. - - true means that building should not call any more - strategies, false means continue to the next strategy. - - - - An object representing what is currently being done in the - build chain. Used to report back errors if there's a failure. - - - - - The build context used to resolve a dependency during the build operation represented by this context. - - - - - Initialize a new instance of the class. - - - - - Initialize a new instance of the class with a , - , and the - build key used to start this build operation. - - The to use for this context. - The to use for this context. - The to use for this context. - Build key to start building. - The existing object to build up. - - - - Create a new using the explicitly provided - values. - - The to use for this context. - The to use for this context. - The set of persistent policies to use for this context. - The set of transient policies to use for this context. It is - the caller's responsibility to ensure that the transient and persistent policies are properly - combined. - Build key for this context. - Existing object to build up. - - - - Create a new using the explicitly provided - values. - - The to use for this context. - The to use for this context. - The set of persistent policies to use for this context. - The set of transient policies to use for this context. It is - the caller's responsibility to ensure that the transient and persistent policies are properly - combined. - Build key for this context. - The resolver overrides. - - - - Add a new set of resolver override objects to the current build operation. - - objects to add. - - - - Get a object for the given - or null if that dependency hasn't been overridden. - - Type of the dependency. - Resolver to use, or null if no override matches for the current operation. - - - - A convenience method to do a new buildup operation on an existing context. - - Key to use to build up. - Created object. - - - - A convenience method to do a new buildup operation on an existing context. This - overload allows you to specify extra policies which will be in effect for the duration - of the build. - - Key defining what to build up. - A delegate that takes a . This - is invoked with the new child context before the build up process starts. This gives callers - the opportunity to customize the context for the build process. - Created object. - - - - Gets the head of the strategy chain. - - - The strategy that's first in the chain; returns null if there are no - strategies in the chain. - - - - - Get the current build key for the current build operation. - - - - - The current object being built up or torn down. - - - The current object being manipulated by the build operation. May - be null if the object hasn't been created yet. - - - - Gets the associated with the build. - - - The associated with the build. - - - - - Gets the original build key for the build operation. - - - The original build key for the build operation. - - - - - The set of policies that were passed into this context. - - This returns the policies passed into the context. - Policies added here will remain after buildup completes. - The persistent policies for the current context. - - - - Gets the policies for the current context. - - - Any modifications will be transient (meaning, they will be forgotten when - the outer BuildUp for this context is finished executing). - - - The policies for the current context. - - - - - Gets the collection of objects - that need to execute in event of an exception. - - - - - Flag indicating if the build operation should continue. - - true means that building should not call any more - strategies, false means continue to the next strategy. - - - - An object representing what is currently being done in the - build chain. Used to report back errors if there's a failure. - - - - - The build context used to resolve a dependency during the build operation represented by this context. - - - - - Represents that a dependency could not be resolved. - - - - - Initializes a new instance of the class with no extra information. - - - - - Initializes a new instance of the class with the given message. - - Some random message. - - - - Initialize a new instance of the class with the given - message and inner exception. - - Some random message - Inner exception. - - - - Initializes a new instance of the class with the build key of the object begin built. - - The build key of the object begin built. - - - - The exception thrown when injection is attempted on a method - that is an open generic or has out or ref params. - - - - - Construct a new with no - message. - - - - - Construct a with the given message - - Message to return. - - - - Construct a with the given message - and inner exception. - - Message to return. - Inner exception - - - - Extension methods to provide convenience overloads over the - interface. - - - - - Start a recursive build up operation to retrieve the default - value for the given type. - - Type of object to build. - Parent context. - Resulting object. - - - - Start a recursive build up operation to retrieve the named - implementation for the given type. - - Type to resolve. - Parent context. - Name to resolve with. - The resulting object. - - - - Add a set of s to the context, specified as a - variable argument list. - - Context to add overrides to. - The overrides. - - - - Data structure that stores the set of - objects and executes them when requested. - - - - - Add a new object to this - list. - - Object to add. - - - - Execute the method - of everything in the recovery list. Recoveries will execute - in the opposite order of add - it's a stack. - - - - - Return the number of recovery objects currently in the stack. - - - - - Represents a lifetime container. - - - A lifetime container tracks the lifetime of an object, and implements - IDisposable. When the container is disposed, any objects in the - container which implement IDisposable are also disposed. - - - - - Adds an object to the lifetime container. - - The item to be added to the lifetime container. - - - - Determine if a given object is in the lifetime container. - - - The item to locate in the lifetime container. - - - Returns true if the object is contained in the lifetime - container; returns false otherwise. - - - - - Removes an item from the lifetime container. The item is - not disposed. - - The item to be removed. - - - - Gets the number of references in the lifetime container - - - The number of references in the lifetime container - - - - - Represents a lifetime container. - - - A lifetime container tracks the lifetime of an object, and implements - IDisposable. When the container is disposed, any objects in the - container which implement IDisposable are also disposed. - - - - - Adds an object to the lifetime container. - - The item to be added to the lifetime container. - - - - Determine if a given object is in the lifetime container. - - - The item to locate in the lifetime container. - - - Returns true if the object is contained in the lifetime - container; returns false otherwise. - - - - - Releases the resources used by the . - - - - - Releases the resources used by the . - - - true to release managed and unmanaged resources; false to release only unmanaged resources. - - - - - Returns an enumerator that iterates through the lifetime container. - - - An object that can be used to iterate through the life time container. - - - - - Returns an enumerator that iterates through the lifetime container. - - - An object that can be used to iterate through the life time container. - - - - - Removes an item from the lifetime container. The item is - not disposed. - - The item to be removed. - - - - Gets the number of references in the lifetime container - - - The number of references in the lifetime container - - - - - A custom collection over objects. - - - - - Removes an individual policy type for a build key. - - The type of policy to remove. - The key the policy applies. - - - - Removes all policies from the list. - - - - - Removes a default policy. - - The type the policy was registered as. - - - - Gets an individual policy. - - The interface the policy is registered under. - The key the policy applies. - true if the policy searches local only; otherwise false to search up the parent chain. - The policy list in the chain that the searched for policy was found in, null if the policy was - not found. - The policy in the list, if present; returns null otherwise. - - - - Get the non default policy. - - The interface the policy is registered under. - The key the policy applies to. - True if the search should be in the local policy list only; otherwise false to search up the parent chain. - The policy list in the chain that the searched for policy was found in, null if the policy was - not found. - The policy in the list if present; returns null otherwise. - - - - Sets an individual policy. - - The of the policy. - The policy to be registered. - The key the policy applies. - - - - Sets a default policy. When checking for a policy, if no specific individual policy - is available, the default will be used. - - The interface to register the policy under. - The default policy to be registered. - - - - A custom collection wrapper over objects. - - - - - Initialize a new instance of a class. - - - - - Initialize a new instance of a class with another policy list. - - An inner policy list to search. - - - - Removes an individual policy type for a build key. - - The type of policy to remove. - The key the policy applies. - - - - Removes all policies from the list. - - - - - Removes a default policy. - - The type the policy was registered as. - - - - Gets an individual policy. - - The interface the policy is registered under. - The key the policy applies. - true if the policy searches local only; otherwise false to search up the parent chain. - The policy list in the chain that the searched for policy was found in, null if the policy was - not found. - The policy in the list, if present; returns null otherwise. - - - - Get the non default policy. - - The interface the policy is registered under. - The key the policy applies to. - True if the search should be in the local policy list only; otherwise false to search up the parent chain. - The policy list in the chain that the searched for policy was found in, null if the policy was - not found. - The policy in the list if present; returns null otherwise. - - - - Sets an individual policy. - - The of the policy. - The policy to be registered. - The key the policy applies. - - - - Sets a default policy. When checking for a policy, if no specific individual policy - is available, the default will be used. - - The interface to register the policy under. - The default policy to be registered. - - - - Gets the number of items in the locator. - - - The number of items in the locator. - - - - - An implementation of . - - - - - Add a new object to this - list. - - Object to add. - - - - Execute the method - of everything in the recovery list. Recoveries will execute - in the opposite order of add - it's a stack. - - - - - Return the number of recovery objects currently in the stack. - - - - - Implementation of which will notify an object about - the completion of a BuildUp operation, or start of a TearDown operation. - - - This strategy checks the object that is passing through the builder chain to see if it - implements IBuilderAware and if it does, it will call - and . This strategy is meant to be used from the - stage. - - - - - Called during the chain of responsibility for a build operation. The - PreBuildUp method is called when the chain is being executed in the - forward direction. - - Context of the build operation. - - - - Called during the chain of responsibility for a teardown operation. The - PreTearDown method is called when the chain is being executed in the - forward direction. - - Context of the teardown operation. - - - - Implemented on a class when it wants to receive notifications - about the build process. - - - - - Called by the when the object is being built up. - - The key of the object that was just built up. - - - - Called by the when the object is being torn down. - - - - - Enumeration to represent the object builder stages. - - - The order of the values in the enumeration is the order in which the stages are run. - - - - - Strategies in this stage run before creation. Typical work done in this stage might - include strategies that use reflection to set policies into the context that other - strategies would later use. - - - - - Strategies in this stage create objects. Typically you will only have a single policy-driven - creation strategy in this stage. - - - - - Strategies in this stage work on created objects. Typical work done in this stage might - include setter injection and method calls. - - - - - Strategies in this stage work on objects that are already initialized. Typical work done in - this stage might include looking to see if the object implements some notification interface - to discover when its initialization stage has been completed. - - - - - Represents a builder policy for mapping build keys. - - - - - Represents a builder policy for mapping build keys. - - - - - Maps the build key. - - The build key to map. - Current build context. Used for contextual information - if writing a more sophisticated mapping. This parameter can be null - (called when getting container registrations). - The new build key. - - - - Initialize a new instance of the with the new build key. - - The new build key. - - - - Maps the build key. - - The build key to map. - Current build context. Used for contextual information - if writing a more sophisticated mapping, unused in this implementation. - The new build key. - - - - Represents a strategy for mapping build keys in the build up operation. - - - - - Called during the chain of responsibility for a build operation. Looks for the - and if found maps the build key for the current operation. - - The context for the operation. - - - - An implementation of that can map - generic types. - - - - - Create a new instance - that will map generic types. - - Build key to map to. This must be or contain an open generic type. - - - - Maps the build key. - - The build key to map. - Current build context. Used for contextual information - if writing a more sophisticated mapping. - The new build key. - - - - A that will look for a build plan - in the current context. If it exists, it invokes it, otherwise - it creates one and stores it for later, and invokes it. - - - - - Called during the chain of responsibility for a build operation. - - The context for the operation. - - - - An implementation of that chooses - constructors based on these criteria: first, pick a constructor marked with the - attribute. If there - isn't one, then choose the constructor with the longest parameter list. If that is ambiguous, - then throw. - - Thrown when the constructor to choose is ambiguous. - Attribute used to mark the constructor to call. - - - - Base class that provides an implementation of - which lets you override how the parameter resolvers are created. - - - - - A that, when implemented, - will determine which constructor to call from the build plan. - - - - - Choose the constructor to call for the given type. - - Current build context - The to add any - generated resolver objects into. - The chosen constructor. - - - - Choose the constructor to call for the given type. - - Current build context - The to add any - generated resolver objects into. - The chosen constructor. - - - - Create a instance for the given - . - - Parameter to create the resolver for. - The resolver object. - - - - Compares two objects and returns a value indicating whether one is less than, equal to, or greater than the other. - - The second object to compare. - The first object to compare. - - Value Condition Less than zero is less than y. Zero equals y. Greater than zero is greater than y. - - - - - Create a instance for the given - . - - Parameter to create the resolver for. - The resolver object. - - - - Objects of this type are the return value from . - It encapsulates the desired with the string keys - needed to look up the for each - parameter. - - - - - Base class for return values from selector policies that - return a MemberInfo of some sort plus a list of parameter - keys to look up the parameter resolvers. - - - - - Base class for return of selector policies that need - to keep track of a set of parameter resolvers. - - - - - Adds the parameter resolver. Resolvers are assumed - to be in the order of the parameters to the member. - - The new resolver. - - - - Gets the parameter resolvers. - - An array with the parameter resolvers. - - - - Construct a new , storing - the given member info. - - Member info to store. - - - - The member info stored. - - - - - Create a new instance which - contains the given constructor. - - The constructor to wrap. - - - - The constructor this object wraps. - - - - - This class records the information about which constructor argument is currently - being resolved, and is responsible for generating the error string required when - an error has occurred. - - - - - Initializes a new instance of the class. - - The type that is being constructed. - A string representing the constructor being called. - Parameter being resolved. - - - - Generate the string describing what parameter was being resolved. - - The description string. - - - - String describing the constructor being set up. - - - - - Parameter that's being resolved. - - - - - A that emits IL to call constructors - as part of creating a build plan. - - - - - Called during the chain of responsibility for a build operation. - - Existing object is an instance of . - The context for the operation. - - - - A helper method used by the generated IL to set up a PerResolveLifetimeManager lifetime manager - if the current object is such. - - Current build context. - - - - Build up the string that will represent the constructor signature - in any exception message. - - - - - - - A helper method used by the generated IL to store the current operation in the build context. - - - - - A helper method used by the generated IL to store the current operation in the build context. - - - - - A helper method used by the generated IL to throw an exception if - no existing object is present, but the user is attempting to build - an interface (usually due to the lack of a type mapping). - - The currently being - used for the build of this object. - - - - A helper method used by the generated IL to throw an exception if - no existing object is present, but the user is attempting to build - an abstract class (usually due to the lack of a type mapping). - - The currently being - used for the build of this object. - - - - A helper method used by the generated IL to throw an exception if - no existing object is present, but the user is attempting to build - an delegate other than Func{T} or Func{IEnumerable{T}}. - - The currently being - used for the build of this object. - - - - A helper method used by the generated IL to throw an exception if - a dependency cannot be resolved. - - The currently being - used for the build of this object. - - - - A helper method used by the generated IL to throw an exception if - a dependency cannot be resolved because of an invalid constructor. - - The currently being - used for the build of this object. - The signature of the invalid constructor. - - - - A class that records that a constructor is about to be call, and is - responsible for generating the error string required when - an error has occurred. - - - - - Initializes a new instance of the class. - - - - - Generate the description string. - - The string. - - - - Constructor we're trying to call. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Helper method used by generated IL to look up a dependency resolver based on the given key. - - Current build context. - Type of the dependency being resolved. - Key the resolver was stored under. - The found dependency resolver. - - - - Helper method used by generated IL to look up a dependency resolver based on the given key. - - Current build context. - Type of the dependency being resolved. - The configured resolver. - The found dependency resolver. - - - - The type that is to be built with the dynamic build plan. - - - - - The context parameter representing the used when the build plan is executed. - - - - - - - - - - - - - - - - - - - - - - - - - - - - An implementation - that constructs a build plan via dynamic IL emission. - - - - - Construct a that - uses the given strategy chain to construct the build plan. - - The strategy chain. - - - - Construct a build plan. - - The current build context. - The current build key. - The created build plan. - - - - A class that records that a constructor is about to be call, and is - responsible for generating the error string required when - an error has occurred. - - - - - Initializes a new instance of the class. - - - - - Generate the description string. - - The string. - - - - Method we're trying to call. - - - - - This class records the information about which constructor argument is currently - being resolved, and is responsible for generating the error string required when - an error has occurred. - - - - - Initializes a new instance of the class. - - The type that is being constructed. - A string representing the method being called. - Parameter being resolved. - - - - Generate the string describing what parameter was being resolved. - - The description string. - - - - String describing the method being set up. - - - - - Parameter that's being resolved. - - - - - A that generates IL to call - chosen methods (as specified by the current ) - as part of object build up. - - - - - Called during the chain of responsibility for a build operation. The - PreBuildUp method is called when the chain is being executed in the - forward direction. - - Context of the build operation. - - - - A helper method used by the generated IL to store the current operation in the build context. - - - - - A helper method used by the generated IL to store the current operation in the build context. - - - - - A base class that holds the information shared by all operations - performed by the container while setting properties. - - - - - Initializes a new instance of the class. - - - - - Generate the description of this operation. - - The string. - - - - Get a format string used to create the description. Called by - the base method. - - The format string. - - - - The property value currently being resolved. - - - - - This class records the information about which property value is currently - being resolved, and is responsible for generating the error string required when - an error has occurred. - - - - - Initializes a new instance of the class. - - - - - Get a format string used to create the description. Called by - the base method. - - The format string. - - - - A that generates IL to resolve properties - on an object being built. - - - - - Called during the chain of responsibility for a build operation. - - The context for the operation. - - - - A helper method used by the generated IL to store the current operation in the build context. - - - - - A helper method used by the generated IL to store the current operation in the build context. - - - - - This class records the information about which property value is currently - being set, and is responsible for generating the error string required when - an error has occurred. - - - - - Initializes a new instance of the class. - - Type property is on. - Name of property being set. - - - - Get a format string used to create the description. Called by - the base method. - - The format string. - - - - Creates an instance of this build plan's type, or fills - in the existing type if passed in. - - Context used to build up the object. - - - - An that will examine the given - types and return a sequence of objects - that should be called as part of building the object. - - - - - Return the sequence of methods to call while building the target object. - - Current build context. - The to add any - generated resolver objects into. - Sequence of methods to call. - - - - An implementation of that selects - methods by looking for the given - attribute on those methods. - - Type of attribute used to mark methods - to inject. - - - - Base class that provides an implementation of - which lets you override how the parameter resolvers are created. - - Attribute that marks methods that should - be called. - - - - Return the sequence of methods to call while building the target object. - - Current build context. - The to add any - generated resolver objects into. - Sequence of methods to call. - - - - Create a instance for the given - . - - Parameter to create the resolver for. - The resolver object. - - - - Create a instance for the given - . - - Parameter to create the resolver for. - The resolver object. - - - - Objects of this type are the return value from . - It encapsulates the desired with the string keys - needed to look up the for each - parameter. - - - - - Create a new instance which - contains the given method. - - The method - - - - The constructor this object wraps. - - - - - An that returns a sequence - of properties that should be injected for the given type. - - - - - Returns sequence of properties on the given type that - should be set as part of building that object. - - Current build context. - The to add any - generated resolver objects into. - Sequence of objects - that contain the properties to set. - - - - Base class that provides an implementation of - which lets you override how the parameter resolvers are created. - - - - - Returns sequence of properties on the given type that - should be set as part of building that object. - - Current build context. - The to add any - generated resolver objects into. - Sequence of objects - that contain the properties to set. - - - - Create a for the given - property. - - Property to create resolver for. - The resolver object. - - - - An implementation of that looks - for properties marked with the - attribute that are also settable and not indexers. - - - - - - Create a for the given - property. - - Property to create resolver for. - The resolver object. - - - - Objects of this type are returned from - . - This class combines the about - the property with the string key used to look up the resolver - for this property's value. - - - - - Create an instance of - with the given and key. - - The property. - - - - - PropertyInfo for this property. - - - - - IDependencyResolverPolicy for this property - - - - - Implementation of . - - - - - A builder policy that lets you keep track of the current - resolvers and will remove them from the given policy set. - - - - - Add a new resolver to track by key. - - Key that was used to add the resolver to the policy set. - - - - Remove the currently tracked resolvers from the given policy list. - - Policy list to remove the resolvers from. - - - - Add a new resolver to track by key. - - Key that was used to add the resolver to the policy set. - - - - Remove the currently tracked resolvers from the given policy list. - - Policy list to remove the resolvers from. - - - - Get an instance that implements , - either the current one in the policy set or creating a new one if it doesn't - exist. - - Policy list to look up from. - Build key to track. - The resolver tracker. - - - - Add a key to be tracked to the current tracker. - - Policy list containing the resolvers and trackers. - Build key for the resolvers being tracked. - Key for the resolver. - - - - Remove the resolvers for the given build key. - - Policy list containing the build key. - Build key. - - - - An implementation of that - calls back into the build chain to build up the dependency, passing - a type given at compile time as its build key. - - - - - Create a new instance storing the given type. - - Type to resolve. - - - - Get the value for a dependency. - - Current build context. - The value for the dependency. - - - - This interface defines a standard method to convert any regardless - of the stage enum into a regular, flat strategy chain. - - - - - Convert this into - a flat . - - The flattened . - - - - Represents a chain of responsibility for builder strategies. - - - - - Reverse the order of the strategy chain. - - The reversed strategy chain. - - - - Execute this strategy chain against the given context, - calling the Buildup methods on the strategies. - - Context for the build process. - The build up object - - - - Execute this strategy chain against the given context, - calling the TearDown methods on the strategies. - - Context for the teardown process. - - - - A builder policy used to create lifetime policy instances. - Used by the LifetimeStrategy when instantiating open - generic types. - - - - - Create a new instance of . - - The new instance. - - - - The type of Lifetime manager that will be created by this factory. - - - - - An implementation that uses - a to figure out if an object - has already been created and to update or remove that - object from some backing store. - - - - - Called during the chain of responsibility for a build operation. The - PreBuildUp method is called when the chain is being executed in the - forward direction. - - Context of the build operation. - - - - Called during the chain of responsibility for a build operation. The - PostBuildUp method is called when the chain has finished the PreBuildUp - phase and executes in reverse order from the PreBuildUp calls. - - Context of the build operation. - - - - Represents a chain of responsibility for builder strategies partitioned by stages. - - The stage enumeration to partition the strategies. - - - - Initialize a new instance of the class. - - - - - Initialize a new instance of the class with an inner strategy chain to use when building. - - The inner strategy chain to use first when finding strategies in the build operation. - - - - Adds a strategy to the chain at a particular stage. - - The strategy to add to the chain. - The stage to add the strategy. - - - - Add a new strategy for the . - - The of - The stage to add the strategy. - - - - Clear the current strategy chain list. - - - This will not clear the inner strategy chain if this instance was created with one. - - - - - Makes a strategy chain based on this instance. - - A new . - - - - Represents a chain of responsibility for builder strategies. - - - - - Initialize a new instance of the class. - - - - - Initialize a new instance of the class with a collection of strategies. - - A collection of strategies to initialize the chain. - - - - Adds a strategy to the chain. - - The strategy to add to the chain. - - - - Adds strategies to the chain. - - The strategies to add to the chain. - - - - Reverse the order of the strategy chain. - - The reversed strategy chain. - - - - Execute this strategy chain against the given context to build up. - - Context for the build processes. - The build up object - - - - Execute this strategy chain against the given context, - calling the TearDown methods on the strategies. - - Context for the teardown process. - - - - Returns an enumerator that iterates through the collection. - - - - A that can be used to iterate through the collection. - - - - - Returns an enumerator that iterates through a collection. - - - - An object that can be used to iterate through the collection. - - - - - Build key used to combine a type object with a string name. Used by - ObjectBuilder to indicate exactly what is being built. - - - - - Create a new instance with the given - type and name. - - to build. - Key to use to look up type mappings and singletons. - - - - Create a new instance for the default - buildup of the given type. - - to build. - - - - This helper method creates a new instance. It is - initialized for the default key for the given type. - - Type to build. - A new instance. - - - - This helper method creates a new instance for - the given type and key. - - Type to build - Key to use to look up type mappings and singletons. - A new instance initialized with the given type and name. - - - - Compare two instances. - - Two instances compare equal - if they contain the same name and the same type. Also, comparing - against a different type will also return false. - Object to compare to. - True if the two keys are equal, false if not. - - - - Calculate a hash code for this instance. - - A hash code. - - - - Compare two instances for equality. - - Two instances compare equal - if they contain the same name and the same type. - First of the two keys to compare. - Second of the two keys to compare. - True if the values of the keys are the same, else false. - - - - Compare two instances for inequality. - - Two instances compare equal - if they contain the same name and the same type. If either field differs - the keys are not equal. - First of the two keys to compare. - Second of the two keys to compare. - false if the values of the keys are the same, else true. - - - - Formats the build key as a string (primarily for debugging). - - A readable string representation of the build key. - - - - Return the stored in this build key. - - The type to build. - - - - Returns the name stored in this build key. - - The name to use when building. - - - - A generic version of so that - you can new up a key using generic syntax. - - Type for the key. - - - - Construct a new that - specifies the given type. - - - - - Construct a new that - specifies the given type and name. - - Name for the key. - - - - A series of helper methods to deal with sequences - - objects that implement . - - - - - A function that turns an arbitrary parameter list into an - . - - Type of arguments. - The items to put into the collection. - An array that contains the values of the . - - - - Given two sequences, return a new sequence containing the corresponding values - from each one. - - Type of first sequence. - Type of second sequence. - First sequence of items. - Second sequence of items. - New sequence of pairs. This sequence ends when the shorter of sequence1 and sequence2 does. - - - - A that lets you register a - delegate with the container to create an object, rather than calling - the object's constructor. - - - - - Base class for all extension objects. - - - - - The container calls this method when the extension is added. - - A instance that gives the - extension access to the internals of the container. - - - - Initial the container with this extension's functionality. - - - When overridden in a derived class, this method will modify the given - by adding strategies, policies, etc. to - install it's functions into the container. - - - - Removes the extension's functions from the container. - - - - This method is called when extensions are being removed from the container. It can be - used to do things like disconnect event handlers or clean up member state. You do not - need to remove strategies or policies here; the container will do that automatically. - - - The default implementation of this method does nothing. - - - - - The container this extension has been added to. - - The that this extension has been added to. - - - - The object used to manipulate - the inner state of the container. - - - - - Initialize this extension. This particular extension requires no - initialization work. - - - - - Register the given factory delegate to be called when the container is - asked to resolve and . - - Type that will be requested from the container. - The name that will be used when requesting to resolve this type. - Delegate to invoke to create the instance. - The container extension object this method was invoked on. - - - - Register the given factory delegate to be called when the container is - asked to resolve . - - Type that will be requested from the container. - Delegate to invoke to create the instance. - The container extension object this method was invoked on. - - - - An implementation of that - acts as a decorator over another . - This checks to see if the current type being built is the - right one before checking the inner . - - - - - Create an instance of - - Type to check for. - Inner override to check after type matches. - - - - Return a that can be used to give a value - for the given desired dependency. - - Current build context. - Type of dependency desired. - a object if this override applies, null if not. - - - - A convenience version of that lets you - specify the type to construct via generics syntax. - - Type to check for. - - - - Create an instance of . - - Inner override to check after type matches. - - - - Extension class that adds a set of convenience overloads to the - interface. - - - - - Register a type with specific members to be injected. - - Type this registration is for. - Container to configure. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a type mapping with the container. - - - - This method is used to tell the container that when asked for type , - actually return an instance of type . This is very useful for - getting instances of interfaces. - - - This overload registers a default mapping and transient lifetime. - - - that will be requested. - that will actually be returned. - Container to configure. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a type mapping with the container, where the created instances will use - the given . - - that will be requested. - that will actually be returned. - Container to configure. - The that controls the lifetime - of the returned instance. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a type mapping with the container. - - - This method is used to tell the container that when asked for type , - actually return an instance of type . This is very useful for - getting instances of interfaces. - - that will be requested. - that will actually be returned. - Container to configure. - Name of this mapping. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a type mapping with the container, where the created instances will use - the given . - - that will be requested. - that will actually be returned. - Container to configure. - Name to use for registration, null if a default registration. - The that controls the lifetime - of the returned instance. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a for the given type with the container. - No type mapping is performed for this type. - - The type to apply the to. - Container to configure. - The that controls the lifetime - of the returned instance. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a for the given type with the container. - No type mapping is performed for this type. - - The type to configure injection on. - Container to configure. - Name that will be used to request the type. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a for the given type and name with the container. - No type mapping is performed for this type. - - The type to apply the to. - Container to configure. - Name that will be used to request the type. - The that controls the lifetime - of the returned instance. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a type with specific members to be injected. - - Container to configure. - Type this registration is for. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a type mapping with the container. - - - - This method is used to tell the container that when asked for type , - actually return an instance of type . This is very useful for - getting instances of interfaces. - - - This overload registers a default mapping. - - - Container to configure. - that will be requested. - that will actually be returned. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a type mapping with the container. - - - This method is used to tell the container that when asked for type , - actually return an instance of type . This is very useful for - getting instances of interfaces. - - Container to configure. - that will be requested. - that will actually be returned. - Name to use for registration, null if a default registration. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a type mapping with the container, where the created instances will use - the given . - - Container to configure. - that will be requested. - that will actually be returned. - The that controls the lifetime - of the returned instance. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a for the given type and name with the container. - No type mapping is performed for this type. - - Container to configure. - The to apply the to. - The that controls the lifetime - of the returned instance. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a for the given type and name with the container. - No type mapping is performed for this type. - - Container to configure. - The to configure in the container. - Name to use for registration, null if a default registration. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a for the given type and name with the container. - No type mapping is performed for this type. - - Container to configure. - The to apply the to. - Name to use for registration, null if a default registration. - The that controls the lifetime - of the returned instance. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register an instance with the container. - - - - Instance registration is much like setting a type as a singleton, except that instead - of the container creating the instance the first time it is requested, the user - creates the instance ahead of type and adds that instance to the container. - - - This overload does a default registration and has the container take over the lifetime of the instance. - - Type of instance to register (may be an implemented interface instead of the full type). - Container to configure. - Object to returned. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register an instance with the container. - - - - Instance registration is much like setting a type as a singleton, except that instead - of the container creating the instance the first time it is requested, the user - creates the instance ahead of type and adds that instance to the container. - - - This overload does a default registration (name = null). - - - Type of instance to register (may be an implemented interface instead of the full type). - Container to configure. - Object to returned. - - object that controls how this instance will be managed by the container. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register an instance with the container. - - - - Instance registration is much like setting a type as a singleton, except that instead - of the container creating the instance the first time it is requested, the user - creates the instance ahead of type and adds that instance to the container. - - - This overload automatically has the container take ownership of the . - - Type of instance to register (may be an implemented interface instead of the full type). - Object to returned. - Container to configure. - Name for registration. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register an instance with the container. - - - - Instance registration is much like setting a type as a singleton, except that instead - of the container creating the instance the first time it is requested, the user - creates the instance ahead of type and adds that instance to the container. - - - Type of instance to register (may be an implemented interface instead of the full type). - Object to returned. - Container to configure. - Name for registration. - - object that controls how this instance will be managed by the container. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register an instance with the container. - - - - Instance registration is much like setting a type as a singleton, except that instead - of the container creating the instance the first time it is requested, the user - creates the instance ahead of type and adds that instance to the container. - - - This overload does a default registration and has the container take over the lifetime of the instance. - - Container to configure. - Type of instance to register (may be an implemented interface instead of the full type). - Object to returned. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register an instance with the container. - - - - Instance registration is much like setting a type as a singleton, except that instead - of the container creating the instance the first time it is requested, the user - creates the instance ahead of type and adds that instance to the container. - - - This overload does a default registration (name = null). - - - Container to configure. - Type of instance to register (may be an implemented interface instead of the full type). - Object to returned. - - object that controls how this instance will be managed by the container. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register an instance with the container. - - - - Instance registration is much like setting a type as a singleton, except that instead - of the container creating the instance the first time it is requested, the user - creates the instance ahead of type and adds that instance to the container. - - - This overload automatically has the container take ownership of the . - - Container to configure. - Type of instance to register (may be an implemented interface instead of the full type). - Object to returned. - Name for registration. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Resolve an instance of the default requested type from the container. - - of object to get from the container. - Container to resolve from. - Any overrides for the resolve call. - The retrieved object. - - - - Resolve an instance of the requested type with the given name from the container. - - of object to get from the container. - Container to resolve from. - Name of the object to retrieve. - Any overrides for the resolve call. - The retrieved object. - - - - Resolve an instance of the default requested type from the container. - - Container to resolve from. - of object to get from the container. - Any overrides for the resolve call. - The retrieved object. - - - - Return instances of all registered types requested. - - - - This method is useful if you've registered multiple types with the same - but different names. - - - Be aware that this method does NOT return an instance for the default (unnamed) registration. - - - The type requested. - Container to resolve from. - Any overrides for the resolve calls. - Set of objects of type . - - - - Run an existing object through the container and perform injection on it. - - - - This method is useful when you don't control the construction of an - instance (ASP.NET pages or objects created via XAML, for instance) - but you still want properties and other injection performed. - - - This overload uses the default registrations. - - - of object to perform injection on. - Container to resolve through. - Instance to build up. - Any overrides for the buildup. - The resulting object. By default, this will be , but - container extensions may add things like automatic proxy creation which would - cause this to return a different object (but still type compatible with ). - - - - Run an existing object through the container and perform injection on it. - - - - This method is useful when you don't control the construction of an - instance (ASP.NET pages or objects created via XAML, for instance) - but you still want properties and other injection performed. - - of object to perform injection on. - Container to resolve through. - Instance to build up. - name to use when looking up the typemappings and other configurations. - Any overrides for the Buildup. - The resulting object. By default, this will be , but - container extensions may add things like automatic proxy creation which would - cause this to return a different object (but still type compatible with ). - - - - Run an existing object through the container and perform injection on it. - - - - This method is useful when you don't control the construction of an - instance (ASP.NET pages or objects created via XAML, for instance) - but you still want properties and other injection performed. - - - This overload uses the default registrations. - - - Container to resolve through. - of object to perform injection on. - Instance to build up. - Any overrides for the Buildup. - The resulting object. By default, this will be , but - container extensions may add things like automatic proxy creation which would - cause this to return a different object (but still type compatible with ). - - - - Creates a new extension object and adds it to the container. - - Type of to add. The extension type - will be resolved from within the supplied . - Container to add the extension to. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Resolve access to a configuration interface exposed by an extension. - - Extensions can expose configuration interfaces as well as adding - strategies and policies to the container. This method walks the list of - added extensions and returns the first one that implements the requested type. - - The configuration interface required. - Container to configure. - The requested extension's configuration interface, or null if not found. - - - - Check if a particular type has been registered with the container with - the default name. - - Container to inspect. - Type to check registration for. - True if this type has been registered, false if not. - - - - Check if a particular type/name pair has been registered with the container. - - Container to inspect. - Type to check registration for. - Name to check registration for. - True if this type/name pair has been registered, false if not. - - - - Check if a particular type has been registered with the container with the default name. - - Type to check registration for. - Container to inspect. - True if this type has been registered, false if not. - - - - Check if a particular type/name pair has been registered with the container. - - Type to check registration for. - Container to inspect. - Name to check registration for. - True if this type/name pair has been registered, false if not. - - - - The class provides the means for extension objects - to manipulate the internal state of the . - - - - - Store a type/name pair for later resolution. - - - - When users register type mappings (or other things) with a named key, this method - allows you to register that name with the container so that when the - method is called, that name is included in the list that is returned. - - to register. - Name associated with that type. - - - - The container that this context is associated with. - - The object. - - - - The strategies this container uses. - - The that the container uses to build objects. - - - - The strategies this container uses to construct build plans. - - The that this container uses when creating - build plans. - - - - The policies this container uses. - - The the that container uses to build objects. - - - - The that this container uses. - - The is used to manage objects that the container is managing. - - - - This event is raised when the method, - or one of its overloads, is called. - - - - - This event is raised when the method, - or one of its overloads, is called. - - - - - This event is raised when the method is called, providing - the newly created child container to extensions to act on as they see fit. - - - - - An EventArgs class that holds a string Name. - - - - - Create a new with a null name. - - - - - Create a new with the given name. - - Name to store. - - - - The name. - - Name used for this EventArg object. - - - - Event argument class for the event. - - - - - Create a new instance of . - - Type to map from. - Type to map to. - Name for the registration. - to manage instances. - - - - Type to map from. - - - - - Type to map to. - - - - - to manage instances. - - - - - Event argument class for the event. - - - - - Create a default instance. - - - - - Create a instance initialized with the given arguments. - - Type of instance being registered. - The instance object itself. - Name to register under, null if default registration. - object that handles how - the instance will be owned. - - - - Type of instance being registered. - - - Type of instance being registered. - - - - - Instance object being registered. - - Instance object being registered - - - - that controls ownership of - this instance. - - - - - A that lets you specify that - an instance of a generic type parameter should be resolved. - - - - - Create a new instance that specifies - that the given named generic parameter should be resolved. - - The generic parameter name to resolve. - - - - Create a new instance that specifies - that the given named generic parameter should be resolved. - - The generic parameter name to resolve. - name to use when looking up in the container. - - - - Return a instance that will - return this types value for the parameter. - - The actual type to resolve. - The resolution key. - The . - - - - A that lets you specify that - an array containing the registered instances of a generic type parameter - should be resolved. - - - - - Create a new instance that specifies - that the given named generic parameter should be resolved. - - The generic parameter name to resolve. - The values for the elements, that will - be converted to objects. - - - - Test to see if this parameter value has a matching type for the given type. - - Type to check. - True if this parameter value is compatible with type , - false if not. - A type is considered compatible if it is an array type of rank one - and its element type is a generic type parameter with a name matching this generic - parameter name configured for the receiver. - - - - Return a instance that will - return this types value for the parameter. - - Type that contains the member that needs this parameter. Used - to resolve open generic parameters. - The . - - - - Name for the type represented by this . - This may be an actual type name or a generic argument name. - - - - - A Unity container extension that allows you to configure - which constructors, properties, and methods get injected - via an API rather than through attributes. - - - - - Initial the container with this extension's functionality. - - - When overridden in a derived class, this method will modify the given - by adding strategies, policies, etc. to - install it's functions into the container. - - - - API to configure the injection settings for a particular type. - - Type the injection is being configured for. - Objects containing the details on which members to inject and how. - This extension object. - - - - API to configure the injection settings for a particular type/name pair. - - Type the injection is being configured for. - Name of registration - Objects containing the details on which members to inject and how. - This extension object. - - - - API to configure the injection settings for a particular type. - - Type to configure. - Objects containing the details on which members to inject and how. - This extension object. - - - - API to configure the injection settings for a particular type/name pair. - - Type to configure. - Name of registration. - Objects containing the details on which members to inject and how. - This extension object. - - - - API to configure the injection settings for a particular type/name pair. - - Type of interface/base class being registered (may be null). - Type of actual implementation class being registered. - Name of registration. - Objects containing the details on which members to inject and how. - This extension object. - - - - A class that holds the collection of information - for a constructor, so that the container can - be configured to call this constructor. - - - - - Create a new instance of that looks - for a constructor with the given set of parameters. - - The values for the parameters, that will - be converted to objects. - - - - Add policies to the to configure the - container to call this constructor with the appropriate parameter values. - - Interface registered, ignored in this implementation. - Type to register. - Name used to resolve the type object. - Policy list to add policies to. - - - - An that configures the - container to call a method as part of buildup. - - - - - Create a new instance which will configure - the container to call the given methods with the given parameters. - - Name of the method to call. - Parameter values for the method. - - - - Add policies to the to configure the - container to call this constructor with the appropriate parameter values. - - Type of interface registered, ignored in this implementation. - Type to register. - Name used to resolve the type object. - Policy list to add policies to. - - - - A small function to handle name matching. You can override this - to do things like case insensitive comparisons. - - MethodInfo for the method you're checking. - Name of the method you're looking for. - True if a match, false if not. - - - - A class that holds on to the given value and provides - the required - when the container is configured. - - - - - Create an instance of that stores - the given value, using the runtime type of that value as the - type of the parameter. - - Value to be injected for this parameter. - - - - Create an instance of that stores - the given value, associated with the given type. - - Type of the parameter. - Value of the parameter - - - - Return a instance that will - return this types value for the parameter. - - Type that contains the member that needs this parameter. Used - to resolve open generic parameters. - The . - - - - A generic version of that makes it a - little easier to specify the type of the parameter. - - Type of parameter. - - - - Create a new . - - Value for the parameter. - - - - This class stores information about which properties to inject, - and will configure the container accordingly. - - - - - Configure the container to inject the given property name, - resolving the value via the container. - - Name of the property to inject. - - - - Configure the container to inject the given property name, - using the value supplied. This value is converted to an - object using the - rules defined by the - method. - - Name of property to inject. - Value for property. - - - - Add policies to the to configure the - container to call this constructor with the appropriate parameter values. - - Interface being registered, ignored in this implementation. - Type to register. - Name used to resolve the type object. - Policy list to add policies to. - - - - A class that stores a type, and generates a - resolver object that resolves all the named instances or the - type registered in a container. - - - - - Construct a new that - resolves to the given element type and collection of element values. - - The type of elements to resolve. - The values for the elements, that will - be converted to objects. - - - - Construct a new that - resolves to the given array and element types and collection of element values. - - The type for the array of elements to resolve. - The type of elements to resolve. - The values for the elements, that will - be converted to objects. - - - - Return a instance that will - return this types value for the parameter. - - Type that contains the member that needs this parameter. Used - to resolve open generic parameters. - The . - - - - A generic version of for convenience - when creating them by hand. - - Type of the elements for the array of the parameter. - - - - Construct a new that - resolves to the given element generic type with the given element values. - - The values for the elements, that will - be converted to objects. - - - - Interface defining the behavior of the Unity dependency injection container. - - - - - Register a type mapping with the container, where the created instances will use - the given . - - that will be requested. - that will actually be returned. - Name to use for registration, null if a default registration. - The that controls the lifetime - of the returned instance. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register an instance with the container. - - - - Instance registration is much like setting a type as a singleton, except that instead - of the container creating the instance the first time it is requested, the user - creates the instance ahead of type and adds that instance to the container. - - - Type of instance to register (may be an implemented interface instead of the full type). - Object to returned. - Name for registration. - - object that controls how this instance will be managed by the container. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Resolve an instance of the requested type with the given name from the container. - - of object to get from the container. - Name of the object to retrieve. - Any overrides for the resolve call. - The retrieved object. - - - - Return instances of all registered types requested. - - - - This method is useful if you've registered multiple types with the same - but different names. - - - Be aware that this method does NOT return an instance for the default (unnamed) registration. - - - The type requested. - Any overrides for the resolve calls. - Set of objects of type . - - - - Run an existing object through the container and perform injection on it. - - - - This method is useful when you don't control the construction of an - instance (ASP.NET pages or objects created via XAML, for instance) - but you still want properties and other injection performed. - - of object to perform injection on. - Instance to build up. - name to use when looking up the TypeMappings and other configurations. - Any overrides for the resolve calls. - The resulting object. By default, this will be , but - container extensions may add things like automatic proxy creation which would - cause this to return a different object (but still type compatible with ). - - - - Run an existing object through the container, and clean it up. - - The object to tear down. - - - - Add an extension object to the container. - - to add. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Resolve access to a configuration interface exposed by an extension. - - Extensions can expose configuration interfaces as well as adding - strategies and policies to the container. This method walks the list of - added extensions and returns the first one that implements the requested type. - - of configuration interface required. - The requested extension's configuration interface, or null if not found. - - - - Remove all installed extensions from this container. - - - - This method removes all extensions from the container, including the default ones - that implement the out-of-the-box behavior. After this method, if you want to use - the container again you will need to either read the default extensions or replace - them with your own. - - - The registered instances and singletons that have already been set up in this container - do not get removed. - - - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Create a child container. - - - A child container shares the parent's configuration, but can be configured with different - settings or lifetime. - The new child container. - - - - The parent of this container. - - The parent container, or null if this container doesn't have one. - - - - Get a sequence of that describe the current state - of the container. - - - - - A that holds a weak reference to - it's managed instance. - - - - - Retrieve a value from the backing store associated with this Lifetime policy. - - the object desired, or null if no such object is currently stored. - - - - Stores the given value into backing store for retrieval later. - - The object being stored. - - - - Remove the given object from backing store. - - - - - An implementation of that - creates instances of the type of the given Lifetime Manager - by resolving them through the container. - - - - - Create a new that will - return instances of the given type, creating them by - resolving through the container. - - Container to resolve with. - Type of LifetimeManager to create. - - - - Create a new instance of . - - The new instance. - - - - The type of Lifetime manager that will be created by this factory. - - - - - A that holds the instances given to it, - keeping one instance per thread. - - - - This LifetimeManager does not dispose the instances it holds. - - - - - - Initializes a new instance of the class. - - - - - Retrieve a value from the backing store associated with this Lifetime policy for the - current thread. - - the object desired, or if no such object is currently - stored for the current thread. - - - - Stores the given value into backing store for retrieval later when requested - in the current thread. - - The object being stored. - - - - Remove the given object from backing store. - - Not implemented for this lifetime manager. - - - - An implementation that does nothing, - thus ensuring that instances are created new every time. - - - - - Retrieve a value from the backing store associated with this Lifetime policy. - - the object desired, or null if no such object is currently stored. - - - - Stores the given value into backing store for retrieval later. - - The object being stored. - - - - Remove the given object from backing store. - - - - - This strategy implements the logic that will call container.ResolveAll - when an array parameter is detected. - - - - - Do the PreBuildUp stage of construction. This is where the actual work is performed. - - Current build context. - - - - An implementation of that is - aware of the build keys used by the Unity container. - - - - - Create a instance for the given - . - - - This implementation looks for the Unity on the - parameter and uses it to create an instance of - for this parameter. - Parameter to create the resolver for. - The resolver object. - - - - An implementation of that is aware - of the build keys used by the Unity container. - - - - - Create a instance for the given - . - - Parameter to create the resolver for. - The resolver object. - - - - An implementation of that is aware of - the build keys used by the unity container. - - - - - Create a for the given - property. - - Property to create resolver for. - The resolver object. - - - - A implementation that returns - the value set in the constructor. - - - - - Create a new instance of - which will return the given value when resolved. - - The value to return. - - - - Get the value for a dependency. - - Current build context. - The value for the dependency. - - - - An implementation of that stores a - type and name, and at resolution time puts them together into a - . - - - - - Create an instance of - with the given type and name. - - The type. - The name (may be null). - - - - Resolve the value for a dependency. - - Current build context. - The value for the dependency. - - - - The type that this resolver resolves. - - - - - The name that this resolver resolves. - - - - - An implementation of that resolves to - to an array populated with the values that result from resolving other instances - of . - - - - - Create an instance of - with the given type and a collection of - instances to use when populating the result. - - The type. - The resolver policies to use when populating an array. - - - - Resolve the value for a dependency. - - Current build context. - An array populated with the results of resolving the resolver policies. - - - - An implementation of that selects - the given constructor and creates the appropriate resolvers to call it with - the specified parameters. - - - - - Create an instance of that - will return the given constructor, being passed the given injection values - as parameters. - - The constructor to call. - Set of objects - that describes how to obtain the values for the constructor parameters. - - - - Choose the constructor to call for the given type. - - Current build context - The to add any - generated resolver objects into. - The chosen constructor. - - - - Helper class for implementing selector policies that need to - set up dependency resolver policies. - - - - - Add dependency resolvers to the parameter set. - - Type that's currently being built (used to resolve open generics). - PolicyList to add the resolvers to. - Objects supplying the dependency resolvers. - Result object to store the keys in. - - - - A implementation that calls the specific - methods with the given parameters. - - - - - Add the given method and parameter collection to the list of methods - that will be returned when the selector's - method is called. - - Method to call. - sequence of objects - that describe how to create the method parameter values. - - - - Return the sequence of methods to call while building the target object. - - Current build context. - The to add any - generated resolver objects into. - Sequence of methods to call. - - - - An implementation of which returns - the set of specific properties that the selector was configured with. - - - - - Add a property that will be par of the set returned when the - is called. - - The property to set. - object describing - how to create the value to inject. - - - - Returns sequence of properties on the given type that - should be set as part of building that object. - - Current build context. - The to add any - generated resolver objects into. - Sequence of objects - that contain the properties to set. - - - - The exception thrown by the Unity container when - an attempt to resolve a dependency fails. - - - - - Create a new that records - the exception for the given type and name. - - Type requested from the container. - Name requested from the container. - The actual exception that caused the failure of the build. - The build context representing the failed operation. - - - - The type that was being requested from the container at the time of failure. - - - - - The name that was being requested from the container at the time of failure. - - - - - A class that stores a name and type, and generates a - resolver object that resolves the parameter via the - container. - - - - - Construct a new that - resolves to the given type. - - Type of this parameter. - - - - Construct a new that - resolves the given type and name. - - Type of this parameter. - Name to use when resolving parameter. - - - - Return a instance that will - return this types value for the parameter. - - Type that contains the member that needs this parameter. Used - to resolve open generic parameters. - The . - - - - A generic version of for convenience - when creating them by hand. - - Type of the parameter - - - - Create a new for the given - generic type and the default name. - - - - - Create a new for the given - generic type and name. - - Name to use to resolve this parameter. - - - - An implementation of that wraps a Unity container. - - - - - Initializes a new instance of the class for a container. - - The to wrap with the - interface implementation. - - - - Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. - - 2 - - - - When implemented by inheriting classes, this method will do the actual work of resolving - the requested service instance. - - Type of instance requested.Name of registered service you want. May be null. - - The requested service instance. - - - - - When implemented by inheriting classes, this method will do the actual work of - resolving all the requested service instances. - - Type of service requested. - - Sequence of service instance objects. - - - - - A static helper class that includes various parameter checking routines. - - - - - Throws if the given argument is null. - - if tested value if null. - Argument value to test. - Name of the argument being tested. - - - - Throws an exception if the tested string argument is null or the empty string. - - Thrown if string value is null. - Thrown if the string is empty - Argument value to check. - Name of argument being checked. - - - - Verifies that an argument type is assignable from the provided type (meaning - interfaces are implemented, or classes exist in the base class hierarchy). - - The argument type that will be assigned to. - The type of the value being assigned. - Argument name. - - - - Verifies that an argument instance is assignable from the provided type (meaning - interfaces are implemented, or classes exist in the base class hierarchy, or instance can be - assigned through a runtime wrapper, as is the case for COM Objects). - - The argument type that will be assigned to. - The instance that will be assigned. - Argument name. - - - - A helper class to manage the names that get registered in the container - - - - - The build stages we use in the Unity container - strategy pipeline. - - - - - First stage. By default, nothing happens here. - - - - - Second stage. Type mapping occurs here. - - - - - Third stage. lifetime managers are checked here, - and if they're available the rest of the pipeline is skipped. - - - - - Fourth stage. Reflection over constructors, properties, etc. is - performed here. - - - - - Fifth stage. Instance creation happens here. - - - - - Sixth stage. Property sets and method injection happens here. - - - - - Seventh and final stage. By default, nothing happens here. - - - - - A strongly-typed resource class, for looking up localized strings, etc. - - - - - Returns the cached ResourceManager instance used by this class. - - - - - Overrides the current thread's CurrentUICulture property for all - resource lookups using this strongly typed resource class. - - - - - Looks up a localized string similar to The type {0} has multiple constructors of length {1}. Unable to disambiguate.. - - - - - Looks up a localized string similar to The provided string argument must not be empty.. - - - - - Looks up a localized string similar to The current build operation (build key {2}) failed: {3} (Strategy type {0}, index {1}). - - - - - Looks up a localized string similar to The current type, {0}, is an abstract class and cannot be constructed. Are you missing a type mapping?. - - - - - Looks up a localized string similar to The current type, {0}, is delegate and cannot be constructed. Unity only supports resolving Func<T> and Func<IEnumerable<T>> by default.. - - - - - Looks up a localized string similar to The current type, {0}, is an interface and cannot be constructed. Are you missing a type mapping?. - - - - - Looks up a localized string similar to Cannot extract type from build key {0}.. - - - - - Looks up a localized string similar to The method {0}.{1}({2}) is an open generic method. Open generic methods cannot be injected.. - - - - - Looks up a localized string similar to The property {0} on type {1} is an indexer. Indexed properties cannot be injected.. - - - - - Looks up a localized string similar to The method {1} on type {0} has an out parameter. Injection cannot be performed.. - - - - - Looks up a localized string similar to The method {0}.{1}({2}) has at least one out parameter. Methods with out parameters cannot be injected.. - - - - - Looks up a localized string similar to The method {0}.{1}({2}) has at least one ref parameter.Methods with ref parameters cannot be injected.. - - - - - Looks up a localized string similar to The method {1} on type {0} is marked for injection, but it is an open generic method. Injection cannot be performed.. - - - - - Looks up a localized string similar to The method {0}.{1}({2}) is static. Static methods cannot be injected.. - - - - - Looks up a localized string similar to The type {0} is an open generic type. An open generic type cannot be resolved.. - - - - - Looks up a localized string similar to Resolving parameter "{0}" of constructor {1}. - - - - - Looks up a localized string similar to The parameter {0} could not be resolved when attempting to call constructor {1}.. - - - - - Looks up a localized string similar to Parameter type inference does not work for null values. Indicate the parameter type explicitly using a properly configured instance of the InjectionParameter or InjectionParameter<T> classes.. - - - - - Looks up a localized string similar to Calling constructor {0}. - - - - - Looks up a localized string similar to Calling method {0}.{1}. - - - - - Looks up a localized string similar to An item with the given key is already present in the dictionary.. - - - - - Looks up a localized string similar to The lifetime manager is already registered. Lifetime managers cannot be reused, please create a new one.. - - - - - Looks up a localized string similar to The override marker build plan policy has been invoked. This should never happen, looks like a bug in the container.. - - - - - Looks up a localized string similar to Resolving parameter "{0}" of method {1}.{2}. - - - - - Looks up a localized string similar to The value for parameter "{1}" of method {0} could not be resolved. . - - - - - Looks up a localized string similar to Could not resolve dependency for build key {0}.. - - - - - Looks up a localized string similar to The type {0} has multiple constructors marked with the InjectionConstructor attribute. Unable to disambiguate.. - - - - - Looks up a localized string similar to The supplied type {0} must be an open generic type.. - - - - - Looks up a localized string similar to The supplied type {0} does not have the same number of generic arguments as the target type {1}.. - - - - - Looks up a localized string similar to The type {0} does not have an accessible constructor.. - - - - - Looks up a localized string similar to The type {0} does not have a generic argument named "{1}". - - - - - Looks up a localized string similar to while resolving. - - - - - Looks up a localized string similar to The type {0} does not have a constructor that takes the parameters ({1}).. - - - - - Looks up a localized string similar to The type {0} does not have a public method named {1} that takes the parameters ({2}).. - - - - - Looks up a localized string similar to The type {0} does not contain an instance property named {1}.. - - - - - Looks up a localized string similar to The type {0} is not a generic type, and you are attempting to inject a generic parameter named "{1}".. - - - - - Looks up a localized string similar to The type {0} is not an array type with rank 1, and you are attempting to use a [DependencyArray] attribute on a parameter or property with this type.. - - - - - Looks up a localized string similar to Optional dependencies must be reference types. The type {0} is a value type.. - - - - - Looks up a localized string similar to The property {0} on type {1} is not settable.. - - - - - Looks up a localized string similar to The property {0} on type {1} is of type {2}, and cannot be injected with a value of type {3}.. - - - - - Looks up a localized string similar to The value for the property "{0}" could not be resolved.. - - - - - Looks up a localized string similar to The provided string argument must not be empty.. - - - - - Looks up a localized string similar to Resolution of the dependency failed, type = "{0}", name = "{1}". - Exception occurred while: {2}. - Exception is: {3} - {4} - ----------------------------------------------- - At the time of the exception, the container was: - . - - - - - Looks up a localized string similar to Resolving {0},{1}. - - - - - Looks up a localized string similar to Resolving {0},{1} (mapped from {2}, {3}). - - - - - Looks up a localized string similar to Resolving value for property {0}.{1}. - - - - - Looks up a localized string similar to The constructor {1} selected for type {0} has ref or out parameters. Such parameters are not supported for constructor injection.. - - - - - Looks up a localized string similar to Setting value for property {0}.{1}. - - - - - Looks up a localized string similar to The type {0} cannot be constructed. You must configure the container to supply this value.. - - - - - Looks up a localized string similar to The type {1} cannot be assigned to variables of type {0}.. - - - - - Looks up a localized string similar to <unknown>. - - - - - A simple, extensible dependency injection container. - - - - - Create a default . - - - - - Create a with the given parent container. - - The parent . The current object - will apply its own settings first, and then check the parent for additional ones. - - - - RegisterType a type mapping with the container, where the created instances will use - the given . - - that will be requested. - that will actually be returned. - Name to use for registration, null if a default registration. - The that controls the lifetime - of the returned instance. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - RegisterType an instance with the container. - - - - Instance registration is much like setting a type as a singleton, except that instead - of the container creating the instance the first time it is requested, the user - creates the instance ahead of type and adds that instance to the container. - - - Type of instance to register (may be an implemented interface instead of the full type). - Object to returned. - Name for registration. - - If true, the container will take over the lifetime of the instance, - calling Dispose on it (if it's ) when the container is Disposed. - - If false, container will not maintain a strong reference to . User is responsible - for disposing instance, and for keeping the instance from being garbage collected. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Get an instance of the requested type with the given name from the container. - - of object to get from the container. - Name of the object to retrieve. - Any overrides for the resolve call. - The retrieved object. - - - - Return instances of all registered types requested. - - - - This method is useful if you've registered multiple types with the same - but different names. - - - Be aware that this method does NOT return an instance for the default (unnamed) registration. - - - The type requested. - Any overrides for the resolve calls. - Set of objects of type . - - - - Run an existing object through the container and perform injection on it. - - - - This method is useful when you don't control the construction of an - instance (ASP.NET pages or objects created via XAML, for instance) - but you still want properties and other injection performed. - - of object to perform injection on. - Instance to build up. - name to use when looking up the typemappings and other configurations. - Any overrides for the buildup. - The resulting object. By default, this will be , but - container extensions may add things like automatic proxy creation which would - cause this to return a different object (but still type compatible with ). - - - - Run an existing object through the container, and clean it up. - - The object to tear down. - - - - Add an extension object to the container. - - to add. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Get access to a configuration interface exposed by an extension. - - Extensions can expose configuration interfaces as well as adding - strategies and policies to the container. This method walks the list of - added extensions and returns the first one that implements the requested type. - - of configuration interface required. - The requested extension's configuration interface, or null if not found. - - - - Remove all installed extensions from this container. - - - - This method removes all extensions from the container, including the default ones - that implement the out-of-the-box behavior. After this method, if you want to use - the container again you will need to either read the default extensions or replace - them with your own. - - - The registered instances and singletons that have already been set up in this container - do not get removed. - - - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Create a child container. - - - A child container shares the parent's configuration, but can be configured with different - settings or lifetime. - The new child container. - - - - Dispose this container instance. - - - Disposing the container also disposes any child containers, - and disposes any instances whose lifetimes are managed - by the container. - - - - - Dispose this container instance. - - - This class doesn't have a finalizer, so will always be true. - True if being called from the IDisposable.Dispose - method, false if being called from a finalizer. - - - - Remove policies associated with building this type. This removes the - compiled build plan so that it can be rebuilt with the new settings - the next time this type is resolved. - - Type of object to clear the plan for. - Name the object is being registered with. - - - - The parent of this container. - - The parent container, or null if this container doesn't have one. - - - - Get a sequence of that describe the current state - of the container. - - - - - Implementation of the ExtensionContext that is actually used - by the UnityContainer implementation. - - - This is a nested class so that it can access state in the - container that would otherwise be inaccessible. - - - - - This event is raised when the method, - or one of its overloads, is called. - - - - - This extension supplies the default behavior of the UnityContainer API - by handling the context events and setting policies. - - - - - Install the default container behavior into the container. - - - - - Remove the default behavior from the container. - - - - - This extension installs the default strategies and policies into the container - to implement the standard behavior of the Unity container. - - - - - Add the default ObjectBuilder strategies & policies to the container. - - - - - Helper class to wrap common reflection stuff dealing with - methods. - - - - - Create a new instance that - lets us do more reflection stuff on that method. - - The method to reflect on. - - - - Given our set of generic type arguments, - - The generic type arguments. - An array with closed parameter types. - - - - Returns true if any of the parameters of this method - are open generics. - - - - - Return the of each parameter for this - method. - - Sequence of objects, one for - each parameter in order. - - - - A helper class that encapsulates two different - data items together into a a single item. - - - - - Create a new containing - the two values give. - - First value - Second value - - - - The first value of the pair. - - - - - The second value of the pair. - - - - - Container for a Pair helper method. - - - - - A helper factory method that lets users take advantage of type inference. - - Type of first value. - Type of second value. - First value. - Second value. - A new instance. - - - - A utility class that handles the logic of matching parameter - lists, so we can find the right constructor and method overloads. - - - - - Create a new that will attempt to - match the given parameter types. - - Target parameters to match against. - - - - Tests to see if the given set of types matches the ones - we're looking for. - - parameter list to look for. - true if they match, false if they don't. - - - - Tests to see if the given set of types matches the ones we're looking for. - - Candidate method signature to look for. - True if they match, false if they don't. - - - - Another reflection helper class that has extra methods - for dealing with ParameterInfo. - - - - - A small helper class to encapsulate details of the - reflection API, particularly around generics. - - - - - Create a new instance that - lets you look at information about the given type. - - Type to do reflection on. - - - - Test the given object, looking at - the parameters. Determine if any of the parameters are - open generic types that need type attributes filled in. - - The method to check. - True if any of the parameters are open generics. False if not. - - - - If this type is an open generic, use the - given array to - determine what the required closed type is and return that. - - If the parameter is not an open type, just - return this parameter's type. - Type arguments to substitute in for - the open type parameters. - Corresponding closed type of this parameter. - - - - Given a generic argument name, return the corresponding type for this - closed type. For example, if the current type is SomeType<User>, and the - corresponding definition was SomeType<TSomething>, calling this method - and passing "TSomething" will return typeof(User). - - Name of the generic parameter. - Type of the corresponding generic parameter, or null if there - is no matching name. - - - - The object we're reflecting over. - - - - - Is this type generic? - - - - - Is this type an open generic (no type parameter specified) - - - - - Is this type an array type? - - - - - Is this type an array of generic elements? - - - - - The type of the elements in this type (if it's an array). - - - - - Returns all the public constructors defined for the current reflected . - - - An enumeration of ConstructorInfo objects representing all the public instance constructors defined for the - current reflected , but not including the type initializer (static constructor). - - - - - Create a new instance of that - lets you query information about the given ParameterInfo object. - - Parameter to query. - - - - A set of helper methods to pick through lambdas and pull out - from them. - - - - - Pull out a object from an expression of the form - () => SomeClass.SomeMethod() - - Expression describing the method to call. - Corresponding . - - - - Pull out a object from an expression of the form - x => x.SomeMethod() - - The type where the method is defined. - Expression describing the method to call. - Corresponding . - - - - Pull out a object for the get method from an expression of the form - x => x.SomeProperty - - The type where the method is defined. - The type for the property. - Expression describing the property for which the get method is to be extracted. - Corresponding . - - - - Pull out a object for the set method from an expression of the form - x => x.SomeProperty - - The type where the method is defined. - The type for the property. - Expression describing the property for which the set method is to be extracted. - Corresponding . - - - - - - - - - - - - - Pull out a object from an expression of the form () => new SomeType() - - The type where the constructor is defined. - Expression invoking the desired constructor. - Corresponding . - - - diff --git a/src/packages/Unity.4.0.1/lib/portable-net45+wp80+win8+wpa81+MonoAndroid10+MonoTouch10/Microsoft.Practices.Unity.dll b/src/packages/Unity.4.0.1/lib/portable-net45+wp80+win8+wpa81+MonoAndroid10+MonoTouch10/Microsoft.Practices.Unity.dll deleted file mode 100644 index 0d8c0040e78dc28e5e24949b30860d4ddd5364bf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 135680 zcmb@v31C#!^*?^+y_q-3WPy;71Q3{jiI15{SY=a?O%Y_1-JJvmh(I3BBnXTXqgHDz z@O8JPtqazzYW-T5wzlrI?wYo?wQ6yzcC(9q>$f}pKc92on|VnlX#d||l>6>E_ug~Q zJ@?#m_dAPEyI@+SGZP9s4S46it8?YM}VxCExt>zN!mI{D0{W43ulu#f-}T^IsPv3V%C6 zcLhD5+f70A{#$3LQs8FUhB~5m*x}%)QboS-BETp5;HLKE&UV1B6oXlWNm=3b|3#Hr z*OW@9)&nWLfk!E5Y0rqWz+O`-xz#~L@~XhIVw8b>;>}^O|L?ykSNxGTLxt3(-OzzG z0aYwmrEa`Wso$XB%c4qkxwyl9x@Haj^`5UDJKVhM$d|t}yxv*(%?F3IzcBpaha-Rf z#$`9YbMjx-6py-k=?QOM_Ug2=hh6x@M`xe){QNgg|Lf7I12_DBSLCbjFHJu?BRqVr zy6f!oCm%g`$S3zN|G3FA|26N!%VyY#@3g*@=(y|aBi}pj^REv%>D-MEZg}RQma8A{ z{OeU!CBOXOy5BWFcJ_3`9!g=F*#Kk}iy1bUk5nHD#2zs+M48S(Ls^|Db+ECb>W~G+ zvC_j4r;8}T+lUvBU2mrF-ERL3(SxaqoY(n7Kv{N}$vy{POsUFoA$2~4g6I{7JrcB> zC^Ow3u{2Z%C^5xyM&Zkf4A`ULn^@n8%!4(1L%@_4RlAXO(gQ`#k%&_gujxbrH&R(~ zwRNCa2ZX!VqQ-=fQ;(SK1Y;v~@nbDUrU6JJa}?a_y=9Dw^2KA7<4m;xyaK2&oM%vq z#_4Grks_AiJPFYGBMOxr1B_+Z$U2@y2_uGe$cp2ePS9zD<2;MVhTTFDc)2b#GEE3_ z^F!fuep8VjD0%sfNsmRO9QknoNPaxN=?Qcu!ts-@9A~K;Km!CTs=6VqxIGC`+6O>x zHG5HafrwRIwPy-S)lEl)Vjqnt2P}IsKGl0iQ0Ooval73_8NpGci*l{%Mn(1^R}$`r zT=+2LSeH3TcoIpO&NSrJILLIS<7;G|Lo6Hi$cj}lX#1aC(qy;fg|4dLn7gL1Kn>ZBvFUD9*NDD=&;VZh@#fn0Ao^AKWWo=1G= zcz6>znY=&}KAAwrX!a}87r8QF8Y`G(JVR(hDxafN$h2L`e9Uo1&c3qz;GjVHOI;>U zKsuNPX{z-5d52b6b~%%?t$=9-6{#>%qdf~?rckBYE*Se-&3&y+Ms=(@60bF^{my() zGx4Rk8-cfK)3t3W`GV+~lYESwen4%bC z!>0LTLoXz@d>Nab^gc!!VWbx_&rzn4HkjPg%*jRuIs$We5`%NlBA3AiCO$#OaTWu) z2jw3YgRL_a+9&(A3LR=gVDXw$BJtrGww$GiZU!Al*D47oj4*_73R>vcH>+X`jr1~v zW|_5N!ya0(KYA8BnEowI4>T`m7$F;`z_OtV76D{w*<)P*jo-3iF09xDBg5!ok|{2z zTo3{>v*PhWY0(%8MbV++0Rl>*5#o`uArJO_6%ZmRQ!V2WD^Y1_xXPIZVmd#6-bibx zvym2w&Cwk2w&1tv&cq^i_h7G$JzBkyVs{krKi0_^~Z2n3? zTSzN5G`$|5-BJdqueJ?Rh6uF$cyy~A2FSk{DXt?$5F|ZA)hc7CrU%_5JrNh%J!H>8 z3kw`;^GYryOO&|mqJxjXCK)oEMYU8^r#Aov^OB{2SUc>=t*q3CZd{|xU|OmP(oZry zvf7BRVcK(9M-vPi2HSEl3X~=SE!8bTJSYhBL!YXk4i$DQQ)XVFW(+nmKf!n8p@}6% zb(UTu5)W6WuM(4OWPS!r_NQ>f;_Lx72AP@a7SPi5&NRMyKOX_m4~#cZdZAaNKSqXR zvaiBHPQSn>J`Z&)aE9Ri?9UlyWcbla{bM3(B|WNrGOArD8WO)|tx(Z`CItI@mtkKG zF0~$90bfr&`07`4dO+eiJ@DEelmxoWT>9#Prc4VYNjK(dTbL55W+_xyE?soDJ)#ao z?jsL*V$D*lqMw!H0ty;VU8pcR21B`Er3@=(bf6Cph@nY8$4WKQTm5Fg!7!`rlUVf_ zlZ^|ib3lWChP?ntGqua>+RW6=@D6p(Mx8g7o2ff;5JnL?uyYH-oUL#qG!JG6flUa# z5}$ZE)LP(bfsJ6cie-f~hy@$q!^rVrrta}LFfvTv*kEcaxefUwYFuC*08PMdgBOD- z(}Cr{2*-4`_aGrE}0l>p*x(b!mK5xF|Qx=vBCcad2i)&DzqUFx2~1oqsTwKjsqt{ENN( zi~aedE43H0WKf%+RvTKBeMB`GRc2Mt!K^($sPGLgUV~IjX9w7nanw;L0|bS>C4CKe zC<&Wc#xShLvhX46TA5OK(^E|+VmYlyoQS)L1sGuoMct|Aa}XHgcU=K}a@)z=q@k{(EM}q-VBjsZoEnh; z`IrSh0D%uP;0;C{bcB{@ESOZhK&sA=vq9%*Q49$k$U&>!U5W9 zEpz6`N<3aYv+V@bDDVO_?B5W?vUejVgRK!G26kS8%mB$Dfys7*u@Us!iizTgPnCcU zMk(^=COHpD5(9nd51I`J71{**QuZQcLzRgRGk|_?DB@O) zfu__HG*sF?bRq6;6!-`f7>bEWcu=dX*ak>|0hEM<=rLat@`oJ#<<{|ZEN`gn{0JPE z91Jy7l^j&zTzwB$k)u=y^Nzp{!`INeVQJj~sT1PxI8`{*2{W+8@WrpTzk-}@A%WPH zg;SZ;L8k}_b)*=qpiTrE;o||=kVNZAKlmBw2X#VCAM#;6p>--K5ayhDdu9ehgH*vh zuK(0BAdli)89p@+Mvd+B=j{{O9ttbyL>T9?!^Lq*7$rBbwK15GR*5#QTcvn(-@6Vx zL0$ZMVd|x+MW!r4MYMYBmA6}|9WH`1yV9_I8&HXe6}B-*vC87bR=CK%onEt8){#uT zOa*R6LT#NWoa+7HUxRg2`$|KMa<>WnvPT00^IQ$xV_%a7e^BF!ZcOO(#7nQ)RR$}9 z)#ibUpmPBdM7p8hI;|TVst7SSB*7(mvX`nyqjN4q{8D!yP-#_I)y9Det0oA?z6e2O zMVRY-4j#7KpgI@%LtGe7up*OmCL6O8>A05EMWuEq6|_;du)`2bu+IFSA@w% zSU9K*78jvh!h>hJR_Dg87lQ&C{UzkE#mESlA>?0a%+-DN^NhF9$nfi58*H-wg`ue) z>Uf!OZa4+y1(VSKlROJ$IF}-ENxVGld;uOzs2$j~NZ45gxAAueBjJP<7F&(UmY!=3 zQbQA*j&trN)2rAwP3Mb^pIeXzW0D#eo1fBoNqcCO(s-uxM3O>@8BY-28 zEAR~mvsdDiz6uV8e;B-6P4F5xHUQFUXiw2it+m z=GJTIczw73?pLwE#o`^JAn>p&b z;F!M!<>OzUQ1mMej2g@y#ZP&V>(Tt$zW`Yy#3gA?`1nbek#bzZL-y+o*R$XRQ8ih# zSq>VR-zhq~PtDJzk8EACZuTLaeYw?tHj)o?QvN=zT%VFpmCmNz%1TkHby3izQa0>b zVQ;i86%P<&J%o6Gp!gV*;^UVB)mleYAIDR?06AuvMJ%o6GnBXDAL%V3G=_n z_EqXVr%zv_N2X8cs5uw1WV{T^fc3f*Q1&M6Gg{20g7u{scHRJXH0az2Z^=On;H@G%1OFQs zh-tfOsNo~ET_qieR-y6d>6G-KV>&k>vCs)?I!I864(d~(vh#F$@?$y&`ZDCv84=a| zaBPp2H)ul^k-6SvDDbY(3M$ORxz(_ZQq;=eAk$aY^v#Hk8PnJCv7B4rR)*rWgF@_W zVfJNCP+9~*NdE%-ZNN9ad9Zv?=uq`ETKKg-$1M^h2ffGY7-4<>^XNXg}yInbb=vFq8WE`F0NtLH(Cv8jAN|qBw#srW~g%) z;z74eu?w&)71fyhkq&e#pyh32%E4W(V7dVw=Wg<9SVCO7a97uSI?^~cuWK-K3YJWC zMCj&ptrw#`i=WfCy3v}JOsxm7w6qJBIvI2;@P81hdj!yIts!(amGIX$P9ta$t`c|* zU;zgUIMf5H1uOx`xHW)ctAmMBmsTy|@?h1;Rk4RciTaRl=vm7sdTD1kVwDHWL$;0{ zV)Vj9t`8ph>Nh0y8+7gg#m`p1oLa%4QA%hM)F)l1|4pR=&+Ko|%g8>5 zsTVm~+=U)VgXm4;w|xK?Unt(0j? z!fx6!Gc23mG7pVu+x$V!He-X{I8Y>$UpWkrz89SB9-97Efsd}|q3)+g6tr$w=m-~e zvQtq?jBzmB4aROY6Gxh|HPk%^Ovw~v;vnN30_H7(8bje!V|O6KgmxU@$a<_*F}*-* zWBUgv2^r0X zs>zd1)s$`mu`U`5S}!RdZ5P_8v{y5Qg#^9M!R`hoEm)sxx*3cjuu%9QvhUSw-F921 zhR5c$U$H~utQpX993-qhhUCnW(u-Zg_F_u4k8Ve^A7#l*oj2(4;3N;(K zbD$<)&P~uT^*&|3^EaIzB9WdM=k_g47lCsKpzQpBWIgh<2d9CK9*Yb`fz8wnUQL;L zwvBOF#CZr#<2cxzDG)Rsnabq`HZ0cHbV4JXLTi<9j6ouW2tON;e8=D-T`0Gx$FAUgw=KmyO ziKwuY{(Y3BzA@Zj*$-2WV8jU9kHCwGA$VsQz?T|N8tGM#6&6~c@{!W&viRVl;{7F- z5q2I0!dZsE;+nN(#YNalc(3OoagF^LNs?Yj?FPLGpl5jN(Ay#E&c_i!PFp)f-Ve|E7iJV-FHz zeAAN;H<$DekT>-%jtt9+3ucH+MHJvDT;q9*CQj9iypL`{>yNAf`B|w5))ej8fIbH6 zLcXmO7Q(ZQ2h7y#UNZ}(-pqO340RpsYds~G;7l|1t{2OcBPQwRP$3M5y2+UsrR$^W{Gjl7p%&1q(<|6jxk_Wu&rfe7*BSzn9glV%!eSqIXaetq-e`}>M-qS`x@F&)7}79VF=E} zr^S!9oPf<#FoU6H68TY?3b{%m1`)T z1?mQ=M5)=i5M=B#kvL{?A|<$!^0@9=Z<){eu^YN57a9~BtchdL8-gIbk}cU~dzkRfSBVLF$A zqBO2;h@Ac@!n=qPyj=$lSXXSDL-57Os-nuwotiVWl=LyV*kx6n3y@MH&2F$7kb#Jt zrL%v|oN3G1XG{Sd_dLLxNW${~2k~{!1JH}}0F~A08_{HOLLu`OFj+eAzeE4q+W#y1 z-_`#2>3@%YYWA0rl6E$vN(0_G3(}2P#|OaxOr;o`r|?BWHT5@euzxOD>->xiGchtG zZ)8Z=X@-chzs_N`6kkKZQh#LwdmX+8qpEXBE`_L^CM2Q~DP(`i@EXahCYH~X*@>p= zJcYWEVRrT#pxljexB>-%hz(XFnpACJQaj15ziI( z-?zK<{TE=ebWq(EdNu|0nuc-#1Bp4;xpkFa~nZh>)&(Muhb}2mwE1 zU6;WFu}ikq*$)v5Yel4*Zx-2)h^^6a+`yA5&yR_(&i*exQ}3eA7#Trjh}ob09|jv4 zvTI}n$OxqjbJ6GfsyY`-s2>jrM|w3FBg3+}3PgHZf!;z)X9qcf#`2U3OMz1=^F3zk zB`cg#amz)%0P$l8lbYdut;fy&egsy=WI_Oie-{;?pb_b&z zof~N<7e{RIao}@M&-&3rfZz8R0_3ydI6xq8ZqN=6cORbCZ~q_C`rUs{YgT_{G;;#y zFehI|pXmL^cUZ5ekHYe*0q#s%}W)Gopt?Dj}jE{xi6Z4y(jSe*u zdqQJ;cUMLNotlrH!a;W$vC+9k+{q8=qI(6;mfTx|Vpddjt_Cel#O%gE$v0{bb{~bV z(nfz7(WCgc;Okt4`1v`2@B{f$$xWL>Q&!nfer3IPIP#l`e6a2IR}mWqGx~zg!6K~O zpfi`Fin3mZsH&<;6>R|*tk+WkqtB>Fe*^Z869Ec7H%T*W&g;-$jY5Ad^PCz_(7HHS zamBDM;$Wl@X`hSb=PWtE^^ZG2F5QL1v2T8w^eAIfDg-A0K1*aBw<*<%3P@vcg6<0P zHh6YP&d2-5CZ>b#83p5-jUM+{3M;c}7Ii5n`qV8TWm7jJR`*^c=-ssXH@8wNIjKPX zSeJ48NH|@r#;Wd4NFh&88=(H}BCG*5q?ejNcdPc0-8|3Qw)bO4sc?CHP2J%Yk5;t% znH~kSF^rAq0*G0xz%iGQUC%;bfEe#$JMgV^VxdqPD8Ht20c$wF40;L!Q5QkkW10;a z_qmyuh8@7pFScy#OW`XCJCA{#u)_^uoXyyckG{8et&t%)=LKN&nK|ze-Vc!gCq{pY zkKblNmBoa}m%2R(`oOV}wpoAgG0?CNPzY?txz$D963DHF_!d_%o#x`o=_HS`h2$)9 zp661aN+>^*<09!}Gw0W8`_il<5W;8sX-0ymejH2}b5bGDv zh&aZ?Mc5g+8)9-kLU}5!sh5HX&J%%Fq%v4jhQ*Wz5o&)44yxFNt_0-yuk!h?h98SH zXM#EC0Y;xNAvB0Gv(^hemXjuemdK@GfD~e1LG)jMwm*g=t2*EV%^)&;E9OE6ODimF zyjprgwis*hmcu!;UjA|S6OL71`MJI(>#b$Lu6T3Xe}F5_ZU2t1JGZ4*&u#B>O;|91 zc`F^5vwtBp`%gIVAEN)?+K+wcVD=OGX-n@yO4?HY+?I3?Gq;s&tFr;n!E}^VMaVK= z$r{AgWF?LpD05pJfaKiP!pEE23Mxa){w$6PlNi}GG6H0TQii#BbK5f{)Q^7?^6fR| zGcqijJGUjh-gDc(kxH#_=+140*?P$evst%Xi#hA?Sl$Z&3Mdp`uH=eGC4_vv$6 zX4}u)miZT&+cFEb5=ok$+X}mSZcC+*xh-+%e7(6X^#*fWS1q(gm|1EB=C)J@%x$R$ zR&2T9{4a!sx6XwBi3(n6Qii&$o#Zz~q^YP~5Hfj;$F78xtBK}IBi8zmJ;;dw_ z=R{nu)O+Kqm%u|1JXCdG3+{S%t+2v<2H6;6_i7*qtbWGz{fxTV>Z-c0>ycl6Cf1vH zxSuh7KcjHkTAHEDdi7|{8lRDGAzg581VcH6F#7a4xHQ7Fu0rTzPG3Wk*igGtOrF@h zmFT>Vhdljj4068LUE}ZB=h*o^=i4B~bL{MMFc4;+gSP1PIgc?EwkIM(^vV!s3?n$| zfQ4ks3@wb2(ib?(S`qU=8+%JR}|G&b*}$( zN<#|uW29?;9gZIURu)$j3!i$3h5TiH(4$i;`P5ELpY1tT{cCEV6cUp5d?LOlNE?DJ z!iY0bWI5moS$EX0_m%um%-E71i$Iz?CG3eW&6*2;da7;iyhBJ{Yx?Wt;fuTTuEOWo0LVI)9 z;+ftzUU>xp58>a`m*HS7UdT)D9my|@WpU|(7jpTLi~F5L@JT0E3{QGCO3+1=;N=;C zEbbOC2|v6<5XoZuhu3|XL3}wv2s>pADQ8HAZvI+wwfz`~CdMEli>8Aeoc4-j2NJFo zLhfZ?VOkU9AhPi$!>&LiJ>nPypIicE8-vcO4?oP^0VS#2ID=%; zV3IC$7Z`&Np_d$}(Qtpyxr7rKf}aszoVJxEZkzfKLm`C;C|jPkI!bE}{f)k3rYuj0TuJ5)O2dM5pdUE}%h_Q_sK# z2I62b5wyVdjin7Pcof5JhG*#N$3d34fn$K#*V;H+g9TNZ(r{zP;LT#GfhtWtpwhO> zlFN+Di&|ulD1iuCs~h3#HI4>TivOU$@&|n+-G20&c@@@gX3~#-3%$I4OJ!*NrY4Af z3r?g+{T6BV(r@Yy^xIVrtr@t11_IP?eJ>uJAdW&hO=Qxv(vL#XsW3y?QlP;1a-o7R z`j|3u$Q`4=7Fi^gzu>Y74IZnMn`y=&4TAg%tk315+2zjVwj$VfppD>XKKHy0bg(Fm z^)YZ5sV+4#Lahv^gKhu@norn)nxo#udppnvBRG#-tj`y_N0x)}0fU12$g&x>!CoBT zZHU|W8=O=Q`cEp8_rMWQTD;<6yJvz8tO^`)rYffb&{hn?7wg-+4;=@sh}Br0ewJ2) zCodAf$lkn`xf}0?47P&K6O=jYqp~**T${#D2ZOyM$SjdtJGhq1TEey5-yuf!Y=p#G z{6j_~L!6v#*L~hX&|eH5{gL#&vB_Zj6=A1iB+7}CPq--gG}?FA`53O{pvSdvrn}rM z(ig;PoacdoV90kAbeHs`o1>>Mra4K*rks|0aeaf>YQFqIk&X22r0IE79ZHB(Sf>3` z;jXbZ{WT~fOz~4>OGlSmoaBXPZTEma7SVC{`$@!b4|d5xU*8}>j=$wx*!{a&VIO(&} zli*^{kgw(l2D7+dab$Hg@Ho^k86SuSvN7Z=^BB9ws9QrowMLb z|2rF=^c*-{LPJyTWNLUV-JNq5ba4#CZcd(-OeGuP$!;#~8jes^JAZM*sQja9-^jt8D zTAzoHm42H{As%(O3t#lpejA3?Fv4`6LtAb3Q7i_krgw-k6|`}NsZ z@OGq|A2>l?y*T__Ar4=Xn7z2V*vD0Gb|4(KP4csPz2@fxT_$Hfio6GnU>L6nh!FCa z3%wpBdk)niC{O<-%&K@Gm_=FK3+lh6^ylR7G)s3AJ0XuS^oe5h_awu9UlQxS0jj3& zAmr{Hd@$#EIm1b6yz!H&Fx7T%rN{peRFy3v^`lIUiWo8u z;MgBSId5*d2)S|WzZhS4>`yPo{&+uV34ApDOYzMvg9HD`^e?BML%9|3u>UvJe}S&_ zFG33E0u3Pe552pJ@4%p6=o%T)aaNMbDmWOLlNgVRMY3z)#Ag~Aeq|#eF%#j8#+OY{ zPZF>eaQYND*;C+ZEN}QsrZa-bkAEeV9{*ArqBD992g}1T z?rFfH=-Jcp#iM{{@Dn>=HkPDdqqe7UI+f?^<=Lie8Wn_|v7I01pHx9)NF=|+#_~g8 zu{&JzjY34HQn&2CBLxnGVgiY43)R6iYRW=2Pk;y;3@qtYnS6asUh?}liDSQY6r$ky z2JGDDY;F$7ByYZeLZoEVcOK<7!$JZhr}{y#lIm)l3KUpu|^! zTuQz0!Gbwd$z?lD=zu@#e63ZPGTO57gsJ6R$m+#&9r^n26EUbG^+U}Jenx6;#E_xQ1IcqE#TO=frob({JpXuKBcH<0zjG0ar?2kz69A6}x?9J)4H$KkXw;+xNKNx38 zr8u8wic9>l^3riG%`w&Ki(#gkbEW`YWIZW(Q~t|L2Q~(l1?vgHiFk1o<9k3@rqOQ~ zaQRgF5{%Up_FyW~FJmQ_Z#^&p-g;n6UtVD$T(QCXTWf-I4IUe^h%r$@e6BvF3l|LynL|&rxCmHWabo5 z2fPyzV2*e3gBJ~UyYY$Uik*a$03!%OJU~cH#&DC^lgX}+GB_jU^Y{VfED0bT(LzW( zKrn(J!~=xHBxTQ2=#4RX>-1+vx&<=Lp3gjbzfcDP7!G0In4v*?J_O~gM{JG^86XeX z@&1U{zn+9Tu8@A{9`9_i`)XXV=_C=ahA+9A@_?Lo_;wq_oT%}gaa*j;z@7c3k>d5X0IQ`E@oTKismyP4rFhm4-1P$9T_@D?C7M2D0%T ztlXG~s-c(e9dpb>o&k;YeXI)iJi`Pv%Dq?4etiyj;h4^S(y0!yKhxWDWw`Wtu@;P8NeLC9t4$*?^&$VpnV!r@)0>B!wAmVsG0Obz*Uio!xH#m09Dq0wzZKiDloriJu2EycfxD8s|l<*qQ!0gL#nfwI?UFp4O&WQRUqyeVv_vGGZm%Uk2ZAMu)psc>PDuc4yWE`?GhUrAkBE~$ zuyR-u!UM+y(qCfgj9mCKz14WEU51hj-5Y>yD8xyvj(orxB09k7a&O*Xd}M6`3udG7 z9=yCdkr<5I_}2dR5Xkm8R)xiGJR?8h=ORVuHx03zJUt(!fep&y1EI5TxfygZ^uwCE z42-_WO4ZMU22(g9rzhm0)U%!!1GLMe;u$lPA0!zWB4iX&5D?u`h*y>DHU zt52MK58~uIRxlwS_ZbXb6-X*$mG5J$f>$B(V-;_FvPhkHwcb~vJx4oGo2Ya7cS~hh zgq4;YL#6SdSl1>)B^InY`S*>D44vOEk)PquPe-(T10-$NhpVIJ>HHTOc@Y`%elH%2 z>_%^;R|Ncv3?gwD3~avyopZnm7LiRJEskV~lEFz;9(G?H&2J#?MI=~@tEJ*-?;tnY z0gMS4Bnvl&eHDV;Nzib3<(YO|ZVN*{5?;(k1jr#MthdUWpPUWw!8$#r7SBTW{ZSs| zk7O@r81o#8JZq7s{bkVT#A+GZKLhd9O9vu0zzX&b!i&8uEH>yQeq$tkF5oVvjYX<} zm$}GRj&$@m3F}L$Rq7Ls#oJna65-xf6$ZzV#7aw#uP2^l$>_SI^9oS(y`mV#kv#cb zlhUGYu&6IA=-)LVh=&~U{sBtSW4F$mgq0N= z+1>aSXXwgCSruPEhs8~7vV2oal)@^>!@ga+Bf|c8qi8G`*+$Kx*Rs)W@F{96D?VhM zhdk0*IHg542K8|^yLha6FAU8vJgq5KDfJ$ksEm~d=%YM5(u1+2-W!3$-CG+YnbRyd zohXy;+Ydkz>DfSa5hZxOdmitiR5`>&lX2(W$X;!c`oUI+TR+wI`QVMysW@j|kO9xx z<6Xo`tJ=8`KK;gkQ%Ne?U!{M00;DfOxX9Sx8MFVlv_I$3)^A8@zVlo5-9?^Is_lyr z)n5XSaWUe;IC#B;^zx^&uF}%U$T#0suLc@s@*0NrxCd!uBq+lW8KvmGXEZj^ot|$kvd9PzfgTDB9?`V`J*nDju3{`V)l5>1Vz;SpdmjI0n-9L zKJ@HPFjX1Mb$}B+FW&SqBLJYk2{~IX7Q}RQpDX3K4dW;4=r+;340qhzV6-zz4~0!YbYD{GjMVz zn56?h&dlJMN$tm>m0-4!ezxJCAhtf^1QX2n@zEoY7G6j(ktqfd3L7H|+n{PHHW7Hn zNwU)Pg4= zYxp8+_&x-?b{_pC-$3?sdH24ZNv zMzDK!kLi79_XZ*0V`S>R^C0An3`zKu6h|niq&=}>b+S00z#!%?g>wFjg~b5_HUv_e z`ZbU@jPr=HFK6Hk1{xWDoGXaHF$HK;4$e0LyA>r!G$1mwk%#t0d5sK{NarrsHZ=u} zbqQSw!gv6U(a?G7<7wHWnNh8<<(}b_@@n3$LW=1tb^HF|HKUSb?7It0CRRYYrtnWc7! zLS9X&Qw3dxdopNScwk| z%36aqUbIgK!b5|NIC6lQ)HNs%y7p`F!NtStX5TOA=tD%5;q%TC#tP z3x4v|(zHV;7Vn@`+0R49GJ!q~v7r_>P#r+ilsnValy!doY4rHrj4dFND8>_?_RA!q ze?g5ycFQZy?=t~SmnfW^#_KO7g!)we)50zVR-e?zlGydj=KY(?v?-Eyl4}UD$ z%{+k~zs$iEoL>9jQpPsJ-Vc_rTy-OI#*-eGBci<+2E2g}MG~19q`$J_iC?lHE_S`f z;XDC1pVD6ejoliB*FNRvBK1z<{{G{+(YU3ERrkiQsZS-uI`e+R`6>uEmfF8YB-4FI zkLAz5)n|Z(8&KmqF%LLAn}hVTYHlmv30XEa=oXq^m*DCQmWaG}GJ-wwSf||ep+0$h z*gFqjE0&Dh7gqXaWWR=@xNBKnZo{CfLy*_G)K#J6ybW$62a6l*TGW2zAVh?4eWnS& znOm-kF_j7M(cL#FzPwRAfXXq_UxU=LH?f|6XJq&_o$Dz`SZ;yRHvr<@EL42Zej6mb zXg2{DbPm9kzFV(5phOk+5>E7t3^R~lv!ln9-$IocEQ0bGNdyg&ppGEFwnwCMGs$Cd zM1ZdoK)23mk2C=s*9+RW5X<&96XixTs7PbFi*?Fimcd?LB#yn)_YovN!HS`dFezDE zHpbR*DP@knZaY&!b2n&q-U)8>nW#j4swSkici)U&-5w2Av_-xh8Km!k6S2A&SyIG? zcHRX)h<3?$wf!z6n8Fg>b_sC4LFQfTy#=vv7Q_}?g(%D|h)oy7-ck_zc0ugmaG~60 z6vX0pBny=7dj+xoEQp;_RER=rLF~;1vA-{fJ-WCM-E9T2w-v{$h|y9#2jD~SDeLG14fVrP^U z;w)JZ`(FjI&lkj&loz7gSP*+kLF`uwVqY(a9X+5>ZmSAnFDi(=rzaNnineeJz8Urr znFnEiB0Oed-vwLKUWuV{sc{~$MPdH_9G2w56W?T?(O6WA8jB;3&UJchi3QmKpO=Gzd za{fBx#=qQx*4@b1#1)XtH{mgO7uGUtoLRJt&hG*vd+5^urtg7NyND9JJw&2B=jmtI1|JQ=oPRK2odK!8o zM=HxhsTVze$UDb8&@>a?uOZfPI5fof0zBRp4W|CYG_T5dfXbvNQ0eJFINt(OW|TF37QnyIl~0>ehF<03LZxQ!s$WM<{mYa=S5tAK_GR$t&Us*A zazDuT7l=?liH2FedvHgemy&j+CqAC0zXbM650;deAy3P_b1txo3XQMC)APmP?Q^0V z)K=VCo6TSC5KYeCUSd!qR{W%fA4TD@RUz6P$M&qG^WR>|&2_^1m4JPyZGL!2&>bE>c)}2FS#QB{b}*2-aSiexbepjwOErlyQn= z2K`UMZ=)@+*^9ksz_$dnb7ySCDq8k4qTDP)8s)<=lS-Y4_7!$QT_XD67Z0vZAqOp2 z=S@_b^As{Gi60+!aO+ckj_qlD(Fa+2Zi*~${T4sQ@hm(#ot2+#%4Vsa-Z7$kx$3^2 zzvAZE%6fJ34y{AH1xQ0;W*?@Y(R}5LnJB-aot%~mAQk5UQe7TE1Hi>@iN+ekf$Cp^ zEU$?XXFBZm^U%;95c~Ul*bzM-cJ%qM5rpu2V5aPoLaZ2%{DYD|WMR!kk2RdJERTm? zLNv!0&Uiupow4NzV|pcm_{+Fh)_EisKTif7Rv|JISSrvZY_ z4ETc1RJcx)co{V9YQ)vCbU!4f=p-H6hnc47ISEObCnejZ>6s{iCZaPCtbHnq5ub9{ zgjf^qCt=Vz4p}8?4L{==X)hItQ}=`1`xo8!$~#vW%#{+!^O&GBAEA=mk9H5HN$p4h ztu*{mWgUl#r=1Uv*d9pZ$%;Li*f?FFfRh4@P*%J1?Ts^SnqX_v5es21z!QN2v5XaxEU&huJDjQ$LRn zfNA`>ImAGrhHIj6AEMSdqc`Hro`|8&S-lbK@`yNy4t1J)B8E9Fy%Fp42Ll}gBe1479EV5S&CpPbX#p1~BiKRCi*?3M-e zk`s2~^4FyD#||E)>@iGfrF!0K*r(y!`52Hgpg03i`gt_^E}{g_O%;8PMgJD&rO+pL zfB6J-3EX=_m3ez_^yjlXh-@i)-p5!F^czE@skqe@hc) zbC9GPbMr&tNpEFQz-TC12GXVtxzx)#z}}TBVpqC+X5e&iXrC<=MjobshcD#oYca^N zz82x@o(G^;*VjLhl=Za)m@FNsufG7>yS|v_F!d!QYqIjuRY33gNmPk$T^H;n@gM?q{D^=;bR*%Bw4jl9sn#1Se(W zTQ5>pcM`|?sYU**AJm^Kel2;Ew{;=({LwAUbNEBVnAmdOe% z`^rKt-Gm?4;6@p2{d`VIzhRi2KLAOw^GQ^7`sYa8MU>#}EifC-dg@QUw|I)|p$zgp zL4WmttBy3U?Tz8Ym2q{PSCIiYz*v_!$6*re5uS}a5YgU>ua3BlA^C{g2~zgQLni1B zuur}qx8xyqUtX^m?Y>^Y;>k%1EEup`O9X354-W9ZXYsRYxmtnt7EW4<0s5IP5$jd-jsifTtBb`(~roL``H`*93;ZD|o-cl@nR?Lc2K zhqwT4%tw#E>lVQaFK#4Bi*OOeir%6~%yy$Ckwtx3&BR(S9VMeP)+dJh;)|WvD0NK$ zCP-`y1|n)7w+Y&qEaLZC{G95$g2~ z%7=2%aW5CSVEoCGr#S6|Wv9lH)Gp|T9w_6;RpGe*LOJ@0I~hD&k>jD`Y{|F>Rm=G$ zvg)WnNI@C~e^-I$hN1i4&grQXDNpXj9Fv+{A4+UP3DCK!ARUYlA&*{c9i((t8_t{f z9?|3%1my6mBb0jSxj$jWNy?|TuGp1sPi|{ko=iI(srAWp&bK_-ydjxNM7O2aJE^U$ zEs5yrWGdb2w9S~*G>-ozqH{a8ws)kGGuo0J?WyLiiRiM9maVPpPfG4u>1;{1&1ji2 zrTOUfM^7Fisht}ZY;hfp?`2W*CTebI@<$vD0 z=#D*?Kk`ugilXM!6=(az&EN04=i%u!_dfEs=mTG_Hy@n6YxYAQ+;-w4ZTIee^y5^;XTbYI@HYUr1>ZjdF0=5~HYyG?6EzEdEK{ko5#EjXuYvAMpoR5Ubv@$02Rv2`)EDu6 z3h;E~aTDUJJEi5dWqj{|gZB zN~Gi8V$hv}!O8U5I2zo7Bm0{$Dsk{Htrn;@OqY|mj@1sl18AuSO#epUlRV~)lSe&N<^J! z7nqzn7g5^qA8GYvVm27pOf?Hrb3wKln6!EoiJK0ecph@wihrAsq#a+JLr~)mpM-*8 z)D&*qFvp~N9*L&=6R{kWl4fWn3cVfCP5{P%81iL53D{i<>nm!4Ke=D@^AV*D|56ar zddM{i!ka;6gTiH2)zDuulGuRAJ0)QG3utE~LK{)zgj_ubQP0+Z3*FshR&5 z0%>*1e@bFGSl{U5A+4SOi5_zH3u>vzxDC&$_9w6y8c>hA^(S9}@=^tQOZi45>Y;#S zD~$@+s&>FvI9IR6e~rW^^wn54o8B#^5Lqga*Z8KORi9XxRKA+198{G&F;=5)N&a@0 z1hL6|8`~1p`d0kcm*8q}vK668^=%}bO2O@b47PxF8`@4`zO-!oh1dlX)YLn%U;p|h zxe`f6>2@+3ETq6fGc}*oR$eCM^4On%}J=hVA$!KeH`|UL$#vXT48^C_Y`u-$arVdnZ|eq^ts}6nhp* zc_}KVXY1@O#j zt_t+ESZTE$q{ewwU6_-;`TrV;5?<9W0DWBneL3)Sr(^)+>?KHx%G0puR-&!pCP=}H zz6sH*R{^mF{~R2@ZOf_b0R#mWuiTuBw(r`WjAq7Vqnn%4(QTLjwQk>UAy6SGl!1*T{1$xXX*+$W-~Z5xt1$>5m4Mn7Ga zFTnyLN;=xy7Hw_;Yt8H1qwBXer-|7RUEkd1a+WK1azj&eb}AX&<#a^1wWiZj7M?LBysk|uX<$5K~oJB(3>YwdKi0Rm;(2rHjL9k-%iXl7O@DyihEFwYYT z-WN+tCI%OL1Zw7@U@T(~VU5cMs=a`oIvtpW%4vmUbi-i2n_723T(mi?(5)#f?(IT5 zPo~+Iw8A7H4hqXQ+MGgPvw0;DTU$3KxjYAjZEN0?gtq3>rjnalv2utqHbocpis#p> zRI($T+>nT(muya>`$EpN^3k^Bxopu*0ck7Fj$|r@eo!}!lxrflZ-pt@?m*7Fq`PfN zq71EVJFvKjTvu+UUT@aQkpuz6*$$0NM7KK5mNdBE!i-uvHhBev_}ZIWVM&_;@xv;m zCr)(Vu*8A66ox2;=ty2WM?qsni@gN>X=_t7Fm`TEja?l^cLa7fKofTfU0)B*exZ%I z=GtNZ!wuJ(hz(>l=9Fn}eo(@Ol4^y8LBs8DJTj5_v18rZ3dPN3ECUe?LQoZb+Iv%A zUExHzhPAnQhi*O?`6Q$0kXuksXbWD4=8botSZPthc3_h2ZuXFW;OHJ==t&qnHLu5_ zb-I-!EMMzr3QRj(vOd{I+rZuiSS8eFV8FSXF?PxiEdmP;OUsunN`UUFy?G1FN;{;P z)0A}72I(LCVU4>`e|an)4M9g_X^f+-)i-Crj28ShN&f2n^rWe2e7R$J2at_-=o} z=;#-Em!jD<4w_mcgL8Qm7;;g#>12C5N2X1IGd?Xkdk*BwVZD|}zLV90hvG_!JT`I( zCZhRFA^E)RYWMS|JK=)e>;I4G$-#iw)D9Wvx!s-L!pVdrq02Hu4*(LPA5lVRcui%I z<9Du4N?k;q^)k~z(byOU5+()geKl|^QwokAAUy}8ULz0AQR zg51Ufdv$JedU{zTP?7I5P^$^B9I*SKqBiF{s1h0KOPyf~HYRXnK4!i){93|sf8YXX zA%2U(=AXvoh{Jj5CA2QMLv4;lq1io$z8K|otlym1eb`nsSj%sPVx$wBgqc>6wU=XjRjVZhkD5sLpJGe(Dd1tOMX2pH_D!;joD}G zrZ(`7WILKut!zFr+4lHo3KSpP(YB?{Ik#=*oD~b_1QfPc@P{QCwS$|M6UR*)KaH3W zS5;IyF3ODVRO&5!U)cmdrpXv(r5WS?Lr90c-O;O7sK*8b)Ii`y&tJ7*9=_dxe={HO zoUJ@?D1X=|39K3UU`a6#js2s3qN)Z0-re~34F2IviozKe^#@a_{eZDK%k!k_6MV6^ ztAJKm0hHhB#Z@0UQT>M4cQd;V!f%^wq>UMEo9QZBx z|2XhlMAZB6m#YPX>IX&Cyvi#o zB5DiVLF$o8rh222^ha0GKeC3oOb~bK5c(asgVgg!d<*V(hm-Q05m!`HtL1gm>#Eg7 zqo>ymQn!yLe(^}=cyv8e&4C+HS2qx|B2G-jSh{D4`}uL1aYNOd3F9Y>Q0WP0PO#MU znco^%t%l8>US}zL_I~(hi2ru@E%i@vN6h_Xj-|%UubywI1@lRHow(WgpUfGmu9!c5 z!YK8@{1*@!I+3Y{oya(o#69E0#V1;7xA?y-?)~DvEbec_4J=^%5#p{{FmFLgV9NrW z|S80hs1qV+{T5(oValRzy{U2@Qj5KwR<7cb^~Ln*(cHMgj=m{J&96!04{TC3Co^=WxVMS>2;2#3;_^|;C#Yp`Ewybqg z3*&#k<<=HU{S@v5^-;^H<<;u^P1EbB=V&P62GmXX+Hx|IEu7G)e9s7e#u zEPSU3m59M~1M#~b3>yik9Op)73N#VW5J0me=5jzGyg4~fptAw31hi0Mo)2iP8jOY5 z3qa*d5_2%#x+2Zn0j)#WS_%8Eq^riULWaEvXfsN8mOyU;+KN+jEh5kVF?c4m7E8aR zX`0Nv7Awh=b*0I$A=tQKSUtja0%{W~vjKJC4Z$4(Z2l@%)cg~}1Q z$3-f40t&&_T_Q2RhnQCb`l7^q)s4AV!ahP6WA2l>tqd~V2v}EAv0dmUNjC)$UPe)0 zhdWT6C}AVjEzpaBY7?w<2w`^$lo6;--7PV%l$fK`J(9z>TfbI7U%;BI}+L#Ko0)~RIM8D+ohD*fDm=J0k1q0niN`webNT?h(J3-#BRL$arUVeE_5*4}*fa^dO~PgaV!B5Fg|KEnU7%M0U5)M5V+Hy^!se)%0+ods zHWz1On8Qdw3edd31)wq=PzccR!sn^j3Jsy9ERuBX2x|beM4-zh<~+4bpt}Lh3mmUj z2=oG=7>;4A66h^Jw*y)uP_T%(pQug~s2SW~zGzU-!tuG~|-2iAB+FO@|Wh88^ z`kX*l3UrFPM4$%&-43hv1%X}?=rpxQpg#b*8ow=Yxs)$l%$UvUYZ5jD(9QtbsX)^J zU5!?Ivp{D^*an5?DTaQVr-UWdHznN<0X1PK?>>Qk31|YK z2PEAGl5V5=wxkP2NOL33AhG_20h$cE@UTFWBy5vROtX2I$pi2Zg zTRkT+ua}rx)C&UL=Rz+E^n?p_OS)eGx*A(IKNjeBfH=zgxj?Ff(028fK;;6Rqkbz; z6i{~{t^R_+_dqpC!qV!0r9?AIXi?JYZxVA=$+FNJfev*@psfg-ge_geU}-x6{VH%S z&QO!em6GmU6*8!Uce>CRfxZuD2sW1{OSXs;2<)B<}?h_ESJR0qqs&?|?!$k$Z(e1IrlpU+Nlx#t3wU z+Aq)?Kv&~j<@JUMEj$&2+G()QH%r*&vVCPU0o^9hgMj7$xPzcc7 z0*x#ubhWxipxNc*Ol!hNz5;)hop|K5$G%G`x17a3q35*j|KXw zdQ70dfM%WgntD>8@&T0R4eB|8qJY|s8&$W#F~cN4v(=62$CAT|130?4N&O6ygMn%Z z!U(;Nn7AG@U|(6Ix>>y=Vdo6U3<#mec}Hm8C^7F=LrmITy#1j59C%pGgvbV}A0X_F zz$5A;33~@&JJDC1EMfnYut(J@frbra?vJW90!%srr40MA+9S|MClh*2T_cdr;dOPLKu@h?*e}(W1-f)Kq2H*R1k(BaReeLC zkJd2kZ|W|A?!-mMkO~JL5NIhb!G%;s;1Pi)V3HM5!vaqWq^TSkcv+x%>loG$_>n+2 z2y|57CjyOYX4uhzH+<=41>O@#mv(mG*8<(Vo-yYHek)MZ214@!zZa+?N$8}&Uj({- zBcbJie?#&Y4!TuUC~IN;!13yrSPbr$hmD1M+puQD`OdIO@IMbXpk5h9KHne4-2Z~mfGR(NJlIDNGhh544^AWg zO-I}V_rH%|+Q$U{{IEBI4Qj@)iw(@OhF=?)tnM8?I}}il4_^b9WwESZ4L>Wiy6c1C zEpY!PZeRrc1L4-GqehUQiEvp96C3K($0NRjv=c|ZjL`OxEEh{RUcEJvwG)Waohoip z+-t>sLfk)#JF<>7Xf1pf)HH>2M^lE^jXv1||D#t~R=<%#|99}xe&3Dzbto*w==aciVbjcU9#LJnJ})~Pv- zEbn3$!_qx`7TpUMF?9bB^2U+|Tpjy-6LTjW>gr1+b!z0;4-q!Em~N6E`q|{(*2S)ba__ z;hsO?IH9nmETG2C*bX;U-vM{d47$$`J0I@q8Mi8E$c)dyf6k10w3-WNuq(rl)(>1bxZk;NgMM<(nSW>?hC`>jz_r2MZFo$QYS!%$XNfiP0vq_p=M2urM@vcd{j>g*DjfUl%=kmcO2ZSSJAy;-aNRsuA=+sJf?kg72TIsEkN476#7fc zHfyQ-S4-N}S-myP(lOs5Ys^wh9l3^~Us!X%E<}Guj9k^OrTgB@cVd>R zUrU$m+EU}!(mi1i2Avo&-aht^Lm~4 z+3&U2UVA)yIOjb3^g>)Zb0FfbR7%O)sgyfP;pNj`J*08^C#UqsTx`xFJe2h$`X0|B zJ3nMmiFswu#TL>gdl;9=mLZqVS5SOoo7ZNOg=rkNEISl^Z_TDW-Z8Z^x@ko7f*vDC z=d~Q~W>m9ujl4OQ`iI6PM)AI#+dG-UQcYR)G7YbwrkVkBNVCfn((E=z*Wl%Cel&uv zqqpV|9-lJ}L!F*eoQxB2{MC9EwOor={f806R)pTs@;SWI^$oKIL4FF3GpmBLX%PW< z1A~9Ho>eVh!TCj-jzk*-F>gp=Rt4|1+=q9mzBlYd%Xjd;a#knOtbz;3{9t@%VieyY zykE9K`-LtXeb&z(ma^X(a0GpVeg_O|9aM*RtyXuTaBHAv&{=2!2Mn7S^dG!G65dt& zEyhkX2wvfERgg1gUSKQOW!N*w@Mb#yYCUfY@)ND0fWs~4w1h$#Go7+fSlWm!Z^Z7h zS%?UQwVF8|4QeaGU<0#Spcum769O|?t zycX0`w1?9+>yPXQW;zcY;8)}KK~S>j0N#;gXayV&N)r*#idnrl9h8ovOgm-`qE+xz zWWAZy0>#%6igY+Gm(K7HX3LPx5uIVT_HzslE*6pSu3=-D9cEVPm>FD-en*WTl}k4` zV^|Stc7q>`=1SD;2EQ4<$Ag!MD3IMK)s>FT!4=5-HG}=ZD@1n~Y1qfeqG69==YsDR zF>sa{)!!x&3yvtVqI1*}dNL!w&7wCXX$Btz?Zny5bT`d@a04@4N(11f?qr2ZsYVPS zC;n}mD27!3Z=WOIe% zaI3S(f|*r1PPY0Inf}!_>lM;g;GZS=SL>M?BBhH>4Dl23@K6kSu7R8oha3vq3@Z)^ zk_m8{nNH_0_}*qAVi^2kvv8RRi(|=3t%Kql4$CzIif=gnNt6A6;!7qc{%Sn8hjfy7 zuZ#UE;k}S@F#@U$JB938Xy21GsU$+gNa$v>aG3^unAHGT84ZKA9|X0Ik+`(uU#(|Q z>;7^)j9@>Vhjhrbt&ElF@Sx46$qd-StQM{Gm)F5hcDQme4ZM4i(ORD|t&7F=5Ud&J z_IilbjB|TE{EHc-x?D`h861TpHeY7K7NbceF%#cEw)_s^eeRYv3lX!(1An!i1+B|u z7Q2a+x85vV?3UJtARD@JxMhyjtry8`oDGulGRMQMmm{kB(oZ3I(8>~ z%B%(`1}7XhjBGmLG_zVDn{(iMW)0#;W`Ao9^Laq>Fimu97#{eu2p5*{mJ10?5)<1ck#tm>5Rk z@ZT_oQMe+QV;F@ihPljiDJ_6v?FVFK0UT$hb6aA^7ae+!EP>Ou-+WmLWBQV}ZlC2a zSu@AL&|+~T%ruPp-5X&pvj#y{ZiFq&*1)vTHF6;wGORfCak&`I8+LQ()AA;8^rINo zz|EmA%cao6W^c$_AmTO^%VfTjms>fj_Gb+Jyu@2@lTj6*V^Zo>sGplrL4J}8ef3=>z zVXNeNs9?VaL2Lt@V^#$%!-Cb5@Vj9h!`iB+AcDL4DjdT*s;8mau%xh9^(=J0hOFv3 z+5|B+8=^Krl4cMcnyg-c>utZ0$nuR}ZrFJBA}nR5)AAy$vNaFEOR$>R8dwxIRlNkE zbc-A7p&~3_y#jM>wp6_e)0kC3=k$b#*WhMml(JQ78$85JkAJU29Wxr8?p8bDjIDVH zcEb-gTcvh`e;mc9!|j0#W)yCX+6Ob3>AcsF8vbgV)r5U5Z0311>@nreo>y;aMb!K? zY?s<^Ge?^@-B_zOZ@aPRMr>f458V7x+I*r8*jA=DVsqOZb@RKaO__9Qu57bexY+$| z7Rk45D^Imq>c+NVxOZ&7_b{A`9d7lNde`#v{HjfwaIuSR{KP@quUXsE>OD7hUcC=a zE5EGnlnAVfR~vy_)rPf!*;`{l@Qz`W z_pjiPVU+i;;0wd3Hs>z*)nnbWgxfhEeIBfZq+H(mer+CngO(RDvhK&oC;% z6A)||mEcJTH;hW~By=^5O7Lsw!Hi})tK`?T$0`0A1eIq4++rA&=P6ii7?tN~IBm1@ z>I_`R6CvFq&%z9wg^05-$7YK>&Ox!wHjD4zF`FHN^YE0-Ld1D^(PoQ0zK8A1)s`l20`I|hvkM*xIf^aVKk=x2}haL@R<51 zR1DSOS_Np>HQd}^M($Z4!mIPQzl$IbdV;IFy37>`U_Gm3i4LcqFokv^ogkh@PpB@onn_-QJg*VMk^p}?M{#0=VU(l6Vyt15qroD>Fv`&oG2Jjq%P=w9FiK0Z$Ty7AGC~wH z)1^C7EV9`qF;c8zRtshAp7j_dUNLM*yC*zGi}#tWajb0D*K@S^*|7VNjTN{|z+V-t zYZvc1UNmRcAj;Z}@SGq97`CL{1kXug0y7HS&WYA}&KJAf{0hZent`LkUe7{t*syjT4tN%cIycQC@e?zO{V@8;k(?Gs zLWg8kEPRTog0?h=`Xjp&@_b+^dPAU|DWtHm=W zM-OHki(D->v1S!taaE$g)|@Y^#8S;1RD$=3<;-;H-X~tRHOtZOYopn!OR>0Ld}~Bm2&D)fSSBK(q+2Uof zTG6vBt^oo)cS)AKeYz zBz|L72{(6b@OnW+OtY-amoJOnnmHco+E#29am;jCZx)Me&F?%ni`8y^TgB&Y;kJr; z!>E;S73Yj5weqc^{|t%`SLI!Q_IgdsVO9kmk)GbKi)DsIAlo7K8#Wjj?vOr{!c{>= zq@VXLk;F{5);Gi)!-^x5y!MGZjppN#Exl{RH?t_5Zgp>oCC26(Q;$WyC0;iyWZJRF zS`omSx>oj!ADK~KFkkK$GK;M^UWsfg-WLAMbh+SO&HStJe3SjgvLD4aU%oA-FslLb zdsk#J)4l1t;=^nTSOvqog?S$oU1k$o12eiMdA%n_8g?794@AEl^3!?vNEEQ2PUlBr zi0wCDek4+v>G%$dF}B|{d01pJ(=7yd>f>Ln=hki!-XDt^C(&9#>{D@?StZnT>+Suy zoj>YZ|1CPtAx+&we<5CGn^kc8w0VJFh#26xdIPYU3Lo>(c-4eWU zD=+@ldY+sGGb`i)h38M%{{xLSb4wM@DTHE;c3Vl*bv- zpEVl<`F$gn8b*F+Meq$2ZVePft@b`A;tg9E^|1GMVyay>ZnJXn zlX#4ozB_WkPRkupyVTD%d$bXIGU^`b^4k)%O8&>ztciNg`=Z5~eI8XTE{bg&gKm)* z1-`OOxdpmU^oxjRRtYV;zvTU^SZi1pWWR|NdNtpa=kH=_BleWd-u3=nY|{+yW`E-S zhwz`z;b3z2OR?v){d?JgFJRE*wf;Fzj&9@A!e-j3SDmK~M>L%B6-;33|%VV(mvI z=p{EYs~2~6cR0M|>&CBDaJul82bodq^QE`^)@J3xM_y#M2L98%rNdV`7LZM1VaVDr zTjBVUc9c8S| zZg+H%lWq2pqnoU-*+xf;$^JO zJbaR5s?9=tM#vd9i}V>K%WXEmXPms-u#M3peA4A>Hk;&gojhu@ET5^;bD@rJWAuEV z=`z}8OMPa^RGY2xnJqJIw#H|UTxeKy=z5EYzl*nHU z^9}pVr%ZNQq+|CDYw%ep$Jp#=pCvNau$pM;d#ilFu;bDGz7_H{!!Aa*@~xB}i?x-D z(d~Vg$y}R7`L2+aHtX%XQa;WM=L|7}d~Y*tP~Ycsv0uXy-2A%7xHGzImWvIe_^RbUG{g8p#5#G0&BEmq@&RW03ET$xnC6{^CAdxgVzcwU+whwzI%V|y zZ@ZkptP=Y6_}O=t9LcN-vS#JP?Uu2(kS5ji3%+m2G0gOH!@aVCS&f+4;}74r5$Wgmp*&#NU}T4+ zqe9!vhz#;OBFmUn!N)z?_+R096UN{IMMcCgthbwXw_)1~yaJi@FJ ze(4eGcSiogj8fgt?;9ES53*7Pfjx)$eJd9k*0twIzwhNX!-gXJLH=Rbl%C`Kev}!@ zbhsOPPWHPX2b&mtvW~_5M?TDcl(HFq7v&~qbiF(Mew78wDV)yHAMzZtD!8v_u=-Q} z&5XjG_x($f9?dwbqKo|gw%Nw$Tm3wg}JN<%H_&+&zeqtM}x*JB% zFoV@V!{`}iD>aB2<&W4{n;rIRrE-}y2%4L=R$Dalp}A>mwUb$;qj#@zWN+Ew4ne5; zjG2Cd8mj&>jA9Q}AuDvsDE2TF%B%{CdY$zPQ!&Pmo->E3o`zAlFxA^FTpQJwnND>Z z6>t1#4ckT?VO9ledY$)cs}8TE__SuYTEk4Q&caoRX0R}8USK$vuC>x{XBe&Y?~xsB zMl1aYn`L&r=+{{tWh;7J)kXDO<%+MXieskzx~kjV{36x;wqKTar24m;UpMuY%{Gf} z>IY_er4glmwf*MH?yALY6rc8sQT>?dd26g1Vi=88u_{F~tZ5(rSoNY?xSr}mW>v7c zSCBt`_a+)weJ3tAsE5 z%$H^ADQ5KE#UZ#+y~ON3$31;hn%$@_7`DFeC}h7I_F~@&$kc-r!+nk&eWx^AsKN|8 z#;liNzc5QREU+JGPB*MCvjv8YW46+;dCVR)>@H@T4SSB++lIZ#?6_eK%zie^w?D<_ z_mEC!Pi7qro4{~?048}q0VOH_qnw3fklJDBO~_Ga~=_QPxJ*=9GZibu%` z_Q^PZxkYt)Of#ClEK@TLqxs89m2Vi$Uv5{c45RtWoobU|G=EvGf*;pbX#P^AHX26r zmwQ#6VKjfaPc5z1nlxj%Pd%%d56x!oQ?D35dg^?iI><~vb-qt!tfO$1@Zivwo87On zY__}EgX#~%)(zdI9#M0j(3&p}Jp_-aUo>;n4o&cVM73DYevU7gMH=?&(1Xn$Q9}*$ zPdJ2ZDYFJ2noB*RKGS~CIbpthMEP&fF^o+3tl6XL9WLD}@SOBu;$!NdVc|KCCswQX z4I7{Hbm9|gZ#9Lhg2J5W;TzNq#^zT!Q-(jOHnB~rv1gk-t#&Z0bFCTpe7nd?d(OB#Z0fxUQ(}UKcM?dFR7EvDq%~)g=R0QBTrH6mGDNwAI)A- zW1iORP=ZJEE$S#U-CAE$Czb%^bI>i*DhzDf|O6{&ZTlsfo`J z(>AxMX*O%we48rP%yBMZk=(8#o?}f%i($ddwyU9~yTfutI^-kWQwy+o6l)?q2lcdLIhqq~gbke#r@ z&1$|!{lctPh{XKndsXI(6d$qD=KE9zvno(|&o+Nktz<^=m5Um+Ml-%w`IdUjFu%k_ z@-6j}VeOcGVpuO`Ckz|H>~F)yB^Hafl>bW<`x;mDlJ*s20D*lc(6gDTNz_DcGo`FpCs_>D{YwE6q$A;T6R`#{wg&D)c{Y5t*dY^M0uz{5#D zHUCIWFzm%7?-qyDDrQx%FDb0WVf8^rD`kh^i277Bh#sA+j;Pd5?tWu6gBhd8qu-Ry z?tZg0gTOI^0*|PyE-t^1)m+VRL-LmbKUQT?9@*j(bw9I8*o>N=s)%SE!_x5|xB67&7)I~wf2s-$ zqu4)Hy<>FjC&zz@nsJ(O?4PPc!zlJo)jXp~v45&cnd#U+Rd+F~goP6h!Dnh*PqImV z#3pNoy<&Fj&(z6lTz+4ubDF_-lRoS4h3Y+u(;`l0^yqd>J!lxE`k1OVj8c6}Z5z#+ zK0~it>~&1-(Tr1lOzk&}QhiLlZ8Ry>$J9s6bgGZ3h%v7CzEmp>qxim5s|}<0zEt0j zb;b9k`b9I2?@NUnIODHgP<&si7|nbrzAsfjW;(tv)mUbg;5X$E99OL;Q#f5p$5n)8 zux83Cd0hQ*y|zguQKxdIYep%nQw4@m%Ieg?O!niFs8dHYXi2ktw|}X zQ!SY3l+~&3%>o~FjGEz^aqM5IE{0L;Xwzs?>|dz@W;*t-)Cy)g_7f_rM8}>m?hPV z!zlI>D!o+4{`QQZ{wLIQ%{cZGYPMk%`w5k6G%5BIs(_h}{e=2-5m_O22u`ZwnnBbo zuYo7k&J`}duT_m^FfFUc;ICEu9UQx$I%-f48b;}CP}PP}IvZ3Xub}IFsE!)cNX)5G|PN^cpDE3ookzo}3DfQVstm#8_ zbV}7}#<8DLrwyanPpK$ghu8C!b4vAQrei;)Mlq{|2eJ>rX*FVvt6Wa2ahgHP*;@lo zs|ucD>he6JR%r&)bK;ZEsEqZlaNnp*&ETD!weXEv`;5-fwYlAr&#L2wQI5{4(}q!w z&Z=$C>KxscTa12tG~*ndRR;{C9Gz7^8BHqBv+8$dI!9+!tLMmyzT(cQG0f^kPv`jL zbLt+$DE4#eA;T#4b87A;9ecHNCTbRI#<8DMiwvXK&#CoBlVU%oo@1tCKd0VeRtaHq z4&e@P-l46;W|%c$m_NVnJ^ly7BE|OfT>9Xl@S^fXJh14dgC5eDBjIQ=+m92Y=%0?Z@?NC7p>ubp^ z?7lvXe08ak+p=&Mhg!or+D-4(D*U%S>9`~UTBeZXPPX%~Z9#&*j@++~XIN+JRdrrw z`;;CD+O2cf6m<`vW9inO(m*KT4YqJQ*VJl6-5Yq|&LXs{%BM|yx1rnv>QL^pSBh0rB$2p-3#Gw_%U{>Rl~7-a+Lv0X zb#;(ifJ@T2RbO51-X^uCZj&#CH@2zm|6gO#S6^$)BVAJx>quY4I!2OTF3nexlLf0E z_`l_jdJ<{IO-h@Dj$HmOYyWTgy;7-m$5^ad>(4R9v1DiyxAskD-&FS165UQ*ZAqBk zPv=6*^>ySf(ei$LeYwl8Wy>yW5+>Uc%e{+7y<(QrI4f}HAwn&8PodVii8cFmAe|NL zrv6Rh9ywIY)WcZ4)4k{`d6t4Zl(43jY<6?M;pQeCg?oOG1+A$iWZAN*W7Ij)y_t?z zOUP}-=*qPf)+NFIhhupqgDkt!Z_NbWX5a8AvPPq=f+H-UeoW$iGZgA9OFUAowCTQ7 zK~NKk*6)CFoP#A;`Z`q-B2lh@dQtLb?mw|>e;DwYx$Kz=`?6eoKCU0Bvzf$IH>0j0(TyAxm`1g#Y$(b|2sMD8GnX(K35}Xw4tAM9)$-u!W}XNjURY;Or@OwMz37zaSllJrn!7~LxU@da(6Hy^Ihead z$Ko#6c1YjDO<$LQRSvt{+7-DK?oMQtiKU|@WX+m`U1`?mE~oTZv&7+8&Jy=OBl|j? zy5!yUwOg-bb?sbT^XjWYy~g~W>z7h)jY00~N`2K(EYh^ek1_9!-Q;Vv^QJ3DZJ`sc z_XRZdr5;QGtxpB$zLD+>NZiZqYWiPs8qRYq=&;lSOJnDE_SN$Lty|Bxby(fIl3Uk^ zHR9-T$196c_%M$<8fm=7evBo$47FR2M|#}RtD7s818x?KHg&vI&Q`o6*SS-;j~(e~ zP4{s`w+%g#`mh~co-2D&SY6A_*$zpRk?3@iL>LM6Hj?`&_jYLYIj$D2xPS1#-5DvY zyIfyiTH@~3SEX*TTHcY<*_p8iqrOYf0Y^XyDJ;?Xa=&}vKKkfU_`jdw=iKW5F`^vs0P-}vs6mecMs689RUTBenwhZ$9`B%g@otmjt>rg53Omw>+K zquaKY>o%kB#pyH;;(JH#ZmoGew^iNR^{j^60%mcH^Eobe_f0In2T_6c)sppY5^@XN zF_F;K>a4p`?vkcG=anSd+W)^TU$4Pk>9@u&Eopk~=zdt2^HwgC<~dZ4tq^e!)GN5> zv9J4_P1lhtUTZwMQdw#F0gO??2OO`vo32^wE~_5D^p&e;$RDx3#v!vPosSPA{U;F{ zyU(+vf%P@&71Q@D(boQAw_f)}jv))~SGQhCX>4&V`CeV3eYG9kt7MI%P#Q@txxFdS z_rUd4qwkrxYwF&~UE=Q6xh~+b!(ARTo8ofSjuo$^qridJu|FOToc}q%3xe@*;J$fY z{KbcsxDQ`T+}pJs%GyI29uA1WuO{F=aL^T2LpS76uoe#o#NZJNoA7WzFFg0c^EGe; zzaeoHzbn%Qk3c-y;a4Os;L!#T`l3WTNW|U$lkiAJ>nZR(?q%=54}V99G(3;S^JqMe z#bX@q;Xe+~hxO0;O_holL0sh0b z0MGL=z4P&01cUJi#C_Qv_}$}exCi@AJO<-_>w&mG`VrjO`ZGL^!0njEJ7JHw6ZP)L zu=nHn0X#o|=QVi7eFt%m@BZQ;JU@(aKaA%`Fy2S-{5Xc)08zMaP&?RyzFTl_{w?T! z6`sN)5RYf^n21L^*alK;L)kX)!t+Etx5FuxH}1WP-%QwrvRx?Kjb9s}oo9FBKF_#sH=f(UUJSbz zWqUE~UX<-c***-r4`ur>>^_w3Ls>2SThyYg7QV#uL_D{{-M7CH`%$(ZzQglGJh#K| z4gFgjK-mG*JAkqSDC-FHpS&`}8nIZ=)6YuA+Ys@eHH`maT!*++KEv*p5yRznmh5H8 z+l(I}9)i!=UC(%i@dw6V8HFUvK8%5g9a?lmjBL>z@euT3^Z{}YVt0}pKPn<%3reev}I59fGJ4{54StP^6fHA`Y>mhl}z0LpNuxT=L%-Fy*`R$mS0=wg`98%W9 zPh)Ni^uRLN;#CjcV~a(a3?BP%pb+$Cc#m!c7dF#N-UGZf&LgO zSp?%wF^4^a#o?eEf`V~J!?K_>c}MsPbU!e54I<^&2OdMqv4VE@juo`eVJz=`xDMz^ zVt>(mT(VjR!|++*AfUJW)C(i<;m_uhCx@3_SC z`xgJ=np(#gkMTyfz%Q{-Z8DDG7&F+yGqUr<@4T^2C;r+h2}>ggb2@dR2&spxiHl^C zT-mNHq&v{NP~BnSM5@yjh-u>fiKCh&$=4% z4DHUX;%zx((z?*MWfJ3vNzdZ`WX0(Afyzmn+tx$XBz$Xv?R1CDla@EHhc_qXbT}iA zPs;B=EoVW80zoaLKv2smWA{?d#d6NYofz+7&p`sxpYXUJcNhs0gM?rD*$(#$+I@H} zr)mS2{|5Hm!16&xLT}k@;xwnpu=IckAKv$33ro6iiN!MRAiv>MgL~_c{9&Vs?^vO}Z zhym%{P?D4$-<*60bfHoTm%nn&3Ux=zNnL!f^=@wK1N7h8qheY5Vf^+5rR1nsm7c7Q zVkmsi1nx|y8l;vyhIcI)1GHPo7~b7v4DUG-sQyZi$6=QCj2;8DUrCyDWQ>SB$ri#? zNJbvY$=W&2<2m8TxIOY5`(6;V-+Bi69!8|yM(BEcDDn*S&3GJfT*fnz^>AGV)-pI5 z%QB=q163LOBD=$@DER~JP=B&F;{xh`Iy$hMhonBxU(yvJMEvApfp#Wmb~^*k$+?J& zCzl{rPJTQR-^Is#QK*&Ou&qv^t2KT~WYif*nv&Tqn9C|yj-GPZlO(w)ugaK*m^)=< zR6UeWxfk8Tq8^G0m(+Tb;JGQUqU7l4x1#dJXH!0m%Eof$fA%4g=IrP$oVHj_8^!xl zG}+t}9VXUIU4%RD`A?&3CwT0S(fwI7o;7cS8PkfzZBRIk`lY3)lZ!3td`y^l4BaV` zcGgajbfu?Ynj>4J$Ti~vVpAmT5S=1vFXj|U@3o{z+ATU0YidDYChuF2B5CL7F&r0$ z!kwctIK~u7dr4>VE(j@-_MuLZ^fpn7q_+_=x!yCmPII~La=GqqgW=N`$xKd9CZ{Kp z)02tmxivPE)04^R$&~b_OD3nM0MnBlTflo4$O>f2yv zW`cL7q`j(dgLg8A1s3q$2$`6|GPFi1%;Xdn@ZJXnoWdIJSC>lK>3*rCf6*_MwBP-5 zuHU5wX*c|Qbu2U9bGfA6nEH^X`Yc8FC#XqR+)_#Z$6uhR%oivc9qPe%#@DDr`{pl| z^pE^IIsIh$hM?t=uHWU7`taqFuB_#lud*QQE!&^#niKrcZF|a#~ne~LnNly7W zwtP;~h?6F#%}R?qiC6mVkrz1jKiJm;Et9nyXRV5(Sa3I4v^+MjyJ(wLCcER+x>;1B z9LE$9pVeY;u%ezSSW!wVbRz(BP;>z2W3 z@}aDsuj#L-g!?Nh?WJ7r%Na@M@xgbpJ6=)E#w)6Y6h-Z7jH365$0&M#I7Lyu;yK<7 z*34kdOxDb0&0N;ZWX%lLOoH{|5Uvwt799px%*LQNR@8p~=<&@mdxQWBAPlH~VGlH<4a5Z6kQSId}Y4%i@jBW{!fn)SpL z!tQH(;`(f3YEReB*diTX49#glsqGj*I*9@4kQSC4u*CbXfm!H& zKdb^VuT3TUR~EXYk|bFzxwKI-x@8vP z#PAB1RIr3_Vt6%6s?ohId=FxByFDx+_e7R#3$J5I9ZGh!gCNo*9MYa}BD%SD43cjm z>m;&-+!I+cqr!mMlZ}r1)xfSEGAKdqRxeAla`&_j~OLCx+LtCInO7 zA((sU=op4@Ni7}Zmn=yy6l5rX1dd5AisdnCEcOAP=uv>(ZO~u%m zF_|%kv668a<9f!ujBhfYU{qn8$2RG3HX@M`+OmW(kugh4!bzUUn8jGZSk1VHF|i%j zV|%vNo=PmsAjz{>Ucr(IbWaSgY2Oxgpkq3$=uEgRJc8Yci0`$ph)jp}U8@-@x=}6c zL2TbOF^b&Pj9J|&RTbUYmoY1bbzKq{xn?!gDafx?*6uDb=uj@^k(3fLG+|as?F|i+o%3_56>EIbtjkuxp9>$6Rq@Q>V z>s-U`f$6Y2wqhX1g>H;}5SBxaJ&5~y)*+_%N*tUHU-ya_k`60-CnC1)LpZu+-4M1j zl-w1J5eezAs&5@)Q9l@#4)^r0PNed$P9&W@21!!K@;a7468SI{-i7)}xx&i2t=Ga!Q9U52+s-$a%qvLwqO=~S@0 znsEx&SI=!tTxCgWOq$6#aoB^XCvxZ0x9H%6td}&LcS3w z+1Ha0Q_J#1bdPSC$nGq3&y2`ocP{H!u)CUZ4{PpWcMbd2vAd4tkeUvC2BxG^EE^d2 zprmGi#|V-vXFSQ6do4*kMzSVjmo#=W?n$H8k}`@U6{EjEtQ$>|h_U2OWXxjB9ZNbj zj9tc&J8K-Zv0Qf7Fs6)W`FIMuXM8%yK{YIim_T)xh*&cqi?M>S8u4rdA=W$M%0XF^ zC~O7eo^)>886>I8Aos}(vLAupO2-z?xcoYj)G)$iYT+J}Ns`N0!IG2g_LxHQ#3?wY z49-II4)K^ul8R}R&aCUxVfoO+>FLlSAu%%@HVxY_lYBj9u{FjT?am@eN;ctgMvvL# zuFl14FmVqej^m7p&UC0u+TbMLh`cWl6B)A@D;TRa&LiLI0>=52o`^znR}`kh@#Jb7 zm!#C8TjTL$C?YrE@#I8A>=O_}QVEx&WU+)$yN@UDDGpLtl8g}x$lYZ@TS^tXbJ<M$PBb1SE1Y;s&1!Fa19V3*JP6cB%V;v*h$d(zi z7^@lgFv3E%%$UVk!MKO9jxk~pTVSkUtY)lZgvIR3n8jGlxJOHFBHs$eJ&bjX5lc7} zV+CV1V;v(bWnacDjW@F$#yyO6j1jl6CSwI-HDetk+{(U;S&Y?;dl;dDd?OgM7%Lb{ z1GWa74u}bK2JQ&_AaHHaGeNHh9SC|qXi0EI@VQn$wz?_g+SX%QuWbET>(J2lp-+Ww zZ#yb{fBUH&7I(O#LrsT15tAaOM&x!(?L5Bo%+5ufgS&L<(!0yZE}>oT?)qm}|Hw9x z9V62t%Of{Oz8~q=ZF0BDZVz_r5j7-gc+^c%uSb0xbxU+r^gGe#qJNF9jX53jTg<@N z@v)D^I(t;~nB042@0{M7`fToVpig$+d40?KF6;Yq-|PA>>;LM29RtL`t^>~uoEi62 z+|Ia~xFc~V;?Blhh$|lCJGlMeIfK^>eqr#|!FfZ4Y(l@|2;1jSX@q1MGgg6!-&*8W0CLwl?o%~-({Lq3wKF4c;&zFPosZT3> zY8C>1_>9XRpJ_G6r(-Sf`^|wc0H37|gdlt()*in)-5sBXMdK5&7<>X2i%-6Kz-au^ z@g#h1mX05X$-ukXlc66>!LR&I$LDC77;+}wJ)eV5sBVBE_|$4BK95VlCsm2~JZ?CC zyZlV?0osC3e752fo^AL<=XETXr-JYU zcm{J?J%;WQMlHXU-Ab)Tc~A)Lb=fK855%P*6iVaF))Y#+H?*#l0HZ=lqAmQ)?n7Y| zHni=Z3hSe-@&Jf!>w`FyaYWk|=$^)y@6`(3v)i^soY$7DEoOJ8kPax(7IY}B<8G~~ zou(G<2!9IgTnQ`NQ_9D7_}mj4+YU{}&<*Y!m&fK6S=SEJVXERrNA zyCq{Y92WIY#Qf&BBYqP_p;`vIN=BDSaWs{uRXzp20Ow-}b!q6_>5{xRmcl;5sB1*m z*Qr=4D=pEr@JCN7ZPn{7zstqDuQ#ReL&op=v}*=1yzg|xm*TP!x5ecle!}=IqZ~w% z4vYgCComQ=u3}uvxP$Qv#@`vk228rjJmY*5~$V|G2WYS8hzI#e21uO;p+9fU>LRY)x)SR_70=Aw|`h#bE~y% zN+jRc84oai$ap-F+QavWkD%t>aTMzJanuqXnQ#i5YYc z_ytD%@-?Ew-qai2ZIlD$VTc0zRUeecAO=9V@s0?^L9tvhdB`V zOt}ZT-(-9X(<`w*?t{1=M+tlj1xFW&J@Wu`zl&pqgm(}HyoY0kgoBLlcbT9gZskzQQ*#BtCZ|Jb@#O zfRl*$t{RRs__bt23IDk$9I5l2FE{DvC7;V-5mCW#q{8Tgemd_PTOBTf@J zh}Yxyy(AQiJj7Cwk60$=A>Jh_rdi1>? z5#NHAPa?h|pGK^a&mg`f=}Vf&<@1OqGud=2r8+>ZE- z+<|yj?m|2#-$49U?nV4gzKM8VzJ>TbenDNr5AtoqALYA_^bRJ@i+Me;_vbp;ve!j;-C0rNy1<91mfTFYeZ0|5CuLR#Vb{vMO5lr zL=SZy(Nq0^=%s!_^j1G3I@Co(AN4DuulgO)PyLDLul`1ChR;Q@&EPl5aYm&)5d#!% zEe(On2eGB{Lkv>Q5Q9|<#8xU0F+>F+wpOhWLse_U7!`)tSG7g#r`jR*R~--ssE&x& zsLqJPR9D1A)eSL8bw?boVi1#655%de7veP42XU6_hnS@XAm*uoh;!8-#C$ab@dh;% zah@86SfG*+i&Zk>3YCg@o4OY99+if8uNsZGR*gk`T#ZNEpe7_EqSDn%f{A-P@o)>TiQsi?UFu1C!skcpZ* zU?ytrfGpJ90kcta2jrsWPPhU0mfr~lsJRmgQFA90d!Ir{32N?yGSu7&H=^b)s6gLc za0_bgf~DR+;k#1*@ctQbIcn~L6{xujR-xu@xZnFhxf@oa=5DwbL+ysUy&piy8r0kk z525C6co;SJ!c!RgUf775d*NBs+zXp9_Py`|YVL)XP!s3WsJRbzV_f^-b=2GkJ5h5V zY{N9{gFUFZ5B8zvKBz&>TKL5K4pj@Ep(ehGg_^Z+)cY=!e2JR1P=}he@D*zAhtuBw z!tb7agPQx{9BSg*S>BJJw-E%>(ckY90V^+=UY9coE$m zj+YU=9Qe!#N4rqygyZQoxN=E>(U6X-k{o;rR0>P*$(+Tg_{|r1j$+p6>8shpioU zbvV)C#}2=BkP)LI@;eUeJhwA+3G6y6@*k0_BhN*4=oZ;+M%1RL>gbKpTVr;|^omW2 z9T~eOc4O>Iv9HB0?0swR^L=jWd$iv-{YLlC?mxGGQUAsL_YUwMcw}Jxz>>JdaTRgP z2DKX8Z}5=8QwQHO`0gR^52+vG89yj~Wc;HE&m{CuN=}-Zl$|tm_^jdchCes_mEqfm zhb9k8zBc*RjGMkX*nW0d#IGs|wV9xNtGQ`=BfCd2p%T z7ncb;xMNejfWA#-`kRf7OO;k;=#+z4-ATib*7@cA)b6_4OtXdTXqHo#kW z)Z&VEKOP70pkE;T#^oAh&YjG;3;Yp4Y3>4Ef!H77*^lcf&iE&p^Yze!<(cNZ7P6Q> zX3o{-ya6_|`~ZB+=XcEcL->LDA#*+nUR?Lz82cB@**yrl@|b2l*ycd`KJZq700 z+{2vvneza19%Rl#%sJlJ8)kTtIcJD0{HPh=%qx%M$r8GJW}9=4(D`+mbDlZR6}r6U z3SC}vg)Xmr<6mgbi-gYqO+x2;sR+QY!{h2+L`GA7ZWib8t$l!7&AGzF`?bi&e{KVu z;&TAJs%GFn2myDX(&_u$oWC{a^Ge%2ue9C2m9{H9^x4lthim5X7{}ktV*|(E!tfS` z2O1t|c#z>ihPN_yTAOp2Id}Ki&h}!=xraITGUtItZ;&|;HRoaGoMg_a9!J>DwH{~q zJl4p^oAc8i!9A!Po-yZPo;qLi%=t~P_lHsWzUlQPzS9nH)=T@J$1};#d*vmO{0GB- zF#IROe=_`M!+$pXBJ!ayIv~ztRlrH{KtMd61K`JiBIt?@^~ZoE*zRwJ<$*)-Sc%6H zJZ^@)=-wOnC{zVSi}iTCh{u+o1o2SoSac`g(L;2Pm@85va`9-u<1>{S5zGGGkweku zN|60pmC(tK(LR(E+() zT3j63O~9jG?hTAX`w4h7h*j9ok_WHEvbZQm2ON`GgI8j@|CGxEg}Qz4VR`%DeO}9k z?DP6-NVLZ-LvKdC!>Bi1bx)kG#^X_*I26Vty(z~e2^BYdwul>^fc9=vj}DLacpxAF z%P9fV{DAs&_yg(~9w+cPgU5M1e#YZ>JVbILrZo}MlZfd{6yA{ucswsUCa)BOlaI;g zlYjL3EyV-x5&Gd8*B_5&c(ma4t`GKsKG?hZ;K+^ZVLaO4(H4(zJoFp=4qSsea0TkX zvE6~|=l-~^^ub=(2k%j?#(sPhj`gEp1Rf*txDJkr$@oS*{^G|L<(3yX6JTt9PDxQ| z(VViL6H2mk%JOrZr9H1J%r9HqGq<1s(uSAk7vwriCKMIq=PbUg^7z>|ICIL3USCL? zLRukZ7e&cvt*oRx2h(;LU!6FYhs&r-HolnbWEWh{kE6cPSu!4v zlKfmJBp1yuE-KA0!(3sa8v7KMW#<<fZaaptDp=qxNtD#KtEh#F@zsZ?I%y*V#m*mXN z&&e*hH24InEw0B)eXJ`ky$mbTnYS3sm1XnGnYBIBTy<=<6O&!5kglkp^~T_}>vpwp z(q_`C3Eug$}#sv z*g(?DuoQAkOLTeB)pq4xv{4|tKc%Rgi^{CZwWzCd#^#rn<`?FrF3NFoF9B)T#PYHW z?53|f7?;0kCdQJT1I(M%o-rjk^IVq!X>zv#Rugnd(p-%J+??ae3kuw*c8+!~Hah4^ zT~MA)ohbEI*(G>YHICdQGHD_Dx!SC|)G857Y#w&D?1gs6W)~M@ap)Me&i^E}?VC=9 zdXB4@qanl&l7>Z5YC89HC-sZ=0CYtk>e#S(yZMiC7Uq@BwTr^dr?E{8r3KDh-R(`u zFPm#Otb#+jJgGOl|tc-Mf0%K-Taz_<`Si{<5K2c z0@b-~8~e6~Zn4lPTHEsq;>Lr2nn{qhY19J(^v(;SAVWmpviNw zpQ7$pkBEj^y_P9d6V#Gg%5WJ|l$S=fXrjvL;2NP0t%-#5zn~mvg-*D_U_nv2#s|9x z<|zx6ZLU24aaZInLF-pAS_-xy>$>8!xh7uL{JE(l4g0WcOt8zR$$ZNQO!ed@m6T*J zwtF5k`?7i^w>h3$kKmf3Si;n zt~4pL+J~9-S<_0Kk7dlog+`M}95z^7IAHgANkHJD;-v8c!D>)$a-2irM0!qkc|n<# z(9+9~DOa97G+JCWvUa&^zmbAfte12rV{i#kl3l>vTGQ*(Tt#;CzoJH?N}=&8wZKWE z49=b#UCI`P^kQdD{+xU#Eg`N@47Q3M1+9dSbQWOu>@uKpUTS%pB-?>azVn@zYPc$E zM0P&T*IjcbD>HWUv?i&!w#2$Z)14(Z;u?8OQ4Y@uuPx6m$#wM>n0s3M;@W|0oVye5 zfY@Mp2`;X$GF5b?{F2_FNgt3lzqml_mKC zsl1RDXNH1q_~2SB8#UK5wX~<{ydcfBHo$6Xs_3qOZ&GEr`eEwoGxQ>o`ebnRlxZpX zrMTXv^#)|5VFIxZtf@E$VEwd9=erm`B?g07y`Woj*XtQqmT;D-XUVQqyOoPuz_h|S zMUbJd3UYJYW3gYsrDbWEHJv~WUNE^L&{e5JyIQ}?KZDz*PO#n5A;VnCmu;!;?VlDt z?!2gk+9eHjkTD{^q_hk&(s3gA-_d{6EF6L6c zc1*raZcCsLXCjd2ESp6=F!w9E>~x?87>1-TG^nI!#>N=+0l zDJ1t8?G?9~g>W)+?c0vJLn^~8Wfa-16UJuGbJ{%@6;R_Fa$GUC$cgtBsK6Qt;@w%3 z^xB>{*~Tv2reunuvs*5umYb*U{Y$Mvwi>Y+kTZ(x5T)QoT%(6=DDRScgls*(l&4tO zQDEceITkg)lp?IoOJd?dn2coNR6FBDr>v+1ev8f#KGjdMuNQrBp@<(TB0kJqji<`-Uv{UzB*V;9w$c4;&> zP@teFXC4lUctyKzO1dn&3GG-iN*1Rs$}fW(`97>3&zyKSOs_kyE5^GvrTV@-xl5cG z&g_zuqJ@Plw}~lhD5EQklIfZfa>ZXllMB!aWau`KhBpFAun?WVVl(NW0-O!i7ckT>Ii8n zV2`zW%rS+7!;#e_0mnOYTg~MON&LhByU`IiMa#~a3!{qi>24ERFLgC3ZuWKq)6JvU z+=kG8?)N0Pn6PwAY%Z78@mOn{4EKCd4Z3E1Y{Tm9n2ayU&&$U(6kkYIe{U0NoHij- zxNa(?r#*#b_O-)edR#;o5|PHY07-()vXt(SaE020eAqZmiwf`w0(&=>kWO+r-f=E0 zbKO>JwV;LHqf))rk_8@Ld#&h z7vh+tI~AJzSiK?Mn1z&lzPPeW7US{+D_Cpcg+{H{onwR1cPaC8F7=`-6tGrfzxriI6O8i(4v$3XeewAF1U0V9z1h9r)ql@!}OFN&8B3*@;D!VkUrfoe=a4S!j zI`-|{_obsX9E^$zEiZk$VoZMFf}W|1ic6gMoDM4%yEV&gTCR2Xm93N)yZNV;HZ5Nh zh^vKa0Mo<|QS?0He_LC|nl-SM7pG&#!uPICe{R~D`z={l0_llUS(E%*7o^p6O}n+H z*lDHX@CI*5{(S6Mumk@u>*w-%m#G=B%HZlv@9Jue8r{`Zt>$KHHNBLs;&u6ph$qq3 z4AX9+u7c;uBd)h>FPK>FET^Z6vuXKFcSl^xrPfVK*9_b=Q5-j{zRV@DDxO+Z;~v4f zkHK9KbMRxz1y<*%_f=g4Fb zRq;NB^D6ezvv0hbw|l`umq4YO&YHXQF}6&kfv z8l5-**P2No^>+9^2MyR*GS=lipWk6}_2N|II)F=dDZlKMWnD2^nMWzN^0BkxDnU#J z4ctZ_uU(o@Tk|7#Kb(S$D;i&}n?R#b?1SrIwvIC(8gnlHn!?qua-9YoM)`fNY+Mdw z32Ejk1u7Y%khAEhycnXozrMOqnEHHUtXYALklX zj2>5L`MFrBxt1x?q$d?uADZ0by}a%vFIC5Am|l!?S`#FbEGj1BG$*ZK zl1R<3aX2gOP;AnrZ@AFIEB7L2VlGI00AT65t+HrRs3-51S}DwPF6QQrPtoYHFiw*3 zOp54X^)hr{3&#?=I2P+iyOW$4JGKI|Qs8!svs**$I}``*WS4Y$9-M*{kIDe z0AC=v6f8Sl&?~=0#u7yEVM#O~86+VIF)1n{BsGl`8U&UkEC35(0g`a+b{CF2c4DQ> zG?~h&}=$1wWHlO30t-Y z4-U8cjy=?7;1#G-F3*z7JpPiuI=2+;^-)WR8vwz4-yS^^bdz+!khx@8?UA`<>9)K> zj3g`5%U~!2UtFC+Ilet$NmGw3*Vsdu!hbkKM`cPIE77I|?E&qH=-SD?MH-|B=C_4@ z9fR(|6*lPPof_srSXjjdA`L{ZK+%&Cprl>Et0qzGm>7+@4*1^DW7CVX^Hmwlr)OtV zJ2~8jS*3MtOH^By*o7`x(^^lS9&Sz98LUX`Zb(ywX}48n`jQ4< zoZ6iZGcM8u3)tYy%hZP6tWzGBEfzx=tt}~s7&n(+mV=U31_}?RGL|jgG%c9OZOIz= zag-YVdVG5ESm*{MnG?wfWNDmjQ7r%2^lOU@Oi3)vnSE-aASUgWMu#R7mi^T<-p1!O zMz(HxTM+dzZj$Zvl@;3$wO(fN^mGz`=_~N}mK3XavTm#Il{r~Y(=F6fteW7MNkEHr zjlP<}-(JMzXJw0Kl4sM}#S8YJG|G(&j0NO|3EfJ!L2lWuyxA`B2ld=eM93XmzCBZ& zejZf@#vme_iDp$WZp$!HRb&m;!E}#EZyi>zM_1=&-R^EOkUil#i~T@J0bM~#+L!}r zE#KmCBbM`AID^X{YNt*)-aimWF}~IHtdWIqBhxHfhe6E_A2PNGQ&E&T!O|J z53sdt?OB+~tH^xX(5|EeKtPH>W?m}8F%;Q(dj^{EtTDrK_8x0{biQ^jGcg`#)x;#Q zrAf>j;!@>OZN~~VwwSKz7sHAlUpR+bc5M|yO6O?|t1Tkn)M}lLrj=t=M}P_&xjoY6 z0%WaCFD}+H%VDdrpi73-M9?KIQ&X};xRxwlg1e-m^#lC4&SY)-Z~`3$rjV8Q)W~bw z<2}0!4{@>9QE_J$=bs262JY2od9syVdsDfU;s%{`In|LUqT%dHuDpQZ{mf)*#9fx# zxpaHJR*q*|#Ew?Wm@*8B(KM?|I}IqVm~%p%e&t$<8GID2X`pRSl8>ClBzOF zh(N-=fvW^}%t^H{HxJBO8L$0@L-s7`5DYBsqYdW;GFypPE*~NG(z;C(N4@69W0*#| zp(LigrE&l9%uS)T{0RFwKD5Vckqf1q)m_o8Zx|IKxKmUG-Y$?mUOTfoBQt2Kab>YN zy7FvMWQB@X#zTWCb-@D07gO~@lLTLx=T9#>?RA`uK_qJM#}HycB~VR4*$Cp1DpQR} zU5kBCPOz~c*Es7>Ofb^xiac^$;*8g)uf-mW`G@Et_nk$TvWV;<4iyync+q$Gq(kW`sQ94r~}ZA7w3{Rh%u`jhE@H5%suq znbz7jm)B&GMW*^j*VJ@jnHBI=RPbQ84Vt)vlUBu{pS-_?44i_VuP|JB$})tdcCLB2 z1HDaa>qtpEu7m!uR3%R`pd#@e1vD)V37brWf8SN};DN?q*QNJ(nX6^KbEE@np99ycX z-C<$wW6_%7XHJGqkE`J%VNKytwYrkQX32_WsveHG)AOen=hqTXvF>)bs?NBRB47*h zViBT`TV7Q*e^_Z^0J2`!qjLtv0Xb>as~VLV`D%;UptPrm7cCL-EQEuL6-sR(cyJw) ze=q_kI94J${McH`P?1Mwa&#n+UPAY8 zpVnMU+ytalqse7o-Up*u&c!RUrpu+wM7cH?a|G&53tXarI)>pHjE%fU3QktEy&RMu zv!9v&R5f$EspH(4tteA(oI0!9*^LsisRJb3(@Pc^hAP)W5bfLhq-oDTx?{#}UXb6q z5EUcN`z|znw(ZQMZl~DUIjCMC?2+NXg{*(m!D?7%!0w+jl7#| znVSe<$H(%Y^Lt`6|5q-i1M|rkhbg|F;O&L+QB_;$b1J_yRSUpoFBdTu6OKZkwI+Lh&wz|Mk zx6Y(sCg@BEsO(HYfvs+ss2L)+5{Q5kvrY|J6`gSBc)+>U3m3%Lvuqv*5pm-Z;xd$q zG$vruh2>QCc!ah2WOaV}itkTl)rEqF1a{Tz%Azb43xuyYvZzs%ho~)wJDDCjclPW7 zZhky|=7XaTJ$Ux)aa){>FV+^<7BH$i(}+fo5jO9=kEXK0*k-fJ&)5bIYM9paahD?u zQ7)2p8q!5w@(d?Mwd28cIdu*L3#w^%-Ag3O5!k}npdYqQXoixDXX_rpZXz>4MY(+o zUMiE`q~C=Yc|U~Gfi1d<5eJ%#J~VUotj@{IPp_F<>IfR3d(8)trE`Q1JcX3nUgU6l z5w?k9sYA)|jP2cp-g+;x{`z~a$IKBV$Rd7psWgjGiD#ArT0WK6#MM&)pk=fiB4qZT-alhJM-bbY4}IA|DkFb$6olfm|o@Cp$Hg`>l#tZP50$TboXir=)eI zZ&|!c6#Rx=7nHVlK`Sw-VL;A$BoJol56x=Uo?>(Fap_2-4;?&vHmI4AtK7(kh!#fE zqt6cwtFhoNX${A4n7sL#;sGdX(7qstwfr|^%^j5<*6d-?Oy@?Ur60pH{R+p^`w zt#R_eU!>KfzjN_$GT&%3qabtjsWTE?`3EAS*`@dFrAI2 zHMM(t-9$SAQ8&M`w`ivoXY*&z8XKOT#{-ltu}MzQK6L2p*-JWi2rBIv(V5{;7!Alh zlm!ppEM{+^+ij?gA~+|6CKfNvap9Y^)BL3H{k++9crNu!1TW9Y83C8yy3CSH41@;` zB!W9)j2Y(1;C@`JNFKXh|1gawtlj=-c z1`X|!3i#X6duR1|2Lwr=hz1|CRNzx+!q5w2)p``e;0j{jUT_M@PNkZ@B4cK@#(b1- zhz1?h<}df@0jRLCHlY(wE=?xuM#lz>sGDcC1#yPl-mCYV{@`pCi~@M@;LZapxwM1JB!BWTYj zr`KwEV}iebf)!!%#A^K_M{So{X+=ZJOKQ2DrSrW*K!+(F)-@VU~&vbtMkLD;$e7_jGQ%%YdWuXOrD>*SX~SQ$rgwL zGISLV`amsbR?nd?)a$3uCuXn6RqytT(QZd$9Ais!q5flB%XvN-UtCK@9nCm_nn5`` zGj(gK`@@D!P`>8(r%!4i1RD7C4hqj>$DzYBvTrHQ>w2~1+yM#rH;}bFi1noMd zYbZEnSy@FUH@UZ7LS-hi2%X8sKc~UopNyud`HBn@C~+x}f-=9XLJv}HCX=Q!L3Az) zx*GflD;%?6h?!(Z{Naa~Zn)^wtu$G$?ZO6+9G~IhA6w!?jukXTY>2oOXA6)=tG+kl z3@u|-lREyIu|n4!vJ$>u{od4{s3vOcq14eNMW3j--7uNdV+`B z;f|K(32C(kapX%^h)dXK5I>xO8D&2z1Rrf>ir(uyTg*Ai+9{Oi@>Cbh9&~f#%`Fe6 zLsQg%o}V3wv1;KoHYlt1+|53jHA-qQ?;hH>_wf~c8Zx6>4gx!p%^-Nb7BZF z%i3+D1DQ_!3roqU9R9-%BHl?M)fEh#=wvW&?XME#V!)U3))S)?RgoZ<|l(~7+IoakKP&_l? zYg9J|gas?>6^!Yv*YAZ}6N3>hXN7_iwGCa@-X{Mu_H68rn7RBO9A zzbWsVt)8eY49C3zW`XU6$`;JtQ@WevyC2nM?gn^@t^C%+xEEx-NME3fu&t1`#qIHn z*krVWGM`Ma0t+8T2*Kew1WR-5%>K5h@ddK&F&qC#VTkHg#SWn&0t z(kDHhRUei_^oxa)oij--S;VEUigV5ipHMrOtR{2Gd@{@T{;Ig^B!f%Ibh6C<1>Ti! znO)%I;TiI97?*c=qtzkDz-3C$@T?JfqNCgt^(|3?^7}9FT(sKeDAAes@z7$j`6u}z zT(Wr|U&T#&=;58`Nr`Q&@tvYo>X}KB56#iTC3;o0o@z|f{GYSF#g>!ZOT2S87$xSs zCwH!dUQLm5EFFEaCB`Q^pR}ARcZpCk*!n(B{5+5oEMB0z#xelJh+ANzWDj zQ^%f8{3SaD`OAFcSNL22rcMRz7)*BlG~b2#Y*OJHd?P#)zWk;4ec>I9Y`%xojIt3>I~AI~`r5kF&hZF}@0=YWxZkn1rot#ULi?N_v+04~Bba z3H&XS%j*}0k`H;W)fTgYmS+(&9hJtj~uh#gi1as{@?er>4O$&B=P5{f+)Z~3PYMhKw zzc?{Znji{(_h(f97I1&?xQ$-0=TJPq4w1;u$LVjJXX@i|FzAp>?z?fx6ZA;fzCeD_ zMKW^Z{DOq?;l66nro_kcB}6llGmeRf*GGsEZ_UOVc;umc**ugVrHxGfw9LS}H!7p@ zn(0@pf63TJ`SP_rWAt$mo~SvH$+_g=+bIndy{+<^iRW{ziwZYt-?{f9-+|u{LM=GV zL-h<}bgn%Xuc(GJ|NERGD8p+_mOn+c`NP?SNxcG=Dbmc>x&w}&2V34&3%#I zKE~K@f_f+0^Pi!dpe>4#6c9{LgNN4H)($sX{*X9)cZzw06luZeN{5t7_`(z2G%i8m z#&su0RHl=PI;mXH7uVN(Og^AeXJ}XLbnjR4o_wA>W|N_OiYT*Ycv`04VCa2HWy80v z=P6IHQ7WCwUMQ=%!bKVU7p^16eUjKksP;6!Q1OpzgpnIapX#Iym)Q|xlBF84=7?sI z>jtqEFmiW$zrELI$jgBgS`WJC{`P#a4yV-xayqt>kG1E_xW`*k{=;7O67(+_#p;_{ zrJITZoSx#yyq|5l!d-9K!biI0m@?=~9}+w@YH4@Lc(=R}GosHW{(9dwsNvzP28~Ih z*cdvU)SEmiJV^79z9M*Zr%}!0dcbohzX8i55ue@r(52;jBYr2T*qC3)WK6xhNkM6l|cJlS#`NEl>|3%nE z|2H2#``35>(bl8AgQXpX(qVh-Nwy4@9_uN6yfj$$P~*D;G4%Tb<;}`l?i(!aFYIpi zQ)Hx2I>Kx7fx@0d&&R_1)$Dyt@n7|K8fski{G|`-d9_g5=jo+N|HyAY@bs^K^zkEG zDh0JOP#WCSTU!5_-b$gsV_T(IYJ8*AxK?Vu+0$DZ>q`oy<|j*oeY*;zH?FaOE^JAP zr6Z-mq0->i#Of%GDcGaOKrVKoG)UIsP-&9Lz6!-(E)5oY2R6~v02K}N>`Ml=s==4l z;Na#1g#-|h@i6%r_bEb~)vv>J)>}Hfsgjg_yuXqRmYyP>t~cM@Qt2tsa;b4$iGx;R zP{At}yrQNDN!9ZTPsTOK|0|pJky}4kc$@026vJW?EX`r{CuH)t~QUXi@~fN-PvJI86uKW}k1~+% z-<k#`SVQ>h&!|>`fH2V^^WaL%VntPWyQRmVsnb3|dN>uQ;%)u*r)Qm9j0%Slmi3 zHMBP=s|gSG0sw{w91Ji$rD-1@q!NM}%|3yj2gH)>Nv!|t`wSI3Ao5+RP1L&=I;iqn zqNM?k;PD)z8Q4ai7-g_73vZff_GF$791ux=Px%GYod@Vq<9k+K?}pJg^xODL3%}_I zf77C_+pi%%0Jiz&j!Ll%J*rE9*$Chb{Zd}U@TP^Y+wb?mOxZ%$L^E&j)A&pMh=dx~ zcU3ks@7^Fz;BUTJ-c#w#MR?pDopGfHR2)P@Tcx`|v|!V?77=`H04S?(Lt$cl21@Ct zEB#PQvD|BO4*1yYDsQg{=YwU#YrjphQoo=l1om$w^IQ=IRqA*0x;{|ZZ26hwqJ$k@ zJiKkIh?YEMn;HmZ`ykNruF_y{QY@F9VNfUkHYJ7rGNWm3-%=^69sbdf9^wrPh0PCxL5tuyjO>=7_iml^Gv0mbO}IK1);7OE*r6wk>9? zKZFK$R(eFQ9^E`SKu#l?1jHTbPkP`Dlm|Mz`;*52jA>1y|11TC>84s=v+=D8!mAq1 zAZbLe0yiSyd@mdMev-lPzP6279XRg5jx0=^MnPr8Liyd>sjTsNnk+TGSav9UUdT`- zk_ZaF?%~%5l$VT>84SC1WG@Xc(+j0B@XJVeXgn_p-eaYSot2^iq4|`TPBlU4NvUt2Tt)4!Nsa zg1l;6?cIfpYrZMY%R|#KkSSBNFtj(}UwK#2pfXrme-%cyH)V9Ny8ito-xSZnzr>YHRss6qvDHF)pD$vwl~L;@;?OILtEcpK1&(|*GA zu87P-t>qnA3uQ`WZ%9=tC%a%MfJ*uS6<#P`Rs{_5@J=$hbn%QqOs?+(VWq=C0_sf# zsoo2gc@bJw3&M+#RSpZV;h-G#cwj)}pr9nPo&#{S(v_{E8pv?>`WIaGH+})4`9Usx z-KkRXPi)6*z7LQlh-$e66;ue9IB2JqFdPOlbqUGtLY0$89k%>o17z9#A`KC$}mN4%L zHc8PUorO%;RGmOmONs;Z)29Lbb;&e1RNjdI62>TDgoY|*?*ky6T!E+`wN(S89IPCY6P^Gi1Qo8L!L!6T4ijV~jl_+|1JgvK)LgQ4&c zzg&NIbFU-^te7z>BzjXGg#l^|?xL&4Zxt_|%S1n-3jY2kDwwiXj}X|6oD)mGZe5xx zHBXdGRvEJ>jd?7R4w!p*AeRj63}`%E%S1<@E2wO&0z8b$2RnR4Ja7}NT4G7^Cur%k zA~jQh49f?Co8h2kP-N-XzD{mFn}byWp^AjJ5r;kB6rj@-Pac%K$& z=(-YZVt_KRe-*K(!5QcdL)^TS!<)%a#6SGuXLgz}XuKB3Br88FR+fv1dR0D}Sx_m6?D3RN;{=cl_y&uU`Jdkw5sO zyZ^zjT|V`5tGj;TI}0=a{@!Oc{ipx&+C!Jl|Kp!N@u}bblgo3T`isj)|KPuTcK2uh z&A`QzDuR&%gL5zxL}-7Lr|=mjqWVa1i9Z$Hzww96oS#{8DXh z)(-rp=aA}!WNKi?k8v7`?@#-IiCun?TxCv9VO*_JWp)$?#D1SE4iv-VU8$@QIcR~S zYeAE-^nx&n)EN{q26s2_6@JHf2bip%2DkTZVgf2cd6=-@k-EB7YKpx8`>o=0 zk_f^C&*livAW6PW#w~rIm2#H2{@qaYyS#6+Lf$XJ6!fr{P!76@ZUqIrxVwoOi*oZI zb7(uVxH*RMNxxQIm_i;%!_^@aPWsdM_5MB#1-zox(s76q8-opWk{+@^J5pqg2OwI2 z!nnxQ$9R4hiYk`IG@r>lRz&WGtjaSM$zEm>OCRijvS4k^qIZH7tM&I)cp?^_=;oc6&h{S92I;id zHr<8#?i2MLID9nt2)R#P{mjMMDqrpK!<+K$Nj-`>DRSF*y~6bnP;zxvl<;Q&q4ABD zrttUUz}0@5x_{)r(Mb*;i=erc!rRd;uE%S98gYhm$mh?`UFmG(Sq>{!aOvd)b!ECT zO#jr)u$>GevLc;Xx9y~;|hf^!tPIk>erN2AP|aEZM68&>!z&dT(aVGw>Q zXCQ)lkuSTOlSZ|ABI98{XhK4;@F|lL)|}ox)_N?Bh-p@Y?Pf)(D;Dvc9ZVxuGb^^F z`Hm&Oso%!S7=b?30wCuE_Zlva1Wv$5yE$ogDFc1|bo|JTFw%uLyh|=zI&E8>y{9s_ za(BIQ9{Zqds}4<6-QuiX_CPXlmD^$9zH6=rkiblMw=FoPzdlYgI zBdtVLY98IyhjNs@mDay!BIg@6tG}@Djw0uMH%88|NthRmR=(8-t*n2mH2CQ*J@}x= z({a;{pbBbn~0T&`9wbGQgD z?1&lOl*roMSHOhEvZV1+A=#PHi`^kIL`NPtFmjZyBh6JWKef1;znik&N)}sY-O(w zYRj`hDjlnGjwZ(oIw5uN6I>Zq;i9FAzNAJov(VDz`*YsdQIr>@?Ko_!NFETbr{mg2;=T^{w}^4bd#jsF2|lrA6QUaHl3ZaM;Cz>k+`1%rw_V^Tc!(M2 zWJu$SE$ui#?PI|Ak9@RK^hRlcDBza5**2!o!x4veO8U`bVa_q?x0rNmEj@A2zsH#4 zi0fMM6r0@%-%82FgCDq!mOtCl@;eTLy@Ej)em7?Gvn|cP&4C~482HDY@98r$WlJ0@p2oLqp-^hP&eQa~y?Q*wT7ieQ7Pt1fuYM_ysE+j!;OSmC2RUr&x;ZjaRla%^R&3B!tRx6WHqNly>l}UM55l5I) zh4PlZo+8>kA#6k_@&u$s%TCo3-g|AuUw)VGWU!AsoJZ2sML(zE*VTFYj!z{bcrRFbTmR+^b zmla};v4@Wx*6d*Hf|3(~g#BZ6fQnyG@0*9|v^M36bQ_e?-^rp$KAsr+eg8T&U2FK0 zh%74AMywlx)fPonFAvNqtI@8q%GQ^h8=6!4c~(CsHL;admX=jXzx98M$SI8 zYk}duPQI9z+KsxH@eXl@oR#^7wMyO0u)fmOmxU|UE4qFbxs_fn9#-LSJN7dNcJ%eK z4LLb90NR-7B9Ni-kMyw-E3orUbZUjHGtA+N?n?e z+kr<+1XD`mTGH%(;hK%*h{>_7N?|5~!QQR*DD~kjBklc>wnRU(T+dc z`ZlMu+<2|aEW1Vf)=!xo$*o%0iXbplF56f@snP^v&R(jz+Jz9{o1N@bNXz2-+T~>o zk7n_inb(E_irjg(w5R4UgUZVRDz65pyn0vP);RW;8T+fHH6Q$|KD&UeChHg`%1Y0k zV1+lvvoHGnG+$yX3qXlk;*ARk>;Xeaw2A-z<|EbA|8Z3NUrQ z4S2ZnWOdQD?x1nafGC(UwcmE$V9S*S<`K%BEbr+?or|yG#^3BRl(%7cZ8gYjw61#_ zDs|)PJK3QPZJlqUM?ZY>YTe)&?n3~tls=m zR;FiJ!B1OiJ*aA%cNG%MJ+kxcO#(LoYQ^$UfL}l2Ob(tf|2N9$TRguV6sP95o%KqL ze%nz`@q z$?bB$LETs;J~TapBt{=IMB}X2KcGENEoqA@EiF0+)Q02z2S<)ZQ9x`p?AJsSGPdFk z_dV~5_|;C)3cKjqR$OuOdA0Idl2iuprJiR6&pRK_w=jvGYc1TRWYU^~~p32^K`WA7TDqs1K(R|-S*tLMD4dC)+ zg4f^K>Mv}Q=V8c;DPjEw*3>rJ)c3Fn>^%i9S5O}Bj^~zTG3HkIhqfQQky?JzP;3@4 zA+0VG8h2^U@trXiN%LzcYS_R?i85b4ACma&%yApIC&j(v3x(ty+o8xczZpyz9Gy!2 zt?sEz=|=2__G#j$cUM2+AF$dtJUqOAf8P3~R#`~+XG`$5@V!YbQBd9RY?T7n!2i0? zm07t2yag+3ryBydF^0R6T>oKS-N+ZA@zpLf>lT%=;#94DX>+VY9b2j0SP@$?Z-tyb zhKDONLEbi{-H52*RW<55=4erC%2DOXEE*_o@XyiG`t`=w-tqmy(}4s6hBbp{a7J2@ zk=8c^b%%82+$tVME<1do4p$>9Ujjzuf+pj}VsJQ`VxN$8PM@>csXJJ1n|mt@v(i+E z{INnZA%YdDO`0(kn}VBThx0@ndzQ1!ior;fx|?8<;4=qIPo*#u5T_*nk6?uvz&{uc zfCfJ$Z(l%p#2A7d8noCu!;ylx_n^#T2%A|bP7MsQwp;(EToI0N_QaMNM=&mFO;cLG zxKjqFZxS5yMTjjSIp^^u8DTksLAHs~`h1Lj8T)1mfuZsb*}I}m@h-`>Dj}F5p$D^9 z+y1Rfqg$WC9h2t$om2Rd+-O;ZpVr_1wip$pk9&+iS46~pN^ocRR zModR-{!7y~+5Wb;(&x4}{!R<+<=N;>ZJo5*0=7M|T(vK0ut00)3%B3{_3=V-C|njP zgS6dE=wB)vX2pa>nvW%-FwVwA+exl2_Z=QSpub6Sv_>n>@wG zy0q~f?$Ou9vS^Gl?)|Y2Y(Rs5Y{d69-gJWV>-Yt*VfXLw7uS&nP6%SKoz`DJY_>~l zPMi#6y!FE=KO!0C!S-jC>w1=plR%a`eVU2b4z=7Ft9ruo#D@-2*%1|gUbpSm(i5EQ zDU|VyMu2}34Y>aumfbo3BF&#!zGrcvVsg@a6>UCWE8XQri>3}yvCh60*3{R0O?}PS z=z7zguC)@Q&F*DaFqlcL(lr{U9tLc@q zHH>VsN}x@)DwEQh)~}YmQPjydwBe&sXchDL#a*zj>=0Vhn z>~s?>K#eF~dDjn^d1Ie`8!uV-yZT)pwXmm7S-4@pD`qlTe?7YGzOLW|}H zyKP&@2eKPv>zwF#VO4&Nix^dC^@87sTNmh?V*u0O4(UwjJU0@%sTs~T~Pug!~FbYUeSS+;WiIu zr;7K>LUu5mVY4QdIGSc3mV2an+3aLJjCZs7<8E1$(M}myYx;ftcW0L6CzkasaS9Ln zb&R2Pue`m0R(keDwM_w2r6^6b_kM;K3>`OyC;{OPfsb0_}c{ML#09skq= z$}@BH+4}O#v#XqHT6@+NmS+uW&z>O~>G5nB$g^p;huh)1G{$Km&tNUFk(g6Oc z!j+kvvIgGC9rtTxWSc&dt-OE%QIw^q>Ey z4!LpwmjBuFVN3Pc3{oC>!gA_%H$Dx*4OqITOgCcL&CR5J(CYG=(R9z2Zd#0Y*Le-! z-1I#vEzqazmbcEDzGZn1FmC^Qm^;1PC z%e_o)-N=>i%{|PTLOO~QjHGU5=g6DybA@^jFe$UVPm@=-iTf>LYWFbr=pNwzh&`Ey zsMiI9jNb{X`zhyhJ?-r0Ti??=OAVs6i^=<``y_qP-L&&Iz9rzWOn)wr${m?q;ws5& z5NKz+8^dST#&9~+t2@fnTEvy!baz@enBV+ZW^F8fKi;g}$*3EFW6j;_t|Zyr#T9Oz z(|vq?FM5XC3b%cxx08bxRKaiuUu>ftgBkvkORZRsWrTOp Z=G*>LDJI(~^yY(ayX5~b@c#e={x_&(Z`=R? diff --git a/src/packages/Unity.4.0.1/lib/portable-net45+wp80+win8+wpa81+MonoAndroid10+MonoTouch10/Microsoft.Practices.Unity.xml b/src/packages/Unity.4.0.1/lib/portable-net45+wp80+win8+wpa81+MonoAndroid10+MonoTouch10/Microsoft.Practices.Unity.xml deleted file mode 100644 index f99ca70..0000000 --- a/src/packages/Unity.4.0.1/lib/portable-net45+wp80+win8+wpa81+MonoAndroid10+MonoTouch10/Microsoft.Practices.Unity.xml +++ /dev/null @@ -1,5916 +0,0 @@ - - - - Microsoft.Practices.Unity - - - - - Provides access to the names registered for a container. - - - - - Represents a builder policy interface. Since there are no fixed requirements - for policies, it acts as a marker interface from which to derive all other - policy interfaces. - - - - - Gets the names registered for a type. - - The type. - The names registered for . - - - - An implementation - that constructs a build plan for creating objects. - - - - - A that can create and return an - for the given build key. - - - - - Create a build plan using the given context and build key. - - Current build context. - Current build key. - The build plan. - - - - Creates a build plan using the given context and build key. - - Current build context. - Current build key. - - The build plan. - - - - - Provides extension methods to the class due to the introduction - of class in the .NET for Windows Store apps. - - - - - Returns the constructor in that matches the specified constructor parameter types. - - The type to inspect - The constructor parameter types. - The constructor that matches the specified parameter types. - - - - Returns the non-static declared methods of a type or its base types. - - The type to inspect - An enumerable of the objects. - - - - Returns the non-static method of a type or its based type. - - The type to inspect - The name of the method to seek. - The (closed) parameter type signature of the method. - The discovered - - - - Returns the declared properties of a type or its base types. - - The type to inspect - An enumerable of the objects. - - - - Determines if the types in a parameter set ordinally matches the set of supplied types. - - - - - - - - Base class for attributes that can be placed on parameters - or properties to specify how to resolve the value for - that parameter or property. - - - - - Create an instance of that - will be used to get the value for the member this attribute is - applied to. - - Type of parameter or property that - this attribute is decoration. - The resolver object. - - - - This attribute is used to indicate which constructor to choose when - the container attempts to build a type. - - - - - This attribute is used to mark methods that should be called when - the container is building an object. - - - - - This attribute is used to mark properties and parameters as targets for injection. - - - For properties, this attribute is necessary for injection to happen. For parameters, - it's not needed unless you want to specify additional information to control how - the parameter is resolved. - - - - - Create an instance of with no name. - - - - - Create an instance of with the given name. - - Name to use when resolving this dependency. - - - - Create an instance of that - will be used to get the value for the member this attribute is - applied to. - - Type of parameter or property that - this attribute is decoration. - The resolver object. - - - - The name specified in the constructor. - - - - - An used to mark a dependency - as optional - the container will try to resolve it, and return null - if the resolution fails rather than throw. - - - - - Construct a new object. - - - - - Construct a new object that - specifies a named dependency. - - Name of the dependency. - - - - Create an instance of that - will be used to get the value for the member this attribute is - applied to. - - Type of parameter or property that - this attribute is decoration. - The resolver object. - - - - Name of the dependency. - - - - - A that composites other - ResolverOverride objects. The GetResolver operation then - returns the resolver from the first child override that - matches the current context and request. - - - - - Base class for all override objects passed in the - method. - - - - - Return a that can be used to give a value - for the given desired dependency. - - Current build context. - Type of dependency desired. - a object if this override applies, null if not. - - - - Wrap this resolver in one that verifies the type of the object being built. - This allows you to narrow any override down to a specific type easily. - - Type to constrain the override to. - The new override. - - - - Wrap this resolver in one that verifies the type of the object being built. - This allows you to narrow any override down to a specific type easily. - - Type to constrain the override to. - The new override. - - - - Add a new to the collection - that is checked. - - item to add. - - - - Add a set of s to the collection. - - items to add. - - - - Returns an enumerator that iterates through a collection. - - - An object that can be used to iterate through the collection. - - 2 - - - - Returns an enumerator that iterates through the collection. - - - A that can be used to iterate through the collection. - - 1 - - - - Return a that can be used to give a value - for the given desired dependency. - - Current build context. - Type of dependency desired. - a object if this override applies, null if not. - - - - Class that returns information about the types registered in a container. - - - - - The type that was passed to the method - as the "from" type, or the only type if type mapping wasn't done. - - - - - The type that this registration is mapped to. If no type mapping was done, the - property and this one will have the same value. - - - - - Name the type was registered under. Null for default registration. - - - - - The registered lifetime manager instance. - - - - - The lifetime manager for this registration. - - - This property will be null if this registration is for an open generic. - - - - A class that overrides - the value injected whenever there is a dependency of the - given type, regardless of where it appears in the object graph. - - - - - Create an instance of to override - the given type with the given value. - - Type of the dependency. - Value to use. - - - - Return a that can be used to give a value - for the given desired dependency. - - Current build context. - Type of dependency desired. - a object if this override applies, null if not. - - - - A convenience version of that lets you - specify the dependency type using generic syntax. - - Type of the dependency to override. - - - - Construct a new object that will - override the given dependency, and pass the given value. - - - - - A convenience form of that lets you - specify multiple parameter overrides in one shot rather than having - to construct multiple objects. - - - This class isn't really a collection, it just implements IEnumerable - so that we get use of the nice C# collection initializer syntax. - - - - - Base helper class for creating collections of objects - for use in passing a bunch of them to the resolve call. This base class provides - the mechanics needed to allow you to use the C# collection initializer syntax. - - Concrete type of the this class collects. - Key used to create the underlying override object. - Value that the override returns. - - - - Add a new override to the collection with the given key and value. - - Key - for example, a parameter or property name. - Value - the value to be returned by the override. - - - - Return a that can be used to give a value - for the given desired dependency. - - Current build context. - Type of dependency desired. - a object if this override applies, null if not. - - - - Returns an enumerator that iterates through a collection. - - - An object that can be used to iterate through the collection. - - 2 - - - - Returns an enumerator that iterates through the collection. - - - A that can be used to iterate through the collection. - - 1 - - - - When implemented in derived classes, this method is called from the - method to create the actual objects. - - Key value to create the resolver. - Value to store in the resolver. - The created . - - - - When implemented in derived classes, this method is called from the - method to create the actual objects. - - Key value to create the resolver. - Value to store in the resolver. - The created . - - - - Event argument class for the event. - - - - - Construct a new object with the - given child container object. - - An for the newly created child - container. - - - - The newly created child container. - - - - - An extension context for the created child container. - - - - - Base class for subclasses that let you specify that - an instance of a generic type parameter should be resolved. - - - - - Base type for objects that are used to configure parameters for - constructor or method injection, or for getting the value to - be injected into a property. - - - - - Test to see if this parameter value has a matching type for the given type. - - Type to check. - True if this parameter value is compatible with type , - false if not. - - - - Return a instance that will - return this types value for the parameter. - - Type that contains the member that needs this parameter. Used - to resolve open generic parameters. - The . - - - - Convert the given set of arbitrary values to a sequence of InjectionParameterValue - objects. The rules are: If it's already an InjectionParameterValue, return it. If - it's a Type, return a ResolvedParameter object for that type. Otherwise return - an InjectionParameter object for that value. - - The values to build the sequence from. - The resulting converted sequence. - - - - Convert an arbitrary value to an InjectionParameterValue object. The rules are: - If it's already an InjectionParameterValue, return it. If it's a Type, return a - ResolvedParameter object for that type. Otherwise return an InjectionParameter - object for that value. - - The value to convert. - The resulting . - - - - Name for the type represented by this . - This may be an actual type name or a generic argument name. - - - - - Create a new instance that specifies - that the given named generic parameter should be resolved. - - The generic parameter name to resolve. - - - - Create a new instance that specifies - that the given named generic parameter should be resolved. - - The generic parameter name to resolve. - name to use when looking up in the container. - - - - Test to see if this parameter value has a matching type for the given type. - - Type to check. - True if this parameter value is compatible with type , - false if not. - - - - Return a instance that will - return this types value for the parameter. - - Type that contains the member that needs this parameter. Used - to resolve open generic parameters. - The . - - - - Return a instance that will - return this types value for the parameter. - - The actual type to resolve. - The resolution key. - The . - - - - Name for the type represented by this . - This may be an actual type name or a generic argument name. - - - - - A that lets you specify that - an instance of a generic type parameter should be resolved, providing the - value if resolving fails. - - - - - Create a new instance that specifies - that the given named generic parameter should be resolved. - - The generic parameter name to resolve. - - - - Create a new instance that specifies - that the given named generic parameter should be resolved. - - The generic parameter name to resolve. - name to use when looking up in the container. - - - - Return a instance that will - return this types value for the parameter. - - The actual type to resolve. - The resolution key. - The . - - - - A class that lets you specify a factory method the container - will use to create the object. - - This is a significantly easier way to do the same - thing the old static factory extension was used for. - - - - Base class for objects that can be used to configure what - class members get injected by the container. - - - - - Add policies to the to configure the - container to call this constructor with the appropriate parameter values. - - Type to register. - Policy list to add policies to. - - - - Add policies to the to configure the - container to call this constructor with the appropriate parameter values. - - Type of interface being registered. If no interface, - this will be null. - Type of concrete type being registered. - Name used to resolve the type object. - Policy list to add policies to. - - - - Create a new instance of with - the given factory function. - - Factory function. - - - - Create a new instance of with - the given factory function. - - Factory function. - - - - Add policies to the to configure the - container to call this constructor with the appropriate parameter values. - - Type of interface being registered. If no interface, - this will be null. This parameter is ignored in this implementation. - Type of concrete type being registered. - Name used to resolve the type object. - Policy list to add policies to. - - - - A that can be passed to - to configure a - parameter or property as an optional dependency. - - - - - A base class for implementing classes - that deal in explicit types. - - - - - Create a new that exposes - information about the given . - - Type of the parameter. - - - - Test to see if this parameter value has a matching type for the given type. - - Type to check. - True if this parameter value is compatible with type , - false if not. - - - - The type of parameter this object represents. - - - - - Name for the type represented by this . - This may be an actual type name or a generic argument name. - - - - - Construct a new object that - specifies the given . - - Type of the dependency. - - - - Construct a new object that - specifies the given and . - - Type of the dependency. - Name for the dependency. - - - - Return a instance that will - return this types value for the parameter. - - Type that contains the member that needs this parameter. Used - to resolve open generic parameters. - The . - - - - A generic version of that lets you - specify the type of the dependency using generics syntax. - - Type of the dependency. - - - - Construct a new . - - - - - Construct a new with the given - . - - Name of the dependency. - - - - A special lifetime manager which works like , - except that in the presence of child containers, each child gets it's own instance - of the object, instead of sharing one in the common parent. - - - - - A that holds onto the instance given to it. - When the is disposed, - the instance is disposed with it. - - - - - Base class for Lifetime managers which need to synchronize calls to - . - - - - The purpose of this class is to provide a basic implementation of the lifetime manager synchronization pattern. - - - Calls to the method of a - instance acquire a lock, and if the instance has not been initialized with a value yet the lock will only be released - when such an initialization takes place by calling the method or if - the build request which resulted in the call to the GetValue method fails. - - - - - - - Base class for Lifetime managers - classes that control how - and when instances are created by the Unity container. - - - - - A that controls how instances are - persisted and recovered from an external store. Used to implement - things like singletons and per-http-request lifetime. - - - - - Retrieve a value from the backing store associated with this Lifetime policy. - - the object desired, or null if no such object is currently stored. - - - - Stores the given value into backing store for retrieval later. - - The object to store. - - - - Remove the value this lifetime policy is managing from backing store. - - - - - Retrieve a value from the backing store associated with this Lifetime policy. - - the object desired, or null if no such object is currently stored. - - - - Stores the given value into backing store for retrieval later. - - The object being stored. - - - - Remove the given object from backing store. - - - - - This interface provides a hook for the builder context to - implement error recovery when a builder strategy throws - an exception. Since we can't get try/finally blocks onto - the call stack for later stages in the chain, we instead - add these objects to the context. If there's an exception, - all the current IRequiresRecovery instances will have - their Recover methods called. - - - - - A method that does whatever is needed to clean up - as part of cleaning up after an exception. - - - Don't do anything that could throw in this method, - it will cause later recover operations to get skipped - and play real havoc with the stack trace. - - - - - Retrieve a value from the backing store associated with this Lifetime policy. - - the object desired, or null if no such object is currently stored. - Calls to this method acquire a lock which is released only if a non-null value - has been set for the lifetime manager. - - - - Performs the actual retrieval of a value from the backing store associated - with this Lifetime policy. - - the object desired, or null if no such object is currently stored. - This method is invoked by - after it has acquired its lock. - - - - Stores the given value into backing store for retrieval later. - - The object being stored. - Setting a value will attempt to release the lock acquired by - . - - - - Performs the actual storage of the given value into backing store for retrieval later. - - The object being stored. - This method is invoked by - before releasing its lock. - - - - Remove the given object from backing store. - - - - - A method that does whatever is needed to clean up - as part of cleaning up after an exception. - - - Don't do anything that could throw in this method, - it will cause later recover operations to get skipped - and play real havoc with the stack trace. - - - - - Retrieve a value from the backing store associated with this Lifetime policy. - - the object desired, or null if no such object is currently stored. - - - - Stores the given value into backing store for retrieval later. - - The object being stored. - - - - Remove the given object from backing store. - - - - - Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. - - - - - Standard Dispose pattern implementation. Not needed, but it keeps FxCop happy. - - Always true, since we don't have a finalizer. - - - - This is a custom lifetime manager that acts like , - but also provides a signal to the default build plan, marking the type so that - instances are reused across the build up object graph. - - - - - Construct a new object that does not - itself manage an instance. - - - - - Construct a new object that stores the - give value. This value will be returned by - but is not stored in the lifetime manager, nor is the value disposed. - This Lifetime manager is intended only for internal use, which is why the - normal method is not used here. - - Value to store. - - - - Retrieve a value from the backing store associated with this Lifetime policy. - - the object desired, or null if no such object is currently stored. - - - - Stores the given value into backing store for retrieval later. In this class, - this is a noop, since it has special hooks down in the guts. - - The object being stored. - - - - Remove the given object from backing store. Noop in this class. - - - - - A strategy that handles Hierarchical lifetimes across a set of parent/child - containers. - - - - - Represents a strategy in the chain of responsibility. - Strategies are required to support both BuildUp and TearDown. - - - - - Represents a strategy in the chain of responsibility. - Strategies are required to support both BuildUp and TearDown. Although you - can implement this interface directly, you may also choose to use - as the base class for your strategies, as - this class provides useful helper methods and makes support BuildUp and TearDown - optional. - - - - - Called during the chain of responsibility for a build operation. The - PreBuildUp method is called when the chain is being executed in the - forward direction. - - Context of the build operation. - - - - Called during the chain of responsibility for a build operation. The - PostBuildUp method is called when the chain has finished the PreBuildUp - phase and executes in reverse order from the PreBuildUp calls. - - Context of the build operation. - - - - Called during the chain of responsibility for a teardown operation. The - PreTearDown method is called when the chain is being executed in the - forward direction. - - Context of the teardown operation. - - - - Called during the chain of responsibility for a teardown operation. The - PostTearDown method is called when the chain has finished the PreTearDown - phase and executes in reverse order from the PreTearDown calls. - - Context of the teardown operation. - - - - Called during the chain of responsibility for a build operation. The - PreBuildUp method is called when the chain is being executed in the - forward direction. - - Context of the build operation. - - - - Called during the chain of responsibility for a build operation. The - PostBuildUp method is called when the chain has finished the PreBuildUp - phase and executes in reverse order from the PreBuildUp calls. - - Context of the build operation. - - - - Called during the chain of responsibility for a teardown operation. The - PreTearDown method is called when the chain is being executed in the - forward direction. - - Context of the teardown operation. - - - - Called during the chain of responsibility for a teardown operation. The - PostTearDown method is called when the chain has finished the PreTearDown - phase and executes in reverse order from the PreTearDown calls. - - Context of the teardown operation. - - - - Called during the chain of responsibility for a build operation. The - PreBuildUp method is called when the chain is being executed in the - forward direction. - - Context of the build operation. - - - - A that will attempt to - resolve a value, and return null if it cannot rather than throwing. - - - - - A strategy that is used at build plan execution time - to resolve a dependent value. - - - - - Get the value for a dependency. - - Current build context. - The value for the dependency. - - - - Construct a new object - that will attempt to resolve the given name and type from the container. - - Type to resolve. Must be a reference type. - Name to resolve with. - - - - Construct a new object - that will attempt to resolve the given type from the container. - - Type to resolve. Must be a reference type. - - - - Get the value for a dependency. - - Current build context. - The value for the dependency. - - - - Type this resolver will resolve. - - - - - Name this resolver will resolve. - - - - - Extension methods on to provide convenience - overloads (generic versions, mostly). - - - - - Removes an individual policy type for a build key. - - The type the policy was registered as. - to remove the policy from. - The key the policy applies. - - - - Removes a default policy. - - The type the policy was registered as. - to remove the policy from. - - - - Gets an individual policy. - - The interface the policy is registered under. - to search. - The key the policy applies. - The policy in the list, if present; returns null otherwise. - - - - Gets an individual policy. - - The interface the policy is registered under. - to search. - The key the policy applies. - The policy list that actually contains the returned policy. - The policy in the list, if present; returns null otherwise. - - - - Gets an individual policy. - - to search. - The interface the policy is registered under. - The key the policy applies. - The policy in the list, if present; returns null otherwise. - - - - Gets an individual policy. - - to search. - The interface the policy is registered under. - The key the policy applies. - The policy list that actually contains the returned policy. - The policy in the list, if present; returns null otherwise. - - - - Gets an individual policy. - - The interface the policy is registered under. - to search. - The key the policy applies. - true if the policy searches local only; otherwise false to search up the parent chain. - The policy in the list, if present; returns null otherwise. - - - - Gets an individual policy. - - The interface the policy is registered under. - to search. - The key the policy applies. - true if the policy searches local only; otherwise false to search up the parent chain. - The policy list that actually contains the returned policy. - The policy in the list, if present; returns null otherwise. - - - - Gets an individual policy. - - to search. - The interface the policy is registered under. - The key the policy applies. - true if the policy searches local only; otherwise false to search up the parent chain. - The policy in the list, if present; returns null otherwise. - - - - Get the non default policy. - - The interface the policy is registered under. - to search. - The key the policy applies. - true if the policy searches local only; otherwise false to search up the parent chain. - The policy in the list, if present; returns null otherwise. - - - - Get the non default policy. - - The interface the policy is registered under. - to search. - The key the policy applies. - true if the policy searches local only; otherwise false to search up the parent chain. - The policy list that actually contains the returned policy. - The policy in the list, if present; returns null otherwise. - - - - Get the non default policy. - - to search. - The interface the policy is registered under. - The key the policy applies. - true if the policy searches local only; otherwise false to search up the parent chain. - The policy in the list, if present; returns null otherwise. - - - - Sets an individual policy. - - The interface the policy is registered under. - to add the policy to. - The policy to be registered. - The key the policy applies. - - - - Sets a default policy. When checking for a policy, if no specific individual policy - is available, the default will be used. - - The interface to register the policy under. - to add the policy to. - The default policy to be registered. - - - - Base class for the current operation stored in the build context. - - - - - Create a new . - - Type currently being built. - - - - The type that's currently being built. - - - - - Build plan for that will return a Func that will resolve the requested type - through this container later. - - - - - A build plan is an object that, when invoked, will create a new object - or fill in a given existing one. It encapsulates all the information - gathered by the strategies to construct a particular object. - - - - - Creates an instance of this build plan's type, or fills - in the existing type if passed in. - - Context used to build up the object. - - - - Creates an instance of this build plan's type, or fills - in the existing type if passed in. - - Context used to build up the object. - - - - The almost inevitable collection of extra helper methods on - to augment the rich set of what - LINQ already gives us. - - - - - Execute the provided on every item in . - - Type of the items stored in - Sequence of items to process. - Code to run over each item. - - - - Create a single string from a sequence of items, separated by the provided , - and with the conversion to string done by the given . - - This method does basically the same thing as , - but will work on any sequence of items, not just arrays. - Type of items in the sequence. - Sequence of items to convert. - Separator to place between the items in the string. - The conversion function to change TItem -> string. - The resulting string. - - - - Create a single string from a sequence of items, separated by the provided , - and with the conversion to string done by the item's method. - - This method does basically the same thing as , - but will work on any sequence of items, not just arrays. - Type of items in the sequence. - Sequence of items to convert. - Separator to place between the items in the string. - The resulting string. - - - - A class that lets you - override a named parameter passed to a constructor. - - - - - Construct a new object that will - override the given named constructor parameter, and pass the given - value. - - Name of the constructor parameter. - Value to pass for the constructor. - - - - Return a that can be used to give a value - for the given desired dependency. - - Current build context. - Type of dependency desired. - a object if this override applies, null if not. - - - - A convenience form of that lets you - specify multiple parameter overrides in one shot rather than having - to construct multiple objects. - - - - - When implemented in derived classes, this method is called from the - method to create the actual objects. - - Key value to create the resolver. - Value to store in the resolver. - The created . - - - - A that lets you override - the value for a specified property. - - - - - Create an instance of . - - The property name. - Value to use for the property. - - - - Return a that can be used to give a value - for the given desired dependency. - - Current build context. - Type of dependency desired. - a object if this override applies, null if not. - - - - A convenience form of that lets you - specify multiple property overrides in one shot rather than having - to construct multiple objects. - - - - - When implemented in derived classes, this method is called from the - method to create the actual objects. - - Key value to create the resolver. - Value to store in the resolver. - The created . - - - - Interface defining the configuration interface exposed by the - Static Factory extension. - - - - - Base interface for all extension configuration interfaces. - - - - - Retrieve the container instance that we are currently configuring. - - - - - Register the given factory delegate to be called when the container is - asked to resolve . - - Type that will be requested from the container. - Delegate to invoke to create the instance. - The container extension object this method was invoked on. - - - - Register the given factory delegate to be called when the container is - asked to resolve and . - - Type that will be requested from the container. - The name that will be used when requesting to resolve this type. - Delegate to invoke to create the instance. - The container extension object this method was invoked on. - - - - Represents the context in which a build-up or tear-down operation runs. - - - - - Represents the context in which a build-up or tear-down operation runs. - - - - - Add a new set of resolver override objects to the current build operation. - - objects to add. - - - - Get a object for the given - or null if that dependency hasn't been overridden. - - Type of the dependency. - Resolver to use, or null if no override matches for the current operation. - - - - A convenience method to do a new buildup operation on an existing context. - - Key to use to build up. - Created object. - - - - A convenience method to do a new buildup operation on an existing context. This - overload allows you to specify extra policies which will be in effect for the duration - of the build. - - Key defining what to build up. - A delegate that takes a . This - is invoked with the new child context before the build up process starts. This gives callers - the opportunity to customize the context for the build process. - Created object. - - - - Gets the head of the strategy chain. - - - The strategy that's first in the chain; returns null if there are no - strategies in the chain. - - - - - Gets the associated with the build. - - - The associated with the build. - - - - - Gets the original build key for the build operation. - - - The original build key for the build operation. - - - - - Get the current build key for the current build operation. - - - - - The set of policies that were passed into this context. - - This returns the policies passed into the context. - Policies added here will remain after buildup completes. - The persistent policies for the current context. - - - - Gets the policies for the current context. - - Any policies added to this object are transient - and will be erased at the end of the buildup. - - The policies for the current context. - - - - - Gets the collection of objects - that need to execute in event of an exception. - - - - - The current object being built up or torn down. - - - The current object being manipulated by the build operation. May - be null if the object hasn't been created yet. - - - - Flag indicating if the build operation should continue. - - true means that building should not call any more - strategies, false means continue to the next strategy. - - - - An object representing what is currently being done in the - build chain. Used to report back errors if there's a failure. - - - - - The build context used to resolve a dependency during the build operation represented by this context. - - - - - Initialize a new instance of the class. - - - - - Initialize a new instance of the class with a , - , and the - build key used to start this build operation. - - The to use for this context. - The to use for this context. - The to use for this context. - Build key to start building. - The existing object to build up. - - - - Create a new using the explicitly provided - values. - - The to use for this context. - The to use for this context. - The set of persistent policies to use for this context. - The set of transient policies to use for this context. It is - the caller's responsibility to ensure that the transient and persistent policies are properly - combined. - Build key for this context. - Existing object to build up. - - - - Create a new using the explicitly provided - values. - - The to use for this context. - The to use for this context. - The set of persistent policies to use for this context. - The set of transient policies to use for this context. It is - the caller's responsibility to ensure that the transient and persistent policies are properly - combined. - Build key for this context. - The resolver overrides. - - - - Add a new set of resolver override objects to the current build operation. - - objects to add. - - - - Get a object for the given - or null if that dependency hasn't been overridden. - - Type of the dependency. - Resolver to use, or null if no override matches for the current operation. - - - - A convenience method to do a new buildup operation on an existing context. - - Key to use to build up. - Created object. - - - - A convenience method to do a new buildup operation on an existing context. This - overload allows you to specify extra policies which will be in effect for the duration - of the build. - - Key defining what to build up. - A delegate that takes a . This - is invoked with the new child context before the build up process starts. This gives callers - the opportunity to customize the context for the build process. - Created object. - - - - Gets the head of the strategy chain. - - - The strategy that's first in the chain; returns null if there are no - strategies in the chain. - - - - - Get the current build key for the current build operation. - - - - - The current object being built up or torn down. - - - The current object being manipulated by the build operation. May - be null if the object hasn't been created yet. - - - - Gets the associated with the build. - - - The associated with the build. - - - - - Gets the original build key for the build operation. - - - The original build key for the build operation. - - - - - The set of policies that were passed into this context. - - This returns the policies passed into the context. - Policies added here will remain after buildup completes. - The persistent policies for the current context. - - - - Gets the policies for the current context. - - - Any modifications will be transient (meaning, they will be forgotten when - the outer BuildUp for this context is finished executing). - - - The policies for the current context. - - - - - Gets the collection of objects - that need to execute in event of an exception. - - - - - Flag indicating if the build operation should continue. - - true means that building should not call any more - strategies, false means continue to the next strategy. - - - - An object representing what is currently being done in the - build chain. Used to report back errors if there's a failure. - - - - - The build context used to resolve a dependency during the build operation represented by this context. - - - - - Represents that a dependency could not be resolved. - - - - - Initializes a new instance of the class with no extra information. - - - - - Initializes a new instance of the class with the given message. - - Some random message. - - - - Initialize a new instance of the class with the given - message and inner exception. - - Some random message - Inner exception. - - - - Initializes a new instance of the class with the build key of the object begin built. - - The build key of the object begin built. - - - - The exception thrown when injection is attempted on a method - that is an open generic or has out or ref params. - - - - - Construct a new with no - message. - - - - - Construct a with the given message - - Message to return. - - - - Construct a with the given message - and inner exception. - - Message to return. - Inner exception - - - - Extension methods to provide convenience overloads over the - interface. - - - - - Start a recursive build up operation to retrieve the default - value for the given type. - - Type of object to build. - Parent context. - Resulting object. - - - - Start a recursive build up operation to retrieve the named - implementation for the given type. - - Type to resolve. - Parent context. - Name to resolve with. - The resulting object. - - - - Add a set of s to the context, specified as a - variable argument list. - - Context to add overrides to. - The overrides. - - - - Data structure that stores the set of - objects and executes them when requested. - - - - - Add a new object to this - list. - - Object to add. - - - - Execute the method - of everything in the recovery list. Recoveries will execute - in the opposite order of add - it's a stack. - - - - - Return the number of recovery objects currently in the stack. - - - - - Represents a lifetime container. - - - A lifetime container tracks the lifetime of an object, and implements - IDisposable. When the container is disposed, any objects in the - container which implement IDisposable are also disposed. - - - - - Adds an object to the lifetime container. - - The item to be added to the lifetime container. - - - - Determine if a given object is in the lifetime container. - - - The item to locate in the lifetime container. - - - Returns true if the object is contained in the lifetime - container; returns false otherwise. - - - - - Removes an item from the lifetime container. The item is - not disposed. - - The item to be removed. - - - - Gets the number of references in the lifetime container - - - The number of references in the lifetime container - - - - - Represents a lifetime container. - - - A lifetime container tracks the lifetime of an object, and implements - IDisposable. When the container is disposed, any objects in the - container which implement IDisposable are also disposed. - - - - - Adds an object to the lifetime container. - - The item to be added to the lifetime container. - - - - Determine if a given object is in the lifetime container. - - - The item to locate in the lifetime container. - - - Returns true if the object is contained in the lifetime - container; returns false otherwise. - - - - - Releases the resources used by the . - - - - - Releases the resources used by the . - - - true to release managed and unmanaged resources; false to release only unmanaged resources. - - - - - Returns an enumerator that iterates through the lifetime container. - - - An object that can be used to iterate through the life time container. - - - - - Returns an enumerator that iterates through the lifetime container. - - - An object that can be used to iterate through the life time container. - - - - - Removes an item from the lifetime container. The item is - not disposed. - - The item to be removed. - - - - Gets the number of references in the lifetime container - - - The number of references in the lifetime container - - - - - A custom collection over objects. - - - - - Removes an individual policy type for a build key. - - The type of policy to remove. - The key the policy applies. - - - - Removes all policies from the list. - - - - - Removes a default policy. - - The type the policy was registered as. - - - - Gets an individual policy. - - The interface the policy is registered under. - The key the policy applies. - true if the policy searches local only; otherwise false to search up the parent chain. - The policy list in the chain that the searched for policy was found in, null if the policy was - not found. - The policy in the list, if present; returns null otherwise. - - - - Get the non default policy. - - The interface the policy is registered under. - The key the policy applies to. - True if the search should be in the local policy list only; otherwise false to search up the parent chain. - The policy list in the chain that the searched for policy was found in, null if the policy was - not found. - The policy in the list if present; returns null otherwise. - - - - Sets an individual policy. - - The of the policy. - The policy to be registered. - The key the policy applies. - - - - Sets a default policy. When checking for a policy, if no specific individual policy - is available, the default will be used. - - The interface to register the policy under. - The default policy to be registered. - - - - A custom collection wrapper over objects. - - - - - Initialize a new instance of a class. - - - - - Initialize a new instance of a class with another policy list. - - An inner policy list to search. - - - - Removes an individual policy type for a build key. - - The type of policy to remove. - The key the policy applies. - - - - Removes all policies from the list. - - - - - Removes a default policy. - - The type the policy was registered as. - - - - Gets an individual policy. - - The interface the policy is registered under. - The key the policy applies. - true if the policy searches local only; otherwise false to search up the parent chain. - The policy list in the chain that the searched for policy was found in, null if the policy was - not found. - The policy in the list, if present; returns null otherwise. - - - - Get the non default policy. - - The interface the policy is registered under. - The key the policy applies to. - True if the search should be in the local policy list only; otherwise false to search up the parent chain. - The policy list in the chain that the searched for policy was found in, null if the policy was - not found. - The policy in the list if present; returns null otherwise. - - - - Sets an individual policy. - - The of the policy. - The policy to be registered. - The key the policy applies. - - - - Sets a default policy. When checking for a policy, if no specific individual policy - is available, the default will be used. - - The interface to register the policy under. - The default policy to be registered. - - - - Gets the number of items in the locator. - - - The number of items in the locator. - - - - - An implementation of . - - - - - Add a new object to this - list. - - Object to add. - - - - Execute the method - of everything in the recovery list. Recoveries will execute - in the opposite order of add - it's a stack. - - - - - Return the number of recovery objects currently in the stack. - - - - - Implementation of which will notify an object about - the completion of a BuildUp operation, or start of a TearDown operation. - - - This strategy checks the object that is passing through the builder chain to see if it - implements IBuilderAware and if it does, it will call - and . This strategy is meant to be used from the - stage. - - - - - Called during the chain of responsibility for a build operation. The - PreBuildUp method is called when the chain is being executed in the - forward direction. - - Context of the build operation. - - - - Called during the chain of responsibility for a teardown operation. The - PreTearDown method is called when the chain is being executed in the - forward direction. - - Context of the teardown operation. - - - - Implemented on a class when it wants to receive notifications - about the build process. - - - - - Called by the when the object is being built up. - - The key of the object that was just built up. - - - - Called by the when the object is being torn down. - - - - - Enumeration to represent the object builder stages. - - - The order of the values in the enumeration is the order in which the stages are run. - - - - - Strategies in this stage run before creation. Typical work done in this stage might - include strategies that use reflection to set policies into the context that other - strategies would later use. - - - - - Strategies in this stage create objects. Typically you will only have a single policy-driven - creation strategy in this stage. - - - - - Strategies in this stage work on created objects. Typical work done in this stage might - include setter injection and method calls. - - - - - Strategies in this stage work on objects that are already initialized. Typical work done in - this stage might include looking to see if the object implements some notification interface - to discover when its initialization stage has been completed. - - - - - Represents a builder policy for mapping build keys. - - - - - Represents a builder policy for mapping build keys. - - - - - Maps the build key. - - The build key to map. - Current build context. Used for contextual information - if writing a more sophisticated mapping. This parameter can be null - (called when getting container registrations). - The new build key. - - - - Initialize a new instance of the with the new build key. - - The new build key. - - - - Maps the build key. - - The build key to map. - Current build context. Used for contextual information - if writing a more sophisticated mapping, unused in this implementation. - The new build key. - - - - Represents a strategy for mapping build keys in the build up operation. - - - - - Called during the chain of responsibility for a build operation. Looks for the - and if found maps the build key for the current operation. - - The context for the operation. - - - - An implementation of that can map - generic types. - - - - - Create a new instance - that will map generic types. - - Build key to map to. This must be or contain an open generic type. - - - - Maps the build key. - - The build key to map. - Current build context. Used for contextual information - if writing a more sophisticated mapping. - The new build key. - - - - A that will look for a build plan - in the current context. If it exists, it invokes it, otherwise - it creates one and stores it for later, and invokes it. - - - - - Called during the chain of responsibility for a build operation. - - The context for the operation. - - - - An implementation of that chooses - constructors based on these criteria: first, pick a constructor marked with the - attribute. If there - isn't one, then choose the constructor with the longest parameter list. If that is ambiguous, - then throw. - - Thrown when the constructor to choose is ambiguous. - Attribute used to mark the constructor to call. - - - - Base class that provides an implementation of - which lets you override how the parameter resolvers are created. - - - - - A that, when implemented, - will determine which constructor to call from the build plan. - - - - - Choose the constructor to call for the given type. - - Current build context - The to add any - generated resolver objects into. - The chosen constructor. - - - - Choose the constructor to call for the given type. - - Current build context - The to add any - generated resolver objects into. - The chosen constructor. - - - - Create a instance for the given - . - - Parameter to create the resolver for. - The resolver object. - - - - Compares two objects and returns a value indicating whether one is less than, equal to, or greater than the other. - - The second object to compare. - The first object to compare. - - Value Condition Less than zero is less than y. Zero equals y. Greater than zero is greater than y. - - - - - Create a instance for the given - . - - Parameter to create the resolver for. - The resolver object. - - - - Objects of this type are the return value from . - It encapsulates the desired with the string keys - needed to look up the for each - parameter. - - - - - Base class for return values from selector policies that - return a MemberInfo of some sort plus a list of parameter - keys to look up the parameter resolvers. - - - - - Base class for return of selector policies that need - to keep track of a set of parameter resolvers. - - - - - Adds the parameter resolver. Resolvers are assumed - to be in the order of the parameters to the member. - - The new resolver. - - - - Gets the parameter resolvers. - - An array with the parameter resolvers. - - - - Construct a new , storing - the given member info. - - Member info to store. - - - - The member info stored. - - - - - Create a new instance which - contains the given constructor. - - The constructor to wrap. - - - - The constructor this object wraps. - - - - - This class records the information about which constructor argument is currently - being resolved, and is responsible for generating the error string required when - an error has occurred. - - - - - Initializes a new instance of the class. - - The type that is being constructed. - A string representing the constructor being called. - Parameter being resolved. - - - - Generate the string describing what parameter was being resolved. - - The description string. - - - - String describing the constructor being set up. - - - - - Parameter that's being resolved. - - - - - A that emits IL to call constructors - as part of creating a build plan. - - - - - Called during the chain of responsibility for a build operation. - - Existing object is an instance of . - The context for the operation. - - - - A helper method used by the generated IL to set up a PerResolveLifetimeManager lifetime manager - if the current object is such. - - Current build context. - - - - Build up the string that will represent the constructor signature - in any exception message. - - - - - - - A helper method used by the generated IL to store the current operation in the build context. - - - - - A helper method used by the generated IL to store the current operation in the build context. - - - - - A helper method used by the generated IL to throw an exception if - no existing object is present, but the user is attempting to build - an interface (usually due to the lack of a type mapping). - - The currently being - used for the build of this object. - - - - A helper method used by the generated IL to throw an exception if - no existing object is present, but the user is attempting to build - an abstract class (usually due to the lack of a type mapping). - - The currently being - used for the build of this object. - - - - A helper method used by the generated IL to throw an exception if - no existing object is present, but the user is attempting to build - an delegate other than Func{T} or Func{IEnumerable{T}}. - - The currently being - used for the build of this object. - - - - A helper method used by the generated IL to throw an exception if - a dependency cannot be resolved. - - The currently being - used for the build of this object. - - - - A helper method used by the generated IL to throw an exception if - a dependency cannot be resolved because of an invalid constructor. - - The currently being - used for the build of this object. - The signature of the invalid constructor. - - - - A class that records that a constructor is about to be call, and is - responsible for generating the error string required when - an error has occurred. - - - - - Initializes a new instance of the class. - - - - - Generate the description string. - - The string. - - - - Constructor we're trying to call. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Helper method used by generated IL to look up a dependency resolver based on the given key. - - Current build context. - Type of the dependency being resolved. - Key the resolver was stored under. - The found dependency resolver. - - - - Helper method used by generated IL to look up a dependency resolver based on the given key. - - Current build context. - Type of the dependency being resolved. - The configured resolver. - The found dependency resolver. - - - - The type that is to be built with the dynamic build plan. - - - - - The context parameter representing the used when the build plan is executed. - - - - - - - - - - - - - - - - - - - - - - - - - - - - An implementation - that constructs a build plan via dynamic IL emission. - - - - - Construct a that - uses the given strategy chain to construct the build plan. - - The strategy chain. - - - - Construct a build plan. - - The current build context. - The current build key. - The created build plan. - - - - A class that records that a constructor is about to be call, and is - responsible for generating the error string required when - an error has occurred. - - - - - Initializes a new instance of the class. - - - - - Generate the description string. - - The string. - - - - Method we're trying to call. - - - - - This class records the information about which constructor argument is currently - being resolved, and is responsible for generating the error string required when - an error has occurred. - - - - - Initializes a new instance of the class. - - The type that is being constructed. - A string representing the method being called. - Parameter being resolved. - - - - Generate the string describing what parameter was being resolved. - - The description string. - - - - String describing the method being set up. - - - - - Parameter that's being resolved. - - - - - A that generates IL to call - chosen methods (as specified by the current ) - as part of object build up. - - - - - Called during the chain of responsibility for a build operation. The - PreBuildUp method is called when the chain is being executed in the - forward direction. - - Context of the build operation. - - - - A helper method used by the generated IL to store the current operation in the build context. - - - - - A helper method used by the generated IL to store the current operation in the build context. - - - - - A base class that holds the information shared by all operations - performed by the container while setting properties. - - - - - Initializes a new instance of the class. - - - - - Generate the description of this operation. - - The string. - - - - Get a format string used to create the description. Called by - the base method. - - The format string. - - - - The property value currently being resolved. - - - - - This class records the information about which property value is currently - being resolved, and is responsible for generating the error string required when - an error has occurred. - - - - - Initializes a new instance of the class. - - - - - Get a format string used to create the description. Called by - the base method. - - The format string. - - - - A that generates IL to resolve properties - on an object being built. - - - - - Called during the chain of responsibility for a build operation. - - The context for the operation. - - - - A helper method used by the generated IL to store the current operation in the build context. - - - - - A helper method used by the generated IL to store the current operation in the build context. - - - - - This class records the information about which property value is currently - being set, and is responsible for generating the error string required when - an error has occurred. - - - - - Initializes a new instance of the class. - - Type property is on. - Name of property being set. - - - - Get a format string used to create the description. Called by - the base method. - - The format string. - - - - Creates an instance of this build plan's type, or fills - in the existing type if passed in. - - Context used to build up the object. - - - - An that will examine the given - types and return a sequence of objects - that should be called as part of building the object. - - - - - Return the sequence of methods to call while building the target object. - - Current build context. - The to add any - generated resolver objects into. - Sequence of methods to call. - - - - An implementation of that selects - methods by looking for the given - attribute on those methods. - - Type of attribute used to mark methods - to inject. - - - - Base class that provides an implementation of - which lets you override how the parameter resolvers are created. - - Attribute that marks methods that should - be called. - - - - Return the sequence of methods to call while building the target object. - - Current build context. - The to add any - generated resolver objects into. - Sequence of methods to call. - - - - Create a instance for the given - . - - Parameter to create the resolver for. - The resolver object. - - - - Create a instance for the given - . - - Parameter to create the resolver for. - The resolver object. - - - - Objects of this type are the return value from . - It encapsulates the desired with the string keys - needed to look up the for each - parameter. - - - - - Create a new instance which - contains the given method. - - The method - - - - The constructor this object wraps. - - - - - An that returns a sequence - of properties that should be injected for the given type. - - - - - Returns sequence of properties on the given type that - should be set as part of building that object. - - Current build context. - The to add any - generated resolver objects into. - Sequence of objects - that contain the properties to set. - - - - Base class that provides an implementation of - which lets you override how the parameter resolvers are created. - - - - - Returns sequence of properties on the given type that - should be set as part of building that object. - - Current build context. - The to add any - generated resolver objects into. - Sequence of objects - that contain the properties to set. - - - - Create a for the given - property. - - Property to create resolver for. - The resolver object. - - - - An implementation of that looks - for properties marked with the - attribute that are also settable and not indexers. - - - - - - Create a for the given - property. - - Property to create resolver for. - The resolver object. - - - - Objects of this type are returned from - . - This class combines the about - the property with the string key used to look up the resolver - for this property's value. - - - - - Create an instance of - with the given and key. - - The property. - - - - - PropertyInfo for this property. - - - - - IDependencyResolverPolicy for this property - - - - - Implementation of . - - - - - A builder policy that lets you keep track of the current - resolvers and will remove them from the given policy set. - - - - - Add a new resolver to track by key. - - Key that was used to add the resolver to the policy set. - - - - Remove the currently tracked resolvers from the given policy list. - - Policy list to remove the resolvers from. - - - - Add a new resolver to track by key. - - Key that was used to add the resolver to the policy set. - - - - Remove the currently tracked resolvers from the given policy list. - - Policy list to remove the resolvers from. - - - - Get an instance that implements , - either the current one in the policy set or creating a new one if it doesn't - exist. - - Policy list to look up from. - Build key to track. - The resolver tracker. - - - - Add a key to be tracked to the current tracker. - - Policy list containing the resolvers and trackers. - Build key for the resolvers being tracked. - Key for the resolver. - - - - Remove the resolvers for the given build key. - - Policy list containing the build key. - Build key. - - - - An implementation of that - calls back into the build chain to build up the dependency, passing - a type given at compile time as its build key. - - - - - Create a new instance storing the given type. - - Type to resolve. - - - - Get the value for a dependency. - - Current build context. - The value for the dependency. - - - - This interface defines a standard method to convert any regardless - of the stage enum into a regular, flat strategy chain. - - - - - Convert this into - a flat . - - The flattened . - - - - Represents a chain of responsibility for builder strategies. - - - - - Reverse the order of the strategy chain. - - The reversed strategy chain. - - - - Execute this strategy chain against the given context, - calling the Buildup methods on the strategies. - - Context for the build process. - The build up object - - - - Execute this strategy chain against the given context, - calling the TearDown methods on the strategies. - - Context for the teardown process. - - - - A builder policy used to create lifetime policy instances. - Used by the LifetimeStrategy when instantiating open - generic types. - - - - - Create a new instance of . - - The new instance. - - - - The type of Lifetime manager that will be created by this factory. - - - - - An implementation that uses - a to figure out if an object - has already been created and to update or remove that - object from some backing store. - - - - - Called during the chain of responsibility for a build operation. The - PreBuildUp method is called when the chain is being executed in the - forward direction. - - Context of the build operation. - - - - Called during the chain of responsibility for a build operation. The - PostBuildUp method is called when the chain has finished the PreBuildUp - phase and executes in reverse order from the PreBuildUp calls. - - Context of the build operation. - - - - Represents a chain of responsibility for builder strategies partitioned by stages. - - The stage enumeration to partition the strategies. - - - - Initialize a new instance of the class. - - - - - Initialize a new instance of the class with an inner strategy chain to use when building. - - The inner strategy chain to use first when finding strategies in the build operation. - - - - Adds a strategy to the chain at a particular stage. - - The strategy to add to the chain. - The stage to add the strategy. - - - - Add a new strategy for the . - - The of - The stage to add the strategy. - - - - Clear the current strategy chain list. - - - This will not clear the inner strategy chain if this instance was created with one. - - - - - Makes a strategy chain based on this instance. - - A new . - - - - Represents a chain of responsibility for builder strategies. - - - - - Initialize a new instance of the class. - - - - - Initialize a new instance of the class with a collection of strategies. - - A collection of strategies to initialize the chain. - - - - Adds a strategy to the chain. - - The strategy to add to the chain. - - - - Adds strategies to the chain. - - The strategies to add to the chain. - - - - Reverse the order of the strategy chain. - - The reversed strategy chain. - - - - Execute this strategy chain against the given context to build up. - - Context for the build processes. - The build up object - - - - Execute this strategy chain against the given context, - calling the TearDown methods on the strategies. - - Context for the teardown process. - - - - Returns an enumerator that iterates through the collection. - - - - A that can be used to iterate through the collection. - - - - - Returns an enumerator that iterates through a collection. - - - - An object that can be used to iterate through the collection. - - - - - Build key used to combine a type object with a string name. Used by - ObjectBuilder to indicate exactly what is being built. - - - - - Create a new instance with the given - type and name. - - to build. - Key to use to look up type mappings and singletons. - - - - Create a new instance for the default - buildup of the given type. - - to build. - - - - This helper method creates a new instance. It is - initialized for the default key for the given type. - - Type to build. - A new instance. - - - - This helper method creates a new instance for - the given type and key. - - Type to build - Key to use to look up type mappings and singletons. - A new instance initialized with the given type and name. - - - - Compare two instances. - - Two instances compare equal - if they contain the same name and the same type. Also, comparing - against a different type will also return false. - Object to compare to. - True if the two keys are equal, false if not. - - - - Calculate a hash code for this instance. - - A hash code. - - - - Compare two instances for equality. - - Two instances compare equal - if they contain the same name and the same type. - First of the two keys to compare. - Second of the two keys to compare. - True if the values of the keys are the same, else false. - - - - Compare two instances for inequality. - - Two instances compare equal - if they contain the same name and the same type. If either field differs - the keys are not equal. - First of the two keys to compare. - Second of the two keys to compare. - false if the values of the keys are the same, else true. - - - - Formats the build key as a string (primarily for debugging). - - A readable string representation of the build key. - - - - Return the stored in this build key. - - The type to build. - - - - Returns the name stored in this build key. - - The name to use when building. - - - - A generic version of so that - you can new up a key using generic syntax. - - Type for the key. - - - - Construct a new that - specifies the given type. - - - - - Construct a new that - specifies the given type and name. - - Name for the key. - - - - A series of helper methods to deal with sequences - - objects that implement . - - - - - A function that turns an arbitrary parameter list into an - . - - Type of arguments. - The items to put into the collection. - An array that contains the values of the . - - - - Given two sequences, return a new sequence containing the corresponding values - from each one. - - Type of first sequence. - Type of second sequence. - First sequence of items. - Second sequence of items. - New sequence of pairs. This sequence ends when the shorter of sequence1 and sequence2 does. - - - - A that lets you register a - delegate with the container to create an object, rather than calling - the object's constructor. - - - - - Base class for all extension objects. - - - - - The container calls this method when the extension is added. - - A instance that gives the - extension access to the internals of the container. - - - - Initial the container with this extension's functionality. - - - When overridden in a derived class, this method will modify the given - by adding strategies, policies, etc. to - install it's functions into the container. - - - - Removes the extension's functions from the container. - - - - This method is called when extensions are being removed from the container. It can be - used to do things like disconnect event handlers or clean up member state. You do not - need to remove strategies or policies here; the container will do that automatically. - - - The default implementation of this method does nothing. - - - - - The container this extension has been added to. - - The that this extension has been added to. - - - - The object used to manipulate - the inner state of the container. - - - - - Initialize this extension. This particular extension requires no - initialization work. - - - - - Register the given factory delegate to be called when the container is - asked to resolve and . - - Type that will be requested from the container. - The name that will be used when requesting to resolve this type. - Delegate to invoke to create the instance. - The container extension object this method was invoked on. - - - - Register the given factory delegate to be called when the container is - asked to resolve . - - Type that will be requested from the container. - Delegate to invoke to create the instance. - The container extension object this method was invoked on. - - - - An implementation of that - acts as a decorator over another . - This checks to see if the current type being built is the - right one before checking the inner . - - - - - Create an instance of - - Type to check for. - Inner override to check after type matches. - - - - Return a that can be used to give a value - for the given desired dependency. - - Current build context. - Type of dependency desired. - a object if this override applies, null if not. - - - - A convenience version of that lets you - specify the type to construct via generics syntax. - - Type to check for. - - - - Create an instance of . - - Inner override to check after type matches. - - - - Extension class that adds a set of convenience overloads to the - interface. - - - - - Register a type with specific members to be injected. - - Type this registration is for. - Container to configure. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a type mapping with the container. - - - - This method is used to tell the container that when asked for type , - actually return an instance of type . This is very useful for - getting instances of interfaces. - - - This overload registers a default mapping and transient lifetime. - - - that will be requested. - that will actually be returned. - Container to configure. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a type mapping with the container, where the created instances will use - the given . - - that will be requested. - that will actually be returned. - Container to configure. - The that controls the lifetime - of the returned instance. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a type mapping with the container. - - - This method is used to tell the container that when asked for type , - actually return an instance of type . This is very useful for - getting instances of interfaces. - - that will be requested. - that will actually be returned. - Container to configure. - Name of this mapping. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a type mapping with the container, where the created instances will use - the given . - - that will be requested. - that will actually be returned. - Container to configure. - Name to use for registration, null if a default registration. - The that controls the lifetime - of the returned instance. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a for the given type with the container. - No type mapping is performed for this type. - - The type to apply the to. - Container to configure. - The that controls the lifetime - of the returned instance. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a for the given type with the container. - No type mapping is performed for this type. - - The type to configure injection on. - Container to configure. - Name that will be used to request the type. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a for the given type and name with the container. - No type mapping is performed for this type. - - The type to apply the to. - Container to configure. - Name that will be used to request the type. - The that controls the lifetime - of the returned instance. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a type with specific members to be injected. - - Container to configure. - Type this registration is for. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a type mapping with the container. - - - - This method is used to tell the container that when asked for type , - actually return an instance of type . This is very useful for - getting instances of interfaces. - - - This overload registers a default mapping. - - - Container to configure. - that will be requested. - that will actually be returned. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a type mapping with the container. - - - This method is used to tell the container that when asked for type , - actually return an instance of type . This is very useful for - getting instances of interfaces. - - Container to configure. - that will be requested. - that will actually be returned. - Name to use for registration, null if a default registration. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a type mapping with the container, where the created instances will use - the given . - - Container to configure. - that will be requested. - that will actually be returned. - The that controls the lifetime - of the returned instance. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a for the given type and name with the container. - No type mapping is performed for this type. - - Container to configure. - The to apply the to. - The that controls the lifetime - of the returned instance. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a for the given type and name with the container. - No type mapping is performed for this type. - - Container to configure. - The to configure in the container. - Name to use for registration, null if a default registration. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a for the given type and name with the container. - No type mapping is performed for this type. - - Container to configure. - The to apply the to. - Name to use for registration, null if a default registration. - The that controls the lifetime - of the returned instance. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register an instance with the container. - - - - Instance registration is much like setting a type as a singleton, except that instead - of the container creating the instance the first time it is requested, the user - creates the instance ahead of type and adds that instance to the container. - - - This overload does a default registration and has the container take over the lifetime of the instance. - - Type of instance to register (may be an implemented interface instead of the full type). - Container to configure. - Object to returned. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register an instance with the container. - - - - Instance registration is much like setting a type as a singleton, except that instead - of the container creating the instance the first time it is requested, the user - creates the instance ahead of type and adds that instance to the container. - - - This overload does a default registration (name = null). - - - Type of instance to register (may be an implemented interface instead of the full type). - Container to configure. - Object to returned. - - object that controls how this instance will be managed by the container. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register an instance with the container. - - - - Instance registration is much like setting a type as a singleton, except that instead - of the container creating the instance the first time it is requested, the user - creates the instance ahead of type and adds that instance to the container. - - - This overload automatically has the container take ownership of the . - - Type of instance to register (may be an implemented interface instead of the full type). - Object to returned. - Container to configure. - Name for registration. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register an instance with the container. - - - - Instance registration is much like setting a type as a singleton, except that instead - of the container creating the instance the first time it is requested, the user - creates the instance ahead of type and adds that instance to the container. - - - Type of instance to register (may be an implemented interface instead of the full type). - Object to returned. - Container to configure. - Name for registration. - - object that controls how this instance will be managed by the container. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register an instance with the container. - - - - Instance registration is much like setting a type as a singleton, except that instead - of the container creating the instance the first time it is requested, the user - creates the instance ahead of type and adds that instance to the container. - - - This overload does a default registration and has the container take over the lifetime of the instance. - - Container to configure. - Type of instance to register (may be an implemented interface instead of the full type). - Object to returned. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register an instance with the container. - - - - Instance registration is much like setting a type as a singleton, except that instead - of the container creating the instance the first time it is requested, the user - creates the instance ahead of type and adds that instance to the container. - - - This overload does a default registration (name = null). - - - Container to configure. - Type of instance to register (may be an implemented interface instead of the full type). - Object to returned. - - object that controls how this instance will be managed by the container. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register an instance with the container. - - - - Instance registration is much like setting a type as a singleton, except that instead - of the container creating the instance the first time it is requested, the user - creates the instance ahead of type and adds that instance to the container. - - - This overload automatically has the container take ownership of the . - - Container to configure. - Type of instance to register (may be an implemented interface instead of the full type). - Object to returned. - Name for registration. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Resolve an instance of the default requested type from the container. - - of object to get from the container. - Container to resolve from. - Any overrides for the resolve call. - The retrieved object. - - - - Resolve an instance of the requested type with the given name from the container. - - of object to get from the container. - Container to resolve from. - Name of the object to retrieve. - Any overrides for the resolve call. - The retrieved object. - - - - Resolve an instance of the default requested type from the container. - - Container to resolve from. - of object to get from the container. - Any overrides for the resolve call. - The retrieved object. - - - - Return instances of all registered types requested. - - - - This method is useful if you've registered multiple types with the same - but different names. - - - Be aware that this method does NOT return an instance for the default (unnamed) registration. - - - The type requested. - Container to resolve from. - Any overrides for the resolve calls. - Set of objects of type . - - - - Run an existing object through the container and perform injection on it. - - - - This method is useful when you don't control the construction of an - instance (ASP.NET pages or objects created via XAML, for instance) - but you still want properties and other injection performed. - - - This overload uses the default registrations. - - - of object to perform injection on. - Container to resolve through. - Instance to build up. - Any overrides for the buildup. - The resulting object. By default, this will be , but - container extensions may add things like automatic proxy creation which would - cause this to return a different object (but still type compatible with ). - - - - Run an existing object through the container and perform injection on it. - - - - This method is useful when you don't control the construction of an - instance (ASP.NET pages or objects created via XAML, for instance) - but you still want properties and other injection performed. - - of object to perform injection on. - Container to resolve through. - Instance to build up. - name to use when looking up the typemappings and other configurations. - Any overrides for the Buildup. - The resulting object. By default, this will be , but - container extensions may add things like automatic proxy creation which would - cause this to return a different object (but still type compatible with ). - - - - Run an existing object through the container and perform injection on it. - - - - This method is useful when you don't control the construction of an - instance (ASP.NET pages or objects created via XAML, for instance) - but you still want properties and other injection performed. - - - This overload uses the default registrations. - - - Container to resolve through. - of object to perform injection on. - Instance to build up. - Any overrides for the Buildup. - The resulting object. By default, this will be , but - container extensions may add things like automatic proxy creation which would - cause this to return a different object (but still type compatible with ). - - - - Creates a new extension object and adds it to the container. - - Type of to add. The extension type - will be resolved from within the supplied . - Container to add the extension to. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Resolve access to a configuration interface exposed by an extension. - - Extensions can expose configuration interfaces as well as adding - strategies and policies to the container. This method walks the list of - added extensions and returns the first one that implements the requested type. - - The configuration interface required. - Container to configure. - The requested extension's configuration interface, or null if not found. - - - - Check if a particular type has been registered with the container with - the default name. - - Container to inspect. - Type to check registration for. - True if this type has been registered, false if not. - - - - Check if a particular type/name pair has been registered with the container. - - Container to inspect. - Type to check registration for. - Name to check registration for. - True if this type/name pair has been registered, false if not. - - - - Check if a particular type has been registered with the container with the default name. - - Type to check registration for. - Container to inspect. - True if this type has been registered, false if not. - - - - Check if a particular type/name pair has been registered with the container. - - Type to check registration for. - Container to inspect. - Name to check registration for. - True if this type/name pair has been registered, false if not. - - - - The class provides the means for extension objects - to manipulate the internal state of the . - - - - - Store a type/name pair for later resolution. - - - - When users register type mappings (or other things) with a named key, this method - allows you to register that name with the container so that when the - method is called, that name is included in the list that is returned. - - to register. - Name associated with that type. - - - - The container that this context is associated with. - - The object. - - - - The strategies this container uses. - - The that the container uses to build objects. - - - - The strategies this container uses to construct build plans. - - The that this container uses when creating - build plans. - - - - The policies this container uses. - - The the that container uses to build objects. - - - - The that this container uses. - - The is used to manage objects that the container is managing. - - - - This event is raised when the method, - or one of its overloads, is called. - - - - - This event is raised when the method, - or one of its overloads, is called. - - - - - This event is raised when the method is called, providing - the newly created child container to extensions to act on as they see fit. - - - - - An EventArgs class that holds a string Name. - - - - - Create a new with a null name. - - - - - Create a new with the given name. - - Name to store. - - - - The name. - - Name used for this EventArg object. - - - - Event argument class for the event. - - - - - Create a new instance of . - - Type to map from. - Type to map to. - Name for the registration. - to manage instances. - - - - Type to map from. - - - - - Type to map to. - - - - - to manage instances. - - - - - Event argument class for the event. - - - - - Create a default instance. - - - - - Create a instance initialized with the given arguments. - - Type of instance being registered. - The instance object itself. - Name to register under, null if default registration. - object that handles how - the instance will be owned. - - - - Type of instance being registered. - - - Type of instance being registered. - - - - - Instance object being registered. - - Instance object being registered - - - - that controls ownership of - this instance. - - - - - A that lets you specify that - an instance of a generic type parameter should be resolved. - - - - - Create a new instance that specifies - that the given named generic parameter should be resolved. - - The generic parameter name to resolve. - - - - Create a new instance that specifies - that the given named generic parameter should be resolved. - - The generic parameter name to resolve. - name to use when looking up in the container. - - - - Return a instance that will - return this types value for the parameter. - - The actual type to resolve. - The resolution key. - The . - - - - A that lets you specify that - an array containing the registered instances of a generic type parameter - should be resolved. - - - - - Create a new instance that specifies - that the given named generic parameter should be resolved. - - The generic parameter name to resolve. - The values for the elements, that will - be converted to objects. - - - - Test to see if this parameter value has a matching type for the given type. - - Type to check. - True if this parameter value is compatible with type , - false if not. - A type is considered compatible if it is an array type of rank one - and its element type is a generic type parameter with a name matching this generic - parameter name configured for the receiver. - - - - Return a instance that will - return this types value for the parameter. - - Type that contains the member that needs this parameter. Used - to resolve open generic parameters. - The . - - - - Name for the type represented by this . - This may be an actual type name or a generic argument name. - - - - - A Unity container extension that allows you to configure - which constructors, properties, and methods get injected - via an API rather than through attributes. - - - - - Initial the container with this extension's functionality. - - - When overridden in a derived class, this method will modify the given - by adding strategies, policies, etc. to - install it's functions into the container. - - - - API to configure the injection settings for a particular type. - - Type the injection is being configured for. - Objects containing the details on which members to inject and how. - This extension object. - - - - API to configure the injection settings for a particular type/name pair. - - Type the injection is being configured for. - Name of registration - Objects containing the details on which members to inject and how. - This extension object. - - - - API to configure the injection settings for a particular type. - - Type to configure. - Objects containing the details on which members to inject and how. - This extension object. - - - - API to configure the injection settings for a particular type/name pair. - - Type to configure. - Name of registration. - Objects containing the details on which members to inject and how. - This extension object. - - - - API to configure the injection settings for a particular type/name pair. - - Type of interface/base class being registered (may be null). - Type of actual implementation class being registered. - Name of registration. - Objects containing the details on which members to inject and how. - This extension object. - - - - A class that holds the collection of information - for a constructor, so that the container can - be configured to call this constructor. - - - - - Create a new instance of that looks - for a constructor with the given set of parameters. - - The values for the parameters, that will - be converted to objects. - - - - Add policies to the to configure the - container to call this constructor with the appropriate parameter values. - - Interface registered, ignored in this implementation. - Type to register. - Name used to resolve the type object. - Policy list to add policies to. - - - - An that configures the - container to call a method as part of buildup. - - - - - Create a new instance which will configure - the container to call the given methods with the given parameters. - - Name of the method to call. - Parameter values for the method. - - - - Add policies to the to configure the - container to call this constructor with the appropriate parameter values. - - Type of interface registered, ignored in this implementation. - Type to register. - Name used to resolve the type object. - Policy list to add policies to. - - - - A small function to handle name matching. You can override this - to do things like case insensitive comparisons. - - MethodInfo for the method you're checking. - Name of the method you're looking for. - True if a match, false if not. - - - - A class that holds on to the given value and provides - the required - when the container is configured. - - - - - Create an instance of that stores - the given value, using the runtime type of that value as the - type of the parameter. - - Value to be injected for this parameter. - - - - Create an instance of that stores - the given value, associated with the given type. - - Type of the parameter. - Value of the parameter - - - - Return a instance that will - return this types value for the parameter. - - Type that contains the member that needs this parameter. Used - to resolve open generic parameters. - The . - - - - A generic version of that makes it a - little easier to specify the type of the parameter. - - Type of parameter. - - - - Create a new . - - Value for the parameter. - - - - This class stores information about which properties to inject, - and will configure the container accordingly. - - - - - Configure the container to inject the given property name, - resolving the value via the container. - - Name of the property to inject. - - - - Configure the container to inject the given property name, - using the value supplied. This value is converted to an - object using the - rules defined by the - method. - - Name of property to inject. - Value for property. - - - - Add policies to the to configure the - container to call this constructor with the appropriate parameter values. - - Interface being registered, ignored in this implementation. - Type to register. - Name used to resolve the type object. - Policy list to add policies to. - - - - A class that stores a type, and generates a - resolver object that resolves all the named instances or the - type registered in a container. - - - - - Construct a new that - resolves to the given element type and collection of element values. - - The type of elements to resolve. - The values for the elements, that will - be converted to objects. - - - - Construct a new that - resolves to the given array and element types and collection of element values. - - The type for the array of elements to resolve. - The type of elements to resolve. - The values for the elements, that will - be converted to objects. - - - - Return a instance that will - return this types value for the parameter. - - Type that contains the member that needs this parameter. Used - to resolve open generic parameters. - The . - - - - A generic version of for convenience - when creating them by hand. - - Type of the elements for the array of the parameter. - - - - Construct a new that - resolves to the given element generic type with the given element values. - - The values for the elements, that will - be converted to objects. - - - - Interface defining the behavior of the Unity dependency injection container. - - - - - Register a type mapping with the container, where the created instances will use - the given . - - that will be requested. - that will actually be returned. - Name to use for registration, null if a default registration. - The that controls the lifetime - of the returned instance. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register an instance with the container. - - - - Instance registration is much like setting a type as a singleton, except that instead - of the container creating the instance the first time it is requested, the user - creates the instance ahead of type and adds that instance to the container. - - - Type of instance to register (may be an implemented interface instead of the full type). - Object to returned. - Name for registration. - - object that controls how this instance will be managed by the container. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Resolve an instance of the requested type with the given name from the container. - - of object to get from the container. - Name of the object to retrieve. - Any overrides for the resolve call. - The retrieved object. - - - - Return instances of all registered types requested. - - - - This method is useful if you've registered multiple types with the same - but different names. - - - Be aware that this method does NOT return an instance for the default (unnamed) registration. - - - The type requested. - Any overrides for the resolve calls. - Set of objects of type . - - - - Run an existing object through the container and perform injection on it. - - - - This method is useful when you don't control the construction of an - instance (ASP.NET pages or objects created via XAML, for instance) - but you still want properties and other injection performed. - - of object to perform injection on. - Instance to build up. - name to use when looking up the TypeMappings and other configurations. - Any overrides for the resolve calls. - The resulting object. By default, this will be , but - container extensions may add things like automatic proxy creation which would - cause this to return a different object (but still type compatible with ). - - - - Run an existing object through the container, and clean it up. - - The object to tear down. - - - - Add an extension object to the container. - - to add. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Resolve access to a configuration interface exposed by an extension. - - Extensions can expose configuration interfaces as well as adding - strategies and policies to the container. This method walks the list of - added extensions and returns the first one that implements the requested type. - - of configuration interface required. - The requested extension's configuration interface, or null if not found. - - - - Remove all installed extensions from this container. - - - - This method removes all extensions from the container, including the default ones - that implement the out-of-the-box behavior. After this method, if you want to use - the container again you will need to either read the default extensions or replace - them with your own. - - - The registered instances and singletons that have already been set up in this container - do not get removed. - - - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Create a child container. - - - A child container shares the parent's configuration, but can be configured with different - settings or lifetime. - The new child container. - - - - The parent of this container. - - The parent container, or null if this container doesn't have one. - - - - Get a sequence of that describe the current state - of the container. - - - - - A that holds a weak reference to - it's managed instance. - - - - - Retrieve a value from the backing store associated with this Lifetime policy. - - the object desired, or null if no such object is currently stored. - - - - Stores the given value into backing store for retrieval later. - - The object being stored. - - - - Remove the given object from backing store. - - - - - An implementation of that - creates instances of the type of the given Lifetime Manager - by resolving them through the container. - - - - - Create a new that will - return instances of the given type, creating them by - resolving through the container. - - Container to resolve with. - Type of LifetimeManager to create. - - - - Create a new instance of . - - The new instance. - - - - The type of Lifetime manager that will be created by this factory. - - - - - A that holds the instances given to it, - keeping one instance per thread. - - - - This LifetimeManager does not dispose the instances it holds. - - - - - - Initializes a new instance of the class. - - - - - Retrieve a value from the backing store associated with this Lifetime policy for the - current thread. - - the object desired, or if no such object is currently - stored for the current thread. - - - - Stores the given value into backing store for retrieval later when requested - in the current thread. - - The object being stored. - - - - Remove the given object from backing store. - - Not implemented for this lifetime manager. - - - - An implementation that does nothing, - thus ensuring that instances are created new every time. - - - - - Retrieve a value from the backing store associated with this Lifetime policy. - - the object desired, or null if no such object is currently stored. - - - - Stores the given value into backing store for retrieval later. - - The object being stored. - - - - Remove the given object from backing store. - - - - - This strategy implements the logic that will call container.ResolveAll - when an array parameter is detected. - - - - - Do the PreBuildUp stage of construction. This is where the actual work is performed. - - Current build context. - - - - An implementation of that is - aware of the build keys used by the Unity container. - - - - - Create a instance for the given - . - - - This implementation looks for the Unity on the - parameter and uses it to create an instance of - for this parameter. - Parameter to create the resolver for. - The resolver object. - - - - An implementation of that is aware - of the build keys used by the Unity container. - - - - - Create a instance for the given - . - - Parameter to create the resolver for. - The resolver object. - - - - An implementation of that is aware of - the build keys used by the unity container. - - - - - Create a for the given - property. - - Property to create resolver for. - The resolver object. - - - - A implementation that returns - the value set in the constructor. - - - - - Create a new instance of - which will return the given value when resolved. - - The value to return. - - - - Get the value for a dependency. - - Current build context. - The value for the dependency. - - - - An implementation of that stores a - type and name, and at resolution time puts them together into a - . - - - - - Create an instance of - with the given type and name. - - The type. - The name (may be null). - - - - Resolve the value for a dependency. - - Current build context. - The value for the dependency. - - - - The type that this resolver resolves. - - - - - The name that this resolver resolves. - - - - - An implementation of that resolves to - to an array populated with the values that result from resolving other instances - of . - - - - - Create an instance of - with the given type and a collection of - instances to use when populating the result. - - The type. - The resolver policies to use when populating an array. - - - - Resolve the value for a dependency. - - Current build context. - An array populated with the results of resolving the resolver policies. - - - - An implementation of that selects - the given constructor and creates the appropriate resolvers to call it with - the specified parameters. - - - - - Create an instance of that - will return the given constructor, being passed the given injection values - as parameters. - - The constructor to call. - Set of objects - that describes how to obtain the values for the constructor parameters. - - - - Choose the constructor to call for the given type. - - Current build context - The to add any - generated resolver objects into. - The chosen constructor. - - - - Helper class for implementing selector policies that need to - set up dependency resolver policies. - - - - - Add dependency resolvers to the parameter set. - - Type that's currently being built (used to resolve open generics). - PolicyList to add the resolvers to. - Objects supplying the dependency resolvers. - Result object to store the keys in. - - - - A implementation that calls the specific - methods with the given parameters. - - - - - Add the given method and parameter collection to the list of methods - that will be returned when the selector's - method is called. - - Method to call. - sequence of objects - that describe how to create the method parameter values. - - - - Return the sequence of methods to call while building the target object. - - Current build context. - The to add any - generated resolver objects into. - Sequence of methods to call. - - - - An implementation of which returns - the set of specific properties that the selector was configured with. - - - - - Add a property that will be par of the set returned when the - is called. - - The property to set. - object describing - how to create the value to inject. - - - - Returns sequence of properties on the given type that - should be set as part of building that object. - - Current build context. - The to add any - generated resolver objects into. - Sequence of objects - that contain the properties to set. - - - - The exception thrown by the Unity container when - an attempt to resolve a dependency fails. - - - - - Create a new that records - the exception for the given type and name. - - Type requested from the container. - Name requested from the container. - The actual exception that caused the failure of the build. - The build context representing the failed operation. - - - - The type that was being requested from the container at the time of failure. - - - - - The name that was being requested from the container at the time of failure. - - - - - A class that stores a name and type, and generates a - resolver object that resolves the parameter via the - container. - - - - - Construct a new that - resolves to the given type. - - Type of this parameter. - - - - Construct a new that - resolves the given type and name. - - Type of this parameter. - Name to use when resolving parameter. - - - - Return a instance that will - return this types value for the parameter. - - Type that contains the member that needs this parameter. Used - to resolve open generic parameters. - The . - - - - A generic version of for convenience - when creating them by hand. - - Type of the parameter - - - - Create a new for the given - generic type and the default name. - - - - - Create a new for the given - generic type and name. - - Name to use to resolve this parameter. - - - - An implementation of that wraps a Unity container. - - - - - Initializes a new instance of the class for a container. - - The to wrap with the - interface implementation. - - - - Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. - - 2 - - - - When implemented by inheriting classes, this method will do the actual work of resolving - the requested service instance. - - Type of instance requested.Name of registered service you want. May be null. - - The requested service instance. - - - - - When implemented by inheriting classes, this method will do the actual work of - resolving all the requested service instances. - - Type of service requested. - - Sequence of service instance objects. - - - - - A static helper class that includes various parameter checking routines. - - - - - Throws if the given argument is null. - - if tested value if null. - Argument value to test. - Name of the argument being tested. - - - - Throws an exception if the tested string argument is null or the empty string. - - Thrown if string value is null. - Thrown if the string is empty - Argument value to check. - Name of argument being checked. - - - - Verifies that an argument type is assignable from the provided type (meaning - interfaces are implemented, or classes exist in the base class hierarchy). - - The argument type that will be assigned to. - The type of the value being assigned. - Argument name. - - - - Verifies that an argument instance is assignable from the provided type (meaning - interfaces are implemented, or classes exist in the base class hierarchy, or instance can be - assigned through a runtime wrapper, as is the case for COM Objects). - - The argument type that will be assigned to. - The instance that will be assigned. - Argument name. - - - - A helper class to manage the names that get registered in the container - - - - - The build stages we use in the Unity container - strategy pipeline. - - - - - First stage. By default, nothing happens here. - - - - - Second stage. Type mapping occurs here. - - - - - Third stage. lifetime managers are checked here, - and if they're available the rest of the pipeline is skipped. - - - - - Fourth stage. Reflection over constructors, properties, etc. is - performed here. - - - - - Fifth stage. Instance creation happens here. - - - - - Sixth stage. Property sets and method injection happens here. - - - - - Seventh and final stage. By default, nothing happens here. - - - - - A strongly-typed resource class, for looking up localized strings, etc. - - - - - Returns the cached ResourceManager instance used by this class. - - - - - Overrides the current thread's CurrentUICulture property for all - resource lookups using this strongly typed resource class. - - - - - Looks up a localized string similar to The type {0} has multiple constructors of length {1}. Unable to disambiguate.. - - - - - Looks up a localized string similar to The provided string argument must not be empty.. - - - - - Looks up a localized string similar to The current build operation (build key {2}) failed: {3} (Strategy type {0}, index {1}). - - - - - Looks up a localized string similar to The current type, {0}, is an abstract class and cannot be constructed. Are you missing a type mapping?. - - - - - Looks up a localized string similar to The current type, {0}, is delegate and cannot be constructed. Unity only supports resolving Func<T> and Func<IEnumerable<T>> by default.. - - - - - Looks up a localized string similar to The current type, {0}, is an interface and cannot be constructed. Are you missing a type mapping?. - - - - - Looks up a localized string similar to Cannot extract type from build key {0}.. - - - - - Looks up a localized string similar to The method {0}.{1}({2}) is an open generic method. Open generic methods cannot be injected.. - - - - - Looks up a localized string similar to The property {0} on type {1} is an indexer. Indexed properties cannot be injected.. - - - - - Looks up a localized string similar to The method {1} on type {0} has an out parameter. Injection cannot be performed.. - - - - - Looks up a localized string similar to The method {0}.{1}({2}) has at least one out parameter. Methods with out parameters cannot be injected.. - - - - - Looks up a localized string similar to The method {0}.{1}({2}) has at least one ref parameter.Methods with ref parameters cannot be injected.. - - - - - Looks up a localized string similar to The method {1} on type {0} is marked for injection, but it is an open generic method. Injection cannot be performed.. - - - - - Looks up a localized string similar to The method {0}.{1}({2}) is static. Static methods cannot be injected.. - - - - - Looks up a localized string similar to The type {0} is an open generic type. An open generic type cannot be resolved.. - - - - - Looks up a localized string similar to Resolving parameter "{0}" of constructor {1}. - - - - - Looks up a localized string similar to The parameter {0} could not be resolved when attempting to call constructor {1}.. - - - - - Looks up a localized string similar to Parameter type inference does not work for null values. Indicate the parameter type explicitly using a properly configured instance of the InjectionParameter or InjectionParameter<T> classes.. - - - - - Looks up a localized string similar to Calling constructor {0}. - - - - - Looks up a localized string similar to Calling method {0}.{1}. - - - - - Looks up a localized string similar to An item with the given key is already present in the dictionary.. - - - - - Looks up a localized string similar to The lifetime manager is already registered. Lifetime managers cannot be reused, please create a new one.. - - - - - Looks up a localized string similar to The override marker build plan policy has been invoked. This should never happen, looks like a bug in the container.. - - - - - Looks up a localized string similar to Resolving parameter "{0}" of method {1}.{2}. - - - - - Looks up a localized string similar to The value for parameter "{1}" of method {0} could not be resolved. . - - - - - Looks up a localized string similar to Could not resolve dependency for build key {0}.. - - - - - Looks up a localized string similar to The type {0} has multiple constructors marked with the InjectionConstructor attribute. Unable to disambiguate.. - - - - - Looks up a localized string similar to The supplied type {0} must be an open generic type.. - - - - - Looks up a localized string similar to The supplied type {0} does not have the same number of generic arguments as the target type {1}.. - - - - - Looks up a localized string similar to The type {0} does not have an accessible constructor.. - - - - - Looks up a localized string similar to The type {0} does not have a generic argument named "{1}". - - - - - Looks up a localized string similar to while resolving. - - - - - Looks up a localized string similar to The type {0} does not have a constructor that takes the parameters ({1}).. - - - - - Looks up a localized string similar to The type {0} does not have a public method named {1} that takes the parameters ({2}).. - - - - - Looks up a localized string similar to The type {0} does not contain an instance property named {1}.. - - - - - Looks up a localized string similar to The type {0} is not a generic type, and you are attempting to inject a generic parameter named "{1}".. - - - - - Looks up a localized string similar to The type {0} is not an array type with rank 1, and you are attempting to use a [DependencyArray] attribute on a parameter or property with this type.. - - - - - Looks up a localized string similar to Optional dependencies must be reference types. The type {0} is a value type.. - - - - - Looks up a localized string similar to The property {0} on type {1} is not settable.. - - - - - Looks up a localized string similar to The property {0} on type {1} is of type {2}, and cannot be injected with a value of type {3}.. - - - - - Looks up a localized string similar to The value for the property "{0}" could not be resolved.. - - - - - Looks up a localized string similar to The provided string argument must not be empty.. - - - - - Looks up a localized string similar to Resolution of the dependency failed, type = "{0}", name = "{1}". - Exception occurred while: {2}. - Exception is: {3} - {4} - ----------------------------------------------- - At the time of the exception, the container was: - . - - - - - Looks up a localized string similar to Resolving {0},{1}. - - - - - Looks up a localized string similar to Resolving {0},{1} (mapped from {2}, {3}). - - - - - Looks up a localized string similar to Resolving value for property {0}.{1}. - - - - - Looks up a localized string similar to The constructor {1} selected for type {0} has ref or out parameters. Such parameters are not supported for constructor injection.. - - - - - Looks up a localized string similar to Setting value for property {0}.{1}. - - - - - Looks up a localized string similar to The type {0} cannot be constructed. You must configure the container to supply this value.. - - - - - Looks up a localized string similar to The type {1} cannot be assigned to variables of type {0}.. - - - - - Looks up a localized string similar to <unknown>. - - - - - A simple, extensible dependency injection container. - - - - - Create a default . - - - - - Create a with the given parent container. - - The parent . The current object - will apply its own settings first, and then check the parent for additional ones. - - - - RegisterType a type mapping with the container, where the created instances will use - the given . - - that will be requested. - that will actually be returned. - Name to use for registration, null if a default registration. - The that controls the lifetime - of the returned instance. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - RegisterType an instance with the container. - - - - Instance registration is much like setting a type as a singleton, except that instead - of the container creating the instance the first time it is requested, the user - creates the instance ahead of type and adds that instance to the container. - - - Type of instance to register (may be an implemented interface instead of the full type). - Object to returned. - Name for registration. - - If true, the container will take over the lifetime of the instance, - calling Dispose on it (if it's ) when the container is Disposed. - - If false, container will not maintain a strong reference to . User is responsible - for disposing instance, and for keeping the instance from being garbage collected. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Get an instance of the requested type with the given name from the container. - - of object to get from the container. - Name of the object to retrieve. - Any overrides for the resolve call. - The retrieved object. - - - - Return instances of all registered types requested. - - - - This method is useful if you've registered multiple types with the same - but different names. - - - Be aware that this method does NOT return an instance for the default (unnamed) registration. - - - The type requested. - Any overrides for the resolve calls. - Set of objects of type . - - - - Run an existing object through the container and perform injection on it. - - - - This method is useful when you don't control the construction of an - instance (ASP.NET pages or objects created via XAML, for instance) - but you still want properties and other injection performed. - - of object to perform injection on. - Instance to build up. - name to use when looking up the typemappings and other configurations. - Any overrides for the buildup. - The resulting object. By default, this will be , but - container extensions may add things like automatic proxy creation which would - cause this to return a different object (but still type compatible with ). - - - - Run an existing object through the container, and clean it up. - - The object to tear down. - - - - Add an extension object to the container. - - to add. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Get access to a configuration interface exposed by an extension. - - Extensions can expose configuration interfaces as well as adding - strategies and policies to the container. This method walks the list of - added extensions and returns the first one that implements the requested type. - - of configuration interface required. - The requested extension's configuration interface, or null if not found. - - - - Remove all installed extensions from this container. - - - - This method removes all extensions from the container, including the default ones - that implement the out-of-the-box behavior. After this method, if you want to use - the container again you will need to either read the default extensions or replace - them with your own. - - - The registered instances and singletons that have already been set up in this container - do not get removed. - - - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Create a child container. - - - A child container shares the parent's configuration, but can be configured with different - settings or lifetime. - The new child container. - - - - Dispose this container instance. - - - Disposing the container also disposes any child containers, - and disposes any instances whose lifetimes are managed - by the container. - - - - - Dispose this container instance. - - - This class doesn't have a finalizer, so will always be true. - True if being called from the IDisposable.Dispose - method, false if being called from a finalizer. - - - - Remove policies associated with building this type. This removes the - compiled build plan so that it can be rebuilt with the new settings - the next time this type is resolved. - - Type of object to clear the plan for. - Name the object is being registered with. - - - - The parent of this container. - - The parent container, or null if this container doesn't have one. - - - - Get a sequence of that describe the current state - of the container. - - - - - Implementation of the ExtensionContext that is actually used - by the UnityContainer implementation. - - - This is a nested class so that it can access state in the - container that would otherwise be inaccessible. - - - - - This event is raised when the method, - or one of its overloads, is called. - - - - - This extension supplies the default behavior of the UnityContainer API - by handling the context events and setting policies. - - - - - Install the default container behavior into the container. - - - - - Remove the default behavior from the container. - - - - - This extension installs the default strategies and policies into the container - to implement the standard behavior of the Unity container. - - - - - Add the default ObjectBuilder strategies & policies to the container. - - - - - Helper class to wrap common reflection stuff dealing with - methods. - - - - - Create a new instance that - lets us do more reflection stuff on that method. - - The method to reflect on. - - - - Given our set of generic type arguments, - - The generic type arguments. - An array with closed parameter types. - - - - Returns true if any of the parameters of this method - are open generics. - - - - - Return the of each parameter for this - method. - - Sequence of objects, one for - each parameter in order. - - - - A helper class that encapsulates two different - data items together into a a single item. - - - - - Create a new containing - the two values give. - - First value - Second value - - - - The first value of the pair. - - - - - The second value of the pair. - - - - - Container for a Pair helper method. - - - - - A helper factory method that lets users take advantage of type inference. - - Type of first value. - Type of second value. - First value. - Second value. - A new instance. - - - - A utility class that handles the logic of matching parameter - lists, so we can find the right constructor and method overloads. - - - - - Create a new that will attempt to - match the given parameter types. - - Target parameters to match against. - - - - Tests to see if the given set of types matches the ones - we're looking for. - - parameter list to look for. - true if they match, false if they don't. - - - - Tests to see if the given set of types matches the ones we're looking for. - - Candidate method signature to look for. - True if they match, false if they don't. - - - - Another reflection helper class that has extra methods - for dealing with ParameterInfo. - - - - - A small helper class to encapsulate details of the - reflection API, particularly around generics. - - - - - Create a new instance that - lets you look at information about the given type. - - Type to do reflection on. - - - - Test the given object, looking at - the parameters. Determine if any of the parameters are - open generic types that need type attributes filled in. - - The method to check. - True if any of the parameters are open generics. False if not. - - - - If this type is an open generic, use the - given array to - determine what the required closed type is and return that. - - If the parameter is not an open type, just - return this parameter's type. - Type arguments to substitute in for - the open type parameters. - Corresponding closed type of this parameter. - - - - Given a generic argument name, return the corresponding type for this - closed type. For example, if the current type is SomeType<User>, and the - corresponding definition was SomeType<TSomething>, calling this method - and passing "TSomething" will return typeof(User). - - Name of the generic parameter. - Type of the corresponding generic parameter, or null if there - is no matching name. - - - - The object we're reflecting over. - - - - - Is this type generic? - - - - - Is this type an open generic (no type parameter specified) - - - - - Is this type an array type? - - - - - Is this type an array of generic elements? - - - - - The type of the elements in this type (if it's an array). - - - - - Returns all the public constructors defined for the current reflected . - - - An enumeration of ConstructorInfo objects representing all the public instance constructors defined for the - current reflected , but not including the type initializer (static constructor). - - - - - Create a new instance of that - lets you query information about the given ParameterInfo object. - - Parameter to query. - - - - A set of helper methods to pick through lambdas and pull out - from them. - - - - - Pull out a object from an expression of the form - () => SomeClass.SomeMethod() - - Expression describing the method to call. - Corresponding . - - - - Pull out a object from an expression of the form - x => x.SomeMethod() - - The type where the method is defined. - Expression describing the method to call. - Corresponding . - - - - Pull out a object for the get method from an expression of the form - x => x.SomeProperty - - The type where the method is defined. - The type for the property. - Expression describing the property for which the get method is to be extracted. - Corresponding . - - - - Pull out a object for the set method from an expression of the form - x => x.SomeProperty - - The type where the method is defined. - The type for the property. - Expression describing the property for which the set method is to be extracted. - Corresponding . - - - - - - - - - - - - - Pull out a object from an expression of the form () => new SomeType() - - The type where the constructor is defined. - Expression invoking the desired constructor. - Corresponding . - - - diff --git a/src/packages/Unity.4.0.1/lib/win8/Microsoft.Practices.Unity.RegistrationByConvention.XML b/src/packages/Unity.4.0.1/lib/win8/Microsoft.Practices.Unity.RegistrationByConvention.XML deleted file mode 100644 index b706e6f..0000000 --- a/src/packages/Unity.4.0.1/lib/win8/Microsoft.Practices.Unity.RegistrationByConvention.XML +++ /dev/null @@ -1,306 +0,0 @@ - - - - Microsoft.Practices.Unity.RegistrationByConvention - - - - - Provides helper methods to retrieve classes from assemblies. - - - - - Returns all visible, non-abstract classes from . - - The assemblies. - All visible, non-abstract classes found in the assemblies. - is . - contains elements. - All exceptions thrown while getting types from the assemblies are ignored, and the types that can be retrieved are returned. - - - - Returns all visible, non-abstract classes from , and optionally skips errors. - - to skip errors; otherwise, . - The assemblies. - - All visible, non-abstract classes. - - is . - contains elements. - - If is , all exceptions thrown while getting types from the assemblies are ignored, and the types - that can be retrieved are returned; otherwise, the original exception is thrown. - - - - - Returns all visible, non-abstract classes from . - - to skip errors; otherwise, . - The assemblies. - - All visible, non-abstract classes. - - is . - contains elements. - - If is , all exceptions thrown while getting types from the assemblies are ignored, and the types - that can be retrieved are returned; otherwise, the original exception is thrown. - - - - - Returns all visible, non-abstract classes from all assemblies located where the application is installed. - - to include the Unity assemblies; otherwise, . Defaults to . - to skip errors; otherwise, . - - All visible, non-abstract classes. - - - If is , all exceptions thrown while loading assemblies or getting types from the assemblies - are ignored, and the types that can be retrieved are returned; otherwise, the original exception is thrown. These exceptions might be wrapped in a - . - - - - - The exception that is thrown when registering multiple types would result in an type mapping being overwritten. - - - - - Initializes a new instance of the class. - - The name for the mapping. - The source type for the mapping. - The type currently mapped. - The new type to map. - - - - Gets the name for the mapping. - - - - - Gets the source type for the mapping. - - - - - Gets the type currently mapped. - - - - - Gets the new type to map. - - - - - Represents a set of types to register and their registration settings. - - - - - Gets types to register. - - - - - Gets a function to get the types that will be requested for each type to configure. - - - - - Gets a function to get the name to use for the registration of each type. - - - - - Gets a function to get the for the registration of each type. Defaults to no lifetime management. - - - - - - Gets a function to get the additional objects for the registration of each type. Defaults to no injection members. - - - - - - A strongly-typed resource class, for looking up localized strings, etc. - - - - - Returns the cached ResourceManager instance used by this class. - - - - - An attempt to override an existing mapping was detected for type {1} wit... - - - - - The set of assemblies contains a null element. - - - - - Provides a set of convenience overloads to the - interface to support registration of multiple types. - - - - - Registers the supplied types by using the specified rules for name, lifetime manager, injection members, and registration types. - - The container to configure. - The types to register. The methods in the class can be used to scan assemblies to get types, and further filtering can be performed using LINQ queries. - A function that gets the types that will be requested for each type to configure. It can be a method from the class or a custom function. Defaults to no registration types, and registers only the supplied types. - A function that gets the name to use for the registration of each type. It can be a method from the or a custom function. Defaults to no name. - A function that gets the for the registration of each type. It can be a method from the class or a custom function. Defaults to no lifetime management. - A function that gets the additional objects for the registration of each type. Defaults to no injection members. - to overwrite existing mappings; otherwise, . Defaults to . - - The container that this method was called on. - - A new registration would overwrite an existing mapping and is . - - - - Registers the types according to the . - - The container to configure. - The convention to determine which types will be registered and how. - to overwrite existing mappings; otherwise, . Defaults to . - - The container that this method was called on. - - - - - Provides helper methods to specify the lifetime for a type with registration by convention. - - - - - Returns a . - - The type. - A lifetime manager - - - - Returns a . - - The type. - A container controlled lifetime manager. - - - - Returns a . - - The type. - An externally controlled lifetime manager. - - - - Returns a . - - The type. - A hierarchical lifetime manager. - - - - Returns a . - - The type. - A per resolve lifetime manager. - - - - Returns a . - - The type. - A transient lifetime manager. - - - - Returns a . - - The custom type. - The type. - - A lifetime manager. - - - - - Returns a . - - The type. - A per thread lifetime manager. - - - - Provides helper methods to map types to the types interfaces to which register them. - - - - - Returns no types. - - The type to register. - An empty enumeration. - - - - Returns an enumeration with the interface that matches the name of . - - The type to register. - An enumeration with the first interface matching the name of (for example, if type is MyType, a matching interface is IMyType), - or an empty enumeration if no such interface is found. - - - - Returns an enumeration with all the interfaces implemented by . - - The type to register. - An enumeration with all the interfaces implemented by the implementation type except . - - - - Returns an enumeration with all the interfaces implemented by that belong to the same assembly as implementationType. - - The type to register. - An enumeration with all the interfaces implemented by the implementation type that belong to the same assembly. - - - - Provides helper methods to get type names. - - - - - Returns the type name. - - The type. - The type name. - - - - Returns null for the registration name. - - The type. - - - - diff --git a/src/packages/Unity.4.0.1/lib/win8/Microsoft.Practices.Unity.RegistrationByConvention.dll b/src/packages/Unity.4.0.1/lib/win8/Microsoft.Practices.Unity.RegistrationByConvention.dll deleted file mode 100644 index d6b24328014ce113d72954afc8fa041ba729e36a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22528 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 D4M*ll diff --git a/src/packages/Unity.4.0.1/lib/win8/Microsoft.Practices.Unity.RegistrationByConvention.pri b/src/packages/Unity.4.0.1/lib/win8/Microsoft.Practices.Unity.RegistrationByConvention.pri deleted file mode 100644 index 7a2c9e2144911daedf6128682e4698476268173f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2184 zcmeHJ&1w@-6#nv~MpxO0D{<&jYSN~zM1)ogZd#-&LbVR#1;-7*1MrTsj>&`z zp2rmEnlSOBWPh-ytr;8>vwSM(nmjb4IbXboQ+_WGdnOL{JdZmLPPlxpmgh5*`*D!^ z{`~x>8qlo&`F`maRPCsthD&aPc2qe9m2!3X$LeS5bl~{Bo^a(S=}m0o7M|j<6U6xR z+jx)mDAw3>i9DM5`BiXl6QWOlHFajyptuo3Hqi{ewM)piPiwJ(Rw@qz* zj&gCe-vs6TqB>WN3zn-cHj2tTPC&Pe{g7Tt%A9{@@h-hNq@``FIu-wa z|6vcPt5#OO+-#shOhZ-e`l4{9k^08P66a#~BqLtgUd#FyZBLik^%8Yr>&!6E_CwWT z%t|as7tAw{Q#~=`h|nb_IY}GVrt74xRz03`9ePR+N#~T*Dd|;THl#du>jCxY23PeS z-Y}Qna!1)-phqm>>6r2!mdITpcL~d+Lfc6)a@40)=kuGLcK7bHx;s3rv%hlI$Z5%C z>_9zxn>vWB*MEv^J=;?v@?=p+u5J%(J!&W5Ov*ka-}E{4dPzC`>IbU%@#$o&?+txk H==$f}pKc92on|VnlX#d||l>6>E_ug~Q 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 Z=G*>LDJI(~^yY(ayX5~b@c#e={x_&(Z`=R? diff --git a/src/packages/Unity.4.0.1/lib/win8/Microsoft.Practices.Unity.xml b/src/packages/Unity.4.0.1/lib/win8/Microsoft.Practices.Unity.xml deleted file mode 100644 index f99ca70..0000000 --- a/src/packages/Unity.4.0.1/lib/win8/Microsoft.Practices.Unity.xml +++ /dev/null @@ -1,5916 +0,0 @@ - - - - Microsoft.Practices.Unity - - - - - Provides access to the names registered for a container. - - - - - Represents a builder policy interface. Since there are no fixed requirements - for policies, it acts as a marker interface from which to derive all other - policy interfaces. - - - - - Gets the names registered for a type. - - The type. - The names registered for . - - - - An implementation - that constructs a build plan for creating objects. - - - - - A that can create and return an - for the given build key. - - - - - Create a build plan using the given context and build key. - - Current build context. - Current build key. - The build plan. - - - - Creates a build plan using the given context and build key. - - Current build context. - Current build key. - - The build plan. - - - - - Provides extension methods to the class due to the introduction - of class in the .NET for Windows Store apps. - - - - - Returns the constructor in that matches the specified constructor parameter types. - - The type to inspect - The constructor parameter types. - The constructor that matches the specified parameter types. - - - - Returns the non-static declared methods of a type or its base types. - - The type to inspect - An enumerable of the objects. - - - - Returns the non-static method of a type or its based type. - - The type to inspect - The name of the method to seek. - The (closed) parameter type signature of the method. - The discovered - - - - Returns the declared properties of a type or its base types. - - The type to inspect - An enumerable of the objects. - - - - Determines if the types in a parameter set ordinally matches the set of supplied types. - - - - - - - - Base class for attributes that can be placed on parameters - or properties to specify how to resolve the value for - that parameter or property. - - - - - Create an instance of that - will be used to get the value for the member this attribute is - applied to. - - Type of parameter or property that - this attribute is decoration. - The resolver object. - - - - This attribute is used to indicate which constructor to choose when - the container attempts to build a type. - - - - - This attribute is used to mark methods that should be called when - the container is building an object. - - - - - This attribute is used to mark properties and parameters as targets for injection. - - - For properties, this attribute is necessary for injection to happen. For parameters, - it's not needed unless you want to specify additional information to control how - the parameter is resolved. - - - - - Create an instance of with no name. - - - - - Create an instance of with the given name. - - Name to use when resolving this dependency. - - - - Create an instance of that - will be used to get the value for the member this attribute is - applied to. - - Type of parameter or property that - this attribute is decoration. - The resolver object. - - - - The name specified in the constructor. - - - - - An used to mark a dependency - as optional - the container will try to resolve it, and return null - if the resolution fails rather than throw. - - - - - Construct a new object. - - - - - Construct a new object that - specifies a named dependency. - - Name of the dependency. - - - - Create an instance of that - will be used to get the value for the member this attribute is - applied to. - - Type of parameter or property that - this attribute is decoration. - The resolver object. - - - - Name of the dependency. - - - - - A that composites other - ResolverOverride objects. The GetResolver operation then - returns the resolver from the first child override that - matches the current context and request. - - - - - Base class for all override objects passed in the - method. - - - - - Return a that can be used to give a value - for the given desired dependency. - - Current build context. - Type of dependency desired. - a object if this override applies, null if not. - - - - Wrap this resolver in one that verifies the type of the object being built. - This allows you to narrow any override down to a specific type easily. - - Type to constrain the override to. - The new override. - - - - Wrap this resolver in one that verifies the type of the object being built. - This allows you to narrow any override down to a specific type easily. - - Type to constrain the override to. - The new override. - - - - Add a new to the collection - that is checked. - - item to add. - - - - Add a set of s to the collection. - - items to add. - - - - Returns an enumerator that iterates through a collection. - - - An object that can be used to iterate through the collection. - - 2 - - - - Returns an enumerator that iterates through the collection. - - - A that can be used to iterate through the collection. - - 1 - - - - Return a that can be used to give a value - for the given desired dependency. - - Current build context. - Type of dependency desired. - a object if this override applies, null if not. - - - - Class that returns information about the types registered in a container. - - - - - The type that was passed to the method - as the "from" type, or the only type if type mapping wasn't done. - - - - - The type that this registration is mapped to. If no type mapping was done, the - property and this one will have the same value. - - - - - Name the type was registered under. Null for default registration. - - - - - The registered lifetime manager instance. - - - - - The lifetime manager for this registration. - - - This property will be null if this registration is for an open generic. - - - - A class that overrides - the value injected whenever there is a dependency of the - given type, regardless of where it appears in the object graph. - - - - - Create an instance of to override - the given type with the given value. - - Type of the dependency. - Value to use. - - - - Return a that can be used to give a value - for the given desired dependency. - - Current build context. - Type of dependency desired. - a object if this override applies, null if not. - - - - A convenience version of that lets you - specify the dependency type using generic syntax. - - Type of the dependency to override. - - - - Construct a new object that will - override the given dependency, and pass the given value. - - - - - A convenience form of that lets you - specify multiple parameter overrides in one shot rather than having - to construct multiple objects. - - - This class isn't really a collection, it just implements IEnumerable - so that we get use of the nice C# collection initializer syntax. - - - - - Base helper class for creating collections of objects - for use in passing a bunch of them to the resolve call. This base class provides - the mechanics needed to allow you to use the C# collection initializer syntax. - - Concrete type of the this class collects. - Key used to create the underlying override object. - Value that the override returns. - - - - Add a new override to the collection with the given key and value. - - Key - for example, a parameter or property name. - Value - the value to be returned by the override. - - - - Return a that can be used to give a value - for the given desired dependency. - - Current build context. - Type of dependency desired. - a object if this override applies, null if not. - - - - Returns an enumerator that iterates through a collection. - - - An object that can be used to iterate through the collection. - - 2 - - - - Returns an enumerator that iterates through the collection. - - - A that can be used to iterate through the collection. - - 1 - - - - When implemented in derived classes, this method is called from the - method to create the actual objects. - - Key value to create the resolver. - Value to store in the resolver. - The created . - - - - When implemented in derived classes, this method is called from the - method to create the actual objects. - - Key value to create the resolver. - Value to store in the resolver. - The created . - - - - Event argument class for the event. - - - - - Construct a new object with the - given child container object. - - An for the newly created child - container. - - - - The newly created child container. - - - - - An extension context for the created child container. - - - - - Base class for subclasses that let you specify that - an instance of a generic type parameter should be resolved. - - - - - Base type for objects that are used to configure parameters for - constructor or method injection, or for getting the value to - be injected into a property. - - - - - Test to see if this parameter value has a matching type for the given type. - - Type to check. - True if this parameter value is compatible with type , - false if not. - - - - Return a instance that will - return this types value for the parameter. - - Type that contains the member that needs this parameter. Used - to resolve open generic parameters. - The . - - - - Convert the given set of arbitrary values to a sequence of InjectionParameterValue - objects. The rules are: If it's already an InjectionParameterValue, return it. If - it's a Type, return a ResolvedParameter object for that type. Otherwise return - an InjectionParameter object for that value. - - The values to build the sequence from. - The resulting converted sequence. - - - - Convert an arbitrary value to an InjectionParameterValue object. The rules are: - If it's already an InjectionParameterValue, return it. If it's a Type, return a - ResolvedParameter object for that type. Otherwise return an InjectionParameter - object for that value. - - The value to convert. - The resulting . - - - - Name for the type represented by this . - This may be an actual type name or a generic argument name. - - - - - Create a new instance that specifies - that the given named generic parameter should be resolved. - - The generic parameter name to resolve. - - - - Create a new instance that specifies - that the given named generic parameter should be resolved. - - The generic parameter name to resolve. - name to use when looking up in the container. - - - - Test to see if this parameter value has a matching type for the given type. - - Type to check. - True if this parameter value is compatible with type , - false if not. - - - - Return a instance that will - return this types value for the parameter. - - Type that contains the member that needs this parameter. Used - to resolve open generic parameters. - The . - - - - Return a instance that will - return this types value for the parameter. - - The actual type to resolve. - The resolution key. - The . - - - - Name for the type represented by this . - This may be an actual type name or a generic argument name. - - - - - A that lets you specify that - an instance of a generic type parameter should be resolved, providing the - value if resolving fails. - - - - - Create a new instance that specifies - that the given named generic parameter should be resolved. - - The generic parameter name to resolve. - - - - Create a new instance that specifies - that the given named generic parameter should be resolved. - - The generic parameter name to resolve. - name to use when looking up in the container. - - - - Return a instance that will - return this types value for the parameter. - - The actual type to resolve. - The resolution key. - The . - - - - A class that lets you specify a factory method the container - will use to create the object. - - This is a significantly easier way to do the same - thing the old static factory extension was used for. - - - - Base class for objects that can be used to configure what - class members get injected by the container. - - - - - Add policies to the to configure the - container to call this constructor with the appropriate parameter values. - - Type to register. - Policy list to add policies to. - - - - Add policies to the to configure the - container to call this constructor with the appropriate parameter values. - - Type of interface being registered. If no interface, - this will be null. - Type of concrete type being registered. - Name used to resolve the type object. - Policy list to add policies to. - - - - Create a new instance of with - the given factory function. - - Factory function. - - - - Create a new instance of with - the given factory function. - - Factory function. - - - - Add policies to the to configure the - container to call this constructor with the appropriate parameter values. - - Type of interface being registered. If no interface, - this will be null. This parameter is ignored in this implementation. - Type of concrete type being registered. - Name used to resolve the type object. - Policy list to add policies to. - - - - A that can be passed to - to configure a - parameter or property as an optional dependency. - - - - - A base class for implementing classes - that deal in explicit types. - - - - - Create a new that exposes - information about the given . - - Type of the parameter. - - - - Test to see if this parameter value has a matching type for the given type. - - Type to check. - True if this parameter value is compatible with type , - false if not. - - - - The type of parameter this object represents. - - - - - Name for the type represented by this . - This may be an actual type name or a generic argument name. - - - - - Construct a new object that - specifies the given . - - Type of the dependency. - - - - Construct a new object that - specifies the given and . - - Type of the dependency. - Name for the dependency. - - - - Return a instance that will - return this types value for the parameter. - - Type that contains the member that needs this parameter. Used - to resolve open generic parameters. - The . - - - - A generic version of that lets you - specify the type of the dependency using generics syntax. - - Type of the dependency. - - - - Construct a new . - - - - - Construct a new with the given - . - - Name of the dependency. - - - - A special lifetime manager which works like , - except that in the presence of child containers, each child gets it's own instance - of the object, instead of sharing one in the common parent. - - - - - A that holds onto the instance given to it. - When the is disposed, - the instance is disposed with it. - - - - - Base class for Lifetime managers which need to synchronize calls to - . - - - - The purpose of this class is to provide a basic implementation of the lifetime manager synchronization pattern. - - - Calls to the method of a - instance acquire a lock, and if the instance has not been initialized with a value yet the lock will only be released - when such an initialization takes place by calling the method or if - the build request which resulted in the call to the GetValue method fails. - - - - - - - Base class for Lifetime managers - classes that control how - and when instances are created by the Unity container. - - - - - A that controls how instances are - persisted and recovered from an external store. Used to implement - things like singletons and per-http-request lifetime. - - - - - Retrieve a value from the backing store associated with this Lifetime policy. - - the object desired, or null if no such object is currently stored. - - - - Stores the given value into backing store for retrieval later. - - The object to store. - - - - Remove the value this lifetime policy is managing from backing store. - - - - - Retrieve a value from the backing store associated with this Lifetime policy. - - the object desired, or null if no such object is currently stored. - - - - Stores the given value into backing store for retrieval later. - - The object being stored. - - - - Remove the given object from backing store. - - - - - This interface provides a hook for the builder context to - implement error recovery when a builder strategy throws - an exception. Since we can't get try/finally blocks onto - the call stack for later stages in the chain, we instead - add these objects to the context. If there's an exception, - all the current IRequiresRecovery instances will have - their Recover methods called. - - - - - A method that does whatever is needed to clean up - as part of cleaning up after an exception. - - - Don't do anything that could throw in this method, - it will cause later recover operations to get skipped - and play real havoc with the stack trace. - - - - - Retrieve a value from the backing store associated with this Lifetime policy. - - the object desired, or null if no such object is currently stored. - Calls to this method acquire a lock which is released only if a non-null value - has been set for the lifetime manager. - - - - Performs the actual retrieval of a value from the backing store associated - with this Lifetime policy. - - the object desired, or null if no such object is currently stored. - This method is invoked by - after it has acquired its lock. - - - - Stores the given value into backing store for retrieval later. - - The object being stored. - Setting a value will attempt to release the lock acquired by - . - - - - Performs the actual storage of the given value into backing store for retrieval later. - - The object being stored. - This method is invoked by - before releasing its lock. - - - - Remove the given object from backing store. - - - - - A method that does whatever is needed to clean up - as part of cleaning up after an exception. - - - Don't do anything that could throw in this method, - it will cause later recover operations to get skipped - and play real havoc with the stack trace. - - - - - Retrieve a value from the backing store associated with this Lifetime policy. - - the object desired, or null if no such object is currently stored. - - - - Stores the given value into backing store for retrieval later. - - The object being stored. - - - - Remove the given object from backing store. - - - - - Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. - - - - - Standard Dispose pattern implementation. Not needed, but it keeps FxCop happy. - - Always true, since we don't have a finalizer. - - - - This is a custom lifetime manager that acts like , - but also provides a signal to the default build plan, marking the type so that - instances are reused across the build up object graph. - - - - - Construct a new object that does not - itself manage an instance. - - - - - Construct a new object that stores the - give value. This value will be returned by - but is not stored in the lifetime manager, nor is the value disposed. - This Lifetime manager is intended only for internal use, which is why the - normal method is not used here. - - Value to store. - - - - Retrieve a value from the backing store associated with this Lifetime policy. - - the object desired, or null if no such object is currently stored. - - - - Stores the given value into backing store for retrieval later. In this class, - this is a noop, since it has special hooks down in the guts. - - The object being stored. - - - - Remove the given object from backing store. Noop in this class. - - - - - A strategy that handles Hierarchical lifetimes across a set of parent/child - containers. - - - - - Represents a strategy in the chain of responsibility. - Strategies are required to support both BuildUp and TearDown. - - - - - Represents a strategy in the chain of responsibility. - Strategies are required to support both BuildUp and TearDown. Although you - can implement this interface directly, you may also choose to use - as the base class for your strategies, as - this class provides useful helper methods and makes support BuildUp and TearDown - optional. - - - - - Called during the chain of responsibility for a build operation. The - PreBuildUp method is called when the chain is being executed in the - forward direction. - - Context of the build operation. - - - - Called during the chain of responsibility for a build operation. The - PostBuildUp method is called when the chain has finished the PreBuildUp - phase and executes in reverse order from the PreBuildUp calls. - - Context of the build operation. - - - - Called during the chain of responsibility for a teardown operation. The - PreTearDown method is called when the chain is being executed in the - forward direction. - - Context of the teardown operation. - - - - Called during the chain of responsibility for a teardown operation. The - PostTearDown method is called when the chain has finished the PreTearDown - phase and executes in reverse order from the PreTearDown calls. - - Context of the teardown operation. - - - - Called during the chain of responsibility for a build operation. The - PreBuildUp method is called when the chain is being executed in the - forward direction. - - Context of the build operation. - - - - Called during the chain of responsibility for a build operation. The - PostBuildUp method is called when the chain has finished the PreBuildUp - phase and executes in reverse order from the PreBuildUp calls. - - Context of the build operation. - - - - Called during the chain of responsibility for a teardown operation. The - PreTearDown method is called when the chain is being executed in the - forward direction. - - Context of the teardown operation. - - - - Called during the chain of responsibility for a teardown operation. The - PostTearDown method is called when the chain has finished the PreTearDown - phase and executes in reverse order from the PreTearDown calls. - - Context of the teardown operation. - - - - Called during the chain of responsibility for a build operation. The - PreBuildUp method is called when the chain is being executed in the - forward direction. - - Context of the build operation. - - - - A that will attempt to - resolve a value, and return null if it cannot rather than throwing. - - - - - A strategy that is used at build plan execution time - to resolve a dependent value. - - - - - Get the value for a dependency. - - Current build context. - The value for the dependency. - - - - Construct a new object - that will attempt to resolve the given name and type from the container. - - Type to resolve. Must be a reference type. - Name to resolve with. - - - - Construct a new object - that will attempt to resolve the given type from the container. - - Type to resolve. Must be a reference type. - - - - Get the value for a dependency. - - Current build context. - The value for the dependency. - - - - Type this resolver will resolve. - - - - - Name this resolver will resolve. - - - - - Extension methods on to provide convenience - overloads (generic versions, mostly). - - - - - Removes an individual policy type for a build key. - - The type the policy was registered as. - to remove the policy from. - The key the policy applies. - - - - Removes a default policy. - - The type the policy was registered as. - to remove the policy from. - - - - Gets an individual policy. - - The interface the policy is registered under. - to search. - The key the policy applies. - The policy in the list, if present; returns null otherwise. - - - - Gets an individual policy. - - The interface the policy is registered under. - to search. - The key the policy applies. - The policy list that actually contains the returned policy. - The policy in the list, if present; returns null otherwise. - - - - Gets an individual policy. - - to search. - The interface the policy is registered under. - The key the policy applies. - The policy in the list, if present; returns null otherwise. - - - - Gets an individual policy. - - to search. - The interface the policy is registered under. - The key the policy applies. - The policy list that actually contains the returned policy. - The policy in the list, if present; returns null otherwise. - - - - Gets an individual policy. - - The interface the policy is registered under. - to search. - The key the policy applies. - true if the policy searches local only; otherwise false to search up the parent chain. - The policy in the list, if present; returns null otherwise. - - - - Gets an individual policy. - - The interface the policy is registered under. - to search. - The key the policy applies. - true if the policy searches local only; otherwise false to search up the parent chain. - The policy list that actually contains the returned policy. - The policy in the list, if present; returns null otherwise. - - - - Gets an individual policy. - - to search. - The interface the policy is registered under. - The key the policy applies. - true if the policy searches local only; otherwise false to search up the parent chain. - The policy in the list, if present; returns null otherwise. - - - - Get the non default policy. - - The interface the policy is registered under. - to search. - The key the policy applies. - true if the policy searches local only; otherwise false to search up the parent chain. - The policy in the list, if present; returns null otherwise. - - - - Get the non default policy. - - The interface the policy is registered under. - to search. - The key the policy applies. - true if the policy searches local only; otherwise false to search up the parent chain. - The policy list that actually contains the returned policy. - The policy in the list, if present; returns null otherwise. - - - - Get the non default policy. - - to search. - The interface the policy is registered under. - The key the policy applies. - true if the policy searches local only; otherwise false to search up the parent chain. - The policy in the list, if present; returns null otherwise. - - - - Sets an individual policy. - - The interface the policy is registered under. - to add the policy to. - The policy to be registered. - The key the policy applies. - - - - Sets a default policy. When checking for a policy, if no specific individual policy - is available, the default will be used. - - The interface to register the policy under. - to add the policy to. - The default policy to be registered. - - - - Base class for the current operation stored in the build context. - - - - - Create a new . - - Type currently being built. - - - - The type that's currently being built. - - - - - Build plan for that will return a Func that will resolve the requested type - through this container later. - - - - - A build plan is an object that, when invoked, will create a new object - or fill in a given existing one. It encapsulates all the information - gathered by the strategies to construct a particular object. - - - - - Creates an instance of this build plan's type, or fills - in the existing type if passed in. - - Context used to build up the object. - - - - Creates an instance of this build plan's type, or fills - in the existing type if passed in. - - Context used to build up the object. - - - - The almost inevitable collection of extra helper methods on - to augment the rich set of what - LINQ already gives us. - - - - - Execute the provided on every item in . - - Type of the items stored in - Sequence of items to process. - Code to run over each item. - - - - Create a single string from a sequence of items, separated by the provided , - and with the conversion to string done by the given . - - This method does basically the same thing as , - but will work on any sequence of items, not just arrays. - Type of items in the sequence. - Sequence of items to convert. - Separator to place between the items in the string. - The conversion function to change TItem -> string. - The resulting string. - - - - Create a single string from a sequence of items, separated by the provided , - and with the conversion to string done by the item's method. - - This method does basically the same thing as , - but will work on any sequence of items, not just arrays. - Type of items in the sequence. - Sequence of items to convert. - Separator to place between the items in the string. - The resulting string. - - - - A class that lets you - override a named parameter passed to a constructor. - - - - - Construct a new object that will - override the given named constructor parameter, and pass the given - value. - - Name of the constructor parameter. - Value to pass for the constructor. - - - - Return a that can be used to give a value - for the given desired dependency. - - Current build context. - Type of dependency desired. - a object if this override applies, null if not. - - - - A convenience form of that lets you - specify multiple parameter overrides in one shot rather than having - to construct multiple objects. - - - - - When implemented in derived classes, this method is called from the - method to create the actual objects. - - Key value to create the resolver. - Value to store in the resolver. - The created . - - - - A that lets you override - the value for a specified property. - - - - - Create an instance of . - - The property name. - Value to use for the property. - - - - Return a that can be used to give a value - for the given desired dependency. - - Current build context. - Type of dependency desired. - a object if this override applies, null if not. - - - - A convenience form of that lets you - specify multiple property overrides in one shot rather than having - to construct multiple objects. - - - - - When implemented in derived classes, this method is called from the - method to create the actual objects. - - Key value to create the resolver. - Value to store in the resolver. - The created . - - - - Interface defining the configuration interface exposed by the - Static Factory extension. - - - - - Base interface for all extension configuration interfaces. - - - - - Retrieve the container instance that we are currently configuring. - - - - - Register the given factory delegate to be called when the container is - asked to resolve . - - Type that will be requested from the container. - Delegate to invoke to create the instance. - The container extension object this method was invoked on. - - - - Register the given factory delegate to be called when the container is - asked to resolve and . - - Type that will be requested from the container. - The name that will be used when requesting to resolve this type. - Delegate to invoke to create the instance. - The container extension object this method was invoked on. - - - - Represents the context in which a build-up or tear-down operation runs. - - - - - Represents the context in which a build-up or tear-down operation runs. - - - - - Add a new set of resolver override objects to the current build operation. - - objects to add. - - - - Get a object for the given - or null if that dependency hasn't been overridden. - - Type of the dependency. - Resolver to use, or null if no override matches for the current operation. - - - - A convenience method to do a new buildup operation on an existing context. - - Key to use to build up. - Created object. - - - - A convenience method to do a new buildup operation on an existing context. This - overload allows you to specify extra policies which will be in effect for the duration - of the build. - - Key defining what to build up. - A delegate that takes a . This - is invoked with the new child context before the build up process starts. This gives callers - the opportunity to customize the context for the build process. - Created object. - - - - Gets the head of the strategy chain. - - - The strategy that's first in the chain; returns null if there are no - strategies in the chain. - - - - - Gets the associated with the build. - - - The associated with the build. - - - - - Gets the original build key for the build operation. - - - The original build key for the build operation. - - - - - Get the current build key for the current build operation. - - - - - The set of policies that were passed into this context. - - This returns the policies passed into the context. - Policies added here will remain after buildup completes. - The persistent policies for the current context. - - - - Gets the policies for the current context. - - Any policies added to this object are transient - and will be erased at the end of the buildup. - - The policies for the current context. - - - - - Gets the collection of objects - that need to execute in event of an exception. - - - - - The current object being built up or torn down. - - - The current object being manipulated by the build operation. May - be null if the object hasn't been created yet. - - - - Flag indicating if the build operation should continue. - - true means that building should not call any more - strategies, false means continue to the next strategy. - - - - An object representing what is currently being done in the - build chain. Used to report back errors if there's a failure. - - - - - The build context used to resolve a dependency during the build operation represented by this context. - - - - - Initialize a new instance of the class. - - - - - Initialize a new instance of the class with a , - , and the - build key used to start this build operation. - - The to use for this context. - The to use for this context. - The to use for this context. - Build key to start building. - The existing object to build up. - - - - Create a new using the explicitly provided - values. - - The to use for this context. - The to use for this context. - The set of persistent policies to use for this context. - The set of transient policies to use for this context. It is - the caller's responsibility to ensure that the transient and persistent policies are properly - combined. - Build key for this context. - Existing object to build up. - - - - Create a new using the explicitly provided - values. - - The to use for this context. - The to use for this context. - The set of persistent policies to use for this context. - The set of transient policies to use for this context. It is - the caller's responsibility to ensure that the transient and persistent policies are properly - combined. - Build key for this context. - The resolver overrides. - - - - Add a new set of resolver override objects to the current build operation. - - objects to add. - - - - Get a object for the given - or null if that dependency hasn't been overridden. - - Type of the dependency. - Resolver to use, or null if no override matches for the current operation. - - - - A convenience method to do a new buildup operation on an existing context. - - Key to use to build up. - Created object. - - - - A convenience method to do a new buildup operation on an existing context. This - overload allows you to specify extra policies which will be in effect for the duration - of the build. - - Key defining what to build up. - A delegate that takes a . This - is invoked with the new child context before the build up process starts. This gives callers - the opportunity to customize the context for the build process. - Created object. - - - - Gets the head of the strategy chain. - - - The strategy that's first in the chain; returns null if there are no - strategies in the chain. - - - - - Get the current build key for the current build operation. - - - - - The current object being built up or torn down. - - - The current object being manipulated by the build operation. May - be null if the object hasn't been created yet. - - - - Gets the associated with the build. - - - The associated with the build. - - - - - Gets the original build key for the build operation. - - - The original build key for the build operation. - - - - - The set of policies that were passed into this context. - - This returns the policies passed into the context. - Policies added here will remain after buildup completes. - The persistent policies for the current context. - - - - Gets the policies for the current context. - - - Any modifications will be transient (meaning, they will be forgotten when - the outer BuildUp for this context is finished executing). - - - The policies for the current context. - - - - - Gets the collection of objects - that need to execute in event of an exception. - - - - - Flag indicating if the build operation should continue. - - true means that building should not call any more - strategies, false means continue to the next strategy. - - - - An object representing what is currently being done in the - build chain. Used to report back errors if there's a failure. - - - - - The build context used to resolve a dependency during the build operation represented by this context. - - - - - Represents that a dependency could not be resolved. - - - - - Initializes a new instance of the class with no extra information. - - - - - Initializes a new instance of the class with the given message. - - Some random message. - - - - Initialize a new instance of the class with the given - message and inner exception. - - Some random message - Inner exception. - - - - Initializes a new instance of the class with the build key of the object begin built. - - The build key of the object begin built. - - - - The exception thrown when injection is attempted on a method - that is an open generic or has out or ref params. - - - - - Construct a new with no - message. - - - - - Construct a with the given message - - Message to return. - - - - Construct a with the given message - and inner exception. - - Message to return. - Inner exception - - - - Extension methods to provide convenience overloads over the - interface. - - - - - Start a recursive build up operation to retrieve the default - value for the given type. - - Type of object to build. - Parent context. - Resulting object. - - - - Start a recursive build up operation to retrieve the named - implementation for the given type. - - Type to resolve. - Parent context. - Name to resolve with. - The resulting object. - - - - Add a set of s to the context, specified as a - variable argument list. - - Context to add overrides to. - The overrides. - - - - Data structure that stores the set of - objects and executes them when requested. - - - - - Add a new object to this - list. - - Object to add. - - - - Execute the method - of everything in the recovery list. Recoveries will execute - in the opposite order of add - it's a stack. - - - - - Return the number of recovery objects currently in the stack. - - - - - Represents a lifetime container. - - - A lifetime container tracks the lifetime of an object, and implements - IDisposable. When the container is disposed, any objects in the - container which implement IDisposable are also disposed. - - - - - Adds an object to the lifetime container. - - The item to be added to the lifetime container. - - - - Determine if a given object is in the lifetime container. - - - The item to locate in the lifetime container. - - - Returns true if the object is contained in the lifetime - container; returns false otherwise. - - - - - Removes an item from the lifetime container. The item is - not disposed. - - The item to be removed. - - - - Gets the number of references in the lifetime container - - - The number of references in the lifetime container - - - - - Represents a lifetime container. - - - A lifetime container tracks the lifetime of an object, and implements - IDisposable. When the container is disposed, any objects in the - container which implement IDisposable are also disposed. - - - - - Adds an object to the lifetime container. - - The item to be added to the lifetime container. - - - - Determine if a given object is in the lifetime container. - - - The item to locate in the lifetime container. - - - Returns true if the object is contained in the lifetime - container; returns false otherwise. - - - - - Releases the resources used by the . - - - - - Releases the resources used by the . - - - true to release managed and unmanaged resources; false to release only unmanaged resources. - - - - - Returns an enumerator that iterates through the lifetime container. - - - An object that can be used to iterate through the life time container. - - - - - Returns an enumerator that iterates through the lifetime container. - - - An object that can be used to iterate through the life time container. - - - - - Removes an item from the lifetime container. The item is - not disposed. - - The item to be removed. - - - - Gets the number of references in the lifetime container - - - The number of references in the lifetime container - - - - - A custom collection over objects. - - - - - Removes an individual policy type for a build key. - - The type of policy to remove. - The key the policy applies. - - - - Removes all policies from the list. - - - - - Removes a default policy. - - The type the policy was registered as. - - - - Gets an individual policy. - - The interface the policy is registered under. - The key the policy applies. - true if the policy searches local only; otherwise false to search up the parent chain. - The policy list in the chain that the searched for policy was found in, null if the policy was - not found. - The policy in the list, if present; returns null otherwise. - - - - Get the non default policy. - - The interface the policy is registered under. - The key the policy applies to. - True if the search should be in the local policy list only; otherwise false to search up the parent chain. - The policy list in the chain that the searched for policy was found in, null if the policy was - not found. - The policy in the list if present; returns null otherwise. - - - - Sets an individual policy. - - The of the policy. - The policy to be registered. - The key the policy applies. - - - - Sets a default policy. When checking for a policy, if no specific individual policy - is available, the default will be used. - - The interface to register the policy under. - The default policy to be registered. - - - - A custom collection wrapper over objects. - - - - - Initialize a new instance of a class. - - - - - Initialize a new instance of a class with another policy list. - - An inner policy list to search. - - - - Removes an individual policy type for a build key. - - The type of policy to remove. - The key the policy applies. - - - - Removes all policies from the list. - - - - - Removes a default policy. - - The type the policy was registered as. - - - - Gets an individual policy. - - The interface the policy is registered under. - The key the policy applies. - true if the policy searches local only; otherwise false to search up the parent chain. - The policy list in the chain that the searched for policy was found in, null if the policy was - not found. - The policy in the list, if present; returns null otherwise. - - - - Get the non default policy. - - The interface the policy is registered under. - The key the policy applies to. - True if the search should be in the local policy list only; otherwise false to search up the parent chain. - The policy list in the chain that the searched for policy was found in, null if the policy was - not found. - The policy in the list if present; returns null otherwise. - - - - Sets an individual policy. - - The of the policy. - The policy to be registered. - The key the policy applies. - - - - Sets a default policy. When checking for a policy, if no specific individual policy - is available, the default will be used. - - The interface to register the policy under. - The default policy to be registered. - - - - Gets the number of items in the locator. - - - The number of items in the locator. - - - - - An implementation of . - - - - - Add a new object to this - list. - - Object to add. - - - - Execute the method - of everything in the recovery list. Recoveries will execute - in the opposite order of add - it's a stack. - - - - - Return the number of recovery objects currently in the stack. - - - - - Implementation of which will notify an object about - the completion of a BuildUp operation, or start of a TearDown operation. - - - This strategy checks the object that is passing through the builder chain to see if it - implements IBuilderAware and if it does, it will call - and . This strategy is meant to be used from the - stage. - - - - - Called during the chain of responsibility for a build operation. The - PreBuildUp method is called when the chain is being executed in the - forward direction. - - Context of the build operation. - - - - Called during the chain of responsibility for a teardown operation. The - PreTearDown method is called when the chain is being executed in the - forward direction. - - Context of the teardown operation. - - - - Implemented on a class when it wants to receive notifications - about the build process. - - - - - Called by the when the object is being built up. - - The key of the object that was just built up. - - - - Called by the when the object is being torn down. - - - - - Enumeration to represent the object builder stages. - - - The order of the values in the enumeration is the order in which the stages are run. - - - - - Strategies in this stage run before creation. Typical work done in this stage might - include strategies that use reflection to set policies into the context that other - strategies would later use. - - - - - Strategies in this stage create objects. Typically you will only have a single policy-driven - creation strategy in this stage. - - - - - Strategies in this stage work on created objects. Typical work done in this stage might - include setter injection and method calls. - - - - - Strategies in this stage work on objects that are already initialized. Typical work done in - this stage might include looking to see if the object implements some notification interface - to discover when its initialization stage has been completed. - - - - - Represents a builder policy for mapping build keys. - - - - - Represents a builder policy for mapping build keys. - - - - - Maps the build key. - - The build key to map. - Current build context. Used for contextual information - if writing a more sophisticated mapping. This parameter can be null - (called when getting container registrations). - The new build key. - - - - Initialize a new instance of the with the new build key. - - The new build key. - - - - Maps the build key. - - The build key to map. - Current build context. Used for contextual information - if writing a more sophisticated mapping, unused in this implementation. - The new build key. - - - - Represents a strategy for mapping build keys in the build up operation. - - - - - Called during the chain of responsibility for a build operation. Looks for the - and if found maps the build key for the current operation. - - The context for the operation. - - - - An implementation of that can map - generic types. - - - - - Create a new instance - that will map generic types. - - Build key to map to. This must be or contain an open generic type. - - - - Maps the build key. - - The build key to map. - Current build context. Used for contextual information - if writing a more sophisticated mapping. - The new build key. - - - - A that will look for a build plan - in the current context. If it exists, it invokes it, otherwise - it creates one and stores it for later, and invokes it. - - - - - Called during the chain of responsibility for a build operation. - - The context for the operation. - - - - An implementation of that chooses - constructors based on these criteria: first, pick a constructor marked with the - attribute. If there - isn't one, then choose the constructor with the longest parameter list. If that is ambiguous, - then throw. - - Thrown when the constructor to choose is ambiguous. - Attribute used to mark the constructor to call. - - - - Base class that provides an implementation of - which lets you override how the parameter resolvers are created. - - - - - A that, when implemented, - will determine which constructor to call from the build plan. - - - - - Choose the constructor to call for the given type. - - Current build context - The to add any - generated resolver objects into. - The chosen constructor. - - - - Choose the constructor to call for the given type. - - Current build context - The to add any - generated resolver objects into. - The chosen constructor. - - - - Create a instance for the given - . - - Parameter to create the resolver for. - The resolver object. - - - - Compares two objects and returns a value indicating whether one is less than, equal to, or greater than the other. - - The second object to compare. - The first object to compare. - - Value Condition Less than zero is less than y. Zero equals y. Greater than zero is greater than y. - - - - - Create a instance for the given - . - - Parameter to create the resolver for. - The resolver object. - - - - Objects of this type are the return value from . - It encapsulates the desired with the string keys - needed to look up the for each - parameter. - - - - - Base class for return values from selector policies that - return a MemberInfo of some sort plus a list of parameter - keys to look up the parameter resolvers. - - - - - Base class for return of selector policies that need - to keep track of a set of parameter resolvers. - - - - - Adds the parameter resolver. Resolvers are assumed - to be in the order of the parameters to the member. - - The new resolver. - - - - Gets the parameter resolvers. - - An array with the parameter resolvers. - - - - Construct a new , storing - the given member info. - - Member info to store. - - - - The member info stored. - - - - - Create a new instance which - contains the given constructor. - - The constructor to wrap. - - - - The constructor this object wraps. - - - - - This class records the information about which constructor argument is currently - being resolved, and is responsible for generating the error string required when - an error has occurred. - - - - - Initializes a new instance of the class. - - The type that is being constructed. - A string representing the constructor being called. - Parameter being resolved. - - - - Generate the string describing what parameter was being resolved. - - The description string. - - - - String describing the constructor being set up. - - - - - Parameter that's being resolved. - - - - - A that emits IL to call constructors - as part of creating a build plan. - - - - - Called during the chain of responsibility for a build operation. - - Existing object is an instance of . - The context for the operation. - - - - A helper method used by the generated IL to set up a PerResolveLifetimeManager lifetime manager - if the current object is such. - - Current build context. - - - - Build up the string that will represent the constructor signature - in any exception message. - - - - - - - A helper method used by the generated IL to store the current operation in the build context. - - - - - A helper method used by the generated IL to store the current operation in the build context. - - - - - A helper method used by the generated IL to throw an exception if - no existing object is present, but the user is attempting to build - an interface (usually due to the lack of a type mapping). - - The currently being - used for the build of this object. - - - - A helper method used by the generated IL to throw an exception if - no existing object is present, but the user is attempting to build - an abstract class (usually due to the lack of a type mapping). - - The currently being - used for the build of this object. - - - - A helper method used by the generated IL to throw an exception if - no existing object is present, but the user is attempting to build - an delegate other than Func{T} or Func{IEnumerable{T}}. - - The currently being - used for the build of this object. - - - - A helper method used by the generated IL to throw an exception if - a dependency cannot be resolved. - - The currently being - used for the build of this object. - - - - A helper method used by the generated IL to throw an exception if - a dependency cannot be resolved because of an invalid constructor. - - The currently being - used for the build of this object. - The signature of the invalid constructor. - - - - A class that records that a constructor is about to be call, and is - responsible for generating the error string required when - an error has occurred. - - - - - Initializes a new instance of the class. - - - - - Generate the description string. - - The string. - - - - Constructor we're trying to call. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Helper method used by generated IL to look up a dependency resolver based on the given key. - - Current build context. - Type of the dependency being resolved. - Key the resolver was stored under. - The found dependency resolver. - - - - Helper method used by generated IL to look up a dependency resolver based on the given key. - - Current build context. - Type of the dependency being resolved. - The configured resolver. - The found dependency resolver. - - - - The type that is to be built with the dynamic build plan. - - - - - The context parameter representing the used when the build plan is executed. - - - - - - - - - - - - - - - - - - - - - - - - - - - - An implementation - that constructs a build plan via dynamic IL emission. - - - - - Construct a that - uses the given strategy chain to construct the build plan. - - The strategy chain. - - - - Construct a build plan. - - The current build context. - The current build key. - The created build plan. - - - - A class that records that a constructor is about to be call, and is - responsible for generating the error string required when - an error has occurred. - - - - - Initializes a new instance of the class. - - - - - Generate the description string. - - The string. - - - - Method we're trying to call. - - - - - This class records the information about which constructor argument is currently - being resolved, and is responsible for generating the error string required when - an error has occurred. - - - - - Initializes a new instance of the class. - - The type that is being constructed. - A string representing the method being called. - Parameter being resolved. - - - - Generate the string describing what parameter was being resolved. - - The description string. - - - - String describing the method being set up. - - - - - Parameter that's being resolved. - - - - - A that generates IL to call - chosen methods (as specified by the current ) - as part of object build up. - - - - - Called during the chain of responsibility for a build operation. The - PreBuildUp method is called when the chain is being executed in the - forward direction. - - Context of the build operation. - - - - A helper method used by the generated IL to store the current operation in the build context. - - - - - A helper method used by the generated IL to store the current operation in the build context. - - - - - A base class that holds the information shared by all operations - performed by the container while setting properties. - - - - - Initializes a new instance of the class. - - - - - Generate the description of this operation. - - The string. - - - - Get a format string used to create the description. Called by - the base method. - - The format string. - - - - The property value currently being resolved. - - - - - This class records the information about which property value is currently - being resolved, and is responsible for generating the error string required when - an error has occurred. - - - - - Initializes a new instance of the class. - - - - - Get a format string used to create the description. Called by - the base method. - - The format string. - - - - A that generates IL to resolve properties - on an object being built. - - - - - Called during the chain of responsibility for a build operation. - - The context for the operation. - - - - A helper method used by the generated IL to store the current operation in the build context. - - - - - A helper method used by the generated IL to store the current operation in the build context. - - - - - This class records the information about which property value is currently - being set, and is responsible for generating the error string required when - an error has occurred. - - - - - Initializes a new instance of the class. - - Type property is on. - Name of property being set. - - - - Get a format string used to create the description. Called by - the base method. - - The format string. - - - - Creates an instance of this build plan's type, or fills - in the existing type if passed in. - - Context used to build up the object. - - - - An that will examine the given - types and return a sequence of objects - that should be called as part of building the object. - - - - - Return the sequence of methods to call while building the target object. - - Current build context. - The to add any - generated resolver objects into. - Sequence of methods to call. - - - - An implementation of that selects - methods by looking for the given - attribute on those methods. - - Type of attribute used to mark methods - to inject. - - - - Base class that provides an implementation of - which lets you override how the parameter resolvers are created. - - Attribute that marks methods that should - be called. - - - - Return the sequence of methods to call while building the target object. - - Current build context. - The to add any - generated resolver objects into. - Sequence of methods to call. - - - - Create a instance for the given - . - - Parameter to create the resolver for. - The resolver object. - - - - Create a instance for the given - . - - Parameter to create the resolver for. - The resolver object. - - - - Objects of this type are the return value from . - It encapsulates the desired with the string keys - needed to look up the for each - parameter. - - - - - Create a new instance which - contains the given method. - - The method - - - - The constructor this object wraps. - - - - - An that returns a sequence - of properties that should be injected for the given type. - - - - - Returns sequence of properties on the given type that - should be set as part of building that object. - - Current build context. - The to add any - generated resolver objects into. - Sequence of objects - that contain the properties to set. - - - - Base class that provides an implementation of - which lets you override how the parameter resolvers are created. - - - - - Returns sequence of properties on the given type that - should be set as part of building that object. - - Current build context. - The to add any - generated resolver objects into. - Sequence of objects - that contain the properties to set. - - - - Create a for the given - property. - - Property to create resolver for. - The resolver object. - - - - An implementation of that looks - for properties marked with the - attribute that are also settable and not indexers. - - - - - - Create a for the given - property. - - Property to create resolver for. - The resolver object. - - - - Objects of this type are returned from - . - This class combines the about - the property with the string key used to look up the resolver - for this property's value. - - - - - Create an instance of - with the given and key. - - The property. - - - - - PropertyInfo for this property. - - - - - IDependencyResolverPolicy for this property - - - - - Implementation of . - - - - - A builder policy that lets you keep track of the current - resolvers and will remove them from the given policy set. - - - - - Add a new resolver to track by key. - - Key that was used to add the resolver to the policy set. - - - - Remove the currently tracked resolvers from the given policy list. - - Policy list to remove the resolvers from. - - - - Add a new resolver to track by key. - - Key that was used to add the resolver to the policy set. - - - - Remove the currently tracked resolvers from the given policy list. - - Policy list to remove the resolvers from. - - - - Get an instance that implements , - either the current one in the policy set or creating a new one if it doesn't - exist. - - Policy list to look up from. - Build key to track. - The resolver tracker. - - - - Add a key to be tracked to the current tracker. - - Policy list containing the resolvers and trackers. - Build key for the resolvers being tracked. - Key for the resolver. - - - - Remove the resolvers for the given build key. - - Policy list containing the build key. - Build key. - - - - An implementation of that - calls back into the build chain to build up the dependency, passing - a type given at compile time as its build key. - - - - - Create a new instance storing the given type. - - Type to resolve. - - - - Get the value for a dependency. - - Current build context. - The value for the dependency. - - - - This interface defines a standard method to convert any regardless - of the stage enum into a regular, flat strategy chain. - - - - - Convert this into - a flat . - - The flattened . - - - - Represents a chain of responsibility for builder strategies. - - - - - Reverse the order of the strategy chain. - - The reversed strategy chain. - - - - Execute this strategy chain against the given context, - calling the Buildup methods on the strategies. - - Context for the build process. - The build up object - - - - Execute this strategy chain against the given context, - calling the TearDown methods on the strategies. - - Context for the teardown process. - - - - A builder policy used to create lifetime policy instances. - Used by the LifetimeStrategy when instantiating open - generic types. - - - - - Create a new instance of . - - The new instance. - - - - The type of Lifetime manager that will be created by this factory. - - - - - An implementation that uses - a to figure out if an object - has already been created and to update or remove that - object from some backing store. - - - - - Called during the chain of responsibility for a build operation. The - PreBuildUp method is called when the chain is being executed in the - forward direction. - - Context of the build operation. - - - - Called during the chain of responsibility for a build operation. The - PostBuildUp method is called when the chain has finished the PreBuildUp - phase and executes in reverse order from the PreBuildUp calls. - - Context of the build operation. - - - - Represents a chain of responsibility for builder strategies partitioned by stages. - - The stage enumeration to partition the strategies. - - - - Initialize a new instance of the class. - - - - - Initialize a new instance of the class with an inner strategy chain to use when building. - - The inner strategy chain to use first when finding strategies in the build operation. - - - - Adds a strategy to the chain at a particular stage. - - The strategy to add to the chain. - The stage to add the strategy. - - - - Add a new strategy for the . - - The of - The stage to add the strategy. - - - - Clear the current strategy chain list. - - - This will not clear the inner strategy chain if this instance was created with one. - - - - - Makes a strategy chain based on this instance. - - A new . - - - - Represents a chain of responsibility for builder strategies. - - - - - Initialize a new instance of the class. - - - - - Initialize a new instance of the class with a collection of strategies. - - A collection of strategies to initialize the chain. - - - - Adds a strategy to the chain. - - The strategy to add to the chain. - - - - Adds strategies to the chain. - - The strategies to add to the chain. - - - - Reverse the order of the strategy chain. - - The reversed strategy chain. - - - - Execute this strategy chain against the given context to build up. - - Context for the build processes. - The build up object - - - - Execute this strategy chain against the given context, - calling the TearDown methods on the strategies. - - Context for the teardown process. - - - - Returns an enumerator that iterates through the collection. - - - - A that can be used to iterate through the collection. - - - - - Returns an enumerator that iterates through a collection. - - - - An object that can be used to iterate through the collection. - - - - - Build key used to combine a type object with a string name. Used by - ObjectBuilder to indicate exactly what is being built. - - - - - Create a new instance with the given - type and name. - - to build. - Key to use to look up type mappings and singletons. - - - - Create a new instance for the default - buildup of the given type. - - to build. - - - - This helper method creates a new instance. It is - initialized for the default key for the given type. - - Type to build. - A new instance. - - - - This helper method creates a new instance for - the given type and key. - - Type to build - Key to use to look up type mappings and singletons. - A new instance initialized with the given type and name. - - - - Compare two instances. - - Two instances compare equal - if they contain the same name and the same type. Also, comparing - against a different type will also return false. - Object to compare to. - True if the two keys are equal, false if not. - - - - Calculate a hash code for this instance. - - A hash code. - - - - Compare two instances for equality. - - Two instances compare equal - if they contain the same name and the same type. - First of the two keys to compare. - Second of the two keys to compare. - True if the values of the keys are the same, else false. - - - - Compare two instances for inequality. - - Two instances compare equal - if they contain the same name and the same type. If either field differs - the keys are not equal. - First of the two keys to compare. - Second of the two keys to compare. - false if the values of the keys are the same, else true. - - - - Formats the build key as a string (primarily for debugging). - - A readable string representation of the build key. - - - - Return the stored in this build key. - - The type to build. - - - - Returns the name stored in this build key. - - The name to use when building. - - - - A generic version of so that - you can new up a key using generic syntax. - - Type for the key. - - - - Construct a new that - specifies the given type. - - - - - Construct a new that - specifies the given type and name. - - Name for the key. - - - - A series of helper methods to deal with sequences - - objects that implement . - - - - - A function that turns an arbitrary parameter list into an - . - - Type of arguments. - The items to put into the collection. - An array that contains the values of the . - - - - Given two sequences, return a new sequence containing the corresponding values - from each one. - - Type of first sequence. - Type of second sequence. - First sequence of items. - Second sequence of items. - New sequence of pairs. This sequence ends when the shorter of sequence1 and sequence2 does. - - - - A that lets you register a - delegate with the container to create an object, rather than calling - the object's constructor. - - - - - Base class for all extension objects. - - - - - The container calls this method when the extension is added. - - A instance that gives the - extension access to the internals of the container. - - - - Initial the container with this extension's functionality. - - - When overridden in a derived class, this method will modify the given - by adding strategies, policies, etc. to - install it's functions into the container. - - - - Removes the extension's functions from the container. - - - - This method is called when extensions are being removed from the container. It can be - used to do things like disconnect event handlers or clean up member state. You do not - need to remove strategies or policies here; the container will do that automatically. - - - The default implementation of this method does nothing. - - - - - The container this extension has been added to. - - The that this extension has been added to. - - - - The object used to manipulate - the inner state of the container. - - - - - Initialize this extension. This particular extension requires no - initialization work. - - - - - Register the given factory delegate to be called when the container is - asked to resolve and . - - Type that will be requested from the container. - The name that will be used when requesting to resolve this type. - Delegate to invoke to create the instance. - The container extension object this method was invoked on. - - - - Register the given factory delegate to be called when the container is - asked to resolve . - - Type that will be requested from the container. - Delegate to invoke to create the instance. - The container extension object this method was invoked on. - - - - An implementation of that - acts as a decorator over another . - This checks to see if the current type being built is the - right one before checking the inner . - - - - - Create an instance of - - Type to check for. - Inner override to check after type matches. - - - - Return a that can be used to give a value - for the given desired dependency. - - Current build context. - Type of dependency desired. - a object if this override applies, null if not. - - - - A convenience version of that lets you - specify the type to construct via generics syntax. - - Type to check for. - - - - Create an instance of . - - Inner override to check after type matches. - - - - Extension class that adds a set of convenience overloads to the - interface. - - - - - Register a type with specific members to be injected. - - Type this registration is for. - Container to configure. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a type mapping with the container. - - - - This method is used to tell the container that when asked for type , - actually return an instance of type . This is very useful for - getting instances of interfaces. - - - This overload registers a default mapping and transient lifetime. - - - that will be requested. - that will actually be returned. - Container to configure. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a type mapping with the container, where the created instances will use - the given . - - that will be requested. - that will actually be returned. - Container to configure. - The that controls the lifetime - of the returned instance. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a type mapping with the container. - - - This method is used to tell the container that when asked for type , - actually return an instance of type . This is very useful for - getting instances of interfaces. - - that will be requested. - that will actually be returned. - Container to configure. - Name of this mapping. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a type mapping with the container, where the created instances will use - the given . - - that will be requested. - that will actually be returned. - Container to configure. - Name to use for registration, null if a default registration. - The that controls the lifetime - of the returned instance. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a for the given type with the container. - No type mapping is performed for this type. - - The type to apply the to. - Container to configure. - The that controls the lifetime - of the returned instance. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a for the given type with the container. - No type mapping is performed for this type. - - The type to configure injection on. - Container to configure. - Name that will be used to request the type. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a for the given type and name with the container. - No type mapping is performed for this type. - - The type to apply the to. - Container to configure. - Name that will be used to request the type. - The that controls the lifetime - of the returned instance. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a type with specific members to be injected. - - Container to configure. - Type this registration is for. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a type mapping with the container. - - - - This method is used to tell the container that when asked for type , - actually return an instance of type . This is very useful for - getting instances of interfaces. - - - This overload registers a default mapping. - - - Container to configure. - that will be requested. - that will actually be returned. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a type mapping with the container. - - - This method is used to tell the container that when asked for type , - actually return an instance of type . This is very useful for - getting instances of interfaces. - - Container to configure. - that will be requested. - that will actually be returned. - Name to use for registration, null if a default registration. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a type mapping with the container, where the created instances will use - the given . - - Container to configure. - that will be requested. - that will actually be returned. - The that controls the lifetime - of the returned instance. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a for the given type and name with the container. - No type mapping is performed for this type. - - Container to configure. - The to apply the to. - The that controls the lifetime - of the returned instance. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a for the given type and name with the container. - No type mapping is performed for this type. - - Container to configure. - The to configure in the container. - Name to use for registration, null if a default registration. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a for the given type and name with the container. - No type mapping is performed for this type. - - Container to configure. - The to apply the to. - Name to use for registration, null if a default registration. - The that controls the lifetime - of the returned instance. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register an instance with the container. - - - - Instance registration is much like setting a type as a singleton, except that instead - of the container creating the instance the first time it is requested, the user - creates the instance ahead of type and adds that instance to the container. - - - This overload does a default registration and has the container take over the lifetime of the instance. - - Type of instance to register (may be an implemented interface instead of the full type). - Container to configure. - Object to returned. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register an instance with the container. - - - - Instance registration is much like setting a type as a singleton, except that instead - of the container creating the instance the first time it is requested, the user - creates the instance ahead of type and adds that instance to the container. - - - This overload does a default registration (name = null). - - - Type of instance to register (may be an implemented interface instead of the full type). - Container to configure. - Object to returned. - - object that controls how this instance will be managed by the container. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register an instance with the container. - - - - Instance registration is much like setting a type as a singleton, except that instead - of the container creating the instance the first time it is requested, the user - creates the instance ahead of type and adds that instance to the container. - - - This overload automatically has the container take ownership of the . - - Type of instance to register (may be an implemented interface instead of the full type). - Object to returned. - Container to configure. - Name for registration. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register an instance with the container. - - - - Instance registration is much like setting a type as a singleton, except that instead - of the container creating the instance the first time it is requested, the user - creates the instance ahead of type and adds that instance to the container. - - - Type of instance to register (may be an implemented interface instead of the full type). - Object to returned. - Container to configure. - Name for registration. - - object that controls how this instance will be managed by the container. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register an instance with the container. - - - - Instance registration is much like setting a type as a singleton, except that instead - of the container creating the instance the first time it is requested, the user - creates the instance ahead of type and adds that instance to the container. - - - This overload does a default registration and has the container take over the lifetime of the instance. - - Container to configure. - Type of instance to register (may be an implemented interface instead of the full type). - Object to returned. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register an instance with the container. - - - - Instance registration is much like setting a type as a singleton, except that instead - of the container creating the instance the first time it is requested, the user - creates the instance ahead of type and adds that instance to the container. - - - This overload does a default registration (name = null). - - - Container to configure. - Type of instance to register (may be an implemented interface instead of the full type). - Object to returned. - - object that controls how this instance will be managed by the container. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register an instance with the container. - - - - Instance registration is much like setting a type as a singleton, except that instead - of the container creating the instance the first time it is requested, the user - creates the instance ahead of type and adds that instance to the container. - - - This overload automatically has the container take ownership of the . - - Container to configure. - Type of instance to register (may be an implemented interface instead of the full type). - Object to returned. - Name for registration. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Resolve an instance of the default requested type from the container. - - of object to get from the container. - Container to resolve from. - Any overrides for the resolve call. - The retrieved object. - - - - Resolve an instance of the requested type with the given name from the container. - - of object to get from the container. - Container to resolve from. - Name of the object to retrieve. - Any overrides for the resolve call. - The retrieved object. - - - - Resolve an instance of the default requested type from the container. - - Container to resolve from. - of object to get from the container. - Any overrides for the resolve call. - The retrieved object. - - - - Return instances of all registered types requested. - - - - This method is useful if you've registered multiple types with the same - but different names. - - - Be aware that this method does NOT return an instance for the default (unnamed) registration. - - - The type requested. - Container to resolve from. - Any overrides for the resolve calls. - Set of objects of type . - - - - Run an existing object through the container and perform injection on it. - - - - This method is useful when you don't control the construction of an - instance (ASP.NET pages or objects created via XAML, for instance) - but you still want properties and other injection performed. - - - This overload uses the default registrations. - - - of object to perform injection on. - Container to resolve through. - Instance to build up. - Any overrides for the buildup. - The resulting object. By default, this will be , but - container extensions may add things like automatic proxy creation which would - cause this to return a different object (but still type compatible with ). - - - - Run an existing object through the container and perform injection on it. - - - - This method is useful when you don't control the construction of an - instance (ASP.NET pages or objects created via XAML, for instance) - but you still want properties and other injection performed. - - of object to perform injection on. - Container to resolve through. - Instance to build up. - name to use when looking up the typemappings and other configurations. - Any overrides for the Buildup. - The resulting object. By default, this will be , but - container extensions may add things like automatic proxy creation which would - cause this to return a different object (but still type compatible with ). - - - - Run an existing object through the container and perform injection on it. - - - - This method is useful when you don't control the construction of an - instance (ASP.NET pages or objects created via XAML, for instance) - but you still want properties and other injection performed. - - - This overload uses the default registrations. - - - Container to resolve through. - of object to perform injection on. - Instance to build up. - Any overrides for the Buildup. - The resulting object. By default, this will be , but - container extensions may add things like automatic proxy creation which would - cause this to return a different object (but still type compatible with ). - - - - Creates a new extension object and adds it to the container. - - Type of to add. The extension type - will be resolved from within the supplied . - Container to add the extension to. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Resolve access to a configuration interface exposed by an extension. - - Extensions can expose configuration interfaces as well as adding - strategies and policies to the container. This method walks the list of - added extensions and returns the first one that implements the requested type. - - The configuration interface required. - Container to configure. - The requested extension's configuration interface, or null if not found. - - - - Check if a particular type has been registered with the container with - the default name. - - Container to inspect. - Type to check registration for. - True if this type has been registered, false if not. - - - - Check if a particular type/name pair has been registered with the container. - - Container to inspect. - Type to check registration for. - Name to check registration for. - True if this type/name pair has been registered, false if not. - - - - Check if a particular type has been registered with the container with the default name. - - Type to check registration for. - Container to inspect. - True if this type has been registered, false if not. - - - - Check if a particular type/name pair has been registered with the container. - - Type to check registration for. - Container to inspect. - Name to check registration for. - True if this type/name pair has been registered, false if not. - - - - The class provides the means for extension objects - to manipulate the internal state of the . - - - - - Store a type/name pair for later resolution. - - - - When users register type mappings (or other things) with a named key, this method - allows you to register that name with the container so that when the - method is called, that name is included in the list that is returned. - - to register. - Name associated with that type. - - - - The container that this context is associated with. - - The object. - - - - The strategies this container uses. - - The that the container uses to build objects. - - - - The strategies this container uses to construct build plans. - - The that this container uses when creating - build plans. - - - - The policies this container uses. - - The the that container uses to build objects. - - - - The that this container uses. - - The is used to manage objects that the container is managing. - - - - This event is raised when the method, - or one of its overloads, is called. - - - - - This event is raised when the method, - or one of its overloads, is called. - - - - - This event is raised when the method is called, providing - the newly created child container to extensions to act on as they see fit. - - - - - An EventArgs class that holds a string Name. - - - - - Create a new with a null name. - - - - - Create a new with the given name. - - Name to store. - - - - The name. - - Name used for this EventArg object. - - - - Event argument class for the event. - - - - - Create a new instance of . - - Type to map from. - Type to map to. - Name for the registration. - to manage instances. - - - - Type to map from. - - - - - Type to map to. - - - - - to manage instances. - - - - - Event argument class for the event. - - - - - Create a default instance. - - - - - Create a instance initialized with the given arguments. - - Type of instance being registered. - The instance object itself. - Name to register under, null if default registration. - object that handles how - the instance will be owned. - - - - Type of instance being registered. - - - Type of instance being registered. - - - - - Instance object being registered. - - Instance object being registered - - - - that controls ownership of - this instance. - - - - - A that lets you specify that - an instance of a generic type parameter should be resolved. - - - - - Create a new instance that specifies - that the given named generic parameter should be resolved. - - The generic parameter name to resolve. - - - - Create a new instance that specifies - that the given named generic parameter should be resolved. - - The generic parameter name to resolve. - name to use when looking up in the container. - - - - Return a instance that will - return this types value for the parameter. - - The actual type to resolve. - The resolution key. - The . - - - - A that lets you specify that - an array containing the registered instances of a generic type parameter - should be resolved. - - - - - Create a new instance that specifies - that the given named generic parameter should be resolved. - - The generic parameter name to resolve. - The values for the elements, that will - be converted to objects. - - - - Test to see if this parameter value has a matching type for the given type. - - Type to check. - True if this parameter value is compatible with type , - false if not. - A type is considered compatible if it is an array type of rank one - and its element type is a generic type parameter with a name matching this generic - parameter name configured for the receiver. - - - - Return a instance that will - return this types value for the parameter. - - Type that contains the member that needs this parameter. Used - to resolve open generic parameters. - The . - - - - Name for the type represented by this . - This may be an actual type name or a generic argument name. - - - - - A Unity container extension that allows you to configure - which constructors, properties, and methods get injected - via an API rather than through attributes. - - - - - Initial the container with this extension's functionality. - - - When overridden in a derived class, this method will modify the given - by adding strategies, policies, etc. to - install it's functions into the container. - - - - API to configure the injection settings for a particular type. - - Type the injection is being configured for. - Objects containing the details on which members to inject and how. - This extension object. - - - - API to configure the injection settings for a particular type/name pair. - - Type the injection is being configured for. - Name of registration - Objects containing the details on which members to inject and how. - This extension object. - - - - API to configure the injection settings for a particular type. - - Type to configure. - Objects containing the details on which members to inject and how. - This extension object. - - - - API to configure the injection settings for a particular type/name pair. - - Type to configure. - Name of registration. - Objects containing the details on which members to inject and how. - This extension object. - - - - API to configure the injection settings for a particular type/name pair. - - Type of interface/base class being registered (may be null). - Type of actual implementation class being registered. - Name of registration. - Objects containing the details on which members to inject and how. - This extension object. - - - - A class that holds the collection of information - for a constructor, so that the container can - be configured to call this constructor. - - - - - Create a new instance of that looks - for a constructor with the given set of parameters. - - The values for the parameters, that will - be converted to objects. - - - - Add policies to the to configure the - container to call this constructor with the appropriate parameter values. - - Interface registered, ignored in this implementation. - Type to register. - Name used to resolve the type object. - Policy list to add policies to. - - - - An that configures the - container to call a method as part of buildup. - - - - - Create a new instance which will configure - the container to call the given methods with the given parameters. - - Name of the method to call. - Parameter values for the method. - - - - Add policies to the to configure the - container to call this constructor with the appropriate parameter values. - - Type of interface registered, ignored in this implementation. - Type to register. - Name used to resolve the type object. - Policy list to add policies to. - - - - A small function to handle name matching. You can override this - to do things like case insensitive comparisons. - - MethodInfo for the method you're checking. - Name of the method you're looking for. - True if a match, false if not. - - - - A class that holds on to the given value and provides - the required - when the container is configured. - - - - - Create an instance of that stores - the given value, using the runtime type of that value as the - type of the parameter. - - Value to be injected for this parameter. - - - - Create an instance of that stores - the given value, associated with the given type. - - Type of the parameter. - Value of the parameter - - - - Return a instance that will - return this types value for the parameter. - - Type that contains the member that needs this parameter. Used - to resolve open generic parameters. - The . - - - - A generic version of that makes it a - little easier to specify the type of the parameter. - - Type of parameter. - - - - Create a new . - - Value for the parameter. - - - - This class stores information about which properties to inject, - and will configure the container accordingly. - - - - - Configure the container to inject the given property name, - resolving the value via the container. - - Name of the property to inject. - - - - Configure the container to inject the given property name, - using the value supplied. This value is converted to an - object using the - rules defined by the - method. - - Name of property to inject. - Value for property. - - - - Add policies to the to configure the - container to call this constructor with the appropriate parameter values. - - Interface being registered, ignored in this implementation. - Type to register. - Name used to resolve the type object. - Policy list to add policies to. - - - - A class that stores a type, and generates a - resolver object that resolves all the named instances or the - type registered in a container. - - - - - Construct a new that - resolves to the given element type and collection of element values. - - The type of elements to resolve. - The values for the elements, that will - be converted to objects. - - - - Construct a new that - resolves to the given array and element types and collection of element values. - - The type for the array of elements to resolve. - The type of elements to resolve. - The values for the elements, that will - be converted to objects. - - - - Return a instance that will - return this types value for the parameter. - - Type that contains the member that needs this parameter. Used - to resolve open generic parameters. - The . - - - - A generic version of for convenience - when creating them by hand. - - Type of the elements for the array of the parameter. - - - - Construct a new that - resolves to the given element generic type with the given element values. - - The values for the elements, that will - be converted to objects. - - - - Interface defining the behavior of the Unity dependency injection container. - - - - - Register a type mapping with the container, where the created instances will use - the given . - - that will be requested. - that will actually be returned. - Name to use for registration, null if a default registration. - The that controls the lifetime - of the returned instance. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register an instance with the container. - - - - Instance registration is much like setting a type as a singleton, except that instead - of the container creating the instance the first time it is requested, the user - creates the instance ahead of type and adds that instance to the container. - - - Type of instance to register (may be an implemented interface instead of the full type). - Object to returned. - Name for registration. - - object that controls how this instance will be managed by the container. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Resolve an instance of the requested type with the given name from the container. - - of object to get from the container. - Name of the object to retrieve. - Any overrides for the resolve call. - The retrieved object. - - - - Return instances of all registered types requested. - - - - This method is useful if you've registered multiple types with the same - but different names. - - - Be aware that this method does NOT return an instance for the default (unnamed) registration. - - - The type requested. - Any overrides for the resolve calls. - Set of objects of type . - - - - Run an existing object through the container and perform injection on it. - - - - This method is useful when you don't control the construction of an - instance (ASP.NET pages or objects created via XAML, for instance) - but you still want properties and other injection performed. - - of object to perform injection on. - Instance to build up. - name to use when looking up the TypeMappings and other configurations. - Any overrides for the resolve calls. - The resulting object. By default, this will be , but - container extensions may add things like automatic proxy creation which would - cause this to return a different object (but still type compatible with ). - - - - Run an existing object through the container, and clean it up. - - The object to tear down. - - - - Add an extension object to the container. - - to add. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Resolve access to a configuration interface exposed by an extension. - - Extensions can expose configuration interfaces as well as adding - strategies and policies to the container. This method walks the list of - added extensions and returns the first one that implements the requested type. - - of configuration interface required. - The requested extension's configuration interface, or null if not found. - - - - Remove all installed extensions from this container. - - - - This method removes all extensions from the container, including the default ones - that implement the out-of-the-box behavior. After this method, if you want to use - the container again you will need to either read the default extensions or replace - them with your own. - - - The registered instances and singletons that have already been set up in this container - do not get removed. - - - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Create a child container. - - - A child container shares the parent's configuration, but can be configured with different - settings or lifetime. - The new child container. - - - - The parent of this container. - - The parent container, or null if this container doesn't have one. - - - - Get a sequence of that describe the current state - of the container. - - - - - A that holds a weak reference to - it's managed instance. - - - - - Retrieve a value from the backing store associated with this Lifetime policy. - - the object desired, or null if no such object is currently stored. - - - - Stores the given value into backing store for retrieval later. - - The object being stored. - - - - Remove the given object from backing store. - - - - - An implementation of that - creates instances of the type of the given Lifetime Manager - by resolving them through the container. - - - - - Create a new that will - return instances of the given type, creating them by - resolving through the container. - - Container to resolve with. - Type of LifetimeManager to create. - - - - Create a new instance of . - - The new instance. - - - - The type of Lifetime manager that will be created by this factory. - - - - - A that holds the instances given to it, - keeping one instance per thread. - - - - This LifetimeManager does not dispose the instances it holds. - - - - - - Initializes a new instance of the class. - - - - - Retrieve a value from the backing store associated with this Lifetime policy for the - current thread. - - the object desired, or if no such object is currently - stored for the current thread. - - - - Stores the given value into backing store for retrieval later when requested - in the current thread. - - The object being stored. - - - - Remove the given object from backing store. - - Not implemented for this lifetime manager. - - - - An implementation that does nothing, - thus ensuring that instances are created new every time. - - - - - Retrieve a value from the backing store associated with this Lifetime policy. - - the object desired, or null if no such object is currently stored. - - - - Stores the given value into backing store for retrieval later. - - The object being stored. - - - - Remove the given object from backing store. - - - - - This strategy implements the logic that will call container.ResolveAll - when an array parameter is detected. - - - - - Do the PreBuildUp stage of construction. This is where the actual work is performed. - - Current build context. - - - - An implementation of that is - aware of the build keys used by the Unity container. - - - - - Create a instance for the given - . - - - This implementation looks for the Unity on the - parameter and uses it to create an instance of - for this parameter. - Parameter to create the resolver for. - The resolver object. - - - - An implementation of that is aware - of the build keys used by the Unity container. - - - - - Create a instance for the given - . - - Parameter to create the resolver for. - The resolver object. - - - - An implementation of that is aware of - the build keys used by the unity container. - - - - - Create a for the given - property. - - Property to create resolver for. - The resolver object. - - - - A implementation that returns - the value set in the constructor. - - - - - Create a new instance of - which will return the given value when resolved. - - The value to return. - - - - Get the value for a dependency. - - Current build context. - The value for the dependency. - - - - An implementation of that stores a - type and name, and at resolution time puts them together into a - . - - - - - Create an instance of - with the given type and name. - - The type. - The name (may be null). - - - - Resolve the value for a dependency. - - Current build context. - The value for the dependency. - - - - The type that this resolver resolves. - - - - - The name that this resolver resolves. - - - - - An implementation of that resolves to - to an array populated with the values that result from resolving other instances - of . - - - - - Create an instance of - with the given type and a collection of - instances to use when populating the result. - - The type. - The resolver policies to use when populating an array. - - - - Resolve the value for a dependency. - - Current build context. - An array populated with the results of resolving the resolver policies. - - - - An implementation of that selects - the given constructor and creates the appropriate resolvers to call it with - the specified parameters. - - - - - Create an instance of that - will return the given constructor, being passed the given injection values - as parameters. - - The constructor to call. - Set of objects - that describes how to obtain the values for the constructor parameters. - - - - Choose the constructor to call for the given type. - - Current build context - The to add any - generated resolver objects into. - The chosen constructor. - - - - Helper class for implementing selector policies that need to - set up dependency resolver policies. - - - - - Add dependency resolvers to the parameter set. - - Type that's currently being built (used to resolve open generics). - PolicyList to add the resolvers to. - Objects supplying the dependency resolvers. - Result object to store the keys in. - - - - A implementation that calls the specific - methods with the given parameters. - - - - - Add the given method and parameter collection to the list of methods - that will be returned when the selector's - method is called. - - Method to call. - sequence of objects - that describe how to create the method parameter values. - - - - Return the sequence of methods to call while building the target object. - - Current build context. - The to add any - generated resolver objects into. - Sequence of methods to call. - - - - An implementation of which returns - the set of specific properties that the selector was configured with. - - - - - Add a property that will be par of the set returned when the - is called. - - The property to set. - object describing - how to create the value to inject. - - - - Returns sequence of properties on the given type that - should be set as part of building that object. - - Current build context. - The to add any - generated resolver objects into. - Sequence of objects - that contain the properties to set. - - - - The exception thrown by the Unity container when - an attempt to resolve a dependency fails. - - - - - Create a new that records - the exception for the given type and name. - - Type requested from the container. - Name requested from the container. - The actual exception that caused the failure of the build. - The build context representing the failed operation. - - - - The type that was being requested from the container at the time of failure. - - - - - The name that was being requested from the container at the time of failure. - - - - - A class that stores a name and type, and generates a - resolver object that resolves the parameter via the - container. - - - - - Construct a new that - resolves to the given type. - - Type of this parameter. - - - - Construct a new that - resolves the given type and name. - - Type of this parameter. - Name to use when resolving parameter. - - - - Return a instance that will - return this types value for the parameter. - - Type that contains the member that needs this parameter. Used - to resolve open generic parameters. - The . - - - - A generic version of for convenience - when creating them by hand. - - Type of the parameter - - - - Create a new for the given - generic type and the default name. - - - - - Create a new for the given - generic type and name. - - Name to use to resolve this parameter. - - - - An implementation of that wraps a Unity container. - - - - - Initializes a new instance of the class for a container. - - The to wrap with the - interface implementation. - - - - Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. - - 2 - - - - When implemented by inheriting classes, this method will do the actual work of resolving - the requested service instance. - - Type of instance requested.Name of registered service you want. May be null. - - The requested service instance. - - - - - When implemented by inheriting classes, this method will do the actual work of - resolving all the requested service instances. - - Type of service requested. - - Sequence of service instance objects. - - - - - A static helper class that includes various parameter checking routines. - - - - - Throws if the given argument is null. - - if tested value if null. - Argument value to test. - Name of the argument being tested. - - - - Throws an exception if the tested string argument is null or the empty string. - - Thrown if string value is null. - Thrown if the string is empty - Argument value to check. - Name of argument being checked. - - - - Verifies that an argument type is assignable from the provided type (meaning - interfaces are implemented, or classes exist in the base class hierarchy). - - The argument type that will be assigned to. - The type of the value being assigned. - Argument name. - - - - Verifies that an argument instance is assignable from the provided type (meaning - interfaces are implemented, or classes exist in the base class hierarchy, or instance can be - assigned through a runtime wrapper, as is the case for COM Objects). - - The argument type that will be assigned to. - The instance that will be assigned. - Argument name. - - - - A helper class to manage the names that get registered in the container - - - - - The build stages we use in the Unity container - strategy pipeline. - - - - - First stage. By default, nothing happens here. - - - - - Second stage. Type mapping occurs here. - - - - - Third stage. lifetime managers are checked here, - and if they're available the rest of the pipeline is skipped. - - - - - Fourth stage. Reflection over constructors, properties, etc. is - performed here. - - - - - Fifth stage. Instance creation happens here. - - - - - Sixth stage. Property sets and method injection happens here. - - - - - Seventh and final stage. By default, nothing happens here. - - - - - A strongly-typed resource class, for looking up localized strings, etc. - - - - - Returns the cached ResourceManager instance used by this class. - - - - - Overrides the current thread's CurrentUICulture property for all - resource lookups using this strongly typed resource class. - - - - - Looks up a localized string similar to The type {0} has multiple constructors of length {1}. Unable to disambiguate.. - - - - - Looks up a localized string similar to The provided string argument must not be empty.. - - - - - Looks up a localized string similar to The current build operation (build key {2}) failed: {3} (Strategy type {0}, index {1}). - - - - - Looks up a localized string similar to The current type, {0}, is an abstract class and cannot be constructed. Are you missing a type mapping?. - - - - - Looks up a localized string similar to The current type, {0}, is delegate and cannot be constructed. Unity only supports resolving Func<T> and Func<IEnumerable<T>> by default.. - - - - - Looks up a localized string similar to The current type, {0}, is an interface and cannot be constructed. Are you missing a type mapping?. - - - - - Looks up a localized string similar to Cannot extract type from build key {0}.. - - - - - Looks up a localized string similar to The method {0}.{1}({2}) is an open generic method. Open generic methods cannot be injected.. - - - - - Looks up a localized string similar to The property {0} on type {1} is an indexer. Indexed properties cannot be injected.. - - - - - Looks up a localized string similar to The method {1} on type {0} has an out parameter. Injection cannot be performed.. - - - - - Looks up a localized string similar to The method {0}.{1}({2}) has at least one out parameter. Methods with out parameters cannot be injected.. - - - - - Looks up a localized string similar to The method {0}.{1}({2}) has at least one ref parameter.Methods with ref parameters cannot be injected.. - - - - - Looks up a localized string similar to The method {1} on type {0} is marked for injection, but it is an open generic method. Injection cannot be performed.. - - - - - Looks up a localized string similar to The method {0}.{1}({2}) is static. Static methods cannot be injected.. - - - - - Looks up a localized string similar to The type {0} is an open generic type. An open generic type cannot be resolved.. - - - - - Looks up a localized string similar to Resolving parameter "{0}" of constructor {1}. - - - - - Looks up a localized string similar to The parameter {0} could not be resolved when attempting to call constructor {1}.. - - - - - Looks up a localized string similar to Parameter type inference does not work for null values. Indicate the parameter type explicitly using a properly configured instance of the InjectionParameter or InjectionParameter<T> classes.. - - - - - Looks up a localized string similar to Calling constructor {0}. - - - - - Looks up a localized string similar to Calling method {0}.{1}. - - - - - Looks up a localized string similar to An item with the given key is already present in the dictionary.. - - - - - Looks up a localized string similar to The lifetime manager is already registered. Lifetime managers cannot be reused, please create a new one.. - - - - - Looks up a localized string similar to The override marker build plan policy has been invoked. This should never happen, looks like a bug in the container.. - - - - - Looks up a localized string similar to Resolving parameter "{0}" of method {1}.{2}. - - - - - Looks up a localized string similar to The value for parameter "{1}" of method {0} could not be resolved. . - - - - - Looks up a localized string similar to Could not resolve dependency for build key {0}.. - - - - - Looks up a localized string similar to The type {0} has multiple constructors marked with the InjectionConstructor attribute. Unable to disambiguate.. - - - - - Looks up a localized string similar to The supplied type {0} must be an open generic type.. - - - - - Looks up a localized string similar to The supplied type {0} does not have the same number of generic arguments as the target type {1}.. - - - - - Looks up a localized string similar to The type {0} does not have an accessible constructor.. - - - - - Looks up a localized string similar to The type {0} does not have a generic argument named "{1}". - - - - - Looks up a localized string similar to while resolving. - - - - - Looks up a localized string similar to The type {0} does not have a constructor that takes the parameters ({1}).. - - - - - Looks up a localized string similar to The type {0} does not have a public method named {1} that takes the parameters ({2}).. - - - - - Looks up a localized string similar to The type {0} does not contain an instance property named {1}.. - - - - - Looks up a localized string similar to The type {0} is not a generic type, and you are attempting to inject a generic parameter named "{1}".. - - - - - Looks up a localized string similar to The type {0} is not an array type with rank 1, and you are attempting to use a [DependencyArray] attribute on a parameter or property with this type.. - - - - - Looks up a localized string similar to Optional dependencies must be reference types. The type {0} is a value type.. - - - - - Looks up a localized string similar to The property {0} on type {1} is not settable.. - - - - - Looks up a localized string similar to The property {0} on type {1} is of type {2}, and cannot be injected with a value of type {3}.. - - - - - Looks up a localized string similar to The value for the property "{0}" could not be resolved.. - - - - - Looks up a localized string similar to The provided string argument must not be empty.. - - - - - Looks up a localized string similar to Resolution of the dependency failed, type = "{0}", name = "{1}". - Exception occurred while: {2}. - Exception is: {3} - {4} - ----------------------------------------------- - At the time of the exception, the container was: - . - - - - - Looks up a localized string similar to Resolving {0},{1}. - - - - - Looks up a localized string similar to Resolving {0},{1} (mapped from {2}, {3}). - - - - - Looks up a localized string similar to Resolving value for property {0}.{1}. - - - - - Looks up a localized string similar to The constructor {1} selected for type {0} has ref or out parameters. Such parameters are not supported for constructor injection.. - - - - - Looks up a localized string similar to Setting value for property {0}.{1}. - - - - - Looks up a localized string similar to The type {0} cannot be constructed. You must configure the container to supply this value.. - - - - - Looks up a localized string similar to The type {1} cannot be assigned to variables of type {0}.. - - - - - Looks up a localized string similar to <unknown>. - - - - - A simple, extensible dependency injection container. - - - - - Create a default . - - - - - Create a with the given parent container. - - The parent . The current object - will apply its own settings first, and then check the parent for additional ones. - - - - RegisterType a type mapping with the container, where the created instances will use - the given . - - that will be requested. - that will actually be returned. - Name to use for registration, null if a default registration. - The that controls the lifetime - of the returned instance. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - RegisterType an instance with the container. - - - - Instance registration is much like setting a type as a singleton, except that instead - of the container creating the instance the first time it is requested, the user - creates the instance ahead of type and adds that instance to the container. - - - Type of instance to register (may be an implemented interface instead of the full type). - Object to returned. - Name for registration. - - If true, the container will take over the lifetime of the instance, - calling Dispose on it (if it's ) when the container is Disposed. - - If false, container will not maintain a strong reference to . User is responsible - for disposing instance, and for keeping the instance from being garbage collected. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Get an instance of the requested type with the given name from the container. - - of object to get from the container. - Name of the object to retrieve. - Any overrides for the resolve call. - The retrieved object. - - - - Return instances of all registered types requested. - - - - This method is useful if you've registered multiple types with the same - but different names. - - - Be aware that this method does NOT return an instance for the default (unnamed) registration. - - - The type requested. - Any overrides for the resolve calls. - Set of objects of type . - - - - Run an existing object through the container and perform injection on it. - - - - This method is useful when you don't control the construction of an - instance (ASP.NET pages or objects created via XAML, for instance) - but you still want properties and other injection performed. - - of object to perform injection on. - Instance to build up. - name to use when looking up the typemappings and other configurations. - Any overrides for the buildup. - The resulting object. By default, this will be , but - container extensions may add things like automatic proxy creation which would - cause this to return a different object (but still type compatible with ). - - - - Run an existing object through the container, and clean it up. - - The object to tear down. - - - - Add an extension object to the container. - - to add. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Get access to a configuration interface exposed by an extension. - - Extensions can expose configuration interfaces as well as adding - strategies and policies to the container. This method walks the list of - added extensions and returns the first one that implements the requested type. - - of configuration interface required. - The requested extension's configuration interface, or null if not found. - - - - Remove all installed extensions from this container. - - - - This method removes all extensions from the container, including the default ones - that implement the out-of-the-box behavior. After this method, if you want to use - the container again you will need to either read the default extensions or replace - them with your own. - - - The registered instances and singletons that have already been set up in this container - do not get removed. - - - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Create a child container. - - - A child container shares the parent's configuration, but can be configured with different - settings or lifetime. - The new child container. - - - - Dispose this container instance. - - - Disposing the container also disposes any child containers, - and disposes any instances whose lifetimes are managed - by the container. - - - - - Dispose this container instance. - - - This class doesn't have a finalizer, so will always be true. - True if being called from the IDisposable.Dispose - method, false if being called from a finalizer. - - - - Remove policies associated with building this type. This removes the - compiled build plan so that it can be rebuilt with the new settings - the next time this type is resolved. - - Type of object to clear the plan for. - Name the object is being registered with. - - - - The parent of this container. - - The parent container, or null if this container doesn't have one. - - - - Get a sequence of that describe the current state - of the container. - - - - - Implementation of the ExtensionContext that is actually used - by the UnityContainer implementation. - - - This is a nested class so that it can access state in the - container that would otherwise be inaccessible. - - - - - This event is raised when the method, - or one of its overloads, is called. - - - - - This extension supplies the default behavior of the UnityContainer API - by handling the context events and setting policies. - - - - - Install the default container behavior into the container. - - - - - Remove the default behavior from the container. - - - - - This extension installs the default strategies and policies into the container - to implement the standard behavior of the Unity container. - - - - - Add the default ObjectBuilder strategies & policies to the container. - - - - - Helper class to wrap common reflection stuff dealing with - methods. - - - - - Create a new instance that - lets us do more reflection stuff on that method. - - The method to reflect on. - - - - Given our set of generic type arguments, - - The generic type arguments. - An array with closed parameter types. - - - - Returns true if any of the parameters of this method - are open generics. - - - - - Return the of each parameter for this - method. - - Sequence of objects, one for - each parameter in order. - - - - A helper class that encapsulates two different - data items together into a a single item. - - - - - Create a new containing - the two values give. - - First value - Second value - - - - The first value of the pair. - - - - - The second value of the pair. - - - - - Container for a Pair helper method. - - - - - A helper factory method that lets users take advantage of type inference. - - Type of first value. - Type of second value. - First value. - Second value. - A new instance. - - - - A utility class that handles the logic of matching parameter - lists, so we can find the right constructor and method overloads. - - - - - Create a new that will attempt to - match the given parameter types. - - Target parameters to match against. - - - - Tests to see if the given set of types matches the ones - we're looking for. - - parameter list to look for. - true if they match, false if they don't. - - - - Tests to see if the given set of types matches the ones we're looking for. - - Candidate method signature to look for. - True if they match, false if they don't. - - - - Another reflection helper class that has extra methods - for dealing with ParameterInfo. - - - - - A small helper class to encapsulate details of the - reflection API, particularly around generics. - - - - - Create a new instance that - lets you look at information about the given type. - - Type to do reflection on. - - - - Test the given object, looking at - the parameters. Determine if any of the parameters are - open generic types that need type attributes filled in. - - The method to check. - True if any of the parameters are open generics. False if not. - - - - If this type is an open generic, use the - given array to - determine what the required closed type is and return that. - - If the parameter is not an open type, just - return this parameter's type. - Type arguments to substitute in for - the open type parameters. - Corresponding closed type of this parameter. - - - - Given a generic argument name, return the corresponding type for this - closed type. For example, if the current type is SomeType<User>, and the - corresponding definition was SomeType<TSomething>, calling this method - and passing "TSomething" will return typeof(User). - - Name of the generic parameter. - Type of the corresponding generic parameter, or null if there - is no matching name. - - - - The object we're reflecting over. - - - - - Is this type generic? - - - - - Is this type an open generic (no type parameter specified) - - - - - Is this type an array type? - - - - - Is this type an array of generic elements? - - - - - The type of the elements in this type (if it's an array). - - - - - Returns all the public constructors defined for the current reflected . - - - An enumeration of ConstructorInfo objects representing all the public instance constructors defined for the - current reflected , but not including the type initializer (static constructor). - - - - - Create a new instance of that - lets you query information about the given ParameterInfo object. - - Parameter to query. - - - - A set of helper methods to pick through lambdas and pull out - from them. - - - - - Pull out a object from an expression of the form - () => SomeClass.SomeMethod() - - Expression describing the method to call. - Corresponding . - - - - Pull out a object from an expression of the form - x => x.SomeMethod() - - The type where the method is defined. - Expression describing the method to call. - Corresponding . - - - - Pull out a object for the get method from an expression of the form - x => x.SomeProperty - - The type where the method is defined. - The type for the property. - Expression describing the property for which the get method is to be extracted. - Corresponding . - - - - Pull out a object for the set method from an expression of the form - x => x.SomeProperty - - The type where the method is defined. - The type for the property. - Expression describing the property for which the set method is to be extracted. - Corresponding . - - - - - - - - - - - - - Pull out a object from an expression of the form () => new SomeType() - - The type where the constructor is defined. - Expression invoking the desired constructor. - Corresponding . - - - diff --git a/src/packages/Unity.4.0.1/lib/wp80/Microsoft.Practices.Unity.RegistrationByConvention.XML b/src/packages/Unity.4.0.1/lib/wp80/Microsoft.Practices.Unity.RegistrationByConvention.XML deleted file mode 100644 index a679199..0000000 --- a/src/packages/Unity.4.0.1/lib/wp80/Microsoft.Practices.Unity.RegistrationByConvention.XML +++ /dev/null @@ -1,312 +0,0 @@ - - - - Microsoft.Practices.Unity.RegistrationByConvention - - - - - Provides helper methods to retrieve classes from assemblies. - - - - - Returns all visible, non-abstract classes from . - - The assemblies. - All visible, non-abstract classes found in the assemblies. - is . - contains elements. - All exceptions thrown while getting types from the assemblies are ignored, and the types that can be retrieved are returned. - - - - Returns all visible, non-abstract classes from , and optionally skips errors. - - to skip errors; otherwise, . - The assemblies. - - All visible, non-abstract classes. - - is . - contains elements. - - If is , all exceptions thrown while getting types from the assemblies are ignored, and the types - that can be retrieved are returned; otherwise, the original exception is thrown. - - - - - Returns all visible, non-abstract classes from . - - to skip errors; otherwise, . - The assemblies. - - All visible, non-abstract classes. - - is . - contains elements. - - If is , all exceptions thrown while getting types from the assemblies are ignored, and the types - that can be retrieved are returned; otherwise, the original exception is thrown. - - - - - Returns all visible, non-abstract classes from all assemblies located where the application is installed. - - to include the Unity assemblies; otherwise, . Defaults to . - to skip errors; otherwise, . - - All visible, non-abstract classes. - - - If is , all exceptions thrown while loading assemblies or getting types from the assemblies - are ignored, and the types that can be retrieved are returned; otherwise, the original exception is thrown. These exceptions might be wrapped in a - . - - - - - The exception that is thrown when registering multiple types would result in an type mapping being overwritten. - - - - - Initializes a new instance of the class. - - The name for the mapping. - The source type for the mapping. - The type currently mapped. - The new type to map. - - - - Gets the name for the mapping. - - - - - Gets the source type for the mapping. - - - - - Gets the type currently mapped. - - - - - Gets the new type to map. - - - - - A strongly-typed resource class, for looking up localized strings, etc. - - - - - Returns the cached ResourceManager instance used by this class. - - - - - Overrides the current thread's CurrentUICulture property for all - resource lookups using this strongly typed resource class. - - - - - Looks up a localized string similar to An attempt to override an existing mapping was detected for type {1} with name "{0}", currently mapped to type {2}, to type {3}.. - - - - - Looks up a localized string similar to The set of assemblies contains a null element.. - - - - - Represents a set of types to register and their registration settings. - - - - - Gets types to register. - - - - - Gets a function to get the types that will be requested for each type to configure. - - - - - Gets a function to get the name to use for the registration of each type. - - - - - Gets a function to get the for the registration of each type. Defaults to no lifetime management. - - - - - - Gets a function to get the additional objects for the registration of each type. Defaults to no injection members. - - - - - - Provides a set of convenience overloads to the - interface to support registration of multiple types. - - - - - Registers the supplied types by using the specified rules for name, lifetime manager, injection members, and registration types. - - The container to configure. - The types to register. The methods in the class can be used to scan assemblies to get types, and further filtering can be performed using LINQ queries. - A function that gets the types that will be requested for each type to configure. It can be a method from the class or a custom function. Defaults to no registration types, and registers only the supplied types. - A function that gets the name to use for the registration of each type. It can be a method from the or a custom function. Defaults to no name. - A function that gets the for the registration of each type. It can be a method from the class or a custom function. Defaults to no lifetime management. - A function that gets the additional objects for the registration of each type. Defaults to no injection members. - to overwrite existing mappings; otherwise, . Defaults to . - - The container that this method was called on. - - A new registration would overwrite an existing mapping and is . - - - - Registers the types according to the . - - The container to configure. - The convention to determine which types will be registered and how. - to overwrite existing mappings; otherwise, . Defaults to . - - The container that this method was called on. - - - - - Provides helper methods to specify the lifetime for a type with registration by convention. - - - - - Returns a . - - The type. - A lifetime manager - - - - Returns a . - - The type. - A container controlled lifetime manager. - - - - Returns a . - - The type. - An externally controlled lifetime manager. - - - - Returns a . - - The type. - A hierarchical lifetime manager. - - - - Returns a . - - The type. - A per resolve lifetime manager. - - - - Returns a . - - The type. - A transient lifetime manager. - - - - Returns a . - - The custom type. - The type. - - A lifetime manager. - - - - - Returns a . - - The type. - A per thread lifetime manager. - - - - Provides helper methods to map types to the types interfaces to which register them. - - - - - Returns no types. - - The type to register. - An empty enumeration. - - - - Returns an enumeration with the interface that matches the name of . - - The type to register. - An enumeration with the first interface matching the name of (for example, if type is MyType, a matching interface is IMyType), - or an empty enumeration if no such interface is found. - - - - Returns an enumeration with all the interfaces implemented by . - - The type to register. - An enumeration with all the interfaces implemented by the implementation type except . - - - - Returns an enumeration with all the interfaces implemented by that belong to the same assembly as implementationType. - - The type to register. - An enumeration with all the interfaces implemented by the implementation type that belong to the same assembly. - - - - Provides helper methods to get type names. - - - - - Returns the type name. - - The type. - The type name. - - - - Returns null for the registration name. - - The type. - - - - diff --git a/src/packages/Unity.4.0.1/lib/wp80/Microsoft.Practices.Unity.RegistrationByConvention.dll b/src/packages/Unity.4.0.1/lib/wp80/Microsoft.Practices.Unity.RegistrationByConvention.dll deleted file mode 100644 index e65d0d727187d1b07cc7eed58ad7cef401e5a641..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23040 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 Z=G*>LDJI(~^yY(ayX5~b@c#e={x_&(Z`=R? diff --git a/src/packages/Unity.4.0.1/lib/wp80/Microsoft.Practices.Unity.xml b/src/packages/Unity.4.0.1/lib/wp80/Microsoft.Practices.Unity.xml deleted file mode 100644 index f99ca70..0000000 --- a/src/packages/Unity.4.0.1/lib/wp80/Microsoft.Practices.Unity.xml +++ /dev/null @@ -1,5916 +0,0 @@ - - - - Microsoft.Practices.Unity - - - - - Provides access to the names registered for a container. - - - - - Represents a builder policy interface. Since there are no fixed requirements - for policies, it acts as a marker interface from which to derive all other - policy interfaces. - - - - - Gets the names registered for a type. - - The type. - The names registered for . - - - - An implementation - that constructs a build plan for creating objects. - - - - - A that can create and return an - for the given build key. - - - - - Create a build plan using the given context and build key. - - Current build context. - Current build key. - The build plan. - - - - Creates a build plan using the given context and build key. - - Current build context. - Current build key. - - The build plan. - - - - - Provides extension methods to the class due to the introduction - of class in the .NET for Windows Store apps. - - - - - Returns the constructor in that matches the specified constructor parameter types. - - The type to inspect - The constructor parameter types. - The constructor that matches the specified parameter types. - - - - Returns the non-static declared methods of a type or its base types. - - The type to inspect - An enumerable of the objects. - - - - Returns the non-static method of a type or its based type. - - The type to inspect - The name of the method to seek. - The (closed) parameter type signature of the method. - The discovered - - - - Returns the declared properties of a type or its base types. - - The type to inspect - An enumerable of the objects. - - - - Determines if the types in a parameter set ordinally matches the set of supplied types. - - - - - - - - Base class for attributes that can be placed on parameters - or properties to specify how to resolve the value for - that parameter or property. - - - - - Create an instance of that - will be used to get the value for the member this attribute is - applied to. - - Type of parameter or property that - this attribute is decoration. - The resolver object. - - - - This attribute is used to indicate which constructor to choose when - the container attempts to build a type. - - - - - This attribute is used to mark methods that should be called when - the container is building an object. - - - - - This attribute is used to mark properties and parameters as targets for injection. - - - For properties, this attribute is necessary for injection to happen. For parameters, - it's not needed unless you want to specify additional information to control how - the parameter is resolved. - - - - - Create an instance of with no name. - - - - - Create an instance of with the given name. - - Name to use when resolving this dependency. - - - - Create an instance of that - will be used to get the value for the member this attribute is - applied to. - - Type of parameter or property that - this attribute is decoration. - The resolver object. - - - - The name specified in the constructor. - - - - - An used to mark a dependency - as optional - the container will try to resolve it, and return null - if the resolution fails rather than throw. - - - - - Construct a new object. - - - - - Construct a new object that - specifies a named dependency. - - Name of the dependency. - - - - Create an instance of that - will be used to get the value for the member this attribute is - applied to. - - Type of parameter or property that - this attribute is decoration. - The resolver object. - - - - Name of the dependency. - - - - - A that composites other - ResolverOverride objects. The GetResolver operation then - returns the resolver from the first child override that - matches the current context and request. - - - - - Base class for all override objects passed in the - method. - - - - - Return a that can be used to give a value - for the given desired dependency. - - Current build context. - Type of dependency desired. - a object if this override applies, null if not. - - - - Wrap this resolver in one that verifies the type of the object being built. - This allows you to narrow any override down to a specific type easily. - - Type to constrain the override to. - The new override. - - - - Wrap this resolver in one that verifies the type of the object being built. - This allows you to narrow any override down to a specific type easily. - - Type to constrain the override to. - The new override. - - - - Add a new to the collection - that is checked. - - item to add. - - - - Add a set of s to the collection. - - items to add. - - - - Returns an enumerator that iterates through a collection. - - - An object that can be used to iterate through the collection. - - 2 - - - - Returns an enumerator that iterates through the collection. - - - A that can be used to iterate through the collection. - - 1 - - - - Return a that can be used to give a value - for the given desired dependency. - - Current build context. - Type of dependency desired. - a object if this override applies, null if not. - - - - Class that returns information about the types registered in a container. - - - - - The type that was passed to the method - as the "from" type, or the only type if type mapping wasn't done. - - - - - The type that this registration is mapped to. If no type mapping was done, the - property and this one will have the same value. - - - - - Name the type was registered under. Null for default registration. - - - - - The registered lifetime manager instance. - - - - - The lifetime manager for this registration. - - - This property will be null if this registration is for an open generic. - - - - A class that overrides - the value injected whenever there is a dependency of the - given type, regardless of where it appears in the object graph. - - - - - Create an instance of to override - the given type with the given value. - - Type of the dependency. - Value to use. - - - - Return a that can be used to give a value - for the given desired dependency. - - Current build context. - Type of dependency desired. - a object if this override applies, null if not. - - - - A convenience version of that lets you - specify the dependency type using generic syntax. - - Type of the dependency to override. - - - - Construct a new object that will - override the given dependency, and pass the given value. - - - - - A convenience form of that lets you - specify multiple parameter overrides in one shot rather than having - to construct multiple objects. - - - This class isn't really a collection, it just implements IEnumerable - so that we get use of the nice C# collection initializer syntax. - - - - - Base helper class for creating collections of objects - for use in passing a bunch of them to the resolve call. This base class provides - the mechanics needed to allow you to use the C# collection initializer syntax. - - Concrete type of the this class collects. - Key used to create the underlying override object. - Value that the override returns. - - - - Add a new override to the collection with the given key and value. - - Key - for example, a parameter or property name. - Value - the value to be returned by the override. - - - - Return a that can be used to give a value - for the given desired dependency. - - Current build context. - Type of dependency desired. - a object if this override applies, null if not. - - - - Returns an enumerator that iterates through a collection. - - - An object that can be used to iterate through the collection. - - 2 - - - - Returns an enumerator that iterates through the collection. - - - A that can be used to iterate through the collection. - - 1 - - - - When implemented in derived classes, this method is called from the - method to create the actual objects. - - Key value to create the resolver. - Value to store in the resolver. - The created . - - - - When implemented in derived classes, this method is called from the - method to create the actual objects. - - Key value to create the resolver. - Value to store in the resolver. - The created . - - - - Event argument class for the event. - - - - - Construct a new object with the - given child container object. - - An for the newly created child - container. - - - - The newly created child container. - - - - - An extension context for the created child container. - - - - - Base class for subclasses that let you specify that - an instance of a generic type parameter should be resolved. - - - - - Base type for objects that are used to configure parameters for - constructor or method injection, or for getting the value to - be injected into a property. - - - - - Test to see if this parameter value has a matching type for the given type. - - Type to check. - True if this parameter value is compatible with type , - false if not. - - - - Return a instance that will - return this types value for the parameter. - - Type that contains the member that needs this parameter. Used - to resolve open generic parameters. - The . - - - - Convert the given set of arbitrary values to a sequence of InjectionParameterValue - objects. The rules are: If it's already an InjectionParameterValue, return it. If - it's a Type, return a ResolvedParameter object for that type. Otherwise return - an InjectionParameter object for that value. - - The values to build the sequence from. - The resulting converted sequence. - - - - Convert an arbitrary value to an InjectionParameterValue object. The rules are: - If it's already an InjectionParameterValue, return it. If it's a Type, return a - ResolvedParameter object for that type. Otherwise return an InjectionParameter - object for that value. - - The value to convert. - The resulting . - - - - Name for the type represented by this . - This may be an actual type name or a generic argument name. - - - - - Create a new instance that specifies - that the given named generic parameter should be resolved. - - The generic parameter name to resolve. - - - - Create a new instance that specifies - that the given named generic parameter should be resolved. - - The generic parameter name to resolve. - name to use when looking up in the container. - - - - Test to see if this parameter value has a matching type for the given type. - - Type to check. - True if this parameter value is compatible with type , - false if not. - - - - Return a instance that will - return this types value for the parameter. - - Type that contains the member that needs this parameter. Used - to resolve open generic parameters. - The . - - - - Return a instance that will - return this types value for the parameter. - - The actual type to resolve. - The resolution key. - The . - - - - Name for the type represented by this . - This may be an actual type name or a generic argument name. - - - - - A that lets you specify that - an instance of a generic type parameter should be resolved, providing the - value if resolving fails. - - - - - Create a new instance that specifies - that the given named generic parameter should be resolved. - - The generic parameter name to resolve. - - - - Create a new instance that specifies - that the given named generic parameter should be resolved. - - The generic parameter name to resolve. - name to use when looking up in the container. - - - - Return a instance that will - return this types value for the parameter. - - The actual type to resolve. - The resolution key. - The . - - - - A class that lets you specify a factory method the container - will use to create the object. - - This is a significantly easier way to do the same - thing the old static factory extension was used for. - - - - Base class for objects that can be used to configure what - class members get injected by the container. - - - - - Add policies to the to configure the - container to call this constructor with the appropriate parameter values. - - Type to register. - Policy list to add policies to. - - - - Add policies to the to configure the - container to call this constructor with the appropriate parameter values. - - Type of interface being registered. If no interface, - this will be null. - Type of concrete type being registered. - Name used to resolve the type object. - Policy list to add policies to. - - - - Create a new instance of with - the given factory function. - - Factory function. - - - - Create a new instance of with - the given factory function. - - Factory function. - - - - Add policies to the to configure the - container to call this constructor with the appropriate parameter values. - - Type of interface being registered. If no interface, - this will be null. This parameter is ignored in this implementation. - Type of concrete type being registered. - Name used to resolve the type object. - Policy list to add policies to. - - - - A that can be passed to - to configure a - parameter or property as an optional dependency. - - - - - A base class for implementing classes - that deal in explicit types. - - - - - Create a new that exposes - information about the given . - - Type of the parameter. - - - - Test to see if this parameter value has a matching type for the given type. - - Type to check. - True if this parameter value is compatible with type , - false if not. - - - - The type of parameter this object represents. - - - - - Name for the type represented by this . - This may be an actual type name or a generic argument name. - - - - - Construct a new object that - specifies the given . - - Type of the dependency. - - - - Construct a new object that - specifies the given and . - - Type of the dependency. - Name for the dependency. - - - - Return a instance that will - return this types value for the parameter. - - Type that contains the member that needs this parameter. Used - to resolve open generic parameters. - The . - - - - A generic version of that lets you - specify the type of the dependency using generics syntax. - - Type of the dependency. - - - - Construct a new . - - - - - Construct a new with the given - . - - Name of the dependency. - - - - A special lifetime manager which works like , - except that in the presence of child containers, each child gets it's own instance - of the object, instead of sharing one in the common parent. - - - - - A that holds onto the instance given to it. - When the is disposed, - the instance is disposed with it. - - - - - Base class for Lifetime managers which need to synchronize calls to - . - - - - The purpose of this class is to provide a basic implementation of the lifetime manager synchronization pattern. - - - Calls to the method of a - instance acquire a lock, and if the instance has not been initialized with a value yet the lock will only be released - when such an initialization takes place by calling the method or if - the build request which resulted in the call to the GetValue method fails. - - - - - - - Base class for Lifetime managers - classes that control how - and when instances are created by the Unity container. - - - - - A that controls how instances are - persisted and recovered from an external store. Used to implement - things like singletons and per-http-request lifetime. - - - - - Retrieve a value from the backing store associated with this Lifetime policy. - - the object desired, or null if no such object is currently stored. - - - - Stores the given value into backing store for retrieval later. - - The object to store. - - - - Remove the value this lifetime policy is managing from backing store. - - - - - Retrieve a value from the backing store associated with this Lifetime policy. - - the object desired, or null if no such object is currently stored. - - - - Stores the given value into backing store for retrieval later. - - The object being stored. - - - - Remove the given object from backing store. - - - - - This interface provides a hook for the builder context to - implement error recovery when a builder strategy throws - an exception. Since we can't get try/finally blocks onto - the call stack for later stages in the chain, we instead - add these objects to the context. If there's an exception, - all the current IRequiresRecovery instances will have - their Recover methods called. - - - - - A method that does whatever is needed to clean up - as part of cleaning up after an exception. - - - Don't do anything that could throw in this method, - it will cause later recover operations to get skipped - and play real havoc with the stack trace. - - - - - Retrieve a value from the backing store associated with this Lifetime policy. - - the object desired, or null if no such object is currently stored. - Calls to this method acquire a lock which is released only if a non-null value - has been set for the lifetime manager. - - - - Performs the actual retrieval of a value from the backing store associated - with this Lifetime policy. - - the object desired, or null if no such object is currently stored. - This method is invoked by - after it has acquired its lock. - - - - Stores the given value into backing store for retrieval later. - - The object being stored. - Setting a value will attempt to release the lock acquired by - . - - - - Performs the actual storage of the given value into backing store for retrieval later. - - The object being stored. - This method is invoked by - before releasing its lock. - - - - Remove the given object from backing store. - - - - - A method that does whatever is needed to clean up - as part of cleaning up after an exception. - - - Don't do anything that could throw in this method, - it will cause later recover operations to get skipped - and play real havoc with the stack trace. - - - - - Retrieve a value from the backing store associated with this Lifetime policy. - - the object desired, or null if no such object is currently stored. - - - - Stores the given value into backing store for retrieval later. - - The object being stored. - - - - Remove the given object from backing store. - - - - - Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. - - - - - Standard Dispose pattern implementation. Not needed, but it keeps FxCop happy. - - Always true, since we don't have a finalizer. - - - - This is a custom lifetime manager that acts like , - but also provides a signal to the default build plan, marking the type so that - instances are reused across the build up object graph. - - - - - Construct a new object that does not - itself manage an instance. - - - - - Construct a new object that stores the - give value. This value will be returned by - but is not stored in the lifetime manager, nor is the value disposed. - This Lifetime manager is intended only for internal use, which is why the - normal method is not used here. - - Value to store. - - - - Retrieve a value from the backing store associated with this Lifetime policy. - - the object desired, or null if no such object is currently stored. - - - - Stores the given value into backing store for retrieval later. In this class, - this is a noop, since it has special hooks down in the guts. - - The object being stored. - - - - Remove the given object from backing store. Noop in this class. - - - - - A strategy that handles Hierarchical lifetimes across a set of parent/child - containers. - - - - - Represents a strategy in the chain of responsibility. - Strategies are required to support both BuildUp and TearDown. - - - - - Represents a strategy in the chain of responsibility. - Strategies are required to support both BuildUp and TearDown. Although you - can implement this interface directly, you may also choose to use - as the base class for your strategies, as - this class provides useful helper methods and makes support BuildUp and TearDown - optional. - - - - - Called during the chain of responsibility for a build operation. The - PreBuildUp method is called when the chain is being executed in the - forward direction. - - Context of the build operation. - - - - Called during the chain of responsibility for a build operation. The - PostBuildUp method is called when the chain has finished the PreBuildUp - phase and executes in reverse order from the PreBuildUp calls. - - Context of the build operation. - - - - Called during the chain of responsibility for a teardown operation. The - PreTearDown method is called when the chain is being executed in the - forward direction. - - Context of the teardown operation. - - - - Called during the chain of responsibility for a teardown operation. The - PostTearDown method is called when the chain has finished the PreTearDown - phase and executes in reverse order from the PreTearDown calls. - - Context of the teardown operation. - - - - Called during the chain of responsibility for a build operation. The - PreBuildUp method is called when the chain is being executed in the - forward direction. - - Context of the build operation. - - - - Called during the chain of responsibility for a build operation. The - PostBuildUp method is called when the chain has finished the PreBuildUp - phase and executes in reverse order from the PreBuildUp calls. - - Context of the build operation. - - - - Called during the chain of responsibility for a teardown operation. The - PreTearDown method is called when the chain is being executed in the - forward direction. - - Context of the teardown operation. - - - - Called during the chain of responsibility for a teardown operation. The - PostTearDown method is called when the chain has finished the PreTearDown - phase and executes in reverse order from the PreTearDown calls. - - Context of the teardown operation. - - - - Called during the chain of responsibility for a build operation. The - PreBuildUp method is called when the chain is being executed in the - forward direction. - - Context of the build operation. - - - - A that will attempt to - resolve a value, and return null if it cannot rather than throwing. - - - - - A strategy that is used at build plan execution time - to resolve a dependent value. - - - - - Get the value for a dependency. - - Current build context. - The value for the dependency. - - - - Construct a new object - that will attempt to resolve the given name and type from the container. - - Type to resolve. Must be a reference type. - Name to resolve with. - - - - Construct a new object - that will attempt to resolve the given type from the container. - - Type to resolve. Must be a reference type. - - - - Get the value for a dependency. - - Current build context. - The value for the dependency. - - - - Type this resolver will resolve. - - - - - Name this resolver will resolve. - - - - - Extension methods on to provide convenience - overloads (generic versions, mostly). - - - - - Removes an individual policy type for a build key. - - The type the policy was registered as. - to remove the policy from. - The key the policy applies. - - - - Removes a default policy. - - The type the policy was registered as. - to remove the policy from. - - - - Gets an individual policy. - - The interface the policy is registered under. - to search. - The key the policy applies. - The policy in the list, if present; returns null otherwise. - - - - Gets an individual policy. - - The interface the policy is registered under. - to search. - The key the policy applies. - The policy list that actually contains the returned policy. - The policy in the list, if present; returns null otherwise. - - - - Gets an individual policy. - - to search. - The interface the policy is registered under. - The key the policy applies. - The policy in the list, if present; returns null otherwise. - - - - Gets an individual policy. - - to search. - The interface the policy is registered under. - The key the policy applies. - The policy list that actually contains the returned policy. - The policy in the list, if present; returns null otherwise. - - - - Gets an individual policy. - - The interface the policy is registered under. - to search. - The key the policy applies. - true if the policy searches local only; otherwise false to search up the parent chain. - The policy in the list, if present; returns null otherwise. - - - - Gets an individual policy. - - The interface the policy is registered under. - to search. - The key the policy applies. - true if the policy searches local only; otherwise false to search up the parent chain. - The policy list that actually contains the returned policy. - The policy in the list, if present; returns null otherwise. - - - - Gets an individual policy. - - to search. - The interface the policy is registered under. - The key the policy applies. - true if the policy searches local only; otherwise false to search up the parent chain. - The policy in the list, if present; returns null otherwise. - - - - Get the non default policy. - - The interface the policy is registered under. - to search. - The key the policy applies. - true if the policy searches local only; otherwise false to search up the parent chain. - The policy in the list, if present; returns null otherwise. - - - - Get the non default policy. - - The interface the policy is registered under. - to search. - The key the policy applies. - true if the policy searches local only; otherwise false to search up the parent chain. - The policy list that actually contains the returned policy. - The policy in the list, if present; returns null otherwise. - - - - Get the non default policy. - - to search. - The interface the policy is registered under. - The key the policy applies. - true if the policy searches local only; otherwise false to search up the parent chain. - The policy in the list, if present; returns null otherwise. - - - - Sets an individual policy. - - The interface the policy is registered under. - to add the policy to. - The policy to be registered. - The key the policy applies. - - - - Sets a default policy. When checking for a policy, if no specific individual policy - is available, the default will be used. - - The interface to register the policy under. - to add the policy to. - The default policy to be registered. - - - - Base class for the current operation stored in the build context. - - - - - Create a new . - - Type currently being built. - - - - The type that's currently being built. - - - - - Build plan for that will return a Func that will resolve the requested type - through this container later. - - - - - A build plan is an object that, when invoked, will create a new object - or fill in a given existing one. It encapsulates all the information - gathered by the strategies to construct a particular object. - - - - - Creates an instance of this build plan's type, or fills - in the existing type if passed in. - - Context used to build up the object. - - - - Creates an instance of this build plan's type, or fills - in the existing type if passed in. - - Context used to build up the object. - - - - The almost inevitable collection of extra helper methods on - to augment the rich set of what - LINQ already gives us. - - - - - Execute the provided on every item in . - - Type of the items stored in - Sequence of items to process. - Code to run over each item. - - - - Create a single string from a sequence of items, separated by the provided , - and with the conversion to string done by the given . - - This method does basically the same thing as , - but will work on any sequence of items, not just arrays. - Type of items in the sequence. - Sequence of items to convert. - Separator to place between the items in the string. - The conversion function to change TItem -> string. - The resulting string. - - - - Create a single string from a sequence of items, separated by the provided , - and with the conversion to string done by the item's method. - - This method does basically the same thing as , - but will work on any sequence of items, not just arrays. - Type of items in the sequence. - Sequence of items to convert. - Separator to place between the items in the string. - The resulting string. - - - - A class that lets you - override a named parameter passed to a constructor. - - - - - Construct a new object that will - override the given named constructor parameter, and pass the given - value. - - Name of the constructor parameter. - Value to pass for the constructor. - - - - Return a that can be used to give a value - for the given desired dependency. - - Current build context. - Type of dependency desired. - a object if this override applies, null if not. - - - - A convenience form of that lets you - specify multiple parameter overrides in one shot rather than having - to construct multiple objects. - - - - - When implemented in derived classes, this method is called from the - method to create the actual objects. - - Key value to create the resolver. - Value to store in the resolver. - The created . - - - - A that lets you override - the value for a specified property. - - - - - Create an instance of . - - The property name. - Value to use for the property. - - - - Return a that can be used to give a value - for the given desired dependency. - - Current build context. - Type of dependency desired. - a object if this override applies, null if not. - - - - A convenience form of that lets you - specify multiple property overrides in one shot rather than having - to construct multiple objects. - - - - - When implemented in derived classes, this method is called from the - method to create the actual objects. - - Key value to create the resolver. - Value to store in the resolver. - The created . - - - - Interface defining the configuration interface exposed by the - Static Factory extension. - - - - - Base interface for all extension configuration interfaces. - - - - - Retrieve the container instance that we are currently configuring. - - - - - Register the given factory delegate to be called when the container is - asked to resolve . - - Type that will be requested from the container. - Delegate to invoke to create the instance. - The container extension object this method was invoked on. - - - - Register the given factory delegate to be called when the container is - asked to resolve and . - - Type that will be requested from the container. - The name that will be used when requesting to resolve this type. - Delegate to invoke to create the instance. - The container extension object this method was invoked on. - - - - Represents the context in which a build-up or tear-down operation runs. - - - - - Represents the context in which a build-up or tear-down operation runs. - - - - - Add a new set of resolver override objects to the current build operation. - - objects to add. - - - - Get a object for the given - or null if that dependency hasn't been overridden. - - Type of the dependency. - Resolver to use, or null if no override matches for the current operation. - - - - A convenience method to do a new buildup operation on an existing context. - - Key to use to build up. - Created object. - - - - A convenience method to do a new buildup operation on an existing context. This - overload allows you to specify extra policies which will be in effect for the duration - of the build. - - Key defining what to build up. - A delegate that takes a . This - is invoked with the new child context before the build up process starts. This gives callers - the opportunity to customize the context for the build process. - Created object. - - - - Gets the head of the strategy chain. - - - The strategy that's first in the chain; returns null if there are no - strategies in the chain. - - - - - Gets the associated with the build. - - - The associated with the build. - - - - - Gets the original build key for the build operation. - - - The original build key for the build operation. - - - - - Get the current build key for the current build operation. - - - - - The set of policies that were passed into this context. - - This returns the policies passed into the context. - Policies added here will remain after buildup completes. - The persistent policies for the current context. - - - - Gets the policies for the current context. - - Any policies added to this object are transient - and will be erased at the end of the buildup. - - The policies for the current context. - - - - - Gets the collection of objects - that need to execute in event of an exception. - - - - - The current object being built up or torn down. - - - The current object being manipulated by the build operation. May - be null if the object hasn't been created yet. - - - - Flag indicating if the build operation should continue. - - true means that building should not call any more - strategies, false means continue to the next strategy. - - - - An object representing what is currently being done in the - build chain. Used to report back errors if there's a failure. - - - - - The build context used to resolve a dependency during the build operation represented by this context. - - - - - Initialize a new instance of the class. - - - - - Initialize a new instance of the class with a , - , and the - build key used to start this build operation. - - The to use for this context. - The to use for this context. - The to use for this context. - Build key to start building. - The existing object to build up. - - - - Create a new using the explicitly provided - values. - - The to use for this context. - The to use for this context. - The set of persistent policies to use for this context. - The set of transient policies to use for this context. It is - the caller's responsibility to ensure that the transient and persistent policies are properly - combined. - Build key for this context. - Existing object to build up. - - - - Create a new using the explicitly provided - values. - - The to use for this context. - The to use for this context. - The set of persistent policies to use for this context. - The set of transient policies to use for this context. It is - the caller's responsibility to ensure that the transient and persistent policies are properly - combined. - Build key for this context. - The resolver overrides. - - - - Add a new set of resolver override objects to the current build operation. - - objects to add. - - - - Get a object for the given - or null if that dependency hasn't been overridden. - - Type of the dependency. - Resolver to use, or null if no override matches for the current operation. - - - - A convenience method to do a new buildup operation on an existing context. - - Key to use to build up. - Created object. - - - - A convenience method to do a new buildup operation on an existing context. This - overload allows you to specify extra policies which will be in effect for the duration - of the build. - - Key defining what to build up. - A delegate that takes a . This - is invoked with the new child context before the build up process starts. This gives callers - the opportunity to customize the context for the build process. - Created object. - - - - Gets the head of the strategy chain. - - - The strategy that's first in the chain; returns null if there are no - strategies in the chain. - - - - - Get the current build key for the current build operation. - - - - - The current object being built up or torn down. - - - The current object being manipulated by the build operation. May - be null if the object hasn't been created yet. - - - - Gets the associated with the build. - - - The associated with the build. - - - - - Gets the original build key for the build operation. - - - The original build key for the build operation. - - - - - The set of policies that were passed into this context. - - This returns the policies passed into the context. - Policies added here will remain after buildup completes. - The persistent policies for the current context. - - - - Gets the policies for the current context. - - - Any modifications will be transient (meaning, they will be forgotten when - the outer BuildUp for this context is finished executing). - - - The policies for the current context. - - - - - Gets the collection of objects - that need to execute in event of an exception. - - - - - Flag indicating if the build operation should continue. - - true means that building should not call any more - strategies, false means continue to the next strategy. - - - - An object representing what is currently being done in the - build chain. Used to report back errors if there's a failure. - - - - - The build context used to resolve a dependency during the build operation represented by this context. - - - - - Represents that a dependency could not be resolved. - - - - - Initializes a new instance of the class with no extra information. - - - - - Initializes a new instance of the class with the given message. - - Some random message. - - - - Initialize a new instance of the class with the given - message and inner exception. - - Some random message - Inner exception. - - - - Initializes a new instance of the class with the build key of the object begin built. - - The build key of the object begin built. - - - - The exception thrown when injection is attempted on a method - that is an open generic or has out or ref params. - - - - - Construct a new with no - message. - - - - - Construct a with the given message - - Message to return. - - - - Construct a with the given message - and inner exception. - - Message to return. - Inner exception - - - - Extension methods to provide convenience overloads over the - interface. - - - - - Start a recursive build up operation to retrieve the default - value for the given type. - - Type of object to build. - Parent context. - Resulting object. - - - - Start a recursive build up operation to retrieve the named - implementation for the given type. - - Type to resolve. - Parent context. - Name to resolve with. - The resulting object. - - - - Add a set of s to the context, specified as a - variable argument list. - - Context to add overrides to. - The overrides. - - - - Data structure that stores the set of - objects and executes them when requested. - - - - - Add a new object to this - list. - - Object to add. - - - - Execute the method - of everything in the recovery list. Recoveries will execute - in the opposite order of add - it's a stack. - - - - - Return the number of recovery objects currently in the stack. - - - - - Represents a lifetime container. - - - A lifetime container tracks the lifetime of an object, and implements - IDisposable. When the container is disposed, any objects in the - container which implement IDisposable are also disposed. - - - - - Adds an object to the lifetime container. - - The item to be added to the lifetime container. - - - - Determine if a given object is in the lifetime container. - - - The item to locate in the lifetime container. - - - Returns true if the object is contained in the lifetime - container; returns false otherwise. - - - - - Removes an item from the lifetime container. The item is - not disposed. - - The item to be removed. - - - - Gets the number of references in the lifetime container - - - The number of references in the lifetime container - - - - - Represents a lifetime container. - - - A lifetime container tracks the lifetime of an object, and implements - IDisposable. When the container is disposed, any objects in the - container which implement IDisposable are also disposed. - - - - - Adds an object to the lifetime container. - - The item to be added to the lifetime container. - - - - Determine if a given object is in the lifetime container. - - - The item to locate in the lifetime container. - - - Returns true if the object is contained in the lifetime - container; returns false otherwise. - - - - - Releases the resources used by the . - - - - - Releases the resources used by the . - - - true to release managed and unmanaged resources; false to release only unmanaged resources. - - - - - Returns an enumerator that iterates through the lifetime container. - - - An object that can be used to iterate through the life time container. - - - - - Returns an enumerator that iterates through the lifetime container. - - - An object that can be used to iterate through the life time container. - - - - - Removes an item from the lifetime container. The item is - not disposed. - - The item to be removed. - - - - Gets the number of references in the lifetime container - - - The number of references in the lifetime container - - - - - A custom collection over objects. - - - - - Removes an individual policy type for a build key. - - The type of policy to remove. - The key the policy applies. - - - - Removes all policies from the list. - - - - - Removes a default policy. - - The type the policy was registered as. - - - - Gets an individual policy. - - The interface the policy is registered under. - The key the policy applies. - true if the policy searches local only; otherwise false to search up the parent chain. - The policy list in the chain that the searched for policy was found in, null if the policy was - not found. - The policy in the list, if present; returns null otherwise. - - - - Get the non default policy. - - The interface the policy is registered under. - The key the policy applies to. - True if the search should be in the local policy list only; otherwise false to search up the parent chain. - The policy list in the chain that the searched for policy was found in, null if the policy was - not found. - The policy in the list if present; returns null otherwise. - - - - Sets an individual policy. - - The of the policy. - The policy to be registered. - The key the policy applies. - - - - Sets a default policy. When checking for a policy, if no specific individual policy - is available, the default will be used. - - The interface to register the policy under. - The default policy to be registered. - - - - A custom collection wrapper over objects. - - - - - Initialize a new instance of a class. - - - - - Initialize a new instance of a class with another policy list. - - An inner policy list to search. - - - - Removes an individual policy type for a build key. - - The type of policy to remove. - The key the policy applies. - - - - Removes all policies from the list. - - - - - Removes a default policy. - - The type the policy was registered as. - - - - Gets an individual policy. - - The interface the policy is registered under. - The key the policy applies. - true if the policy searches local only; otherwise false to search up the parent chain. - The policy list in the chain that the searched for policy was found in, null if the policy was - not found. - The policy in the list, if present; returns null otherwise. - - - - Get the non default policy. - - The interface the policy is registered under. - The key the policy applies to. - True if the search should be in the local policy list only; otherwise false to search up the parent chain. - The policy list in the chain that the searched for policy was found in, null if the policy was - not found. - The policy in the list if present; returns null otherwise. - - - - Sets an individual policy. - - The of the policy. - The policy to be registered. - The key the policy applies. - - - - Sets a default policy. When checking for a policy, if no specific individual policy - is available, the default will be used. - - The interface to register the policy under. - The default policy to be registered. - - - - Gets the number of items in the locator. - - - The number of items in the locator. - - - - - An implementation of . - - - - - Add a new object to this - list. - - Object to add. - - - - Execute the method - of everything in the recovery list. Recoveries will execute - in the opposite order of add - it's a stack. - - - - - Return the number of recovery objects currently in the stack. - - - - - Implementation of which will notify an object about - the completion of a BuildUp operation, or start of a TearDown operation. - - - This strategy checks the object that is passing through the builder chain to see if it - implements IBuilderAware and if it does, it will call - and . This strategy is meant to be used from the - stage. - - - - - Called during the chain of responsibility for a build operation. The - PreBuildUp method is called when the chain is being executed in the - forward direction. - - Context of the build operation. - - - - Called during the chain of responsibility for a teardown operation. The - PreTearDown method is called when the chain is being executed in the - forward direction. - - Context of the teardown operation. - - - - Implemented on a class when it wants to receive notifications - about the build process. - - - - - Called by the when the object is being built up. - - The key of the object that was just built up. - - - - Called by the when the object is being torn down. - - - - - Enumeration to represent the object builder stages. - - - The order of the values in the enumeration is the order in which the stages are run. - - - - - Strategies in this stage run before creation. Typical work done in this stage might - include strategies that use reflection to set policies into the context that other - strategies would later use. - - - - - Strategies in this stage create objects. Typically you will only have a single policy-driven - creation strategy in this stage. - - - - - Strategies in this stage work on created objects. Typical work done in this stage might - include setter injection and method calls. - - - - - Strategies in this stage work on objects that are already initialized. Typical work done in - this stage might include looking to see if the object implements some notification interface - to discover when its initialization stage has been completed. - - - - - Represents a builder policy for mapping build keys. - - - - - Represents a builder policy for mapping build keys. - - - - - Maps the build key. - - The build key to map. - Current build context. Used for contextual information - if writing a more sophisticated mapping. This parameter can be null - (called when getting container registrations). - The new build key. - - - - Initialize a new instance of the with the new build key. - - The new build key. - - - - Maps the build key. - - The build key to map. - Current build context. Used for contextual information - if writing a more sophisticated mapping, unused in this implementation. - The new build key. - - - - Represents a strategy for mapping build keys in the build up operation. - - - - - Called during the chain of responsibility for a build operation. Looks for the - and if found maps the build key for the current operation. - - The context for the operation. - - - - An implementation of that can map - generic types. - - - - - Create a new instance - that will map generic types. - - Build key to map to. This must be or contain an open generic type. - - - - Maps the build key. - - The build key to map. - Current build context. Used for contextual information - if writing a more sophisticated mapping. - The new build key. - - - - A that will look for a build plan - in the current context. If it exists, it invokes it, otherwise - it creates one and stores it for later, and invokes it. - - - - - Called during the chain of responsibility for a build operation. - - The context for the operation. - - - - An implementation of that chooses - constructors based on these criteria: first, pick a constructor marked with the - attribute. If there - isn't one, then choose the constructor with the longest parameter list. If that is ambiguous, - then throw. - - Thrown when the constructor to choose is ambiguous. - Attribute used to mark the constructor to call. - - - - Base class that provides an implementation of - which lets you override how the parameter resolvers are created. - - - - - A that, when implemented, - will determine which constructor to call from the build plan. - - - - - Choose the constructor to call for the given type. - - Current build context - The to add any - generated resolver objects into. - The chosen constructor. - - - - Choose the constructor to call for the given type. - - Current build context - The to add any - generated resolver objects into. - The chosen constructor. - - - - Create a instance for the given - . - - Parameter to create the resolver for. - The resolver object. - - - - Compares two objects and returns a value indicating whether one is less than, equal to, or greater than the other. - - The second object to compare. - The first object to compare. - - Value Condition Less than zero is less than y. Zero equals y. Greater than zero is greater than y. - - - - - Create a instance for the given - . - - Parameter to create the resolver for. - The resolver object. - - - - Objects of this type are the return value from . - It encapsulates the desired with the string keys - needed to look up the for each - parameter. - - - - - Base class for return values from selector policies that - return a MemberInfo of some sort plus a list of parameter - keys to look up the parameter resolvers. - - - - - Base class for return of selector policies that need - to keep track of a set of parameter resolvers. - - - - - Adds the parameter resolver. Resolvers are assumed - to be in the order of the parameters to the member. - - The new resolver. - - - - Gets the parameter resolvers. - - An array with the parameter resolvers. - - - - Construct a new , storing - the given member info. - - Member info to store. - - - - The member info stored. - - - - - Create a new instance which - contains the given constructor. - - The constructor to wrap. - - - - The constructor this object wraps. - - - - - This class records the information about which constructor argument is currently - being resolved, and is responsible for generating the error string required when - an error has occurred. - - - - - Initializes a new instance of the class. - - The type that is being constructed. - A string representing the constructor being called. - Parameter being resolved. - - - - Generate the string describing what parameter was being resolved. - - The description string. - - - - String describing the constructor being set up. - - - - - Parameter that's being resolved. - - - - - A that emits IL to call constructors - as part of creating a build plan. - - - - - Called during the chain of responsibility for a build operation. - - Existing object is an instance of . - The context for the operation. - - - - A helper method used by the generated IL to set up a PerResolveLifetimeManager lifetime manager - if the current object is such. - - Current build context. - - - - Build up the string that will represent the constructor signature - in any exception message. - - - - - - - A helper method used by the generated IL to store the current operation in the build context. - - - - - A helper method used by the generated IL to store the current operation in the build context. - - - - - A helper method used by the generated IL to throw an exception if - no existing object is present, but the user is attempting to build - an interface (usually due to the lack of a type mapping). - - The currently being - used for the build of this object. - - - - A helper method used by the generated IL to throw an exception if - no existing object is present, but the user is attempting to build - an abstract class (usually due to the lack of a type mapping). - - The currently being - used for the build of this object. - - - - A helper method used by the generated IL to throw an exception if - no existing object is present, but the user is attempting to build - an delegate other than Func{T} or Func{IEnumerable{T}}. - - The currently being - used for the build of this object. - - - - A helper method used by the generated IL to throw an exception if - a dependency cannot be resolved. - - The currently being - used for the build of this object. - - - - A helper method used by the generated IL to throw an exception if - a dependency cannot be resolved because of an invalid constructor. - - The currently being - used for the build of this object. - The signature of the invalid constructor. - - - - A class that records that a constructor is about to be call, and is - responsible for generating the error string required when - an error has occurred. - - - - - Initializes a new instance of the class. - - - - - Generate the description string. - - The string. - - - - Constructor we're trying to call. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Helper method used by generated IL to look up a dependency resolver based on the given key. - - Current build context. - Type of the dependency being resolved. - Key the resolver was stored under. - The found dependency resolver. - - - - Helper method used by generated IL to look up a dependency resolver based on the given key. - - Current build context. - Type of the dependency being resolved. - The configured resolver. - The found dependency resolver. - - - - The type that is to be built with the dynamic build plan. - - - - - The context parameter representing the used when the build plan is executed. - - - - - - - - - - - - - - - - - - - - - - - - - - - - An implementation - that constructs a build plan via dynamic IL emission. - - - - - Construct a that - uses the given strategy chain to construct the build plan. - - The strategy chain. - - - - Construct a build plan. - - The current build context. - The current build key. - The created build plan. - - - - A class that records that a constructor is about to be call, and is - responsible for generating the error string required when - an error has occurred. - - - - - Initializes a new instance of the class. - - - - - Generate the description string. - - The string. - - - - Method we're trying to call. - - - - - This class records the information about which constructor argument is currently - being resolved, and is responsible for generating the error string required when - an error has occurred. - - - - - Initializes a new instance of the class. - - The type that is being constructed. - A string representing the method being called. - Parameter being resolved. - - - - Generate the string describing what parameter was being resolved. - - The description string. - - - - String describing the method being set up. - - - - - Parameter that's being resolved. - - - - - A that generates IL to call - chosen methods (as specified by the current ) - as part of object build up. - - - - - Called during the chain of responsibility for a build operation. The - PreBuildUp method is called when the chain is being executed in the - forward direction. - - Context of the build operation. - - - - A helper method used by the generated IL to store the current operation in the build context. - - - - - A helper method used by the generated IL to store the current operation in the build context. - - - - - A base class that holds the information shared by all operations - performed by the container while setting properties. - - - - - Initializes a new instance of the class. - - - - - Generate the description of this operation. - - The string. - - - - Get a format string used to create the description. Called by - the base method. - - The format string. - - - - The property value currently being resolved. - - - - - This class records the information about which property value is currently - being resolved, and is responsible for generating the error string required when - an error has occurred. - - - - - Initializes a new instance of the class. - - - - - Get a format string used to create the description. Called by - the base method. - - The format string. - - - - A that generates IL to resolve properties - on an object being built. - - - - - Called during the chain of responsibility for a build operation. - - The context for the operation. - - - - A helper method used by the generated IL to store the current operation in the build context. - - - - - A helper method used by the generated IL to store the current operation in the build context. - - - - - This class records the information about which property value is currently - being set, and is responsible for generating the error string required when - an error has occurred. - - - - - Initializes a new instance of the class. - - Type property is on. - Name of property being set. - - - - Get a format string used to create the description. Called by - the base method. - - The format string. - - - - Creates an instance of this build plan's type, or fills - in the existing type if passed in. - - Context used to build up the object. - - - - An that will examine the given - types and return a sequence of objects - that should be called as part of building the object. - - - - - Return the sequence of methods to call while building the target object. - - Current build context. - The to add any - generated resolver objects into. - Sequence of methods to call. - - - - An implementation of that selects - methods by looking for the given - attribute on those methods. - - Type of attribute used to mark methods - to inject. - - - - Base class that provides an implementation of - which lets you override how the parameter resolvers are created. - - Attribute that marks methods that should - be called. - - - - Return the sequence of methods to call while building the target object. - - Current build context. - The to add any - generated resolver objects into. - Sequence of methods to call. - - - - Create a instance for the given - . - - Parameter to create the resolver for. - The resolver object. - - - - Create a instance for the given - . - - Parameter to create the resolver for. - The resolver object. - - - - Objects of this type are the return value from . - It encapsulates the desired with the string keys - needed to look up the for each - parameter. - - - - - Create a new instance which - contains the given method. - - The method - - - - The constructor this object wraps. - - - - - An that returns a sequence - of properties that should be injected for the given type. - - - - - Returns sequence of properties on the given type that - should be set as part of building that object. - - Current build context. - The to add any - generated resolver objects into. - Sequence of objects - that contain the properties to set. - - - - Base class that provides an implementation of - which lets you override how the parameter resolvers are created. - - - - - Returns sequence of properties on the given type that - should be set as part of building that object. - - Current build context. - The to add any - generated resolver objects into. - Sequence of objects - that contain the properties to set. - - - - Create a for the given - property. - - Property to create resolver for. - The resolver object. - - - - An implementation of that looks - for properties marked with the - attribute that are also settable and not indexers. - - - - - - Create a for the given - property. - - Property to create resolver for. - The resolver object. - - - - Objects of this type are returned from - . - This class combines the about - the property with the string key used to look up the resolver - for this property's value. - - - - - Create an instance of - with the given and key. - - The property. - - - - - PropertyInfo for this property. - - - - - IDependencyResolverPolicy for this property - - - - - Implementation of . - - - - - A builder policy that lets you keep track of the current - resolvers and will remove them from the given policy set. - - - - - Add a new resolver to track by key. - - Key that was used to add the resolver to the policy set. - - - - Remove the currently tracked resolvers from the given policy list. - - Policy list to remove the resolvers from. - - - - Add a new resolver to track by key. - - Key that was used to add the resolver to the policy set. - - - - Remove the currently tracked resolvers from the given policy list. - - Policy list to remove the resolvers from. - - - - Get an instance that implements , - either the current one in the policy set or creating a new one if it doesn't - exist. - - Policy list to look up from. - Build key to track. - The resolver tracker. - - - - Add a key to be tracked to the current tracker. - - Policy list containing the resolvers and trackers. - Build key for the resolvers being tracked. - Key for the resolver. - - - - Remove the resolvers for the given build key. - - Policy list containing the build key. - Build key. - - - - An implementation of that - calls back into the build chain to build up the dependency, passing - a type given at compile time as its build key. - - - - - Create a new instance storing the given type. - - Type to resolve. - - - - Get the value for a dependency. - - Current build context. - The value for the dependency. - - - - This interface defines a standard method to convert any regardless - of the stage enum into a regular, flat strategy chain. - - - - - Convert this into - a flat . - - The flattened . - - - - Represents a chain of responsibility for builder strategies. - - - - - Reverse the order of the strategy chain. - - The reversed strategy chain. - - - - Execute this strategy chain against the given context, - calling the Buildup methods on the strategies. - - Context for the build process. - The build up object - - - - Execute this strategy chain against the given context, - calling the TearDown methods on the strategies. - - Context for the teardown process. - - - - A builder policy used to create lifetime policy instances. - Used by the LifetimeStrategy when instantiating open - generic types. - - - - - Create a new instance of . - - The new instance. - - - - The type of Lifetime manager that will be created by this factory. - - - - - An implementation that uses - a to figure out if an object - has already been created and to update or remove that - object from some backing store. - - - - - Called during the chain of responsibility for a build operation. The - PreBuildUp method is called when the chain is being executed in the - forward direction. - - Context of the build operation. - - - - Called during the chain of responsibility for a build operation. The - PostBuildUp method is called when the chain has finished the PreBuildUp - phase and executes in reverse order from the PreBuildUp calls. - - Context of the build operation. - - - - Represents a chain of responsibility for builder strategies partitioned by stages. - - The stage enumeration to partition the strategies. - - - - Initialize a new instance of the class. - - - - - Initialize a new instance of the class with an inner strategy chain to use when building. - - The inner strategy chain to use first when finding strategies in the build operation. - - - - Adds a strategy to the chain at a particular stage. - - The strategy to add to the chain. - The stage to add the strategy. - - - - Add a new strategy for the . - - The of - The stage to add the strategy. - - - - Clear the current strategy chain list. - - - This will not clear the inner strategy chain if this instance was created with one. - - - - - Makes a strategy chain based on this instance. - - A new . - - - - Represents a chain of responsibility for builder strategies. - - - - - Initialize a new instance of the class. - - - - - Initialize a new instance of the class with a collection of strategies. - - A collection of strategies to initialize the chain. - - - - Adds a strategy to the chain. - - The strategy to add to the chain. - - - - Adds strategies to the chain. - - The strategies to add to the chain. - - - - Reverse the order of the strategy chain. - - The reversed strategy chain. - - - - Execute this strategy chain against the given context to build up. - - Context for the build processes. - The build up object - - - - Execute this strategy chain against the given context, - calling the TearDown methods on the strategies. - - Context for the teardown process. - - - - Returns an enumerator that iterates through the collection. - - - - A that can be used to iterate through the collection. - - - - - Returns an enumerator that iterates through a collection. - - - - An object that can be used to iterate through the collection. - - - - - Build key used to combine a type object with a string name. Used by - ObjectBuilder to indicate exactly what is being built. - - - - - Create a new instance with the given - type and name. - - to build. - Key to use to look up type mappings and singletons. - - - - Create a new instance for the default - buildup of the given type. - - to build. - - - - This helper method creates a new instance. It is - initialized for the default key for the given type. - - Type to build. - A new instance. - - - - This helper method creates a new instance for - the given type and key. - - Type to build - Key to use to look up type mappings and singletons. - A new instance initialized with the given type and name. - - - - Compare two instances. - - Two instances compare equal - if they contain the same name and the same type. Also, comparing - against a different type will also return false. - Object to compare to. - True if the two keys are equal, false if not. - - - - Calculate a hash code for this instance. - - A hash code. - - - - Compare two instances for equality. - - Two instances compare equal - if they contain the same name and the same type. - First of the two keys to compare. - Second of the two keys to compare. - True if the values of the keys are the same, else false. - - - - Compare two instances for inequality. - - Two instances compare equal - if they contain the same name and the same type. If either field differs - the keys are not equal. - First of the two keys to compare. - Second of the two keys to compare. - false if the values of the keys are the same, else true. - - - - Formats the build key as a string (primarily for debugging). - - A readable string representation of the build key. - - - - Return the stored in this build key. - - The type to build. - - - - Returns the name stored in this build key. - - The name to use when building. - - - - A generic version of so that - you can new up a key using generic syntax. - - Type for the key. - - - - Construct a new that - specifies the given type. - - - - - Construct a new that - specifies the given type and name. - - Name for the key. - - - - A series of helper methods to deal with sequences - - objects that implement . - - - - - A function that turns an arbitrary parameter list into an - . - - Type of arguments. - The items to put into the collection. - An array that contains the values of the . - - - - Given two sequences, return a new sequence containing the corresponding values - from each one. - - Type of first sequence. - Type of second sequence. - First sequence of items. - Second sequence of items. - New sequence of pairs. This sequence ends when the shorter of sequence1 and sequence2 does. - - - - A that lets you register a - delegate with the container to create an object, rather than calling - the object's constructor. - - - - - Base class for all extension objects. - - - - - The container calls this method when the extension is added. - - A instance that gives the - extension access to the internals of the container. - - - - Initial the container with this extension's functionality. - - - When overridden in a derived class, this method will modify the given - by adding strategies, policies, etc. to - install it's functions into the container. - - - - Removes the extension's functions from the container. - - - - This method is called when extensions are being removed from the container. It can be - used to do things like disconnect event handlers or clean up member state. You do not - need to remove strategies or policies here; the container will do that automatically. - - - The default implementation of this method does nothing. - - - - - The container this extension has been added to. - - The that this extension has been added to. - - - - The object used to manipulate - the inner state of the container. - - - - - Initialize this extension. This particular extension requires no - initialization work. - - - - - Register the given factory delegate to be called when the container is - asked to resolve and . - - Type that will be requested from the container. - The name that will be used when requesting to resolve this type. - Delegate to invoke to create the instance. - The container extension object this method was invoked on. - - - - Register the given factory delegate to be called when the container is - asked to resolve . - - Type that will be requested from the container. - Delegate to invoke to create the instance. - The container extension object this method was invoked on. - - - - An implementation of that - acts as a decorator over another . - This checks to see if the current type being built is the - right one before checking the inner . - - - - - Create an instance of - - Type to check for. - Inner override to check after type matches. - - - - Return a that can be used to give a value - for the given desired dependency. - - Current build context. - Type of dependency desired. - a object if this override applies, null if not. - - - - A convenience version of that lets you - specify the type to construct via generics syntax. - - Type to check for. - - - - Create an instance of . - - Inner override to check after type matches. - - - - Extension class that adds a set of convenience overloads to the - interface. - - - - - Register a type with specific members to be injected. - - Type this registration is for. - Container to configure. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a type mapping with the container. - - - - This method is used to tell the container that when asked for type , - actually return an instance of type . This is very useful for - getting instances of interfaces. - - - This overload registers a default mapping and transient lifetime. - - - that will be requested. - that will actually be returned. - Container to configure. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a type mapping with the container, where the created instances will use - the given . - - that will be requested. - that will actually be returned. - Container to configure. - The that controls the lifetime - of the returned instance. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a type mapping with the container. - - - This method is used to tell the container that when asked for type , - actually return an instance of type . This is very useful for - getting instances of interfaces. - - that will be requested. - that will actually be returned. - Container to configure. - Name of this mapping. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a type mapping with the container, where the created instances will use - the given . - - that will be requested. - that will actually be returned. - Container to configure. - Name to use for registration, null if a default registration. - The that controls the lifetime - of the returned instance. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a for the given type with the container. - No type mapping is performed for this type. - - The type to apply the to. - Container to configure. - The that controls the lifetime - of the returned instance. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a for the given type with the container. - No type mapping is performed for this type. - - The type to configure injection on. - Container to configure. - Name that will be used to request the type. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a for the given type and name with the container. - No type mapping is performed for this type. - - The type to apply the to. - Container to configure. - Name that will be used to request the type. - The that controls the lifetime - of the returned instance. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a type with specific members to be injected. - - Container to configure. - Type this registration is for. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a type mapping with the container. - - - - This method is used to tell the container that when asked for type , - actually return an instance of type . This is very useful for - getting instances of interfaces. - - - This overload registers a default mapping. - - - Container to configure. - that will be requested. - that will actually be returned. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a type mapping with the container. - - - This method is used to tell the container that when asked for type , - actually return an instance of type . This is very useful for - getting instances of interfaces. - - Container to configure. - that will be requested. - that will actually be returned. - Name to use for registration, null if a default registration. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a type mapping with the container, where the created instances will use - the given . - - Container to configure. - that will be requested. - that will actually be returned. - The that controls the lifetime - of the returned instance. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a for the given type and name with the container. - No type mapping is performed for this type. - - Container to configure. - The to apply the to. - The that controls the lifetime - of the returned instance. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a for the given type and name with the container. - No type mapping is performed for this type. - - Container to configure. - The to configure in the container. - Name to use for registration, null if a default registration. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register a for the given type and name with the container. - No type mapping is performed for this type. - - Container to configure. - The to apply the to. - Name to use for registration, null if a default registration. - The that controls the lifetime - of the returned instance. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register an instance with the container. - - - - Instance registration is much like setting a type as a singleton, except that instead - of the container creating the instance the first time it is requested, the user - creates the instance ahead of type and adds that instance to the container. - - - This overload does a default registration and has the container take over the lifetime of the instance. - - Type of instance to register (may be an implemented interface instead of the full type). - Container to configure. - Object to returned. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register an instance with the container. - - - - Instance registration is much like setting a type as a singleton, except that instead - of the container creating the instance the first time it is requested, the user - creates the instance ahead of type and adds that instance to the container. - - - This overload does a default registration (name = null). - - - Type of instance to register (may be an implemented interface instead of the full type). - Container to configure. - Object to returned. - - object that controls how this instance will be managed by the container. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register an instance with the container. - - - - Instance registration is much like setting a type as a singleton, except that instead - of the container creating the instance the first time it is requested, the user - creates the instance ahead of type and adds that instance to the container. - - - This overload automatically has the container take ownership of the . - - Type of instance to register (may be an implemented interface instead of the full type). - Object to returned. - Container to configure. - Name for registration. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register an instance with the container. - - - - Instance registration is much like setting a type as a singleton, except that instead - of the container creating the instance the first time it is requested, the user - creates the instance ahead of type and adds that instance to the container. - - - Type of instance to register (may be an implemented interface instead of the full type). - Object to returned. - Container to configure. - Name for registration. - - object that controls how this instance will be managed by the container. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register an instance with the container. - - - - Instance registration is much like setting a type as a singleton, except that instead - of the container creating the instance the first time it is requested, the user - creates the instance ahead of type and adds that instance to the container. - - - This overload does a default registration and has the container take over the lifetime of the instance. - - Container to configure. - Type of instance to register (may be an implemented interface instead of the full type). - Object to returned. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register an instance with the container. - - - - Instance registration is much like setting a type as a singleton, except that instead - of the container creating the instance the first time it is requested, the user - creates the instance ahead of type and adds that instance to the container. - - - This overload does a default registration (name = null). - - - Container to configure. - Type of instance to register (may be an implemented interface instead of the full type). - Object to returned. - - object that controls how this instance will be managed by the container. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register an instance with the container. - - - - Instance registration is much like setting a type as a singleton, except that instead - of the container creating the instance the first time it is requested, the user - creates the instance ahead of type and adds that instance to the container. - - - This overload automatically has the container take ownership of the . - - Container to configure. - Type of instance to register (may be an implemented interface instead of the full type). - Object to returned. - Name for registration. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Resolve an instance of the default requested type from the container. - - of object to get from the container. - Container to resolve from. - Any overrides for the resolve call. - The retrieved object. - - - - Resolve an instance of the requested type with the given name from the container. - - of object to get from the container. - Container to resolve from. - Name of the object to retrieve. - Any overrides for the resolve call. - The retrieved object. - - - - Resolve an instance of the default requested type from the container. - - Container to resolve from. - of object to get from the container. - Any overrides for the resolve call. - The retrieved object. - - - - Return instances of all registered types requested. - - - - This method is useful if you've registered multiple types with the same - but different names. - - - Be aware that this method does NOT return an instance for the default (unnamed) registration. - - - The type requested. - Container to resolve from. - Any overrides for the resolve calls. - Set of objects of type . - - - - Run an existing object through the container and perform injection on it. - - - - This method is useful when you don't control the construction of an - instance (ASP.NET pages or objects created via XAML, for instance) - but you still want properties and other injection performed. - - - This overload uses the default registrations. - - - of object to perform injection on. - Container to resolve through. - Instance to build up. - Any overrides for the buildup. - The resulting object. By default, this will be , but - container extensions may add things like automatic proxy creation which would - cause this to return a different object (but still type compatible with ). - - - - Run an existing object through the container and perform injection on it. - - - - This method is useful when you don't control the construction of an - instance (ASP.NET pages or objects created via XAML, for instance) - but you still want properties and other injection performed. - - of object to perform injection on. - Container to resolve through. - Instance to build up. - name to use when looking up the typemappings and other configurations. - Any overrides for the Buildup. - The resulting object. By default, this will be , but - container extensions may add things like automatic proxy creation which would - cause this to return a different object (but still type compatible with ). - - - - Run an existing object through the container and perform injection on it. - - - - This method is useful when you don't control the construction of an - instance (ASP.NET pages or objects created via XAML, for instance) - but you still want properties and other injection performed. - - - This overload uses the default registrations. - - - Container to resolve through. - of object to perform injection on. - Instance to build up. - Any overrides for the Buildup. - The resulting object. By default, this will be , but - container extensions may add things like automatic proxy creation which would - cause this to return a different object (but still type compatible with ). - - - - Creates a new extension object and adds it to the container. - - Type of to add. The extension type - will be resolved from within the supplied . - Container to add the extension to. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Resolve access to a configuration interface exposed by an extension. - - Extensions can expose configuration interfaces as well as adding - strategies and policies to the container. This method walks the list of - added extensions and returns the first one that implements the requested type. - - The configuration interface required. - Container to configure. - The requested extension's configuration interface, or null if not found. - - - - Check if a particular type has been registered with the container with - the default name. - - Container to inspect. - Type to check registration for. - True if this type has been registered, false if not. - - - - Check if a particular type/name pair has been registered with the container. - - Container to inspect. - Type to check registration for. - Name to check registration for. - True if this type/name pair has been registered, false if not. - - - - Check if a particular type has been registered with the container with the default name. - - Type to check registration for. - Container to inspect. - True if this type has been registered, false if not. - - - - Check if a particular type/name pair has been registered with the container. - - Type to check registration for. - Container to inspect. - Name to check registration for. - True if this type/name pair has been registered, false if not. - - - - The class provides the means for extension objects - to manipulate the internal state of the . - - - - - Store a type/name pair for later resolution. - - - - When users register type mappings (or other things) with a named key, this method - allows you to register that name with the container so that when the - method is called, that name is included in the list that is returned. - - to register. - Name associated with that type. - - - - The container that this context is associated with. - - The object. - - - - The strategies this container uses. - - The that the container uses to build objects. - - - - The strategies this container uses to construct build plans. - - The that this container uses when creating - build plans. - - - - The policies this container uses. - - The the that container uses to build objects. - - - - The that this container uses. - - The is used to manage objects that the container is managing. - - - - This event is raised when the method, - or one of its overloads, is called. - - - - - This event is raised when the method, - or one of its overloads, is called. - - - - - This event is raised when the method is called, providing - the newly created child container to extensions to act on as they see fit. - - - - - An EventArgs class that holds a string Name. - - - - - Create a new with a null name. - - - - - Create a new with the given name. - - Name to store. - - - - The name. - - Name used for this EventArg object. - - - - Event argument class for the event. - - - - - Create a new instance of . - - Type to map from. - Type to map to. - Name for the registration. - to manage instances. - - - - Type to map from. - - - - - Type to map to. - - - - - to manage instances. - - - - - Event argument class for the event. - - - - - Create a default instance. - - - - - Create a instance initialized with the given arguments. - - Type of instance being registered. - The instance object itself. - Name to register under, null if default registration. - object that handles how - the instance will be owned. - - - - Type of instance being registered. - - - Type of instance being registered. - - - - - Instance object being registered. - - Instance object being registered - - - - that controls ownership of - this instance. - - - - - A that lets you specify that - an instance of a generic type parameter should be resolved. - - - - - Create a new instance that specifies - that the given named generic parameter should be resolved. - - The generic parameter name to resolve. - - - - Create a new instance that specifies - that the given named generic parameter should be resolved. - - The generic parameter name to resolve. - name to use when looking up in the container. - - - - Return a instance that will - return this types value for the parameter. - - The actual type to resolve. - The resolution key. - The . - - - - A that lets you specify that - an array containing the registered instances of a generic type parameter - should be resolved. - - - - - Create a new instance that specifies - that the given named generic parameter should be resolved. - - The generic parameter name to resolve. - The values for the elements, that will - be converted to objects. - - - - Test to see if this parameter value has a matching type for the given type. - - Type to check. - True if this parameter value is compatible with type , - false if not. - A type is considered compatible if it is an array type of rank one - and its element type is a generic type parameter with a name matching this generic - parameter name configured for the receiver. - - - - Return a instance that will - return this types value for the parameter. - - Type that contains the member that needs this parameter. Used - to resolve open generic parameters. - The . - - - - Name for the type represented by this . - This may be an actual type name or a generic argument name. - - - - - A Unity container extension that allows you to configure - which constructors, properties, and methods get injected - via an API rather than through attributes. - - - - - Initial the container with this extension's functionality. - - - When overridden in a derived class, this method will modify the given - by adding strategies, policies, etc. to - install it's functions into the container. - - - - API to configure the injection settings for a particular type. - - Type the injection is being configured for. - Objects containing the details on which members to inject and how. - This extension object. - - - - API to configure the injection settings for a particular type/name pair. - - Type the injection is being configured for. - Name of registration - Objects containing the details on which members to inject and how. - This extension object. - - - - API to configure the injection settings for a particular type. - - Type to configure. - Objects containing the details on which members to inject and how. - This extension object. - - - - API to configure the injection settings for a particular type/name pair. - - Type to configure. - Name of registration. - Objects containing the details on which members to inject and how. - This extension object. - - - - API to configure the injection settings for a particular type/name pair. - - Type of interface/base class being registered (may be null). - Type of actual implementation class being registered. - Name of registration. - Objects containing the details on which members to inject and how. - This extension object. - - - - A class that holds the collection of information - for a constructor, so that the container can - be configured to call this constructor. - - - - - Create a new instance of that looks - for a constructor with the given set of parameters. - - The values for the parameters, that will - be converted to objects. - - - - Add policies to the to configure the - container to call this constructor with the appropriate parameter values. - - Interface registered, ignored in this implementation. - Type to register. - Name used to resolve the type object. - Policy list to add policies to. - - - - An that configures the - container to call a method as part of buildup. - - - - - Create a new instance which will configure - the container to call the given methods with the given parameters. - - Name of the method to call. - Parameter values for the method. - - - - Add policies to the to configure the - container to call this constructor with the appropriate parameter values. - - Type of interface registered, ignored in this implementation. - Type to register. - Name used to resolve the type object. - Policy list to add policies to. - - - - A small function to handle name matching. You can override this - to do things like case insensitive comparisons. - - MethodInfo for the method you're checking. - Name of the method you're looking for. - True if a match, false if not. - - - - A class that holds on to the given value and provides - the required - when the container is configured. - - - - - Create an instance of that stores - the given value, using the runtime type of that value as the - type of the parameter. - - Value to be injected for this parameter. - - - - Create an instance of that stores - the given value, associated with the given type. - - Type of the parameter. - Value of the parameter - - - - Return a instance that will - return this types value for the parameter. - - Type that contains the member that needs this parameter. Used - to resolve open generic parameters. - The . - - - - A generic version of that makes it a - little easier to specify the type of the parameter. - - Type of parameter. - - - - Create a new . - - Value for the parameter. - - - - This class stores information about which properties to inject, - and will configure the container accordingly. - - - - - Configure the container to inject the given property name, - resolving the value via the container. - - Name of the property to inject. - - - - Configure the container to inject the given property name, - using the value supplied. This value is converted to an - object using the - rules defined by the - method. - - Name of property to inject. - Value for property. - - - - Add policies to the to configure the - container to call this constructor with the appropriate parameter values. - - Interface being registered, ignored in this implementation. - Type to register. - Name used to resolve the type object. - Policy list to add policies to. - - - - A class that stores a type, and generates a - resolver object that resolves all the named instances or the - type registered in a container. - - - - - Construct a new that - resolves to the given element type and collection of element values. - - The type of elements to resolve. - The values for the elements, that will - be converted to objects. - - - - Construct a new that - resolves to the given array and element types and collection of element values. - - The type for the array of elements to resolve. - The type of elements to resolve. - The values for the elements, that will - be converted to objects. - - - - Return a instance that will - return this types value for the parameter. - - Type that contains the member that needs this parameter. Used - to resolve open generic parameters. - The . - - - - A generic version of for convenience - when creating them by hand. - - Type of the elements for the array of the parameter. - - - - Construct a new that - resolves to the given element generic type with the given element values. - - The values for the elements, that will - be converted to objects. - - - - Interface defining the behavior of the Unity dependency injection container. - - - - - Register a type mapping with the container, where the created instances will use - the given . - - that will be requested. - that will actually be returned. - Name to use for registration, null if a default registration. - The that controls the lifetime - of the returned instance. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Register an instance with the container. - - - - Instance registration is much like setting a type as a singleton, except that instead - of the container creating the instance the first time it is requested, the user - creates the instance ahead of type and adds that instance to the container. - - - Type of instance to register (may be an implemented interface instead of the full type). - Object to returned. - Name for registration. - - object that controls how this instance will be managed by the container. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Resolve an instance of the requested type with the given name from the container. - - of object to get from the container. - Name of the object to retrieve. - Any overrides for the resolve call. - The retrieved object. - - - - Return instances of all registered types requested. - - - - This method is useful if you've registered multiple types with the same - but different names. - - - Be aware that this method does NOT return an instance for the default (unnamed) registration. - - - The type requested. - Any overrides for the resolve calls. - Set of objects of type . - - - - Run an existing object through the container and perform injection on it. - - - - This method is useful when you don't control the construction of an - instance (ASP.NET pages or objects created via XAML, for instance) - but you still want properties and other injection performed. - - of object to perform injection on. - Instance to build up. - name to use when looking up the TypeMappings and other configurations. - Any overrides for the resolve calls. - The resulting object. By default, this will be , but - container extensions may add things like automatic proxy creation which would - cause this to return a different object (but still type compatible with ). - - - - Run an existing object through the container, and clean it up. - - The object to tear down. - - - - Add an extension object to the container. - - to add. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Resolve access to a configuration interface exposed by an extension. - - Extensions can expose configuration interfaces as well as adding - strategies and policies to the container. This method walks the list of - added extensions and returns the first one that implements the requested type. - - of configuration interface required. - The requested extension's configuration interface, or null if not found. - - - - Remove all installed extensions from this container. - - - - This method removes all extensions from the container, including the default ones - that implement the out-of-the-box behavior. After this method, if you want to use - the container again you will need to either read the default extensions or replace - them with your own. - - - The registered instances and singletons that have already been set up in this container - do not get removed. - - - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Create a child container. - - - A child container shares the parent's configuration, but can be configured with different - settings or lifetime. - The new child container. - - - - The parent of this container. - - The parent container, or null if this container doesn't have one. - - - - Get a sequence of that describe the current state - of the container. - - - - - A that holds a weak reference to - it's managed instance. - - - - - Retrieve a value from the backing store associated with this Lifetime policy. - - the object desired, or null if no such object is currently stored. - - - - Stores the given value into backing store for retrieval later. - - The object being stored. - - - - Remove the given object from backing store. - - - - - An implementation of that - creates instances of the type of the given Lifetime Manager - by resolving them through the container. - - - - - Create a new that will - return instances of the given type, creating them by - resolving through the container. - - Container to resolve with. - Type of LifetimeManager to create. - - - - Create a new instance of . - - The new instance. - - - - The type of Lifetime manager that will be created by this factory. - - - - - A that holds the instances given to it, - keeping one instance per thread. - - - - This LifetimeManager does not dispose the instances it holds. - - - - - - Initializes a new instance of the class. - - - - - Retrieve a value from the backing store associated with this Lifetime policy for the - current thread. - - the object desired, or if no such object is currently - stored for the current thread. - - - - Stores the given value into backing store for retrieval later when requested - in the current thread. - - The object being stored. - - - - Remove the given object from backing store. - - Not implemented for this lifetime manager. - - - - An implementation that does nothing, - thus ensuring that instances are created new every time. - - - - - Retrieve a value from the backing store associated with this Lifetime policy. - - the object desired, or null if no such object is currently stored. - - - - Stores the given value into backing store for retrieval later. - - The object being stored. - - - - Remove the given object from backing store. - - - - - This strategy implements the logic that will call container.ResolveAll - when an array parameter is detected. - - - - - Do the PreBuildUp stage of construction. This is where the actual work is performed. - - Current build context. - - - - An implementation of that is - aware of the build keys used by the Unity container. - - - - - Create a instance for the given - . - - - This implementation looks for the Unity on the - parameter and uses it to create an instance of - for this parameter. - Parameter to create the resolver for. - The resolver object. - - - - An implementation of that is aware - of the build keys used by the Unity container. - - - - - Create a instance for the given - . - - Parameter to create the resolver for. - The resolver object. - - - - An implementation of that is aware of - the build keys used by the unity container. - - - - - Create a for the given - property. - - Property to create resolver for. - The resolver object. - - - - A implementation that returns - the value set in the constructor. - - - - - Create a new instance of - which will return the given value when resolved. - - The value to return. - - - - Get the value for a dependency. - - Current build context. - The value for the dependency. - - - - An implementation of that stores a - type and name, and at resolution time puts them together into a - . - - - - - Create an instance of - with the given type and name. - - The type. - The name (may be null). - - - - Resolve the value for a dependency. - - Current build context. - The value for the dependency. - - - - The type that this resolver resolves. - - - - - The name that this resolver resolves. - - - - - An implementation of that resolves to - to an array populated with the values that result from resolving other instances - of . - - - - - Create an instance of - with the given type and a collection of - instances to use when populating the result. - - The type. - The resolver policies to use when populating an array. - - - - Resolve the value for a dependency. - - Current build context. - An array populated with the results of resolving the resolver policies. - - - - An implementation of that selects - the given constructor and creates the appropriate resolvers to call it with - the specified parameters. - - - - - Create an instance of that - will return the given constructor, being passed the given injection values - as parameters. - - The constructor to call. - Set of objects - that describes how to obtain the values for the constructor parameters. - - - - Choose the constructor to call for the given type. - - Current build context - The to add any - generated resolver objects into. - The chosen constructor. - - - - Helper class for implementing selector policies that need to - set up dependency resolver policies. - - - - - Add dependency resolvers to the parameter set. - - Type that's currently being built (used to resolve open generics). - PolicyList to add the resolvers to. - Objects supplying the dependency resolvers. - Result object to store the keys in. - - - - A implementation that calls the specific - methods with the given parameters. - - - - - Add the given method and parameter collection to the list of methods - that will be returned when the selector's - method is called. - - Method to call. - sequence of objects - that describe how to create the method parameter values. - - - - Return the sequence of methods to call while building the target object. - - Current build context. - The to add any - generated resolver objects into. - Sequence of methods to call. - - - - An implementation of which returns - the set of specific properties that the selector was configured with. - - - - - Add a property that will be par of the set returned when the - is called. - - The property to set. - object describing - how to create the value to inject. - - - - Returns sequence of properties on the given type that - should be set as part of building that object. - - Current build context. - The to add any - generated resolver objects into. - Sequence of objects - that contain the properties to set. - - - - The exception thrown by the Unity container when - an attempt to resolve a dependency fails. - - - - - Create a new that records - the exception for the given type and name. - - Type requested from the container. - Name requested from the container. - The actual exception that caused the failure of the build. - The build context representing the failed operation. - - - - The type that was being requested from the container at the time of failure. - - - - - The name that was being requested from the container at the time of failure. - - - - - A class that stores a name and type, and generates a - resolver object that resolves the parameter via the - container. - - - - - Construct a new that - resolves to the given type. - - Type of this parameter. - - - - Construct a new that - resolves the given type and name. - - Type of this parameter. - Name to use when resolving parameter. - - - - Return a instance that will - return this types value for the parameter. - - Type that contains the member that needs this parameter. Used - to resolve open generic parameters. - The . - - - - A generic version of for convenience - when creating them by hand. - - Type of the parameter - - - - Create a new for the given - generic type and the default name. - - - - - Create a new for the given - generic type and name. - - Name to use to resolve this parameter. - - - - An implementation of that wraps a Unity container. - - - - - Initializes a new instance of the class for a container. - - The to wrap with the - interface implementation. - - - - Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. - - 2 - - - - When implemented by inheriting classes, this method will do the actual work of resolving - the requested service instance. - - Type of instance requested.Name of registered service you want. May be null. - - The requested service instance. - - - - - When implemented by inheriting classes, this method will do the actual work of - resolving all the requested service instances. - - Type of service requested. - - Sequence of service instance objects. - - - - - A static helper class that includes various parameter checking routines. - - - - - Throws if the given argument is null. - - if tested value if null. - Argument value to test. - Name of the argument being tested. - - - - Throws an exception if the tested string argument is null or the empty string. - - Thrown if string value is null. - Thrown if the string is empty - Argument value to check. - Name of argument being checked. - - - - Verifies that an argument type is assignable from the provided type (meaning - interfaces are implemented, or classes exist in the base class hierarchy). - - The argument type that will be assigned to. - The type of the value being assigned. - Argument name. - - - - Verifies that an argument instance is assignable from the provided type (meaning - interfaces are implemented, or classes exist in the base class hierarchy, or instance can be - assigned through a runtime wrapper, as is the case for COM Objects). - - The argument type that will be assigned to. - The instance that will be assigned. - Argument name. - - - - A helper class to manage the names that get registered in the container - - - - - The build stages we use in the Unity container - strategy pipeline. - - - - - First stage. By default, nothing happens here. - - - - - Second stage. Type mapping occurs here. - - - - - Third stage. lifetime managers are checked here, - and if they're available the rest of the pipeline is skipped. - - - - - Fourth stage. Reflection over constructors, properties, etc. is - performed here. - - - - - Fifth stage. Instance creation happens here. - - - - - Sixth stage. Property sets and method injection happens here. - - - - - Seventh and final stage. By default, nothing happens here. - - - - - A strongly-typed resource class, for looking up localized strings, etc. - - - - - Returns the cached ResourceManager instance used by this class. - - - - - Overrides the current thread's CurrentUICulture property for all - resource lookups using this strongly typed resource class. - - - - - Looks up a localized string similar to The type {0} has multiple constructors of length {1}. Unable to disambiguate.. - - - - - Looks up a localized string similar to The provided string argument must not be empty.. - - - - - Looks up a localized string similar to The current build operation (build key {2}) failed: {3} (Strategy type {0}, index {1}). - - - - - Looks up a localized string similar to The current type, {0}, is an abstract class and cannot be constructed. Are you missing a type mapping?. - - - - - Looks up a localized string similar to The current type, {0}, is delegate and cannot be constructed. Unity only supports resolving Func<T> and Func<IEnumerable<T>> by default.. - - - - - Looks up a localized string similar to The current type, {0}, is an interface and cannot be constructed. Are you missing a type mapping?. - - - - - Looks up a localized string similar to Cannot extract type from build key {0}.. - - - - - Looks up a localized string similar to The method {0}.{1}({2}) is an open generic method. Open generic methods cannot be injected.. - - - - - Looks up a localized string similar to The property {0} on type {1} is an indexer. Indexed properties cannot be injected.. - - - - - Looks up a localized string similar to The method {1} on type {0} has an out parameter. Injection cannot be performed.. - - - - - Looks up a localized string similar to The method {0}.{1}({2}) has at least one out parameter. Methods with out parameters cannot be injected.. - - - - - Looks up a localized string similar to The method {0}.{1}({2}) has at least one ref parameter.Methods with ref parameters cannot be injected.. - - - - - Looks up a localized string similar to The method {1} on type {0} is marked for injection, but it is an open generic method. Injection cannot be performed.. - - - - - Looks up a localized string similar to The method {0}.{1}({2}) is static. Static methods cannot be injected.. - - - - - Looks up a localized string similar to The type {0} is an open generic type. An open generic type cannot be resolved.. - - - - - Looks up a localized string similar to Resolving parameter "{0}" of constructor {1}. - - - - - Looks up a localized string similar to The parameter {0} could not be resolved when attempting to call constructor {1}.. - - - - - Looks up a localized string similar to Parameter type inference does not work for null values. Indicate the parameter type explicitly using a properly configured instance of the InjectionParameter or InjectionParameter<T> classes.. - - - - - Looks up a localized string similar to Calling constructor {0}. - - - - - Looks up a localized string similar to Calling method {0}.{1}. - - - - - Looks up a localized string similar to An item with the given key is already present in the dictionary.. - - - - - Looks up a localized string similar to The lifetime manager is already registered. Lifetime managers cannot be reused, please create a new one.. - - - - - Looks up a localized string similar to The override marker build plan policy has been invoked. This should never happen, looks like a bug in the container.. - - - - - Looks up a localized string similar to Resolving parameter "{0}" of method {1}.{2}. - - - - - Looks up a localized string similar to The value for parameter "{1}" of method {0} could not be resolved. . - - - - - Looks up a localized string similar to Could not resolve dependency for build key {0}.. - - - - - Looks up a localized string similar to The type {0} has multiple constructors marked with the InjectionConstructor attribute. Unable to disambiguate.. - - - - - Looks up a localized string similar to The supplied type {0} must be an open generic type.. - - - - - Looks up a localized string similar to The supplied type {0} does not have the same number of generic arguments as the target type {1}.. - - - - - Looks up a localized string similar to The type {0} does not have an accessible constructor.. - - - - - Looks up a localized string similar to The type {0} does not have a generic argument named "{1}". - - - - - Looks up a localized string similar to while resolving. - - - - - Looks up a localized string similar to The type {0} does not have a constructor that takes the parameters ({1}).. - - - - - Looks up a localized string similar to The type {0} does not have a public method named {1} that takes the parameters ({2}).. - - - - - Looks up a localized string similar to The type {0} does not contain an instance property named {1}.. - - - - - Looks up a localized string similar to The type {0} is not a generic type, and you are attempting to inject a generic parameter named "{1}".. - - - - - Looks up a localized string similar to The type {0} is not an array type with rank 1, and you are attempting to use a [DependencyArray] attribute on a parameter or property with this type.. - - - - - Looks up a localized string similar to Optional dependencies must be reference types. The type {0} is a value type.. - - - - - Looks up a localized string similar to The property {0} on type {1} is not settable.. - - - - - Looks up a localized string similar to The property {0} on type {1} is of type {2}, and cannot be injected with a value of type {3}.. - - - - - Looks up a localized string similar to The value for the property "{0}" could not be resolved.. - - - - - Looks up a localized string similar to The provided string argument must not be empty.. - - - - - Looks up a localized string similar to Resolution of the dependency failed, type = "{0}", name = "{1}". - Exception occurred while: {2}. - Exception is: {3} - {4} - ----------------------------------------------- - At the time of the exception, the container was: - . - - - - - Looks up a localized string similar to Resolving {0},{1}. - - - - - Looks up a localized string similar to Resolving {0},{1} (mapped from {2}, {3}). - - - - - Looks up a localized string similar to Resolving value for property {0}.{1}. - - - - - Looks up a localized string similar to The constructor {1} selected for type {0} has ref or out parameters. Such parameters are not supported for constructor injection.. - - - - - Looks up a localized string similar to Setting value for property {0}.{1}. - - - - - Looks up a localized string similar to The type {0} cannot be constructed. You must configure the container to supply this value.. - - - - - Looks up a localized string similar to The type {1} cannot be assigned to variables of type {0}.. - - - - - Looks up a localized string similar to <unknown>. - - - - - A simple, extensible dependency injection container. - - - - - Create a default . - - - - - Create a with the given parent container. - - The parent . The current object - will apply its own settings first, and then check the parent for additional ones. - - - - RegisterType a type mapping with the container, where the created instances will use - the given . - - that will be requested. - that will actually be returned. - Name to use for registration, null if a default registration. - The that controls the lifetime - of the returned instance. - Injection configuration objects. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - RegisterType an instance with the container. - - - - Instance registration is much like setting a type as a singleton, except that instead - of the container creating the instance the first time it is requested, the user - creates the instance ahead of type and adds that instance to the container. - - - Type of instance to register (may be an implemented interface instead of the full type). - Object to returned. - Name for registration. - - If true, the container will take over the lifetime of the instance, - calling Dispose on it (if it's ) when the container is Disposed. - - If false, container will not maintain a strong reference to . User is responsible - for disposing instance, and for keeping the instance from being garbage collected. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Get an instance of the requested type with the given name from the container. - - of object to get from the container. - Name of the object to retrieve. - Any overrides for the resolve call. - The retrieved object. - - - - Return instances of all registered types requested. - - - - This method is useful if you've registered multiple types with the same - but different names. - - - Be aware that this method does NOT return an instance for the default (unnamed) registration. - - - The type requested. - Any overrides for the resolve calls. - Set of objects of type . - - - - Run an existing object through the container and perform injection on it. - - - - This method is useful when you don't control the construction of an - instance (ASP.NET pages or objects created via XAML, for instance) - but you still want properties and other injection performed. - - of object to perform injection on. - Instance to build up. - name to use when looking up the typemappings and other configurations. - Any overrides for the buildup. - The resulting object. By default, this will be , but - container extensions may add things like automatic proxy creation which would - cause this to return a different object (but still type compatible with ). - - - - Run an existing object through the container, and clean it up. - - The object to tear down. - - - - Add an extension object to the container. - - to add. - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Get access to a configuration interface exposed by an extension. - - Extensions can expose configuration interfaces as well as adding - strategies and policies to the container. This method walks the list of - added extensions and returns the first one that implements the requested type. - - of configuration interface required. - The requested extension's configuration interface, or null if not found. - - - - Remove all installed extensions from this container. - - - - This method removes all extensions from the container, including the default ones - that implement the out-of-the-box behavior. After this method, if you want to use - the container again you will need to either read the default extensions or replace - them with your own. - - - The registered instances and singletons that have already been set up in this container - do not get removed. - - - The object that this method was called on (this in C#, Me in Visual Basic). - - - - Create a child container. - - - A child container shares the parent's configuration, but can be configured with different - settings or lifetime. - The new child container. - - - - Dispose this container instance. - - - Disposing the container also disposes any child containers, - and disposes any instances whose lifetimes are managed - by the container. - - - - - Dispose this container instance. - - - This class doesn't have a finalizer, so will always be true. - True if being called from the IDisposable.Dispose - method, false if being called from a finalizer. - - - - Remove policies associated with building this type. This removes the - compiled build plan so that it can be rebuilt with the new settings - the next time this type is resolved. - - Type of object to clear the plan for. - Name the object is being registered with. - - - - The parent of this container. - - The parent container, or null if this container doesn't have one. - - - - Get a sequence of that describe the current state - of the container. - - - - - Implementation of the ExtensionContext that is actually used - by the UnityContainer implementation. - - - This is a nested class so that it can access state in the - container that would otherwise be inaccessible. - - - - - This event is raised when the method, - or one of its overloads, is called. - - - - - This extension supplies the default behavior of the UnityContainer API - by handling the context events and setting policies. - - - - - Install the default container behavior into the container. - - - - - Remove the default behavior from the container. - - - - - This extension installs the default strategies and policies into the container - to implement the standard behavior of the Unity container. - - - - - Add the default ObjectBuilder strategies & policies to the container. - - - - - Helper class to wrap common reflection stuff dealing with - methods. - - - - - Create a new instance that - lets us do more reflection stuff on that method. - - The method to reflect on. - - - - Given our set of generic type arguments, - - The generic type arguments. - An array with closed parameter types. - - - - Returns true if any of the parameters of this method - are open generics. - - - - - Return the of each parameter for this - method. - - Sequence of objects, one for - each parameter in order. - - - - A helper class that encapsulates two different - data items together into a a single item. - - - - - Create a new containing - the two values give. - - First value - Second value - - - - The first value of the pair. - - - - - The second value of the pair. - - - - - Container for a Pair helper method. - - - - - A helper factory method that lets users take advantage of type inference. - - Type of first value. - Type of second value. - First value. - Second value. - A new instance. - - - - A utility class that handles the logic of matching parameter - lists, so we can find the right constructor and method overloads. - - - - - Create a new that will attempt to - match the given parameter types. - - Target parameters to match against. - - - - Tests to see if the given set of types matches the ones - we're looking for. - - parameter list to look for. - true if they match, false if they don't. - - - - Tests to see if the given set of types matches the ones we're looking for. - - Candidate method signature to look for. - True if they match, false if they don't. - - - - Another reflection helper class that has extra methods - for dealing with ParameterInfo. - - - - - A small helper class to encapsulate details of the - reflection API, particularly around generics. - - - - - Create a new instance that - lets you look at information about the given type. - - Type to do reflection on. - - - - Test the given object, looking at - the parameters. Determine if any of the parameters are - open generic types that need type attributes filled in. - - The method to check. - True if any of the parameters are open generics. False if not. - - - - If this type is an open generic, use the - given array to - determine what the required closed type is and return that. - - If the parameter is not an open type, just - return this parameter's type. - Type arguments to substitute in for - the open type parameters. - Corresponding closed type of this parameter. - - - - Given a generic argument name, return the corresponding type for this - closed type. For example, if the current type is SomeType<User>, and the - corresponding definition was SomeType<TSomething>, calling this method - and passing "TSomething" will return typeof(User). - - Name of the generic parameter. - Type of the corresponding generic parameter, or null if there - is no matching name. - - - - The object we're reflecting over. - - - - - Is this type generic? - - - - - Is this type an open generic (no type parameter specified) - - - - - Is this type an array type? - - - - - Is this type an array of generic elements? - - - - - The type of the elements in this type (if it's an array). - - - - - Returns all the public constructors defined for the current reflected . - - - An enumeration of ConstructorInfo objects representing all the public instance constructors defined for the - current reflected , but not including the type initializer (static constructor). - - - - - Create a new instance of that - lets you query information about the given ParameterInfo object. - - Parameter to query. - - - - A set of helper methods to pick through lambdas and pull out - from them. - - - - - Pull out a object from an expression of the form - () => SomeClass.SomeMethod() - - Expression describing the method to call. - Corresponding . - - - - Pull out a object from an expression of the form - x => x.SomeMethod() - - The type where the method is defined. - Expression describing the method to call. - Corresponding . - - - - Pull out a object for the get method from an expression of the form - x => x.SomeProperty - - The type where the method is defined. - The type for the property. - Expression describing the property for which the get method is to be extracted. - Corresponding . - - - - Pull out a object for the set method from an expression of the form - x => x.SomeProperty - - The type where the method is defined. - The type for the property. - Expression describing the property for which the set method is to be extracted. - Corresponding . - - - - - - - - - - - - - Pull out a object from an expression of the form () => new SomeType() - - The type where the constructor is defined. - Expression invoking the desired constructor. - Corresponding . - - - diff --git a/src/packages/repositories.config b/src/packages/repositories.config deleted file mode 100644 index 65debdf..0000000 --- a/src/packages/repositories.config +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file From 5c6c4accdd7ca0942806005b522f8406a3bddd10 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dariusz=20Wo=C5=BAniak?= Date: Sat, 3 Jul 2021 21:01:24 +0200 Subject: [PATCH 3/9] chore: update to net46 --- .../AutoMoq.TestFixture.Samples.csproj | 2 +- src/AutoMoq.TestFixture.Samples/app.config | 12 ++++++------ src/AutoMoq.TestFixture.Samples/packages.config | 10 +++++----- src/AutoMoq.Tests/AutoMoq.Tests.csproj | 2 +- src/AutoMoq.Tests/app.config | 12 ++++++------ src/AutoMoq.Tests/packages.config | 16 ++++++++-------- src/AutoMoq/AutoMoq.csproj | 2 +- src/AutoMoq/app.config | 12 ++++++------ src/AutoMoq/packages.config | 12 ++++++------ 9 files changed, 40 insertions(+), 40 deletions(-) diff --git a/src/AutoMoq.TestFixture.Samples/AutoMoq.TestFixture.Samples.csproj b/src/AutoMoq.TestFixture.Samples/AutoMoq.TestFixture.Samples.csproj index 48905c8..90e1914 100644 --- a/src/AutoMoq.TestFixture.Samples/AutoMoq.TestFixture.Samples.csproj +++ b/src/AutoMoq.TestFixture.Samples/AutoMoq.TestFixture.Samples.csproj @@ -11,7 +11,7 @@ Properties AutoMoq.TestFixture.Samples AutoMoq.TestFixture.Samples - v4.5 + v4.6 512 diff --git a/src/AutoMoq.TestFixture.Samples/app.config b/src/AutoMoq.TestFixture.Samples/app.config index fe20587..5cc03ca 100644 --- a/src/AutoMoq.TestFixture.Samples/app.config +++ b/src/AutoMoq.TestFixture.Samples/app.config @@ -1,15 +1,15 @@ - + - - + + - - + + - \ No newline at end of file + diff --git a/src/AutoMoq.TestFixture.Samples/packages.config b/src/AutoMoq.TestFixture.Samples/packages.config index ee61f70..aac9a61 100644 --- a/src/AutoMoq.TestFixture.Samples/packages.config +++ b/src/AutoMoq.TestFixture.Samples/packages.config @@ -1,8 +1,8 @@  - - - - - + + + + + \ No newline at end of file diff --git a/src/AutoMoq.Tests/AutoMoq.Tests.csproj b/src/AutoMoq.Tests/AutoMoq.Tests.csproj index f503963..6ff0785 100644 --- a/src/AutoMoq.Tests/AutoMoq.Tests.csproj +++ b/src/AutoMoq.Tests/AutoMoq.Tests.csproj @@ -11,7 +11,7 @@ Properties AutoMoq.Tests AutoMoq.Tests - v4.5 + v4.6 512 diff --git a/src/AutoMoq.Tests/app.config b/src/AutoMoq.Tests/app.config index fe20587..5cc03ca 100644 --- a/src/AutoMoq.Tests/app.config +++ b/src/AutoMoq.Tests/app.config @@ -1,15 +1,15 @@ - + - - + + - - + + - \ No newline at end of file + diff --git a/src/AutoMoq.Tests/packages.config b/src/AutoMoq.Tests/packages.config index 9803809..2851d7c 100644 --- a/src/AutoMoq.Tests/packages.config +++ b/src/AutoMoq.Tests/packages.config @@ -1,11 +1,11 @@  - - - - - - - - + + + + + + + + \ No newline at end of file diff --git a/src/AutoMoq/AutoMoq.csproj b/src/AutoMoq/AutoMoq.csproj index 7c37be9..5a85479 100644 --- a/src/AutoMoq/AutoMoq.csproj +++ b/src/AutoMoq/AutoMoq.csproj @@ -10,7 +10,7 @@ Properties AutoMoq AutoMoq - v4.5 + v4.6 512 diff --git a/src/AutoMoq/app.config b/src/AutoMoq/app.config index fe20587..5cc03ca 100644 --- a/src/AutoMoq/app.config +++ b/src/AutoMoq/app.config @@ -1,15 +1,15 @@ - + - - + + - - + + - \ No newline at end of file + diff --git a/src/AutoMoq/packages.config b/src/AutoMoq/packages.config index e3bdf38..e0fd340 100644 --- a/src/AutoMoq/packages.config +++ b/src/AutoMoq/packages.config @@ -1,9 +1,9 @@  - - - - - - + + + + + + \ No newline at end of file From ab348536b41539022fe26a006e7ffcd3a3b178ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dariusz=20Wo=C5=BAniak?= Date: Sat, 3 Jul 2021 21:05:17 +0200 Subject: [PATCH 4/9] chore: include nuspec in csproj --- src/AutoMoq/AutoMoq.csproj | 1 + 1 file changed, 1 insertion(+) diff --git a/src/AutoMoq/AutoMoq.csproj b/src/AutoMoq/AutoMoq.csproj index 5a85479..87fc9e4 100644 --- a/src/AutoMoq/AutoMoq.csproj +++ b/src/AutoMoq/AutoMoq.csproj @@ -93,6 +93,7 @@ + From 2edd233862c10c0ef9eadbaed58fddd36b182a73 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dariusz=20Wo=C5=BAniak?= Date: Sat, 3 Jul 2021 21:05:40 +0200 Subject: [PATCH 5/9] chore: updated nuspec and Assembly Info + bump version --- src/AutoMoq/AutoMoq.nuspec | 16 ++++++---------- src/AutoMoq/Properties/AssemblyInfo.cs | 12 ++++++------ 2 files changed, 12 insertions(+), 16 deletions(-) diff --git a/src/AutoMoq/AutoMoq.nuspec b/src/AutoMoq/AutoMoq.nuspec index a2fef61..0e1e9e5 100644 --- a/src/AutoMoq/AutoMoq.nuspec +++ b/src/AutoMoq/AutoMoq.nuspec @@ -1,21 +1,17 @@ - AutoMoq - 2.0.0.0 - AutoMoq + dariusz-wozniak.AutoMoq + 2.1.0.0 + dariusz-wozniak.AutoMoq Darren Cauthon Darren Cauthon https://github.com/darrencauthon/AutoMoq/blob/master/license.txt https://github.com/darrencauthon/AutoMoq false - Auto-mocking container - Upgraded Unity to 4. - Copyright 2010-2016 + Fork of AutoMoq (with updated packages) + Updated Moq (4.16.1) and other dependencies + Copyright 2010-2021 moq unity tdd testing test - - - - diff --git a/src/AutoMoq/Properties/AssemblyInfo.cs b/src/AutoMoq/Properties/AssemblyInfo.cs index f626de8..00e2083 100644 --- a/src/AutoMoq/Properties/AssemblyInfo.cs +++ b/src/AutoMoq/Properties/AssemblyInfo.cs @@ -5,11 +5,11 @@ // set of attributes. Change these attribute values to modify the information // associated with an assembly. -[assembly: AssemblyTitle("AutoMoq")] -[assembly: AssemblyDescription("Automocker for Moq.")] +[assembly: AssemblyTitle("dariusz-wozniak.AutoMoq")] +[assembly: AssemblyDescription("Fork of AutoMoq (with updated packages)")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("AutoMoq")] +[assembly: AssemblyProduct("dariusz-wozniak.AutoMoq")] [assembly: AssemblyCopyright("Copyright © Darren Cauthon 2016")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] @@ -22,7 +22,7 @@ // The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("e6f813c5-0225-4f79-824c-ac21b49decc9")] +[assembly: Guid("ab516e1f-f86f-46e4-8fab-87fad3b58d39")] // Version information for an assembly consists of the following four values: // @@ -35,5 +35,5 @@ // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("2.0.0.0")] -[assembly: AssemblyFileVersion("2.0.0.0")] +[assembly: AssemblyVersion("2.1.0.0")] +[assembly: AssemblyFileVersion("2.1.0.0")] From e07bbed16a32820618205b0b80c1736a200c97cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dariusz=20Wo=C5=BAniak?= Date: Sat, 3 Jul 2021 21:09:53 +0200 Subject: [PATCH 6/9] chore: update project URL --- src/AutoMoq/AutoMoq.nuspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/AutoMoq/AutoMoq.nuspec b/src/AutoMoq/AutoMoq.nuspec index 0e1e9e5..9141fef 100644 --- a/src/AutoMoq/AutoMoq.nuspec +++ b/src/AutoMoq/AutoMoq.nuspec @@ -7,7 +7,7 @@ Darren Cauthon Darren Cauthon https://github.com/darrencauthon/AutoMoq/blob/master/license.txt - https://github.com/darrencauthon/AutoMoq + https://github.com/dariusz-wozniak/Automoqer false Fork of AutoMoq (with updated packages) Updated Moq (4.16.1) and other dependencies From 8ea795a2624c13b2518da01edaa29c017454a5e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dariusz=20Wo=C5=BAniak?= Date: Sat, 3 Jul 2021 21:10:34 +0200 Subject: [PATCH 7/9] docs: updated nuget pack command --- nuget_notes.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nuget_notes.txt b/nuget_notes.txt index c26dc31..19c9fcf 100644 --- a/nuget_notes.txt +++ b/nuget_notes.txt @@ -11,4 +11,4 @@ Open Visual Studio, clean the solution, then build a new Release Build. Build the nuget package: -nuget pack src/AutoMoq/AutoMoq.csproj -Prop Configuration=Release +nuget pack src/AutoMoq/AutoMoq.csproj From c4d22048db51df1e34eb4bae1d3596a24c05e193 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dariusz=20Wo=C5=BAniak?= Date: Sat, 3 Jul 2021 21:15:56 +0200 Subject: [PATCH 8/9] Update readme.md --- readme.md | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/readme.md b/readme.md index 6122b59..7d073c3 100644 --- a/readme.md +++ b/readme.md @@ -1,5 +1,12 @@ +Fork of the AutoMoqer that has updated dependencies (such as Moq). + +Available at Nuget (fork): [![NuGet](https://buildstats.info/nuget/dariusz-wozniak.AutoMoq)](https://www.nuget.org/packages/dariusz-wozniak.AutoMoq/) + +Original readme just below the line 👇 + +--- + # AutoMoq -[![Build Status](https://travis-ci.org/darrencauthon/AutoMoq.svg?branch=master)](https://travis-ci.org/darrencauthon/AutoMoq) AutoMoqer is an "auto-mocking" container that creates objects for you. Just tell it what class to create and it will create it. From a61403b61e555fe10242db2a356492dbf9db7784 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dariusz=20Wo=C5=BAniak?= Date: Sun, 4 Jul 2021 22:29:39 +0200 Subject: [PATCH 9/9] fix: update Nuspec project URL --- src/AutoMoq/AutoMoq.nuspec | 6 +++--- src/AutoMoq/Properties/AssemblyInfo.cs | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/AutoMoq/AutoMoq.nuspec b/src/AutoMoq/AutoMoq.nuspec index 9141fef..4552298 100644 --- a/src/AutoMoq/AutoMoq.nuspec +++ b/src/AutoMoq/AutoMoq.nuspec @@ -2,15 +2,15 @@ dariusz-wozniak.AutoMoq - 2.1.0.0 + 2.1.1.0 dariusz-wozniak.AutoMoq Darren Cauthon Darren Cauthon https://github.com/darrencauthon/AutoMoq/blob/master/license.txt - https://github.com/dariusz-wozniak/Automoqer + https://github.com/dariusz-wozniak/AutoMoq false Fork of AutoMoq (with updated packages) - Updated Moq (4.16.1) and other dependencies + Updated project URL in NuGet specification Copyright 2010-2021 moq unity tdd testing test diff --git a/src/AutoMoq/Properties/AssemblyInfo.cs b/src/AutoMoq/Properties/AssemblyInfo.cs index 00e2083..a45afe5 100644 --- a/src/AutoMoq/Properties/AssemblyInfo.cs +++ b/src/AutoMoq/Properties/AssemblyInfo.cs @@ -35,5 +35,5 @@ // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("2.1.0.0")] -[assembly: AssemblyFileVersion("2.1.0.0")] +[assembly: AssemblyVersion("2.1.1.0")] +[assembly: AssemblyFileVersion("2.1.1.0")]

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ˍBH;!K6}|ajDKe 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

}h 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 z�$$igaEuS8b|tT*ytu8i;v*C&51{pPTI@iP-8|!> zoMJ?ukg1*8)CB%+_7Gm`f{wWBnO93}Hamqnqy435gpOaRw(jRNvhv1lsfPr#U?D=( zNzFjhG7I5}X7vD+y?dvKmTeCkBEl)N*OR=UA}vO*G`!qK{?`8Vd1%Rj8uE+mhvc^? z11_uXCNAO58P`YTfkv}btfiYtce%o1eyZ#uCUc3<7Q_C6sQT5=L6tJ))I$D#D>D#A z>$%y`73)$q>#bOm-;Yeie!V&ywY?_e`}M-C5RuMkygo{&cYT0w3n{AlY#`;zZB=_i)cw^p-f zUnk0*hPhafO5gXL?%TMVMxV0}koH=Og^UW88J1564fKY97==+#_ zi~kIpO)rHWDWZ39_RJAIQ3R1AEnB`1?iV$m34hgVM|~;Y{fo=dMVb!kt<`%K_B-UM zlwPulD`Mocg-t=q=dfYLa{=%xqnfB;s}RS~+7IEhlgJF$SloPIX_KQk8UM@)6(x;hXi@D{I!n@0TvXUxgTqMN(&*xg3||a{`S4J^5?1LR~c{1sh~gI__}A z$Uw!&jf#;66eDF7Be89bsRQozhe|ICHq;3=#0xe^p)y(Jwj#bjWFDxDTTc$vs98q;DVN6l~ZXx{J%5t1dZln!VKXqi;fY*;r7MuhUFz zUywqi{@7iG$f&V!!3LI4R<7PHb!XEq>`Q%OoF>v4Ipl>K^%%~!P{-X2R7<<0Mj3y5 zgk~>V-SxV+r@6(p0Y?2Eo#OO+pCpw;KPH$pP`HI^E8$=H!vx@pQf8}P)ocgiL{KZm z6V)gq*_%P-H&>y|eJhv^dC_kkuO&;F$6V3)mKW$iMG4?Foj$p`xQ`2}EE)*D$A9+x zc2YkyIA&<`2MT#ANgs4m;i{DJ*N12y2KEctEdF?2Q+g*Q<#Xg>(>sxAj?rU!u)1^Q z+zaCJ_;l*?RN2T)p+YF#nJ6l2vxLfNjlpIOqp1belkoReDJaCWJclpcwCS!uXO_x` zp0*ZSIvdqC`xM~s7dVBU{**lDo_r@M}wLEjh8qax03P*9_+E*g1qTzCvAXuuVDeB5#D zFqPKy&@n2lJ9HhYwo#pT0Zu#6XT@)`l)cH|St#cW+adf-YNxPGcxSV;NINXs<8vEZ zOlzp%j9Lq6(clvNtNUQAl{{sn`c9u(>R?>EY8DSYetg~7o-PBfwnbOOWc`N7EYJzE zQx7!>i72zXd(>@O*hTx)S1MczbN8&<8ksmQH`bl%kWi}X#@av)Rh-eG1@(!g_Oi#^ z57nR9J)$huR4t5W>-DVL7@0KgId+ul($uT^fwSRZsMw4F?Q0)LYDlbv>W7W=)8i3+ z=BXiZja~}|GaOWjSP3XhPzTWc&a0_WKBl%o`w8gMm4$8Q2BF+o zM->tdu>eCryuVxEAiu~Xy0JAL`&5rs>hq}Wo!^Ce>mJoYo-)56(m7EjpQwtAD1Q6}SgkRQjM4L5)r;<9r-E<0G8*G4<02vG8@z@)vrqPdhY)@pr0qT?bhvno6FVuU?H1?v|2v28iphU6|w(MIJa_VgIt7WQVr zSJ`wnp(FGk4Sk2GmF_bs@b?mt>`F!CtbFZ@S&FIFu55_*;96NFPI1YhH;v6LO+W5d z1P9V*m05C4{WqI}OWy7AO_b~*>uLB=9L zpd}-BD=uuW255;g&SOc=#pD>T0N+o&d&>9*q_c}Z z4OIv|=~3$rKMmKXZRa`dfcUB#H||HZ?FvlhYqIU4Ci6AtzntA2f9`dp_9=M2p~&T@ zp`4({_?kpfrA%);Wz+n!tBqf`sq#X}O>J&O`<$WexLVVXZ`SfHrp*z@1DCQxg~=Z@ zD2q+%0TdmHqj(FBGsi~WA*#T8Pg=7WJ-rv^$MQoo-EgFFN`>w3IrpPTx;k6qV?h$)P5x8x)Q6rk(ML zM9|J?(D%}4qS+lY*QnRk>9(|Xb-F99Q#AYeOcB-HJJOOiA?n^SlSjRvPCr5`Rc|O7 z7f5UDnz>2sR&TKE6+=(F;;uftXP^)-+^I2U0YnH$ffu(|zprpb%wN<^HO;x(cUXa5 z4cg?!K~1+*&+$>U-Af#Oa0R+4m7lH))?0?_yvoOV?^+Px^{DTxG}MMMVZGDE?N&{E zV3~XP!>KQkRwCvyS({1`2(c6v)#Og0?)H_#v!BCB|*sly)oc8yWTJi_; z*$nurC4B0qdA8IWi}YiNX*M_Sk4rBX+*K(fcN?2-33O&IB$r2K$HMCqX5aen+q@Jb z{6u1)0jg1<9Fv#5_f`SX1E z#`8`}l<(52ltr7ZsM+Wes;uaBpD!KS7Bo_tn!5PSag{VR4RNqkNi+A+J4kyjdgi(I zAzHcU85Cmv<9O=lxrlY4xsdlArX3Kq>IzM!+Gu1^#z|>j-g-7PC(-t<(9=|+M%MN5 z$TT7EI%}F42rR{}(2b~@qxquBouPNA^6G9k#^ur+eCzhnszggWXO5uL(nRqu zLT^!B)IU(k)QRA>nCqC}&CzGzZ4P(Um!?H*!a*N8HDk@y=t9#M9eov=O_jjbxzkuh zC0@?_N=?!*$QwVLb_TmpPR;g?bfxi$W}^`k&9ZGvHq^?7NGiF+*w72nopW8JbCGuI z{Oq0=^YQTa_&pEF_p-eZUqg&18VmA64jdXiL`}~w74Dpfd(vm7uqY3fN2MAK$@I_Y zVfSv~C!ktPE$iP==QV-(cbQvI4X|@-I8W58dEyXBWl<+ zWB$ZMsFOY=i+Ve%&#H`E;0u+dWj8+oOUkqEP4dEq)d~WI!b_ZP#pG`ebZY1ZRJc}@ z|d|SKxD0Dv$ z#I$r9aJanGPZONf@6+Q&w4;dm!y(i{{?YZFj(LM2;wKxE@<$(&zmK$#UrgV|1;8_u zg=q81)A3w4rhfUrL5VnXHhDVXbG5(_{rs7rbnT`WPuj=>33}Rw)9p{l-!Gkkf6{6^ z@5VyqZ;<4&YJbS-q?KZt{8^VHQKWOh`8Zr(S>EUU?$c#+GS3|8Zepm}#baqtfR&ZN zI^7$5o7dU0CxH(&8ibKKyFRkA(AW#*RoZU(u-ud3SrA0l-(_7D$1}X*}1S$M{V`B?>m{?S`@AN_{3h`0eNADE8 zY7h;UYS&dLvz~IOo7tcHCW@BY(1_8Pr|aFV5$&S`@yZq7pLU1FRZ&uI=y4U_Yf10j zW$!LjnrQDha)PYB=+c2DUQ~GYFbox*Mc6-KnD=RvOnq3)?b?%2zEI3Mv}xwIJrRZ<(LTQ629x>vcGAaGQ9etBz=EYNF16%mF$wT`!yu5lgsO#YqI!^sPxVh6>GZVobbV@qKn#0{ zROMlveoHMw81VV zkm;5{uQn=?xs;u`Bo7u-J5a-=ODdFwOFef_jwIh`d*7r*ZWLJHo|q<$?#9Vcyy6YM z>ANaSyQl6H=v`NBKiJON&^Bl823lfGU@FwCh)t9r5Ia{AHJokMGhah)bw|*)0x=G% zo$r14d_mruo*`_rXv@-zbmfk`@XCREtUCFIRsDTO`iG6E@TCV16Q!WTdJ^6jQ4}qz zvN=vPZd5JCa5`FvGTxC2&$!Nxy4l{983UU4rRK~SF{--wJ0JR2kaQhle*#Aq9N_-^)qVQk_ zb1pYubrXuC?R_T8o#mHwre%blOoHY5wAg#D8uGwHi&WVqmmZGVnQQ$?eZ0d9F7Is~ z?6hxuC)~Mk`wBej+cCu8yU$qz9<|v&&dytp*L%!Hk^_(TOElR!kfK6i3y!l%ve9`9 z*l4{C^s}#c#%%&vUPUK0wWl|ljw|;y++5^I$d-=@&mP(UmLX#NODrY%FQmabqS0*c z$i(3>cR4-%(b?Bg$5Ui^vQ;RH9|EbB2HBv)`UHA(L(;RT-%>tD4NZXld>8d4-Q8y) zg9=t7kTW81Jx96%oZVvDN$Gs=U~u-RhfeR&wxx#o7u)E)cksdR zD1#R>5uoIAq-E#nyOqz)9ze}a{O0|eoNr#BN#ow3-M23eEt$Xeqg+|gw9;{R(Q3t9 zmM*T^*)x>Z_SjyOgY;!*=A3nA!*0=yXYY77hO}J@zIf`6j50^v4G!y`c-6=qB0{=u zAv&daB^`WFh|cKfH`0d$HFTT6XmO+MykV2}gS7r&b(`g6shXtTRo^^fEzk7*K^OvA_g$&N!aWQ9>5t}DA*P4--tim}W&TU`_rLMY9a zzpK#rsG{hc#x1k+f%!$%xvKVjhk|{s>dQXe>J%|=Vf*352ip()PHvo^6?cc*q#YKP z5ZPTVv-@3&$w0=p*=rHepWTdVh4?QhzI6ND#c@uMm!}82WYo}te$=m;wClm(H&Soh zcPCC%5>-2+JT=wDo~kH~%D9kUC}}yEH~s8U^>06l6(SA`T=cZN=&5nIHR(eeMcwyg zi1${3m`epOu@(6^mn+%NMBhn`bbLAYwc_+0wnyikB~gdPE~3wDt!URa6nk!+UVi-M zgpcYklOnggW$*K!3!6bqCBaqO?7u7Yl5Yr1wU*Ncjf<`CCpgDN!{3@lhqqcO&x%!j z$V)%ve0+*x@Lf#pPTFYm6XK@~qW7}~E!U}Y2^HqM4oK5p&$vpD>^L|Oc2!SYdEx*| zo5vlkPiwPa{@x3ZJfzku26+N#}n7d-vTd%qGLq$%L*cyhKK;JNbGI9F1;+Ti>5f4PLw^3?!&o|ADFTHE`pnPfP!NlKxfB9C4-R+&!3w~8% zs!Qs=cOC~ll=5{v86p1re8Y7&o`>kHG?Dv{Vvg&jxR>~aaALQXqTMH_2~&2c6I!SE z-y8`kuE>6(_7;6ezsx$#|NO01^d9k@^#zSrCJ7~vW?KU9?6W=lng6Ws1LKQYbCfu< z5?^~KpO7l5#@Rh#JGwRK7mqqP(hzTEu}Tr$3U|8ne*5I#W?v$KX|L=1_+{yt)%|WI zzO?jgjo;e{|6aB z=D$RmoI47`-K<7|QKILvyxSzKl|9)ZbNfuX812qKjZysH9~&hd?)J8H{{Q+k=F)3k z&Uw{Y8#h=z{P&+mAMPi6yG5osSnfAMWM2w-W2f}*pL25kuYH1Ax{QS|~ zxt|eoy)dbD=d_%2#;|^MU-sdmvK5SWoaUL`s|&F?^M*BhF1lfLeqzt%mAx9?kp2If zY_(FJIp8i2r8~N2IYT<LZy#Ga3Goj5}AB=$0(eRJI~y`{oR3%mduFygZ}tzaH1}&_9h) z{O`vdT%+Es_LKj;%m0_~Zypbqbz-c)MvK!r?rbBYCmd()Jj@G=Gt7UNg0W&|`#SeX z*{L~qgGOC-^T>ALpNBo_qvXC>+4FXOiHcAhuq=YPM}6qohmAwSb(-{vFH*w<~7qba}K$5NeG4(Ch>O} zi)5ej?!vfBidmVK3D{i~a!FgYVs2@}E9I4Tai#o5?Nu&laFxQ+&aGBd+9K8E(<5=C zMoDRB*D7te*DWjUfqLbo4XIyI+B@|tOZ!oys?t_$TwU7Y&EJvsaSP*0a&N2J(vA$M zYj9wFX(NLhN;@dT=ofiHn@GDateLd++qIDPVt6ZQ_jK?#^3gF++ESf@r5)a>jkL8R z!=x?Nqn)&ydW1{cp;v^ozxL`RZJ*x8sL$xrRocJ$beFb4zn;vONAOg?>TPA&)1f(ysx~ z|DY9Qlq-$i&Zl1>@I>3SmTq@Pju!MkZqf13QDcSijY5=RG`*cRQ66{6nkGzC02jaaqCdi8S7Y+r+bq5Q}^j^Mn5viyXUQlCl)oxl;3%e*OE$Cq>)h9d(4guI5x%#M=j^)fM)7A|WYyh&?7^U>6Z@ONffG z30rcqJuxOQDIviol5E0Z6KOV)YEO>0McZR=5R*E!r zh&|k%HYkZwh>wr5MGsMkTsRN2v!EQ(2E{p?hqlyMdzyj-<(8RjZ)eXOnv{y;7?Eg8 zusf1bI1yuyx5pwUVTq13TOu6doCgTuu*KSiJuyAOo@$GVw+q`)TU?qvQl4Q0J0zub zi*v*oZgi>+NE&5{x61=tH080QEftVvPnB+oG6cDZB>YRpIURwh%e2(=XjDWSdm<__ zx(jkFP!dN-dZGbwM!g!xiAZfA3ZTfyvxFG?KwElzS~t|N;UFtE$Q~VUON~p6l}-uv zgeZGzPPdqxA#7>UgN!4b)yPbATDmPh(w>%{nkXGovk$3$!zqeARdTYk#44ZzIg*E{ z?gV?Hah#l*G%V88*E;b!q zG>DZuMsJ=aUyXrGKf|SM^%YL`%r1A-b98R6Gl%BPEAcp4YxUlh@{lG z*tkSnys#q&vX`qd<1BtyLUO!OhaxV`o*Tu{y@v;&2Sf z0tF9CMuj_YMkA|?ohRl&WUmcG9++dQeQ0VNMr9&%%N}w$VpB(Y!@)l~8qAz+FtLf$ z^874GNgUBksIIger;M==V~ncxPffLDGADcX;ZU2SOR6o=fu53q@$Ag4Q3>eR%qhDp za)f3Whi?uP^eNf%Tm}12zV>0!_GEb^o2pBaNK3+rlLcBYS#~2hB)hWGnR<72pD_@V z76y!Q?8teHPviXPaEbN~>GIHlzGaJ7fKz0|#gJq2dbG4XI1q%4{#4Qb&>=3h;>t|<;nii44BB2dLsB{OQmo*EH_ zQe@Ccod-s+Flu>MXeY%f8)YA4%ZN)#6?Pg@&KWulhsaC1(aX|O(Xw#K!0b#`&Y09l z6ak%vDoSAGK>?y2v{uE$#bD%hVT*@D4GxE}#l*;Vw#A1zCtgSP988BXab&5rlTvM| znf~c%NwW1i8Z$_o{f%=lAG?uTV{WIphMbb^r|FphG}t`1kB4N8-ra?X>p zoI@m~JC8C96Giz=j17sm#j2BIvSS%kOOSM=MVE7I_VOf|mM9TF2(l-}rom>YZ2)y_ zhf)1bNRXcxqeG0+I8?txUb-ea<7E$1he&^`E8Bmt;fr!68#dK$bC6Z%mhIrkIrbdd z;LEN=H3}Tg9_ny*d-Zd7v&ow5DpGRi!(J%Yoz*kL&W$Sy9M zoZR9wU0WxAm0^cmMKq^0qj?nBTt}|@#_7_GR2^#NNA$GpiN8JeigLqp`@@(> zxr(dB+_k8(sXfP8T_;8MB)&O>0+Z6=f!=9!WVZ2I&_La8G zoO5BALmtW%4C&ElR8mZ)vwvZGDuzI=i8n+}V3}f|vc^OkXv4lW4p&H+wz1B|sA&Xg z*&KEk$iC+UV@h?QBPTldI70q)v*tfLca2~8>L-=AEo)d}u=UC7Jr`z-Z@cJvNYsRb z?XG&Z2_K#4)u;W=>u2&E7@U?n?}h49KFVJ(VDj{#c_uF2UgSkor&gytzRW+Tvp5#< zu6b>ljaw2veUTP=Bx=y1Zgp;_h%qB7#3V%<-LXQ`5fuWP_UVHx4919Z^y!n3l+vJ2 zpBfdKRv46)mh5O+yLPH=sBdgs+Mx8PbgU4x_#mclbW%cXge5hoJutd~UxR^BehqE) z{Oo?wF%4rHMmMY*-Pm5YpfwB@xGujYaEzfX zgpu}|EW-5gM8zh4DM5=SHJ>`6R;M1} zanY$sj--KUzTM*z>(}$`n2Ms%Hp-zQ9>{yG7yX|U*2#IFtzNpT&GLWB+}MoV)w^Bj>HzM|*I#uv+BQc5I%hhtF!=f>CkIkf4@*61Ov!5o4Z@(IVIQvPhW$yQ=wb zICQ04x0&U$T#>Q8NTfw73G<7A4mqo8&2)A5mS-K~C$!)Eagh_l-oNYl_V_u^S-axZ z$cMtO{kH8*4jk&9(fsXkf@v}jK-b0ve`cby&>yQb);yVTZF!X=t>;&1{#DVXaWmhZ z#v8rM8GS>w0VQ|k9T&Lbtb41T^$L%Cdvuy|1C471d#aYgt7AWW>Q{7p=-4t3tJo{G z-0Mmq(UBBy*8)HC3H_?qz=Pp?uR9*Rw)f2M3hWv$`&G!#CJmkw^=Z8Sj*T_uemL*o z8Wl3gmS&^eCAb>Ene>(^Q@=kwARs(zSIq(!#^r6!BjilFNrS%6L+5V}+H?Ekmz%0Z z1Uf^;*d8DJfphd#QC> zroMO?-EMJ@r6Y#F_%rcs(dew5lhRXNng3KpE^&ThaGhzF+JEpWwYK}Jjobf2WbDhd zh_RQ;X6)EpAaHD0uXlHCYkgHkGy*-PKzD?AT&H8Z=!f42ZC=;>`N>B|20K&7(wUv2 zb82XDePQ5}t!n}&9}h4+>|G>Q3;f2|bmru2-ja_$I-NIcchwpBOVSaYIs7P(%lcH$elWV1KpbeJ}SQ_**&MaZM+$Mig z`}YP7s`k2ZyQXiAoHI(PdY^Q)`Hcx(`^)QAuX>gI{;g4PZD>z)u<70zJK#{F`}&@? z!1dFDyiZ>)FkZzDi;y#ry3L^CoOU+Qw;NM_o_{cG){o!ReCFOH*D7U-k*!HEdnS%Pnl@-yXeJTr#DgoqAhP(;=N|H4EDIiD~C|&Bm?Gj+--F)$el` z%r)dt#JVwsEzjPo_I-A^H?nm`McHLetQLJMD0p^{@0%`8I#~9tQG!zCeHPdB;Ea5t z>AT~ud|54EZSnUkJ|i}+erx16`k6EKG4qVHq|-0LHx_I@rslqPn!Gi3cjMYji@Ih` z^^vva_PM=zm9W@NIKV2Yo#zq=jE*0+!70<7pwX&t~weSgNE)F>Jc=F8b zc;WU0?7YL}YAYU zVrsUza@c0d4&5~|!Ip@O#TX~-oQ6x-1TFUTthSpyziHKW@%nlt9^6^BU&U@8mzbi3 z{C!oaQSV27)n*&6PYJU*p+=O+o zJ9lf3Rlo|}KX4n<<5b&2%a?lZ%G$Ju1q{WtfeL+5g??!HXNCKY+y0YH0e9wa?0A`l zrW-1_c1?;;XETN~o;B##0%wBPM6CMo=8}EQCI$0&_Ozi%sY9rT(=&=U^2hD$2W+|{*9EuCy{ zyYEa&-7b~$I9QxWdrG?9k*3Ee`rY(n=DmwM9I)J;Qn5q(i!4TGJGRBRa#S(CR55y8 zc+uv4_vE(gevj+Fu7YJLk3qMWU8nd;Mexr&J*`lQ$iU^^k82F9^?VYG(A^#tYPZGE zHMnz|t3@swx-%?a6SwebXX?%ES^Lr0oROU;42+M<-o87d9!>4>$m7>F!OQ#ao%zSg z*wb&1YQ(v$;(XzM@xq6H?+sn=^JMnn4=NOJ#-SUAwCd*Ua$8Mzem%JHn>N$Z?tDD? zuQ?tnbVL+go$@`iGx<`VE?jjv^ ze6V7C=FN~d!v~`ys7TFU_UTSf8@Jk$yFJ-3xAnUoJHJYrZ*uz&k;2-`3lZK?TT%*C z3;Pm(>r^{$#LCY;6OXEod;OLa^fmE{vp}@_Yz0K~84`y6DIVIuEsBd)MuT|7v zUd`AOY5lAH2erQ&bT8kQlsBW&PX3KE`>Raf?z3gqfWezXrr$F+JYM{dnXc##xx;ec zh6NQ z_LnNwRTZoKsqjzR1vUsdkaYX?jOA;c^PqE26sT@Ebhf8v&~0K&_YT`Y=ft>fP%9p7y60`>g62LBa*KP_+gl6#M$=q(PJC@W%0zzlu+7e-TYi5J4C=1MGoBde zk*4=;^H-i?F9PN|${jk=;?N8&lDsRJlA&dAa6g?DYZ{ybn>(%uS8loPGySBvNs8o)J-{0GI$n*|#0#9D_ zAKtUo$U9o@!uHOH&rV8C-1l${>{&!v*H>i zPq?uB-&5(45U)iK9-995{lcw6j*PzMx$Ak-Ko#A!JO#$v;u4(ayyd*_^TX3^8|s!1 zcz@S>o4a&9QsRwBshP=XNwKN6M-(1t32y$c(SsAClVY;B0nRi!J35W}@>2JZ@n7CM zvf#;-8vmNc8%=OWr84AM|2r+R1KK=)wXd(nl*i+9p!<& zvwR+@Mg8p8iLd)ze(b-r|J3uJ5A}KNiYmvivC?8q*Tzu3yN)@zt?k2)PVNyja>Dc~ zDi&S#>$UAX(cc4~7hIBOe9*W#XC`i3J3sNQQQny6oUvbR|F!wMYvS82zFq&D*dE*K z@Ys>|*z|Z?>YMv%XXNyySLP3y_&8)rWbX|Hhn=0}j64W?dzRDt&K8aNV1xD3s16IK zog7oN#n>Tl1dqtDr^d@G5iMqc8rS{~obgZl`RmXB`cv;Go8O4p#pW2|%-tgusoVX7 z#izb=u-(L-A12(W`dP|Chw0koqCazR1QoG64pEtcTD173J&%C~CHS(Y{61`(!%W=Qh z*+KVw^GW*^zLmmPhyED)b?DQQDu(eYPI|KITF7~Z)4hgVnm%_{*s}Rg^KbAUPPUzhvhy+1PEE7R-S12dyPx>==i$ulLJ{*+Mf;*>i5 ziXPwhLD7CbCQ-mrKKIx~!c--b-ra57Dz}#?Y!>;xrK+B-um=Jv}zVlPm$juJVj}Xr-!I$7P-YcW+7kW&R@e!&SUZmKQnz> z(Ig65;NoW)Q%ICBi#)<3Po_z9a?kWYDEiX4yJucepAsx)7TyTw=?q7w%Ub50(pa=1 z?-CX`dYQf5L4~}ua?kV@ zl_)O-%t9uZSF|$Y%q=XQ7SYTz#mmTUEPek`7QUhdSuZ8p%5Pv)vNUwhQSPios^Ik1 z++s&l3X2l%nRzJxCA~9q3zH><-UzQWwsdZ?Bga;gw!+v3(v}$8TH0n~+vlbqnan$= zxNKM-QJWf;UU&ASUjs2CRb&bcUBoD2!OToAVak(I=xsNFoqe6=xuXB!{+Ji~wy%83 zRg8}KO5e?RsmPI=JmkekqAlK$hba5Cp8Ri&iAv59B$F_*vi^G@$Eg|j++ zQlreSpD$!BL_5?em&;vrb5AcWids-Ng?!8&!ekzUBQw2~?`d{3u%$aHF&raIv^Ap| z%bV%j!|vYlTTGQLsKKJ-QkVKs1B5aSx0ox4hI!1nM6&y+iu42R2N4T4d8bz_vKrmr|2pMlc z9#P$tb;8s9jtIe+6uGG&d244Ka2NjK=!g=cT(7WP)~u~Q=1}2P&s`>4#)A2y3e`qM z3u|I3cT`Z``F4$uP@$veud!8&h_@nV4 zIzrRfsx4uBYS+Y}7 z!XT!ww?eEj2n=OGOcV=JqFLY^m&S@ph-Fz)Gz^%=sxS=_Q%5RgwXa4BYiM|*0W zB^&QG>*_iMZ+&FKYVY#{PaU1x_B`J)|%Teb0Cu@4oiDRlA_mn^x|0@J}645%5vFYj=7--|^HM z@Jf_7wI}wlBOsodL>*Y1BgEJi8VvZ4&C#lbwsIxRI;?q32Y83Blh($6`p9zN?!Gy* zU%7n4weD!twXMh0Z$*}s(2jG5V9V2t>L_UWWF1~ku^|P#x;IPWbsjaz4WL>Qq-58O zvTao=s8*Xja)e|v)vUtxq5K=~KYi_u#Q{lQjeTb2bncDu@oO*pzFKtkn*}zPpY?LL zT7(x`(ri?Sh+*Ty9&T6~yuAwsM#o5Z*bDDJ60QMYOr{Bdp6(h&MfF_t#UFq&n}gXRh!rI7r*Yz z!;Ddv0tyd3_u24!)&buoPnYyNo#;8LtUUMb*Ft6}mPU;cEN~B(76H;HSU>OGSigNR zx?>@!MXdh#a*7$ejENfJsjW4%B%icc(uQelMa^{2MHBJ=M}s$P;N#}(UA6Df_qSXJ zULSt+!qbdS`K@dxelcKX+Q2=|Id^0G;r%&312imzD&0xE5{}7a{E5Y%MEsHG#o!jA zheif@QA<3;0I5og!7+eZ1L}+lr3|Sc$Tynm;pB@-01%)}PL)B4R<;Xlv9C6E<$t&x zzinvmHL10WoR8oB+aYetq^i@eT6fiMzO<*^uVeqwVVM=KY@`PIQPa*^G24Y1d&u^` zW)l5o6>R6ftJpVao86iT7h_BAG&%VkGq6MeKm3Dq_g+FeAec5 z;#PFN{elAwquNP}Qh42t5N{_6Gll1vn;ItF24k*Tpw0rR(gx@kQ_MpR1gbsmTq4{d z8Ad=+*>P|lwZlWH41aR)ge%5aHZ?t9u@w9PtZz>;8XmBpLj38(O?CisS!qRV)NIv- zPNm^+pg9TkR428^M$NG!*oRgdC5UA;oTs*=j}_7CyWwTyGN3S!BpWKMU}2!JhJ_u3 zjTkD22wPdYudo|KMU}9h;?+w*5Du{ik-`Tw2xzuc;WYJDQ>t_$xwOEMw1oqn6yQ%3 zqt~G|Tq3@ZFII5U|{ z)8=hS;;S#Wu8oMBR}j{E9Cbc>@%77NV;_96f6Vja%lc`idv#Z!+dFq3m}>(EGuxNe z`bx1d4Qp6pG8>k}3>pF_NK7sTe2M&#R>>S(Y1Oc~#yKK>(lqX{Xd~d;E;zoeNTk+; zzO-8O1*L(5ryVSJ5{)rHf40O%OCp?*6nqWp3Z#Tx6BVYZVbj{-IpsDPwn35>cne&8 zv=v7}oY@f>DfWlmovb6gN)V_r0dM_VDTL3dGEX9M^<0ge3nAg6NNtHXY#&uCb*&{p z28s(Q=L!q(n)oI~A2rxCaifI|iLI&C5CgW2&?IpeTO`5ayKEVkiASif8{w$Z0trnK(il2>g zK9Z>elq3jmF*^_qqm0?UH4s|U89yu9MnlrLKDHLXyQUFKr0ifqI1+_zkEX5cFu$I_ zo(`qJ)FlA9isP&t9R*|V+6D$1F$Gi+OoEZr28PSZ!X1-%k=zJ#+4w9OSuPhipD;rp zu+g;&5{#9(;Zv3`0AnHe1B{}c=&6z-SIwBlR>;EZX>}t+#}Sp~7+M=bEcK>_15+xO zWok;2)Ge3;SYS3JPYt*ukt!XP0muhhsq>p>9{Xru2roUCruNL*3X9 zECJSsE`s2HUk^B<#jY?7&|ywdg&P4%x008Fl5|(Pxi+o=yl5j|>}zo_Z~uYsYrp!* zgT5pBh{}vMe`Z;29yfc3(eLJ`wHMz_-27&%o_81)v6rxj1H&S|PK{V3-&WOJ0n}Vc z$hXkw$=8%j8Jx`!&rC!)JK8FCi~z)A^HMCcV>3UyE5G!uk$0Cl2XENz-uGv{m!fob z(SDEmHO{f)Yc|-qV(SWk0`!Cf#+hb#0TlxrJBd=ma)L2d!5K)H=Yu!{%xV~ZArzL5 z&SD}}Mw3=rm}DJSqasGk3Tzve6P8UgcpzH~{@>-KwJZlujL|gK8@Q9HP)<0awqQUJ zfaKu)6b_EwBxFP5aD(`wWCK`WE%DJ3Hy=D~R#|w#8ibXdOqF_~#wk}I*M$ev7KS^z z3UABdUaEzIHC8wX1l2G=h%9jw5+jsEI=U{hoY}(HER2zlv`FblBdy^`^Y=w|@;7K| zKdLkmKWtk(zRvKm6DM^GFQ2=>0mn(Cg)_E05!>yAvDUQO8IDm_XFJhRIyOaDYUzie z7Yj2*KL(E$gJ~%g=OISH5#fS6g;4-jGEHDdt8GaVg`+tP_88HqYgI5pN|{cG)YQr` zRktYIsY8L-i7Cgs(t;p%l6on2r~U!J7K(i#-51dhHQ`T#Gvv23t512$Zk*2AoVqRH=oBFzKw)D7D%M$!bf)(w2Y+p==MFVNaA|*8KG9&lVDoSA>u*_8}!`|3-!mO11>Bp zPC~rlwAv2q(h*y#R1s@zglb$0%2z5l66sJ5UFB*tL5%w=5wBBCFpFl2H>jh`$l&2G ziG)xR#O04egZZZ0Z+93UPTGe2cyi*CtZV#|%Jm-Si=Aq7ZF}WA|C)8|*|>op8<5=g zbfg?jLY_mRtwBIc0JTy(Q>7nK=oug(fwK0hk$8>>fnz2eSWp_l80I2NtWBMOHaeJCM4MpIjh2&xPu3SEt7 z7!(diwica9L}TgxQenkdShVzbk=f%Q>2Vo84n|?h;(xS zE(Umpx&4Kc)JB!1goUZ#7{p09PdOC~hZ9j~7{pDuOl^Qv-m+%bb#HQ-6-!r{Zmu`4>IBS*CxF|3*yEjOE|Jtz5!o$Eh6IA}?4_d8yJQ@;3o zjP;|Lo?CnPgng}hmXYN@Y!c3bhduPyR_4zUVDAna!`_Tx_u`%P;V?o0)IbVxhrr6R zVhsUCWt&}LlY4B<8nL&OSKj^h=d8klZ+`NxTRY)i_jlgfob!C?zUcG2x98Lqm0Omh zq##tUwjy3!4F||WS`T>Egt$S|Wnoh4jO3Ky`O6f zO;<1BG%=bdGRNXYy0Ohv1$%#ghw%G$E<4ueQo-^?zgDdG8$7eG&VTFiq2E-W)j#-d z=fH7S-c&~rMUflD)(`Qf$)qDydP-=~hGU36Ac8#{83zvmTiG={MChH;F@J4JG*AhXVf0*K&`1xe z48udJ3obulrjq#K{Ax)o;?PK3x9q*1l;eRatG1Dn6JYxyUDE~ew=f5ZDtp9SE#Gp7 z^9t~?RJpd=l1qSgisdM84H9-qbBKvVIEz@KCWeq?V8J*O;so3q!sb?u<7h{QD1p0l zM2yKYv_}fc1y37)Yyms`l2Ibu6HXiHRB~~Lb2h;ARHdd$c!0`;jvOExUqqJdtcJmH ziUmS^j%Wdk$cW!AX^(wzP}geX5V0F1+{2hP;fTtP(c^B=)F65DTjE-8v10aT@)xqX zzULqId)Momx9+}Ek?Hr`I{u-5Ri^z$WBt{u5AKaZA1ZMgY6X+0RFDwtbTW34B@@-P zaxA_f7K&MTD(ytZCbC6MQBPoA`~DB0_HAxUd&Hjpfd6z`&Gx>R@BdY{{lm_m7x0h=Pu9|Ods8y(}YqRDj zU0}x_wwyh@Z2h3*fjvD|k62tVC3E+r?x^>WNX9H!7QSh~85z}3YiD(>C!CfL z^HJ9tfR%zXEeJIL4tTnaGt?%K1eA&bjopuUK#LM+C*FdCU7gMmt-qnXz; zWsMKi!S!GnYRxj(HOqkW8X&B-@Js@RO4w+Ds-y@GsWuMv3)Z;e6|}u2!|;3Er0{64 z6khkjWn2QJPKaquw+2dvB_<}b!_*%r8kjy#iM~a%wAcGX1XPY}(7HJ~_pnk5$Jk-Q)ug1L?kXEr z^Jq$#-b@4ITEMtkBPnqM(LYXXWVk%O1B90Mhr2w)rHx&3E zKt?>az*PrxZ$$x<@WhC&+Z4hgO@%*kr!a*)Qedi)BPc5KEJ%A#w*X}QIFz?>#8w-` zHH>8}9c=@n-7sPbuA8(gBjS~LKJw^s zq>_$il&BTqI3<--h(NVXqDp(B?37}fPn(2H+jO=9BE(13+Coi<8;)+Bs^#cLqI3

MPuRDx~nz=o>4W!>Vxe~9=Di^`Bmo0*2{FVCDeUf4Q z$Ab-8N^D`!43N1&n5&H^E5RtVsdsGOk=sU|0!aPa7g%;j9_h*uheuiGqr%pKbl34m6LobE3q7k51CpQRr_8GN@ zI#~Zh))fNF3+qaNO?Ywu95<>F1U5bus)2l4z8ZvNR>re){xGIsA^GqS$~knrosL@{ z#?fOqFeC69i#kN*;Ck~12ztX@DUS+V!cs~ndTZBODt}CHiSIw zI0|G&jq!T@Yzb}zHllu-R>Rb)Rly$TRe3UKV_*!ISX#Mf&~vL)o&h24D`A?`YG7T( zR-FqWFDkcil~{gRjAejut!CcF4TQ4qDueP6$l9#cr6pirvl8YOd#f+QD;iuWvhi&0 zShuoQ2s5uQ7A3|*iN-@XgH2E?M#WPUGH21|Ue#G|%XX-TjpKKNtk@3I>~$fOd$Ik6 zF^5hguqQSP!+un^ET&MBM%oTELW+JWMqQEe57n{F6bq;XDU=UE%WGw+g;d!K;q6G~ zQ5iR`JP01+LXJZSUMsy=gR`f5$!zKJs}R0+!>wNaYR-QNLi_C$cL2zU+|y@pzA<29 zD38ePSp;Vwg-O2gLyy@oZdYf{p*VWXulf*6R~c*UNMkHrsYSm*$RQeYCRapzmkYWwyaMKPJ!sfTTJk;Bq$`c^uW)1AoqTdZXHwDX8 z4bv}LJsWJ)zF9pFET@C?XV3RG0C_D5%d(YfwP%Tn`gwd->Z@q%l_=}MaYSwtYI}Jk zSCTyJhczH_m9%6jq-Kg(|B*B0ub$P2wy|?Ed(NAdejng{ypI{byj412Zmv z_Rkoc*JYmm4Rdnn4b;ip0PJh`ryCplv+i^LfjV5^i{tZ1U#yMq$MW6~ceMjZ=Y?J% zD_1K4az{DpQ{}8zjRr9#dPnANE`_pGJjw?pQM$}5(YrQl5aR};WzAA37m~cQ1?APX zC`-kooZkke%S@E7OQI~>0Oc?WcO{#-6n7kjyqbaX0Z7c1Kjf+;&0R+X1oYN&<#0Rz z@~~c&Iwn1UIrdJ?&XA8=jrBE&`g=6Vx6Q+rCY^~IL0#PQHMR}wK z$_(2 zA90Pi7&HvRU#`jlS!ly((C#W(iI->pjvc1gd8eESP!CtvqMYAm0=1I~U|;PJmS}xN z^isLn1l{BC@25aIGuz`>@y;|8j&FjD$nE|aw$+?QSd(9dV{Wy2$kXe@F%{)HDs>j5 zV_OPQKX4ZojByjGPIgoHo)`>yy98ym4PW)H&Yn2o2wB_%^E{MH@i4LWx9 zz}m>7>ydW>mgqGd*E+rme92#7DVCD_bvWi6r9a#MHO}+DqQ3ldZ_I6Ey-i?WB`~s= zt!3xj(aUjU`_2!2UFna~!;Esn5R?(|D4&l)>DCNo%4U?cTcYf=6=lyHoY@|yc@CCT zV#9`DNyFA`2anY@?8P&?<|x)V-Jce3gDo)W6xQ2jkP0hT7w^$R>SDRFsdSSm=Xf6x zky~nXiI9lg;vlQDR;zI)|E5E)5Q*KZULVq|AEMoHz?G#pT|2g&>#c=2wZi+LBXmbR zc_ezg1}zO*FU=CGQwteb8nt)6zYM)#Alz*!R0@T;p2QTkwz>iK7c=W~AtQ1Z*TGyZ zT!=Ee6ng)<+eL>&k3ZrzUk_4s$Y1F2{a8jq~a%r@P5;E)q~ChPMIj!cN#$`|qvG zjci8oMT(Ji>5tM4dYqA!NkEyubPm{*a#{-ZN$zO>)N>KYQ(kzyrx3~+-n5EE>i}X^ ze)Ss%l5mTau+&yvCeV)S*AB{({{>T4#}T;Xizd%DUuhncgHHKO_R z=Fa1L8QD6L`AdVK2Fy-qnd*);dD+t#^}kD@8rG*1+PrkH1;>AQUWK|f7P_ixjTG0K zCSG|(npI#{Z)7H#+t-`g04zgE<}Ymu>3BM!<^LvDD~R>0Bi3OT_x5nS(X%tipS)1M zEEElLzIPJHwmxqlZ$no1i?ODUeNCj_wL#0?M%J+bUJ(*THG(r3I||Q!U8i(R$9+f) z&WFd-d>ChLN#Ug+KV_!3aD|edMA^t~Sa@yrhfijVFFV0 zq5@dxK$Oi%rjJG$Rve^fPR1-l0E?M%JtlxIi zJ1-37t9B^s!ZF;rw7v`ZYycynk&SCYvJuL7xV{)+M8&qD)dn7mGmay?k@=FuaoETf zkbS-~r-T+VP7Qeobz%v?d6#t_hQn~SS`18$|Ur{nKR0>*(l5A zBtQyZCS8KmR(HZPyP+h`_HUl7N9VLitS=j^v~U&ol5mG|5@kXn_VIhCQHof&s`dw1O zmn~*f*@;@a%V`Y_Kqf2O`|i_+?F&{1q%DMvAc*T&=DYvFO^sN$uJ zEP`bI(n6&q_M;=(f9Z}|*$XY*;O^4M97>0B^i?Mo`$c{5*ebOZ$SQON$QT574?rJRhRSQAw*nDSIT<@}|y zAbiaUOsxan<!Hr{@H0JI$}M?h9yfybM^IvM-1k+9U{qjim}D9QY# zSHR|=(@l`W-EYAhxRn=#h_jal$|2f|l(Dv*TdPHjr zUVR!`{NgZI#UNMNQt3FYCI|M~1oN~ewNbVPsa<{k-$?Wr2)Xhfih1ZBjrshUWKhvi zkl{sfHnIrjt^urH?Mgg=Mb^eMh4(4`%%N&1l%lFzCA#8Njl+>Mm#!K$p%iAhKD6Yc zQXM!R=g=7H$A|7#Dv}gW0k%~aBT}0A2O2GQU6;z-v{%wN=~@SDrRdqM*a6#S&&1?3ERUz4;~jLohmH@@ z@i96+Psdm2_zoREpyL;G{F;tgJRTe3@z{foed5teDGD)BNEHeRrI1Dx(wss%#&;}( z`*e&g(kTyj=jdTa@pjZ#r_bXhHd?1{-Z1~Q(=E4)w@IfIFNuAlQ(?y06`cmh%j~gE zzexrLLx@U$N-(Pvc8POc}MgI};POPI&6XTuPYMti9yRzf}q?wLO4)5pgY`;ogGk-L> zvl{`zvR$*q@$T%UN)YvX;`6;*d-*?PG!b2e$Z z9r1-(36rKf0PJ)#+D0m>fs;GO0Zojy*ttX=%8x(a&{A-8!CNKq9f3sDp~4BvXaavP~dkf2{z`YNSZ`O0MJge|Kq8!brclluy2yGq`3 z#9UD+SE)*LB&)<0s?;GllJMgLK*fWvHUl z5-3BkPMGVeObOQN^Ll($Rx{Xoj;gUP!J-YWT6{0Q8p|U(%!2APU?FUs9!~<=u3DBD zQPDYs9aU*-?yvDR*=?1ocmFHC7AsR#P_>TST$|O?$=w{rB2~IOskk|u_1CGqxd9uk zQ=qvKTcA^jxf$E4Qyp^)c1)+n<~HoMPA$#t*dIDYm?M~bHI2HNJF^NpSUI@K``VO4c%Y|doOb!utOV$nK9m`AXII(0LTVqfZHF^^+QbsAuvz;^32 z#5|du(J9M3l|9gDta&DTr_&_!Z01=*qj~0etgK3>`V==WV0CmVZ~mHf)G5%sgeB<| zVqU?rb*f`t#b)c&*u0Ld*Qup>13REogn0|Qrc*cbHugd%i+LAw4AE$Sc{eMq(-8A_ zthP>B=6$T4PGijnm_?^a=0j|-PV>yi*m#w0LitXxuXQSKKFxOO6lgxne$Xkze3AXE zQyueV_Ex9H=Ig9bO^sTbZ?Z}{MVNnL4Rz{fzRSAlWHCQr19Tc-e#FM;G{pRjEz~K? z{G4smX{`Boc3h`P=2z^7PV>xvv0qdw9ka~*mi?>KX7fAdSxcjQvn2WJRAA;(4V6kl zJXva@(`K_#>Y`J=*-1*!sler3r*dTVYVS#&a38cV}e z8Z~k%Zz4_5$<@+Sny-_OrG>Ocr=pgY(jJ}sEp4P@It5tTO4oD>wsepl=@eq=D811s z+|pTc3e%{urHfQdr_1JUQYD>Eo4ZSOb!uygl3M8$Vd*9HR4EtA5F-uH$<-1ojn>J> zVwUoBDr&Jv8+G!xBuNE21z3`$D>?;R`btlA3bFK)cpZ(xEvb^PPK_;TQe~Ykn=_<_ zI-NETlp=L%YZ)T-(J8|6g_Nt(&6ue?Q<|!it7W*fSSKG#j!rLN0*Shh*+RBF2{ z#b4xKJ|?w0oJ6wCKWXH;s@Kf$s`a<8Y+1(sVYf%~;D1QZ=2XSWZj5bh_YqPFk%}(fA9V z=cUssy$L&HxF9`M>8u&4S_47RM`HN}seS|DZ(*N2%LS>OPD?FUr6`@&SZ+vZI^|n_ zl1A%v(DJi1N2eIeLus{2Qs0A?$I?EXVl2N%msC36^q}Qe>7h%T9Xz@w#;b(Lzo#4m+)akyZC@<1jqnDPFJWQv5EoFGJPA&=M_$-xLpRSltfv?ah z$713;R64kEv$+yKtW$xxGQX@-^@J+?fllEGRrx(H@^U&E5>t2+l?KH=O6bG8>hv;U08i5C?}RiyQYS-V2LDQ>X%KH9->%ckgfI9B zo&HW3#-He9NX+6c&5=ga{a7~lA(~#KdtNNh#_uvPneNqmbvi5^t}n4%oxZQ{l4zw} z^$RDCNYj^4C6VJgqj zX-~p*K1sDaHnKzFY`$EOF$Fi@O&H zu7Tk0?heI^69`_QKyVEXEpEk&TX8E+ap&dte?R1zo!z~;P3|tcH?uSIr>Xk8!S|Kk z%5v@GMFBfjm-1=1?@ppR#hI<03M==7EJ5(?YHSAzBKO{D&K$~W%L8f^o=hBK z%=xcX)03ucIU>!tyliH+(-g*X#R;%Bh4u4KX=H;5N)PEi+U2g#%nIxO@T7PW#HGh2aE9DGFPtOWOLNh9_*U7f5gkR`S4nBII(T7`1tNi{^=4Stqg61FX>GD z;G*nO1G*lA!PmkZ=N5z2o0Sq8+I~wcYTo&e(zYL{M~ReW2Dyn1WV|g%E!Hl-?F&tM z+>hQ~2Hfm^^EhiOwGdRb|IlXE`o-(h4p#Wl2cuGHXVNgaZtrI8+R0Pmy+o>@E*nt% z?w^OeO}2DeuXR_9BVsKFUn{}@Q}sqdoj%$tnQ%KgLvZS&J~|c#arUVYn?wiORe{+q zK+`1G40)nOxN*W2d-TVug$(;hhSMtE!z|SuSTm3G=^4PxiOw%EolY1P_yfX;(Ui?y z?zr%n|KwDc71}S6T}I2S zlawSeum{+HOf$|XW%7)UDP^W?rw?zD{NpJ^upep*up#HN`5pz7=o}V+5v-^l3jp&g zF`T-hMZ|#Qlp6qyop@NzImwX^FXqf<7Z;kxoenYozWqIdd5r*GWuHpcS45LHHyTnt zNYqYb*GXdWmm5l9M*y#+ON{~WfPx+vYC?+zA7Ht@`b5Z{qnrE08PbUD0=c~XN4pupX`h%i^9;?BkOx2-XhGWQff-WgvXNha`Ybo2fC?%6{d%98 zRU-4wO)1YdoAmOhD?ys7Mcz!dn42dFE zQ$@3_!;FH2gQIL!dp_P09){k+s z5(tw)_u+lI=>w(Hhu^^U*(m4O>#PH%c3K^eRAe!P(eWz`G5pHva@ySZxvAMmW1M&L z2P+J#DtV0#RO$>~W%c>xA{{*HYWJ5m#-6fNc3x`jD#;usT9oZP>G|c9xzT)Uyk9s5 zQF$>6NmZu!#(5*W`|2|T56G%OGas_ED_ECyxEIjBX|fGDxa z-A}>}B*&DC^47v4+LRfTDw|ga>eKZf9x&%Qv=E+)6&5^%QYhkfS2<$y5}MZWR5I+^ z8P^V7xcaB?8D=M561B;md1Be0PV1QSUR1P7>h^x10tGaVPn#P`5FRLS7N29TwCH{p zeb)a#E2ap|iR#Imq2L^mYrzb+YF^!jj?l)(JL8D4{DZ#T!l~X3wzPoA_*T=ALJ|3%j_JT{;0&9vkfI4^jALWrr%qR8C4Ft-`T#iXXKcy#u;N7Nu5W#c?hFQauu5RwL`5Jj+Dg@E z{gWf#34xl<5sAO8s9v>$tJ4n?ZUpUL8Bk~)6WM!AxEf93r>XtIhZ4{l=~ z$gHyYr&XNVvm>1f#hfhJoeJbF#JHV`abcomH2$!Js^pU^7E(Rxl>-cZ%|~zloP^oV zTn-p`+2?o0vHiM&L?m;$cbsUi_f+1nYsb~iA$D_)b3WX{=!EQZpQ5b;s+|&w7;9vs zKW7KtXy~#$Wsf<~XdYow_32e zn+VV17>P>owWlSio~NFmzA=UEKGmr~&oaB=9<$N|bd_`5Jv)DKoVy6WbmJI2K0&r) z8-G$A$3@O7E@%iXXuI}`zA7ZF@~=FgmZ4#g^{NZ>il94_Zz;K(!_!+c#SYthb6FEH zWyh*4K(@e-S}iE0s$R~(z9A$JZxTJG&W+spn1_86VI0dRa7^5R;^4Qa^dP8Xwn+Lw zFip@j7ILr;8tr>28c;4nj-)r^ox!VQi?@O%UQ3ufjBqH3wpweDpE;A6&Y&FwTy(U*9Fl z%f=m?X#A6OK71+O)56^-lTa&hmiA6IQ$Wi}S5a+m9=#qZfIG=1nQt-Y-X^LObuIGR zDk7`h_wrrIuyPRpdL)MVvgyCQ0%ZYc$_d6;U#1yoe2g|r0mK>BWnm7hAd~0e0ng{# znNsvs_1IhA*m#?Ee4v>8Hdx_~ZdxOQBBI*FuV%hRwVUgv3zR@B`HAnrO8qtA1BP+0T|+ZYdPn;Y@fn$=jW@)Leq^YEO@ zLd!DqxDsn#_zC7RC+Bgoas=&<$-c=3dT?n)d#(J;`IlQ+Iq@?oD?+>exvdQnGvMzc z-appwk8LxnEi+_Nr?=mkwHqOmp2;*NfgSJSIzcy`&pJ4?fi0Lp`WVHBV<8uV``Uy;E;3H=(-YkrftDO`~e6QFXJ6XC$y} z5m)jQkkJtunCxBr4pB;D8?L=_r2CLCIDz>yxAiLek3ns!la+r?cV2t*fk9~^>H?X< zDm=g-!r*Wi`|lh0G!ibZCoH+U_w&e!;e7EcSkN;*WlE?CP5dTbyo6?vWCIK9^f9&$ za0y@ohpX)*cY&b{1jgWrSwvOn({&9lRg@W)`E;?X@5W!bUf=*vz`Bv3(D$Pw!Ks8K&S|Ac1Ow{~=Y8BJo$#3jV2BlBGu}RddiYc9JS_;TN zok*oNs#WqXCVzG1BA!{+{gChX#kX>4_dM=D7b*93U#s%Et}R&6Iuoej)(3y~4jG+0 zjX6Y_C|`6~lM(iDt4$I)_>H$ZNUsO*kk`SnyAV+_dDSX6{Is%H@2oVSWjo8%r}J~G z-=*9uFHz>pR|%f{q;v(L-NA}K!V%m3d@sRZio$leUv0tsmSw1rVEwf}bQQh$d3vo| zr!TNK)QHv+-XNS$qhv{6n?cZ+=Xf2k;X4kCDptorb;&_&#@5NzGn0^i5Zi0M$DJpw zoOoguK|ffqYZ*^il&lhN;Bk;`FCWaVZ-5<+u`h~3dF;p1R%3xS-WFKYD}g;NmrCa`*kQINO;w{Lg#BXC^e8{&LCQ zSw%WM#;3&Aw(hg;BNrB>lk#D}elDyvAU|+^6E-S69q@d#!L4 zuD6pFNVFKX)?D#6+sTmiFB8;8RdDU$5XWcW_)t~E!^JEQ-(HmGC7t?unk$9)9XT4s zWMY52eO5P;`D&xGB`vH50lCf&BtgUg69QGor!E0O#)FdHtU6`XU&X%cI(+NZF$W5% zTGg8JaU(U{)-4k!9Ir#I5~4nEy6Oq%IzT z65@xCWvaXf@ovcNvMg9wcaPdFvL^WZ{B4IVy9QCYCd>n9sz-v%vc?~1#@VZRY#J8a zj&rRzSZk2Ny6m%tZVXkt|A>0y&3gz%V+>q43*@T|ExSB~jxX?Pty)BVm32I@4@!!` zj$5jjdkD7u2#W}cwNl@0ms=-~`dWMpU^>w&u&Tl@clO$TOG?0@s8|2Y*AmYz2SWy1 zJ-OeI#Tu>X4c3~jo8I&34G7oH?UKNvt_{#u^bRlL^@d2^UJCdhf{9_FVy!x7VECp` zv99#^QKXyp606<~sOlyu=!CxSudoCBQP?c=E@=})9Kgv(3}#YU0<7DyNLOS}%K{N0 z-f4BA9pPSlKa=N-7b0qKQ1yJOx_Uz_yXFv*G9~JRnUE%gBH%PZ~m!Hk$g-$Sk0_DZok;)k&jG&Iq{<% zY5xkk(WWL-I}aE`K6Z(;v=TFQP#?jfHpa$Ul#`HVzxWsH`^#I7WPgUUF!5S8d&^zk zub<%Q!zi9iQN)lVVr(0h1XR@QhZ9}pHM592Z9GOSCCNVsd-p}0?_fIZ$r7LVme7hH zE?YyPr+q)#4a2mq#N$Fh&%E=rLC0BK#&LkkEg3)lAIlf(RsN#~UB9=xCunY~@hYmx zF{&7$#Ua^@)01%K-`U za&oSQ!#bKGlSYe*_Jpk&24=6SHdS9g3cWg6?$A%PCX6-qTbT(}EWiCJ9?I;UnpP*N z3%=4A)wcN?l0&?aH*gb|Fb7`h>9=rIrLq@L%dj=KKT;7w|AiXQGJYe~1lFF|k6DNu z_dP27(2lf+Tj)imJ@jbHKGiU#AaNVR`l)-#wf!7f)X`z}j{Ik=iSBP_tSP4R4qC-0ic&DW0bFOXb(eHjy_~jE2}t zf^DB4iM)%MyfOxAI6z*$Ng{e$Mv z%CiCd>{Iiu(#sO7=1iO^KeU$SXPYGSro!KyfGmLHb}JT4hI9e$X#4f7UW8n)EpZzC zY^n3$k@h%je=@ncq^47e#R%zzB~IM2xWBVurmqa7+7FSWoKyvew<2eAM}Dgj70C=p zY=r&>g?zfjMEOHWI!25sO<#?uiP_t9q&-XP{>cY(u&gv3`7`DwKV_JI!AM4>%%MTS!B=$T40c;2MwS)FTCx1B!(xgy-+4VL}>jtvHXyRNHo1M8e(PB$)T(O3v>e&x`z zWZMspxZ+RDiNYr*p0u(PW@gLbUf~L5jnJ&^=Nv^bBu}SJ`{f6bX(Ij$SZWni!Pmb3 zz{nEADi6b^#?=hL$Gkd@zD&Ncl;EEHYYlT9d;y zU&nR?Z_Nf$uAgMC#O=$Uv=VDh$}KFr=SI(j6inF`Rw-@n?XSVwngNhi`9h*Cd2NTf z6U*y>rcMb>sgaZd6gf%~1LV6_3ERS0BisdBc3Ufi>7r>Yp7FoA!`TNdysa}x?X;wT zJBl3d4k`&2Xm#Dn0gM5~G53ZqC~r!rv%Gm%WYxdhTawkA73zxT3+VH%*Q(1yBo;z% zyU2hn)w|2Nv+^%r8xt?ZQTEFM`}4u1g1C_1LJv}w)EQnl6N{Oxr4`+;JY|tJpm{_*sHcm3;=@XqjX+|id zxi4;cFpZ|V^PP4a>uI4N7#`B54XIee)(ra{=Oev@z-EE%Dn6_#hvAwkj>dasDkEBzqITJW0&A ziklJbr-9t64EBB$;kGwqjj!xlX_!vqBszyACd$w3VP}1(l z-A5l}l;bV#30IUep_KWq+6R?&)YqeHPV!XrT25$!ZQuXvAF zU{c2(OY5wI>sUAN62*C#FO%CiA$P-Z!K+w4cPAFiP*JhdN^0pj>6*YBdX&7RVI!DC zTBm&8!aU*HsjgifS5zS`VD>ssy1*+qnr1PcBs@g?O4T7Yx%5KC_if+(^$W9-k>IYV zZupM+7&D<@3rU%SNDhB%KOz--$6a>imS#bJFL?rO@b(3m;xk9mL&78Zf$UCp*{C7; z$Ub2kS4FnRPeeW%_kcHd*c$@7CBD;VdGlAglb?fauPE|cM|-;!{ruwbCr*H)I{4HbzFm zRo%sHnMB(-NB{^lT}^BspQD=7e!=(3C_4S?4;?`~@|zW#z_t6XabJ>-*6oiA99^n= zNqC5>l)m7fo{#>c#b%u5uA5BkrLyAxJ_qr_+7Nd5 z#9@@SFH?3YvJcV|$7fv_`M1EwUP566GQ;;x5-y`QSTLYp`>Jiv24e{%)*OxZJYxKL zg3Y$OUbCwsAB>_?e66*%%cZ@ztE9u&dCE2B!`jPPg>v?Qa5E|OEIJR#zd#r?oPRNM z8XTfFI(qnZ*efCtN#b@-S;_ilAaG12IvHG`!uT^w)sAuYf__*@w{PnsjyCMoVzQ_k zIKZ=*{uKEd=RDfwhvblSv@YIGe)i8WwYjuwldxm@)}-aH%N^XCY6QlZPrQ7I4=~QI z0M~qb=bz*$9oNRMzki?mVBOh<3>o67D3!6nXd zx)yRwC(6^glk=XMBB@s!moJgUe@q_7HpX?SjsE0epNxwH{r=nriC3Q^IePq?7Z^~5 zIMs3Q2u&XzEqeTS`g)*GzM79EsSmCf^?!E;XZ)e6<|xF*F`nWVDPNFU+cH_1)DtT- zM5{#}YfA{(h<+;E&!#HBF#6*3Z3V?3#vWxBNIxAN#8?>pj}}Ay$8G*siisg=#4?he z$KUE5&lB=VJD1?XxkaBq%E9+%ToU2{T+ps=;q%+Ybk$ARI-^RM+nEsFFyf1Cp$g5S z7$Bsza)4z392zqj_rKgOGObafjGZv8q3*icw+x8J)^3=JBm}VSO+DdI96EUECTy}I zbmR&Y4P7MC#EZpNC*17I&ZRB z7|L*tp+gExyEd!5H#4&6y(j!ckIyq3in_ldBCYc8TF2r&;1%OK5q7===o^DKr@32A ze2B+LirJYI>Fqodxs3F|Gl{-x9VJ|w3Y3Hwv>=$t%mj5dzh^7zK?wGYcL-M$yWxL(fZ`uFro@@D?PxmN{YLJ}y^Wt(0L z;#>YDeEao*;a`oaE1hU`)BxQ-aX?5`HCOo)9;2qBu*(a;4K!LbbMIMYRDv#!%*w@( z$~l9Oub9=N+mm^tJ%av15gS^nX?>BTfi9ZHof_h#YeH~#PJCcOP-~i|*x+lUa{d^$ z^mE0AZk??2-I42GGVvO&KdchD`4l`EoKubJt*+uqb0>p!H}IwV17q8iG`Zp(Y@QUa zI4IxR-0yAy8)IpG4HN1o{7ma(`$yE*e_Yk_CPipN8#duOlPFmAh#J1!%9Ci+8_uEA zxnkah<{zQoF816{fhEr4G^*Ao*0edgP!E3OPVO3Zemt0^;k2hViSV=nr&ee}kyjS_ z*|yecgBFd;Mv72=D{tn%J?L?Mlyqhj9KgPuZirrkl12Kt1(;w`yo%*xdElGjQ|VqE z`ep(suctxul)!F?Z=qH>3)TTLq^R8#XYM|cX|IcV_%QRjBpl&UxAp=qSAU-gCsq=gG87J}fdcShJ5+2^I8!D5;UDANBx6hQK z$OyT_xR1D$hpPSonMq!ZRup?7u8hwjV=mr|K@z=MCWqNL1`{?Rwj4@u|)5^Qf{A62fHr~ zOYg+9tx@*oreLMMCPXuNHB~$0E4_iMu@l*> zjn#zM4p}779W0K|o_v|!2Ojz43N$ko8}6g6q-xe&?w%-|2>5Ct8x6n&?gg3N|4As@ z)DlS!9I{zcB%i{{U_)#}Pb9P<|i;`X4Jre$Vv}<}SCf-C#mhsD)aS{3H zCegLTBj;@c#$5-w*~w^*uqM`BA5+OQ;)fTy*vK0%D8)tBccQyLpdk|}Sokwpxo{`a zfOQ4y5w^=Q^jfO%22pw_%->X2d<$2k2lBlo=^mZ#Q&`gdPt`JZqv-PG>6oeu#-|!p z%QT4|D+=IIz(_{HL-#L<-CEk+vV{k=d&b;f?ZG2mQm7QWvSQDFdDgT#&1{HP+&5PK zmIgLV)ODu7`!S@rU)`j_CVg8b>Y^U{{Iw>1v7pv{d83ne9J!lZ(C0|pV~;h`^8HAb zq5Yp&EDd^>Hc^B>Ia3Tg(*1jqq}qR6m>(+zr=3BzT<>Bw=J3M6mUJZlOfEH+i4)ZGJt;pc;@mn!@${+JIzm(Q z(XH|Nan450X2!mrl z-=);XhP3ZjVQ`PlX{HCV4{M5Fj}RB0_8U6N=A~Iu791IY4gNh`+qy>a&-tGy2lQ(y zbehly>SuGe8LFgUO@|Y1xcs*?+xKniYjN@W`_d|$+}8PMF8<)DXG5mH7(U%nO%P6m zp-#!T@*=|EPpxPweC$QeMnoTPi#HOl0(Q>@vCN33v%YS+okYB=g1MbUdIW8XkF4>D z)}(GMV%eKCsLK%cOkh&Tn<1w8xwkI9J^RD8oP__!!t z4(VHOqYo{`t4Ct5+SDFxUChqk8JW3>A)0;E?rq_6>xi6?`5tVyML4h4nuzDIS5e-z zaf)VTkdG}ONhF5O;xiZ4+7tGs|Mw4i?(M`E1&eB9U_V9oiIbs>#*wnHN#W>{X-1*! z_HFuh*0Oyi<@ov8T-7C>l=_Oapq2;uP{fQ0aw7sgL!h0XXyxjC#6I_Z^SM)V+eS<} zGi9q^cX3ON7zbR>AIImgSw2cNIkuPdXcrI-%cu~u{rqhI`^^8FhASoFwdA;f3XxE3 z;{aRy(1m)MAZnfh1-j^X6xzX?-i#1ltjv{~bRZjJjnEETQ679*En7w*J5filiGd^7 zu7{8@rOvPR@lp=1ORVmL6kr?ay_J+upqQl!e4P3h^Nki{Y-vQzMvO9ogWEmHX`-^l zYRL(8%=||XI(8W2{B!Gv9?F9wsiZBMNNwnS^Nb@TISC>0hlVsUPHVIsehn=jQA>$b z<2i-hRmFlESMM*FI@*Oh$sno@^hz}P&X*eb;Az4N12>`&<|+_&R)rJk!L%o?8n1?T z%ke9>$?jJE?JfAU_qj|Ul#F%; z(S^xgWjcKCAj}RCPNJw(VLapjDOWBwMl^zwJ;ObsT`wlxC!qD z2vG+@EniS0S$=5pqq@KiKRMw*sJL-*B8{ait6EUQ!+(KX@Hr5`+$|_gT7aw-#2IbP zJv*3B4!Ci*Ti#(SS>5{c{TNt^ zWr{rmaB0}^mT_NL$eO9zHJPN|;$x76=zRDZ(cb!l>g8v0w5LZqyq5-(Om?m{mm!`# z_|zAUFE)(DS*Yk*wg5@N&FgzGzG1biXn?^tZKJxw4y$q&shFtkE#Hf*O@SVa;d{Jf z0X#l~lYJLy3WCbm*ibl^mNvH8q^Z$A1R;8V@!;hNpVDFa=ZT?C2SPR_x=p4s?%9{w zKUn@qJxI@;g?&U@x$mjXa##5qKBwMBy<_S&!oEp1?{VMU-T(HMar)r|Mls@ph&#`I zpQrw%nCUiB1cW&P-$QS_Aa-ByiR7rmka5QpHcMLocU1ob@{QU3EQT$L*Fq06(|^zlucOC(%X)JQ-9=23xij5EK{w=F6X znDcOBX418>bw3LmawL8lozbnO>Q#?9v$67kdm#c0!J)O1Y2Mr@6@N-dZ^5c9Pmt)S z=_w{NbXRhYFfQf#x}LGK(-%{*?BTTZ4rz;=&NXsYvPuSS9l-nXbspiYHjqV=*%bpx z7cMKAe-eR3Ih57GTycqh_CeZi{`<&$|7bT$@IOx%=*-3C9UQW#Zt*jPvVO!mY{3;7|X!y0q{4xUT>V ziCJZCzt96oTk|sKpHn{=aH$e*9MN!p!hdevD8lpmkKAg)tEQ!Oigz=9 zT2>vzcqOmD1z#-LaG^tsPg|?xw>4qTZymD8opL*x=_&K?rckB#^%bsA#B6i$sjZ^a z@^@wj2IAso^Wu_7$WSp73dL4xmgQI{K{?xEw9jA(%E@Od0^**VEhQBm<})wdEs?JS z>wOTX1tE2E*%imKmKYv=AG}KNUn6If+<`*JGBf+6_OHEU^?N_Qs_bs z?hl4)EmtrH?R9IkgJ$Uqa{h`$kC_O#jgT#JpNlyOaJ@$fR6Amxc)PMQ-h^n$-M5Wm z{T;1%wFsR5pbX~%*hq9&cn-WhJdTuH0UVBcwH(1HLH#55mi&)j7xq*C9n&JQQ_(K! zDjU4JEUpy!nV;G4CEip5=KTIZCItK-l~Kg9KxwL2Clc7-^NGRpaa_XeOJ?Y-{G22V z&rX{1H9~4j3u+1sADHyG=7z`Z#AlQ)Us!VQRp%1SAnS>WC4h3mca#;Ft8zFt={a4i zbA?a~g<;?a5lDqzUa7+zv9lyh{_V^92Tg%H%@Y`WqsSRF%mwBesKj|2j zGArHL?RWwWG^!2`{J6IJaa7KI0Ned>Ox__cRS|AmK747S~GptLET4V@QP4Sbtp zjiFt4hPXco4>&vJt%AMnjC*~j0*LWiQ%E@<*uw8oeK_NZIUhK}*;m>E+A6r1kWS-N zKQgk1TM3g9sk?*`h3$BDw_PJ}xf46awUFd6F;E4S4l=|N*NI0nA2L?F-54;~WQ~Z>Z+FvE=zLy=J*oe=z_&#+YkUd@Y-T4RWiR!-3qby7=gvcXo-1q9ChnZOev4NnG z4CI;$cLSAqz1F{NBqfgKuHSnHw&ot(wk9K7VK~EL6&%#kRdbD?xfO&;LI3K`bZEaX z%$}Xi>Z|`)ear-+rNrWAU1-aDWBW03l(BFX$E3!t0Uo~H4LHFI8~r-_ktxK73Wv;0 zI(_xGj1?-{OX}!<=v4@?@c!S3S#x9k1k;fL?zq^8UpJm%SVI4DmP^eT<`(m*^tbi3t0hi5{+5!XC6(vuUt8g+m4 zqqCjog=ZB`%DF>Ea4x?`NW{4ePU3JR?yQ5$F3%rg@!pJW2Dpm zI|lR|OR5*UaRSHYm9qQfb-5{f-U`Wb>L55g(_e|YoD{U_$^kWZ#*gh00T z{dh!0-Rqsq zxEWNTT|t+rzNVaZqh|lcjNQ|P!fFkqMiakgxQ;ka?QYFeS6kYI~azf6Gw}yPmRq6@PY8Qj9+0izajRVP7@QvU*rZrAuj3XkJ~8hW{teDNPKz_&@2i98=?r*ljLD8P z^EVpd#K8<5yJD4v*c#kIf1C(#y*p5s@>#)ui-~yxD|~6TcRSM1TnEC)VzaHt&3~}W z(^wgFH9T{04_z%YF4n}<3|&3MH7gL;82RT5Dc2w&x1;|HHG>GBL=ZCu=1Wnu+ zHs;O9_YT}>Rt;9vci=dLgkB?J{%{IlB{2MAFSG?dp@bd6u~`LGwlrfEp2<$9zxIER zv%G#{ylF$YTwPP3*O(T9T1y0{SSH_@D2VI3_uFTGR>}>bKZ*xm1ixWg?1}j|&k2q} zr57MnS&Ca)gC`70ACVcp(kq3Dyjh7^2?&JF)${HP;AlZ*-%QARd&U(yfp{_j4HWU! zL$DNESz%OqvgJH%BNO2SgkVNvllHF&!NhOmh4jyW1^+jkL!~pbAWRGXMiqAml1UT{ zq1Gk}Ns|kwRrj}KZ7yO6V(y2hid`+X-$hZN4VM;yUbqm8g<;k4UhzILxZ8+aSociP z=Z!ICgwv&uq5HBi-Is-*H}WvBeT^X>L^%}^@(2gad;Y8Q)1W#3$%O68(1=0+q8|Un zRL;&08lHkSP~M!>x*Lq0+{9hgVn6&zy{O9>r&KYq2(>s8@PY3G+AxY7ye*9oJoNVYCyj9G zjvM-T_IX2>{qx340OOBN7t|9+0YzL#qZ4zv9L9sb(=}}@w)0VBn)Am73d-xUA^Gd; zyE1v>R-|(SIT}~BKGITzF8JdZi;c$^W6&F{{RiUzL1!!8`IT~4l6Awn{G~iXFtsv5 zu#GZ8UJNyy{3jY$1X?&XzK@|Mzi|?tnUM1Asf7P&uszaN-!su?+R>cH!(;opfBhiZ zC5@10LJc>0`Z4rz`SXS7javcL!lW5^?Yk~ljNMfz$a9y3Q4!sXSjPINafXF zk-5<2Q>dt6*k6$xc26^GK~j|J>T4#FksOOaSVR5Dq!+Rfa21aNsfTH%mH-w)7_CU? z_ek0}J}IJVuK0eJ1H2#qV)&h@3-G2I!{in50YMD!b7e@lhrzLsV43Wl z9a&igf#gC|0(w~mA8_LCez||FXZ;Kbutwnf(_Ff&LV0#KXA|1oqBT(w=IKhhWg3U+ ziE3NF!?mVNl6j1mCUh6sjQfC0mg(m8${J7zQ#FfY4b=D8qag>HgHB~%DHc+=p@l1dvyIs4wGQ2)4TUC>1HU(Rfdphw zVR2RpU=W{zo@Vo#)pACy0Sd=d5iR`3p@owJc?5S>a0Th*6GJnE50-3o3i-jeO_IlXV?c&fD%&om0m#kjGW2! zb<6axRQMKtjQfgR>kBJeQtXgJUSQed4WtfWucu@lSA5e%*Zdi^8)i1FRD7sEeYl%) zX7Xv5#A|;?!7T)=c>z5N0k730XCl+BquPBdVRJ&zRrJFGj0Bc1a#(flJSWfA>62V1 zk1g6WZxtA$s*}un_%$_tp1~P;tPgo2Q7EIes*#l+L%orEY2AS<_sKQh^YF{%ZBHC~ z^dHug*Kan~uVPkmby&*L=iFU5DB|Vt>*yDq9`bj;Kq_CL?HDWDk+$2R)!a);IlyMV zlxM!hX5N)AKgG7&mmA)O8Cy$VFbvTX3Kw+0EBaM9C|#%y<2r=6!z}xS!9SHo288o} z8nE=W=lztgnB&!&E84*s{+FdAay=s2dS*O~YqwTgn{umUkq>TTPut1^bFrqmn=02S z-}5(W3r9n$6#QxyZcW_FEqie^F#-6X{9-bQp@}4U=SI3a0M$1%(V1&KDqW$O&{Agv zI>9+C3Q^GG9433Fa|)K#*)d~2=M!DN$~gd#r*kK}Gqk7((TMq}==8Y7_{sQdQ@8!3 zz6JusT>u#PniHg&k0=L!NIS5MG*uP7TmV_6bcgKB4Vv!3N+VT}hoAITI*Lm!3R$Ja zBQ5?}@LCgqF%dzW$R9(+-_q>Y5BQWd)2^|Ou`^-$#f2fJoqJM~yC!r)x9x=~oPe>e z<$EcjRuSIa!W}qSKlWJlIbv4o-ISfUw6qJ>&ftG!?M-TFmQNW~JEJN1M{R+6EUy_? zo2Y98w=)FA+Da3YR}|F>Z5)2)PKs^R_ZBBAZOlu_#)D*P_cAP@IQ6%=3gzGmiEey9 z+NSv0Df{1DUR{w0onA@boh?FJ&~Q)Ayr|#803Jzn%>7Wlg_^4{%6^i+EzSpbldWb1 z&uCMJ-4d;4INOJ*t zuzIH#Zq>sT^)T~6b>ugM+41y5wj(uGPqRFKKrc_(HWy73w1%k{p}dEs`$**#Cdx1=z@)q@;_CwxW3QQanT+&XM01 z>V`bzTS{@ABmI4gMvDjU@}*>lhVC56R#7|}VeOsD@Y_Kczadp0>hS)nyy;fV+M`Os z`{gM7O9$@l#{yU|KcWE$t%b;-PL&6{YqtEv8ewOf!l?>M8Lu+1%9;}+Eve)$NvPvEf|1+-b=F4CUIm_d)%5USsNqo(CX<{2J7 z)F{8GPB_6$0ylUTeCmst55n`mE#Nhy8xAL=C}sC*&K~tNPF;{zJr7%0?pwE`rVNeb zfeccHhF?I8DbH4<^Y=Ud+$rX-cTn8zcoq$?CPVFTt<(t1CPkx*5r2t~7jzmwMth}* zwzrAnter57rtewOh3!=R54ZN9AyV#-1aCWWcE0?FyLSYZp5eR41W@H7!{1>LJBV5n zRgnXPb1}^vBHuh4z{}76Id4UilZV$S`)3<{6?v6kLtrUAGml~LdI|)GL%@CRQb?U( zX)X=g_^Y!9ibZfgqeEvEaXcRjjZf|{07J0dD~v_}LPH!@P(#}cZp|0d3~ohlM-@%E z;nV7C@6Nr#o%huWij|^dqZ(;b99E5n)7kOP@ncU|H9ecFYW@8q901Zc%@n9jWV*>q zGKkL#6>CAL{6ZE+uu?R$WjXqKm1g*fU3Ef=dlF$eepU>-3`eo!rbd0BwFmUN6=wIZ zo^(1=MKT;*fBRl9nc(Ezh-`Kpei_1n-FtOD%|q1hw*W%Ew&1s9%3{fr`wyrJDsdUr zpoVFjoxrLAyBK$R9kXne;Fu;6c7^}r=q#h!=(;xiPy^cHR=hxiOMwE#-GT&nDelnX zLEGZ)Zp8`iE-e%d?oQD_AOs5z`FOt{bDcA1X3dY0HT%r$eczr=g@_+ztZ7Yj=V^>EKa8tBhqR5E>7A+L+sgY4e&cmG?)eV}_a_%ITutjeapf$!v_R}R zZZxtHX*Hv(CVehmG?uXOp8P!J;C$E3DgSJqFQ;3L^WyuN*ru32Bpc0_tQjzKz-Hwj z>;!VysI5+5L2M}Un?C$)k?Wqs%_V4mOTF46q0^1=EN`_PWXjcHhRW)eyd0nq>QbYL zA^G?qzx2~8w_AO@w_auA1I*!P-Zei|JfJY{MMe4B!@C2+ozji?(^bYi2hc!+!ejY! z{A<4cp9ivM|8PG7KF1*v2ePJekq$%Nt=MrhiagSv%Pv3)HEV~a)!m%11rH8PLY z3`-WiyT6`By6XEmcg1e9jYl3_tBf6cj%FkN0<9KQi@G(Ihz5e?ZyZX}MhX*1t6oLk zGjF)FGiif8i>cx(gcELYhjw!|m0=)`>;Sc9_a7atR<-?K6*%F~V4Ls~ry0EA8)FYd zZh)T2Y77-q?8wVC1)RYhxbssgDihM8K8Q&Xtf3>KIHFk}_tXWN>ObYb<@G;fiTG_} zN`JDHhUItJKP`5b+c2}1oQJre-|ckl=Met*K-M;&6b+RHyLc_~d~NReV0x@-eV%Bv zl2aLPYE_P@PuDZzEIM>snHVO4Eoxp*fo8lzeJ{Lo8a+wh*!ho`XnqaU#SVKo4WvIwL%R$|teuU+o^;4%?bh3F-c@SqYTPCIF*xD^j@w`O?2o4j+b zV~^0d)M7RzJS=v<1Uw0T$u0N$u<@HN)~5yq*saPBFEr|NK?q69rj=MR8Gm_vmxe;ea#KYhLo#Mvzc8 zPKAf4uClNFIChS8N#&Pn|5OIaN&CqvB;}ILpXMhiN^+IvIKi;l?(^t2D@3c4aC z5_3q5BH9~?j050rV%OktEh#aL0pi6KNtkcNh%|-Q<5RINF@1k|9XXI(Bb6d6U#s_4 zM(s}d>5tB=7|{amvY;l|Lf15P>tjkbO9OEWq)5IYS&M4L>eggQBqjQvWAU`=5^zk5 z=cik8d)zE@dQog9kjm(QT^IfZIKosGZCdReETw{_ z7&)S;6PD;U2Q2=eRrBBymon0(rg6vGKP6*tT6}FkLU^0(r97r9#}LC>qd20=c+mcZ zyHZCgzL)c}Mn#H3(mGt7+#%VI2x3;H;rw$jqJ9>e+#vvZ^L8d69P^z{>V*G-0_YIaAR;E9KByW6!#nCp)=K7K~pFJ9lo8{Z<$6 zw?a(&X1GNK()_zH6!g_dF5&DI8;3>57FE83$pCIY?=u={>mp$_VG@TIEN-P56q3tr znvem51og_!h{?Ffm*gGEmkC9e#!s4u`br%s#Fber9Vw2?2+lDYD_+7@t_FF?>GG`{s9b3^@Q;$gD@(%D-0O9{Y0;{MD&l_cUhuTr};9wS;-P&>!eb zYzGtD{YreW5wQF8{?XXABBlbLILSiJQc{XUet8=xjsyYYpSop^gDeh-xGZF9z^`&# zn)X#implMAgS@aDa&eY^yyv9kX&p(0cw#w5mhfjKH@3RIW;_0t@PYj+AHRD!-51xA^m zyDm+xj-Q8%Z}@g?oZN_u=QUj3RySQPpL>s!M1i}X`%`5(9KdA+%+J}AviCa{@z^8I zzsc&Elbmt5jKSJCYl$adHzH=I2EUU{Cnrl3{4tIRJw_ScC)xf*!omjj<{cT~5vKl} zrcZ`L4p-7qw9C;DPzylUcDf*LyQ;Y4IWqcqB99%Sm?`0C6#W zd(ZPpL77vGn5}9(F}Y-)@|v&xt~lyP3IF|MB_|Y8byQ`?_}iXYAT|$pD6{e zYDeMssoDG#s~e5oM4dqZ+@TBqN>h*C$=5syeL!}bRj)Ft^Ky6sog?%HRyH#M))|F8 z(f&^zC-OL5YZl`H4WwX;$|@NtGL8K9bG^!{hmsY$u~jffK7-9_?P!dJkb`wrD;EdB zsj?TZ>rQkHy90hk-r+m1nR-C3J`Dv0u@}@8Yw94sZ@atsdNF;sjeMft--1QL9epxH zzF`o$LT-@K_2F0;>MUFnLCYR? zzhf58>Rwl_A7hc6yt;!Awt{u5`75MXQM)6q)g3lqpO+3RUTH6}Qc@$>sKgElKKX_e z%3BXSI7e6sZT_zB`xdB&OJ^@&`8B@mx^jo*T`~3T`@7 z|2ApK^$e)3IK#FKSWbzn$O7W4|2C=X(Tdo;;BrbCUGRP#@Khh-{hB&C%0cigEEoay~h$spPCm4L18y?%$5wlOiwKm9SnO2`YYaV|U{yCH=jmK$ z3@AtpvK4GIrf8o+lD2nnLBTW zaV##chH7M&s1huj;;K? zMn7-Nu8-yR!zmZ5q@D6ruM#TQYQ$Ei2H7*W53u4kP+fH~JgKjLHl=hIH#o?eMd0*- z*`#gz0xYs#&3y2->qNu(-nE#nU?E}`2*95z7f>DbmCaC^k~8bC>%E=>!f~HY%UeM+ zWv$nqAJ=|c08S%-GOuQ;vNTB1<*tRK8`aS!k-ZvEy_ld%yUhr{Be^pn+?+ zc_GKv(xQT6En*hHr9`g!qAC&6xOTAb5#uDB5})J9bOP@*vP&aWol2`#D=;33&Z!J@ z=Uf)?Pa}*GV%~5DkPsxhw763Jj~cO9BQ1tgp4?oMhn{RWo~I@)hNp6kwyG=rzRAtu zIukeEn>78j1o!Bd`aqD(37X83g|1_>y(s?{I3=p6cM9GBTsM$HB@B`W-> z&(cftG!)A$__PwsTKvSva&N1;0G;dU%^MdMh%foF|K-WOMdX!OHecpoi%7K$9YyMV z?`5+q(NrRsL?f2RO#D!v!6Z{=@>}FluUG$!^)9pc5zK9xWSP*>v~fqC9adlbKV0W-DN>=q5EDfim`8j*Cybx`EO|5BCzmKh#EQ3IgejD0 zb{k(>g-Mjd@7E$8?PXVG&aKPdhg7V!YVx?uT17K5N&A95FiF9i=bJrmH)qoAeKAe?+1H`!uqiJ|L~K zRvHU8?4JlY0LNPPxJClDco_t(*hXPeyeD(>~h>dyO}M%t`#rv|q& z-vo~(s71uIMdBJ#4l8)qobp%#RA&b-+j!nhbq57Gnlfv~x^W34FR5M}HgcuBv+2xl zHU!oa#nky%QMvkL*xu;~R-B&&x%Nl=Js=rTvFTJ;F_sZ&TWajm3yrkFDet~ zWubEFjZG7wimvRkhYL>l7n@F`)7q?}>P16U2gUZqSy)wCyCST(rM)jg2!t%8aUI}Y z3YwK-(l~mUb1hA~y~Kdi3ULL^%?oy#hL!&iG`cDh`aHN<4Dk;a8je_A?3+!e3Y%a$ z>YH82KAmT$fmj!SuF)^#DsqvoYwwy69Yz8=d_99Rl%>u7aTEO8+C5j-j=Ux~P%F2g z`0RkoQ~17-SdU2IlUw8j*F+gXS%seX(9A1q-#edWDxdeuy_IP)69YX6dMJv4{1Yj%kW^Vxt?jI|Hl8zBzO9*= z6K5!pS$*mKe(gVutj_^X0ZemHfsXiX&Si(xiy{1Vi zbd?8*W!n%YD}j_?e8P* zsw0X9{_m=`VJ_6>-Or7_aUI|HLXsZa_*F%=*ae7L*FJK2lRb{~s$(;S?;9x->Td}C zAV**j0q*sM2C_w1#dhSAV5?>e1&5l&JDxt|Na0+v`TF#fy*0Okor`8Vz<^`wfV4dC zmvdAF$CrHj&u_vJxulR~edjg>C+}4KN7if}E)8M0d(<3_wi>MP2L{&9_Y|4vs#Np+m1etbQbPitP&M{C z1Zs1bo!*KHD|yRS#qCdL)I2j$&q_H-xQ)E^#-@c-%&7wWimG+uxMi+_D(0?~t{07} za@jX6+?srT&|fZC>r@1?nekx+F8MXxYGc<#$e`p)cX53S>~F%Gq``T!OEu*o!~krs zyQ7Al^7XrL-zPO;-ydTXk41b7<(F?(l@c?3e)#Iw#C8mIRqE=R?3g6ZIgqub;lS6T zL>4HuHwjx-%f{RPx^*cU`$R0%-!n{{o*Ru3()O9BWn~f@80fKUKSACmmt`<%W9rK^qq=ZQ{w@RNF{brY0Jap%J&qy-3meK#vy z%pQW$xGTP!-5_|dy&mc|MO{WdNBhao zy5*gE%g^SCZHpd;!_V7HTK>7sX9{;bH@FZ4J%m%3_Pe5B?5H#=!`}oR=P*b2-{{bX zl6E|T`-xTgIishjL8r6WMCL`$gLsL~zMpkP4^Pe_$EC1uGwWm^Q_PxqU=yq?cR?bJ z{l0T7`J|g7Y9EiOzl%dG_%ceDs>W*KRa|fIiK_2Z; zxIxZwd1k?ku{Pemdoi3lr&^0+{yS?k(i8+)nZkZtuV$(%kDambAG z`TA``yM)b614U4(Z%CJkcts7J#%z~KPnj@&Ox@$L2WZVJD~0+|>W_aDx@8sW5=#T| zyEpod8&hgK)Y575P!ju?>U*QIR(gKcal63EtZQ@Av3w$2eJ72&i9LK&vv3zuH-yYY zEc4}z|5}?rcxy0pWn?oO8aUx0=M<+3E1;e`F!}_=GlG@#-Tyc=YI-h|)A1y|@3s)C z^EIa+rsAKF?44@qOrt5Qca&Y`W~_-#Tc5%1%W3n>J=iQY+-Z)US;#Kbv#hX6_ETr$MS`W!0XSxKEP|MEy)@!mm8!314ZhClc4x4Q{uWx7hwnIL9Xw#ninw zJ412*cOly+6Axa$Q1jjv0rDGzlsY{|q}Al6J`%BQC~JlV`z)IhSaorG z;i*Vg^W&1-AOPTaW&4XoT-e>1h{8TVydm>@gEE8DXZmYeb4oim@&Yy~1`ZUN#1Wdt zxv1;$&H0V7ro_vh6Cb;x6m;)lah>NmnF&`+lkRa{eOi};(X5`KSKNY<1;;K;P1=9~ zBRrA+#fMMx&KujPX}u2LxY7l^^UjGGhXTI;XA1Am@}cpStV-j`71&3mkrsJ=k!hP! zcE^54#_E_em zC$)Kc?{Q>)mPWdl$nO)>MI?mZK$MB1t~G|Vaz?Zy7RBrJ@_?(YikQkB(TW^?b(2^X3*^v;6*qWF*euBkhYAI56-RmAB0E#tZPP0BOzwnhia8Db z(HbpiQ{H2OYARAMF+oUdgiVf>0M0G$ns&L@YKI+2{qOW)bxdivzUKmCp;f{s-uw=J zqA76N4Yp__KottS%FUE5Qn|(cK}O$zZk593vEF8+KFb{+DZN5pN=pm z@^Nq@=kZmoiodmw2=C5)07{uUrOiw;U(C3^Bi#F>1jL#a!Fh`Utz=J{M)B3oS|CU? zYEwh^kNDNG<~uDzU0aF)FC2XFaj=*3K1w(^SeEtG3SdV{5-Utfj5(U`dw)^weec9u zK+6ka47L~Je4F7FkbY9ck3ALtl8h+S_6q+&&z;+>jMUnC-+pR?P|j9&w6j{?-pbmf zJ0bJP{_D6*VdFvg7eW^z zgMZ`p(fkwyqZ%LwqE%{e-D``cKcqSx4Ogj5(KFNRxN8E~+fC=hb*8wY6=1fvf3AXv zn%Z7-ZMZFKgrIWQ23%G|ORKcJUvDmRhK`ccsZU!X{wpY?(=n^}d^;5ug=A8mT9?;q zzsCFdnjodq+<+!ONB&}ojr3%gwgBjgkA7yrF9qDghTV0g2DGM`@-dW zAfTOO89OJ9#Gq{)3RJ1y4)=080FIT$GMK>9wU^_CV!esdYNpNK@u1^L+wMsap9|87 zB?JhniptE4_pEmMGhT$u?V9K~a0?k1cq)_{78+L`DwsV!rO`E%GQ5=dksC|=-x$jM zudmppHbNV;?mKV4A_C@8n7#y`EgP3U%q7iL=ZxMSHfn0S!$iS&`lbHI!#4Yt2+AC* zdQUQrK?UEg#3rCj9Ob2t(`3n<#gP5_ahBDgr9@$qV|mQCX@^tao$d?BycP@-})Ud6;^dH;#B}_iKcY;#s=*|ZrFQ9P@E<3G;vdSsfEN5-w$)EAP^us#}l*VKg5Hu2mbR&!w%8SiOQ zDqQ)nIqPxetJ%Q6)m~_@A&0vLg>FpC32gZvI5{~mtiM^G@)X!=x`_2GBd91Q*@EvP zZ3jKtsW|XFVyc?IQ&kz2`s&`1dJu^?Vj%732aK+A=gYWfP&F2Byg_ef57rl6{W=yX z@HNe?APwCocT3-GB#qhs#y9FJrzG1r zL}AS`{~F)v9IGLF&Y1yNNo0MacJ4T$rnUAFD#(GaPC4-r3g&pG{z?*HKwq$db*ms8 zsX*MzPS&U)vyuMP^0kpmC#8IZ0;-I8O+ujtx=aQw_w}S}(N{wi%O<7HcW0nRs;8jk zZXWW+@7`s3Bd09)q|Mq17wa((TI^PB*GItdx^-^<4Mzff*3DHko{-T(VwUh0!X&_0 zcs6^Y#MGW-3@p|&9q{z&jA%e}ujbQSR?CP=Rh>XfC#30YfZ~(mRVxG~bCKX}dBag9 zUhpB!0@^blTI;>%fphnI!?qB=OLoe%6MWM>RiKu(IM#n%MH<7**b)BgU8&XhnM)I2 zd$xZ~@xJS2SMzgCbnouY8L~+ryB#l0*H&=7GL^HF9I!U^8b77mhUD0`rR%2iqVO__ zcRgiS+&+~Q*WKv`lo^M+HuKD5U%;sm_rW;IwZIT6ThaA$qRG*CXoz`6P<9eMQ?HWeE2eGvryj(^}|<@DhG12bjhgRc;%c zp@#a~|AbWu){=SFIiGJHCM;zh^er$nc+kSXa2?r`7@VVq#_XNPX53nuoyKMw^h#Uy z4)iOxm!Fy6xkmAIbAZ;&{fjw3#&wKMyAZbd*=7-sxm#(&+;;1(h162#CjN_Eh_7Ck z9~e$EZ;b%^(9H8c(W8=j`TPQ|=i3N7m}_Eeh8=(nl2*<$Yi!o$bLZ|iqPY4c-cgQH!F&{t@x z&J`{$bOYAdXdwJmiMAqbe0p$s*>1_YIkG>Vzzq+%=3@sKGd-l>yzl@AElwVImLH*Utiho6Jn+WSMp}tEQ6nak1O)4h{#sO zc|{?4Q?``7$F+BHhbQP?{^H&bjO(4(mY7uSKu>V9ub=n@KiMtu{hRfKIm7}VL0OE1 z(~DA^^N*Jtat=x%Fq=)~$!6-e0YX$5ib-@5+o8{Mz!>|#X}%$V6k7CB6i;X2=gveDy355wP{BS8 zlx}2R&V=$^&C)_93{97ndBYX)3K9OhoMutHONW>- zL~JzCK^BNYA#1_Jh#oeQuzNGM*bg5r1GKXG)qlert4DO5UUp^oo41{btEbdZC~?`; zEh+>zPo8UA9PGx?9ID@foX-2u{jCiLs{g6l7sP+Yxn9Dg=9NPr9+{o0T$bb^H@Y_e z`A00H@t=M2j4vccV_DVNPY2FUh|5cx`h2Xi1KV@X_GNnib1;;rDb95mNASrn0aHzdY)H4zkh?fm4s0lsN?zp}uxoeb-9u zBDKT<(;8aim|6X>UySG)h0H39b}#&)ynuS2JXois_wwaNag}keE7Wz|z|)@JB}y+R z8^t}}?b9ut9Ryq~OwR^Sw%DnRG~Uv5`_m%A2qYYYVX>$(_+Z`ELh6XP{1UwO@>9{B zuMW!Z_{~<;+fK>PN$T3YjvsQ2kV~7G-tv$7k$1l5KGzK+WiExk7if~v<${%Vcn0z` z>3|MIBMNiG`MZ9Hw9r`^fkHQA`fmvfc9hkkZ0h{Cc6Ng@BrWfd% z4@VC2 zJ=`VSEoSA%y+s@LJTy3dx%7?4NfXb+NfH@ROvt3j?kAJ;FL&6tBDNu+Fp zoU3maX0!10hOp@6r?lFD#ZxNp*2QNdD`JFjvs<^Xgg4Qty>(2%Q^c(~NEEO+mpS@A~^iIs0LLBL+aH`F&?o&I0$+ke4tY!DT+3q9hffA_PFZ}=k@rrY+p zg_5GPFbx#e>#Iyrcx6>c?^wzcD2+h(e; z61z?)E*g93CgjUrTpYXi3g zfp)6zCU$rc5=;JCmYTmDi_R(kp-qNomE!D&;Y^;a3Pqy0kCLe^wmA;&FMoIx*{}8H z6cys)xO~0YS@?ne-h9NAypX4}l&uG3-Or-BHW(}kL>Z_WfSFgvlnV9}q9=W;)p4#0V zu7Y|^l|A^26{4*?)5a6jyYBwG^=s$Bm*gr2zFkM_#S1MDLCTjI57Z6ueZ1#=yRTT& z)J?kF(aVN3m)+@zo29nIsx}UH#L$^(ga1RxsR<4fLA^uq9h+Q6a7yxxrHGO)G3&DKs?*$VVA9O?WGb@+6A3&*T_s@5= z`n%*@3eXBg6&iLlA!e!%_O`y!0DAG+4wU{^3YwqN;D$$3yG~H0C$YL%utpv>V2c3|7kpJ|oQhgIyNT5H>7&fL-9hJcOR6 z+L@T*g}#NYJxS`o;aSF74cT-}&$E$w}X84&6%C^qrFocFT3?bx!?E*0UiedNQ`neDOxK1)n}#wC z5c6G>1o*7jm7S54J>nRkGHo6P)hS&j>og~8g`Q+GcgY03<;Qq$YQ^SuB~X`5{Z%8p z<#{a?4uC)W-_JkR2we-gRX`n@D<7}Y*~4zBa~=)3{15cT$*TegA@&pFSaX`+{5%Fa z>yS~Ok?(|uArcM&3@^O+d`!@?nsdm^cN@Gh4oU*&Q@U2n;AR4~cBfTG18zdJKh8;q4a$EnNrWlWD)N;FaWLF9$5u0u@DfiH1?7Emb=FOtqlVZU4J>-14hglJgBMa@V8({?KjQe2!fm z-SjD}eP*U2hSm|xQ{r>=*>d?`a{=uGhJQ~RP-*AbfUBMU)?ICzPObbixp=irP2p7&m86Hj%kS})lXP*r|B{Afan)(!A|QrPIryf5@q?C(aJ7jB2yRGhuaRzeZ-+v_>h z*A#4Q=R@fK7ri7^&1l-a(NDQ_o3X#SZ7(A_NG~c7>V02 zM*kU5bt*Ij>CR}TKRV0z_{?7zxp7V}WF1ny)2x^{Z7+YUfR$?@V@}zP`EO~gj;+9x z6M5|7j?on=70o#^n%_oaHbDOI_fs4WX-qw+FE=MdCoz&v274+Sg%|gQqbpp3Hvd6J zD0I7ApuJq5nATL!Z>MTh_;lIicAe$`eyCBo9LV^ZNr+dF=ySt`X^_`0HHJQXr2bQDG1CDJ}QWgmMv9mnJEVws$h zfEr!C4!cT1D=KOuC^6;$yo_3Th4vi_Tl}$FdRDJbmbeqdbk zcD;Y^9C5)Rp4AmNiReS!R16^F8ljf#Jm!_iRts zgyJncx`{2_J?J;;TFSfT24a7iRJ@qYx4Oz^KTd*45;g~|>;vYUEH_Kl7B^R4`^Woh zb3{?7R0h`zM; zKcDYn;&W)-0aWSDqfSAgaLVP*ZBTid6q@pKIUo+Lofrh19Z=goln)by&h`0=wYQ+X zuj9f3!!Z5PeiyArIGG`5w=EuZLfFyu%a3y<54z^s{=B^dV$qUeJAaVQR7^Ua&#aI~ zi@+-ke>7i{aB_t|VRBa)WhDdlnq)Ql;msXmPYF&IBt7rhEoI)=1;<?q-k!;O}w1L8X-|6*> zi*ISUV%J>XhgdpTY7ooaEOR}+%W{Ey{~_6^TWFPePJR%2axr16!@OB88k<{v(3Jx; zsUvwD8A44@U%wUxby_l)m(97`wxeX?_kHUh9s07*J85%iM{hE<(EiJ4;u=~md9Kgi zm{t~HYjYo$V~=H_u&*42x4x_oUc%V|lijSkU|50pRILlYeSpP@jr!$$Np`oQr7-8^ zn}mZm@9_o~KWkHI5sFPyJp>pZSY}dw7DoYd%vKRE}A6G&J*`iC+(v+ z7fyx0>etb?M>#Ba&x``4*Y}ubtI+E4ha2B&-PnZv^D1{8$mJY-E9wzc-eQ-I9us`X z0;HvgGG+G7Kckm3$XEKSnJy1BvIT)b1KyrtZW-(9MMWa%HiDl-8wVEI$M!qJ;e_+& zsLMPpVI?sI4NCN3{c_`p>~R>;X4L9*L|i6N1)B|7OqMVEMKm#l64E*Ac^e|$lkmvP z+*9+&TPB9SrR3%GQXutuuJ~Cru2$H@U-VjKyG{@72sz9!wfC$3!Yf#MyP`fQkbN}& zb1Wue_8fFUdaEgfteZJ39iJ)N1jYZh8>d^M89ESe=tih*iA&X69lDcGw>-ng7EY(}R1O6!@8e)4UGwhE|E93s> z!&|zE|LF8-6mlhd37(Pgz@omD2wCtb+B z5!@LDOaQ@epUgn78^17t*uk%dli1<_-t2$2BLYOG#HIZnLW%@`h(LoIdRaAMwTq|} zrF8AO;+bp6cy=u{)``s;vZb!8q{_2dixOaw*__!-6C_}=DVv1GhHx}{VxGW@!bVf( z_$#6{jKpIMdU0lAXqcjR`hFb#V~tewed^b65#1q8x=w&HaV*i2Z?Ei`0097q z_pA}$Vpqq!WHnU8sh_Q$7AzFmRxge%oK(w(o%g=|c#B}u?lkh$?zH3^JD4=VCgeIe zU9wmCtP`M<8JobACE}6U?F`l8jmRd zs%j*c`_K#K*5@S3BOdw7e)jgm1kbhM$6hj-%a;lMl9s0UOJp)SoUtE3q~Op*8*=dF z8-ehnR|#wH>nUYCgNC{Z50jXpL_CHXqDAgP?mmp&1^0lwCFxO2qSCqSXCf*zzwchM zVRtAx?+nw&0iV`FOr|~0EE8_Alz{ozd`r+FXkJ|C>L? z74gLl?Ikqs5iE(&Di1e_UDKSQp6Gn%yt+oqzWH7x<%|saP^O^!15uxtvMms_BE8zDWg=77@-=FbKbb5fcWY=YKq~&)&yh?jtr6>eqn(+lS+Jg$MeP@Y zM>t>hp!ho!%^C)HFR%NsnC$_NL&4 z;Awu{eQ-OaE>=V`sKhV+MJhxqQ4tUZc@Se21Ooo$cke6SRMQVVm;EQrOe=Tu!Ju6x zaf_N@UzB_NS{ zHy(GQCq(ui1oLw($(I=p6G#o_iCOO}&U7(fdhofVt# zzD(EVEUf~o-<#?Bw`uv^UTnMOa_0>x$!@p3hG;qBV>jL#;n!KVm3MF(baP0F_i)f` z)Fqr8W;!ytU$FlgX|mnRN5FUD=ModRfuB2YN&N z))${8uk)Xh#iRk(Z#Hu^dTea4Nd{~vjQDllZFIXY?E@s)Br0i@Sq4Jf3KiIb{3A~< zW=+FiJTiWbtXoJ1CgCAkbVHy&)SpTjvuB(0WbR5|_)qH!5%3QH`fYLYl=tJpO53id zi8Z6m(yWQZ;!e6X2(S+JK}J zr1JPT?0iV@l-9khS-|)IL~CP~(qah$zXb*=6d&&j?&bbv=u9`W%?bES{h94G*ixw`U|{6k(`;y^>J-`(r^Oo%Dzz}DkcRUYAgp&@;@JbD{U(Z zq)Xv{E?(Rit-+8IsCeVT+$DX$m23cMPCTPWSr^Po*%Db{ zQAe_=UuVLC9A(b7k90Y@r}KaK5AV17{qumnooPo|%JPcJ9}r3v9<+`VWxb6_Jd;@n zQJ=<|X^;0}2b=qxC?@9JyjiCME2%~%Mi$l4kwu8C9%=%i5%mtn&U^qdZOgNld{5Ll{78a!qMsyi>gqtm0^c zR0YI%tY$2*il~G@sCY^0f@E#6U8OQm5}ekI zF~sjCIS?0|*1n1L4cR%Q00;|q+)n<%6kSYMIa}Q* zF2Lg_XPxD$sD~!0LxX>}*bC<1Y$;UIYMb_L5l+*G225NQiy?_z+-2U~dkM^N0>!UX z1&l~=d-kQh-;u@VIWLQ4<`Hjy=E>52wef9T5dU|7P>_U8sSDvBkQC`;66l$Bs*b|r zmTAk+34kU430c-#PM-CY#LUJz9m2e|DlcrDx{+6UUY32Q)D{shtf3X|C_J9e``-k9 zAv>(55=)3EtZ)E{WLVV1*xL>k*RLH?Kd}?aQ62expJ(8$3K@lUpIr`+Xf$J3=Q{Rv z%Sq7XErqHp4Y6Ckc5)xjG-v(nkuXURQ*FTUstn;iv-P8VP^1qE@W58dSzIjqtM|FG zEvyt{&ktnJ8?=)jgxP2pFP{oQM<)dHr}NJ<^nYgDCeuu{Ta3o0;eBf{udTrQ_8bev zBcWn|m9zP6k+{h-Xppt9u5AU|-}hKGE;m$#_t^{D=MIqKns{z2A4iSqPeGTFYUE{k z7z34g7`GtZ=NEa^ul5B4LThXc53k8DX+IL?Ry#LdKEs)`c>c8XDF$Ly5ZQkJMs553 zl*aaZ9jyXKQhb1aiPY~!{vuuVr^GR?Pjm$#qV%#LKWr{ zZZF7Yu3ljk+KtQ4WP?8Xuc zrAdWj$}1Myi7HFHZW79zwC_Nj`}*g2@oW6Gu};eYpuH{7+awYFO1ZbWkJ$U3<3_t-W`sQG1Wr)ZSFps6A@$3Q7=a)*i896^&RCgoH%+rSH%8 z|M)*1=W&yBbI!f5^BT|BIXCCNUTH5W(pe9jKif#VpFK`h81wslc~dm+-D<`|s#3~> znFs5;$2*@m9V$WWH|A1V6hfTbbINWAuV`5s*`pneEVB$AK3gjdd1(xo($~z`VR;{k zYaG&&`$6GjpIVe*!+>ebe`QY$Xr3@E7)nHok)L|stJW1N-Y@~ha z>B;9uo69WhOi?QJpBW~UqiK&yLfVHv<6LfzPPbBew>nFo9oH(ctF7JYv?l+4dDEet z4J!M&?4i6a)z=BSczOC$QO4#!yi50k**?`I7To8Zlsf1-2H*T7Cn8Hoqs$aRxv2ItfECFX9TtHnA01cExJZGujOPcWYW6Koyop*8?aAqU;#n0%~J*lB-5 z-Q&g>`F`CP%L)Fn#CgaiI6@n8vxcG02g zC68LPlN}oL zd@oJ!M|=RL*faEp!i#dM%vMC}$-&Nz@_8PvXGJAg9R^z_an@7J3$Nq9Z&n4aD2}@n ziO$=Qi?>KmxToW>ufX)av%%AMMFl~ql zzNbW*yCt940F0qukEF4RY`f=q_Cr|nUS~%Q{N=R5hN+4DE^T%IJzSZosFq_=lB(ob z<-GqFU+v3}0|os1voFIj?@*mknjTr5b5)er;qh+hH5+>J%RaKX#P-Kf=2^r_)lKJ|f zid&M>J0}tvhC$TPEG_Q(B>4We^&Q^n0q~C#nF473>*t45f@q&d40Ex9x{H>Z^KqT-^$XY`nkQF z{K7B$L;i{Il&of_|FtRkoNtNK1uDC+MI}~c-R&!I4R+v9E50ly^=9R$iMxYv~n;wv-od)#40*U zf75_{fm;RnR`=MwRjHUOO^e=Fg0Hxz@dwn!*GP7DQf2Oiq(Z#b^nGf8ll{tSrm~uf zedaUu+^({f;B)>o(ffCf1*l6PeB4fSwlJ5AmKA$ykVz~#?Bk7DjY1KIHzPD}RE2wP zoeEudS@5^qg9DI+{uKbGHKn+*xMG5HcP64mB)2CiJm!IlT{*`+s%$YT_I&}F#0Cw2 z`t`c*UNUZZ;iDNSfApkAi1~@IrC5(_k88MK);rzz!o11x7**j}!Bd(q>H>!456?A2 zE_KGAqVBP5Bt|uu4jKQQFXBi&+5Y_A`s1|Gw-?~X`af(3DvMA1-+v>O-EK&6#7^a+ zN+c{C1F+ql_mmy-&c49z1xahfYg`p7+-n{!%8-D1=6k#Q;x@UWCr40n<{!ctO1g#d zLp*Fz`w4egG`~ofn@G~m1c2?WtR08F3lqvPdqyf9NjpXw+oQ>?4wa~B9m8q8mzBZK zYwZ?q`&rCnCF*WH%T&Psu2Pv#@c)Vf2SLu4l3!Ei@$fm{_TVxp=~mYOYp`s{cy68E z=blmG6lnF`yA=qL%{%zQ;GEh&1Gg#Y(7+~52y?zTL8`vCG=OOO<~Q8w(4jggGq0Ra z)7efFlRO8H%FRzpE!*sh{gzukF@U_2FCX>GCpvdD835TBJ1H}q5ZP7Ihco;vG;SL@ zv@UvukG$fBuVEl67%BuO6_`LB!;fEk3Ued$Trr0l6&;*qK8UMC>&xeOleGETeGc^H zWBZa>dgli_$%K@tmZT`{3n%n z5zFd%BkyV&B+dCw>Z{mG%h~?!wEd16uRA&5i_WhBw|5&2(H8P{RH#2`CjWl?psWj6 z&&RG77Wu1-ui@_UeGKa1#_?VQIpEhjm)_r2dQ_fepA*4r`#FP^rJSZ4aJQ*6iw z-eZ{e1t$W-9w`(5W8Y+RmAS@C-$+-X8SQ2$)k&T8dM5An48Tz`$o<;lM4}u3CNg|` z3uF(Yw&H9Czh+ha4p#w&or|UqG=sbEJxk4yOvMO>vUj{W6#Lb&?iR_w9=$5~#h8=p zDo!oafiz@#wj<)V#+eY%aL9KSjvjlL9$_k;MaHN8Lvgu{I=d1a}-1*^? zXYZ}c)7nLTaml{NImeZ5l5OTRSscjz`q}>eM&r5d@5}@L6QJ-!srx0}3fin#;SUS> zGiAUBb&1^@PAaJ*oe3O?w}lb?!U#G5ZRRy3c7K$m6cjS-AoF!vlB+Z*-*5kv3@Hjn zFpOYArmXWlT&#cA)8qb*vG_Vr8gBeVgBQNreIt9Nk@(|G=9=V)d(UK;p-a9aMQJQexG{{K{$K0bjjh&?+!rFfNx{)eM&J zv{h4p30m|KGYb17i>a1te>S}feIua7@Cp1T7pwgF{oxpG*~H@#F1hSu zYEHSZ;|E_;3WFZOOE_88&+Uf?wPd4@fm<=jV^a?knKgw#HJJ=1bAxKijS}zt*}4a% z8~i@^4|ep=(*CiF29MR*{siwiMuVk7kCyjPq}_Qf34)Up_+k}@DeKPfDm(57QG>;6 zB3w-Jfb|!5Y_Adba~W{~B+>fUmV@7i2^9Rioh;T6*x#xlM@xopJqYt45#Q^7a4r;P zT(**CMNrs5ZuspOWUSEOG!347W8-Mu2Uso#ldtMNqYfxI6rkdu-gW#W>`NhB92}K);S_GG0$I#G#P)SdM9sE!aJlA9=?%%jH9}NmQ zyxXZT>W*P>xeUM%pCfEh?LNk2ziy@;b+3vSh-l@Mr#ek83!;GEjeOCPLUvnKDxE{e zUof5S?taZ%JNhd1QkYH^Z|Skx%Qa;rsX8}v@in_}?%c;5KY#re96q%vzz5&4+19@8X>MJ3 zcjsJtcTTmPvtb5~u>GvS%Kf?E1;_9W|7Mu#@dK=d7LIm^gzB?hJxBR9!}dL|s3X_% z4rc#$lxGwmW`zc$7pIr=t~svG{Rav8kflZ5J0x`_Avn`w0EkPO!Pjob>cLwZ>meL*&BGY)cMX zTG*Yuh_Ud3$-GGo`6op(kx%4rMukOUsH5*o8qsTPKeSY9cvNO1@)t?`GM4v>vLNTZ z&q$#aB~Q#>)a0JOwfl5zmL{9q?ZGqIr|$x^WIrDh-cClx&b+JXv3gWwxgjkdlaN5h z%-i)Y$eh}moR=SlZ}0x0+?eOQTXFD=*U?f@uHf9bIe3#3lAMSCdd_qh6nh*whgjzqp-oO{qd*N{GG(@PrZDr)vzc=qsl zkpoFDnGOeuraYD&M%_LkkUOamjUbb8^b4EZjHZd)qJKp`CSpTv^5HCYQoa`vNz2s5 ze$w%V;k}BDz4$cGSEe~?^Uq=_dbf;aRi910`uZ`B;$vKqutD_0#gCj*Dhw)LITehj z|BgI6&^}Mleg^QLu%E^$#V*ahb6Oy4bY%=oWD~L8SKkI$UkO&ZPl(4Jrm1~ku)Hy{ z^P)jb^bId_@o|Y>Nbazgx$rKrz&RIq^&1PiX<%;~2uQ=BLpS6wI@ z$8}7mak6oE*PLm^AkX_I-0j%0gxQmfgVpN^JUa$8bT zF5P7kykJj_O0$S+NI1N7x=%uu_CkT4M_QqmZQJdud&2J3(+iDWuJ9!jGP^rr!e&p@ z%GVR*_hBC%!rn=ft-KSzee|er>Y4NVizO{r1%Hwa3TAWO(KYW!NVIlA3NENhbJ065 za_@Z?+w#l5u8zFngzvv^3MBRkT<_I?3N`GU7kV3uf=Jvw%Bh%8KEK^J&&2{dSMDQ; zvn=Uz2T+)5pEu=zwQ5|*lpennywc?~Z}7jq>+;BLv4h2B>^uMsoaedfR&F zhPpAptq{zx>sDwkEFcm2M2y}@=FLxiaS+2V-$?45Bof=u8@+oZb1AM*M29F^e+gto zUbhL(lK(aSESSte#yabhB?-B598w4Pbi5ohG5NVHX5EKj*f`hoX5$B&b5Z(lGLgcp zN)33y{@9;1yQVvbjzvcqbFug$Vt8sQ*sE*slEj+TvJV$roCV>))L3i5E=r^`XR9`N z$MoU-dgV|CB~Fx+DX{oL{VPHj-)^c|c)^J4)PQ%ktiC=^v3C;?Y@3RNziPxeB#AHd zO|yRd<@uy#N+8H7I<8rj1ZGzl!m$wqMX<|;t&2RoBqI#<4J`REy1@;46z_+ydm27$ zp_W})7>=4vtH0ZH7if8&BmawSquQzbXMcH_oFlC(?j8^~cZ zqqaI-0=!mCi!ZxTE{9l*WlgfaK@4nbIE3cXzMalok1fwKzKVP6EMyJd6*yr9e}i*e zhcnn`7WGy~t+j5INVCGv^$yYkn9)8XiO8MdWBBf{JGWttTwhPDf|+r95of_hJYj|g zof5KPW-RlX?DT_z6ccQ5lCL*?)-8kEsa4u=PWD_+_Sxwz7+srHV95o^uv?LtxAhT) z>uACLz_Ek3HE{LWzP$Tgkdq>EtGq=ixPfVp>gN3vPiuJ2-+`?(E?4oC!jL;<)N$gp z$c;$|CDNs$RU7{mdaKXDzF<8X8GTFvT8a~=Lmn?T$Q7><*{F+OhTh;ok&9IfR;JZk zcI<6mNy043F&3q(uhkM`^G{5D_el@L3)(h=wvy2dR)!!a`1tS|BfN_f6?6H7;)UgB zsXfyB@^WNAyG`jwNRFbFN4_-{Cu041r)v!MbO|9YS#rc-E*poofSZo%qxUp>L&nex3O68u8t&ZVln2YH2tL=N+|(jVcwocJv6U`Q~xl`i&FfB{q0|7Q7B* zf<6C`<=W#j8@~4v_K~Ot(Qd_SW+yo@N5@2A4vZ+{sp-wT{pJPC83wp}{pJN%eL!@N z_UZ17+x;umtj3n7T85S(riFmJpuOn+|JVADYMpHI5SN-_6BJx#B!dj(#)7zJ}#Rkt{88Q+SSlTBL@Ga*5%z&AuQ8 zCk?ew@c%Y|vu4;G(c(91yfXC&Zrl)Wc-86r@!TN{M_b_*h6|w&ji$kKYm?0 z`KkG*BFfDrZ~6g+8ylzeZX6q84-iBKex>_xsqv&M8Mh~?HlY}+sJY*oFCH3byqDlbIhBviXVm!ed<8BpeaqHw1ZXf7% zQWgRAG4R?Lq<+C~)7im`xxou7dOcRODJweR|L?o<2$T~}l=kK%-#w(Wy`4hvjp!Zw z%w!-DCc~4KghlK)dv~b@!{ZUf%0!xznh43$6w?M^%76o=QQf-#xWB0Gh#nLSg z&^ghTA?$PYcPFoW`sA(4#Dr}Zm^`@qYMGi&UvvnT&Ct&{BqHOE#lJ2wS%{oKD^dw>*F^#cEb&t@MuVbnXoD=fPr3}e4wxh0kLN6>n zSvm`4@I^MrsVd|~8@Y~ee6->WWFHWi&sjwHZ^}}7Fj%$S9>2-kaMjxF$$n2sn%u+h z?miW-dq+vo9a#UpKfu;hqLju9b$S0Y>#X`g z0Slr7#@u(MNp{W&JKC6(y@zzMcT>RYr!?Z;DTBR1BYhV(MFrAOM3F2j;crR7QxG`% z_!Wp>0l$~hc>4W9P?`?Ze*~o+)HU6gbLlyNijozvHopeb+9PH%;M`>JH=G5LN4@_P zP`uA0cIH7j`?x}G%+G5Cy5|1l!nOZkVu}up8fmEJZ*mJersc#EBVGPu^~T6FSN9<; zEDky8CRLLOG~!3PuT3YP&d}P=-$0ra0k}bT9b)!0q@3kI6AJhnP`c*cBWQA7@5uek zqF@GC0+}pOMD+oyB+60 z{bJ8%P&e;#tr<)AwqzAcjMar|pF@BT0#^c&&GVr7ki(1JiIAcIoKTnCV7=U63Xlsa zl2~5|3BPp2Rqxc7L84FRrYw{pqMr!T-3{P-f6!BF=^l;0-t%D1v01GgJ;`Ccs`NV_&zpJy{YX242@nS_;frJ^}AwDTH^q;XboB&!q%6 zs~8M>e@f!^w&&#+)cm;!loJg5Y6X?6#to>Z$Ed#SFs_G*>N>4JUE#82`F|@E*bv-w`#KwbU z9Vg>8hdQ^{_kt?HBVw!cVrEfX2bR>cnN4>4d`U`V!UEhOj zN4bcjXgTrxy;L~O3HNMhW*H=#sJK)!#2}P7>C)P^x~fa_;+1q@!-!D~i(_^|sG+qP zIr0@9q#B?ECh{Qz{*Qjo^(_>)Yp)xS>6FMrHK{OQ^b-A`nixLi@|Dch63q}WDNb$8_){N9AaJe&C=$2TLMsWM9AJQ;A}+!{1wjakf}@L zf&bb|STi(WRrwhs@cyjgnA%_TGe%@>@!T^;{JY>{ZMQ=*c0TJ{2+?S~Bd57Q_({6v2@uu(zj|#Q=?3`(hk+{oO%k z2}P){o*;n0KRWRC`6WBPGX(;$Gq5_zNO~1ke#@TtE|3!1Z0Oh%W@>MkyoKUBVYMZQ zbX@XmwkKN#4m8MsA_fofK@^ajZC@e2JfI{}Z6G~SaMkNM55G$>t}PD^KQR>64wfD` z^fe#QZ@ds7h&azr3GPa-?XH^)%)UC{(NBa+c<|sud9ZDb18b01gN&!nmi};~d?9;o zePm@R??7X|hqUq}P+Mm6r{**t!{FLC`}*%0GZq?wcbmVQ8Z>sqU-m+qpg503@|0cZ|J#$U;w-1n&ZtMc(z(rkAcDYx+CL+*Qa?nx|vR8&C+~b{` zwoPCdK$B=k*d2m{qP6ph^jex3O7vE=x{|Ds3i+9D`oPr2!QZ5n$Nmy*e*}vicLcCc zl!!6H-!z?}>MI@7^B6#ZCJG?mxL|P_|7n)twA&q9Yx8jkoP{?Gt)^&oJ9uZ=(d^j zWze3zQ_~`<={)Z>nA=6n#h3VmV?@YEV@X}=pEBvdN-2-L=;dOLKr;@R@=_IRK83-v zmqgG7u9#V~c;^ig!m~AaOAWNDD}D5Mb3CAT97URwtH$gI=yU7`Sn0pIzG=5l(?2>O+jqd=PmuID zlcPFuFJ%P!LHV4BNSaBuo0)|YkpPkA=u2Gm9v!1e+hoOjN9-CpA@Mw4iMJ@Du_L#| zpnL849X~#vKhivZI*O5H02T08AVYoiKM&4`i@1Bf$}bEv)E`&c|iV43A44nUS*SAl?W|HfR%;54diO+ECt zXY$?V=u_x)o$0twOZZ;mu1QZwQQm+2cVaMvghNov14rL8RtE4>n6HP}lZU;cna5by zsy*Q5V{@R?S`+vA#mA1iQO^1z<{;9wG$>3e5&c<*aN$*M$*m8(k9-2_@jdQ30dH%T z6H|HP0 z05u4{{F%ycz6|hFD5yDTO<0={=*%0cTn-_E;+iFhXf&7j$H?6mRTF#QB-9--5rV7i z#7Yg;^|DTbDAe=dXn>-R+>pQ0|0xv|N4m(mC+=41>L}U#)#OdB*&r&)C+Hr|$zgtq zmdc|`ONe!2?aiFmN-YAFuy-!gk&i9?pQgc1&3r+7{+$>BYzISwbcKA~uZj&0K6FYY`T$1u`etfkb_22r z@1&AUraz!If|fo)O(7%Va_vB`E~MzbFzh+h(~;ncLA!2tJk4Ln-keobFEKa}JkV{9 z!LC?CSv%$@vpa*<_Ti9(g%MO?@Uk-2LmG4Bd$S5*oFO+75;C`)8Gwr@u$J(S2A;+J zK={eQwh&2PoeLAeQM<)u+Co^S`SeM?5`ZGuR&Jgb8IY0L*^L^a^V9H4J=K-rXM{U| zge-*Xs)JG|@Wn@vn?jI2)I#P$NY(kZ0{peByus_e7Mhf@L;eAuL#f1v(9e;u2x$%h zjmI0}ELKvL`3eI*-(nWJ6oRfGqo_ZbNx_qf>Ve-T(68`GKnA2IOdpz^xflxS=awez zu!361gL6$3YfIw|B|@Mt9eMRT20W`0vj2gDt|HB5C7&Z>^Y@;*GIic^18t|u4WBu5 z`;^>9gJ4}TRmc^E24!z5gTDZO6So>@ zN32=Pbq$92r5v3YPSv?gVkKl*4+Aj@brV!=vX#$S8$16SYtSg7yuG5iz&$_2u>zqR zLKiZ8Dbp)nbrz0)$BS@dhOAY7gQ_^HGjDdig6$M#1ovZ?41-X4AI)Tt0SBz7%VOJ9 zvcCGtPC~YJ)3gW%-+WXXI%p!e_xvqy5eeWA9v$8|ZU&mEcn&?j8+3^>nxK*<)f$uY zTx)+Tr++bu7vAR2wafHp>2NkP1TOle+$Icr6qOO#A_6%k;92L;tX-P+nOY;;{N;f6 zL|*Xfn^}S@dJGfAsYKB6Q+2PZ5D+Cu##JVI4|0+B8F=oti$#g<$v~Q}Ld9@$MC#~7 zl1$`lFCvg709D?rG;GnF&TMG4s+-uq^Z&_|X+uN-02Ov5Z>Fe{V@3Ycfp-cr)3MwU zy9ApJAFbw)@KGhRhDA=_H>du$^$EHoo|Z%+;G(OUCe}i`wWYlKiRB~;cJ{2&mi9<$ zhZ8$k5^jWc!8*GSJwd0Aj5KfuC*n!Zf2>t}>xzcN11XW7a__SRI>ocb%`lI67A~+NTe9Y=7AyUz)ZLZ3TDrA6oc?<7S=TS<< z{<9{h$}K*nAQL)VW!;kjUm;LrHmw>svq&EbGk;vL>de~wy;a-%p9;#>)KhKRXHE`0 zp+D6E{3rbr>&MOUCQB*U5?&m-i@=~s^!OFeDLrm3Qax~#=BVRO`4bc?IMCMhCdQq) zkI_WoltM($5E zfQ7oZb7H@YNYmMg2JHXcwj)#NN6>d|i!ILaJ?-pEltncW8%du#;2@!=&lrGluEf=* zu*u97!09)=tXOlrBa2fXc))`>(K>XBuP9^6LIWHkjY=C0Q8n1RoaZp37AByO`Q$Y* z#L4vk>^P36pbw+Ieo-{HY=2_?Ua}x!cX$IgzJV(RX;3TZVZ<*+fH3hlmjF$&+A0k@+Q^2-0Kl6FX z4BdW(j{JXeQ>}ngUdAM0zROfus=kpRwiTske5=0H9Z&%$3TJE6%r{5eqCmKgyL?Wk zpLS05KiNP%t14`y|3PwwR`ttSzlt>vzZHW4-G2u5&k1C_Y&nu70#>96aT*to90-nR zK}$MH5T&e2qj}_C0oU}9(Hik}&(j(yu$0pU1d4}1zsL|_OqC{(2wMw-Uc<6;^Mw;k zNILxaV`70m{J-A(0++Wpam1P)A-P@;LWLx*u82;symM%;a^u<>y8bZ05mud8VxS#i zE(9eKILBfu<+Pyjf5bR)hDQ7w7ZF~6UzWBLC#w(tBX@P5vAlp8TRWYR3K3{P z)%nk&{7oW=gGMUS|5YQ4dZ0h3rCIa;1jzjMD9Om(kd_|9=+3Od(b^-G`u{v;0sg`N zxH3|ij$%Sq6$2E&89*6iA(g~9>krwgJ+GFOe>@@bk^v(pf^-@mtT#sakFyf3{z4kT zrhkzzp*+^n9a3tb<5W?X(82nD+T^w<`_CKv*V8wV2$ugJ{lR_L&iCe9I+@>~K#qV>HW+BUR~3u{puu)QtSyHebd8jG*?uA6I9 zLI5P^v!#A(Ntp3vjM#iL<7NF~3cqg5zV@a0N3BETj)89Tj{3}CS-pCrZHj;NxdU2t z3p)nM4i$2uWmV-L>C8|W;TvhnxS27}Q()ZHZ1&^A_UH%BbjkQ;?MiKM4cpv1rGLxp7yEO?lsx>3E+_g?MSmSw9F%#~ZrCM<9gfW$oMH5RSOH+PJh>eW3 zj8nR3wM)25S?y5EGA64QhABgWkh-R|$j}y1%q7MW6NhoYc;lt<0L)#C#eT_SCuS;% ze2>TOL5Kz^LLM@Y5AhBmj-aqB@~T9OB1{lB$CdLYBsHZb#G?#98Gbg*pLa3$4V2kF ztuQQ|pD_>Yyyw?>;4@sEk3yCkieE|M{Ecf2fT7c%ya?pg_uqlmAzaA;WMTV;{~H@CB}?Tz=T}Cem(f6{0+0~ z);C1U#G0fkYHjD9;~r94tB6O1qMxTTBXPZyv07AX=*^^ z$)FDW>k#SrvYjL+@%tj6`7`sTK;GTv(s}OA%av+H)V)sS)BL4C2b6LkWEt=5wm4X> zSuQJsdxrV8Y-dm)5zMluJA(krCU;#Amcml*FfEByx;d_ObdBI-SFt-?6Q{w=^|b|V z5I#ZxmT7_iM?v{oRtOrmvVv+1nZV*J)-(wrD8#&63j};Mbh(LNgI*WgyBl{sh04#fJO8>Hf4i}yArgmsVRBTUs9TXIci&UA3EB7#U4G6~(1;9TIo5sm+TPyYYI|Xl zs|c-N7$f`8ge5@oWNDJSs7&ChLBq1glFc%rS1DSZ9L&D|yJ7yyhuVJ(tLx@1f%L}73w{;ix_O~ao^h~KV+K)X#-+t_?i@o{4O({24oZ3Tl14{;Z zlSdkLk5STot8nzqT@qdfkkcf8LG&QaKm_KzN8 z0>01~XiY{vW@TihkrQ5}mJ@?o$y~nj z!m_YP1??XC_oAcMq&qb1H#!93+#(e(Dj;0Lugpcsk3JM`3{hRW&{=hvU1iG% z=Ff5dIS}TQ`-`W;JqgmVd9ic9_K(9&P1AK=7&+^d`B{82=T6ucSwD8l8|+6f5+4#G zO(`C+Jb3z0u_BA}*V{W9Bx%~O6cZom_R|ZhFF$d8By>cQ^V~K;FEz}p>>ZtP!`2fq zy0+Ux@c5uqj*JBPMtL6E*0`L0#zwtmN~gS^0O?3{Uw}uspIQwqllBkeW$xjALh+4K z&3NTLzQ#8l3DZ>CxKuy0pr`rw3)nWi-a^?od>a+BnrnYmBJaz>G}g|LxVMT zoD;t98dBmxkqkeH177hfCOme|{Lycis#P)Y^>=&Hel?_iYLR|I5YnenONxiqL8SP# z)YEv7*xN=-nNdyW^9+0C{xR5+RV7f3XC`@bWFzvYexTuUSto}|Gqzs^si0jJ{NeyA zOIHoz?{h?|HY!z9`#RVi6$NP2%#SC;G>5LUqnVDfFwC;;A&gStG6 z=PWd)NroTszSWqMhwJgGY0Qv}FoEbL6mmH29ChJ5ND}`vQQb1f%2(>DnN7`V--Iek2~b!j%Ms!eUR z#}1n|tKB~Yg)xJ6U8REE1?E7uA6~!v62wbU&X6oqoA2 zd-EfmOQl7ye+XE{_Nx04w^X){O`${8zEw6CID6WLYUc6ch_E3>a4aoY9Sy%W^OV6c zKr1?DZiH;6_ti8=Un!^MH~kEdAweW$s|-^ed8UbYeK;W#kL_Bd36hnEw{}h4bZ)An zS~w`{R$Bcma4okOfvTmLVW7n9RY|jU?Ocxu@oN@kFWVi{{?OwRkNx}dKt<0?M!wN= z+)u{*Xj!12(8?M8SDgg>ef-+|^YSn|9mFTJu2*+@E8Qot7BGVv&i(dwnh8nBgHXCN z;058&=r~mbhfLKNyID#^>sHl8aZxT?I{=@g_U6NWpAfcWD(y&JHNlXi=T8Jg6s;DGj zm6ny$d@}Gu|1a{xi7CWkx>&pDI3lwk>rQB9ROO#t)A|-^T!xz8Wyws9SNwR&3?ky` z_HHa5(sVx`-~N)sj%!>+zm#>5hK*H1dFA8KpPbZC(DA#?EWWj%zAVJ<0bsT&h$pyt zICJ&x0l)UqfOP9#lds#S;_`@%Z02}=MJ^4n@zJ|4?T&}VF?v)y0ctX;+7f5G`7R%J zgkF|yeBJl~jIV6xDC^unxID6es?Klcf8?bRYccR{)>m^bI*WyDuw##YOyR6@g z_cGz4z0=Pk+OI1cuW;gIxQ*nWVK3h;%{-ZA@<~y}29*VRp5XH*8LIHqCz7Pw%UQMa z5`J{~d-!R)+3m!TE)SkBvOx|$y&e)@2OX?4!`&K|@p< zS(k@ey(QxLUw&5uLDv1t;M3-2W)~gA+APpA-z>s7)1EYxOAlQHk>ys2*Hg>Ad@Gl9 zs<=a+*E;IfxdmfJ5z?6dNO%a_tM{VYTTjepCU0_0U;#6eTZuBeRTC_FhRwk*9$n_l zzYT-bGu{cQKn=7GQYeSOcC|m?mFwyT|Csf6TgPiUGo?&VoMQaEX?JRID8ft+mE>*F zIt%Nska2QnGu=}c-FY)`0wcbvF;fF7<13pQmF1>PWuL34v})wrkL#N9t})yZshP%V zmT0g~|D5|d|3GG-0ud7YC{b!$o!t3xY8oljtZG@tBB@_|*6={Lf2jO+)max)=2HuF zmX$Jrq1A=^O$a8in$gs$1CqMU-R(V z*{0gJ2T)QZ_h$WV>Ng6+@<|Hj&iV6}eDc>$r?R6NSEpqLI!U(ikg4bxjy&TM;FrRI z=}G)}m6K-3%uiZd2wq`R_Zeie)uZ!7?(puht~cZSrHA#0k}DfKpS2hcLQ9z?FTG&S z2^f`Eo@H8enRMA!-qG_t2`3AYpR%8j;X?kIm>C@TvtSnjab?9{p=EL4PS`?P5}|D; zUTEvwVt&QK&}>HEwx*`csdne3kZs_M46?!3Dh%ct1j zRgl{iUzx*LC|n4)bm0)(dR`>oxO4#bt<0YFg4gQt0E)$}>o=&DXiy<)t4dT^c^Q>j>~)N>eWmIje!HFf}vs?(V=ENokM|!73Kk65mv;k zdfcvJT~UJ;hB+QzLN_mC>h@*_3xd@O9N@U7z4FxO@iM;7;OZhx+kJf&!MDU01`(ra zRWYsG&bw}sWwl?hBCAd&vk60pd|dehW0}kJfph24zmNf8WZLW|)tZmX<={tUl;c6w zV1W#IC|HK$boToIAqE+rQ=pxT1r@tRZA?+d9}GTHcGeCO!vve@*Ij+l!Z`o&5i#Va zf)2uU`#K$)A9ci!E!Gvw{6B~KNCs*`amr|GUiOQK_9wPSuto6_iRHXq=t3pr-# zm8|+)YmkI9vbpo*O9+xmm83Ux_dwh|c2&;8?dS=sab?!`6hrv1N0R?q{MTm3Ij+^( znO3XzgKu?#k8)(KtB3XcSX}FmNtc)qc0Misf4kB1NhWB2u=t0x;wW)4m34NtUwro# zM-MwFRMt6o4uhx?7sOSMN?oeHL1$f zZ6DPKk+|>Myca!P#WV{Rpz8{6r35JE-#=iJ3|Dyjgg#;Kdn_HG=hhUn8m&w>6Uh9J zcP*8;!XD{3l;o3`Bin~6T9Pt{2OrvL$;ao4dw6(Ba!dNdy_zlmNb|Cc&Mp55;=OKG z_&i(!_D;Z1^#&Rw_@PVmo>}GdhzUpPp4R3^hmoR+_8ZSQ`@t~bziT&3{VZ~lFGvd? zu{sK+UXgv>$Q8YNp{;s5bb5OIis5T<&giwkAs)YgaGjGcUa2Tbl__Og_BFb%#RX=c zf(V2l;~lJZ23s*nCR<``o#p@>(D)j38mre-#k`yPm{hD!bTNlF>Kh)`q$~t z#1F;`eHM}{?vziE-(o#-aP3JO$ufh;ok+%yGg6L#ERAYy(N5BP0>Om_F+1!6(33b5 z_Ogj?_ZbF}A7%WrjDoY3sUmr|W4?|5`!uW`I7wnOo>821!D%Gb?2tAmt7SrmvO`Fy z)gcwBB7~~B)SWw7mN-f?d)&>S(G!lJQ{Nr@l+wtTZGL>x%yRx?n|6~&%s-6g1?%Da zG}fQ}f2q2h9B+5oIo=HU;7FP;c>9w@mSng^_KhABUAl&GD9yz%lv&zo_j-#M_6BJ- z{uA3)$cGC5YxK7FuJ?{veu$K~p(dd0n0@$Z;ri&*pQJ5%_Y4Wzj^EN0qr!s`BV(>_ z>#hlgZ{0e5wDs0cG{Wx=`rTjd*V0iE?`5L=DU2LgNL@uZB9=y}dyrd?4!O{e+++M1 z&%XFep2hpWILr2@HTtM=yLxQr&)ycrVS~ion*RrkKy$w_&jpW|v%xpa3&1zcx!_yo zeDJt=5qQE}2%a<-gYTG^fTzq$!PDkjRIi$st6nwV2EK1DReft-34Un41N_Lm3jEl- z2K>al7W~wF5BQn+KJat%18Nk^>(nTi*Q-%5KcYs#yg`kEd7~Ny^CmS4=FMQexdJ?A z-U5DW-U@za-i}`S9>m->??C=XP>M_Do#1cg-J1GC>>g0F>;t_l&w<{S{fP7drD$b& z5&702=9}e!8a2xyHENbu)TmirQ=?|722(AE!8FSeFx~Pdm|;1pM$>W(HDrO<$t@?q zxt4dpd6v`gXM@7 zfl}lB#6yI2Sffp=&;JFB5K3Mu8{~ajB_m%<3{{Z5>W(h(55{S2( zB@FqWK`H)ii9r4rP>RczNaTM7rTC8}8u=?A_C`w#^1p#n{BDUw{tr-!|5=8Ce_G-} zVRgf=fjF&L6OcE7QkboYpv5{89xEt?&6lAo8f;gpEr-9+t>0q37Cj9Xrc30~xyR%6rMTU?Ui~koK+JIKBgo$Y;+<&Sfcz>@ ziq+PQ$gcsVxXZc;e9XET+-R*(v)#G{rJF(Qx7MxTHtTjZ^Q}A7%(w1D=?+ker>(oe zUDiEnwp;gsd#ulad#(G`Y`4CsX1nzO__Fm7_=@!vT>C1B-PrmX@>L*qV{0|?uY=f! zt%t!Q)+1{6THjQ&7sTwf9tAI1kEz*fJpuk~eMik+>uK;8>w9YUT0chfAPPQ+>F19-LFCT4Z!5+4AU|-vLaDeR_Fw}MtjIezNM%jJ<2iq>G`D6PT z9AW!K%@f+QPugwg~V~TO`^b?2*W8_GnPrV?dKV7Bt(3 zq0|COVYSC2Zv&;U+ufkUo&Y-SiST=Yc#qgefnczi*uS^F5|TYxw%+sA>u?a5#t z`$Vv>Jq4xxK&)T;6yyhhI9J%Gf${d~pvyiJem98zx6c9-?5Uu~o(|5jXMl_BS%@hB zv4ZS#!H4bH@H_%a@uGbJc)*?u9H9yw0#x$iG2f|7mZ>i)tJl2h=z^4ykc;yrRa@@fv7xRI9Ob99CoGI0E`Q-c)1c zI109K90UCwC%~4DcfeMT(_m}Idte*K2Vh&rM_@b0Ct!QWXJCNi4A{Z(CD_qX2X=Ct z1p^)Dz|M~IU>CwjzI7xM;9>F(bbIa8W86hM|W_xqX(Gb=mlmv`hZ!EeqfPf0Jy{v0xole zfy*5c;BAgb@LoqW_<$n@+~|k}A9oA`H#y?L3Wpnf(vbi@?MMW7I!1!K97*7djxpd% zj&a}tM>6=TVB1H9nsHQoW)=Z=MvE0xfE>ayajCSTn@H% z-UhaFmV)h_E5QKg9bhNtDzJ-l4H)EH3wCwh19o%X2X=Qp00ukPfjyk-!Jf`Xz+TP` zU~lI}u#a;SILx_OjhC|mywSM@oaNk#mfr+oq@3HqH0KUAQqG;=9OrIuu5%AK-?uiCc?ewLdpV$d=K31`~ZB$`4R582gFY9`~=+R{0w~7c?NvW`6amD zSqHx0JgY|Bc}|VE^Sl~y=QrR%=SA?4^E>cm=MUg3&P!_aoj-$LIDY}Za{da|JFkG> zI)78+>-=U)Dx zw^u88d_c?uuQs5cS39tUR{-em)e&s#6$rNX>H>E3>I!!D>W-_rfcOUV>VbSXD8)Fh zUf@KpKHxmBeqgTG05H!h1Tpy_&P85f$S(qM+V_e83%w%2BClxpi$N($y<))Iy<)*T zy@tWR3d9-4D<1hZAkHveZg8zv0=UsD5!~iA65QdH1n%(~1Mc%0hxlhfjD=S+^3Q`9 z3$Kabt6nMK>t0j9x4fo-$GoP4?|97wPkGG(Kk`ZiKlMrn&v<2kwO(1^MX$Nw_g>lH zPhJbaU%Ya`D_;5Ff4vr|{`V>bHSc23;=Kg4dM{Ny?|lpC^j;2ndEcf+!Mhan@m{G$ z!TSz13f`;KD0r_?qu{+3Z0UUu*vk7pFwpw}aDewZFw%Ry>SymqR6l!f0Q0>!;z<{R zSOwmjkS_qy&)%DnF9OkT-WA~8-dn(Xytjh)dT$5s^WFh&@ZJeN=Di#78$s-8-h04J z-uu8Oyq^O%d+!I!yuV1cv*30uJ)| z3>@Zj28{Rl5=`)^13f-x!9<^P;0T}d;7Ffuz)?OI!6cvWz%f2QfMb0wsX6TPGdSMo z7ckl9S8#&Q6*a4Uegh}@`~jx;{0UC;(X4o<_?W;P9}Af0V*`tQ9N=OfFL0TU4|t1@ zA9$OOKUnJ13f$$>27Jb+9k|~o0DQrxBlx0EAo!h67w~(ZuHgTCx`TiE^Z+~f_5wTl z_5r*3_5*``2Y>^8L%##L98s_B;>b)*x7u?fY14k17Gt^2CIB0f;GM=;9I^^z@xs? zz_)#;gYWpx1W)5ILvRZYOPJfD8eAq~z*|Ku^m)@={-Z=U^PT=< zM1OOc|5y;QeWV@bi-_ceFxWzl#T>%N;y#a~f{Q)Dv z2LqBsoz}O58|>d90UX$2CK%dbBpBX7l@97K3ykUzExyu*Ao441C?dboT!{Qi8;;1Y zG!G)b(ncWiD{T}a>$M4ptk)(XvR<3qAsw8G$a?JtMAmCFI%I%1BJ!M;hRAc;Y($>Z zG7))Bn}f)6+B`&_)8-@coR)*g^I8!i&ufbjd0t!AVH$WVBF}3p5P4oJ=`bC<9g$bG z|042=_B$f4X#eYw2#Ss)LD?}$*yZGoZg6VH1n`EAbHN!XwaXjz(wjPFgJ~V3MU-@P za)ZM=C4inziQtG%Bf(LflEBfOa>22kqQww750OLUd_)eBIi2#sJVXwW3lTX)7Iaz! z79lcL-i*jtxeSr9^43m;;0i>>$`VAz%G)~?gJp=EDmw?d!JxnduxH>juy^1{uy0@z z*gtSOI503;ERt^^a*=!sk&EQpfpfv*h+HI3B65*D6_^dai^#3=h0bp9rOpZ9!Oqjb zmphLHU+tU(R&|~ZzTP=nY?E&wa+`b$k=x{PL~fHO5xGsCLgY62E+V(d_Yt{WevHWN z@>4`^m!BhYyZi!?+hr{xx67{(xn0&H@`2p#0Z-)a%uN!rM3z`8O2h-=QL$NU6T8Lp z;*fY<92KX;N1|4IBYqOU3A5&-b<%oh{k2GKnC8*OXp^+*TADUj%hQUrTeULnZf(8x zgtlGVs~yl@*N$oLYoBZN+C|MzX3FQ}Dfx~3Lk=(vHBB(hGJRpX*L=i$-rUa8-SUpb zVvV%L*+$wPu>ENJ)mCahZx46GI_e!U&M2>uUUR(Sy-hy-eNuf+`}q6j_^$We?)!!B zI={{>LRuuZxY(knf4cu(|BL>%mcv`FYFXE+UF+VhH?+32@oh7(&4X<=wyA8hyUj;! zy0(pLJF@M@wv}x^X*<4MMmux+$?a#g-`;+2`{V6DXumyRZ@}9Dtvd|sFulX<4r@A| z>-a~<(oXkwI@rk?xFB$U;JbmJ27VRzW1zG1n9d727j?e7^U=;7x(w)&+vVXdo4eF? zxh?2m(BYsBU2p34S-1Lb-*p?={ig2UcK@@xJ=j0EZ*WBL^x)aS4+Z}#*wJHP&jUSQ z@A+=e&wHABb?g<~Yj>}Oz1Q@9w)e%}EBZXxC%NxOeShg2+b^}>iGFSR_wIi~|D68I z`+wK}o&j|O{0A->c<;a#A>Bg8gk*#)4p|YhIb>UiJ#>HQQ{nrRZA7qZ~7}+~AGcqT#DDu|Gw<3L_Vg|bhCk>uDIAib=gSQXl)W5E9kS?=5254s<7|LPW6u_N^zO$cqh;|CAU zliC)a4?CEIOWW%6{ZO;0zsDv5P396IO!{9J)&Kt>A?_dUoh@{$;r~_)e<(nyNm!cr zMvPHwT++uL<~T+@QR_`kty(dQxkTox8m_r6r2fNbe%Ohx9(u2S^_xeT4Ke z(kDotB7KJRIno)VFOa^}Mv7WZ?e3GYV^0xhk+4H!r=2Fg)^5Z;I#2vdTP(gox`1>M z>06}lv|GjZNIxL`sFjFINIz+%;%B6PYj=oWv{m9V(y!WT@gHpscHA}MzuJT1H>BT@ z{y_R4(w|5|J}fl#mp3F6l38vP79^|OENn=2BnOfc$xBuUZzLbNMfl2X!Vjs1+$sE# zS|YWQyG3icSF}NDi_{LOJyHNt2c(Wjosa^NIwN(FheQxkSEO$8713S3DuR)EAoY~5 ziC##(k@_I@Me2vtA87#6K%@|)P^2)VaHI&NL9$9jB1IuZ%W5%Lo)j_iUF`dH*wO36 zP+2dA$@3ykUKH{2JK>U-gj@bBhRc781o?~b$SWdI{w7Aq-^EDzhZrUQCz9l!Vl8DLXN) zREBg1(w#`FkX9qDLAncREz;dc_sG@Sy>hp9pL|BUU+&c&kk4xmBCSJu2x+~1Nqbnn zsy%}As647|Kza;mBhuqYn~R0stNc~AyvlwAEbQE>8*(jexoo6=2ah|!&N@dTdKZp9Pc|ww=>!~DV zziQ4Mt?8ORTG?+f?k(!uW~1F7)Bcp#f6D9YY1h-ffOt(;qo2Ozb>CBer2a%5Z86l# zYN(IZcrHJxKeZLhv#AwUjw^KsbvN}r#(hA&&t~-NKAT}5vl(&kP(QL6&-n@U4D~ze z57bN4pQ*o4f2CUNhT5nOs@rbdH_>i9&rFA*v#95&=N(2|zSFR~_q6~84Wq`l zGUh{kD`P$+(Lbh@F)zlnGWvTK>r16(P_w8@s7tA(tY;l{eXDeR-mY(ztIylb^jEYp z=5s|WV?OWW_0LfcF|L~SVQL-yXQ}6?=c&=Hjdl-fZP;^ZFQDdA3#q3WcaD0V`VIAB zYvaCJ8_t_HM!#9w82x5z!+xjwQT?f1d0hyv3*mLc=ue;~QE%gQrPP(wRn#@CXASFF z%j@oA`R+Cyx@fu@{yp^XqdrGH#PVa*)6@^B=Ng{3E!PRvLG__-qHd+`pzfw7x8wVR zT1dT(x{A8Cozbp)s2k|tM?FkE($0APBkhdmKg#%H)OV;~GX7WU73v?ZcOrEb{L68Y%#kB3IdU}8c%(^4Q;}{&N<+#-nvYb7v;^rEq%x${mif4D zKCYXO>*nLS`M7RAuA8r4_XN^;OPsuH$-}j2P-|P2S9M&rn3124{7}wq3S-Z!5I?i1e*(3G$aM z|3><%74Bm%wAhiX_RE%9*mvMQn~*k3r>sDF-RH996*<+{W_s4|4m?Yp>4jG3k?xSs z`u%EBX-n&t)=yg3nLcSfz z9!FY+d`VBI)!BQKe4*7z{|9>?M{=S6%x#xg_O`ifc^2szq+M-p=xc79-FH_T(Qj9q z_WkyvZ=P+X`e=#eYv_g6mn|;)F6T|i--t9DDHCa=ZCYT6C2-&(%d>ti`yI|r@~MIM zwpn7iw~dNFZ>d1vhFDsLR>*0At861+kAUAPSK}Tl5OX`yoqB8;Qu{&Xw&!ur_Jao4 zQ7=*|`eAhYC6)>8FC&$quI`Z`me9x$dt_v7t1`O4B^v0y74$^ZYvx>%L70t`f#Qloqxr>SlvS$|;WvL1V zHHPXLPkvHieolH(R;DV{T}g#0`2|JkvvabVxZH(H^D>ebW)-9tW#{KL7ECT!noy91 z%TtQ77B+eZHng_c#$Fo|mU_+eg*A6YSVNP;uemh5*{)E|g#6rv=>=JFb5qfUNrt5! z=+^Ltn!+OVxOwRXg;Vmf7ZqnE&CSa%$j+OakY1=iw-Io)VG$9{-Ocb$D$YyJOUY6< zDax8W4;`ZSW>oW+G(OBA4pl;aUQv2>Ug4OmrN*e~4>zdUiw8Aa9j)ioB$<$vmx+dt zNYBnGF2MAe-B5V7@iC2;>6zih**Tdb3i5OH3DMkr8k&~4s5o7p3Q4&ObFy-?&`>r0 zh3whJ;^aA#Z*9Csc%;gWz)Wxc$s(H_x5$ReBRR2>^5$d}j7Tpmnvh;JPhHsTb&=Q2 zpQvUhknT+>N-rpymS3bx3k$Of)T5)4 zqGF?y8)NlMQeJjZc6v_sGJX2!u4(DnMI-VH)cniIYFIbTHn90tM>jU+nt31H?93S4 zoHwR%vFo!`U&Z>u6hp`68?*GUn}9y@lTsMc4RHwFh%1CBL{JBa6Nf#W^`kQ|4jU$;z9&bYa%` z^xTG`#tnvcQr_bH1zDb~oUFN5oryPRWfV7BQwp&fn4geUFekqtR}DHn$pzVSv-8q( z+&Ocx-izkt(%Ma9(yLZxCThq{FDl9^xcaoJ z2h^rgI3mBndv$+oSpS7Z1;xr)*wAi_UE>os%q!zD(X_<8#n}blaj5So3eXuxnmSVOQT+ zVb{Lw1~;+8L&L(2SK_2=yrF{|y?i-^HT!l6YuvuW{!iO?Gp&wjxPFkzT(=E|{qv63 z5W^iV?4NhIW^UfRS9f09-OcxQv-?+A!v+-g*9|D_|9)EN!G)^&$@z(SnQ@V+x%J z%>Kg}ChVFeANJRk7uNKEadkDR-YQg*ke`#2m7zL8Jq{dG({ph0@?_7!D+gvuk(x`_ z*jeehS8aWO28E_IGgRt))to=9dAB+vG#eiEH~yIB{kUz|-_)=CBZ~7fAd~cgxw`+t zH6DAfn(oLpIVdSBF|Rl`>#EhTE?`V3$jZ#lz`8`3)!>*jBIyjGmte04NP-)82!lJC)tDRMNbzD;azMnl=vy10W&CXhq)^w%l-nm%?EEt=D& z>nBXi!6uEJAWXeI!o)(H*TO_T3bS*up3`#|sshxN5In5d&RP1GeK5TFjWGP0*G{+?mz`0NUzk6qXdvDs5#eHT{*laeEz~kwSnUJ2X%)gnhsLYeCyVDDn!cx;V zykXjgt7#jqPup;jAAWV(ssda&!Wbj{xR3?M;_z$c?X_baan0e;2+sH^9Z*eYIMfp*|H4hVheQZ>eNKI8=(AgRKdrTc!Rdfo@io>F=u9fSaFRIz+i{f)d zH5n7+Qx;?|)bAxiBO?2FA^#9vgZ^T(`9gz2{QP)n-6aG=7X>MIJ@SenCk~OM(tJC)f>}nz3`61 zi6SQ}4hQZ6tg52xKA}8W*eh}h;{;CYiH2XzLiGP+x85dwA5SVY9E+P8IN9hJF2+qs znVdR2F*Rkfdva2O7@O?&7|-JoKM3FEm36~^|9G^TX@jB-;_oVSj z<42}k=T4k7DS6UWXX8D_C5my$o}>{;s6A=?RQIGL_xQ=F2~);So-zs7j!jNU6vL;C z7=dP_B+W<^DTyP;B_cvMCb%cL(XO$n}Q$5L(Q!wF1rjAG&o2WWwoO`lJnLG)jkA5DPG+9iZJ1H*;76d%z4X`D3s%Kn9cGW`H?hf!zTD+|KPBF2NyuciA?`Qq^zG_OA<;9&%^;hpzeO2|S?dl+%VY&5+zfu8-VKa2J5-F z*)B9YNv#LV?M0;EfQ3P4L-46d<5CL3lZR`iK(;zt0a}XoB&r1w@!$mTW$3sHmPJp2N8YbfhLMydSZ43H^(g3al zMO{xUc>2Xwwc2DYkwv2Zk%bA10{RTU)fzo`j$%HM#5SU%fy+rdr9ic(p~j9S!kis{ z8UXkiNtOv3zZ!ylexM2(={4lU(Mz=sO8;iHn{c3A-NpyKO0_YOeHiZi)z0EZ+QZ)T zQ?3B(DsZ)Hd%#q8yrzfm@YGc;E)_c2{hm1XFfR;2&A|oe{ygn`H`4~QJi z3^6>ma!96O0#r9O)WRL40R^FLfi5*Sn-B(;HR-j|`ZZhLT2gBPfct3hz(HC;xmD|C5Js)1ejI#ACbLaDBScl3A$+MeurFuC zn6V}vraI~P8pdrJnRTW2T)qOAHg7l})7B9RiF-W7$V)JF+nL2zwasY^$li?We}_1O zJ$a?mZ?+r`CLA>lX}}a&t?krM8x4_OLYSTo8WmWY%!5(0&4b?^#T#pf|e-&T?=hH&4sE0CUZ5Mch8M%ufFeTI`y%7O+7A zjL@dgdXJT%kqdYwUJR|&t|gVubqcq=Sm-8NjlY@#64##d0|=bFGX&A}T^>r~4Iwpc- z^-!^7+znXo)#^zxPPF0yBWCGeq=>W;!vZ}6rYPRZLnGJfuoe{2Ryh>w&UP#xVguuG zxa%E{(S3w?EYV0HHbbKEyW%k-un);qc7fxu%bmu0Gx~wFX&8+X!WC;=C@TJ4FzH)E zqG{u?_)Q=s#ADXn?qy`g;BHDhPKawU;!0&`l+c@K^Yr6QGc1N`HY9Sb8GQv-8Qwn_ z-lXe`v=0{5~VNSKKmglaHTvj0ny*##A!&hw=EfKWazEVkVredhQ#Aq zy+yP;7KgiJ?&mduE%0lV4OFBYhuf)A&Gb+X?V8ErANL; z7^2wXRc{R%$?ycrH*S-FieBB+f!oX?X%;i2ifi3kCqiP7aRlitGT4(|hPFq=e#b$H zg6Yr{ORe6}IAGpj1!dFC$gnciVMM5VKt##e`UjGfQ%XxY_^l!klhs3E|a+lwZ_1+~@(88s5;bU0D+ z--+RM-7m(h4*I0Gi$t-&82PYTmJEyY?G2paOk^n}9mDOCEe@bxB6yTMRy)hRUMw;+ z7|bG{+(~c--8LN=Al@#QgA>twya?=LBu@CEW;9Ohp(0UsZ!HohX5Nt*-0aFudh|2< z@fg}h>_y*U=B$1#6330f@^*{__IouFZKG?t*xbeASDG1GU=E4J+FqjVx*~(s&4}Ey zWl$u6+P)2$1F>!p*)BFR)DU!dlI81hyeK|s*x)>mH$9pO$N7MbuK~f0k`w6SSPbj< zA`!TOhNgY1o0}km-;TW_ec1tAVm#Wr3hmtJM@R8UHk~ci&@wM4-K5rMo10>(?KmDkHo{Gio;4n)D&uIR?!O>`O9!!@ zL-T~lYcZ@^gGQ>i6Pp2-lda@NB%*Pt2V6oV#$ynMB~cbOQahM#TWPNtLj>$Ru-u*X zlrf}3#Q^PGz$dMBo1Lr8R_is3J=g3(%i-)LkXQf;Ep{3v?N-k;`#a4HZ8OZdR#HRt zv~h;)uu8WPvr@Z(Ew3Ol11T=KBnm3l+IHvg0$xgb+KU?F_#mc(ieKF9bK($<+N|7C zsZq4(<&o7sAQ~RR%Ya_6Z(nQLa21Hlz(P&rUKCj0PM}|S3M-B$hinjf#rUxMOxu8L zJ_=o1Ob1 z1GtUS?IzT5Fm|kALvRFUEvcs++*!aQ3Y^ZylHpn=DOO-K!uX=_6|_4&1N5R{1}+Gb zPJ=BM1pcdcjzXjWrO`;bR|#Spi+Wu!tUC>H)zm4w1$Eo=9`aE(IVI#B0Zo9*J@W-x z4jGhJ+U=y#gmfSf)v{|6H|*eusUpQ^eY>lhHCv)+9&3KFFnttWY;31>H&+eKZ4c(} z$R`l}sKW*)S4;)XgFU#~cj2fRoQa+4;?dNW1Ou3b(mf&sU|){QFhu)sR-?+haSr59buf@&(*AoWJRBnCZXwo#uwOMywFM@Mp}-O~ zimMD^Y1V<8V`+yt(S)HJr$^nYoWM zS2}p&2SdQ8H1RMF?IhQ>608)v+3qSm`hfw1Wd|XT)LP?&>Hj5Ww7rel66V zVI{XqXzTEiZ9Ue312AWIq3>}8$E6Ntc0)pE5)gPL+~fx>7`WGEGWx{@XcL*GW*xZ} zSZxA84-3JV>Rr2-_EC{#;l<3ycr21Te&Zi1Qs&CS73QERjP|F*252p8xaMK?oVuxq zc8UOARGG9AqT1k%FB=Q9cuh95E$&Pcj|K$jiWsIfsa&SIKxibuMGAm&h6HJ;(0xLh zQVs%2=75$Bp>ac{0RgdVps;M8ku38PkZXs+KLNt#5)A1q@Gz^u>nW2mbEVf@ zgCT}FQsaFUbr=}L!IWYjibCF;<6{wIeu5>i{tt?v0Hehyq?ksd`Pq~w3{7q?`vSHY z1AY2cE{9r-0*=QeQ28kj)pkJ|$ab^UWG+}m+G^9R@1z$JRAW}wRxiK=9Kam6k=QZ> zupJJEsd}zLFil~G6MPvtc$V&jBi4nSnbr`sm4mHihsA8d?6N@YOtj_pWLcqIKZ0B7 zmf-u_?sH^=nVQrB)i$cE9mqO2%~eCP_hIw80>t%f+J+9`x4ONw>-7>+ZVUR`*Hm_Z z(A+E#>}PWwEJO@(Be~({j`rs6Wwuz-#PnQ~CmTZ%5wb8$eIJFKEw-^6AF_K+^|k;p z{5FlZkIrnV2P03E1DR>{u}Y9MiNAGcYCb^S*lWUKD~P%%LR?|Ed7}tv5xbF3)e8{R zaTZzxMogY)q@;roSqC%d*f!+Nf95$Pe6CHV!wCaS3KgVYLY@H6iz(tl4K)|oSA;^s zrBT*~Km`_sY)DisrY+9~6xG+)Wg3~DJed?oV0F;1r!-e_!8Fj)1C8k<2I(X|(Vi3+ zZZ?iqoh4yd?01olM|U`38XUrffPJ71vs%l;(cZL!mtb!631pSk4uxUTY~b?(o|Y7{ z!wJ$(5(=mlF=Hj;F68-s6O#bP)zK9m`rOVnYh%HqBgEL0NOO1+>6}if(_I@bwU6 z<83tk;GB8c;(7`f&bjlJFonhXTVJaIt#G*BOWMELlThL=mj>!j&oQE%t!U_MyK9QYmZnWpJy_ zL0Ah5$P(`mTkZgWLuN4~r*tJ~c+m7p%9Z24i-xQqvUDs`l(K1q%-jpnUd`se~8Ci4N@w9s%T z*;&JF3x$O}Buy#IS4DeDDgW4$sh|YAtI(#FPlE?(y^vK3GS}Nk2=Ev>w8BE6$i~$* zAh!L?7u!5|++!1X(_l$sS9=ZIu=cRkW|+eFf}@A>i~e!U5WhLd2GTx79tpf*5ic|e zX*R)D)6PZEFwB9hb+kz9fXHov(PUH_OH@@O`Wm2dS8L(>89y%#@b{}pZzIi!?a3^e z@dn?5Y|!C~0!3scCiG1u z-)uoE*tCGsSS$(Mb>NLHh7Q0f(D#9c1{SxrdK{``XePJ@(=`?NLb~HX;ja6Zvlg7_ z2?<_lQGz5Ip_j(^cG;>5~FIXgl5OqmyhFU`AASPaO&^jEyX( z6ea@`3ZSH7GW?;LZf7YT0+1yY)e!-iWlWItoagWa$RX);U@S4rwc@a+;^5|2GiPpm z3-xS>4%bkKn39ZwD5zLtEE67;aClf|91xzCaQJ0l7aIWv+YY#%p6Z6ZsPM#$!ymYZ z<&qV)O2R0&VdC&4RpgQQ`CTj{A0e9yvWMWcgodu5Nb9v6ic8+>AWmFPHZL@<`GwJJ z#~JN#sxr=}@@RtB!XaJoa&b0Dteg${;H%B78Q`SlioQIIuFUJrzK<3KgZF*38hB&E z+1iW_RYWs=KBztn1oWV6xhh%_OUJ&8n>&G7YA z55_~aJd$C=IyA6xJn;i(BIbPD$%t$E9!#q?ZWwq?1RQ6xzl*wyB?!QZ*eb>rV^~Lm z?l_v^3%Fm}4{$5B-HikXqd%znh^TBzz^f|mAcrX69%@DGt8EWp_9keEr2$AV9!hP> z9j05r6s^mPbLXWd5TZ`x>p;lr6uvM-F5l=U9kdfKb`6SfVnkkyTuM8e&8-0+xXX>T zdWd@|%}}Q5Cpo+wlg<`w$Z+%rUtrwiQ!utY$YlDjr-hej>J?}&%l%$rwC?sQN#@MK zFwYTL4?fqbZDqlLgav_G=rRbSH`sS%ZeT&r;@HHQFu+roOW4mnFO?J1Q(0z7c(!WyvyC^33DDz6c#VQw5ah__RV>wwr^6^FDa$bCWw zYy-Io%1?OY7y7u~Zh29#MEGRSU#iq=V62gVrR;bSY|iEtDEfB4Bl-cz>O#t>-`r@D zcQW@4qADqVF4;l%(i^*e_mEFZ)65o;qSL%?cIeyCj1i4IC`5rkn=2=`R6Sh41AF5V z*wb7=9?=XOGIvZXWY(E+=3wP1uM5B`QVy?aU`qpNi^ZXack093kOF0ZGSseK zx8<^az*j>H#|Gt>$%X5m>u33<1NLBF{+xZ*=f6I!SNArVCas zq+7V+3%kC#+3fhQ@L@agV<7;kVt`?)bTVA!2v^U+)bObX!01+xDB^-WZnfZS!Lx;m zuuu-SAQ5yP+1U z;A-i?NKxQ{<=|tmf!ZfZ$9iRb#e-DI?4m5JT3`rfE=U`p@WkCb+L(p#VrLhAS2s6_ z=#%3_+$6(2iA}RH*d&*(G|0}>ws1AYHB%Kd+_Nw}MP0Q_zU+B&X7$8D$TA3cW&PY2 z_1vUvPzoTK3QbZfOa#dfTgoO#oN*E)&5VSXvwE$Y zppLK7(UhsCvqy|b%fLSP8qGSeG?`X`$c#(mLb5_@I;cIFU<*tgfmT;IzN9oU*>D*0 z&2Ac`iNlbb6_U26tzT*m_4r~jzQ-4fWaV&Qs|PCsl6PP`U{s|$w*G3Z8j18gsUMh5 zc6jqK9!bte1u_#Y+hmnVAqv1kpdAZT4lOuL|K(&?HbNJBTV(Bl&l>z|XIsoVV42Ic z`Zi3#K?fdZa3~|20>9`O44*=E1akV+6-lLhAj202WOuiTXUK#H=ZH3l9u&}Xjx=<4 zD72Dx()DxzAzGt=&ot=Wj{@!LHa?IgvV#?EI1RetA!-6Fc6zRb5R|md6bh-8wZb7_ zQv+z2KmlkZo2+==nX@jUYeiJY1@kve$krW-qPR<-*qm11+~{gWE+m~T39i&`;NHDp zvI3?ZKq8KC0|~AQNdg3vDnq7yVjjtIxHjJ{(223n*_iaI3 zDtZ<|I}8h;X({wgnmLpn*ig7y*AQC?vmcn0ZPtxjo*5>4b@*tQ0%YisB6OqKw*dR! zVmzjjNh!%3#Jnv9>*N-Sv84QU7e_EskJ%7(d50eDU5-O%MYIi(B-eyt0cs)P%eBrm zq-@Ax8?@L%pPCG10aWE`UrJLt25-E(E|hVkaIOojVWCA_O!^M+HV7TEo=0>BnCGU2 zcS!HLQp>Ipdq@H4Gzy`DjdP$<;m0B;`hUa=Jrs`@^BoLWbN|-io zTShhfvP!RZ*~+FcU{y`un?+qTCgq?kd4tG?}96IKIawB#jFjD!6_Ez zCkY)giy^x<#QO~TEnt&$N;qt2fdv@ zv(Azd9cYjs@)jz~;dw2_#{7Oslqlo#3HeO2U|9$gjy>>D!PZMT95(Ca+D;zb&B4r2 zdj2frc!`g}tj@wbAyrw@C`Lj#A+ixbZ1lE~v`mYB*^yk#!kfDqK^(<)gpLeL1PiP z=ux0Wzqq?(k~aRftH?9Rc)QYXwnXs6P-a7TWQaq&CCjUSt7Tq>k55|9KC{pO;F=HM zQ2+_%C>7yeZniiVR7w#eO99_T4F!Hd(!&#jMXAaX6Gu7^Vgy@7v3BRH?G|}=#3$yA zPqcSPF(77&Ne_W+x4n_JOdbBIf%X|7@T~X2fIU$trhl;N0Mj5ly=ckHb~qeVyEFk; zfQjzy3cz;1rbW}u?C^v14@^>_-qul|*`fO}$k`nlRCiQ>BE(t~mp;`9$-cJ(aVX=y zp~cwUS&Lci5Z~bqa~tIkP>alB$Z9{2$*GQAN?Fe=Vn+j7GXk7un?KV(POH_(VVYDd zd!++;hI-!=uACx!Q(-fD$P%ozn$SD74v;$Z$k!)*8X?zv&9<@yjkJwa#5(9M3|JnL zIUHGFkrs`>>L&iKuIWw$lU5(d`N#2(A_eJkZgTu1NkKYY!xUG~!CgObar1*Y-~yIO zI5E(X*j5pRdCV}ro-6^2(xElW=Ju_ zLjkqOsE%a&eZNlxBfP(e>jqg-9<#L0!K2!SA2i%FA_$*JZ&d1OM~)(*JPW)Oz_hIm z%MwGZ9=+bg6%-rfY*WJdBWb|x*`?MrYzPH(-K;X%*O%7Lie$?)bIphRaNb!G+o$D` zB&v%e$U-D);c&hbBB=GOt0i7!9jLE)sK(Ap?Q5wIHaiZ4PqeqBT>^<%@#>++E0y++ z7CXC&yDm?6(#Z)vz=!pqr>IKopfnPbxS-^<#_nV^LL4IV%b(?K1_jXLqkZZ*Z3L%wVb_-2S78uT)=6na`-x5fyRI= z$1HWoHE4OIp*;fTN5ayai%{R)yg(RdXC?@8y9#L-vcm}HSPyx>p2Q$qKt5yyM%|1! zMo^U4`YT9IM|?!ZEmU@|TtKwdmdUp^*q}WF1Zi)AZN~i;NH!JY`Ckq8xIMJ0OD)1F zuG!?#MlkuyA;k7Ez-L47^$3myL=W+Dvg=2ycGAPOtM#xB*7KPh<57qk$y1DtKBv?FfdKl)ycM^RZSu8R5m94-S~+UK;AQ&1?>haeE@t z92P(i2P>iqv`9>@{vuSrXd^2b*MNm`L$@DTtA6Dj1X?7H2pX&IaBd)CC2@whINbBl zqov+i0pU7%4}(1*yEtVv;<0qnFYS|K4TnA3Y88>oFnM?RLV!XXcfW&WWpVqJ{x`F{ z09^m-CK*=czr!76^fDxqq(T9nA(4yoOf&r&S{p+@7q=}J_7O|qIh;y5z!(*3qRkw> z!d{%vHkMb6Fjii*tAUFR$gS6QYDSp=R6wi0Z+Ydz^ZCOV^)emM5j2OW*9KeLeQ$W7 z`Y8U*UhA@Z2p#uCkX>vj1LymMjAuP$=)=iHtiqDK2@Ag8AWYgFCJE~48P$k7!@;Uf za~QmQ!vpn{qKB$BJb>HSHa_Xpd#=SI3bzHzJ_sL(x7mr|ECs21XiR%?0Rk_ga8}uZ z#DyNXUxBK8OP*bg)Iyl{8a&V!BRzD#h!QobhpD=ALC?0D08~*|3do$Q)V>)U z<;(yL(Rh0ts&`WpzbIPHkK(}@2GAztb{_B1bPFq&utR#Z9x!y+kwO*c2USHz1+x&e zmY9-5D^avP)@8`Ef&(k+NR?-d0+|m~gOh`rr48E?VO%O7zoM|%%2HSfA7|euKRi-N zZXE)HMSv^lm;=9L920EUr&#YuTQ1T$x3M1@VzL6J8$jNL-30RvD$`h-r9FB@7;A+~ zkQzh~(8M1gqTXF)Roq^sTz)g@rD`CP_6e%?Q`3Nd;f$quY5i&io}^Z4T{`*-UqCKy z5ROu9OiUw@T%gIFxC{8S$6a9FUFo1U(5$tRq-)mkMqLwJ)XhT2bq*6NO3y2|}`?#N==fugX#9hqkPHONW4fL&}B%Y|HSx@=$P?+H<{8r!6IR|t1 zEjdl)x%va3+A~Wnpk(5~g@_UwQHVVS9}4ggBFPcvV%iZY-uAOxLj)26CRl9shs5v< z#__|`l|pTPGXXd3$!WB8lt*||BvffK9GIwn&k9dz+w&|1- z6%zW$D(xfWu^uDfqbsx{L3zm$*8RR^CUE@m7#nEgB-< zlaH!yXf4GUW3@-;#i3(5GUBw$3ZApY5+aXH>33s*4i(7MZ;MB{geqz(i=QqbmfDpG zvfeiYtZ18gICsfcBr@E&@FMct5MET;*90_O8L45?~$a8S-Lz3{p`K%aa~{Ee6en(clj&ZIRU^0BMlA$d-n#CA*1S>_lS< zP(*k1NT7XJN3r1S)Xw1p4GiCdY=;0j#t5KfqOBoHsib)cHmP!eYg-NM;fCF7IaIBYA-haeC=Ds&4!k=ZMVV zJa1%PLfvr9a$g+4c-^^$>3p??{2R)>nu)g@_T268WRvMY8nLdm^#1cOUQB1BaRqEO zDPZchhgcj6HIH@#88&q%BhSUmp^0&`95Op9wzsAkb~<)8X*Jsf2Sy9L1BZi|gt*MH|sZA(#3&QpxK zzp&aEjmVF2#d~^i5_1*5M0nB1V2d`wXqp89N{Xgy2GP*bk7Ko}LbST%>ZNc^->}|S zMNc4I?x6GJKUjb>O%K5Qp|!Sf=Z?LfV2d^y_I?h3XFR;Q!}p<^i}Ch^Bk#mxSjKSh zrVUk_?ncD(OaC^yziMu%C`FNzS zutDDy1tH*F532TD*m^DWNw|?~j3Gv?&LwEwmk1m{56)vxsL12U|Tl=YrY<4puUYayjYU zg4TnMs;5L@kP_|bD{tkn;t1Oz$nPUbwIs4zDVen~>`65e!(+3)n~PFMqf~*Rmo_hW z{z%b-Dsm_v`n{nFaOZ63E_2p1GI&qj$51!EH0~Z}Y_4%Eww&zT4#X zMR-}~5?6d~(_*W5rLj1ONZm^BFx5@~>iK@9CN2g&Y(M)95uy0+Z?pMz4(lw_yzlAd5Wq31fxbb7WKqagSYWkhgR)3inD!hpFDF&4Sk&^3TAepDyxRA@g77$os}}0{EyN3@i$v`x zg%;}kOAk?wpH2EC#i$<%3!{aX(>n`?V8NBNgRV17Tb{hT&--@(qN$HK<^kG`Jou%4 z4^2SLI<`A0@<_9@m;s%~vdrQ}W&$rIDut=a9Y?X8dXj0E>3lictZjADtdFRn(@#X$ z%rhL}^ZK1e?$VNs7cDZJ$Yfb;wVH}(`v7Z!`*^cBBT)J8M^-w8jI#W@0hV?T^2sWl z0F^T^&&7&icz~<63nhm)or!WN#F1PRy%>#!oOl$U4)nL`G=`3;2K$^A#eS>I#X^$^-T(nCHWdD0FjYv1qLlCi0*rpLNWed{K(DD@;}) zTD|<(czaPqX5`$JTN50EYa>~HjYoh48;NkFEE4IX*wbldZ4QEK5HfK#fCpX)wC1FA z*PS>G0h4dW}pyBVg0y(XOa}VEGVO)iG=R-InA`;=SzO=A3y$+l8LF zp}0+v@G}Er2i1ScC3UBr=@kuD4anH@;wnqcOgtaa+z5Fb`T@(KsId+hWzu;<`niP0UJKBNxwuG-R+xV z)$QQA7nT*WZxdR;u2Lwb*R~QHVRe@NdwrYRI-m2-td#`;eGR~jJ4>frHHz$CFh(~@ z2_Us5g=qLwsD?kMU;KQvig(jQxU&WHOu7i%*lq^#E6sW@&C<<&h^9K?Euto?wrZL4 zmPU(xa5MJUXjPFG=2|rdcItG?`9Jqz?EGYvK^2BEb z3x^E_?W|-3(e?ov&uAnsmZ^I4DS8~YVKzzdPmIc?X+EYCf;@rTWvIyW`4F+=DkW!X zHsKJ3<3*YEU{$-}iXcxyc%v$L+qS(d1_=wO!NLYaZ`tnHPo~F!9inSP>bHT|vq7KP z8ab2!`PZS@LX@~Vb%<)ig%6Ow`4b-NOBMg8cKOEcdTGxN?Oof-7|Ts&@2L9#T{J6xPG z8I15IJ;>%rTCD|v#U3z%Z6Jt5j0n}P-JoaMRj#?#%lKSp(qJI)-oPjlHrN!p*577a z!B{9WaZ8{Kl^JaRlQ~nMOl*NNavVj}{(vr()g4}{!lYU2)Ve?s`*;eP2RxdCbbERLM!Dm7|q zklk)uN9Y4f5ZM~YbImPp%I1LgULMCxLx=;WF+>F3X!I>joVfyNYxCJ>gl$7FcxiuC z%}QMgf>>Y8JH54CCL0t$%*)9xu7r5bd9hE&KjDG52-f=WBK+_G;hjxpY(4vB*~V3a zEmQ!LjK?9ahH?(lP#D4^z!!jfZHOxu@(#`0Hm25*fcCb4SqO@BED)0#(NU=}fMNe4 zvVy8LAP_^z%>sB#KCzIfm(Wit%1rdM1lTmFX!L?3d@MWC2JpHDgknO7$(hN>hu%Tk zLqOOU=qx`I0J8Go5r-btYijsI)y|>(yR{S*+^{7`YZxtX%8x4@%2!ymE?FO2)rl%4t#xItTqI*PBaDp@X&0E2% zJZk8oUA|5i<^5LL*b)crmCi+S38^MSwPv3@hERa)G|a>6!rixa&+HOeG^+1sAp2_CY@k^z0L{)eEEN6VC=cq~eCrJEXbJO1+-gr@ z)o(Zq4?^l)hoo!9!!*21dRG*f3YowNfESu_2)z@LA49!m;aU@&d`PUc4!QI3vdp1G zpC3tB#8$V9s3e3}5|~~~?lJ}cVgCx+T%ib^DoU4Vg6DN}`qP6mh}rS%p}+ zON9Mg=3YeMr-%j4NDOVm2wsA0X@z)C5i;c60@{5ryC^*{0aLdFlDNZJkv7uJ+(MM< zAqo*>{N{D02jX3K9@uw5?}jrZ8`{r(AK;rm*h3`H6W)mtZ>KeY#l*=TClUoU*~1W% z2oHAuC7tMe_iO0`I6+Jp`cTFhFqrQa0_GN`uKAm2PA3R7eZy{7U+FUz<3(aRa? znwr^mG}cLd)+0Rga5)?@aygVo{=#<)NPDpjYR%84^?`j~TP^4Nz@k+GQWivukRT0B z3A6Z*p(<;h?!=Y|I6AZulN#UY8+T+K_962O?85G4eZ(T{US&Dd7VPf6SFON4p6ZGH z*8!RPto?_q1B@GQ3f$ANa~Jsr%y#HFy8Ca}vGnm(Q^wP63h>92pY-&L z&s3EkjJ=2Qyu`B7vjbE+X^`@U^{Zrk&9G=3dI3TNCPrMYHM1l*US>1FMSu|YC_jUF zcXfPg5HGi!0cnu%ypgg}u()3IpaU3OzREMe(0={-LDRi+> z_ZYAffBy|)(Zw}>z89>ge8pM^?;(zMK|G9{9QCskPt<-Y>yz3;qMHv-IEnae@FH{m z8=@o5xwZ96Npc9x%!$({%nwJ~D8+GF zXdZuZ)cu0VM#tYE2=)g|b&GuRv2X`fWGwIY4LY8ph(VRWmxx*_#`k3Bzejf=0P;WTHcFjSS$(qF0A_|60_-o>XcTp>*6t4 zeS`dea1T^U8hm|i8LI|DClOGiFa?wiTJelW;2RFv> zuF>12qfXJZ)l5TpIVpc{Z_vfD*LSYjAk21U7^-ffBA3JB7X^b&e(<#5{ak7ivAqz$ z)k6?=#tM8@j~0@r774DUJtP^>JLHp$HBe+&#rKU-s7FT($%$|+UszxJ*65B zPLJoqwFq>G;PyG~H6H{l_E%DP;5{0K1{ZHc4f=tLhXx_Y5)DJFJfb}&fYbyL!%%a4 z_=H!S7TA3}AIFEp(Qw*X^_)w4>iSEQRkIwzx(2T``~Ga|4k>`S28=??5y zW6((`rpmXeFqweSZdRawDR7?M?D%$D^3@Qy(QeVxbB#x^GfT4R$)=ScHUXhvyV}7= zwXdl}Pp8iMIgIzFNO-ZaomwCZE+$qiZ(7QZxy4q~mJK_tpJMprfn0aR$)({Hf$kzI z9d6cvbiVyAu+@j^VA#mZt#sHxyBO`k&WQp&GS|sx3BbL z*gK#)l5`;iO)eTuw3@ikN^E!rOVLCllg+;0^FG}2!nB=-yGVZG00B+C?#{RcQ9U0B z7HMzDg(&ve$Kkp>(e9dsvWv-%Q1~6QO&8|u$TG{%EB!hKVd2<;f!>1OE1j&inVbg( z+2FFV+9PIJ=@bK(lRiCh!;@_$mv5L%u4%hL7b5WyNz%%b>|y*H2nba5PQ2Az6SsFgzcK#AxkcC!fR#2o24z*T`X-;Ia?vkkz1@7p;i#Z z7+NXwNZ*=BP*=N~(!=Qg&Y~}-F{~I2kqvk(zDR9jsj8WV&b83PgY&WbQWFSIufDx& znSQjI4lZKTO?F{d2}P`q?}teY@f6Y<+hj1EgQcpqo8L_}o=P6r+Ma#h9 z?V`sFzIm7lwK!K{60HE5YiPKx0WwiKS0iTMgbq3syIDZUQ|#ZaS!qEzsSxSRLLE-o zK=0MyaG#rWWK?tp1U5A%qA;4_h;tM&&*`XBBDBxisPQ$*vN8u(D+}4egCGdGYhx=N za%GMvz01`@*&rV+Y~npEnwJH;8pzq?^BhO&Wj2t6;&ti_@(m%YJ%)1E04bWsuzdme za|+@fBn@CyE~^R!W3Iq3ZlgcV?OKEGleCdEkj}%`b=Fh=4I5tb!sb^0HYo<$exe95T z^oC-tz&}jg0^EA=);y%{(HCtQ^LU%mw5Z$!%0qku!r?pSxW+VX3z`#%!*>&}UCl%d za_>QXpmVM+5v~q-^yo{lPD_!uu-?0r@-o2u?HA>_25)!af9!B+hi@#>y8~*sd2`)s zzi*h&nYZEDfb>bwmiRqgDz_~)nKu=v&479`1?(a`c~orBS10BYwbXU$(*(i`#!S|{ zvd!CzG+Gj>+k#m(Z%GW6oI&4X`?Y99XgxNlo&$QT0q@L1UuA>~^ID`9b2++E$D;}A zviIBJE0-a(Nl+pK^WIko2XWg@xS%?NF#RRK^Hgfna2Qr1=Y-P_Q)2CKSa4U(OCFr3 z4wemwOX2&jVX3=esTCO39U3gj$6fN?yZNF!GK14rJTXZD&+byOv+2pN6S#FHM0tfikV)ccQrMnJYF@w z0dWFK!Ak;9vlcB0J#PszzorY=UA}+vEKS!seP`D# zun+qb&Mot2wf#m1un4b0Eaz_?yhLqXlSQ`$?NFB~Xx?16Bq2U(HVE3Li5uoJPt1>w z>5e&7NHLPG96lkmf9wg7xylL!&FN@kg`T0qF!#7=D!0Wo|3)ki6CiMTtQ zraYDX0`s59#U|7>UzaY8S88PMoi&Q;%6#+Z4vvXTSSns9b_m)w%96flzG9Gh?Gb~b zv#diSw|2mLr-S#*cqVl)Um0GTEsxpk34yOs6MUU8sWJ7CDc-c@-FaU81&PPja1OSv zhY&X7^Ux(o7tQe^Eiot7sEL=j|_yqKqzitzGSlaAe>I`>4Pn5Si%DWF*$ z&Pd{yTo-CNPqSyp%xvJI(rmk55-j@;B6znSf>{Kt0e0+G_3Qn@4?@wlREUS?7W%qldJ+4~nNtUYct zqDaeeDZe2TmkYQ|X}N_Tk1!FpU-Nh>A2faaPspGSBNI-nFnj-W#fzS&4!{B2w8Tk= z3l^{?i*iR=b3^1V{p2NT#U%3SeqZUb;rfXeK=X<=qN6x<$#I_g1_uapTlJx=$0o&e zgs1tpnx+5xMa${?WV9KyXf5(tYhE6)PjmybXL%So!ZkVT{J!5u8Z96xbbIc;g99PxXexoo%Q_QhwVgN{1aJtxCE?IneReF59_~i z&~Vt4j`^sw*l9M~G*I~av%C8Gu=aiFNuFY1pSjX|GMtd9#rI(#jXq_}jxI~ShA*7( zILW()Sqff*A2)Zd{acprO6WT_C?1ynz5n&2tcQ+A{-`UViX9zV#9QWGtc@dk-;Zfv z@1-8|_W9p|ZnJs&T<(qP#q9n5Sz+YdzQVn1j@#va2aU0HyFBhuQyfR-AHMDB8|rte z2F$hBs_#L}a45U%mU>&sshslJ5y+zof@LkNSiyd{YUT`SS2I+8qf|?7qlCOgd@Lig!JDy9k$tRJPng365C^ zU&b!#;h3-U7yf}fA192Ku};u6T3YfAJTiHKK7EVIHWN!CSiwj*8jejfS0P>z8@)Kz z%;KGD99Rr2j!3h(Ol*Xs`u@DgYiNpV7qgy%OYGtzVD#wili|9Q>p zuX{NQhUc4~2~J7Msh4aQbMt)Yc~l!-_Ptt%{>-s&;a1F5s`RzUN-}&J`J35^2(gJU zjJzuOdMl@m;q+}{hIY*vQgXEH_NRk!Obn=zpz70`LS!xxy@YwN>om(OdDMuhbYw!` zU^bFb}=-Qr|lqq5ul1c#0R>F`IZ}@OqpLCYbGY$wv5^a z;kP2hn=rgl=8qGo^CgL&J`1f4tv+ry0w>)U z|7XTLfKYU_QcQ8YY7A=NHw`nrjE9(&6`D!dhZ#xrecF0k6XM#XeK8){J(`(etYgG} z3;MxS?p1DP@4sCNsLm!emcQG$MHGs4_;ngYv5b5LL8zF>tTdk=lJlOd!0M~8q?91w z{1(?DdVo;HQQQ~v^D>jc{^dYTot(-)rUq-!MAVjX3Y+}4M6ot8g^fANWn3Vx4!G7= z@N*+Fae_HUPEen#-Ztr9?D_gqeygRT6ARbk}id-qXD zjS`ygAd5Wkl6eVoXv65+1V@;3x zODnJ$59rF$Bns!g)>Pbzi}Of3c1M`S1I0tWEg^7fw6K|N} zynX{>c}n6chr<$$C*GiqS7&qdRT*TG^J8JGVIYc8y3;}?~GdOgl2#o{sLr)%LkQ1aVUnOH8Gr>=6eKYC8YcMMv#G$h=XRcz* zQ5Qp_Lh`_Vci}JE@Cx=;8B;zh&(F)#rGLh}Y{RbtPiG!f{O92RXQ9+(n5SQ*Uw-!s zkp8QXhK;kr^j{3qKRi6{GJd!B?$h+`@ptoa^zJyvKM!1G*h)pr7j0??oyf;6Aa^mT z@dOx7z&^Ds*!(qH%H;Ny>0?GV zPBCVDg-qR6p_Md*F;^h%OF*acw(4Cnd+Cb|)h6bG=O*!$TW4jK)@2piB1+*?%goN- z1;cgZU4Xnz>af{I9PcPd87mj5tfve=HIJu^`_iY#Mw}HOPmvux=Ilc2Bs(BOWXj0@ z??T%&i0-#Bd?Hkv@kXwhE-2H+wG9lJvE85@qye?gL6XCVH+*UfPs6zby(_n=Jae8E z3>zfLHmSGzIhBv9DAYXcbMXG>Y|c*;WKMRY`Iv7YTo(hTEt0{%27E)CTCofD>`^HL z_}(3;&n|F9i!hFtU`{Oqe{deg(r*A|x&SSYBkYoS1$qW4&J~zvS7Fw?W`0vB!?Q47 zo&&1%Jj~t~Ox2j>e4BoFV>D=~YiEW1Zc~dQ7le`~w{(w2(118TXE@;Z-3~FvYBy7- zn8Y|4PDd=Zs!1+W`7HJJsT9AKP6N>h>f}rnQ1(;xa)ZXG>L+?OXH&Un24^qdKBtWM zFJDtKB(I0V6~w=hvd8^T^IUiTn~6U4GM!7A^f@mx>9?tw-Vrq;({iAG4>V2uN(b3*OVlg4U?j)pm!lic#C2Rmid02Eqzl21Ez>DQbn8pCH~j+)1slQBheMmZGm z=48V}4ZD|DiBh?3dtE>4)-pM?(%crET4Gcw4P{pDHkZPv_|Q4+7gy+ z5}8pnC4YBK8UicgAL7Gewd#6kjfqnyr;f<);#`)`jN7VW{)tsms8;$;2u<)XaydmtTJM5TRBb~l1#B7)5ra4#A zKd87MtY(M0Q&r=v@^29l$2^$DR>g`kv3c_;H)QzB@-@O9`7erRl%A07n$T9|o6_M* z!+i_lmkirJ;Tzu!dXua6h8RH~q_ugHPeJYd#k_Hfpf{qbAg-jpY5C3IoY6Op?mT_- zw#GZ(9J&en&8U&WH*aJABA;>MwCu|%!}nQIq=0 zL$nNx!a`r>jxdLa(JAv-G>32`nF;Saz;P7^GE!d9#z~pCpv<@m59aB-XmwEiXlXop z1K<`NcBLb5GpRQwhu$hOq!{I0oqy0{FT$}K}*F`p7fbHW@#j5$Oz?vbz_?udb{ z#e<(R{z;i2@3~KzaL*x#Eq{t<^=FDAfo>$K#e!036wJf#H80=!+wSm*W9#OH3J@!{ za_4!i8D`4!_GVsgqrVC?<5%g6yXMOP!#7XiwS|iK{KmHm z3~uXs!PdY$7Ir{|c=fiOX`+mqW3gQwxVT9`1MT^X#y{-oj88%VzF^jKYCU-4He&kT zANl(l{*i@Ym2)#ROi`S#%Jk)r%&IU~F`;jsOH`%&$r#pW;K!kXI7@296X11I3qEon ztPppBlc3e#M)^!((YhD;$QrEs4QX(m3YuT&Gu(Szj{N1-Y>ZnuPeNSfeAQ~HkN)3-k+Gjd{ zs^6TvNOdpZ=i+$XCC%esAre9dfFFs!wunmT>=jb?+!`?w`krf@dCygd z{}zqHN|B)I3|5s+Pw0T^GUGX$&s_G>9b5}@;;e|6?&KV5DsvvRszs+KjyB#-K+gLg z%kS9Y;-ot6+@XVsx7^5j)Xg(rx1@bTEx+pbQA!J;rZ{EX;REes-SNmwUT|U+=Ew_v zej%-MU*%}T>rw*n04J1Y2jj_}e$T5Dl@?=vYkunUAhDDzoL988?R{4Za$5?#emjNh zsi2xp_vB=!qFy(4TDC!uv#@3@ReoTM?EPCDf4+wSf8B^5C5$PR4?d{qn1E2xTKxEf zbkDKcgiQmZpvfz2C)f8Gtu-}E3-Y63gKA&1`=%i)7(K%Bc&v$wbI;5j)WYV=FB|oX z=UC1Bs^{pB&k~tOi@O~K2I&Ew*~t0$;xbZjK6BzYo?QH|Ey+s1W$P9m&T-ZNT1%#U zGQX$uGZ!s;<-_@Kc#bl$llfk*5acN-RZ;{yg&`=+DT* z`CPj)nxxbfr&Cw1gPC>b&qEJ9r9yL+FAA+pscnzr?&E3WPOiNOJoT!u*j<8o^OmtF_CIbsIZ7T;TMf1;)uyORR9n-%1ku|Hz;r(nD`odgMk+W%7 z9pMC;yiBUAZg@PDx0af=$DAT+sNF;w`{s|aylb&`_3LmC+c;S&)FD(R7RxFgc6W!2 zhLloM-iqyX4lbc6%KKk~T#vftF<**Zwmd!Jy{<{1!G0x%^;Hf$JwzJ7(QiNq35j{DXwFphyc4=u>rq|R zj4tf}4hS?lBE|%D)8t)F_n@@f2Y9I!qZbRr-t#-uOmNHb2|mP z>OV*J{`kWc5oR-7?|vuRc7J2H<7ouKqwPt~(7^2dcmFA>9B;u`)oXWH@sVcHah=x7 znR07sp$a1J`Y)e%SOc>YmgK8O4;mGYLOf-hiuKOBW~7$i^LL_vzXhS9TG(T*{kg>G z3AyJk3e_u?bAZPDZ9Q(1P~HPFv5x1GfA^^Z&OeA&lQA~j<=_HYV6cfYQ}*4DTyoo_ zcT(=_Xo=)+g<%~Uwl!Jh9Bz`u>J{rP|75@J{SG^w&MPm|cP#moal6gV6ko-(1rWw` zPKP{?9y~Vti+N_reL&G|LH@|-FsE|rE6ov(kVnmT#rlDb7I)GXmlcM2Skpzx?XLLd zWqyY?C^yyF+^%+LsrK!>x|l5ld91|LNKK=Df0Yvnw|rEA7^BAO=e4M*gBiWVGx|;q z;2rA%;L6Z@I9`oPIHKldpj$J z@KFB9WZ&k1`MGqydGp95e`P|$(oAbAYgI9E!>E4@bL~~@*<+YHg_wfZQP;=KXUTic z?S1l$9QrJzHLu@EiDCYCT*AZ~fRnyCbb}7uy=mSg&*Dlsbc+whN_mlRcsO6j6B_8} z7=(0@s4O0`_XT4n3CasID@P_$nSZo}DrfeX_?= zh{$^)<{#3$;HGq_dUXP}9=p!@V}Cw2pWUWar~vV1)#Illxw$v35BMkJMi!B87{~7< z71TtJzJ43Sk8jBQ>WLDQiFGYUmCTc;jh}K@x);dtDOH_yainE%{Jn)n(WEm}Ep8E1h zJ>V3|ukId(2F+8X1E=$4l_mF+L-Nip3ZEJG)#y7N_IXp~cJedG&74^MROP=$@*Qg( z$PxF6%)?k3a)SL&FneOtK9J?GHvLNIqr6V}@oTrt<4(HLjS9Ev?(#4XpU$Pot&b=3tI^AbjzT}zAkNd# z?Vcwj^Qg(sWv$8Goh0e2&zUK_jinRW983S*M zbElD`xsAxZ|NZX#U}eS~_rZyDo~A6T3X00^xO!GQzIYT!mEsFD{fge6Lk}Xl><#l3 zGV++JsvJw*D3r-|cfFvKo#IzXshL22lf=mI{Wmic8mbIuEl8>_p32IG zR>L(!-eH<%csEsfhO08*H(8>+o6qMrhn1NID~4@=)#CRLugC4bAHBHd^HaGqoVdfj zhYd!<9Gb>mQu0(Gr>0i}^PHnq;=C#|uRg`Uu`NZm0;AiKQ4o10@M=>qu!MvN3 zT&+z1NIs29A)3YrP?f zoMF$O2^sq7o)sI^vgMk2q)6y;DV}z3s;i3Iym963mW;UHdY#iFOCNn9x|5p4HN*Mk zA;|RsZ5chus>>5PwZ7dFW}bg4^5z}9_u%lIQ1k4EcPL{jp>JP*4(WWXdt*-}v?5<^ zzHzT|y1nMdx!@8y_~_|EX$3C#fu;$K{hchEKL)^ZZ{6F%QyL<2J^#91jX(#O+KW!fI zTJ#abJ$$gAd~GwL&?KfcbVCi2nugb}1 zJXm#+oYyhcH|Z6F?r8M-lhFEMxFN0XQEiItfSUoRZB~6iaWp0fq zDNzH)xnWO*shEFK)+BEE6MG^p+4`lJox%*zTK(9w{}IfKn2%~HeFqCV0rUn=14 zf{H(OI-=_=YV(V!d_Kg}Qa#4{73VU`>93!1jwxThcbZA(KHBZ29K@-7m=(j>7^Ok3 z&~BdzMY-ZA@w9c*p)X@xiQL{B#rp2Vb;rGs{&+^;9q`BFYl7oz;Pcu`Gaa@$ zo(X(ERPo0Nt-G?($<8rFYq(n-yRXYNw_2*J)?hpM6!fbaHumt1OmmV|>F(kHVK*KP zbBL*Z%xjAgQkoy0zWO(RW;TDa#X6vPc9>7J14N4UI+f--@=*h`;fh)N&X58{{Frij)ePeEUkkJcWG%O5Nd;S*sV}0fB@;t!g z@}xU|amBCwINLwt#>1U~rf!@Mhe=ORmuYzoFSFP!t1e{DN=T0zZSQ=w2= zCbaxY?9F`sp%(RNInh)+zHVN~A8n82q~?0TwJzi6)(Cwnm=jfKolEdP`VB@8z~l$| zv5FbyJsvNA5~os+4^MT~^o;fB{_OB{3sxnm3>1nMuy&lp8F`(?2==!<#rEj!9Sx0~ ztkb$tz@I>az5;eSf3_6eTSoNy(eSPkb9_MK zH^4p2^}&%_w}yLl8$VLMVZMl-t>KCOmyzx9>3>Eitet;%6!>E&NHg+k>Az{lEn9Pf zy}WYW*Nixksrd&)iwqxAkJt+3T*x@H^5V!v4+M8xf;zhM&nfddOs9e$%%8jL+j7j> z-Im!a`CZFn`eQOaVQ!OIj{2AeaEdMOR0r-Bnhv!Fqvm4!j zVZS>nMk=jl1*J=6h2K|}3>$i)T(SzhnQy|c^{?4k(sPN zK;7vKcaU}^SgwlSWKNu?IxL14uGBwjT`Gnx|JeXr)3Xmzbr_8EC5)kk2H5E=hCj|V z4Q%|fk6zCup{`BQ{N1+Rk6s~~TO$E>$TvL6J%ALhLOSV$SZnSR>?gfV(=6v5O6A?4 zE|~Bry|ac!aq=2XB(oUi5?+UbnsBDaJWBL-CI9j`Qx*z3zAO%EOnT>ehH)P5j%h+&jiBnGD6ucLe0%~*q;AV(*SkxEFgW9lcO6?rfW`$vVw`F{| z=Kk)zZSId+A-aV6-d5?}yRSAUarv*(qz(=+JfJskcI{=uw^m^|J}J+d z@P@soNV~&}kGRwAZO9ek@m(+e zxZBdQbw1_eZd>D1VGg&c@0_2yP}^K=uC9-S_ifx+id+c~wrH$u#oi9$@--Wn1K!NV z=H7jP_1Fi;VtYf{H;m1_`!G_N1Kuvg=j)7{$Nl&?4C0D)KH$w< zZ0_AdZ{Q|7{GtQiB~N>6Cfs3m)UYD18xa&kBi`b1hx}dwTM(l0mTnehk-XJ7z?mI2 ziT-l^GWwPen*)#SAcyDfM$79Aj}Lb8fVbZwJ?z?bN2z`2Ifpgcx+9So^{pD-`lD|= zEpM2`MWf!@4t7w^d?Lic&G|$ro^Y|7zW%IQ**bMqUrytDZdk znE#J7*4{hulkr_4vQ1Be=bSd`G;=55xC$Mkr(~31e%ZLqgwJ@5@fG_SbdSe>no4{L z-ta4;uvUg)sL+*nmT&y%|9tH?{_DS7{a^m^|M-hzc!lT4ee)wDV~5~p`UD22@TWxZ z3jNmT_pQV5JG1wGdAhxt+F$0R@Q=f@#_ z+&4y#>Ahc$QMNNTe=$Y{NdPf_rcM1L#c*_DVG!>>AccC&g z=C{7c4ftEwfQKL6`|Yu^Adf(KM>t{vBLw}4@*xS0$>4{U#qK$7Xgjsv@zC3VEW?2Pqhn<)3mOQU3efV=nCQv!xP&B?mOEC`*EBmA!N`vA&yf0Zxf~jzkr3b_nT1;L;gP>Ju)%||Hk3p5%@Q8=m?St z2u;Gj`vIES`wwGBaOC{oBPBrLzgb0Knkh>22Qcz+gdd(djCGxxCG78);d^fW;TZPm z%)1{PE|+F*-Xh@UE$D+Onq*V-1@9l`9AO%jCMU}G&9rCU`*rwf!{mmaGXKzAe~6mt z-Ji|8yUjCd3Ul25*Hp-F(eM9(zyIVr^!o|={W0PHCH?*t{r+F{`+F2SMqy6Rv7e^! zPw4k|2t(m_|DJw-NWXtWzsKm8N_qEl^!w}ddzOArQw~(hyDbX;fPTM6n14>;_vrVZ z(eEG9FXL~)P?7J%)-$6p2xgJ)K$DfG#*lhUEtDsic;5WQ+{~?i2194>55}OGpP0G% zJzY1L6yN%D_#4y2LY5gru|UHJH@N-)UT9};p_@BMQi zF4L4v+^d02nnjz5hR9>RA{L z7;$*MG&?&7kb&6$W(-He_u%cB@{yVSr%TY{KuDoxP(0IvsUzhPZTo+W%Pv*q$L<4u z47D%R_{Un~AOEBB#IPDt;eQGd*irD9f&oR%j%gv9h#@wu;U*PILqnK*9TMV9`xbT^ z=I}{q5x)%1s8nLg^#sk_8}z$}eYpPug@23;29UH#c$}Et|2Gh^IMYVrw!cWp7HM4n z^h!h8g}pZ4>Jx*2Nd>dndKHnKe1DS17cp{1%3Y~6XntATfdmu{{j3F=4bSK1wZLqzXyL5_#XV>>ah2> zK+S;Y?ENh@?hRz%N0F158^z!x{v2V(`0%2;WoFR#-yNBnK$hiZ zjrb*~%5nbSsfVDQMrUzi0zD{Gs{kjA9S2N~21M25wiiYanLg+9BU_>9n`HVd0=or#Y6nS92AiGQ~>#>m%leUKpp@0pz zA4uNYGy5OFXprXIEJSt%E-q3>k;H!$`U$)-S#^(`@3Ap{avDl0PYWFX>9L*@CoFhKvKZA|JIM; z55DQg6CMiKC+MzY$48*)rlyEWjLwaXPv5-13|}w?gJ~Sv=hKkcr%U%A8yS7b9Aowg z*^N&VY4~{wC&}K=d6LZRzYQ$Nboubi{<}E6zdeG?NolH#6Y1S4qKok4DTlM$P$Fbx zIq^|!g?H_nIDMhZ_kVi|=c$m3Dg3zaPVfKj%-ds%L$UN2@ksmc((iZ2=0~Z>*$2x) zAKNqg?*o}`k3o$DgB&-oOz=V*N5Xr*j%yD5&-9xH-_5^ANdyHYXroeTvV?PKbZi2W zBOUzKPhgqHT=w3FRdwcDKbtLaHzKJ*mhEpTulJ|MVJt$P&`jer_^|0d0VC2503DLF z;Qf4@YCx+l^a-vWrQ_uzW3!a8U5rc9<#Aq{<#!ClE?5oAlXFbZZBkun;g_h?%};Z) z)06n{zhP08p7+y46@Wz)8~+P_f#0MiA|`JC`;$mmrr%kderI|5oeF6a_A3`cVm{>HeS5ApA2V6SK&Nm!^)5@nScI1QM3y z`)LqP@BcCUP4SSO1qSSsw7OyGpBzKl^hvD8Cz(sQ`NlXkQj->eL&V?^yFXi+oi0z% zeB1vEWxygK_Az!@wXwutY8Q zqnVrEDG}-Zj;y#X8RqYOVx}z934-r^qJ&(|m?B`JK<~i}g?#-)@XlC>p`{<#lyTNJ zKoB`ylB)Kf=D1m^%F`I6?)l)8Fa>UX;4`GRJ^=c9>jR-Wz%Sgq0WU$f-+(_F6_1UT z508(-2bO?SKMb>LjCl4k{5t|s6B84qBN#Oyzytz^;NN}lZxY&RvNQ>y`-vQVAC|NG z=0?X#Q^cqKa%}z(_GszQuau`s00U_Q5CTvflnDa@i5xNo5C_Rg{R4l*&hGsZ1VV;! zT`j{Kz%|Vsn%@6QT6+&2LTDVu(D>Y;F#;w4m;m5@9L0M-A0y@qyJ`QYz`x>9`Y8=& z7<+TGoalXuL;5;mX#ue?KRsGLOw$(_;#mw#!WX{xN#^?Yf683tPlcL59uFKFam!mk zQh;>PC_rld9_npM$8;6oF~h1c3LJs7zzF>uh~!BexX2P=9Z!|)bG}@jdGFJzRAX`3 z(lq>e024gH$)$SuI{Xk7+&|^0AmHd@PeF@gu`oEMn4vs5e^{8WnRnVk$>yftd5ebL zYs}@n_K$F748O#Ei15<4{z@6-S2gf=#4EisU>fx<&BrUqeVv$jXBXp{MGw!fga-&nz*y5d zPh_)=O9d)z_^XcNs{QZBwCUZ5rr;QZ{L7FDDfng z`vH@dTYpD?A7Gj>MU_z*1fM@u)@G#tU~NO1J$>`PgugMG#jq-kkrv|ScZAx12PZF* z!~Gw@`UnXjfMk;7$D7|71Ktx?-x7)sQ`0v`P-urHpc#P;fvnSyklUHUX^9>6Hmu5{ zI+3t7Z|>rZM6snL#GX_jH-Cpm&k1ZnkZ|8SO|AOrY2vyFG5y{b;Sc!$U>TXpd>j6b zl}E!AREz&e>Ovn40brdhl9UY~U(cfGcJmKs+Q?1Adb@uV8|wdo&MQ&pBH@NF9fNNl zo5F9FQNRDEB(?t`z6@P|WOCG)BSh$Kk_d9^-w@w;lZ3YY6ZHEZj+b?S`~a5`c$7*y zf`4G6rl^a@W^VovGx*`t)iSQYL!?nx%qcQgc``!l$dY(d;0wVXVw%_+gm@u5{Sg!KnxDV*d_*h@h*-Tq`_#dKOl_^cuk@ijfA9<@7N8S zGI#h6-{AzVa7s?ewa&$RMN%Z^z4PY0IlKoce1}t{j$GJeUE%K7J?ie>@AtaD8420O zwRV!KTQPk7zx#Ff>({SecfXb(*FrpHA)XT6-LHz|FI1$Mkx(dv7ZQb3xt@_rc} zr3RrG>9HZP$PZfw*d;(eMsMNhcwZM>?=SLhlF40|JFUB5h{{7;i267_{Nw_!K8cW| zpGgK{ug`i7?uY%Qy@Ybt6@gjSt8dWOeaGj-4Ym|awvkV{KkEh4=4_LFqs^yT`qm*7 z2*Xr}h4e0@A!4Ql8Iwt-HDAd)HakyAR+VFwRWSncJ7EyUl0kf57i3^CIi2mNtRmh3 zMv?>-tY{=jK@{+fX*|;i#!{w4cj!GXNH_^EAX_49lhOuq=#%(QYVl4Qv~O%u=w%S# z84qE-OW3&@JA}n+G~gGo^bkMYQv}N-<&-vvrPf9f=WX?NQ=f^5Z5Bu)ee* z5#)?2WVL~+@)|mvVP2)X+(p+hN<2+@JXzRbi8v1;o^v|4T$7)fX09#p5-ztA7daI~^^6bN@|c>~UBu3gESM3BZLpZ* z7@N!zKEzdsf7Yz^xVy=g$NuDkY}o8T;h*sY)3hMHQb5NcsBL)JTGFl zTBk|)?SAXD-GQAJ!pG&o&?{K8?>F34X?g)D<5f3ET|Nyi3DO-`2^QFcB)DVA3=xJG zfc%x(Ldiv5yux5EQB9l;KhQV;bZc1W!>OgcT%{DsvwztGK}I1W0$E40SDl6W$Fu^%?JwwTEMM} zdsTw+gl zemY&3?Or-)((oz5I&_nu;_y1xW+guIllJrcs{DdrA8}>g4rffLpdj!)<5sy**zh`= zWC02|Rl!YWn6g7evj@l+Oh43?>EaF_#!~rLy`Mop3%wLfw4~D_iS&;+cL{3j3b1Vk zf{+y`7bHTrMKW&Ll=q5tFYpK0wTs^ZzkAtP#T4;?9Wi!Ae+V9f%u7&1H?U4JytGz- zgm*33#^E8exidT@*e1Dw*Qxc$L@tB~1T=poxYUf8pD~hl04;+quuBEph2V(kww0a~ z|3%!}vc9jW@1#vR=~r7`wH8K`rH;$~B|!mXtShkTb6!%|7xpiPM}=dNABPKeZ9+ao zU=RlJI0iTHfsA9<>byvU;`A}!^$mI-BaTf8Sqs99>AH7%sZ^r`0{M@*rikmKxl!q6 z8BCBXj$LD1_inEqi&G1uj_ZY~(t`j*elr8yWZD_}}rX~<*(2`+t3q%gNu5*)@Tt_cLa z9OOgI-aNCex+KJ42>*p345iCuGeuqkCl5y7$6o7&U>SC4K3eBeRV?}4>7|i_>oXs> zI!C28#!7+776oCN-{V{@on2ztWp1{kIj1ch6CPmNly;H7vvzb(TS3u_Dkyr<3Q4Bz z)K{J+v~SN$FDpF(={RggfLXc};0Bj4mR~t*`IWQSU_y(4MVD0u1P~Gp4dgO?a=sU> ztY$8m0GYE(7j>Z_mZje3bdQ@m+KLO}#HoYXe`ar;tMUuF-okEDdgyIEiTB;*l9!;` zg`^SgLl9WmA#Y%r$(gHIWU~<4_ChFwb(U03QKA@$VL8d%?y5p+#mfdCo6|$Dq{lZB z!=>i?Es`(td=tyJNX+7_r;tS%XAQpXwu2xq+C2y57f7JX2Z<4fZZ)`&5g-okyoR-{v0THVJXOj=Fc9!= zSM{V`2`BYxNs#m08}&>~@_JX%+@&5=T+A-llrj7ozu(5vc=!(*J#1v7q;YUgRryzo zP$YZ-Ck&Yg!Un^9PG=BthGU-RCw*OSyJEvZ7FjWRI0>UPWn^c1KW2I{`Ky!G8a+jv z6Bl>y6Nb!=9FNAaUcxG&A-x{q*b-b{OQ$9WSuYi_$-a{(N{j0=V#edC;Xe|Pgxak~ z0YfjjhTL(zd4dUR2#{dkE#M2rJGnGdu_l&6>5(O|z#E4~B>*i;As_ag{R$eKIR8m3{##n(vE1Or}QA!I)lpN-Fj5up804%ZSnDL`MI2Ojr(W3 zg&Bp~t%{P&n6oUHg7(*eWRJKeDaf@@Zz28}?W4PNuW4~oYyI4HwO$hoyl*qofy|7- zCcHA^Co0&D+fPp0Q&jj%?OU#l&7Uk^z&FM6gTzZ9$LI!jo#UWEj~-ue0g#qsB5)u$Hqi zPH#zy)521l(RRTw7zihnTco_vU6o2aPw9OG(qI|+67{%5Jqk!AFUVrS`Z^TK^5B)R z^Jo2WRAjza8;`qjoJ(Fh=h z&Mg#LG!7ywX~$1-TH>Ke;oLJAr2lwx2Xcce@)tlErH53cHu^iMDw={=64E9}a z9IoU*#5UIOcev*J4kY6yhWtQPqKM2xJMiH_kyC*vbD~x8@@PU&9Jr~`)2>X?R)nR- z%jx1fkSNB(Stst>l#r{65%9eetqX9(i>Jvjk?GkmoFma4hmqr`(;3#OPQ_`K>WKgO z3fAp2qv?XmX2vgyd5aepx+8&K4`qBqCWPio?bT0ZyAKl(M*96v6C|`!B6`~n!qL;yE%0S1Sq*nDJ z51#Od5QMHzM8OyFFa}nGNkRTPpR(7WD&pDTE%Y1I8=_bf4DoDuKHGUdH$M_G#@MAJNaiN1rZ_+0`8;Oghr{8dk}Bi| zvMZh1;Im(GOwiCU92mmlAny6TOt6I2b9MGgdWmXQtYF>0R~KU8TlkKJQ(x? z*lY2L;}gTj&!kmog{h@ZP!w2-1C2PwTUS>Vn5YU&Ak)M=&y!4TBGwc;(o$BP81uYX zZEX-(%XGChjw>B6m5x`EAs{ZXW3j+5M$eeUhOaOOmDnk-PHOC1)m74QxMtX6W}DdT%;3Nz4%pa(9ivywWIJ-)SVphWKO2no zk>d@L&&Y92uXF6^HTmf|MZ0v7fo;Q5mIEC*j&#i1xQXRw-DsGFbl>EqAp>{GIq^6v z_&A;)4u@k|7e{+j!`~yms03D~85N*%l96#c-_Z$>?%M=Xnc8KDR!-`0tc~mxCIWlj zRsNC;n*bd45iM4jzG4(7zd;^_F1|zdWK?+SsB-9rTchuBNuDaP1xPweAxM0&@0X@9 z)Of-@Iz=YyU5s`Ju;0b*mN-dsc&;s8Yr8Wwv1*ZblUr9O7B`VF=OA31#)#wSgp3?7 zQYW1~v5F@zUZRu;(7hzN-DOsu75*eWvB7j(22wPh$Wtnab^2k`1)_6Zl zL8E0FnAV8p|EMy#>FMXN5*tQ$wZCLNu*gYr`S*2m%_FQwZNkY&Tt4R9O;{Y#=kZYZ zAA!RvwJ~pF*pgo3#;~qJzHTJ&ZE7-#XQ1&++@zlKu*a})KFOR~R@}8146Z_Gmm3bx z2oORL4*NWBm73U$<&7S_!fMudrbaK+X6>P_`OeMeP`HEyF(x*gO`O3KvQ-`9CQMN)F-6TtN1T3_=O}Mo?4^h&K;#** zbQQFpB!W}(Z55gQx!G_CVVu~~Apd>&Pj=-d&(kv^@GHH9G_dn*Hnv$_&iL670}j`4 z2kY}Z(_Q(Eo{}jqGozq+-pszZ+q+p7F7j)rX{bq;PRLJ&!%Waf-+ZkB<>~9aY}juQ z+9BPW9)#CMNQE*bIgrl}+Eo4?6bk;CoLx(?Ox3{Z~F4~L|tfMS+n~n75>qyEYy1&OW zz=xA5&%*7dO7{po$CkLDsj@#}Nd~se9rfWbWevi#&N>%NZk86;i-(a6XKJx21;%w^ z8*CuH6Wi3=)w2OO_JS?$;;ZJ=Pw@|k@~_r&!^;S25K-@UVSCOTsFA@2ktFMGL^%mv z2kRL+9?*E3rI&FEfwnQ&boMAu0g{PHo)<_DPePy!-tEztXPK3HoR6-ScT+0&dv#7E zHT;8QGBx~uYWRQ9ZzImS$B@T(7p_-d4Tm&b-=X&Rz@akib3Dha(S^dH+zaSRLR^q5}u*w!xdWO?dn1z#+;6WC&|yUNSmx zymFds%L214VOHG>^@1yp%ukskvQrlHle`rh;xM8^k8jU+zJQxK=K|`ca$M_k4hOZ_ zI3!eLk&0K1*u1zq?fK?h!i&LXX4W3o#krPrX`LR{+butwy~etELAJ)6(@qcf*u!+5 zp2BriLh}kQ156y1%JV=OPkU2txEtc;(pEueH#J6C{Z?Gf0HzmT!}%AV8!cn?@?*P= zWfLIB#TRuA@HuaOARFgtE}UD{a}=y@Y0`5POnd&|oS?rSkbp0H4<&JJ2mHP7^9GO0 z)7biFd3A6o=s7UMjNt2fz~xaA7mK7QP!TN)wwS8`N2rA?a=;Ep@$vAf!6za$lchwh zG^rlJMngx0A^TCr#~mb>HyXz#&CQSW*g@@Knz#~hxVGvPL9ID0FyBNvr29&;jI61t zfydi!O-(%xURM^EK@8u<@NsBAQ=c9?qGteu^QpBAH|JOxR99E0iR$XqBN~mWM>MJ) zzEHni;plwcv<})P;)NhjeJR*$ccuZ-{ z__~F5LL1+h9^W8eo(#9L#f^H+*^MA0>03o4kC!YE85GzdMdVk`rlo5|n~ zeMsd%D$0lC$3Q~4j~6DewL&E_nR?u1F zi3qooj`g#WE)w?1}j z>xFTD>KC5;_0&7@pBp;r-0nD$A;&r7I8M}+kGLP%w0fx%ah#C+Tl&}kYS*hTJn-Y5 zMZdl6y??(g|0fr3yY0>+|FZQre&H|o9R1DDFG()=(OwWL=_y78Da^IQw_ASrsz4Ls{pZ)iz`@Y>YTCP9$Z~x*i`;SK6{r)%p%bP!5^}w;m z7nPr#{M#q~JagBIpLyf?Jzw7O+M!qe>Nf{h^#6-LKX(6X>%RM?-x4qczz{xwE)vJ5 z2A>7^G!Ht^bKy7(=F&f$`7qtOx8I2V@7q3Dm3!vHRP$y&OfzrxqZIRg;l`AX`&RG! z7j8^N_JXEtP%ArTQJ+;_p80 zsKVjOOTBZ|L6sz{7NePUpZPkueZNxQB?O#L85LZ;0nF8}h0mq;7s{OP5AwWTg;0U& zvhp90TI=5JSk-6RcF#Cn#$}cBETbx}x$>C(yzIHh2cu)4i1ta}Xc ze9Ey;*KBv}yG%QrxnFmiS=*UTAbQ+yaURGusO$;NOYP{vz%56eDe@^NcF6Z(SbNgZJ``>axWzrm)b%#_vS zM8Mvxd&oSqQ=k^=*-w8o1@&D^mGm8~*Iep+i&s_A@)DzPd70BP!@g;T>mkXv+C5WA zvkh74v{l*L1N(!-DCDusn61WaGv@LjZi~|_|Jnm><*K6pgTo%Ff*avW3H#h>XNS#9 z`#@mdB9v`rnagJ7`Iu2^mkZ*p2yC`hDn9Mkg|%0OH3?kThgbV96$oa>n9HvkMh#b7 z*(ERTqDwYVOZ>=LUpJSDH6(8xB-#}nq_^M58zV{8A#B%Px6O{ViL(x7^91yW?{ZXU za0ZTQ-JR8ohXtERzGtq;Zc)$cmud-1oB?EV<|1&>`l{zdA9YlRdbd$0ns?$Ab+XUm z-Leikc2H+!mrS2eOIE!Ee>W!`6#0yx#$IW(XQkzTQ9waQ-S7O8vranp0YQrgr7s?q z#`+c0eUD0aeo4^bap%is$SjlL+9pGEg`nk1=Se4Wt4u+y75%#U4v=N}>>~~K#UM;z z_BAN~`5(M?^nd;F)EA3!yUx^Ca_zG&vw4|;4^>THc^bv4-GrLaPN(uZiB)K8-=(O$ zLtRP74h1hP*oS%vqic-g)gVioYt<~;TU^{hPRQVmg)GjtlN za_xM+b@8&8NJzvF&TOG)7>mcuRtmfVhLr<%j?L9>OZpUgYu3qd_ zmMb~JFj$2<{Z77WiPXfloB96W>}Q5&KZ&caL3LgC%-Hoptl4i^+UK8b3odagueaKg zW|M-s-_fn~fF-=uOMfig_p#^e@0&G1+^vp#x6}Q1`L1jC-{q6FU;N45kZt++k32@| z9SYJzzGMD|ey1rkG_+~oKq24Lv?<>)*xyyy*R(O;-_tcP(AC#F(6p{^ps=yOuaNI3 zh+kN`z9jotz8`V#ZE0%8za`oG2D=M`{rP))^Mi%{T=$af z#=-5~T^$eP_igTbI^TQm_7y8~Z5?gPm#$pans07jx!B$8&fB!Fw_|62UvJm5Ig}LI z?55W4E#&)qbKRSF_UCh*UA<3*!Z!~Mg`*8MZnOrQs6{H?i7z7#y~i@C!~)^Rf*MTOfYP*Q zZi*uUDpms0lDv)&2(eh4-boH} zTZe!*@HvIgG?F9B(na}Vj zL4}|th%Ri##VBK4fFN3XfK`4yXsCnn06Q`m20*~_6?}lzBRpqw4dW;)RbLM;^jc{@ zT3^}=_e<=4b~l{eW_ue$sWguG8=^!SwEqYYc>D!?WYDHYI^nkkpNpvfH*FmzT0L_D zUcASz+7d>NTiZmdwT%Ke+zUvL1OvAel4PT&0l{H_ekB&Q#~x7~v{wnh9%#g833qF8 zL=5dH(4;1S*=3+;aU(vPWA>IGI<^dYQv}pSj>oqMHLvLf@!mwdH;Jcrpru}s#zT`G znD(RQtSgeDB@Upg4xm?xgHh^UcWuuWcOwY2=fD|!(0>OmBPIiYng@VU2haw^SKMe6 zIF`WZtG608ig%%;v1aQoZ*k{EXDW+AILPN1aJK{`94nh%@r zn-JojXa@SA9upf)$Ay!|k_^L}81S-Zw%6e^WU{~^!HN~tJAm8{pv?}T@ClA@J?&#{ zJ|?({rV`oy$x`aYUw;&tPU$K!CmVVsc&CX|U&#+gW< z$0kl2r{{Ur=6eWu(>QT_C29}qAmAuBXHO&ul1E6AxY= zfUZMYans7B#puGK9s2!o2f>f|MiD;FM5e4YP{5zaIu$kjs_6FHs&Nqt;o}aj9r8L0 zmBOA&554PCpPoz^Rx(lz^uGK|B6SE*Msqy0@ruJ`a3~ZU{|>qE z&X{2256`+FVO@2CI>brR2kNm;Kzj#{f)1TPfNv7V;D{MV9FDkg)WT6~Qc*i%IHdJN zXab?8N^XV~%ScRW5{^s#q!V5uoGz_e@jo?U*kkG zW>EV&2O953E=i6o&b2NLz$v>*0A01zTC3g`BMu6>Ap9WV4AH7>bo8 z5n4l%^&vQUw^0B{)rTTgPKiEWimmctBJJ>l;#531s8N$zau5qyGf@J$+6amI)<)596l_(X6df=7+i+-S3orHgguT2~C(Tu`}W^UUfr&#n%&a1%yoR4Sg9 zj>WC=IWX3ZhE>AQg6H<{`bzi;#VLw=7k)TdqJYv}E? zpF#E`N2xq`^bn1ax79eK#t+rFlA(s`X&9(Azv_RYiUHI zG(3-n3@;do1dW;+8j*-k-B~Bn8ZBS*fw2<%?-QJ4BE}YwdE9nMC^^Qj*cQYAd7dYvF9-?7?+G)cPhbSw_zbss z7TZuGpd*IiUNwej2v#x)uj1Gwbdb`~PcI0p1o$J{_iwYn0&h4lJtUK6mQCs$!zfz82RTP2qnuc&HkxO?asADh=crqMNo8KSudz7I*?US@?=|T)k2_$5Oa@rErd=aP>;z982NqmBKle!a0`0IhMjXq;QVX zEl25=qjbwry2VCFG!P0-1FERxCF(eTDG43M=Anc|PHn}ZiVc)l7tde-iqW82;m;(k z=^K;ut4OL}oMLYj&%)~fr-=i{sDxuLn31rcVyGdEuEo0sj(OJr-9GAgnDo*k*OU2AkZci~bX@ph0+cmQ-p^&U=zvrbI@*FXhzDPdGs<6d_S zDw*!V3nA$q;cs1PvLC@q6kH4Sq*3> zBv`B{Kx|3SX_yAQB5z2Q)@fE(rI~_a_*_%@jM9@c)DQqNAEI6~0iv1I!>tk1b%B%n zB{g%~%HDcSb^5yXsWCojrPowaV-d_JV-eiRz6ISV{&5l=J|ZP`<2w~XK=g*Zj&+%p ziZ2qNNd<@;O7TUl#EXnm+L|s+vLlNLHK26XC2Hfo3$eJ=9ZaR?h?Gl{)Zhzs>ZsdQ zKBZvv;i5VBLPM0XyvQ8z@CT<}K@33_Tvv%gWxA{i#fgh6o+nOO*@>0YvP{krg8SOF zcm+hJXR*o(G%I*jBOwuSMxPs0eoYCW8lw)&JjoU)Pw^q4@|4SVnO4FzEp4j>zp2I#)wqlb5T+zv1It3HdXewD zSb4Q!WKa3*s*8rUm5+j1WiMMMK8AvL?NTYmTj}y?w(BLxh3WNnU=wciH13e#g6|pV zGYk-FN~z(bGO-{@cm?3~TKkG1G)EKJgqmQ46<=3u_MzU4^!2@@mT{f{AnF;z)s!w+ z0LY1}AHee=I7pXL%9)lHLbW)|j309%uAdq!-*StO`3d7$hMgJm^*RV$dh0}@gISo9zX6hF?ctXS^mRalOic7_l#$bOyt8t(-nKz91z=G6L5jzYWVC%t(?QFZrnMiZiA>YV1)SicJLRKz?u?|a zJS8i%04ax$Ed)ik4|xSTV=+0Vhu47;&{`_PY9@n6wFllx5AWiw`OO>`mlff+QXj-t z9bd!8)Odp_pl0z{K(K~SRjdSgSO*Rm#?z=vr&P_3uS-fPUHe~_Wv3Ga z@*?&0DmYwxrpK-jrG}>sN}ZJ$+DdB)`s=Do?R6$OO|PMaS*z;Pv3gF^!-dZ{5!DN7 zH#Mv&VGEr=mQu#tddKfi`;@rds zH?OO*Hs?uQ=4Ln?gM2Ned!3VV=_D~oGL=duE9+joaHs_D1)~MKc!#>rSgLb|%Wkvw zt+#f&B-Rl$q->ZZ8&ZR-X>{}?nHdra=5to<_113185}N`YVCU(cx@L`Yza?rK&7G% z0O*%YCZ+YQ7(f>JY_!rvjw`5iJm#rQ;~BVxVh6PANEINLbkeyXYkI5QP+CO5Xs~(= z4Fx?YG*CGbt>6}wHeAuU_X;sv)d$8oEni8Bm9zR4elOTL`GTfDuXNx%xdaGelYDPY z{?tj85F?zD%Gdb4ikYZS3_c`^O~7G9_Q?FHC^h$Dw#S5`94}$C%UtsZo=>{ za@ZKum&S4ulwT#%#kM-eNbnA&(AmJX8w%SrQfaW_jW;jqt;@V8;#vlMRGZ?5=bGQ+xad?=%FMyTg-q@6{#2k^DefUmt8zV-mV_8IWCSKu@8Mvl|6 z&Wi8u39`RuM)voZ>?ydz`XrK}xW!lSS5?4Qk2Mt!06#v&_886Dwetopr8l6odgQ;s zmKL~BnlyzgF0&ega=ie&jWfX8SPkArKEpk-QSWXRV{|DSII>ma?=&*on7U*(trc6w z_ySup*b5oiqCWx)3-X7;J;A$?g0E88v&uQOYXMsb=QiA-RpIWa`qw8Hd z+CqIurUrXeYC1#_o(htXW{a0qnF7siMu<0ZHbcT7W@@CbdzDeeD4ah-pQGQsA+eQ(J5|0Z*>rvYu#F-NBxr}!A-YT?)u#}HD2@a6`Xn^cT17vrrQ-xftfJd=wfuRFkZOH_3 zQuS*|EdOXU@bO$}FPHjr<9vA32WK3j0lIUdW}vg1O2)aE7vYijfY zhyU@6wk75dOs2G0YA}9;>#%MeWtX5gBPn6ZwvL<)W}clK;AM;VqvdL#lBuqDW*J?Dh+#8=5OQF7c;^}&1O}6Q?`9j_k^7zMz5r@5#7-Z+FXfj z7N{Pm@)GzYBtued6~tiKl$zK=@ky9Ms&i)jB#;|)o(HyJN|tx#a7!KCN#m+lmPrWqC6fsZYxPaqWz1>{Ya97pqHMu?)KbIZ zjjl|!x=B4wkEN~-8!&JSIkhEKm(g%uD)~;Q*RjD3v;>07K*Dk4DO1#+;a=n zsy7U7jJe!{3mJ6`Frra-b5AbhsW%MIgE#l+LUrm5gWGB@_v}Im^@afnof6M%s7AeE z)YQP6dwQXWdc%lB;H`Unpf{zx!cnV5DUkHCRU||9-N?aSv;4eJxxj-WuLH*`lCmu^ zvkJ*1DONISjm}xA=hX~mo=o7W8!Ef)Dyi7TBDbm-^_`#~BPcK4#ojbWnHY7F8-T@E zGU?lEX&X@?jj<1%vztY*a}wYLNr474Sg1(0&{r9mF7$`j1x4GnG@mw*I&q1J)i&lH z;tyY7Q21WdWq@WfzK*pUUnf7ZS?jcn@eLk#7aN2%2^701>m_E^D2rj%w0T&!h)IEx zPppKp7cFC>mUvYsbU&jCOhMnqcal{a-^qD)gA(oymQZ6k6frhGlQbNRf|K!$32@1wt6>idg!>pPcw9Nbf-YMIwS+f#G$+b+sP@a~G?h+L{xte}y2mnmICU!% zd>C&yt5AV7&^-Q~(IY?9Y=W=@w`a)e9JoDcEiM^^RPmcw9g9Ihw@;b4Pr12IDYzeL zbmlwZM#q)^e%R-K*poGlPQ!dB(O7lfNW3%Rja|}4o@i*~eqST^`x?35*U0_8M(+1D za=)*U`+bev?`!0KUnBSXU_V3qJ@Un_ek1qq8?k3kpE1~n4#Qr)C~(Tkw2==C*Z711 zUzS@w&+psxxs0#C<`Xubu=#||Cu}}p^9h?z*nGm~6E>f)`Gn0UY(BT$d_MHu$j!G# zZoV~Q8^Uii+h>tRywUA*(+sKKkhY4+{~FfeT+Fx1D&a1kAiON0w3YRKmHw~6J{Dmp zTdVjY<8((GxlIyptcc+eXG%(_WBOa;jTPB@BW3T671=vla4T~{uBp;NMp?-3`}9A_ z`ka;g;NO0v(&lQcB;(0f6Y z(lkq(4)PmD!$Q`Ff-eX470MG>nPgZ2QTr~YVczA_%vnBaD5C z4RnRy3#<>jseFy!tMp0m+m7$}5IcGUeKzvDmEX(!vbkkd*2q;Ez88Z6CtB(8Ch>cm z*|6z^Q}xNIHU^w3n_JVLrJciJ^tiNfx`(mR1YqDA$zR~RB-Usd3pUI#x~Z6u6}`w< z$17;GCDv%?D2;l-MqLP$6Ecl5gl;x+S#NrYnU88)a3BcfL%+V{haA0Zu?S}(H@i1| zsXw>tp}yX=dpq*GaL-}$&i=kV10jj$@w{a5sgP65^$zxS6`FSR=X&yc`ud-4D&z+W z16B7Z?rm;vX>G<|YdejV>S}IY-rS-V4R32{Th_XC*;2%$_fq}8Y-v89TehNk`_h%| zt=o6xmUk}A=T5z!6J67h~a!Xfqwk>a8xvaUZV|nL_9ZOr9m*?8sa&5~xTH8BvD5|}A#mbeP%k%mC zj^#@`R<`H1cP?#Tv3x~)%Zkp9=C;mUKDT`P@*UedTk`G8+gq15cdp!?&$mfwEjfX@ zv$J#g%9hT2NBfRkYjf-NTx;9PrTO;O6}k3~9n0D}^DRp|S~{1lXj!(sqrG#*iniSH z<=fjGik6i-@-4a6R`D00I@?y{mPE)F@jKlG?HZT5akCbEr953Su?n;&fJEs-rY@Wdk1^+{kiSk`KC>hzC&82S3+~0 z0^e6dPQJQ2pA=B{_4O8VQcP7*{UN94(|NB zFLf1mX8ZcHbPUi{DZUVL`aabfS3sx~`fSJ<{L~6v+uLbtEY{ie{nUHd7GEiHPsr*2 z)QWsCSLk3}X~|b3^RAHd^ru=?ExS@+4KJ$ve8^dDitX7hl;p#*@5y~tK(~bmDLN&j z=-)7PN1x=|KiE-_2%i+>clPG@2wCmPuNT5Ia34#M(O77N|JvPyx$Y{z{N7zchw`0^ z7vG8Yy>neo#*?INV#LjTl?ZoMwZYK0r3T-suK!O2{N}zaxGI6ZtM@4h@968dr1{d(hR+F5WB7_3y(>(%VHNNd zCe9)HXD%Iuw9bdgQx*Np}6fW4Z3Z{CyHE zaqs=wOm`*1{W-}S5%P9HlKtGh+1|nKZi&Mf_kQge82cS(p&&=h;WDNQ4EQdd%NGlu z&~-H%YMiTPq1lO7IoBm#5OU_-*C*YOy*K+cS_G!fkn^OOith^$WdJi($6&v7k&tkP zRs~kVo)mVbbFd@dkAZ_Jyb^0oe*554k9FnuY+EYB;;6v=Pr+lX9vH~?BYa)H`;%of zfZJW2lBEt7ARpNrOhJXNj~6Y& zXvl5VM;Cg7usK7ekh33cye3!31$qWPVODPa#vF)1A>WTuHuVkmcg$)=aG^KQjHhla zTFs4hO6bO#@djEOxvjaeXc(V2Q0Uyzu0xo}4WeJ%L# zA*~={QUOf)4k_T*Hur6kvC;cf#AZ!6= z|AE0>yZZVIT6_VF$TO;41k?OJ8Lwm_q~w0gxv7wo=*;iH9LBkdQ*TW{idtH+wghby z0z)87LRdiL`m=_f^p46X9MDkJj8Y6a&yf?_)!!$izOe6;W#mZQ$&7Us_T6U~qsAHB znEd_xZOOOR{n>@`f4;E#rRRUE<>kbqCtsUB^Sf*3y`KHssc9#-_CG%R$Dd!kebbr$ z_TwM@+JF7MwnfY5{lzc8y7rx~bU05O`ElsmnX9}1^skpYOZU8fQ_t}K{Z{>*-+1-+ zpZ(i+es=uOS3dL4ocS+*?~C8~rSJdFtLOjqzgsmveN#_u?yZN<{>spf;-CJf%-Q+h zk39?+{_2lUf5!nfdp~rZt;h zeEiC)<$t>Pf#2T$&=bGW^sPbUarcvV5A=83&4vkBwYviu=-qwWzk2s0+MIXy<_pW( z?w&0r-PO6>*|ctTOWShC6!5=o0jR|H|L5qcqoOFQ#SOZLpiT*Yw=>mdqq1l~!Yg|8^lvKCA4VS4+TpIx=^@5x4*s<|+tCKj zZETPGsM@NcDop>r=*$bkcCq|@fd+N_RVyXiM3qwo>ecHv;r-4XlHS5HxAMo?`CP9< zFY7cqO%i9Vw8Grs%Ot$bSi`2tBZTjNuuroB{# zrCNJ;%%Qcnlghdr=hvLOBp+zAe2O{TN0pBISYxPqEJ&Q|{ZPLSfj&!}r7Z#-v>5JW zJ9blF7Iby@8P!!#74`_VE?W)WszVEZ&&bHAE?=>xlM2ytgmvJ$_Ua0nD;?=w@lp2+2=Fk&+hrT`u*pa&gw+$ zp&C3WYrB!OKmGd$_&4M^2{A6*`}YmVPyhZt{{A0OO9KQH000080N|OMQYt>mXrRjh z03T}+0384T0BmVuFK%UYGc_-6b#7^NE@pCJZDn_Fa%(PlZEWnlYjfjBawz)w-iZ4j z;P!`^iObRKtbH9f>~Wu?=~j;wr(e-h@A%l^*eQ`k32qSJ;vuzmWB&WeM-@;7fFuAG z9+cp)JuQ+bR6Z*+D<41okFT4+yO(j|N8!J|`0?xyFaF2N|L6byX%#KuKOX$gPa;X= z<|cSlf7557*vOY*7W(PgI);BgMDdrOexOg)Q$Lg*`)LDz!E4M__#+P=`_~uO|NQ>m6t}Pcl=O&$xlD|yb5l~$BS0HJT>1C@DiZ;d zX(WSlkdg)+icp>K86Reb*M$zh9UG(`@04@}I^rJ6cUK^suZ{S0MUn%fhi13s{7EOQpffm`fa)*b7|5;R1Zls-N$G>oNGlym{Uq73v=Nu89DRb9Jh z-m*DkM0UFM?V36C|f2@nO##6^2UdMetD$+ZkI$v>$IH9yJE+UoGHc*r+Jk#6TfrLZB8h z+5%x)Mw^>l1{10FSr!3zc0-NSu-#Oz)OV|RL$x>6-mf&X14ZkkH%qiG(pIOoH??Rs zGA!xyChGg#_#D;v7QWF^ZCSMqRJgzT2%5qFiaLBt|6(H<^$(Dg*Ym-f0E?1@AJnXj zm4FwdXz->)rYYcwPK(#pX`#O{jtiypY~7}nef4F1G1VR`^ht3T^VQ5dE_tVeLaP5U z|K*64K*Mk4(qBL3SfL}9k1nL1z1mt?iOga}bOC^c1BL0R4FQZ)<(^UHc-v<2HcI$3 zU&(toP_}q%yVQ&844AI09C7!vf~>rZ35vE9BK-qr1!hc?K-nPTV&O;f6T}3+)C3Uv%gUD5YgQ#?SsJp^if^E>fU*#IF`QAk- zhL`I`efHG6sJCl^I-oEHf-=<cA7l>9snV(cA?17-~b-q%9PA;q< z2`{BXxK~Pmsy>DaS(rQpyqo6AzzFACe*50#_ije`UTS#BW4OGFqcF-6ib7*N6!Cf^ zmR}465KeHJILdDC=nIT?;;-ztk)AAm#7Oh#VD3P9{SLPM^k1;Dz&$Oce=n2DE*qGY z&x51Rk+_3%lyJ>bPm@y|lKLu*wm=h2>7S!0kRohKO?*1BIJ1k2j^ZVHXmLh&YxE~y zbHeHiZ!Lm^@ACv85U+RuRrmaDuc)Eht0RswdY-WpX0!tO~;wmh#*3vzH+Nuog?1oL#?mG{AATT~WLyHJ=&)&ld$26tAh2rmY_O(tT(yHuAX4WG6pv#DU# zBW9Pu+~wAx2%9QO7T;$63MxsTWtI;O>u1)JVY$($O1ZXGqwo0b4A1;Fo&G~QN z|L@E1rY%o}f742u%8vmq9QZkRGRP|ndOFj(cz$Eapn3bvek9$7soExRQ4|w%=!4QM zEuz=*Uivh8V8ay5EDtyb91E25T5HpiTHM|m6ypbp%& z5h_Ud2 zJzV%lb@EdwxNS$-rlH78(pb$Bl$LGwf`2URovki5u#ON38?#$z&gA) z-tmJ^^;($3nBK*bqETpOGg0!)(l0)h4hgKsk}JZHUhim0txNf9QL$Z{G3e_UGcnm_ z%TZokUPaEgy%Jq|qSJg6uqD5*^3uGz1X-YV(2qQ6zX^FH;hDuHX%HUyDL(rpc}blW0VEgI^yP|Z}N1%Q~dd98W5jF5LyG{mT0`2nm-Le8)tUs4p4>D>4-0`vsA z=nr?2ORX99JCT^Q8v%|_T-|akAV{7p#&%tp@y2V80L?4KBFBPL;<#Z9K0||ycW9UM z<@4hPG-_^f8u27iN|y5(r7Fyz(TZ9uO7ox!HW*m4>v8m9{{{|vulA&eg9BgIDu?6s zf%9A!hG_&HI?Y2q5sL_ne%RFVec6FE3^lUm`#2N?{9rjf$-ynTLQtWy+ooa)*{U}6kJFmOrx3m z`Dg1Q_!%B64kGG@iNB+hc>AW!L!h( z-ppz}X_L-!t~*y+SuKn^g*kTYYj0BAatoK5Oo(M{PGBVGeFkb+U;wgT+{2mmgvkD@ z@Y6R@teg%2Lt9w@{XhJ%De-WXyu8-9Y2gelc0jriBlR~j%D^|jhJWB<5BMT5J2rj* zgp$iBTx;t%EK~*`kHog)r)}=@QTi=v~ltOuo18i*^%qf#d87l|Jhn+q=|ZyWIG$p;B*d z@{YalxiGDZhYy%Kx(nIIRa3nwRa)j|E{+P(k^IQM{lo7(M)BpV!I0El&R!3MXKLfZmH*&CxD2`a^|uCtLE$do+IN_BKOEBywYGz%WtWr>S)A9K>Goad zH33w1K*wR_MLU45qb+IcU*U(BU@Wzf{b;N7vwk@5yQK|Oqskp9_;3ey*x(Ri@{j!5 zMycT<7y6h{kLMs&p&s0jnSRXw$T+?37-dB3RmY{@3)6Efe!y7#PB&(b$3OMJtj&kzE=iQtrNWTI@Y@{G zKP|>7C$K9t5*aBO999A!6TBI310HC!T2Kx?BJf_sJ{C-gnx93R+m5?(ELT+_?;;?%`=D9yWO0*4Y_yb&#CdJGh%9!Q#eoRrArTz)puX zDyuys1-74?XMUX`zji17TUc+b)58ONR z=j8a)QD|}s30E^y%u1_QKAt&sa-4c}lHG^+;xCy9M$fpivhSkUlejB{{>gI4oH^QC z=IBADp4oQlZ0ni_rqWz%=8;*o^~}~Y<4&D%dpO`G(1L5`kXg0$%G5L4PMvN0INqkv zsB7ktS+(`d)-&TyopD`r!F1Yr&0I38x850hX5Fc?u5&(^NYk&GM`rcbGh5G$J9Wl& z%>`3w4L0-0tlWBL>zQ$<&bZEFuT#ipo4I9HbK@}h%)(P=;p5UBr;_wm-?4()NDg7tX{%q!tS*7*M(lgUenrYo~z!aLK&D=4ov_2VnX4y%z ztW)|=qLtdr9kW8~lc8spoixk3jiOE=L2c%fKKP`v;4@QggZE&YnRg0G?mEt-W`Xxv z5FoMtrvCmpiUKLZ-`(gnexc$F;USnll7i?EBbh(RG>gN;d+^h{C`*|-Co#@ygo>Sj!Kz~mbdBojF5*0>EPh_~Ol zp9*C^epYW?IcKngZ)TL!W|TgUL3g|{Fgv&v!fBy$Offsgz?ct4hlHps@|5*miFf9s zab}ex)y&Kt&QU#|mCi8xK1z{szqM3aU%3q|sr)zKev61BVddN2;)<9qcmomM!d6%R z`XYoKzWCwgUNYJ5?%mNBA)|wdR051OQ7Qp#t7onxYx!&DpyN2`7)3e@{4DVOT1B(S z_rOC(Xy8dm`}3euWv!9VoI@X$*XCxsP@9RtLT+8^1 zR<9?M2)&<{FJUV`{ji)CQ5Yvo6HY*%<+%wL4ZtTlv;PTjizC#RW5v83M>kS4rD|7t zHgdg#xn}kmO3*Jh+w}35?YIlCw$?^nQwwYQ-w{uwOK;D-|R3MRc{XjpaBRQ zcO$gg7K zhi=tu1%G{{CZ9NVD{DMu-DfgHyTK)8nrA?}+mQC{miVr$nX%-|<$$ASfb_~5&qe%N zHKs2mrN52Xk2p<@>kxmvl-is&cAu?4wHx)YQ?)v${!=*6`jND!iS^1F&qV-R&Lt>m z-4#E5x{B8+5_>t=P9DY2SF~DXUzN$u85t)_b(bjYN3KpB!OvE#+O=sfQGFdm;)LT~ zE-~1PRGm0}pOsL(k5bpMdb}e!P0G7PW3M6m(?#-g7B9DvdpA5_zw?x(ZpZ-s6Ty9D zjb|i`F5>v7tA^d8vDa|^=_2_#id0 zj~`X^11j+Aai)<{Q%lh1$z2qu3x0?2Vwr&EwwDC$mhi6NYdi{IS$Ljz-hqz0)Ugli z`M`sJC05#xCZ>+brW#RaEp)fS;P7b{6{eb*XzEOK9JOci?j>(`36Ykd` z{7R=*3!5!V0nB6Q0%oXKZoz7SAA)M|>D5k&@_Y`^I#wBhHPjhvuV1!cpB5_|OS8U- zR0#t*roa*Khs!8j2B4qs2Uc>%i^oxQ#s^1Vnn36-~#eMVy!SL*Ks*~1MThap@y zm3Y~XD%}zCDhg8pUQhjfgEbDk_@kdpH@-1LuX)LvV&N9XsO?U^oc&g3UbOtWg-yv7 zbH4sdLD58|85fzxF!A{^^H}bj`L9p@>rTvf3i5Bu-(Q0cd@TdaFKC<%@@p)%NT`+6 z)FL8y@FpKrEAXt)hIO(4dicvbj9O>G3WM7AS_H3LW`MqhC-0GTYvkxh5|}gZ4F~x+ z%$<-OmWX>))ZxlrsZil5iG&1`E~2$~tDT9R8Ylv}^h}iHBx4YeXEmz5+`I5L@P4O9 z=`S+92=Dzk3ehCHO2zWabu59-7O^E zi>qi;9J}6wNcblqUN{5#?Uxz*HrB;Z%@!bgJbU3?!B#|&MCPWdn8;sv@imno?Wl+V zEjw}XZ5gWXss@7F<2_H-sLjpW_t$Y}`=3Az*S=KBHGPOw>K;pv#4VxRqJoTBa91)& z#ToKJYO1q)5oDA@;D>88DT$gP{f3^fUt9cIxs>DPD(z6ww9A$nn*ZJSQNoQf3B*@_ zlWkxHgjQhw4Q`VwGfZqXqvzHncE@l#b_3kSy1}ry7yTS;3ofOef#^Y z&1WW^wRzuiHA~JcIj-5TF4ea${jEhW=fX4Zy7aMTOTYp1DLBP95hi@an0X%r3onZE z5AVPst~y!?fXuWyqjxp`zW1+7R8Bv&bX_5`zr_GF8i&6*aEXAb*@R92*k|t zPnzYA;-4${sDEW@UA~!&6=Pi*%1zD!{LNFndQ+5a{Ol9gUWd4E<}bJWb?i|yvbI=7 zbP72ns{P{rgCMig7=#aJPMezgp#N|*H5u!g`rl-*g{`6mSq??0Rx=uV3*CE$5wh^G z`$36EDJMS1A5EN9!u| zw_BO!$m`7ONP`DI2yl0b>rthL9r%5$9D4VRKC|+qSovtyP@3xcaVuv9=f(!iQwpdFb2Y z1##+nx6aKrGs5_K?oXJfs%_@K{r1}*ey@ZJ_otCH=8f$(cx0w9(x?ibU<8@mePao9 zp%}r9iZxQR*odxCN(QE-A*U5I@QO?|wU_{G z`)->I4#-oE%z~NYroeHP)t+qpWCRI0=CGc{W0K-Ab-QAJ{P)=y4~OE9rQWfPt^hS~ zBc1LpDf?uP@JZ6WvgVUMWBcIKr*)8?29r+xq(fT{Y_nm{w9u*`b;3LLdnaL$?W&li z`fp&=hE`Wmoi&m(+@3vpJs4-^8IE}>Yd+~S_c&&Ef4a_`J|d@2`QZNf@lTZwZBOw4 z_dX{)&`Nm8V;F^x8)~+3P2JBzFQ#5`0*7J2(lIW&js1JH{Suj`fJZedOL%|s6Ws34 zBJr2Rp?)B$8C5clqqvLxISn2jlcAo%kw0m6i{%DKRF^)cfp8lMXjsv}a5XNN_6>W% zs{KFx3|`v33~)M4;)PPK=opRE@VGo67_IdP8_Z@S1*X8WU&*j0m3`N5aDrk|S@X#n zHJ1te!@mu&&(51T+E^76eK%SwW}>NdVL^LA2`e~Gc(*=|%)%W_w~KLJ@<7{c*(^yR zAq!VBR+G_$tE|EkZd}xyH)rk}g!|l)68)%IyBu<#F7^_+wd*vinQpu}bKkJscMK`t zN9kk?8m#PaM|k_S!w%A!jhb;-bY{Ynux%<79p1b-5i(Ebkf|*5%#=a6E0-p$I5S&c%;tu2 z!O6IYdj;B(u0LE^PCHna$O;yS?|%1NO^e(@fS`tfi)D(RILb);HosnTZ%0Z z3BPz``n2ol)d4(aC|I5+jkRLK{3&H2N3>57csD4f%K-R9XNkp(gGGs_^guF{x{O6T zxr^ddZ8$;U+=ws4rOf#*u&_%?b9l~}IY;VMcDbwdj8aaNiO0%Fwj zGlpOM@bb+26~0Tn%az1w#Xu5Zy{HUIzN*XSZt(IBcF5dJ?IJYSJPpI$`ViiV0tIE+8=op1%ae;U*OZ?kESfBgL=Yy>nAC! zi_sVizYuDWHT8;J7$l1QTR+TWZ0av#(GJ-8cn~}9qqH^j1@m4Qyo)>&(usy=>!bbf zI?~anLL6O0mzn_hwBb7s0w(}2yoWn~dBI(iBN?nj6Z|x@H`tT$_*!U@TiZX z%P{?iKej)3CV|5!3@B(TyacR5pA4ulBW&~_&4*F@k;~k3+_ItB9=V}>@bp>-5iNZH zG%jHpEAa6WCZ$_8FcPG?9mEe1oRzN0fAr`~(U)oVI()Onp$eS&B-r*1A9vD`PA9$e zFgoC^3~$rBPDpOX#Wv%X?(Ry^OOLl>pm%Mc*TU#9=y?@oVSCf6FYM56rh}Zk0nbFx zqxLf$1YL%qjEftYso=@p)==m=d;*-Opz?3BRGR5y-41|!DZ@oy-pM81i!0r3KhJSS zodvQjCZG$w6uE~we`H{c{Px?APZtjjEY+-oe`GQ~1(hkK1cAnxh=c6=I?mdw$KCtJ zw5Np+4aR{n?AZkKCU;&&f)97IMbXDcM_dE%Pp>$NI0E0 zAxAo+cY8hV`(hhqzbn z?uHpH2-@)-2TSMaTMYEih^fXNlVk$I6u>sdmL!desfba5lWDNZdHOCIU4*8F6bz5q zwU#}gL}9^xK1YcP8A`ksqoOGT6_lK(5i*R0#Te-lEPGmbsISEBk2~rD3I$g7;e#&5 zycJmH_wXH+-3^SPKDp)e@Upv2-r(FL@~wDl*vmnbje(#Mm}lx}DQuUSYiiLm^Gp#B z@nOI4zJh105wSIF4hg7~{PSi?hRF+z&BWDcF?2ZTQxN4^1Y1%OG6vj(&cuvx(R5duw*h zdJ9Zty~OBk@!^XfUUt2z*DWr>5~BjHvLH>wFZDXpsph?ks@B+smoc^ zh?Me34N0U}l~XzOk+Yz_50#BKDC^!$Bb{ss=!x!S97Lj;^HT@cFdWn_74$F%>Gcb~ zIOCa3yQ+*Z(`rGahgBBXUn6h6L7IDuIaIOFL#ME={rdoiJC%)syp{?ayR8gW8g5~Y z>E-w!*r~=lGFX+9Y);D=unz{)N?;lc#tii;H|vhgIWC`NI*(shukDT<P3af7uCCyJP>6i&-u{q$};eo1f(NipbiN|;Gz)a+En zgrHG1%|y|olud7<)ll6`6gwB;YFwcLBW{vd8Clm%5-p5|3o^TB)YNI2p2Vr4j+rE8 z-idTMq9ASX^{RVKEN>|gVYHeUA2qV0lm66^!`L7cjjC>@j3cFWdJ(aPI>$uMR^SNj zvH1qR_$b`#;Ocb)fP0s>!Lpa}lj5FBs2*FY*)TmN);w1|j6!TH>Hk#>7hS%}ZV*4k z4b4~>qJSCwBv1aC42~2NeTYBfK&-JbmGcr~D^_E=CdF2l;U^K^N;_QHZFE7`J3s6M z8#T80m5)sB1bxHQU#jl4)FMh9FbpBCNrlEG&z z@UV(fQ}+c}1N*RJ2X!ehK)cRL>KoS2f|NSya-%Qx65ZDw7F=*(9oDlSP41#BpcW3R zY$>?|JWy&GWC^}gt=t#a0fM;@ByquOuRnP2KU{mCuP*-1{^A-y=hxV6g%RA#5cths zeE_}}R?lE{3j+VUio#O#A4o#i9!bX47qMhidmA4Z0KT|+^svP+CrMym<1FmlMN4q| ztU#_)U1!{&S=kLg75le$haThBqRGqmI068V`z7A$|MY|Y+y#|C>57$s$X$BhOm`Pe z=#Y@u4EtF(lD;(b1&(eVf}aG8s+cfN*eA(+}^ zo`ph0=aDD1+&d4*=}(OgKNV+DO+u?UHIwF%UPSho^JSLT)6>`{y%j6`KCAB?>~QV{ zVso<+3{#wkVin?MHNKavX2xmGIQ_o;GIWz8oax$VyVb0GFA>1FoHmMIEX^<^DwPhsst zNrH`ZZ9=1mg(TFeO^9bocsuj{ca-tRTahG;e9FkE(9aDgX5hlbZP_qS>!Rc>T7t`i z2`H?Xr|~%c*Ax|#*AIW#JGYsmT^8ddtV~URr7r&VRp&3Awz+?CiDn1vb^RM2BW zO93(3QiA|1Bt8nJ4;}y|y0Qg;5t}$h{SBNH`}j$Tm$;D?>-Puv z1A8tD4^UI?QrB)QdEKhj$3MU=1#Y0>N`=FACH}iY9uua1T0~WWJRLPcp5JwZLB>iv_AjR6-`9m%>zXNTa4rP!7##jb`7^LDQbOo@7E5~n9f7Q) zbs0VuoljRH6-A)9WMN*BZqr&3`C}#5A`4Wuf1$szXBc^PqNmZI^~h-@&aZjvrZ79$ z>MlA`n+0_AZd)59W#2SQn12mtwDJz5Infu1o7dD4S4yn&K{B6Bo49otQ+7tJYFGETNJ%KY_5jgi-Y5aoTv9W0kB1(GKbgST^_)w(KoEL@?&s!YrFb47G2p8hA}UUIwi)cbp~G)lm=G9X_W>X+^_!pK|l zf=MB@3zDp?Jb{xR5Y{;J76koWJCXsX#0ckZ3I&iXnl+K)u_nLaAHR>5X|PR|Jf8@*F1MF0^b9$z43vq^xbY2$LOFc2B14#{W5zE9VaYlR#wT_ zJ0jn9L%iy`WSjuJXtEzirOd6-+y=|FNVc3x4H?MwlBCgIq>xS37d_W~K3%T?<9A9l z<5ga~d~Y73<*n#z(~4s7{8f!^sF1OsVop8YvgVtF@H!SDo2LoYl9IG>seiRWpi;m$ zQHcp;%`3JJngl0z(GJx20TOh=Yt=SEf1&mD4t6%fK~bnC_$G|68^9t(N8@|;O~{qg zOD7l#0o+nPCU3%C^fRIk9Tth`&e!siD2s7uCf{eUt+P-sg^%)hOh0G7g`P>q#&Cz* z$nT!70moyo(iRq3k%V|!6R$!-m7U5FGZ1Wy_o}`wWd~jL$9SbL1uUW~*-@G<;-~;_0f8x)+UQELJIy z$1n(~bRA&`65Z{opYU2Se4xmo-ocNSmX6{|;(X1BkzZseV}EIm8u{%<%$@hH9>XYn z+(en`k+}E5J*V0gZQ8tf@0m@?FC3azyxy3lM9#I%ENORUDV?S?2w)UuNe18(*6MG9 zh(eVg@wL}c0GkinbIp}Z)s?kgfei>aA=SMB>)(9f2mV%1#zr!%)iyj<)|As&-+;@w za@Mf~BaFa2+S3Wz2xGP{{W{88%qS{i%p5UzR54@${L^HTDSd7w%h7{%7Fd7qE4TR- z2POA=&KIl^qEP+1T~hG!4jZr~I&N0CU>CcUpH!*3HETMFq`j8OGWO}_?5MoJm0sr_ z#o{X}%z!0HVWm;XtuKM8!ssYDsDK;1nPbvPjdgT{L-egVtY@WdQ|7GNOMt#h z`3%j|m~a~y$WnQ@30{9a!e2#B6s#L1+-BP6z!&_mAI_{0Vge3P<6RyfrzJ~7fT|El zIccns(C~w**Bkwti3}ve%rM{$&16mvo+=)ONDb0CZa(E%Xn-bnCG&=Lz*~PUUp+2^ z_NE(K8YJ%lEaEM36^Uio%`OA){+0P%W1LmWm*)9dsV|gucp)O-gN$vBZIx$ zyBq5-(B(;)LzQF8i259+SaQ+qGJzu~QrFXl)}kQ0Va?Fe-%>aTG)E? z>p-*`AEv$;%M$ypcPMpP@Leimups3JhCM_F5t-GU?ToC?8s3&FZw!owz59 znxQ0`zZPZhs7N%BsY=PAhsAcwMFqv~SnR9WDD|-al((ZON6g+(rE<}TgwukUVOEh$ ztV#`Ckf*-S`(OxtfmPz0v!8y*U;NT@s$Pb-HkI0)oUwVyz8{bf|8v}J8_9lgsmA?r zVih>VEPQ^KI!|h^XqY>}o6K+dWq9w$QHWt;5g==0D5OaqRTnm?N5;`UNo$hu#0va&wrYn1;Vll={;Z4fG0>l%5V?-wn79u;UE6kC3Lax4INY=O+#0el{*p6ncnb6 z9irV7WVel3T&YvAHfkX(uhs>ntA*M5hR?2mrviDY%I=%mK3EHUi%LkB>toG^LNVH~ z$sP8A$+M3Lpe2|!P8fF|I2w?TGDaKr6}+=COjiE^10aM#3RONpVDu9ec_+SJgYDlf z=Bb%!Bfk2ZY(rjz_br^L8}NhtL}JIo`t{L#`CHPmcpzI#Fni3nm0MoChwy#SCD^2Pq|y5j9m@xo5-W7aK=y3^JlBx(GTHw z1JTW;0MhPRvKM)T_n{6sSJB3{RQR0e^Tv-?-(&XiV{z^z3$$yZ6bH5?(K>wqeYwy{ zLTcVpjgLrMG|U9pj<<^JPy=Qok&VEK1=?yV8PrCNA2nQ%Mz2mCU)AaQd4aC_7&Uy= z^4!L78e``zY{Eb@GMC`K;g-;J!3GsL2y?R~Gaj2jSnnza*4{^Ho;0qa<8k7nOY9x&KaoSFqP6?eBq(+qtKfze7W2{ z24H%^7)A@);>o-)LgvG z1aj}ub5Ur1zQUG8!D#F9uE9d-AB7)3fD!Dj0SK>Wb#f^NXqzovz|6^e$?BUY`z2hd z%<)CaCd2#QM-`)o2ewg?_+U=bTd9~% z_D^=Kr5W9NzkGuUeV7nQ?>VPg|80nrq_W{N!MWm%|e$(MPADQTgS7i#bqAn;?*LW z^)yAlP*WGxa&)0nBEz3Z9bf_uMog$+RW}SuC;)ax{W?9lUSoxFl;;OF>p62YTHZ%t z;~tb6B}VN)1ubamGHT9p*h>cO4n$C_Zcx}S!Sj13k}r*I!Q@Mx5(A2aqG5C&7l>P( zHAB@=bOlO|}#VX|91^gi-i?UbXN4HE+r_2$EDXa&jb+R?$PKS%*{! zerx1J=a!Vc+(D!s!lS*Mfz$y}sLtkNrBO!)4T!r(x$0c-l47yc^H`*`P3kS zNi`$5pC5RP6~>c$l9w`Y?q;%BLA~;8bU2TP0fc!$1Hs!xp41DtkAJyEzy7va+g=Hyy@$-c@8qxrOqs4N98ed_`+NbF_CjfziHLfsK1F3%8S# z(j@u*_LDg%E1$X%!P@XoFnF8w?Q_py9s8;)z|l0Pwm~)U<98MKO{T!!PkQ1?ju-sF z892b!f~DXlRtm~6$=gn)dWK7h+tjp0zdVQ=r^SKq6Lb5iqWP!Jp8omO+cWPRQ)4J= zspR^=Bi4*S?5Y*hlrKI@i%FDNWm|SZIJ^x`L+Hdsthvdl(EDTFNVOrAf6-a~b=;a4 zp654E1F`LZ6K0Iov(ua~^9lGjYG1vPQ60RL_s5y<#lR7Yh1kA4LevlU zmH<0@4PJ*IE}PybT!I3iR=?m4vheGaiCAta+r1wpTi&*tEO12~MJq)l@YR7kW4sT} zGiVIuS2}JADuzZY|02JX3y712*~5(b5AiKr)<{dy=k`sTyGCY*QM=grM^mIzM?lIE zuIn90OJM{^Q6O)nR9sZW*xPIb*7|J0{JAd-e4a20U~B*MkBc3DIAno;`p0R)|Jj21 zb6*(vJYf{T)_(k_#g0E5vcQl3G)?$FTQGm_3j?1gi~{zI7qx#mL;){6O%!mYN7F;`yYZTs@v!l@+68?Fla zlc8C%Hi%PM%Qm-rOLUJ5X7ZnvQ_6q2M@g-RIx0$LKjjENp|cuZsF!)W+57Teud(64v|M?!be>W`*q!j*L|!;o8z@wi1b z`U+e7cDs3s&1Vl_9ftuvrs|z~M@{IbE31$G%0cOpc^aG})R= zs^{DMS9NLtze=f_lA8?WCWPhU57|#y?58YDa(%Y&5}{h%rH9{+Tx>jn}X3sNd* zwku{;O|EZd5|{@Q_SQL|M$V00JJTOL=kuESVII}Jfjcy0s!er7VQtl9R<+yg>zJ(t zp>v~#9qSFhcWo;0m%z4X=h!C>t<$R%u-eUfsC}W8!9qDM`b`eNuH(8iZk>8xZ`SEK zV1;!j75lA)A7GMWwym1&_R6|yS6mv?9AQ9)zxZ zve=lWM8Q;#8yWEnaK000VagU~dghXZ#X5DvA%TmwflO7oKJ_w{A=(5o<+_Ii9`$d1 z&^63QO{E=_zX+0O=K+AdZZ9hs{^3~Wsu0c1{9LSwy)_TwizWyd$gWJg~8 zeA$Iv?M1bvw2NKg9gR4)w5odZm>k;!zg9{2JUG@(pKG)Cv%lHM71qSim}=^6U5vDF zH=KG0II8{5QBZNebdl&r_jro$wW90$hJ$Zhk)9^YRJ(HHO1k@2KIlXXs1nFhWn~s( zt7D<~4^ftE#j>Y6)>_P;{hay1>P;MN_FlGP!Bm@jR$4VV6sE`xb8~Cx(d0AQi}($e zk#;I8R6AFtg;@B7jU2S!r4?n-IMGdNDBr1b%uOB_Wz}26QJECWBgX^FX^m#>ynhu3 ztB!Y|-a{Oc)fL31IMC@(V(c^ToSHrZ4eNo6C*>xD0!@YB!yPt*Ne}xJAG5n944~SkE7W^bMtV0LC#ZAkmT1x&@E*ReS3d z+S^D3^H}7`2$fUubfzKDuo|jE?>w2LD12qlo5Xd=J$R`}97SA;=@=`8wH}Ak)j)Oj zGrfOzrMo`GS`@phVA5)rb=2i3Dpk0vxg)oc>LkW$&P~cs9hT0KH2ol{URE682ph@K zv}EuP9Au>f^6Yb0 z2UxKsqGxQf3FOBf_7jEU^L2!tIL(iUHqzZB!yOdfMaf;H)C1p&qe<|1BkYS?7}xZ! ze9UxpHr7swE&ognyf5$KKaEbS|5f^Kn*l+W%87eZ7i{zXR{C2lSY9b#>pt>V-aCR< zbv^m6^3%Wlz84bpif^%>Z0z$P{jc5&Y7@AU;ANtXuqwWM@!kI2;9|yFytxM3^2&eX z`1d*-AFlw5&LIX^O{2@|iF=gguW8Zh#!&?S%)D%C3b)*NT}c|6R)FPb#lizt1C zM}D3S-S}>kBA8@6s5kz^jTar5Qe$*g5~iwIAkL_vdw@P89;9QpSvrKOW}zikiWs6< zIKgKgdQy#W1-Vz*H3y_G;M<}3j+2BKN}phbmXhL6>rSmwh$ zQEbvdj_OHs3V{xL*Ozq9+m(I58BehE1PyjvNGFpHi1rH=UGD;d&^^DymA@2p_5E-M z9-LH>yuG*QRacQO_jS0xojjE{4=)Zxcnfb@VV-%$tFQCb|AmJw;k@KU`R8j9B>4Nv z4*Ib>hzA^S5c+%i&Y`=x#S8YOk62ue1DR7R^hUj3@A%MQn*|5Yg;`JO`!jbxy7A9SAxU| z%B!O5x@&i;Nu1%MjFFwL_}=4q^~~oT-Rx)c~nrn9CO{^wIax`&zHqM zF!wEb;7J;M9gDRtF=mCPk-Z#vM<6U_w;JlwL(?_Lgj$MFjgh4pj(T*)uF?;xsPT&M zNRna1I;jbqAo(IM@i7L;^QL{8WYQ&G4%jKg{j47Hmu=1f@Mokx~ZJVTZNf1K4zCiF%E|csw5`(<_SU?HCVsbfg>5+ z9M&{Lj5Mn#^_Q*p;4ba%Ag(c)-k!y`IQrsA1-EIi2?{%Iurpe56_vr8JLnaJH4*Cp zh*WtguSv%N91Z7s8ccCslsdcVJ#ZQs&2mxkEheIe`$s23Uu~ANq-y@>a&78_FkgUS z10ZvNts%Li^5D#Kqbml-%HSw^%u+j1sXaj~qmMMSC*kSrLv>er5gwa#iYLRKq$g<9gfSquKw8+|ogOZUxYjaJW0x zeitPTdEqxF`Ka~!W5Y_x^!OcE+HCarq()^wL~4Pe5wxlbk_Yk{%|PD<^h+SHSPVF; zP$b-zha8Fgr%HbEe8^od7$6I>UZGd;{ggAUD!}%WY_)bL%?;sbn{s9Iv+kY}7`>^K zZRxV~uOTe0)31sL@P0wJ(I5bTBDGDB`rJR7Wk8P>$zzJ8nBgt`afZe@UWin(k&0@> z1s&-D_gXctBdFbI8S-noYoRk&e32nFQm|h+9Hv}WYYk53V^f-j=gT7#oAS_q|G7<- zy&sp}RLayq_W;E$SKjP6VE~}9XG@>=o_J9`ulh>TX?|ptAnzUIIaTK<^o^QVS8{)QjxEsW=UtxSktyS@{F%nCjksYaF2WXYa)FjUT|@Bcp~sciow+vgn#X zeese(&Jz(58NlJ3x2F?{>d@mls?#x(qG-!xMAJu1qIlB+#yude_6^TnU9uFtP8 zUp4KV6UVUcjZ6}8EA^Ny&`hd(L=qW+I2=fZU6Fkk3FUhQa83~!<|eoay5}4E>C)vn z+`;a^#Z$UW+zaC5?-O_Ie!fy{FW~*!*p*wuyc=+T=A_=Mab=jlwCSzkm^kjoq(4OY{2UW~So*EV3wk6^!B5_FJ1&j6vwWv`X}k~z0)q)GH*E6Ln2=;w9|wv~)pVa} z8LK;Z1{XA4(e}7o;%*x1Su2jFu5euXxWsjptpI@V#X4PGH5$87M6>%-*amdn&9EcK zFO{);%*ds*#)k8;Y@VXY@FJI*cqj7O`4baEU*S18MPbdx?_|_|XyG|GZ?ml+R!B;2 z(3IBDQS6EznAfUbVt$}rDaQ8$APX^@`W|$RH#8<_;2iR4vxqp-xYAk z(M%QQ(1L@5twyZS4PjDa-(Frwi9YDouP~D zySXLmbnb(%Qi$|>66#t{md(MHS#;33E361=mBN{D#+qsf1P_4VDK6SjQ}%05hD8bg zjz+SUmsMk3m|SIAbvgWaeRcLJH0ohq%D)?J<$VD+F12$cXt#aU5Ua^ zGWf0#wqoj4FX8(VEN3X&E#gZ1s zBSSfNkepPm5`UHK+Jr^EC0zyx)@udw?8m_CD-ta41m^fqnKqe7JnDl=!of{@T?waS zXIZ(#yNLL)7lA9Izmr}s{5}q*hTa7@^92u`dB0LH6txe>sw8}GFP2M7T3oR7qho48 zKDJ3F0Um|N_QI^~Uf2(e$2M~0%cB!)df6H`ZZP$fnp<{4YWD>9P<4$kbJ@Eg&{eD5 zGPp{4?+u_@eK1-C-eMngW>VLuSUGp-*ujxz*UuHf(n1Y)z*+t<+cqV$pc=<>6C$ai z7hGcS2?)m>!c5nZcdM3Q8v)NNeu?Ri!0CfMaIhLs2Mu-V_%KJ&W%54b&;TBw9U*;n zCzoHyPoTt=#0%A$bn5owHxVEXn{|{kOmd>(5nE%M*4Kc#q|$H+7@#g_)Xw*|RfTze znYb+vswDe!6@}lVG~PUlQ^rriI>AV1Ur%qYsR`D7?^9K-Ikm{4ePAl8oVW9`OZhv||eB@Kp^MjvL@z{Nm=3?q~7~ zr*#%C+jO$F9G6Dk+>ImOrh?#4at-i>OW6xitAr}OZ>Cslik%0+CFWy*Xk6-a>p= zPw}1?FAcEFN%S1NH3vU|EfY8DY-#T9#Y+QK1?+lt8|DqqNHucfqxFO-@1_Ob%omRM zqVhgfoSSg$FYcX> z-$yA%MGo+9k6elQ4ib+d>U|Ac8Jz=1!SHBWp;!Ea$~i*vpO+-UPydn~I!GE%C=V0L zv?XlutsoO(CojmaexkZ-=Pk7Lm-gBbX24q@B%6NvvP7r!lsf=pYRe4^DUz+Oc(aMbZa-E7?76b zpBpAvz63S&@4|W-4Ca!xAH(k4u^{6`b%CSAq3(-MhhJ*H#sR88|HcI)C&o;dYfNk; z2=&-lv|#X|5KNz3rRWPU^om!xSqS=<=@uV4VQiL2X0&$4Sv%xnZ zgKv^NI>6ca%v4cj@%aoqJ)eD6tS6*cpS8qI&zV+<6l!Bno6V<3%Au9yGa+Z6a?| zS?(F=fY*^s;B->_HmD|8!K>+v(YIbF#8?Ch_b{V$wW0LF5#;JuJ3KdHRu+8*y5bU9 z?<%`VWcpz}fLG1*qeShiSUIR5sgG7YX-eKb9&d{=|f`13AIrZ-x*rUGFY_roF8 zdQc(HkEWGXpM~a_irUDn*n+h>^;4K8Z%v6-eJhKnP07lt&q7PkNyRuCQB~aRIg5C6 zo%pN|t~i=|Cr7v5)W&n7YGuV|p*^OeI!Y%KZ>rnbG)eB77Pb0S7*Cy+l@*_brntcA z#RC?qt2%Ynfpno-Q^h=m*9@a!BX-=|k+HJ#25-XN{zwT#xr^)f=o#_GQPe*v;ybes zXOWvl?nw5SrLG-XKg4wCPgLk4-rbbY{>;R#8Gk%04j4o5de4PDahlY;NvE2gd&?|I zqfL>li`~9ujB=zp$575`0=S*U{dlgN`OXF3b?Weojm3ozJe2owDn4sUmCA!^uovcN zXhh{-0YsRZZ7+d|98~XUpmgCS*%F6`Ax3$y*dz61Qy=%!PJcf}R73ZD4_y|2bQlH} z)?qWkxkFp(^{m=hAxa9IcHnMAxJhUyjnWU`?ltSW_hL`a^wN|#RG3Od(p$L)C&;yd z9o_r>=Fz*3_+0z;yP6KmdXSu&<;0=4Vo_-_DQ4=}E8rK@efNcdHZPW&=pM&-y;fto z)Nn2;;jM)JY3DfWPDus5oG%M}Eh8B+SWolo4$ueZ1U_Czzy0>(x4-@NhsHV?pCbH` z5LYEV7w*(*U{PvQu~z8y*HrXO&){dB>Rogu)(++Cc$%_>)^OEcf11x|?Ur!!IY7q^ zFpI}qNCwn>=BC=Iy~+&sW7T6UaWoFR*N#mMAnAr{6(U{D8Hs^_UnzFaN7JhamriAs2xK#O!~8u)w!ai@GWb? zUds5wk~uyWHZ5eX!Wd>LiMg8tis?GW6RLbFCA=-Q9lUkvpuSpB#{BD(OyKl9`xS>O zpA#rFg5x^cs}|m|??F#BHuLG%1iXneo&%a66y`yLGnSC#_A=JH&nz1tx7Mjczn9?O zkKP0RvNAPCda-y=TR;3y@Iyi@mMQ7vo74kFJNv`FUzND zSFnX+2DEeO-d6}8Kdf6HbbH6W?_2(dmk5q7ie2HTlZ_t&67D3aegr;;I&a2I%~RH@ z>6I!)qhAeSUfB@1nm8zq!C?oED+=ujza4Q}!eoQ=NrryR*xqUH6K1oOp#(E38@K#a}l)=bTR^J zp=1`%5yVpujBYQR)h9WEq{Pvf3n}zZjVOz~7!Hu*x!HL_iDKKBA_sZRNFIBpAg^Ax zbcrESKUrhWMH1nacIirN0FkevrYi5wuLiYVpmrd2)Zt5m8nTpPV@L)>`VGcyTH%d8 zZ=ygdKg4$(nS{}vCf#C(uXW5lv4ZY9xc5$Qc7?r0(GM;c4T`FwGD;MaZ&)4T)Aqw+ zwerz915IP94Ncc^`1==`a>B_csU%#q2vL7xy@u>bi-49kSE;6@xB#-DX1t(bdEND6 z`FW)!^%>1@F8M;Oq{wPCXs#&-By$-82gZx7q$((~RMpY|A73`4A#)&bz7s>w{g!4Y zV!Geg*y>hAag?4-?5oY3UyeysI45RXc<*Sc{bjh07KMJld_~!*Ih-GrzHedj)tmu^ zc~mj}da(U|_Cr8LYsFT6Oy>`Z8~gxhLUsdcvmn@=iKM!lZEo=Lx;AqOxt9#MwMgzj zB3y9on^p)pdrO&6jm5W|E(MM!r)Ln94ID7n`~SqrSd9UwWNf*IV87m|Krn8$osn!% z;rb_=a@Ry@T*=rMf&W+Z;X5jj`X!Wcq%?iW?#*wTK;tCFKKl%5; z@Z1moy|{6ZuThGZATubBe}$RvI=n|-)R6%l_QbfP2ywr&zk_waqxDKroCIlwr#F3+ z*EBiLRoshlH=Y^YE7kdCy*pyXZDearQ}<}SxkAMXRkJ%os{3YKD_OJDg2{Fc^%TYuuugw=X$r6rt=9m z6sAiTMn_5yxbP`Ey^JmA9D?F?TFW+IR;yK#ozg=yOT35)L&t-Mz3~AF}CdpOQdd*1BG%A zrQ$@xpDzt8@BijuKOkp+PDKzrveMj%8l-bfKheiv;{v(j_1E|!biz2iZOM1Z*v-Nf z#l1CWo%O2vYVl$jWvx|TyhnrQX3dg?~nQ9|CQ zh4T>YQTr!q&(tE(Sy0Mq>Y2Yu*Zpf9*fgrRvs%{vohp7c-k#QFK(#8UJ@|%vNr-XIyw>s4DAnYgR8@^ktO~qx58T?u404drcxong;pZ0=EA&`!<*j0b}&F4nKnOoc0b6=m_#vGg50W-U4SWVxlr zA!~V$ZF^zVAJz@l@slgQyL$2RSL+0Itfh+nRPM`+8;K@&sLIO)-s07;n=Vz{mkQeo z8Px~@T|IxhhOI>p$o@Yqb6@zMfBIqhlKc$#@aGK7N|DfK-|cK>)r`~4PEd_WXF-XS z0tR}>TWzUpOrt-s`x54Ye$;!C>fVotf7LB=Akzi&b9Y6+s);Xx>gy;U7X(H5oD>w6 zs$}0@i*D`!XIkpP=jPm*K{9#wBj)VSMJan@cbi^UX-@!7bEYo8OTPDjZgVY+r=1+M z8>Ev@6KWbNszm{{W&$N!P?Mv0 z@fCD+h@ZET-TmO>2`1ITd8=`Dlv%V#hy6)3<7z_Rxi^MZmp+{$aRj5>Gp8Vc8QgRkCEUVQj%ZRoG9Z$MxtrR$P>(0~fG);PJtTS^oQbaWNU zr9EIAhw{NIg&XsWe!L|XU#MLU-X(Y8Dt$L%M(Z%KI$Q?Xsz@ZGh+&U$7B!sdh#*U4 zg+|%V#_Xjb4eiQiyG8`|Az(n~s0z=VggnIzmnxmklcfxCrbI(3d6#RJDm5+uBZ(T@ zLa$|99gNF_(gAd_yvO_Ag5 zp7!x*tGxfWA5Q^+o!sd|*xG?C{jMou=I7kT;}ggMD#$(|I|Q}o&7;*$uXJ}~)Lw35 zytYXndqGflwF@V3i(E+@YjYcl0Cnw6EX5bFKhp;ZpHl-5jTAumwtny*rgRB)5f#m?WZf9N|Q<;}rv*l@3@1oV=IEVGlWn<$x2=9t=C_s(b^*he3g#pdF*0gKnJvMpYa9A^!c zmpIxU;swXDh|1s$ViT2LI+j(GqrO+WsDk3zGMcDmRHf8x8|}o+Sk_UYFQ1EjR6+fd zwvZ~&&NkA3HWHVO??U1+b?D0|!wCMjn4#y(9ukAzKZHy2(#O19aYHR4Y;O<-yY!3F22I=DUoz1ob)Z* zUJo*+>P~%Z)#&8$KzZjUs7=}fBbLO!IHEU-orBg?JMIH*r{S)%c;5O+`ZwzW;rF_` zhdn>vtz9o+_cS(u`g~w2un+qeY9iS&ZRBV67YJ z8EQXI9I3X~8G?Zh-%r)nDR;h`toH*sMO+v!GCY7AW#7yge3N%&q-6PKn2i`0MUf1z zIs(+Kxvzu@NL^?sFN>C|#n=V&pNnnmHm~fD&%MA;_>7Fj@(Zcie2oFQ@ipxK+TX|z>oq8dp7_#! z$&iZ@?`=`hgRuN(p5SfWwa8?2Wf@^?Jq6w{#rEDri1 zShslF;BbO{nmPg#JDFk%Rv^^anOef;Z=@22Az{6QW7-c}!g&c!c)S)%Hs{q@frX_z z=*mX2D>5FkUF$(RJ6L7Bw|(Jt6aX`VFa19cbUEB{EH|$E;E6?5ylOj_d~E?%huTk< zkos41LTTYnv}nBdXiX{Yv_uX8FO~nPJ;evC_Aqcz*!oRYPY~(Kcf2F`XfLE za@P}7y!g-{p$~Jl6=8ld_3JJnc8!2Ff(un#@(_zH%9#B;?X7*+EGLeT3H6&DNri2D zLFfWWQN!7MW2?~6is!~bNH1L<+##rmn2my}PW>I4;-!h&7y$>02F^Q`DR*%Mh?E|z ze$lnV)J_dK9=T!*CMOEezDqB2GIeC1yzVPwXLRPK&&?3dzLCh4ANQFh+R`d4qZZUv zE4=CFsGW7VO4_9Dlnqqwhhx7+;82I8Fc`bGAZljb+3&`LbD~u6sM}_hV{zll!f!tw zPUJESgXZU-6TLARlc0(<_c{a+b^W-N-Zhsh3^%B`9$4cOFo;Y}FLO*`A30@@Nn1vH zuyaD3(Nx8@u3$UgF}asxl{Ap>taZ%ysuPF`NPrTb$3S~uy3r?^@yuj)K zwj9BaONtn;De$6Us8kgjWoLhu?Pj(Yt(a7c{q zy{LlG=+bK)iz7j^>=LN6+&ZF1-=HS|eS7!NY1CL=G{c$p_bvuYaq4lj4e$wJbW(pp;R6~1EC=94J4DHG+ z^<$aU?-@#BovB<9WF$;4Gr15;Jf6;)8Qm|Fvxrwi)38;0gIjEL_ z!h*Vo%DqqZ)^W6{x{Y})R@1_Ci}$d6dMJic*BeGJh;Gfe^YQ6u<*!7%0u0r)m#}q2 zb;=4l{wvR#mJC1pdgL^)YgpmMO9t{L*H!roZls?1B3BFeGRELz9@yOt0i3Y8@J(+~N&?jkwoMU%_d zY6?>0NWFf*=sJX5VT?>uX_RerRS89LExb|y zBHmSW;nd-C^UW-Qzg9=CAAc(}O=fx4{%8E@7!LKH4Em0F>kWejz}t{uVR)U?6hm87pf|dEJGf@gWdmu ztGcidtODnFEoP?6Kfn+Fv(F$uco>qpRqZhX>Ish{1JtvL!9PIjGV$6F-Vv>}x;QTY z)Jfix*B-yf6e-DuaNj!Qlf=UEdy9l7Zd5~?TB&KxGP$nUsUAuW$&f75T|MOb)$m>8 z0T@MF@QodArcI7XutfC|d2qF)HViMMY>uf=7wVGmvGB08Pb$LO07y%{FdF%j7D{`U zu&dr@8;xe$McY6B?59}#dLFJ0++gN*ce9^0K8XaXH+~TK-1TE;8;)V@pem*pj?um!!zFbZf(Z|1 zC32>(DAbt-m*G1D%?3p%mfC;<=89@pnr(PBy~ScInw~3c+tA~Zn11&6`Op5|_}SlI zf;Srl_p!Q!-79wIaVx9Z|B;DZmVJ24gP^ypvv+G z&qgJiqbaIxA?-y9k93DVKBFO_3S(Eeq`iPKlm(;426FQkKM0?q;#Ad-mm?+f4xhjZ zDE8`O8O66E^#6*{J#$a=a(YQAlIMrptYmqElP7}!|66p|Npyenn%AS9rKcJWPw+Df zzYWQ6J;Ng#unpPwiC8Pz6T)>Uzj&#BaEMaWy?{38j$Bz`lO%1qu5?ySz>Fy~7_Q%vgLFgOVYFkx;!zJ2r))4NmDduTsFH2p$(m0c< zs~0WyFI+K$&hw(&0gPsR^Mn9iYcM)oM@?rs=Y1^FXuFB9^_y03Xz4_m$_0GX_ms?7 zqw9i?S#sA<73c>WCw9ToDxzE1ctz?-sGN$Xh@j6+Ax6?%o7pTF{RKRiR_>wt;s8n; z^9=lQ2hZd^yIWyL+l$wAOGaU_U@w*0WvrA;h}Py+>l1d2leM(nlRaC@#Cl?ghE)o9S)TegiKm&D#;;HWSf(m0 zcE~-99>NmCcaW)KGrCN{OzWr~djp($6*{&(_b88#PbmYOy+>b#Y&$7sKUXFj=0YEH zsv7$}`dn>`_crZ=`aCn*oDt5Ea89x6o-9{he5dKE!;a* z!4O!AS@~PgRQfkSpB+IGlgZrK%E{dj)^RIR9Y-QtD^`i5kX?#nChaGj)1 z*0V761Iy3zVfk`EST5y?($PvCM?5{$OS5z;;#-*-PjtaNFY+;8L-mQTEIkMXI$bUB zm>_kU?aC`Y^Dg@#P*SPC^du){md&}+>X*O? z_x=j?k$!+~n>cwu*KSw`FJA{?Dqwl5)}_<0Xby=|&Wv7mfycBll|e09T927kS+=Z& zDa$nCTQObW%ZZ~mGQWHB{w;ct_cAVdfqZ=_Vl<&aJ5br32^j7#1?=4wV4IFiIa}Qe zNU0OoW>lb}U=E8D!vYx>RIe|sWN#uLRe{>hM<+;7G5q%|Am-&OEgF`=^a|}z%ZR(j zVf522spdX34=OcMUWe*yWWl^})I|hdhGSPo#RVuzp6j_wBroQwM;xO@`IAy>C)w+#4mZ- zh4n@a1d=n(<4o?NEKs?_x)z)=A!LGPOi9xNd6rZ`aHnz?Fvj#f$Cz*%g(9^#G^zA; zgAjv+N6d4p=G3>7e9EB_ObtPNnkQL`ht^0+rvb*WyT&KY2%V9(>twD+VHs^&U{H1K zKeVTd$L`S{u|L9Nvz#a^iu_TnanaaHl4$AE{J=aTQKz|*_g4zYRWuTt*kl@>dGDjt z=mJx`u-5IQ@E}^Us^pteOT9Pf?tc|nCbdw>)Snrm0;e1iA~49EUe-a0l$# z)GIdF6>#7tf10QsQn?qUJ(lhts4A*(#t7qMLHx`BJ`VyX5a)Afd`xk~N?iMC6u~;M zsqPvcVK~U?Mm?tc(UmQcY`K(@+!UX?y|B*N=x;{C;#JhR-^c{fn0kQ}m<c)|!Z_;M}$CU>cQ7#kN~#S$$4BWpq?fmB`OD2(f@FeCI#Ljio~z^;v*=}RDA zvcsb`Nl`K+kS_a4Vc;I|7|8Gz`#*(XTouSK*?5W)l9{VFoza2cKgQ@Sq>tS??R~Pm z2ffxo?ysv2rE(TkSOAFfVK+t$1>vKrdwPL3PwR#VnEmrSRSdv&gU2rMgRDbb%RHngOpU!oN$M~odK^Hm zF~i3lAh_H(fV`nZBX^L{dgFldF-rW@Z;_OD7#cXj)S`7Ay9bjR3|PAcEL4k*3D|$g zxP4&19w>iJ393|uq!Um73d@f~G4b9Zv0$}vz-Uu()&vkL=^6(V`2Am;scfB2YDVfR zjum&;z_@Bg?x?De?cD#nVofpSqY!fu?;3qI`pV3I+ah zbd>eUPfq|*=kTA~5Z%8wakLqgzeK*3qG8DdrP0RN2<&xocq(kDnXj7RYv!sw@gW}o zfDIH}WsR1<2w{6M!ZAFfnVFF)#G3b}#IQ?I-Ca|^Wjs4AlwV~xiA)RQV>;+gXlKQk z%*i5fE91$ckoPt$61(I|$2bJ7{mhN#S0rS*@mt2>lXvv|v7R($Mm0_n#}brMqBxbR zcgvzuw+nt)Vx^Jf?v=Xb>V{D&06%Fg*8orl)OF+~QpC$Ub@h%~m21bbkY9>bx#B{f zV+$G{TiLjQ76(MTQu+9RFFjhj5uhXS*j20Yfx|qe*DqeKit!7*W*L^6vvZwgk@Yje1)H?CeU*nxj#ay5hfmj+YMr(FDk#s2<9kDG1y3uOpn330?{CJ}0rmoc z!!nui@RZ;d5@S5ylu?z;xN5Go2xFtl;Hlv2B3zBjSk&z56woxX0Ge(XiNy%_i0C4PxHXfIw~>eam)dFzLiO{LhKSFVOAD=Vdu zxel1@hgRsNR2loZIX{VZCH1WR0Q(MmD?gUl`2UgGIQuELl^d(m-g)>~s7~hC|NJjk zJd14}!)lE^T{^8jBC!N%ZZOZb!azkR{X(k;LVPkzd>pS?&(q`ahF2MvpyRdku6p1LWG-6jA045gudH7jfKp^3FM! zUHEe^T2dD?x|t-MqjRSXfWF<)*6ce6FgDc{EXd7uMR7;QBRWtqY?QCsrlGH$Y9nrO z*|ZPE(DaaEL^PN!WK5gxX0h_~*)na_0l7jlK$~itR9wP$L%)kLrmw6sluuupTA|p4 zwSV2QS6P}lfYK6pZOd#oR=3{zAd-AkM31)2@ochaqkLwbnl4XOUXm!g>)JA#a80{| ztm2_*bE*34=O_xK2xmS#AwKkz+&;wVwsD3dYI%>8)u=gB{Yp0%U}zS_q*PCtYkh_l z6sMk>cxh}L+Q_5aOTp9hih-LQvZrxIRq#lKi{JkC+aD-b8XWGsXwd%E3Nx*oIiATI zuFxxCD~(rCt{rFe<%~N5G?z(B*CocJ!nIB5jnvQ?GO~>Q6#IV}>`Q}vM*#A@Xgmt% zwV!MQ@#w8%UxusTkzQDoujL#$JP@yC0w`_MFx_~f3PC#@HARZ?BZ+Q4SA};ClRu9ITq@Uq^e7ZS^a9qB>!4=MZW7J%PGr%?_f( zz5DG}{=DvvJBRXxA8F#1Tnju3F%h0hT-0D?{QHqLaw%GA`jDuxD)D)>r3c!J3g}gr z2)z}HP^HoH%3w$Rf;!Tc)-=%UsS##;m?&&`Vzu%q$vA*lfIA!{<*Cp~21mG{s|VGm z&W;Hz@EV3{5n@~rHFA@w$^3kg!PyFe^(U(g>oBD0=sAdeT15b5yZKW3<%r&L;2a13U})D~#(H-XRY7PksS3W| zdMKv1^OhDkvyDci`l+og;4gaxrSDbTA3K6#qU*72@lfW6GPc0dQVb$jeZ>1q)mSZ~ zc&}{gp>I%Bk|&(}x6FI%78!x|YUL8g;)#6lgm;-@Z|`&)g({z9C6|7}c0&1}Cqyb{ z!dkH`O#R?ctrudN0{V4DU)0Y((Sx0^SS?f#GlpCUras9Mt4qd! zqZG=udF=gn3Q@WpgI;FS7USdT^WCLD(z?Sm$f$1b*}_D+{9sfd_2JHzk>B2YMtDjl z^uwK={aezs$pY1w{X7lX4fQF+ZlFRzJn6cb81q07`;{~j#ehSLM+^J>tkT0F-y zrFI0A^c;Hf!135m*l}O5Tg_KiY-V*DTEAawyauoE+6P{4BRu*U)-J_Kw2U^JNYA3j z3{*U_@z=yZ_=vug@BQNKwIpMp^_h(m&Q<(wCCT7qdxx&x!2D%bMX0~gy#V@3go;L& zD?Pwhj3YovQ=mSH2m0bN1gq&@G#yTJ&c`>EYcKCac&pD>oQDqf6`cRdlu)Sg)%rRR zmh#o)77hUJ1ERjBl!nSydsiXNkkcS`UscQX= zK z!2!#p53{2dxvw>`aG|)D!QuOj-8lrqljb`ED)dpupZ->{p_3PkxzhR0t7&o z#EyH%Dw0TKo;-Q-Jb$OHpzo9=*h;n7CD}WO@SCW#K+DLtnPeH1I6B_qSn_=#-yM)P z7Zam?u#O9j>u4-oNNFN|>Hq5|491u6-3Z(X^D~Ch;fbpM0x+Ncnr(Yb#X) zny`F)%bZ`mcAE%&_or9-)yK(4C#KrXRH2%(qvyE7YWFk{4ih~4{AB1$pBrnpzr)%_ z^Dq;$5|1hm>4u!p^A_yc`vLu0B2`>a45!(zAJgG0>|w2IkUN=`dys$IgH~dX90NLs zi+{@P`k!I;E9O^p*ev-d?UWirzBMm}$$e?DcW1R2_1Ie?N&N3a9tqvO)(gLVqBOu* zpsxN9Nv>qzRSS85yw6gICb=9`$RGIqRw7a`oA_R1dOO+W6DG+=rd%{3cl}8mWwbv;{rD z6D&vMBX=XJ2dF=X&e-~mCFQ5}LH6&1=&pbM!!Wep;kw<9I38Ssu^qQuO7yiVD6$2= zygc=jo;0>{Aa#lw_XWTW`YfJCkO14)wNHK^jk1R2>>^(W9yB?A{rgpS(1h!8T2%0$ z0>oM1rg%s4jKx84ok4n@l#JIoT{Pc(TT4|nsnJG*g4)r>iXgnz-4WmmR03XDM?l_0 z%lux%Gie}Ge@;w}l4dg$^b`loh-NzUd`bYR|p;x>GE7k>{;G zMJ)_gJEwLmhvbfRfV+Ia_6PE1IQnIjSWrTHG^==tr}yPbj;ENz+!Kdqi!UM#ch@4n zJWt2K1oMzv_iX7{Bczro*v!SNw{TC$!FlHwDB$?*w;vQO-mSAaIAErdn>(FO;Bq;JxXois<|ikBBu5J%1FL)Sl;tu7hyvmrmT~ z+Xc`qlj>SDc*SKk4x~H$F zGk$V=bfw%E<^O1V*?JvdJKwT?C)ok6*O9QfcCKx>;FdFt@pZfTaWs{Wa|JQG0n&5cM)Nyp_~M`I z(4rXvT&CRPk|~U)1yR0kbsXZcrt#x85C>)?%hPVJ^;Plzb@KTTxi9m z)s}4Jf=OQ}-*O;#qMxAnR@X8xigl+WW_04~yI>&jF>t^G-jU^*>LLmBfAN|!%ZaIx z<>OpXHybK9(IQ-~o1ipXz6BZ`y?Fgm3Lf1OginzCqIctN<0%;zd(@Kk7Ub+y?I;jH z>Or99NK(CY2-ATj$Al%_ajusu@bfF7*xG*F_`KJ+&q0@jc4+Y2Y|?`e-mV*NoZpwP zH19Zf8wt~|ig^wxSR|<2`&V;8Cy}m3IYh!TldjuI@yL~irg%DD8|ZR6XG5K{AJ<8H#MFi-Yl2{R-XKRP4)M)x+9w&cVrvueQ6wffD?@uQykm5T|Ru-2~qtyOb)gDCPZZA~M$4b<| zyRfX^j+5)I6eDn1ZR&17yd8t}*lnU=GY053L1gaVp;@QukOvoCk){*dmhNZRMg`mf zk~x>F6arV&50Tq)A^ZfzJuga}GJo$5!~IJ2Vyvn^8{9TYRock~v&r>C&avkbLR;=Y@XG|?K;nt`2YRU&lbammiJVKe zPSfdxaCGp)yXao%jyCQ<#4Qt~nfzTzm?d(+QY@paO6Jsb68m$h#OyBmpy{n@ z;_#t#z(qDFrF!t%K>iawlLM-QFR~IKL@Oz(TQ#3m`5zf(IM@xhEOCcb!-;vrK9rge z!=_PoD;F03+Y4xTj7V_{wHMIH%zNX%nm(~pe*n}Pn|enNP4+Zd(GB0O-|uFUOP+-A zE>K>M&3a4l`D{z=Qq*2`gjD8qfXf`dZF}BTW62dhz3&0vG1|a{cqT{y?H2Vhhf}oQ zf*?<;0E|hty?~)twZ?}BU+P(TZUr;ZKFqrcg;1~;&H-)W5?G(@89_3+d?Gwc!vYJe7b@gTR%qYL4tI&J%O4_mD zzd+ikHGXRdiJT(OnH0Abny}^&M!w*Iq$aXclFY(a1VftkdGZYqpO^0!2W;8(9mi}N zZ=|5;NRdcZ?u#{8!R-2#hEO$GrIEBLP-rp?Fw+7A%W~}{fRU(heW>UX#6BX@%zg*i zk{Pw3x)lYcl}*-i5|TN;2lUm{GtcAXR&Fakw@7o+4N=)(l1VK-|U6}RR~J-=A2>JH4D`?E?@RGFUi+>8&Me3A(3 zo`1CxPhQ}%C=s(nn^r_I{ycd^o1Gb}B%k#{&hkdgBXr(FElBD$5{cGTzLf6)*VYrx zK$;Givd!tlQB1BEn|ki@$3L2vqL_V79+X(zCrHjB z_l`lmnxM;B9^uA(BbBAlTsB}d-(^55fF?1wgwW`nAW35RiX&b9Px-nSdii(ojw4-v z%g#F;DZssWj+6#1+tqZW0i*vPDGl773Ij8PdDW3p<2spt9-0jEG>61sc++T9Xs6A8 zUBFy53U@PCJCOLRh3h&Bl7A`CM_mw)j$#9z4|?Kr;_$B)rtV01`fCQSJLDFeO5w*N z`6S4nR;fO3=g(L=LPd=j!s|3g;u8|G?*E<~2j({Km`Xlh`i#9+ZZ!Gu$ zwNXh%G6KXZhEN`IJIjCpDU#UWQS`fg4e$s7=oTB&63xUnDHNNoQVxlj0fKtSuBtoL zYEk}E1Ed++LZN^_p_<|SY?F3eZoP)|-m@&ef(+9=xzu0=1b*FxOToJc3UDeWX_86R z^e%r;cNOL;<0V#N!Yqd=6(7{^y4v=Zkb_5gHM7Zum1QjjTZYj^ioq(>EO*EpfNWqw zQWa^+13ktQp%=XG$!IeWAk3JK&9QF0n2LLm>X0p87P!yjo(enZaI{0Q?LCd@?M`mw zP-lt)^{f?Z{xOHgJ5-#KR#}Khws|Kf4A6|+Oqzd<1q-TIqNhZW#w8btCo@i#kP$2i zGo_=+v1&M>cQ4t7 z<#yYtgIVu+W=fc#iSMC>StA^!8Wv#ROX+%Xk+#jUr<2!ex-<3ic2e{CQl}rr>Kgt$41+aXIR_zS&oMQNnEoxUZe%dL>LE20 zRtQAep*j_OAhsHG{nqL)pugPt)R`{Y-}ua?klqk={_XbiQjygA;4y*C|DE01n$gHZ{Gmxal#PSLaY?XaTnbdX5?%RV@#6yCXN<3z}%SgQ$)g zHmduS(uCyQ4;a=E@{-q3WUdHz1S+nBdxSJves%;#YgoUF#M8<_Yh`~>5owg>nP{YP z2Oq5RlAcrbdH>$>Fk)@x~0rCF(jt?tvJ0%JSJsD(TE{wS$iUJ+ER=~{%%Qy z_!R17csA{c;Z^ayEPN) zp!9&1yq7XPRJKjhq@+%dk{FKwxxm!<=KuKqTO*8)hcxZQet)gO*dOVHo0~$@mL;S< z{HHTuu$rx}^In>~?Joqnm3o+a{`xMsNmzKudXFw)AumbFD@xLT@fxydinW*;tsXSf zYK;eke}(9mS_n@Kz?r{U7Nec%s1nhS2N z>uE07D%Z^t**E3n!Ou1ECnV1zC!cg`IUcarkObS!zILD7&<`eS>?)gB`Kb{D?K&92 zreX*&g2%b7+y%KNB7E1~^7BYVY(_;-@Kpyc0*ZM_MljL<__Ga^Id#q+wR3iR*7dO1 z+eKN7mF*hXp0&{whDs`BT$deqx-t8cdbEWU@g=p*S97tieyr{r1f&q7l2XC^m{-?# zMgEX|O*Zu|9^FEl?!KTzGyytp;nS$g+PCuQq5L|#Zg!@3$J@Q}X=vR}nLEEq3Yk;+qu}y3|pqmy&u%~NidA5_7K-R0%=Nd-#K<|PZqfLlGZ!L zda~HO?MT)SzZziW)u14P(o<> zjT=QfKtHa1X>4&Z5gMFNzMw$YU=fbV?L=DYQpdCn+R#_%Ke@e(wc-EOze9G{4uA3Y z=za&_WZ?F%uXC3JtiAsTbsEWh^Ii3mNLP?;pReUJjD`e5VlyxZXL{`)xI;n9UMNh& z+Na#j%6)}}(lF0sw5OpKC8oX)300h=semNXqDtne_+x$CyQ*51e|+_-knEo?qjH`k zGmsD1pJ^sv@#=@~zW?FXcR#%P;s1Q4yS=?sQ+bI~dC9AN3BP?Q;sg%ltJ>0DHLh*b zieLQl{_=%9o>5j#ezE#~yobIYm(cgaKC+U%EAd$A08N_Q6q4+cuNTlnqsr?qs3^EY zSHX>_9t5CbJ;=im|2=|M3mf)yHo18F_O172eR$Qs1Ijy4@avW;sJCVi%7u=?T+SXz z_Lj#{H}*iLx-CRhYZ3zg>7E#yI)*?Sh{FBZy^!?41{xdsXSCj;iv^|`Yc{kRP`vm7 zyNkSlwNWPu%tJ;`5bdc3<)(D?He; z;9qSQbfe_d=Zu5pTb8*g2_ z8x^=skd=^%g_Jb!lA>(B$k}L6rLh6Ih6UXCFJ4pMoDE~P9C8^wHg)8iOg?Z1qp7@b zyXG|$i89Qf8K_op{DE&QeN-|QPzgm5riG$P(>S!RaReowASj#G991ngXg>2aFL?)a zkIt6;`!=hN?;2^-Nms5ZU=!@eCmy5aDiu>((fomRz3;w5da6Hv_=76KE-OS_#`-y= z@w7hp&AI}2BbG&2+qB$Qo4$6No3mREvt#e1s=9>6gsZ$Plg+#Z`^Qsiws#s>NwoyL zusZ|-nf1GPaJ5$8n9b%6*j|EMU?FB}j}h)iX1$7L4ep5~76rB=YM{Ac!M%+Z z;EJUNz*~WBj4cQkIUGpkEs+MbwDkc9FP_}Vd2O(rrRn_e@Gy(As!ED#mWfIl%-{WA zufF@gUw!}oyrLefzO`(@euWvyos5TmFAlm6r;UHfi{pR)A@JhZt(fe8lLWnE->W6? zC1c$+fpk@uk3YO+Z128&!rt|qZlgD0)N8z+(qx%HB6BIwd!H{FWTSUs1>8@K_muwc z5A}C6Twt_M)8n|Xb}&tS^!k<7`3BoKxP7JVaf3Cum;5X3bc6Nn{`!%8qt|zlm6qEg zm8sOZOp!@QV}~p4y@3ta-E^R1Z&i+3f1 zWHW8Q@>pauQ7%OR*v1A=Wovm`4FtBiAeR5yHqy0fTpG&WJW&tGya%cUAB9ha2X)=6 zRI+cRqmxjzr5~T5s_)LTlvj01pTyQ?+MJ}<_VaPkT3B5`1L*}s;ju0hHGe%`5A)rA z5H4)K52)*`^L-y>okK6|OFz)zq&VY>%Ftv|{d-frh1aFC$5Xw@e!-UMwnteahNR;z z`_Jnnje{|?U2qJ3R+{2zObc;%U~qZtY~Lw;t#1V74dmVSh=oq^hWl@~!ff2S9}R<( zw~<%wRn}LHgq=B+@`>x`DBTAr$bS&X6ucNIxe`V7gc=0E=DQ<+g{speHsIOJ z?;>s!| zdiUIIq|*tN>WEOOHty01nhGb~Gc?sMd0UC%9_AlJ<^K?31(lQ0{4;}-Cp^HUN+e5B zMF^)!=-UKyCES5NB-y%x8WPI%!77jsNh;MC`g;T}qiLlhLxI7meVBG>hY7F#O_}4@X^`eXz&aKJ&IQmsx(ytN&LNd8n$&&8o1g9S>51 zVHv?;!==hq<=M;smScw6D18YeE>fWGvwwLfUE^|gwIdHYOO1)bcNwC&|S0#$x z1FeOGa9?Zb@5b-8FIo!rw>iD)F*^>`&!WuJ`}QsX(8KEwlZeGoy0nC}_%Q^R(lWvL;jw9W(zQQ9(@@yde z^GWS&pz0T&|J9n$PHCKBC!qHX^yY%75 zoo7_EGP)@-`v}qRP~lVYM(z$Rf9%`Pn#ruxUg9LpR^TSdmpI@O^Af!=5a{zRDkr6Y z!zMNNr4*Za%-DePt)PYj&`!RlGTA&6wcL2bBjR^XsSF#ncPIUg{A^K@QqbE|`0ca^ zIh{<1c#Lk%ZcDLN2A_%WdppVjs>xiQ-L+q(K7fbZUBidy@qLns_aeKk?m}&N#eB5+ zuu->ynjI{o#|c#5%F7c59C<_VfA}L$N{`0>=WyJ@*N<3DR5)p)Gnasr$ zAIR}YQNURW@pZX|3T1aN7@~qo>Kx0$CEFt1ZXvTyKFLu1Et;m_=MJ0#JxX_^njd9C z@ykP+M9LLF7Vnb|o^!&Eln`E_0KcO5{Hn06y|DXl;-@4Xx(K`Q z1U^U{Q5#R`b{qHcE8#FsN_vwlRJL`X%Zt>mP%h)wOx`N(6)s@Pl}A=9RVuL2st|O- z;|c)gNK^8cJL~v;xhbDq?z20HeWtE+oQM^<`Q5AWLS^n-|m6a_A z+7{iyPV&&!csz#D#8mb40wWlfv(C&H}#Un8h=`9Vc zntX7!APQS~}V_NYGe{-|LPlWeWlASDBa+tcZb=jR=nw838A^L1I}OH&+54^I~B49UFr zf!R?DF+k>!ONMt5HvQR?8Z^j0RLSJ2BC=$BzC23rAe6hRo#33T8mUIyiG8K$&J zE|eBo3^@FgxhUW$@$aTk7_*dwK;w{VmfR_;wlGjcJOKFMhw}E9DoI0=Qm(*Coa+FA z^6g+oH5_Ucbm+lHygeaP&3pES%-9dnW1Hj}ergge5#=+70wqX6!v#qL*@}toxKY$R zh+WK`vBxd)>NOL1_p7E5BP^CZOhr@a($D^t;EDs zX(fkYM(nGHsWqO(v0mC%&ursG6I{0#L-!LSQ`xfAL@7kMlJ81_Q|s_^`^H(+uE73v zS69;Pp}^AsB`Keh7B&d<0BZcM3e7vik1@_^0Dzbw#B>K@pEUhr)bs;c=SNXNF|~^W z(d`75sPJxDv%OK|_PcqO?-VRMFBnDDHJ- zR9!!omlL%oDm)f)C2)Xj_zM9zMI{29Wif@vTz35TY4e|Zvgh_tbgAT3UPwuVg?@{u zysK9RmN~_V<#10bx5ntMRep2NSXJ6-*cIliEYxf z%~J?vg{wQ&+GoXY#D;1*W{f8Xnq^}UdIoA=b1pyrvYZen@N;+*^qwTJPkKPe^<`Pj ziG7D@cdC*sR+B1@t>dFD^8^6TaI0I`+jCRbyTud{eM zv9U5a&A|Q103oT5(Z|;1V$L&EucJkbo2ZmnO^M~|u$>eA=YXt##6~ zmKu0(1Rn9$6@Ylq0n6Af0lLbU!mItq#LIleIDX#?ldrTspoi^;j7~S4!AC2E7F$x zv_?TNC170-1bB!u3=xLbhuC>&m+B8Ohv84JGo@Aq$$g$mmzph(WxvZmbzB;V7NQ!Q$qsGNA%pi9lEH9)hva99>WDsy^?9fU zR^7p!7C#<86WGz>LZqZ`-6bm}W>xV&yKm6zFyscB(&qg|(uX__@2eE0a|D7d84^KF zLu%R8gOJAX4~iDxmA)zSbX|#8k`d;RK>5sCnx=Gm&$RRwZ)+er3U=+=#pAKJkNCP^v@`R1gPJTF|9F zLJJFL>Z-J(L$48O%bZa2wYzny6YD+tm$G!2Q z=+p5YprX`>(UYp;k9(liTv%CfK?}l$ec-An@gI{#8r|;5n{x*+Npv8iVt`Cqa(x|7 z?oc~>-uaf=MHFiALN}PsCG(8x^rB-YM^*AlKg@qbzKHJYj$k?%^?P+1DiYVv`Q!^j6zyDYEOD4-=IpdFjbhxa9cmR8b~<}Owk zPXri8-{!(fOfH^IpX8QAnH5K-N6-_QXYh6O8MnN)W$NWgg^1j^W3fW-!>Rh!8?jhb zcZb@)U*%!Fl0W~1B_yF0(NbEd$Shkl&};#r44v!p@{ep%zLB~wG)1M?%=m4uym57_ z97h+#YgpQr&NbXPE?l+2Axr$cj>ZE2{lZ9w;DOGi2A;?T#<|oFvb-XN9o7rG-%35u zZlBu1)ms|6Ft$dE>7p+kATrV9HgF`Rf`E)#x%rQsJRK`84n?gF`mS>&gbEbv5l&FB zx|QacFbD*ESJb?MkeqA#Ne*RI*-M$Jf}9q48iel1QqN$i9>Z!>$r%Edv{;hsX+MUQ zSb&l()?qvSk6{&RKYofzc@IXx_AYAqqI41z-93Uhto%oEDBn`UX7#a1KN+yEC2p6J zXKDHgv#Ww#5rOSKfEmiYM}D({F~qde5@BB~z)NPq-QQ zKh_B-6gPQwhkepazXym%(mICc46}@`eS5NrHOQzFMpjmTg);M2J+TARn<|i8Z!k1B z$>a50Fm=qR!}DcT70J!I5_@qc1-g_UfP^7AJ{-$AQZMsN@Js_RWwCAxBdMh7;uhNUC5{>i$!%wy}U4`vZV`JKCN1TSs}l?KYgOrVt!6; z@AgeevkfDSH=P2_Jc zi43w>3t*xUM+3#=4&B|J7(%VnHMDX@;P!w7hF7QRH0WkalvqFJk2S&;s(-iK!fOY) zL+gBWyCyoVhT@fSyMVi!mTui^9++@uF+K2v=Vzd(MF~0o^L%-OEw1cz9q;#>-feLn z#8kX+}hJP*~`wZ?ys%?Or5H-^9Zsq!p z&VV9+TeZCvuE}&#R{?pw4AA@LdjSe$ZXkkB0aR2FR2-kEb`UBcJB&*P4%;&RN3YA@ zt`;;bAM_mgafO{Rf>&NXWmWX3K$e*hI=VTUn$xfzRCV@V&>~lTst>-PPKxM}AJT5S zIw}ClG|0Uw~tZ-KF`;!Rj=R(4e}!v_du$bJIFle&NW9Du&L9< z^-x~40uHrZl=YDn+O#GTlBENas1PQO?$vnVn7z9w8_0B$0MAPTAmFqpx<)Hh0=&-i ztj8<(4ekIrCaiEldP9`rsWC>;U;xpb7cp$=7=>gW#azKaxlrL?^p5TAja(027)1Iy zMOUhw?eP9%p8}(VwE3l$)okSt+wt2G(!TPnZFn#EzRV!mi}g6q+i+}`q)mn|Gp)he zjOBQ#4IlHi+So@6xeq0A9aS=s)GDIYDCmx!($qy1g3HMoXw*rM!pbi6;=x4Or_MLO zn?)o4oeC&d;1hGOgqlyqe#{4Ii5X+e=^jU{XjeAPC+h|toIB|dw&YOvA=c=1Ll`?s zCDl&l!uPx?z`b<4CK*-XK197#xozhLcj_lw>ga5#R@*niJ>pSv&NcQ{7#H2bo~3|O zvcaHRX^k~jaXFxHoWWFCfjT)EV}!#PPMSn%XQtF z(*nx~3rag2L3~XB%83G3Ses@hIl`tTO!rD&05HQF%hyLhpoN02WDd_hEJF7VB(I zM-t(GZ`KN&N@w)d-kTROw`&KDohp=X#5^Jh4D=Y71did)uTAuBr-a2-u%T{7Uf;`M`SKo}_sWgAJYsk~LkMbP79KJJ>MJK>Rcs`9T zXq=F7N+}eJq$us=_5hGhOw{BKz(PJ5Z+(1EL*Ch!_DvPZo)?eRB*tfNDCO5ocwENX zw-Xq@*V_EXjwzO2>fNs93wf)QIk|; zx|(j z8TM5U_fo^|`bu`pJvz#sbl+CYAcZNhz|RhLc?YL{Nyxx12D=pTO%mvF{$w#85|zl8F;`1>j;n@GO(bsI4WW}ff!EOa)1^C9@#F+tMv_hwyiUH zr{;Qy4aEzaE7IbssLxBezQM1teJg23d(ioNTPMPCU&=SERyhY!Zg@*0Jh;s=rg7jO z9Cc~)$n!gC#cvyU&`6V@ia_(>Z{LRprMa5WcD|w^5?Nnz>7dq}-9b$EA-wlXonXB( z1C)rqJxZv$P7L=p)Ia&>Z{Ph-r%SQ^4$|@?v*I2Wx+_rDw9x0MXg9B#fk+ioZr;wJhm0#;k{MlY-p|5HpO2sdJLKx1=M>9aPH(qXY#W@d+lPw?vJ}# zpVRSYZXF={u2puAM$ESxBUzF)HlvSmtlXsqI7cW9Xl-44@kmW`YoVzQ7rWncxPP-? z%jUP>S?eiKXC4Te*inZmo-zftaGwV^tz?&_yfmX*L8c@(1~>Bx?wHy)$GnqV997o( zJT_%iJoD0(lzHCH8ec0J<-%f-4+tL3T)?2 z`cnVB)El<)%WJ6KKaEE5qx7B7(e_NxZ4-X)Q@d&t?Zv`b$WI|dV$ahV-NNvd?9)*a&2<55HW#VRVcEjLeAo7yGD*9IN1Z(O_G8Ja*Lvr zArJY+86p6-iO|QW+dK3cAae9`l-;)X(|S*_xYyh!<+#=CUbnw-$1tce1&lWQ0rMu^ zgpSdz&2oN$qA{55=e&J`Tsu%g^2GIobkN7~@UqCHOiYeEU{ru#Vd4QLHf*4Xo|@s;Squ(E$j zkuJuUc1RlFzJ{s(2(1;9xta1me`^sJ-=9>q_y6|&u@X&nKJ1l38wjM{H5@f|Tt?zn zw2w!7PeJMrRWU0u7Af@zU4(w38r)|3Q|mbi9`83H$=Qt#2Q}QYcXx;zQ4zyakL!#KmFtktQQ?0F}|Bbn9N^D5IYm zBs4V`ryk@WNS+!i*lHyUep|2HWPh|!EN4U5 z#h3;I1?%Qhb4Y`)!fk`-J^(JTKekuS*M6n0wQD!RINjHnGEaT0u@9@fWealOV~_4; zY-Z?{%_SR@EEloMUzpkD)KdE{x_2T0?m*Zba`EH_0ZRD2f(+ZnG(}ZiH3v><&U80%S z;(O;uE0W&MS?$U$xn`|)d2D~jQ7o}tfpyy|zLpg6QleM#>O^#bjIxfyN7 zW;TX`yOo+}SsZ?!h%7F-eW8Uwkb45;&`bIh3}9kb^r>*b<=h1w{8ZzkztfNY&U*BB z^}NmB@h7eBD&dqjS+@aVwV1(2uszqMONiig_z&u02I~s7Ru(NPAF#MkP&j~1TIP)6 zOr|V$qrqz%hD)RhlU3;m0DSdzjg-wBHIbBS9U3XxK}VeH5Jc{dT*2p&^BD>T{FGDdJG!3y+B|_s^QDaRNRZyL83uO z54on+l48K{=au~MtbHbr|Ckp5HPDN&g|XaDEPeDl_1QT*Qdu-0%i6RX0rbRQN>f<$ z0M4k|#_Z#b+E8ddlrO4A(y!c`T%*S+7CMk9>jaE(MW5Q$H8|D!fa9=Ae=rt3%Oj7v z14yJnpf4I|dJ;%JMLtk0vKybBBvTN%KNY`Zv1pGsw()s8aoV6wl#@05Oo2*_#!a>9 z9hvB=lmEF%usVfLf@}j}PV#I(d6qB51@u#IFUjgpYTVs=#{-~*h~^$54s>$&8@YRM z#!U#uBjArUtgcnL6G_p3xFTR7N_TeylpWX9sl5aoUgbsm=G$4rIARe&eVi_=s=OKzi&G)T+jDLdTpaeoBHN@8%lux% zGbw_L1RT3~|48nK@N6l33~!jZ)eHn*PQo@RY%j@yn0sGHNIc5*^RACL5m_H{cbNK# z$H)2rfgA$Bsy%f%`SJ&KhrL^8b4a_KN_wkA{Xgeai2j=pT!JhxgK7#n&E~@#)d25f+H~n!qwG#QHykT^7|tBiq^<89})H z3i0y*#bHBlo4!xM7f^**Thl3dYY5BJr}F6WThc@Jq;^@a?>x>3F10-AkSgarXJ?>T zn!B5bQuzrI!yj6Ip2uPr*699hQc!9X{n|C08bMAeCxZ&CvZKLUe{zeDYtCTKzQrpJ zXm(CDsOM6c$s=Xv=x3^I zB(Ldz?)l6wGI{8e_>=OuXz&0aKDJ4x#z1zM8)N5k)eBM7JI&v@5LfTq+OB{#0qY>P zbXtfg#zYvo^?Cur9;lPp9#E}sptlq1^I4=7qFB=r#E6kb)-)V^q^Ab=Ound=Xo6`g z{T++#(i|7iKAY2j%m#G9>y_?JMbL`KBu|1nOf-o_DsI7>45tLlYagwWp;QLHaQzhx zlfK#GJzU#4bqRaPa_h2*q*8b=oWDVP2#0XN&$sn?<(tsz2Eh<%{)T^ zY8~95-TF~DrfrR%UlPwt);%jrQB?fi;UP_G>wAtcvGq;r= zfU!7_R-ky4m@T@A)h`xsDD&)PwwBtN*TW6vv4Uls0wzYJ@x>yKTJ?)*uhXTj|1+~D zT`h0=?8WW1f`rq=6<=dS5Lp{&=3TKWy>>dml;np5bO_KS2GAb1@y532=$!urRHQdd zs#Xap=Nfe)n>36?_!FS{sZZR;Z^VMEfHYP6vMLfRG0o+;X&!|Dde-(|?)o7zlWUvc zf8exdG1MBkHA}r8TvIa^R6=%iWFdPDcBV)`Ze%HdzGZRB(gd|h`7U-l)m&0BD}LS) z(*A;*bp_%?m~-{Ko50Zi>sz#=*4Xg8(+0+-=3P|!Crqg8cWT80pC*fSVWQe&-M|e? z`P!YMn+em`_3ofSo0i+n7uoZ;ZpXV)cWlg%cdHG@>RAUHE?a^HLORsFvUNYm%&FZ< z08MkLJCKy{w^aS$F-U`{4`@u$b>*gqagmn3C=#4C>w@+3C;&!e6`}zGme+YI3UKMQQ2+EZMAykJ6g04(5NnTf zr5Q$&!u(rz816Mib^(ZCE`=adNY}yY=4-5C}=WjAhSPPFQKFY9obUpgsnF) zpyp>%_4XJB9N);ICLx$QBu3gFK8KD>)dQ;X54p!9R9Zn=EIY+f=aM5@&!ZvUTQl4p zw~QjVyjSoHwMJf4XU}Xit#S&xl*nZWed5I8c!TUGi3e z@yC?2(bJyG;oGUPa_~A?imO$WVQVR_fx(q38q`&wrk$2I?pOgradOPu9Nxa=R~J@ zn$JH^Dwy@CTm`yM8^=_u#1K!zV)$`GitA`c^Tcx!Ph3HUt2;Og!vfYUGgo^Yzecgly)|z{lq>n^s#g^qYUJiS)wut z?TR!jtm6(4na!pqrIUKQ00@GD?+{S@x&QW|I2FCe)em4 zXqefDo>ZEBlk;SMA5mXxX>+@WO%r~Kka{L*#0X2qtrzqq>tomt19LQxb z;ThhsE!fM_AmtT0$4++2ORdDC${3;3|5R5Q@A3yLit?ba5y0U+(+DIg(^=Bx9)z`= zXH}~pMg0Y`1eQ5=rG(BXFgeW5&>ntyH_q>Xad1GoL)>xJE9mWrSr8iGfFe6%ZwSq< z(~c;jDfJt#EE4H<+`^;aL(Uwjlmz*7K~b_K76s8v?hb}J#->I)Z{meIN2PcC*o-l5 zLx{*W5d)rTAjlHBSKKEMp2N;$h@y%?)6vgsxDS$Xv`SnNF9gzUV*_y;C!80bc>18$ z3sBi3Q?3_nZ-?BKN_+df3g@8>71IV}xEKM+!ktnpaE?BU7hGz#s2}Wi`CmhF#po5g zP{7pws5lRG#ipvF&(OUV24l&Z6rQ0uf>?Bxq9LXTjyU-8)U(FLs6rE$+s0lBF=NYx z*x<`7@}lB)z2xAq(Mi2p3pUq=7YXhf9peDLo9>75!|Z7BHtE_V7T~K6QlZk&)|yR_ z%-Yqb-?l+QxcM|XTkcZI?&R^sYx-Z}x&(V-EluXDUWoNz??8m!u5`zn-@C2qOeyC-POw%OlIW;O-ypqo@DlfOJL$*XqD3t2(I$0f2=z; zRB3$H@5Y&?xISo)fDQn!9LB)wqhYniA&2**H%|R)FPvy5igzkqcxp7H!3+w%l)zEV z`P`B1Qow{9beBM3Ko~zsL zwOd+`0~7!C!+X58qh45d`+43t`)8Smzj-w$YjJ>MyqVmR6-ej)S-X5%Fp`e88gRbC z8D|)<*hV>lz*2$p{z;?|CZRlV^j@zDfJm+qzM%-zx-?1Fsh5K7BsdsKYi*vu3Wjq4 zXF!<0w%}@KAeg%;lWt;2I51U1Z#r-+!JP-Y&$f~KE@B9k&?}EemCV;^q!Iq>eTaso z+JA_rK8W@v!O6;>sgdQt)~(W!D4)fXqDZXYFfc{-$UWFa6C8Sfs;~ohWV&d8rEc(5 zhBmgMOd^FWAY~lUo#H-COP=#wNXDx9n6@1e)(9wjY#1N?o1_rnv3Vk?7HY4O2!uj< zH9+Fmg!Z&y-UMgZqNMC2`uyh8wa_AUDAMGb!f z6a|_Q-z$_sf*ZFH_sT><<2>_DiPSfi;DjyL81)o|puCgG5&}A(F}!8)G2~aOjanz; zW24>SfD?7Be->PgG{~0L_sM(TX~WuXm_85+*zJ?~$wjuvr#n6;3G43cfBskK z-u^{uxeJ9CgptqKh#s`UDUK~SyWu+%^ma$ZXFycne^~$z zo5r@imH{KO3yBOb{sSnk8q)Gr>Tjy1amb{LTWLa^@nu@FVP|{jqe{b5@Dz^f6rIk= zS9ebO;kJ)?bwIJLRK<v>8(BaPdNVoa3*`L#mJ`9JQc&P95-Viy? zgAszBRZdPlR}WS?lZ@6nHNfOXynTf9hmx9~$TemNw^`Ql9~XI=5(0r)=76ihv(tOZ zLqqyq0?#dyR6xYQFe#=CS4xTQVVw<91J=oDAE$(>J&4vdL8cYaRDO;_GmgJ+N;HIy zfK#N5eB+eD@sOLYil$Z|Z3?XMB}}K6skj%OkJb!6oy1}#vKaO#CvtD8!D?zzsG5}k z*JD=<5>pFZOfV^P?BRr`g3^Axwo_$7#qLj3M?o_HtYID5dk}bYr+KcqX>)l3ZTIlJ z@@(?&%p362R_6&n-`s-}#v`2w@l|wH_U3o?qa9h>@XV6_EW)VFxc;`o&g0&^A^v;& z+mfqFuKHK0^c*hHu!JeF<~3Tb;RbTN&EmrnLrV4|Aq5sE9gYxm7#JQ(+~TnmMo&F3 zJ+8$gqzK})jP_i@N8<5oC6l%u-#%6%BZ6R=M>PL@T|{&7D*^OeGmM!crhYEC(dNQd z*)IR+k25o`1f7<0D5tuu!VA!S^^dU}-SjX8LN*QL-yCQmKFwZCuH;0bw9M@()oH^{ z0ZERx*?m&v8EnHw%79im<`${WX=CjVzi-dY`Owt4&FsvW1bh=!(P-3zm+eV97@}WN z1$mXi2;lTxmj6$UgLP{CK$UGepiW-30~WFA2Hfb{6h$F*PVL|Xu`UI33R-A>1}!#aED<<5KkJbyg)yK;h=v zN4iYxzwBV*hM!lGQcG%E1U0jv^1~U$K$ZCQ@jW@}8c0D!_40D7TH_#FkLq^3B)u>N zjNdSbxVpH_@;W24?)$-X$Y9kNx1Yx&aX(a_;h%tVkMKt-8@~F$^Cx9g<5?H z)iE`(#!Uw*M{S(@7o!#hukIwgdL`=DB*Gf0@jM0D2l?V;l?qb$o`s&YVam*o_06h8 zv54lPoLvB{3(>kgBp_kka%|2FG%0hr*uqrn8nl=O2E;R)>28ilH}RO5%oSc5Q*v^H zy-v_^%xErt!1`lese}Z%&J5A1q4A?;qYCCXPtpXrD;78F+uM#!JS)9wpL!sml;kP! z7t_glMRj?SCRn9MElufL?rVTEcSo|9@if8Bq(+uy`z7@t__p)f*C+Zm(PIzc=Xk}s zyzkZPEkbjcJeEzEW=>o3J(djNX{qYnpj6?FkZvyAlHbsA8qfDvl?Eo z9zi9^34k(%v(D-=Wbmkt#gTn`4s+o&E$)lamqQnKQkVOr=~r}RG!o-^D$7>{viB^s zWPh%Qb|;3+=OknLqUTp6UuuMSp0dS6p2JO3LUI%8NjIfE&e6mwps#x&RQt3jo&0J3 z8aosI>DBx-r$s0Cy{Jz0RlQ4;lH4BU4W1na-_6WwKxjAXB_~w3enG-4(w+d_p3h!2 zpit2jGu`w--{@^LdL5C<{(KKKs=Mf3Of(V|rSjc8RbOe%&l|Mx})P!&x;A z+kf@-7bZiu9FNlh_~H*hzwERPA>t%s$G)ZwuD~Gdw)+()+1vK8oQ}g+dmQ#=t_Dce zL7f6Mh}Fi!dED@-$77`52qov_OfbNO&;^>TNIrE4XU|9Eg>&VJ?~cieZrHcM4e8p> zn(OPC?CTL}_O-#jeD$gw&z`vQIog~49uH@7KL34x23l`z;IB_g?PCX?c=YHkvl=G- zkUEoG3$E{3;98%wnmxGZ#2jH zM<-4h@%#>d|2~@yIo-j1vD1lRhH5GB<2owh(2@&mCO}m_`Q#R!oJ6-!gi%e_nU0Jo zJWiUWSHh4NlU(J7msDFq$bwiJX2FK{TEbjsJ6!in@w?=@kLxsTPM>ebg4a3~-qc6Q zb7|p}Vs5*9TL(r#iq*~`2U-#DD2#j_^snr4ydI9=B zp|3~;FGUDWZ;g_A93rO~7A5_1EhP|Ojf)1N*2Z${CiUFius%q+fU)r3AIIM2zd(u2 zD4TrR+L5+a7fkKm+xEM;u_)_{-_<@Yu(R?hoBt&@yYfb)*h^^NZE@609;rn5BdWl?}_mdx+4O%hl&{^p@++ORS-{Ny7v)skAcm<}m^!y;;^07HNV47x5J zf~ERqI6?s^`}3t#HIcWfyn*se_#_+jz+}&uW)^n=Zp$#243O#VV>GW)Z7W`6)xZ4E zzWK;e&G8TrUY7N zc&LlXGRM?wsY2jD&{1ZR&*$r6pq__7>r3uE(MS6}HP%i>76~9Gc*F&mI0NsK$k}j5 zu!>EYSU1X0pq|w2&>iPSpyLt!9Y9pvM{JR|Y3uMd*F87}^FkI!bJ(y$Q5=mcbwwtVko)3 zpVcpg(aINVkRX)5rHBlVDTkWp%M~OZX^Pdx?IAw1n^@sbY^J1??a3Tn(l#O8^*CgV zGU^)7U-6+t@C9fjA4pRe;>GK;Y%@`zzx_DW{83c$X1_bnIUd_0CfAzWwItIq-!i$)q^y`nSv8&9CAYxSskj%MbS6h;qD`cd z<@=rT44Zh#AxRFYv^97JJgBy^0cKnu3dXw@ly`a;g>D0qalKqwnB`+n`w})XG)?c? zzN(aidHgy58WmainLL|3(C@Y406jYrN%-++{toxJ6SWV+9&Z8sJ)E7bT+OByDML%c zi!(6Qu5*S}Z$W48N$QpagM#2nma9}iS^(*q+GkM1zn50vLqsMaq7KjRAc?J1x)3!Z z1d`18H8(<9-`*v`tytuHi}mn!lDF`g`)9MllSL^ug4XQFy zYm~co`xNY0@Saos@uFJGC-lrPo4A8~&hm%Jo&5h~3CID3Qp9wJ1{fic_KN%qjS=CO zG$27hCBt((F9bD{Dh1goK)$)0%0Q9Pt+WIy1K8^v-mlEubM3H{kGv(dS8BK6{zTo; z!mMp_D>BfYjVGc$mq0Eo$XjW6kBIlDSL%yCS#KF-@vnsxFe3DZ_nz8%H)7~KuLqFH z#FSryQ6YKeL5?Lk26u`^Cwo*`y>t37oPzSx&!vCkm}xe8rU-uhMJP zDNHI*K(M*!lZt^XYEm`)XS8S)}o1|RjCEQl;l1F*o!<{=%6YMF<(LqIs(xC`|bm<}< zXyK#KPSoP9}(cl#^fit zHZuG#3n{EpIgUzdNKA3HywoB5qpCona#SnLTWw4Jn{NA&Ui6pCrL{p9xZoGB_1bN8 zh1zEK&-WKn`aQL~7oBJD^2?}-dICm^a|0;pX&IGi^4XK5aK&o#PAMU95>SPpDk$vx zRw>9sMI5NNMu&wb@uQOMQ8h_TH9X$#YzJ3o{rR>vAoR@{@(eFUP;l zbI75N=2bGM`^Fva0ha)G5UnepL{NMt7rURPY?hF}ey+`{V^eWTv3n%AqoY zH>{@h2J7`$n@nC`y_``OK;_%*rfwH{A7IKCp<%%ap+Okqk1X-2$ohdztrJ^{uek`ZJXDbl>NyqxDIaV zwWMyDSjEU&%8PI1)oXe7^hysRSDXdD(Mdl&F4dCyUV@U9V}!QP0SQ65=5XP*y&2fa zjdykL7sPgp%$mQPPPYS!iDD)a*mec@xpJm=a;vvlA~UN7q-$A7pmnN9Bic3a-Gl?u z*RJ4c{HfvKQFr@8^jSCu*DgwGQ(z%A9TA{2e?De8-jD@Rq+5U}c>6BERW6!w<=Pg>&{(ClS5vr7?;#Zo z@$;T0*K&QLf*;O3pdZXop5UzCwm{aa?bSlL5vCKv0Y0H&GQ`(lH73uJg~!Ni3hm73(q_baLrqI=s|r zTm}?(!Qbz;*X5Xp+jyWG$`yc%krbdW-A74^83;s|HngZQnSNNoZ1SJFc8>l`{##IF zqWARr4fK_F-C*>Uw_%Y8Owgwj1#8t3kj^Z`0&l3QhIwU*1>?!9F0+%t_JQJ6=RSAmUk8ndcEM07ukhJwGp_^H~EsHfhDpNMu?zXYM#V&mLz+5k_C+~u(>{PFxcdjXee$@ZKWKa z5iTS}0Vzd30J2gSq>NuU`bYFYWCvXAl+}1VeFeyxg|Xid$BAtqde9vd=*08^p+xy@ zkN|?&UX=ZT{-~s!Ls8ljn6*&9e_*0bw_#|0y%gPb5D6vb&rx`lne~kAqqOndK%&6w zU(r>!ijtzKh6uAeqD1F~ynN6M>Z4EXP#0RK&M9E7B2o z?(R4XD1w!WVLlNN>d}?B&5I|V5gsDB!E;rMO9`t!a^8BS%l7jaE&-*dSQFby+Fzkj zIh-cEa)4WL^)GShv4uoCoy^k&+%fPXcMKK@Duv@LR{j;_MERG0f^d!Q7zm|;lLw`X z%nsY?Fx*Gx*KKkyyj%c0UGD(m|1pAV_K(}v4gcLp+Q`X%^Ws_xjp^hCU~+!@ue*OI zS*`JR+`8miGSWBlng7J!|JStsL#YRp1W<6De**`cPUL_7*W{lx3x3Juf4=?pUnlLh zkGOlE{ksyCwSQ0;1fQDY@*{lW>4tjC^iL_9SpN2k1eMNT1L+c_C3tZ?US$hkRF1L4 zCKX9u(@|Q8D1K6Eq9%RWt*-#mKAh--()vfA)~(7DJ*C7VvANL~^5XOq8mN1d`n#vE zuri72mKC6@DT}C{vHH(qmfAcl@^w)8UXSEcSttJ?Is)c085gNk#5Opjj8hVnWT~zB z#?6zhWcJ3OEF3s)i6DNvi`R^02AY3i)%oJKPU*BgBv3Of?>x~dlC{G(V{H#0`t7kV zWUi19Q5v12%~^1TpZyZd_LR1rbIzflEl~PJ%=79X7s4qg8Mcw= zJqI_ijW?pLE8Kl@D}Vw{Ko!yIdSAkkmJj8{Qf0r6l6&FK9Ay0Yx~%f0DNg?Fx9`3F zJgs3aGm~5~$IwYVp3r=2-w)CPGBDH^bSR{&J={+%ofDgED5m2qFT0%1v&Ad_^8Kfv{^6!m{d)B8AWrpiGzRq+$yOmU{(%Vv(`F zaCPpOys`lEAdWkA(Xe!Ha zqQvycZI%~)5gEKb&7)Y^TNFRz2Elm6lu1FCF8qv+Da_9s2E=0;-G~&PLzi&&vRG#s z5MrucJ)MYZK0_Ze-B{ire1@<$p2E{8Y9Q4c&;HIr#*H($^a_4a^IL_=MoA>`9>J+n!rVL$XdjVb?06e`%LtMyVvANNYXPfXY9w zGrNX~5#F$DRy=Z~nA&LN5AM@IO31N$iCv$(N%jjByWNCGJiLomnM0Uf?BIBeGs}JJ z8poR{{GTqVJ@%;`Z?^B&Y1)Ohi#0Gh#7(%#+d*i34hrnPtU+3^<%L46jU)q`?wei8 z3KJDP%07ZVE7&8QV=~?PssC*NU22d>%CE7B9=6ep#@AT2Z*&g#DNMIudXp3|Ve&U3T2mdn+_kbXeYKO9^G-qN*YlmozF=Jrx3q$!iR|{iIQLE8iRc z+Y2DUi&x%wL=vkg^uWZB7dI3$w>~E7Ih#4AP0qZeQu*RNAteXiI)EtJrY9bCtg~62 za6`YDd{4(&<^1aJCf|;;noFI~(YoBzG?gCxHoA9Of57st~XQ=&YTl8&Lj+T~V5rM94*B%H1Lb0Ooo019Oa45t-*5K#o;hiE%8@Cbk#E!?&dbF>&k_idc&*W6~d3v(#b90@H6;Ab* z9v*e-demB$*#0SliXQSw8+^OEZ9^dDrfmlwIcOo7ipo)xRQc(RmwMS$V?U~^QmuaWmYbBd z>U*pm3A)9Z={e}AisPf`Mkp+*3rmNxb3+B6Q>DqmE6K_# zvKya!3_A{|;?BZ9I)@o70jI!@Msv{N?DzKmYIIk9utubPTStMOzKb(OyP!*PxkzZ- zjo91A`y{Pm%+m#%*=DA`q}^`8&<+(r3j z;v`01x&whOtc#kpCl(&Zv;=5lf;b`AD};T>qZnF@82}w%x2OKJ&;{Sv=8;p0!Oj-O z8rQU)7YT^hXg0a5=^T&~EG#pOobOog`wCJ!w2#+H=9o?hrMp(2l(PvXmhypQURvlL zYKl!D1sxj(8gB!yGtmqeUaYf$X8n}w1oOuQ=oe`+Pb$Ke7>HF!8>~S_fKq}lPoJO$ z7?n`;8iL{HIXa-kJC-KsoCk6=Giqmr?cb=soBV*R3&~XdbcyV7)3*|$9|j1Ky6Ct+ z3PS@3fp}@kn{M};^d#;s9Zp3g#?dD%Dq^n08Ddg~-o!dp0v-bvDFrO366rXFTCjrm z@=gMOeOo3_&$I%&d=hV+T{crKEA;rXtzyuwUBovvp!kjI`Jgc_F$t7S4-;hvhm z&Imq$pJ8;ARdkEF5x_@?Wl#c7E=9z-fgV$xl~39HT+a9=ntz^gZ5g)cDRF)ph+vt^ zZ%9ij)jP+z&=tMWa*#?iq-gdgu3_nrNdh_$(;M`izk~m+q<8foMEUUJfO01X@t8Se zdY5ELc^5z@GOqWe)`H*Gfl>t<_du(<<6(G0eOgzm^@dK)^o;q{9#oPCGhPG2MUEp; z2jb;Y#E{5@t?tsOOGz&c2dUO(nkpjgq$C18A1jUp!pnvw?UmG3KR`V4R_vlJ|Ev$< zLW&>`#wHRL_k-V_rxluj;CfkcL?AI{tI5lGvEz2JR`uf5>mA!6=QvE5u9e$NUvBi2 zb+vh*ROXD1nPpD1n$iDs^S_u!-7b>&xoRlqD_qpqxa26+93t$XYA>QBT^G(kqtc;| zY<6DxnA6@TS^OC0|7Kl8Z5x1~XFZKp2-^fc5jRgrS#jWumIA^@yc>2ss7qZZ?KZ@Q zslWy4MXxjEkvm^2U&@_I9l?Uy7=lv1a-Hp7GDMZ29oW4mK>Q6=bx{O zC>Uy-L5QD#<>sF!fD+xXa?jEcMFCzCExl*MF6uh3qO?sqwW;KRCu=!M;!(`kHEX2N zcZ;!T1Ws({3+iw21gq9*^=91>4)V-a{!TL2p6j+^&S*FSzdn=I{~BQ`PR|6mi=d|? zj$A$qGJwy&XBtrJfM>D#tIx@*=hZ(zN7z!1yLu)xxX7e7H&54Pa^I?^CX^P5HU6_8 zNc)0`3vGRw8i}N|lQ=*FphPPA(Dz54p}_`pu->kKTnWRkm?`W?dvk=E1 zQ=Z!k*9#rByW#etq zzW&p34@hrr({ZN_x4`lyeQKR*$j^bAWl~QJh9%+%jCi7f^yR9hb4qaxK6n`VUzBGo z-Fxg;rV%N4=n=FNvmS2i+g7~pSkkpxl5Su;?mmstOCHwp7g=wPe+;hgZZ z+uB|mUoKTLCw~>!??_$K!vk;_v4r8;X+S?7Rep*}Dkl9^vZ;o#-^UgTl5BSt$e9Y> zT0Mf-Hz}MIHJwq<3b*6?rrvb%&j}VKyi23oavxNGt9+MAEfuz@VwSp6hKdVi#Jd%_ z(BEX_YvEiS-@NE{h)i`7?ep9W2>tf-+0cvB6Aax2X!~6t33UP} zh`u(C;OJJP3PZ$v$=$dfqNkF}HDET>&vofOw5b#~$s{i)3SlPcgdxLYym)=ZtF;1R zkUkm}x;n>3jijgWzMbDm`?7zm<-ab|k9ph@3g%4nwi7z@2D2+=2-Q$+`R3UzKj9Pa#Q*SY*)?|v`WFl4>Gy26PI?%z`5sY1vxAa?xX^~C}` zwNp(i2TdGUtq>M&>5hu8vrTiRVAcR7eIDV@;+SZ^Ek7F`n2xeJTt(|~FSRWul$eO4 zuBvN~QhphdF_SOpvcvQ^O!0+{@QA|&fPn-v$h0ko^k3B1J}dm%O9&_N?Pa>>>uR2p z^IWA#?3&f2owcu^*Ey$u2loQ!{xzVYkOJ^nJDKSj$fZwH$ zGi5NrGb){A5t_(*gel?zezZE|rRI(iiwcLI+!P}E9On<2g@B^k4k+#ud&bn}zV7Tb{K9q=XViOu; z=Q%T)QoLM;w(~sEo4hBCz^W#Jwbb1kaVr8QRV@Da$qZ zq*T$um{aCUpzV~KYD@;^W+=yMJ53=)+#1FM@@A8Drm_9R<6NwIirELR;T&$tG(2qY z9Lc$QSao}q=Q04LslVBO%&VUnp0>;URn;IoKdKzWT=#Z-ex|zbu}RBP5FwKaG=A+S z1L|k;D=0m}!ofZwEbUgMHK0F0*i3<;$4{LV#ErA!m%^T1b} zsD4@P#h^)sl{%j?0aeX7-slTxBcRpvfvq;k*$@S?m?QC$p~I0ttp4s|4(X8w)pL;v=s^so8CgXlkZ4 z85zFs{^;1?v$xO@1*}|dhcb9>owMWN?UFP($hcLtgj7$>yo=OvAH!Ipfe1iQK1H=E z&p%HvIdoK?FT|N);oDp$9o!#~!$xio>tzZHhS5w*$ZLyAJGSEv0=Ex9|Le*oYa)O! zp~@Uguo@3bC+CQESJ>~M1`Im`bKWxh55?IV_JM#Nx9ykp^U(dmia#eq#E#Awr;9zu7!?m@@a0h@`9Mtu~mB;PBSSObz;hQjzC2zcYlh?yK{_AZy?c?DDJ^4 zO=mh5i-^m5X3)(YC7A@F0Wm6nAGKIVkc zn(sDae6+El*3dL2e?YfctEUez@m6hu-x;LJ$nNqx=7iDb*JZxOm)FB|w@0trb#=k~ zG1bt;6E{ks)6KWAyhmY}%_c)rUd?MC_kJ?AcVEqUj|uC^jz{6H0a@S)Y?4AP-mMl0 zqfNc9n7#Z;(w?d~mOg?tz&%7@VRJ)B!ls&w0+J<7%D$(rfi;3)`jFi&U(+kZZWwj? z$_|)(0Q7uC1#g*1k}1&ymPjwv)fB3yz~JqbU0|FRYjz*3C(%X-ljES|(4t9w_PQi8 zW~VOSz&73V%q=C;zUcwtgy}(uc zQpy(@AC5(Syp7G!$kjIj+dvNP1@@NpJGSOZzS_*lRxF{5 z*KeU&EQosoa@k^g$GdH2-z7pe5PrB^=?Jq=8+Vse(^iFtj2nnec`AmBgCesQ4FUFN zU!LP`-tEZAx^9qsc+h|rHoQtQDvKf@smwD{d`zQCH!4xdjyA4z7Z$hX@Z$9wYeM`+ z9y)-vVNEYyUvtLdD^?*(oZCJ^&ZiW_iH)sZ;QD-FghY_q1l zhmTy9Ta7r|O9TZt+OjHZrmd^0AUz3@GDfPWvgY~@^YIT>O|@NEeB72lo@O{>>sngz9lH2 zDPvNQm|7-TvW!wpqLr^^%q4duP_ZZv2%gE!Iv~OXnaUMlaJ-ZN92x2<*Pi+TOwhZAy=nb>nsOVdp)eCM8aXg&Y7gT}Rm-#R zUHQAR2{{G_@o*FSukvA`5XY=xccY+uUa0|s#%X{qROKrftNaX_T6V-eHR^$SC4908 z)ko0{)d}&CK4}*e&5_3#o50<4-3D^oy4Im+--B9aR&?z92qmX@Zy)=HUTf{+AxYDk z?h&!xS~6h!i5psRLk<3ae>SjEU+XacsK3L0)0T4OBs)^}+dSJe&@%`@Nwc=m(b=~R z(g*pk1auj=LO&IJ(CzMeCpC7<-vy~~B8#J}a`YH#B*2|2{tB6S?kFl=ZlSpnxT}u7 z+CQkF3#7?1sVH^u0pcU@R`k0s}Pe(r7{#``3=Fb=y< z=|TcKnO9kia*^Diwug<}I(2=CywN81o~v-gZ%K~%FHNiy^$J9HS#2Y3w13*h;7gSKw?{yYZRe_(|j4fYGmmthwhm`$G z<2?y$g?aT^HJe50?98GG7wV;milZ7kaBdaI z(pcUOw-}R-lS1ATQj?Qg1>J^!@1?jhBfUwY+bl1uWNua@2OrRhww;jBPLuQhTV^Pl zg20#u1WsiAUedwuA}x0U05XS@Nn3U=lv~p13BV{8P6O$vfRoi`H(|+At|V!Km6R1` zKk__5) zslG%26H%XlO4!h&Onu$H7Z()cSY7+TbW`1lAtM2RC~6gY?TO-Ft4Q}>zP3jSu(V;>vp(&F=3RS(H$h%FZ76%&Ha>N+dP(bj z{4$8FKIxmr_PBTvWCJkkE~k0sOk-eTzL!kWP0fWTONZ%hlY8i+!&!w2ac)Vac#^#C z^EN;0AsDyOCcq)ZE(B-*&*{%m+0jo^Zvbz^?;K21=*$+5d?P>oT)w`fwt6|X~o&rtqp zfPsXbi%3W4WOg4VDK>G$uHfc8b!=xx59@Ard^Q!Z5&a41y~u6-1tfM581&eo2>i2< z{3Gr)Z*u!J;}f%b1s*kNgU&A@JYE6dcDt6M@ayVjl1=PqiRq-khgzUgmzSxouVWp^ z`l6s|1pX5=rmZ}q`t8=(WfLJLZyzH#k0jK&q!AkV(J=*YDD`~-RC9GQy&=$8y%gW9~ZfoAe8A@(x4 zP>YeWJ1NM`g20e;G7`T-I$|^vE;u#b%<}A|0*#ugS5GIRn$HjbI73=^gK&5D<+@bs z!seJWe}gt0Jg*FrH<%8d)4mswS?|RB^H6fEfiL%D$}NY}4!?5M3HCaGyVmvXBbIFk z8Md90$h=2O$!!3s7ng;2C#73>q^~`_r}As8cJo|OIpN+^nBa;o{5k4LY^$r<&+c$ntcx7PFyk04@NB}*}zoLTY4%xR*ITmbG(2voYmtutwMqL~3r zg7Ig1mv8iB^uX{sc{^|&kNh&Z_eZ4Gf&@I5pmhf~z-_0@CYSq=>uvp z_faNZJN4&W0aj6?bQP3v6*tttGf0L=DV2c`FW^kn)5&kpgf;tYfy{>J$rx6ZLR;4Zos1QQqo4ahYCO$Op*u@IQ_$5bw-IK1DV z53~;0(zQlI!lRDr8V>$<*c|L@0JGM&Q6pAu6@5k&H0$MsJotALs+Z%UI@`X}jD^SE z^HlQUY2t8_EhYjA0n2diBdT=|qIiiysJXgtXvN$+apAf-9i4XCxn(aW3MB{`iZNnU zmIs|<`5EOL)r+<1Qs;-Iye^?l`R62y9X7=yN=KfcM#-Py4W(cg6DW;L7Eh?-YySpy z2TDq2v<6joqt=g)@l@hmQ1}aVS|d$BY)5bvc%$SFd0-OvQJTa_^@Mu=1B7*A8V01* z6!>y8iAu$9IEZ(x>D>$uniqD0usB)wf?~SUO^95H z`N+&&u0hqMD5eHdl)!~ zsiBXFy+CXX=J)DNTsB)f@G=Oh|?7dKwy!|I~&2 zf&vRdQBivn#c`jV?T3)wEhWU)EZYOwMBCfQD64$6PNRz398x;!==^YLTc@=5IO|Xz zX^4UT2%*blZpT9Zxs{b@xc_O*QJdy&a|l$4OG^m5ca6*@Ar(F7L#IJiHoO%CmV>cN zZ(w&>BWqB-kJ+H{#Rf_ZFsY{)Byc?`W@6?-Up6^XT5qp+dF&?%%Eqh0jB8y@;6yW5 z$UrVG$WJO)a?`F0(aphyuyRqRG&-q23CcWMSNRh2R5SGs_jz1;Ny0yx+!pzI1<$cm z>?Ibs0ZwWs1!jNKbH2!8@fb)EJ=7Z)vLQ{a&4&Khc6QvhfDGH#*B?Rb0vp?XsS{Vh7qMTj1!eyyGr|~U9fF}zz zsgb-@jmswBpRH04ucc7YcOeH#r1t#Zq6zT_=nz&Ivi-;_p#CnxvdD8=w}C&28M|Cl zTPg&$)BR^Niy*q{G%K91JV5fW+6<>oCnsDrzB7Y1Its z_qHo#!Ri>+QoFjml13_57RcMJHwTU5#3a=PjOTtRy=Ws*`#a{F>DCk3yh!eTL<^EL zDxTFocGmPL=B`cF6;vfXF~&OD?Ke*wL6J~7A;qMXy5A4eG%SK{hYnD0q2+(ussGA< z@u+LZ|Lxg;*#0fNU7LkvS09BJn4L~ULQ%IGItZUGceosX2{A>?++);C%dT5z7;SeA zSo6N7q^`Y;7*lYAjiwb8KPB2 zFw4&!DJiLhn}6!1@tIv;<}qGxJBzW3weVsH+N(XG=7x#fc*W ziAcu+|q6a*@6hh&dLRJ?dcqEZI zN>m9E`Ps1c*;83LiYxG0PLbualPM=ot&S@+VRj$6(U;(8yfZEx)>ZLG6Y&ELV)NZW z!}ctY)Syi@ZW!9+%^}PU#Qk$OoLca1Uv33c{;Pu zL*WojDFfacMDCdJCYb0mLKo2prI7E44HC!AQv*?)RMxSzd3QGspHS`YCdUyWTU5#A z+2jlb3Zl+vo7^1i z53fpjy$IDHEGiB6dOLYR`3@C=YOM-!k2jKKVbD@d@ETc;P>%f>=>=hKryK(kf2UM( zK~Zm8;_jEN3$b>!-8$0lx*V`~a*Nb)&KlR9r!jNfq`521uiZGVYV%bO8E80D+a zsHveDUX>i-EN%UjH3z7a3q5xL>V)+?Qi(Jv8-fo#ejXuSu&ce>I z8T}NT#j!4^zRvl}?FJS9sNdVgXs=NmdolRRfSxKoFwWYexRMnKd-1R}d$Bj#poVgD z1@EoNr((U9GYU?(B(ZN2REp4UjtnJIKwBHuwmk1hgB8m`Lf@Gz-zjCs17cZfWwKT? zZl;c=i`3}xqFt8^+NgAKRT!MT zEh?)r1z*>H!&jZE4&tr|z~SlN{JfwH8V<&VSbohJ7B>Iv zGW5{wZ@s_yCS?dfrBRytjkJGRr~Ot(9BVxpTVLK4Rmsp2Ca9rs4;-`Kym zzvSXP00JPT1eqiyyS%Z}<&;Da=iuPr;5@z~ACOxOPJ03nzyN%hvmxhs!0thGaXy1( zODp7`ll+7(3QSjRpB|;uRcVXV8V)S>=0LHvyt^alETY13HC#ycMB5BnB1nbl3LH|3K*QyuS+4T!)p{`%xQ1f-UNqnX}mixt}dHy;P;Rkuz`l3Gb z&nfDW&c?7m3c zS>1JOc$P*mh2Pfttd6m;x0hYRihz&!@>#O7IT z>^-vA>jrDMpE)bXx;~}N>y=B{45Hg$&txe8QRnvzfk$?hw)E;5qQUA6S^|ZVu0>g) zpB6%U?7OFNS;z1w;0jUdq8|9#ZH$dh`(%~nak<7WRU%m;=q?vtm3b^*Tgpd&t->hh zIY?b2r|8w)Wz>C&tNu`Cs@HBGbT^YQk~f^d$n3T0mF-54{_y1Gr9IY2sUhRDe7Ae% z7*@>PJC9p4Y~HtL$#y;Zqg-x^o=vTcm1C)cC8Qo{?fYE2aZu|KwwEdf>cHf2gxjRH z<=`Ji*36gmKkO5cuAuMEiE*1({Ikkj7wy2YXCJCrN_pwRjS|c*!o&XAGz$ z>2U*JSO{1I^6H&8Y#Q{cw|dF61_?g7{cZ?om7}id< zmA02>IHxB7ML@d04JQvRho*)c3Ax?p3!%WE80`}@eH1SMx0`+Pt(4cBsp<3gB?H!iM``Ki+iw)5 z{|Sx0*8ft+z;z7wDmg7{Q9zaBY%mnWncT1PzdA(*5^n&c9qx=6qgV1hZ`mA<0Oc|9 ze-qxt8)@g5AqDdwGQcZtD0T|$GnQDr(Dm@MePXMf-RsY8E5a!u6*^efMAs#ATH1~;%4Q!RSHFv;Uu74|sQ)LFV zT(A%aSJ!&htbUYZyKpCV0{!3e@Lu2N&=Fdg8FfK;4Vab241%*z{#G@WZdkUkU1(6t zfwB9Vt@^tfuJ$$=*qMgr`m!6$Yz#M2+FC<;4%Gkzu7oO@tz0KvJAkzDal{lCju=4t zVaHY=R^gxdeADM~-ugR7*U1BAoxy32HJLf(K^VwDd~UTEW23p*S|+{EckFhrFrVw7 zopc&2S4P-(qc)Bllp)`mrcA)(Z;eyN(0G>^ukYFdY4-?}xX8 z(6|BDE_C{q85~3>+QffT1krXs9bAfEE7(?@`{^|we6X1w`GB1ZnWmdleKCOu zEOhurp8E+l94X4UtZ?%q-bfOrD@joFFHfLcq=6rT*`2UG=#3jFaYg`qP8Xg^Su}a{ ztu^0HuF3grLhwDDEafM_q!Z)`f8HU8P0!&l{BW?A|C4ZJM2~O4IO~ANuF=lrLd}d4 zu(bkx`w2Z7I2=?wV5bH^C>~eD9$?l(2_E`!ltubucRq*p>zW-?BgH)=AdkU{i_=sK z3n^s$1bdtUKRr@Ds7HK_G*B}Nkrb;`IloGe(TCkg-L{amanR}eN+e>1F$`lgP6?G~ zZ3fw?P#El(b;`X$oC!i0w@E!B1sq_*JYuVKzsZKF#nwa7dUhuk)h^g%Rar+r!i|Lp z*S^&9;2h2ziq1VapS$VQA9x!x44N-@DogYOQaf_Xl%I~7nmUu)xf@xUOUzD(CL4YMm=?H;}p}Dind73>)-I2xmf|3 z=KDFZ5P4@9CL0EbqYMWAfinpF4%1p<1aYayam}Tv6!lKlj;XN+w^a^pri{E4qaG+9 zln4?YQW4(NEoDDoL{Ud_)RnyLb$uAkT84P6R1Q>TYuG?4;-&fmFkifoK4{jxZcaYu z;O=#*m4UC5k555Lpdh;yRYXh4(`e`VZhE>N@FqEY<_t=W|5@?)i!F`QcC&4${0>*! zTqO70zE53l2?3tzj1P0a-NCf4`+~bmQoh}AcQUHmW@0rcurB~f1p`DL*zDpQa-JRQZqLWce52FTkzTdVzUE`z_HSist`U;9_DRniZyvZS_ z+LSxyI?2`q4R?`>t9T8tJ0^`ABkjw%L~V-46lxF}fWz?gXl}F2LcU?-knsI@K!d>Y?M0aOOE3-YouN zpEmes1=*HSvpNd0PzZuB1dMnMqP=9;O!IlJH(DdS#M0x88#}9X=bHF*ChH^2?<7ZT z6Q@}YJROl=;B~}jgR!1^&)&JP_=;`!owSaro_{gidzvY#k}jgdg3BQc&|(FTgQ+@S zhf)7Fyo0l;n|O7!znphKy?YozO)7WfBehLF)oKCax2%#DwSo~j20v7-8AKwl5Rf?p z1=!$86?Y3R!?wDsVP#+C)@{N=(ss#iy}&I85qFyzy&SH?V{r5^s+~nWun%=ZvtfMM z@XlIVh%jy9B#Eiz!dP3W#R<^OHn-dd7%0YM%Tzo^Y6@xcY&CGWVS_s;47EPv>+Vsg z`4$>SiZY!W}X5!EUM2R5ag zbL0&}K%n*ULhD@2(w|~)(0=W{F))6<&JxvU8I30tbwvUTxIKmi)06Rd8*HGRv}iAk`u$&^gC1Zn^f_=WhP=z7J_Z>| zIyYd1BOx(G-BP1?;Gi^kwdtW*xg)!R*L~!T%{LgC6OwM!XJAG0AM$bxzz+Ni4vvBG z1Af&WTlal0IsGLpG$XuL843l-wW~WYDi+}dA51^pJqf#4xE)Cl;bobGD{wHYzDrSD zEF}MFph9_?wV(N5`}jkZ;)kQRMFtWGpqgXlC0s1-a=z(}3!i@IFR9mE;{E#t>;cYjA$&WGFN=z}*RiMvPy|U~T#8R} zDX(Zur741>3MR_Yky30#I z;}Mo4fKZe7coC-VC~^i_9s$(#biqWMu3g%!yM8in+WUCtrArp|Rj&vb) zI8<+~PhlagdVeGkzEDDoDS{p50JL!?N?QiD4ct+aT!fM88h#*YsAsmn$#e%J8ty?m zE26Lntj?m)B~EzN?q28AkR!)Xw!&qhY0UKTOZMQe)~JKCx7O7}7j`J3c18`Ub5tT9 zv!T%v=@{AVdtP@peU02goar?nXG%qOjZIeSRyIkZV4~@D_DEa+yVTPQPOQ<}dbvmg zZY5fgnr$u#Zm!Jo)E^FkeSGXhuU>_dk*c^qbyd=UD?EbmotpKc!_va%mTZJ&#B zvA5N*nW{)>^*oJlCPzY%k`E&BwE$RhH{mq1=6==C=bE+wC%D$!u!dj8IY(%Qf% z*PzqUMxqNCgiR@!Nnpp|NJHm0VnbM|*ABCeDI_R}sVetmim7 zgn;i^Mq!ZdCz|z~I@dtMO8zS?nJ(nScVsE62nbXXlTok_OM685vU=8mB&B&A0U;OVL+*~g~;C#L4g~8=0@h22u%rSt`a7FS<&NTJ+$&15OUz9t6_4b5IoAb_=|UQX#ph zZfs(qpO(rR3d`D}9QRtln-@ zK}XwI_QbF&xI0Pggxxg++WbmfSF4rqP7wRH;;j!x%*H1#Pf||~w66n}ZYh=yt()Pj z3FEZ{MTg(F)Q`gPnk6NLhrZ@zoO7yx*A$rmHrrxVcrwv{T6H+e6p8` zNCT2k^J^dr5#5wNv10u9yAaB^;D6P;Y7Bd6?{C492jiO3MCv8w3<95!G*p8@`LfGQ zdAD%j?;-UNb~_xde+K^GIC9e{K}J;&0w@)hh|hFAIu?xQA;)sVlr9r6QLG~WvojF0 z4z?9N>xPY&d*2T|0`(NoXsVe8;oMaU7_PgRqX*Wb(!~_y0Ws=OB;?cjheK_4X^+TT z4K&|a_&39Lo+9*swMe$QH57%T?*n`>CVi^*9?k_!wfeB&CIR&pz}7+-h0B5zw7`Pi zJ+{WMDWr4O8)0V|f|;kQ|EQX!I2JOVTKcVzr`cV9-IAq@poPR4;vEQeR;1%Gl$$C!w0#`$-zxMC-|-UDz0z#eGJM)NPG(hY(YoQ;V4ie<

CO}7D)(V|`^ab?&KqpXunU{S<1=it<($tI>YAAE;YN=CUn zCqdyaVz~OhN25KkvsPz~a^vegCpoJC--bBN0|E6i93a}Yz$mw8w=%WY1(-X*1H4-e z)e}_@AXA5)WPxr+kRH6cg)!-2x6U~9uB>&yaLz}e{~m_-H1bkUTL`=dda3Lty)Vd% z*-Y)+MO%O{YvL{=H4*0nKSYgGl4sHxxDo>}w3|qYWH21_aP~y!JaAzWAm^!&pH=9! zBx)!~K>^oSb>*lLR#bQ+84`GCayg@znX^*>P(8tx>lV`tHqQN<7OFEar_>w76t4Lz zdL9Z7wBJ=W^N?z~%s`_y)Bo~h8R`JOyV*>k)o?&0B_6b|YELd^evQpWnc7+g^y|6s z9ayb!w?j1zRlr2m05McafZq$y8HpF~xyxE13O^fyky@~a$?M~xMJh1VPiY+>LG4T( zXf!r=Lu$CfgWFIJc;K$2&k+5~HQIG427d)5!6^>5T~kG~AV%J=$)QoXP%^2G6D&nx zY8Dv-rqdbefh*m*NFmt|mYv$HevJipg)KEFTMnOSyc zXP)Po_vQ6|z29$rRCY=wJ^{&2_LTQ*{As(g2=<6S9r(!5=}UNI;AlQ*xPiQ^fQlcoEvHqFHJLq%`f%~eQk>?i8?`cvEZR!{!bRS*ojrm7 zJg9(;h|Z=xkZQWOQt%>!WE?q&YuKs{!VkRSbD=lah5OmEz7HqB&>S7?vEfI(m10ZZ zhaG(%UfcKKoZW~A@teIsx0C;(_KY64Rolhg(!E+y1sSCkhCMlN9qdik=8b24A@t8` z*~X%tI)(J_47BO0kd8a5-$s}_asV30>NB%>MoiH( zooyF9z2pPqu1Je}9)zl4S458BQ!n}?Fs5M_&W}J|a9G{07>*hsVG7|>T1mi8e;YRJ zzm#Nx=JYIB`!84q@Wpa{(VuowrD$r%7#%A)7#}g-;6>~y)h+JTa3SW>H}1mT zAgIRTnuywjbp?DXyUmOaB%u*~-!G@3+78^8h(-XghDj#69n=9h@<=o7Re~yOR%qIn zeDzu#*`s?L)9u-UY64by*YQ9CK8Q%g0i-K7(QWj^4C;3#0^y2gp6?kZr0Bnn*D;5l zUMXqm{CzF=&~6Pys4Rf2)jX44QVA`?XKD?m^0KLsbS!m9+7Z_hBj&BR8u)(O3iuZI ze#dtJY5`6wuL;_6>~Hu=SREb0$0n})J#pvGtJ=DqiaR`r#QUSqoVA3Io)U5%NG5qG z?&)q^^w6i^-VTzqy6;0hGq%`)b*0jfHE8)zf}xoa7)VYh+r7v|%mKVG31u0aIwUi> zc-|879DDp4 zFNzAAdmoW_UF}*5N`Og?yQLL1Hyz8x#BdRhmr4fEWvV4lvI90oU1WpaO$Q`;ZsQt7ZDH; zCWbOGEGPLpAD$F2Iz~u%l@D(vG}T;KKWJ;-LPfRAU=oQGsH@wP+je<)Xi1ydbx4oEhD;Rb%QF;l@OUY6my z|KCi(?qlQF#!vo`ltR896Ts(0+?CrbxqbM90~z|@7}fJ}WauUJfS?{`m*IMTJ%%3^ zx{FMlizkkBa9uu7Qx}d z{zRWSzv{Z1xsKCDhG*XWG46OOFH}G1P0wM;a#}E*?`^bQcIxU1QU6xRY|R3~;I&k$ zhY;j_LMmxIj)&Dv>OtaQ7XBWzv` zY7C#uU6~SM+FoXr8_cX|TB8lT6?=D<4*^D)>^rV^yGx@rfRLXFYE;V({(H{8Y)hw``QdDBh7y4;Zn@zq1ayN6$$BLsO2AAj z0u2a5@sD-H^B#tj2&7jEU+%HAx@RfC)f|y@%MR&vH!zgYQhnfW+7F`_@_K8ykk=i| zl2nAgF)PzA_}stSNSjlS0ZSJ(wl__ z`nRapU`i^}67`9sz|xKtGHB#N(hYI|z`(9rh_bQ&g&&R=l9SdzJ7hXkpP6q4+@V(I z9Bbs5_zC2rg}OOX#Q&)e9A65QLobBM^RTv&cme;OdbwHnPX&{cbdSA&{tjLDjGl@; z$nfmnTJaoSFQJeRwE^==IhWVbwCgKC7xvEXaZ3-A!wZdlI7(~!cDC|+SFr7v!S+%) z1q$pdxdB0Ko`o3$;AqA&xJ*N4xlB#Rm%8FV`GKn12qm$3%G zGEDw-86p5)8nQsx4y`o;H5LGSw??`pLluA_w_jqQ7Q{zp0v>Abn_f)Ut#5WX#cRzz z8)joSv@T9I-T*~6S~xQ3DD1X4`#^A#xrX04Y9BbDRnm*vX&k#3SWc|0od#4%D@C5p zXVW52vk5cz4D--%TyKK~1=wcOLCgsAkY>Nw6R%9e&2+gCY00mJ*1X{e7o`CEV46*z z2_s20t4l_Gjes?C!{J;Y*Jsj7iwr?Q^A*oYD{?>UXoJ;E^wDBcWF|WUxu|;r@k%bF zSC=b#XAB637&e24)Kh9DD9$$CP{0W<&3N~9gf-P?`HyA#?lN^4n^7)1-$)xU45mtP zwF^>J)PrQyzd)dcynkOCJ$GFjtu*$tZrfJTW7X<7%p36=XbJJW7TjpxMo=NH)GJ8X z!*j6>)(m=1Suutq`MTHkSvuks8#GG|sr>OARgF6s!e8_}YkVA99FGyXVf9IR-9$Ly z>)2X6L>K6nU-2jiC2-G{0xs!{S8xO(L!`>yZt>%Yc=^lwkkjB7!g(6>>_zbnhNPoy zLdj+N^CJNVE^;TRg}jEGvHFaoY!*yDm&rRJj|bjxlGSf9P>V#kh#s5+WLZdPP%k4v!v4+j6qmGoRK`pW7?eH=%- zq-nV6Kg1iHK|dL@XatckJSW!DHm6^L{eDsaB~gS4-Q-j}+A^dN^dAjIVE!lsMQ@2> zlWC31fLENVM?=Ksw{Ewd!65YBls)=nkd1(c1W7)f!GWOs<@6(j*HnDNtvG+ReAs~M z0h$R94pPLA2oJ@c%%IKAiGWyM>xkDf$_|p%9{XvbJ?fl+vUIqY131Yh+eC04wuQ|v z^}^od<7kaImYiSA3&b1odWQW#POHxV?< zM%jaW%PNC)e%I~}mzL4kDf|pW%IU8FoH{OW!3w_vEIjPMh@PprEujUkyC6yO3BvVN zKeQTeXKJ~Ne?WB>r4?`lWMqE#OHriO1uUw?rDud-cU`YH^a(;*?q>;YaQfrHGLc+7 zgB?t`{ZHfaL$t;Wj~~GcOR*nxkpyjWsx~IR;b2 z6EKB~k|G&kSanAwQ>dA+)30v1QDTWJ1=yQ~tbv#QCs?9SrVU56pzAxsF!Q>VVX7Mr zl?^vOM%ma7;>cv4XOCwAj%0ym=fy2RZcuCKAP6QGX($QuI@zA@I9Bz)Xxh8BZCSvh zApl_sr5~!bZxa^a(3)_;7nKM$qE{$vh-kF&NUq=G%_`+->eDQavO=%_0{UsQ70-x?)-V`N!nwEAtwJ*V6$D6!Y$r zzWA(ncqDo7723H0A^3~7Zu5t}Il#Ai&hdf%w|HbT(GtL=`aw^Z68Lep{en;-D!atM zF5Lq*#xcaj@-2aQ{iyDV`i|B>(1vVmrx-|p54?^=N=K$GPHQ`Mrd0^nP&qx3XOzth zprfrN93R&0U=+@D@X6n^*DeZzHkoV%$Dhq79oEQow_+GvI~n-H3WD?8BS#k4FXqx3 zzK`f@+R0gKWC)$LqV}aXed)&|8H4e|qBU~Ut+a&A%~#yCM%Yi@E}zdQlUzhWKJ|Mv z#B|%5tDSyNSCz1{+KEiI>HO4xfa73Y;dsrkrTBvViJgZXTE^b0%%41n5oxm{(F?mu zPHxJQ-AeYa1J3>>;dx3m-jrDe@~EMBAIFl+Kvp^9N61Ad`MhP$$%srCN)h2mAMoI2tAiKN z_d|xza*x&HlnjHYo%21#Q((Ye_t0|Tc~bqKC?eN@Th|IOC172_aK9IP@nLl@pFum% zIQywQclHws=+JR;GbwBt3y&i2! zB*k~e0yblM#9bk1D`=tv5YS+PzL^bh~!&f(*b~t7qlq)z9G#b?yikI z7{3Ig0t$e|vyn8pi?s~I3O2s;RK#=BJ>3F?_y;rV6j7)D2uDqX^yA?|a?t~c3iR!B z$hWN7e7Gf?!5-BICjDu~oQ=aOH)$YP83)Bci#74<6Iq^=&5SSyCdU#6zu5xOZaeT-ig7PZT^SZv!VLYV_p zH_68cd+S^@9IxVVc8@9$OO{|vRj4(*u>WeJ(rz+69hY06N`}P0SsBxEV$cP;Gt+WA46;W zcfeg4)ej3r++74tcxs}qT@pXu?E{A>lD{pc7-MzvSWxR6UpJMp3 zAdfhPOr;bav@#2ji!TSX=3)ZA!Uji|kBvC(1ZlZo-~jNpCwH#Pl(3CGNoKIg1^{5i8olwHB4S7vbbq7W6c!O|OorW=@T+FA=O1(XI6nN0vz5ba zn|V^;z+DY@GDdY<$#5TH;R?yN72|h4uq={68o=*7e9rwzL7n4iRe`v&%#jxuo zdjntrm`^jeBEG7}8Enc0zkbq}iUf#zD(x;AJMRlw&C`kvP&rvILey1u!X{grV$$z` z7Xf-97&EdZG6!xv2m$c-YdA z`3sRW@GtnOky(*c?I=dk^*_bhTqDtnxf_r#S}fj72)Gekvn|hphd-EpaO~qmY`S5q z)q%cTA;|ISi-)p>9#2ic{FYvVTRms~Sl1`eZsFZj7Pj`5uwpvL`_0OLhs}n~4Ku!h zGzbM>HIj%e3D$qJQ?2h5N}M2_&tC8r1C6_ac00xqbjV<-d^A0C#hH54=XME1b^Ye| zu;J;7=duSDYAFsDM53ShC4qKd`F@LTvp*MWfTQwql+GD0Ml$$V=r{gB*yAcb1)6tR z(DQ*oLbLX?AK$CphYyfs7%ku2Z6=)6;{=!6Ah z4j)F-U=Mo_{=;Uxi67Z)Zy=Q+w{~BF01`)J1Z>DWR1kCPn;Va@a{9rKWFH#KmDG~y zM?cg&Nx9NP1(|y4CQQ|{Am=W#H_YV`m9%r!U8iJlUuxwkDXqe{c9E+A9fPB<#0ORre_+Rs$t4(f?;~7wT}e>II2{LzYNCbsn$m0r{CY( z?9Qqo8>SxPo-&A~{`3s0;7G<2B)JQ_u*BV1O@SbNj_5!`$P6)2%OIOge+YC_S!US7 z=EBn(S7r|wtIm|^H{6gIK6YM9k2_Xzk~Kx;m_9&k=lbVhAx&>A*mDiUv5|W55#dp? zdJVvPH6CN$;XGf4hi0RQs`2eN64oo3S}}byl>tx?UlvDco3voXais(w@VoW3psgUO zt=k%$F>(U7$aVT{Bri4x%}u@=?pU(n*;^+hV-!Jgo=}Ko7W1kdhIx-896PITG2dIW z0&HRvaN)>RXDa(24f6JO-jpYHyH?^K$d#n5%?20iQ3(3)r6isKgUtgDs)H9BD29;8 zy!I+94z`0#svV&{a^x@$>3P#)7D*#jcs7k(u(e|N2+j!@zd=l)DqAahD(uK{HgbXv z(N?q>vR>Rl2NtdD^?*d#AiVgPfV;lNknyxbV8yBA?i_IDgEWFrcZ|IO2_mT%1Se$5 z7kumaGM2&1EHAyqo_4xOm78{hVfBEdBj{`7=Dp0WA2*tA@^kb{*{*xoRPyt$$JM{Z z&d~=RKI;)|0*{o^;%Sf3YH~-Sz>CQ({Jj-c#T;Ox{;gm^Ur>dAk@qFo7h_BLf?LlL z^D4#CXR`M81*~vxw=(6;s(9Kh{Z8(1mns>KI*N!wI?IN`j4C(|qT^aEwJZpWIunDn z72=!6*>6G+vRAvM_?-mg?Uj-{@k@Gtn{01rH=K2kEvK!?`0p@2cERfy@bjiKkR?%eUosz*OS@Nt*t#;bjef~iRDzp| zM(hr4JgI7RLTn0DOlBDYw8@ASut6K zT!}PZ9Ls}(wmaFR&7rNZRx6M!7rg9LrT!$54H?;rffC*S<(eY>aD-O&>kbW&%f^6n z_m!<8bjk=GO#V55dE)o+zA*Tui-6sVS%#=@c%shITM6`><6(tnq6i9a#Qj1Fz%Cd_ zTVcEND8x9~2>q;69iUAgoC}-%s4u!grvbO#0`=CngJ0WN>Hufy1O&hZIyVzAfQ%Y# ze9wT^CYpI}nb6=U|HYlkcObI8xa2x&5xmo+v#73k_Q} zBZ~dweFeB5z3P;wVYK5p4E@{rGu0wY_e0;c_Oj*_81&FKncyRWPCU(mh~j-D;8ZEb zyVv$`W{(Ff@E_4&zJ$xpV1-tkpymGb3Oh`@UBMD5OOCk03k;#jB8P=Y1Av+wo`Gl> zj78BmLhpqH0IZmP$p;gh1DogJZWDS6PRAnyH{z5y0x>*T4w9k2@TN6XI6dlhu5Pn8 zAoY0x{j5x#V{fqfg?BdcuLT>(5}TJ!OL@ped_;x?`lVIb?xuc&wVo}{$pqCrO%T$og zuR5T+kk|Utclt5o`bGQ)k{%JnSB_X;H&8mUi>~vCn-EUaNkPy)q@&vYpj! zrHjAsgc-sw2=e26?C5qONvvHH{|Cr#!rL&{e_4?wvJ zu?^h`_0#2ECF!}i*}S8ugJfZ`{0kUZ>XEY}k+?4eJ)^-b8pwVWWC4rkE?+l4VNwqu z%j9Jkl36`&cu`dXd58x~5Q;@<$;_JqktBZ}n@jM-ASlfrBrbnDp7YUosF3$jFZrKP zZ~~#Fb~|Vhj#D-YvPyz>NqP}oznwXqB{bp&Hk61E!%awL!zOZse-M4HNIHb+EBM(T z#AX~|qF@XUi(sHL;9)1T$dC>vW$u|lq~RA{5N}#B&dI9VWj{b$-Fm++A(LJfnTI`R zu%~U>rA0V|tOfU(`sV=e7qRY4mZ0W}sCdAe%#V>$c95;cHC(3l21$1z9)gL1pc4Wu z9H4X*FHRtU(NpbGq5S~C)J)>*hN)m(+;FGCJxb9ku+U)#!u1zDaw#$vdIh=33?70c z%2APn><440H@1Q_?6aun{X~g}JpY16a!55%Wql(#2)c>B@w>6jz8p4}mpfG_Y%Py$ps|MimY}ESA*@j~ zvxpjmWwy;Pyuq8TVCffoh1K+hxvW%>bFcGV+*g%n{#P_@~Lpec+F)7`)R$7`blK`=8?lVoB;vh%=iw52CA`B%Swclq-L|5nIf z0RL0@BB;rzDOzwM z3~m@Dic^j0BhtZ%<4?et|7HiG8LE7h+MOm9ajsqo++@ZDe{ zc}=Q_Ypr41k%|?`umOwgXf!?{(QcG>aOw-V>P$F7##%xLNQ2`%J!)c|G{|B07>~+_ zQZhftYau(2h3lzJG=X>h5Jjts!b%$g&=D2j@@4pMde(DQ{3RX%&(ElB6L718*zG7PE=rE?0o1!4 zTxF{*p*(#B5}9aN)>G^r5f=y-UWj=JoLOT5O`{@3HeDNSv{aDk52U;_Mx$$n7Cfn9+QE_cFfSTH@GgrwJMSWr61CC}bH| zRzXur?fRswr+n7a;xdbZ>m1Kg%Ii(%<1f#kSre9?q&(|lxAcUY_ndI?<9**^aZzO_ zwDx%Wb*{Qr91jec_^evG==C9LzlGfmg10DlG;i9a>II{%RjFCazYdXmPxB**e<%0y zq~Ei%c9MHq9==->`D~WbqeO>gvYqQ|-&n@dx@F5glyDPT=(mJGg^;o{E_y+Afm3-y zBxum$t{JsgpTr)za7{B>kf&;DKc*knHTS#!{^N5%2Q5DgIL4RrA&!@)>}hFf@!Yzr zm2d7<;%a-t3&^63?V_mPpmY$$lC zC9O#mxAUy5)mDPVYuQBjL`9@ubA3eEPqz^sz2ZYQk%e;olI!G$9m23q$76KKjFT@U zebtL`2{7NUVNiLM_t!9hz73T4w*|TKNo5iaKR! zIf>OUl*yu;#8ZxoJj=P6FL4Y{8pkA3BJbeJmE;z=#4;#}cNO+lqPp1i!cng%a`bXX z`0hzL9nhES%g2g?a}EzY67`&&Zy09h)zJ+iU$oa#p{bpxG={;lcEvF1^fPnoY@%t) zxxy%Ka!(zWvE5cC1}Hz2Y&ocg!Y_wqvrhSgNe_;r}SUCtf6M%CR5J$}!JGfrjmp)2>y zMI>|cwz2cYKsmAY`-B)a3~6h&KidES()bvv$a z9ze&pG)vE~{_VK7n@&Bs;2)j+eie{RzHR)bQ2{06jeAMr_7`ZiqhblW-dI9LlLvXE zY}Z@eYB6(>t~)sraU=nc+jh+_&_M4`l z2)Q@;Y%x{$Joe-cUhT0ho|TQ$t4p+6{>5-QX1!jd_?we2yf1H~uI|#-tOq}OoW9vbzV_qnGpGPM^hh+VZ!LY3aGSTK#t)@yHtkEt9nByzX|N^Tzx=QKqWQ zFdzKh&GiqyZ29&qzXhG#&dlv{4_=wJa`eWj{h52?)PdGZKBuL;-Z}Fc6VJrg6})sY zVg17`UOxUvPwl5my$gIXliFlq1`#*aJ8EP5@7I{SC)Kw>%+=Hbv3mrRovQ!sdvw9j zr3HWYsTP!doR~Or5+DEDhQ0SZMeEd%c<)ZlD>YshQ4tlzs(R_hD@{FUwIt1RkLDo@ z$5OPMOCK}Y>v+9o>B+x2?pL;lcyRdL_TX^G%ESr!+ht>STqk=QLb4e29gP)bo46vf z*LxrDp7xX3+^d>C9L89B`V8f}Kw0Sx@mB7>o@}p%?{%^KEN%OEZT$Z{N?U}}nePy!_sS=?t7&tWy*23c_EG!zVYe@%YNnin+}^WdNQgk8T1@~9?0e%YgjTF5Is zEz#{Xn@blEOF-by0nbSEyC`VDy85g22YL=DRlQ;?m=IF`A<@EU>N*ZeW z9y&jI9(a9mOi5q-{;p9d6V@BEu#Dxe-a(tAdK4?~*An+tf9<66MaN2QEi}%9Y45dt zr1aYPHrhL&A^Ef0?zL^?W*Rj+`Q4X){`iStdhfixqJW;exaFN|EA?@8ZM5|s{bL4} z!48xDjy8D0_Zbsd+LJeye0(Y|wfLDHwLM!!$x;;T9r??ruSSu>YS!m971ySAXo{H? z!HQq?%OCU}cnM@;#2b$S0VqTjzn}BA07u>@ufJ%e6LpT_)v2hD+&?P>MxGhpLS+P0 zRmZ11GE&x$#BxFhaS+mn|sHWtzqbu$+LiH&@?1Fv7Qf_=9~j^|*iPXs+7o})bs7sBbs)gpH9O^%9 z5ukM#Yf&jNJmZ-TZ8be3R4-xww#&|OPq_n?&Tzi7v)+QdAcIG^yQyUx=?a?AORH3q z$Sjc^LY1yI!aoy@#Wb4DJ0RW!#I~hVgsb;di%8aRJu573;;~^-_?^$cXb>_6ELAPL z(O*dMTk^QR5k>}%^02{CcBjajT@3XTB=(oHcbayq1>O{LJ)}UY!RrHoO@EP`aP-#0 z(*J0>gCns<3=hyQ(`u@x>t2)`pBZc1XYIm2wX3u|nb&YsPcmWnubFykFSOHkb2x<{ z9`iP<#VGC>OT8B4B>#|UpjHPU6+rfHrS%lv+ZkFuJyegtB#O@z{8DSL7yRyp*M1Z6 zk?>|*?ih89yCkX4Q%$l($jqfRIcBLa*wo1 zqAIm2HjCd(B3F!@^=_?>bW1C@ zcd$Q4W|WF z+_{OMV4piYfVf143Yh5}MSY~;0(9=l>2-fih~`RCygjH7Av(Sxk2g--UoQO_&|ahE zi;Kfv`x=Y#+Sw@jh0=@|(0`LbZ+nmZC{AdxZUpUeIzK8N3gc!vMSr~xrYpN_z=(FQ zWC>gB4Z;gLLnVtiU4Lo%-ATvx=o_dW_cn9zIsz%@A%wY`*i!vH$TGi>ZSFlE?%g8Fd$%VG7SkP6^OhSK&=vovk=)wWj%kDioF(A#J6Zp5Tra<9M$Gd836Eev;|-!&r?jj3G9*9TB_I} zcCogXFJ~!i3$1nPg-Ac5Ey?Fz;v2+XffbEw=ckZDN85a;H9M--UY(M_Yot#f^@r1M z;}iF$qxiKp90eHGI<%ped^a_lGU~)o#KvF?!VS!_&wQ!FayFKr`e9TOZy<#xHDfNl zEFojIjn)V&%H#wclr_sItiu+`vR9j82J2<6r45S zciGzAwI1Znh9A2fm0 z3nL2H7<(aA+@l5UBYF`sCGj^zFiRVR_R2HD%ak8*tl8Ec4bbnit2`Uk-g~bL5B|YV zpjTL`12O08V0NW?*<{YnVEr4JrxGXw>4Lx-ueixrWmm;@!&C_;zno8(mH-Pv? zF+Gkm)hAUcXtqGsTa?pnVRDEm?CqF~m$ecI9;-6TA*mEuh9TDG%Yrjak3a1+`*qLPRrvvMd@hnNt zI(UT5jXM3kb^Jrenpc*a4-cDs(1kH_zR){b_Pcokz z4q@^guaxCNT?~E_M22+!i-WoB9xR9DrM6wH0^PUjEsyCgl3!@$A4cS;Pt}U=x!*ab zEEXgM#eFNIUvw(ztoTdOR6w{dP+@N%npc>{S*{hW$5Sx(YCYY<^g&fL2EpCu{nwO? zi$2r-@*$sXbX1P0~4WL%6UmNGWtdZXrHr)i0W7rE^8Ng-qfs zdQR05lZfY_?j~UwHd0MXi@y{3>YKS**qE+~mrYanJM&S$JdC(|3d}t$?%-S!$>G)X z(Ai7UuaOycO+qxOUeukDUV`2gg?H45QziDm0h)M{3i_#pX8;|zkE=J#tcZb4Be8(7 zw`9M9(OF|b;UqVI(Wvl-v1+3o;y;%w`S$aMx<>^Av-TptyE1qWbj^@NzD)?5P~FFV zp7;myc0rB`zvzBfwO5)Wo0C{BnfZF^>pLtFSN01MxD&fc$UIrWQ|h-WFIJd1q6;SW zqOkI=YQObWGfA8?V)VeDCVo`qbOGhPB%mfj(EglmTZzk9Q6IFxnnPiNmWT_vAG2XJ zD0>LkZ*pMI)uhytA(`|rG?IYQrnKLa%@%*Jm3#EBf;7+zSeq}x z8*g7}zl@TRDSS+IrzM5YO6AaOR)eC1hoGFyw$w+`NGT#=b2`N%ZRWos+m_Gb9fCS@ zt)ds?@&9;CEbinkGD)3{zl9KR{U`IQc#xl8!a87w{u=`;W3ltvHYZ)$?p~MDvxx7e zX{xJHIYO!%LPD7z78jYVdaa3C@U4W=Yz0YEhtRg5Q>{JfEXx3yxV~=zF{@YdAGBaN z4hQ3&Q%AXX_9l2NtLjK*KJlO~#1M}dk1EiM9P{lS3vw+UE>fT|Er9$ExOs=`5J}UF z;BuN)NsqIX&TS;eZc#I~Rv8NNMcUZmtBFAfDxp}zYQogl>50)`Ojnk@5lY`Xzw8y( zC8#HpClHk&Ti6wis+2;+Vo&>}Fqhnn=^4-VBp<>!b@l#AHcP~Ahs@Pd$|1wC&#&am>FbnGNR^<1ak@?#!e1jV3itcvC-h4{K;Ayix2- z`KmS2-I4MU$fQuvA{LqV>s4H+}1qfMP=S}~w< zod`>FcTXvA7W~nEsb`seX}JbFmF0=5_zmGX;t0ye(I|T|F@QMHJVND zN4lc0zOJRe<#WyFQ=Ta%@4)bj!4aE?Do9Ec3Pj7*QTE(k#K^P_fb_~SlyW<(feugwj7+PHu*ZWQ z}4^R-uxhrF+>t zejy62Ycv&l4N-)2ww~U9uUvnD;&+r@Gh0wjZ*3iN^x^s1AUnDp@WE$ZF&v^r`fxCD zl{{@YLElvAB1K+TFV%Nbq;tl@kG|?eM1D9yRr6H*&ka8RIZ8xlZ^=2z&tU^M1I`eN z{1@6cKdz%09U3x;WOF@F1>~g0jlM|vJv8W;{Wnzq7|yZUHUUhsZx%N)keg;c8_u^^ zqdEe@2wi-4hm0Q_rVeW0sZ>AL`=L zZ#w_oOP+Rd5qqfZ!+~E%7Lie>Pyr*iLj+?j;_ehh^qRBb2(=QTaD?3XS{!w|BTgK3 zx^LTyatfAn5^A#rt2)Gkf`=54Y4i%8&bzgFz;aaFhl*`7AC2RCbZ`ph4btn`yc0JY zoc({Yx4CbdOU_}B{VWW8U7twjoIt2==n$AebdC1FHZE2EQocIkD~XrmSN5|sL_G_BVKx1`&B`%%;%?N?8~ zsMj*CwOOxE;uoBo%k0Q2>2@ORXgK=7WnZKT0SRAxhG(4fwK~`Cu-Zrcs+E#a&#GC* zOF#RlXY=&Q_p74pdFvlILBG8UsFd6rAI8e6pc5J+i6rfKFyMYs1uy8Evwk5u7L1;z z+ITu4jA~^Wyv{UcC!O#qiwbA(hao4IWn zzE5yM+#D99MOfNsC_DxbL$_PKh@(!ox)DcSx0;G0MCYdANOG&u9U|{=t2RIi2xno1 zaePn05xyso1=lYNrhhyY4nB7P{~j<7&jt18op(`&N64Z_oE@UTz`i2fC7?2>Zn5hY zY~t+wntD9i?W_DFwA;yjS>Sivjw(DXPrsc!uCrAA_7gWIoD zhWD04Y)Bn+bcpAzJqJ2P6gr9zS5H4g){6No5ffJ{?rCd{zvawcgnEZH`=fAX&HCH| z6hgybIdHb*h)l6rCHf3Zu|#}}rQW-a^gG*TF5F?@^b{9y)jIv0y^DTFWYU#;ky`u< zxQ^ZrivKa7V~>4 zI5bL?y;@>Nd52Re6;xUE&a%g933@OJcdbWj`y!HAjUzci56HPBVh$%OqM*iy-=l59 z41QfU6^i_#@Zl+%925okR9}d#==0RmP5y*|e8=hJ`(f(VH4O=kUcxP4LeoNo}KOgYl zI(GQ8cwIfb`C?=){2id-D##kPuRpfWhh9~!0 zU*?R_Dyb4+qPYF<=^&(*+Crq_nWt0OekvvM8bKRa&h5YJF@RjPJqNt#y< zBkW*PlTJ4iQY&(RwdBmSWS~K8K##HsKUpM#APO_fxTbL2NWzAxTr1uKwoq{G7 zjV6xZZ890O0&op?DKkhOZFVWC*r+aL0Ldc(ml6fIPjM-L2)SObEu>y+u$~R3OCt4+ z>JqBgPq5cVTxh7mwu*2em+)W2kfbl+&0#M2m(Cc{- z)x}6X|4RZLVlZu$dg}RLeqHKuVpAjaII!_ZJ?YvOODKVr(-vzm0T4f;d|^cjqcy<~ zVsBJ<6tV(t+O#tiICTPhpSC#s2@FRfzLQ8>EP({Jh_>*a1VCpk&R~LmJH2T2CxH2U zF(d`L(0e06zm;B8q`(Y&p(SVo8>x_bZIKG#$bMTS$6m;rZISKtqEkuW5$dc{o3kZpvfd#_I;y8xg69JT4y7Ym=@3;Er0$@sBbtRnIefH*W$R%_ zpoMhj@Ie+};^ArRl%+YE?V>$Sbsdq+S~h96CR9@jiy!1kHxBcUArOUFsw-VKR9m&5W-{;T(E_~$B2065C4lU22EplkJ z4oz}slMBR8zTPsmprYW&dCBtUw5szf0vo51o{pUR^}_|0_X3MHv-0znq{yOa+}9zF z)ZGPqNg#a*Usz8)p$2b@w{lsLKEuU(ycU~ku4f~T@& z)~`Ie<=@9g^9Nci?`w;4_^DnYiKSN%e^?sM7qpNSnt2OFm3DNUlR$8uN6Y;%Bw--5 zVS_*oLNi7t0m@a+-0(gv z@A)}w#1i>%hc+B6n8zb%^C+~yY){o;l9pTb^lODX9BerCIzPgxmeKM8p~YYw=ivJ| zO)WNB+^kNobS_U|!%YZ&b$T86N3*jRtvaArjqVe1D64?ZJ$B0)-vDiRJ)Ig#zoy5H zqo|!W`|jTz<36|EQP=A1MHii6Yr-?`xNbryj14D`J*Q8xZ;nCmER_BXhUpKX1>=@8 z?sIb2b6SgiGcrR>$#?V5gq9dM(YwB3Z(w{e%toLD$N^$Qh~~kiwWGD08Fk%(O1yXJ zq5xVdqvgVsQmu%VBdadcz8Uo(quB6viXvX91_pAw`*nD|zdL8cmATo2cyX#}N{3HsWag3f2093zl4X2H6Z{rnMS#9mh~aJq4x?#)e=6SBK1&VA3dV zJ{$=-3cM*?Fsr6hVf(~lx>!2%Vk4t(I))-_5ciDP=6lhGD-P7c78H^eFncIR8xM~O z4PoOE{M6l=3wQ!PUT<`QswVC3`}N(t+j$s1UnUw0ITeXxIkb_U^p*I%Y@8doBCr?u zfmk>QpBuM@lh)cdqslKq;+&#kRu7d7m=PAQVn1WE+;H1 z0|UnmBepY?mScZAEmxdipl(LSH{o%p2hNpr)I(E1E4OaQET@;v{~WBg6A#_O^muI6 zL8se26b_(?cu14`F_AfG&@z?V+g)dlI$4~J%Ns?({|C*;&jRzp^2vPSz%F;KA+Dj#E1z_ zv{yXe+%tkjPWUVA?MtsWh+DayPug7p>58;z67Q1MxLB*$Kb9AWtuB-WK`4*1H2a8% zOq!BWkWhBdJl{4eQo`!m#CkgRDeZJ8`t53-7DVa}@twL(^t4`upW$qrsaY6SvQl;P zL%HeM8mtDze+2%EI3t7^y8I8j1UI9_*xGi?uO16n- zo#b}eW+|v87A8Bi2GZt!{C>7o`1@1jcPI|~sD8XQ5{}l2n}5>f)L~h^1Fpx)1!*wb zKAId!hz=;$%tgJP-8M7>)e`J!&#J0D?S$fnmm&{t;%k;@>cJ())vJ>}d#s@82?6zw7?8W)h=GUvRyjB36qNwlLcof4w%^ z!PY-HkhY7#^qqun5r>Fu0c{r+5k4xXSCy7^B~@-At93no`5KYL7-SA&Belfw7SpLh zVBMOv%EFk%ihEB_swRo#V}Cmd&e0|;jXnNA&pPW7>`HSTEn-z|uVO+6;V4dm@42m=5d)8v5S@Oy<1GXF7OPo|qi-g;!(jd!%vMT@y(@9M3j z+Um<>``3?uA^WpyTSC4{9vY!n2Gj#$xb{1O3_=Ib8~%Z2qx}}2iYm+MbjhhqH20`h zd2AD}5$vA$i68&#?iY4{RzuqRZA$rh=rfC)J;&YxMl}JH&bQf6?;~|x@t>AXacD=K z=l>_*bTW#MauW)OyZmyFo~9{Nk1tC43-(j-9=eC+c?@&n^sd*YTuC?Bh~LtNiI2vhKER z&b>aDaMjAcbl##kwdsG%a?JSNNo2X)wdUALUwv5(8Gm83c)G9sY7}tMI{D6sY-tgB zCZ1kBYv1GcJTaQ`37YfSyBE`L89mN!2=7$)T$RbKIlVM|@G(kt>t+HVj91A3h$PM4 zpD>{_#sI|9d{f8~xTg!P0T=}KCBA87Nkoc=26ezG*jG!wV0zIXmbeTlQ%=~S2pw+FmW>+1i<+ne}P)qU~fnJP(0CDdccScc5=oOw)T zj9W4!gh~?bjmkWedCribZi$p|kXgu(F>Yoe*KoP>J>Tv5{D$ve@Vs7L_TA_1d(PSC z?7jBdYrWTdc_jm`0$dMi++;P?6l6FT(%M%7`O7&;AZ$<}1q2Tk`=WroOaV}{#jouG zEXTn)fdT6!8-;iH0B@Q+%nSBQ+c}g52uJ{4kYjimz5VrS6(Tld3X`h|cA_(wa80;> z4Fm3vFw+Cp*PcPDBsdp{+1?e)I11lS>e3K zlPh(Kj@>()k@w`$aE-GcCU2%RUHE%f$nA!()tB#;)qUUTqrNny{$Kk)=fLujwM7~k zgek>IJnNseH&&aJW3)O=Tv;J=z7RgXai!W>Wru-YsL2H798SC{fbmD?o)>l!OOx zf9a?P#+B|lflZ4nh0iVQBILCHFKUy!_(6Kyn5HVrps}tRmAAM zKp6kTbB>&T;YqdO1OscE8}zUGs(Ty0OFYY*Rtx%nx3yq{8xW|PXR!$Z2DR_q^b;F- zuWC~@^bXxf)VT zGA0!a6=eLKHt^O9cwtRpGZcV>y?`}@H<0E#-?p)r+Lp!zwL)@`C_N+vtxqF3k*Gj( z0{<`3@Lw0lfzzY&;6e_Id6;s{|3;o3N*jWkDZU2EG;lG#7I@$&8oc<={Bhu%KeS$B zP}y4~1#u~Y#wtDqd_u)D!HygT(3zku0-lS*8GKj=MipprT=_K$CEj%v^&7nnGT%Q3 z_Ndt62tahx&I*a>v!d7VS_v>UmU#pb+qjP%2AO*208=jyis3f?ptzvV1_tN0($$SE zFKdZ?@(32CberULl~JbDl14*Z0EQJ!8lF!e1SJ_G1}12Ms2R#UhUW~93=P0E#}{j8 z{q1kk#e=X0m=s{&%@Cu21W!k+%xGb}#LmSWg3F=K(^MKj(;r-?;M(H0m$i2okST}- zt`Sif2oB6hH}F|4po(Rv;8DO}wF2rH8-P04(hgG5(5y&{wg*F`;~YwvN<#r(sFJ?f zsc~RIkPoG;??M3YPV5>Mg#=(SFYqp_hwkKTL13;CMZrOFm<&)nDA~{*prjn!fg>#& zbrD$LhM+WkV7Pij3Iurx1n3eBa3@fz*6`tg9WWau>7M@Y$T?kH20FV9 zWkAaqqk`&xN7)m@tE1>WubbNtaOh!73MkKDDtAof!L#G~pKLG{uMxB;M0xI``k@>o z3>G>qkfStsEmaF7W+8*udLR&he!e_TIRa|g|Em$lDUqNS4O2&e!kMN?903rdEs*SE zEfsq9ZxaZ(`$gCAP!vox1x*0d$P_dIN~Q;Bav;J`@es)Uy8@a3L*79R^oa}9z-sFS zevqX}^!i`_4N?85R{(b)_6OMJ;!!a!%?F}O^xyswJj6E1VAh}jXv;%<|KA2+9CC@# zE^N-DVEq_66nN(d@bPpE)4_Z~ETiBXF-QJA`Wh7t42^Iu5>_G{m})7~z-5;TQ|p0p z3+@;A1P(5Q7yB1K4JQe99PH~7R}u3)K(Pg`Vqj|0A}hciq(!Y#R5Y)6jL<*{>fp>! zvC+=KCaGIDE z{F*~yVFyS&w8rvZk@Fm}u2hcET0*g*-eOWTgUsNQqCoBd=+Y4&5kSK5BVaaYP|1ei z-~}qV3lwso0N(+%stbH~iAv_8I)JEBS}DN2fx-jL{!n%9hgGKz_6`V@Fkz}l9B zeCq>@<;1$pVGtMb?^uNi=sHsv03gP|tVNLOHbJieJOzvoTjbkF92O#Zowx2o#nXgU zVFxgCVH$cb73;!@^r$q2Larp)qbMxexgk0~U!T zXp9T28icy$5)?d+SQiDpoB44hYs3E}!8COW0Y3d6r%6%CUqP@B8#RYEg#p40z}Cn( ztRb`y;%#UIbRK9mjn*hdq3{T`@`L9py^2wT9_zr!^>L&rjNI`82Zqp2L(nv|FD*y_ zlm`(=J|GuhbW<4$24tKuw0`7YFH#_gfN>!K`xQvaj0a!@SQ`|?x&z~NBDD@+Me&K` zx&y>VB3uU>h3}Trrcm-!TKN`)0(7ulKz33=F|vYU0NM@!%L#_=DD6ThKzk-SB8uXI z0r~C}>SE|lAUFu4spUYt9fHYh)G3rm=ne?$Iau)%K@&wPjcpeKFM+x;EDAHiWJ}OQ zGjzxDe@zDADU<+}HVFC+ejp8Q0(cChfrd1Ure=U2$o}sgPJ!A877+IzNFR6rIA?(a z5%5IXg3JB`llj1fBtv(AcGOOU_7Rp4oI%0*0uqvV;4%VaF#VvwuT$QF0tRpy0ILD0 znY_`RKw<#xK8eZ&%&F*IJdmK5VDbVqfUztHxdNvs0FamtDKrOe0zdkO>nX=c+wUS) z_)0NsVDJN~HXvs(&tYm4G7kj?H5d~>q;o+7TILW0&{<%j0RYS3Fo0mF!az``;-n{k zAyyDTaQc!myf@Li(j!?;1z2qgz*q-NH3eWf6NJeb6jeZ>K(+-1m|x?tDh%eA5~zXs zr38L{p^lORpgmbgIER3N0GpQ^4vPVoJVv5m0dCRlfCUB(oLp%Kj@P^cCGrL!4>9&Z?xA-b!Mj$2$ta5I zfp9?4R1bs$imG}b98j<-w2Nj6+z%|npa3mGU=aqzK+4zvXyvcNSm+y?ynrM7{!i{; zK>+0@j*JD%>;SY01co#r;6RP*Lz9_9$$;hoEZMrWK+5`TDS$#E0yB_W^T1?}!2d%H z1_#Rr3;wr`UV}CnNYr33!-3_k8QRn%QNgS|s34(D@IJ^RkWeVJ>477s(S(8XjS3VQ z&>^rSbfAOHAOJUGrZz94;FkzISf#ku5H&}k%@rVf$m{t);(+9L!C^N4JE17F$%P{y z?9aepLhY|3jbYjfv}p+>62Ky5Yr;U=*-=8ypjYv5G)8to}?^n=IgbWIwPgUKN3E*1=a5U{n4z-Igqg?Oo^ zs=(XGu!ct%!71^CJ=!f2^#s+_xfhL(9LC~T5j$b1Caqi~3QVknuZ>7l8L%dUtVf1G z1y}(Qb;FP-G|OiR=Tn~o06RGkfwe3{L7?e%5+20Xm5)FO+EbJWl?+^#AJ;JB&};#a z>oibU!T<~ilA;3U7;-H0vKlF45jZ(bfohOR6J`b;)dwUh8<44BMka!q35l9mhBCGU zX9HbZp*%%_LB<8Hsu4;9`bfznvIzoP|42||fdbV8frZ}?)bc<9YCuKq0<|1afLaEP zDhg@^pg=XDl4hyptB9H_(5#jj1cPbfPebE@9}fnd1>|mkb>m-Ot0c|125qM4!oK=iKuS*<)fRPRC=#U^%pc97$fO_!W6OsL3h8-jZOUGe>3JI|HkcwL= zY8n_~!8Xx1d`k@&S-^;%zV>3v6pW^%f8E;+I4m1-1_An(g}`^MV*0>X0;^0R*aCtg z2^7E={2mklWFG}KNnr7N0}2r~>L4lL;N-w!nopVV1-d3+q%;K@=LFgk+}RyqR{IAW zHv)b600coO^_5O6TSzih6%KJGp&k`?BnUQG-%Sh=nHI_jjmY~U{b~c z+rd~G1dsWK00(UzFx7w;#RP3*bzvlq7k&qZ>OL>5OeM3R7Jwsph7_+=hC)SR2!SO4 zG_fs;!xEHc%TR&9f}KN~A;*KQLIJJwD|lLfOd)lg7UuwTrp|h1pr(0+MBX~6u!I8v z#v=_5S!N}HbB5|&7Dre%!Qd;b`DGYbBg>B-G^aE(g5~bOOnuNEb*L365b?~d2ewJn z7B9SmSP9gG1HpEGbpW8qff;rXb|6ast8uN5lekcCnWz*6pm`F<@2#z19$9bz%^7f^ z;pm8nQ#B)&y&~`!Oh!vXR1dHfXl3){rLLhAV?zu~)$;~{jT!(g@Y5Q*G!OHg&~bFQl3}>l?gl_U9D>*7;6HB{8vk8|Hq9EOMUjv)0Tgacvy}tIpW7Nsy@9*#|)%@9R5W6FZRu~ z3#pX@sCa$3w|{Cf0reL;M-f5cL0BMF3qC;+LHNDt#_!Yjh+gXU1qCYs9~xIfAF5Y5 zFTVXNLD_Y)@rZ5gSm`TMuIT*(-^OYjS}>}SkO}gR~h;qe%ZEu$(7{4#_(xf}Y{y{(sVLH3dlX+Li*)Ni25 zu%BLx=WMjKwP9w_=pFC9_b62)I|R}VpgQFE0em_zjqNw{HHx^5uHCh@Rmv`nFtD_Mma?S|TTvaEe zp>D1lJ|4iMa_>_O1QnyF8X0o5a2(31?()4X?8SD?R0ZcD^*g;G7yo#i6^3aw7t`C5 zETd2P#^_t52Ijx*8>3O54yl?E5(CuAE3WPA7)r;kP4E5joDtrcfa@vktd+qEhrOQ8b$ou|)YH-@b}?_q z>MI*|b*^v+BIY19zn<^!U38v*TnZ}9L?%mqWVy|181b>A5{SDL=Ry0N%71Qo8)wQ5 zmtyl@O}?x%L5~Tw$A(a{4PL$KU`spwx1jjOdG@k~ImwW3=O1T!MtwoD>JM9ueGfy% z`PUp1>}cqAkflqH{$`md>gqXGoZaRd*LF-x!>jVSW#Hp)YzVFwLG=RS#*icR8q#ij z-m|$;Q>yQGUpcY%?gk^0j`#yhd~Q3rBdEl;y75KC62jCYA=){%D#tjlx6&Cu<#S+|Bp-g<;pYMO1=ycJ1}Q#g z@Vg&ihntsL@V(fRgFSo8Qy-C)$M??$HfANTYMUFcBi+Y{W9_FtS zhCX23VGzojKd`HR_#tWJRG6RLc1+U=%j>Fqj;W=n9E2T$Y5C_kb;eS#7s9869QwSI zlUMPhs?V!9`!Pk|MrpS?|2xX9 zq#du(YJ=vJoKtl*99N#EPo&JnIjIg_IWlm*f4jx@zN-sD<(3>p1Z7+R*&?Z4=f(pb z_tWuAOWxh%nisV-;qXgk;`UEzcIY<}oBXoL>ehVUJ*o-b$0g2U$1l zGqRZ29|nv5Unbb5O^fo89x5JY%iy*@l+*Mv<#CP2(ZY*6U5R{{uEZ$W!A3R^1QWKu z_q48Zbs>vo%)8H)$Yg%jd|~Z@Lq8?V{w*%z)M($rWVJ}Uy4fq9|KzTccp!tq_ia#u zlix|kZepApeZKUvumx-VY-)~#0^opG8_zIEIs zeLnRDzTu)=^L_*TO5C)1GDj778kpIrih>*wX=_p z?Aq~?U*@8%WQsj8Zn!FfCMuLcsD44AAQc+}3% zj~?Y{Bs}h+6>zb=I(ymSZVxmk=bN6hWtlI{yQkQSIO8x;xXa<76CvIreENqq?oarv z`?tWhBiPTZNX^%-m|XgarQ`RjFWOKlASpm4p_lVUt@Wmz#NB}>wWN_EaF2uLi}CxT zWUlqHP+gfhwd`{O$%bsw4D4;(Jcq5itc=cO6jN{1D|}%4mYyqqbb8xx_}&M8n`a3l zBAdSE0)FuF?q=|bM+6Oh`D&DGf0R=4;E#7+$FjRU1l6wT(E5aTrIj{9pX@)H@0=*o zjigTstT)q^e)@*WQ?RndsPgbQ*k&s`o{?NJO|tA3ah=i7R(Ic-uiP0XXKKYabv+Uk zu~%BuUA$~7ho9@c#i)2s^^qNgCWm^WZnr!Co$M4nKhX+DZMPk{pFe}xnQ4%-tai}V z#Vfy)^DBsN7@5tf8%Ue9|FADic~REumqnZUjNsPxNl`H0;@ai4*9_7@E)2%C%_AOJ zkA}@(&(V^JqhEd7elcBWghcLrte@KTdrkD)@!7{`nNR%s8!dqj5x=U0JU!o7%@chh zN#%4_Q0h;doi!Y>HS?-sBsH%-O~0aQuOm0x)%&kI)VUG>B9JwM>}_muGRYe( zJHqK!=f)>@07xR&>ZJZ)^k^roEK>(%U0$<&=$WesqUL@*TA>x; zohXqhLSVtzD#h@I^nkKMSlsBxJ{RDhcirgeDKFsJwS%sI zZO;(>`6pYDJH&6SvDw)oden5DZTr?1UE6iyKP=_(#Fuv3=eVBSGhG&a!1?}+@io$B z-$Rly@}m%&)I+L&brO%_wK3}gg)?%)FYp6~>|-G&P{RgRcAdwh6uP3Dc#>BuP~ zTdt#-+?+ALc^q8*q#vZxc>YW{YMj4x!{se|ccP@qVMjYv)=!7%jzG1e=e%!sHx|*2 zptgeZGI^V|67>A4`WE~;JFhvR=^h3s_dej{?DU{dq}#Z%{R_R$v%kgCw#f8IO;j4m zy8EH*Rpy9K(y`OgL0q*k-~KGa`S{}i|>!U`HP+nF_E!wkhPm4ZXTE{^IDwnhGVX{=ZrorO8Lw8Fv zCWw=I%17ZJ&tGWD0=JA{|B07YQ66Ud-^epw!qA1gI&Y-+9UO~}3=}4!r?|i^jyw!vA5n$Q9cbLldq>)}#t(;#K zvBS5YF&;$b#0Y!6&{F;@6fIrdX4QE|>f!p9o|Sb2_ci%$(GSjH7!~MboOBDT^DP^P zNct~fN;h&|9W(e&ob+cXO;NI9ppcDi(l4(-ot!3fl0`O)N+N1keLDGuEQ!zHHZ99{ zj&VvTvT%@S+L12wSxD&V@ilR-pH`{~rwb@1v?AK6XB24$&IMtyRqXNWsElQG!(k?5 zX!P}hJ)wTSF4pTRZ}c2+PkOgy%b(x9DkdsgfKqbGy6??(Y*zQ-+Q6-38*2lz`^HZ9 zj^8?!g-&|g=_ObY0H1mHBkj31r~aG1fMWW7J_#;YI+NXa>T?{6sKFv$7^kc+uiwFE zC0cgA!jd6w=WK4^lWX>bv>k_(dnASI^}|}qIbjHIhG~p=*0CM&@S8_{<71u>SeEd5)WpvR~(;n=CA+A!!XyXr427jsx6Xj&jy8aX|QWR|r z2%yvz>fW)}m9sk82(WSvmbUDc*%O7^01H^{1YmuuaM!y1kV&eB^MG{VV%Iy$4>oL1 zVkprcfeg8*^^dk9tFg`#Q%ooP?RCS8!-^|EwrV1JJ6USJD_$7*?K;;TGK|yo_i?rs zob_r!Rg#L`=yyxWeE}*+)(`w?&Dn1)dIiUSWgN)rLFbeoQ1!8#b9#pR7sl(U-Ap6& ztt`An36!u*h+AnllBxZeDTg5~ZircYj&+*Vngd%{YLR$3Uieh{lIz$Oi7jy)(b(-iK6+U)puCTjnibte9VvL3%g?_M;Ztw{o z%=Eqdy}SfLJ!i4SA;-37@ftPbT$Ob~^Ea{ZriDx?2SdYN4XNOtL1gyMW5TX+LezE6 zMj_9wKyg*XTgPdFxbD;80hNjgDUQ{6?3pERlM1`i;whi>sX(D}JEmJ|3FFN|$(m|M z`U`$+xz`@{x4!1ie(fI5b67(_o3ztc`h;ck8Xr@2gw?ZNm9>l#naZrc$GkQuN1z1M z=ZuJmE0;ddkJc`Ixr}Ob`6lp$!SOKTu%9&Hh4Ov(<|G6wmw>o#KEC05a424-Ou&KEuKP<2&|@ zM$BUw z_%-tGac<8mu1|EXmXyijy80f(cPHFPD5^E*{LST6{+BP!Ufz`FEzt}~Rq*EJnE8`Z zoG{hKs(Hxv3F?ED%<=D&awP#8CIx!7lG4CAz$+$J28OFPFOcHi|IoQ~O9Pjah$)$~UbBJP-#e!+*?g*9H>#$e%JR$$JjHJtt$d8*|Qhf@) zxC|cZah@M!ecOEV{<#rgi#p$?yVXO7yPjZCF}@M>s{e`z4=t~CtH!Vlz1N*oWV~`M zp(A!pPFBP!EJbNVOZm1ZEy+8T7(s~GH6!79b zF6vE0;k(4*DVD$OtGA}}UDqb&E}GI9s%?^s;QK=Z=Cs*R{JdSYrSZADud4RUf{;m^ z&e9^;Nu=;IN2;>COtOss5ehlPz~KBMG}`YWI!VsW+0SWev+-RcSg6rakw)WVr)o6b zcE57C=SNnNUXE0MJ#-?pbW+B1PJyQ2JUIThy1`)zLGLV*<8sCB*X65+hW#V=5Gz~C zk50?($m|hQYXrL&2oJ=qnu{Cl4)Nv9x0B~R zSlaVb@&q4#vira*F6c6xe9tq$=tX->&Hc;A5Z}9BmB6Wr+M`6Tkeo*A#!B;dKAQu` zThFH1wD}cZpA)HRs?Sue2sB%M$&x*K?fwEs#o;#5Gr?3d8(y`BmD8fSyIBH9tGYKM zzT&d znq~}kuD|$Yd+E`!JDX+dim&IqAA8iOY2^-w0u(!s$IgiI11Q45F@#B@3VM)lhw^Z$ zhVC32Hr1lf+~U+`(YjqYXLx)%WR&h4JuBVgX90(Xrsyjesy?c1MxtZm_=xV# z@-sary;>*zsCqx;-~j_;R7Q0JO`t4x%*@#Gs&3PgS(F`%>7z3-10Lp!a<`YpRhE2= z3^QNG->(|{ARGBJI^jaA#2~wvG+I(3(oW&-BfNcv6@X^;?oPk@$z2(Koh?W6K8|VE z_*t|cyQoKksQHa|!rL#|(!Ok6`tmo=axnYP?~%NjfpS5z5eJBhZh%4ZGx^B+%+Nv*_&@1OEv#(Y}tEMB#0|SO!uCIu4bwDyr<4` zqG%Rs4kh&3Fg`skxO?2kJno_TONnm?>VM%M*^)+psP;EjS?lJ)DEi<2KML1E+s0Z@ z6>CWLPf7^tf3X%&XkzB>sQy`%B*L$7vTgwR;mG$;J=BEAKIa`jYO6Y%rsvaw7pUz9 z386ZW5K)1swp&!cXjTyytH6w3`+7R$p+%gZqq`6Gyv!%f)iQi^cP8F?gv#&D7g9%{ zVwPR(QRtgBZUkcRnn#;aO6wR7v2vl7WNl`!fc&}SBSDhA!z~aL6!O5NqU^NFcWF7- z!87UwELkrox#1J@^aa;Dk1^x#rAMLEC6$@3jG57FSc^42@<4XhB*?$BIy%(ID`zHA z(8t}T-Eqi!%N~uQ7ibGgRhbi>YrMLTqkiZ`DZR z9H|ix0(X?&v=qpn&|TnvLpq)PJj3i>&X}^;>^f?eLgT77b-t5zXqMd&_a{hfqiwrBAeL@N0pl2J)fAWh6FrB%^z92Qdh#t1N3J zU>bw;QK2;A+9e{jpL=h6nGl;nI=x4|2@&_JMi$C<$iN+1{9WTh!7(YBX=)CH?Sz4fur2VXD7$pV?nAoB^%F{Xr zv}UxNEX4hkkhkQvg6f-A#vUV>)n{KlG92&|_f#YPe72;OAH!)5z1);*nv2$;dj9%_ z&>KtEoC&n+ z=@1udL&1Z8=Ekkivq8`PWL>}*vrPA8QCKw$8`P@GAFh_(aSbry8Hnx+X#KLgZ@QS} z5F1@Yn zNu`2lOKz3`f^FOHR0T zV<)^uoA^D{i05whV3P0ihPN;ESI*D}*$=CImKdpz;=s^&V$hK{kH|cB8Rbf{*U?Qj z>|azwRg7OiOJ)V>K|;s2ev2t<8(en zKq`5*_{VP-m19Hdb|kyO6yc7&1wm$|KbszkF zVMoj-1bN)_Z$@@UUSqgKMo9VG?2JXusH}$EwKb_J?s<**{4#cKDdsotnGt=R z&2Jm}ZfBXcFAL_ok7P(lE$RnJ!5_VQpLUCj?)EUhok(rxK05>DAf7Y&p|ZYxQJV4& z>8z^%a0{yJN>4?_huH+35+X_~(Z_x2Ngfj8=`qd>U@sH8iZJRS=HE;+e~rrfF8-#J z?ecoD*D6;|NzJ-Sgjva8i>5-iNyMWloX9HA&85lOPn`Czk7@Gc`sHuXu9(iAhhBcc zo6^q3uGY@Cq^G8TFUSj}{k-(J9Uwis3Sb_z1wvgTG=LNXDF=^5GufbPRR=@pShp?Q_-cQpV5RnW^ z)BX$V7D7|u{O%h-hf5=?HKrZ2Y)S;5a~zsfLN5-y9B5DVa_G!3Vm5f&^HzNuaqlfL zFuyuu68<(De5fwAyrp_(lOM~c)Ks2) zbJP9Cn43FY`>)xa|1aiyHW>YNWbM%dmL`=X6@;oJ@inFDIdpWE|~koL0WL7L`ozL_zC5umFz+Vu@NQD+p-n1tV>kf z0@@@tzc*?ru*-a?eabaol-1$xQCr~3#aJbBWXtsF`mrI#ipHh5;oJNIE|33)_5wS#N1Q}P z+){2ziMm^h19SM4>511`yJAcvRa#}v6)uFf>Pmi}~s z9aj*UDg8yxZ|R9J>2b+H7350$=gZ7llG61U5P{jSy>g6+wx z_D~WIN1Wt>v|g^DXD2XF$QsIwj?99+MB6prE2-?wO|QXRw=-~C-WJMo9Y}R2nm&mt zE>c82_-k_;ffi+byOumaFm|v!WF5b1awQq+Tw71QV?8N~(L@Rt+S`9R9Cu@y^Zs(h9TQUOT_tt) zi*!HX`^&~VPe)>teD6|XLSu6rI1=QK$2j=jHT;7s6KRt-u(|&;o9EZ)yDx5PmT!L* z3tP5GP7TG_Zc7!&WOQbK)v6_WS@YH|e=gygXIyXGo_dpYLiC)a@q-U$akXNRy|q*6 z9)2tvqEiMBo+5d%oC8Ojg~dZ2Q-1C$L2xWOKh-pV6b$);ERM@~En3gQ$CWP2{DNNF zmRJc#d!w?W75U|(iG)}8Oq@a(#6KAeR~aSbh#<^**MH}v2C%Z-9D6_L>OU;;GcY*R zASNxn{@vfei_hkGs4OOq7trEkLzGs`^}pM~%wliW93E+H6!%Ca6EB-Z=2#*Is~T7} z>6i!%DVA>}2yzXV_lOOdt?Ijj3nUj-uK4Ttj1@Hd>4smqPc(8I8Y|HHiJ=3Y3=fz- zINbhKdOW+TCxf-z{v2PPl+9m-q_&GQzkW1?MV_?!EU<9jh)9+WuGO13XN^kIiO9Mz zaMr2p{c)N0;~ECWAVFxeBIWV=?$+ z_EKZqZEKWI;A4ftbyk&o?^P_QISxE*<7VwPO+zmszQwtoXsM7oDuYn(7r%!z|Hlok z;xsv7wIi^9Li9v8#~!^rS<)XHS6nmU)n6-RH+CV9sQVKpnGcaBs%DA;2m$fA7lQ~t zPm8k&rB(Ph88C(uUfx}0avnr{vlOY#_~+?)%j_()gS}z)ETN}ZCyu+dQsi1)_n-O? z+tu&Z=Ux6OV({xuAE!!R*3%MSKT4G@`Yh1&erD-b)hw6gZqI)r&2#4@wE4cAoxg7U z#i+6!ej{@)pMI``k?vyF@zeC#BGz^Qp6v?H73GD4Pit!P8l`-*WW|>~ZZxm|#B`;8 zr>G$Jn$$^_=zENXW4WZ2Q=8}_Gmr5%0{0a}%piioJJ&GFj;+4aA^J~eT5qo{*@eAs zl#b%cU#xaU#_y)oj_+1_zALEyutD~EKMns9?Yh$3g6kpoqqmnz1R|UFjv8IJi;30S z8IKW6!Q}sNSx=d8nRKOSOnA`!NxCK<_U4`U<2#BvYBsNEEalj!ifM{|9VI&8gxBlI z@Q(1iQ9&ow6Fe1KD1w)o)#8QrzAU}$~ z0J+Fq~I_5@$@@(otCj-3G;`$T`$deIewMsBIAX< z@v=}&w9IhzY0398UCkAlhlC7*J`oh!xt=j>)jC)`3jeU`>pdFc`)q~xk|nxIK~gvQ zy@F)hE=x#X{#n$3k8#cj<2LWk8hWTZ(K>s?)qF*WN2<}a;>`1|F#ppMr*vH&{*w`x z0xxHnCz&Sy&UJC8Jj*CBjP- z?9^rSiHJ(CqU9#-%X5|r6|of-<_QXp`{vPaI=wh|?Dz&~BI3H~$MApUlo%D9^ z*9dMq3Np&&=bS(7p|`KO%5-bJ$x-PT5*Z@=9qhZ8@~Ug`1C3|!kNP--iZ6FFZrnd^ zwtiUKv{qmIQdY+0rSZFuKOIsdxyWSEcox?=s278LZg8Ehw;9KF@PrH9cSgM25%s;; zUAFi)N;^er;m6`$&m^~|we-eU`=R_y&yx|M#;F#@uR`)rKdtUJS7ILgj!Cba+g{Hw z?eDm?{4i>&HoX=*@{3|{KW1^WVy>JF9k!Bn7Jhgt_(ktMyE-g&uHHqo^1eR#hsU6J zR+mKoz{jA4aehQ=xK66vYNYg_!uaZPctBiB=rs-WyTU4a&j$m~iR9|r3c(h`U4@Po zdr9^sA?<5BHHC!C$R3B{%;s0eON~UgwAHmMZP=@g`dah2f2p;yv_D?cJR$UR6@dmNI@d%%HEDBT3`k0Tp+86W(6thb!N_cU7bi zZ39}3Rr@35yp)!?LUdUPqDR~*YcaN@Q^g;Q<9WO!E?mx7;IbZgA*MpGDruB$Jrltg zpOd+j%*>}ehZd%taoFOT!&}@sw8bpoI`Q0@UAj}WpfD!+J;}A)QN2%g&=%^P%*a2I zVad)T7;Jf*G1M?!TQ<{U^LdLEk?;8<8s_*r`()|1Hyy}vm7=XpPX#w6dg!^YFz-tU zd6MQHA@gMrr?h*c&Q+E^Y{1aD?54l?CuTf#T`6nA zcbTX7T!rL^6L;UOD>Y6mU&Vj5Hx=T{KlYcu0VUF`oK-weaiFme6APaFn5bZvMC?9A zLmTMW&y=rszi^lS`K|o@DRynegu!pADvn-)H$+=>Y;3EgWb1N?nlbLyl}#){4=F5K zELx%NfETSljO6lDeMFt^d7Df(z;&&CqiM}E%-fyz-r@DOqu|ATvg=Zd?v>=I`V&Sr zEEi=W9iN2T=RRoc<#}FSBxJkd2JUcC(MTpHY)h{ zR8V++qIK@Cp~K`Y<uq+g)8XEV?W z+RM+l?rtC3dH8rVPbCRLp>^q{?ujmzOhi>{F{MPMTsBB$=y&vYU*+=pse$`BjTMsY zlwMo%{2-XI^>y@Gz|Y(dz4s=iM{H5?a^t=pC(|2Ou!_xnYB4Injk zBr;H<^SN2=@d$(7As%AcDV-6QoBAy8PU$YZt`|C&>$;eklxKV-sd=JR>py|QIZ-}( zNFJBaeqIMMANNkpe@&T?-DT#AwfWwj*kLuN6m9TSs_HKx={%9IRSP);|$osd9SYsTzfI z;l7yFK(cPhJ|=HOixNiZ&;KyRL2S23dmz16Cd7_d=>Nzd;gZshYCxOIYvyt*D_lBf zY%+h|WHGhuF-xFIWJ;?EM>d^EV*1g3(rWH@M8;0pQ@6CtXEX(yC7#>-+!6JDJgWAp z)l?bQ@6w70!=b(^N-lk)`$c=6A)9g6M==#F+eYtNvqa>)8tObxIonvRq0)QQM20LRV=U08>Di@@vK0W#T#1$SO_ zjGmoUdMDhjt?eEaJkLN;u(|e8ebJtIml@ArvwuS^^s3WUC066emF${cj$u2uMWmcq zLH4QMYr_Q|(jQ!eL(DL9iK6#^TI;E%M|YVVdSLz%{du8Wh1q2C9Eh%&#){ykg79kt z0|Qj!<|fmE=smpFH39gs^Sc&R(#l6cX^(7o<<~elkH`nct}P=Kzx86&+`M~NQZVcV zFGyt|mzncgS%Fa1ie1}hyGjinYneODUWd*(S1^Cl^l&T)8zG3Y2)dDN0xZ%w%Piki zb4sF;PKWiA6&(8c^A*ZV6as9jH$BHj4L-9wl-&N=drfa*n8ZD%>v_~K*7I?8d7AWv zAtvj`f>7XXO%^T%yIKG(!D)<@|KwTZ0?~%Sl0BDk2#DPWl~Fq4dUAcE0D&9PdlH_WAUUm=2R2 z=G>3-YW$+Vp6c|yhax^*FqRSD7?#NF4M*EEQ5Bj4DPGm9S|;CN9ywBm9cf(K%6=FY zk2NXKBqvUOS5=6Hy?iWgerZ-4TJBtD( zuA477k)7B?^fvLe`88NQBBk85{Co+FkBou#$JojT$dEgH97>_iGx2wg({zqM z?eKZvke)RRwKU!`nE?zT@n2=`T4wV2-f2SNsZ$u9#BUEHj%A0-Uiwq&{-*>7D-5yA zF`Xr-%yBCK)_zLyv|l?*esan!XF1~_AY zJVf^U95+a-24Mi>2hZj?ZGC)H;0M#CM9-;1fPSsnwML`VmV&X&j60-Km#Qe3z+8D;G;ox8#<^=rd+h2<(Cml%{ZD;RAYHGj8j*L4ay@qA3idjQ%2M^Vc z%j051&-#f%oeU&Eu(>%>j|V)76$O!_-!wzN?s}aA?7E$NPt0DR?~-KB&-5I+le<5` z;hK9XwS4p>XWhJ~Y-LP_Q4qa5#a4d-@utS;KS2iK#sTM-XDOiVIzpY(I>(p}SR?)e z%cx*(e(m#4#1l@QqI+`ZqXnzD<1o=g_p*nYx6}Kx6fB=8dPQJ%Ffusj-QZP@CJ;`z zedp2-5I}_9CYoRQLQ*Ik`1<7W2e2M~^&Dk~SlBX{P;Ax4W~jel4nUnfGTVC@LxK9G z>ex4@YKz^zAsCLaj_8T3kC&*c){6x-#PL*}a^b@ki3{f@=rKtwL}c|SzSm{(NSizP zV(`vqv!Lb|hxG^qbql}dm{z(oA02i4E^4kg-%v0RuXEX0jCWkXPanf5;H2L$g+{25 z6p&q;E9Fpx3=!NRV9wxSrULp`5CIEvTTft(tR5c)OlV#s9?&Q9BH(3FK+Wh4%R`5$ zU%TMVT?kLa9HC(8U{lgcSK*h!3#fSMd>YS|@JkOln)t_5f0#Sx*`(OPq@*%AET!;wm}33id1YHgcGU&lH<6S2RCe|Ti*G-4 zex)$4pH2Eftz*$8`f6Sy2CW3#5h@qt7ayTpIBmY8-}Od{`5N)^+9E%w?tKEqI(MS=um;iK)=%eMslS+{;{JzP>JYefJe3@=27-JPMPs7w6pQS1!n44{EF&naSuF!LGH-)v9t>UA^MXxv%UM-@y z&K~l8=H}!JCWG2C3KjSVun)54T?Ju#$K5wS3Sg?|{vla>M{h3}_&ZT}ie2O01o=D| zVRKN%k*F9tjuB z{c{W04Sp8HGlw&q3=H+~jKLeo(%VLuS9T%rmh-$tc&$QnKp%Dx#rj4)gzQC0k2qp; zCJ}LG8-9=f=b68deR^hNtvHq{{_~R4^O2W=hr-R1Zt2nMygzb5F~_tfu;hGvNp&UT z#SHsb0a^BkWaiW$)vTJ3AS^Hc6tCW3_uKe16;vd^Vy%0WUg@SX=E684tZ`S|8 z*SJqJFgo^+cu?H$w*uv~aYFx~nvb3l`g9`cOj5Q5h^!8jx&3ZcDmn50@b>1>Q2p`$ zxFsYzB}>^7m1H+cOvq9~rFWZZNRgC@79n$mNXVKsrczX@X;+bptl3khY$IfwG&5$H z?asZwSD*7a=leV7`~5rTiH2}%LuM&Akw2`4NH7X)#tD{Rt3E~;NSAxws#s-|e)7n{e8~yBZp-zWflIjyiz0ssvHD-)=?fR% zMVh`2w44nUF2?HXiQU>%sD*GNiP+)~%Fj@|$BP=-N9wY+Pj;Q7geh?^<#wIoH197e zg>kiVjt`L74sE-xy=Puk>>`98K1O^W6)hA51vS$@$$MojGdvzUXp(E zGq`OR`T0AkjHL|!GsW|&OJ)SQ6<50K9(?eY%3qGZwrT7Le}l7I(ygnZ?XNfOUD0G< zdtqJBgHi%ie`Zpm`)93a-NA>$|LymCy?bW^tN2s>k!g)yjKZQ zy}3{h-1m-wtB$_iNpXINre#3`F#-9O~C!M=I7Ghg4zZn|1 zbj;RG9rpb2ARwYZY=35MUb8GOeyOY{JO1Dw1<~7fr>DJL!$htfXN9q@WMK$&&cv{P z0JBlv9w>|G4q2yBk>a0}uwy@CrJ4W29Ptim*HJ|A>PG|H;g^?%|KgP9$95J7F1@VM z$8iIR)AqLdFw1JP{2I`@uQghi11Jq{33;z5Va4s1qTvnhuSo3BZBVPncv8cOkMbkt zOS9jHLg_@S+nS%AX+|_T6rNPHc)_Fo@;)_0gC9|gA33BoQCP#pcXVIXXq9XzyD=4e zJAdav=%wtY$&&}7Zdf){XTwVj56NGzC$_$*YrugX4;@OOvrQ^}ks>amD680e+Y_}` z4D4WFMF(JeNZRbc@gpz9X+j(3d(Yy!Vcu}z-t3Yr*l@GKIBz&=mv7Tp!Nt=xaM8#@QK-%q z`P}E9gK z>gOYh3zIwdDT`gORuWZ@e)rZemK9oX`8>OEXje4HNHC}>R054IwC%s`;02i%$FH*q zE(R->idIx5Ez1tEtbA9e(RgdEip9PH=R!-(tOS`q_TUt)!qhS9Pf$1BG-XnzNwil< za7JQcdH2C?5}Fpp@j(CnqXP< zQbO#zk-hU!L5r7i+RTlZxOK%BdWIIKk2G2=C^wkBbGW`q&g}I$pvHR-k1~Fwbp~&* z#jBEDG%kOhPu=NZo!ET2&7}sh$-Lua93HWVPmf7!*i&$bkZ%$4N3&G9*Cw1*jRDAHB*c~8Q@~@DR1dG?WHv#U@IK5?iF~Z z5#d&<7H-=-U!cQnOnar2l>e~j!i-z%Z|`ioCy5s9u(b|(ZflG<9>1GwbTs>7aruwN zW-Tvg0055<@cWu3Op8Kr~7*B!$dk7|7|tsk=!$~rny|0 z*G7jHL$3gG?0-@C*suqj$?oSYWUm+$+p)NURy#^eo(uO7PqF_eS*g*VRTl+f(vc}{ z@Z{H~z*`yIsap3Z-eiOHs6U4Yr&N1l6w$7-oa?}ik zgf)m3K4=mUSSO&fWUpmpi>BND!-iWe0_CmbL9=5XzJF+usV(d>}>#*7mqz;m=d2jr^YTK-O{aLR4 zCkn;jqxrBBF=;bzQ-z-Jaqy|(fb%|Zv#7X9pR@Bvlknonqaki&J+CDn-tI~Bx&(yq zW>03k%(%R&>YDkzetesi+@~9n^)O^`T|B?y7kLVnenJTkxpV2}3{k%0WP>_z<`H3^ zb4nh`nWcKN+OAK0j>uHoeNx4AQ3na(guLu!xJ$FtkN*zc3mA5Y_|`3WG`3mm3_E@w zS9{RP?cQT9=^?Mm{@q!3*D30gRVQ|3*{N9lsTy=id(*k4Gk2=%IVZ8jj~%mmZkq=-$nMep3zgO0(+u->SD!XYEy&1UF)dRBb_5Xz5HlH31D8N^uLYxATvMM0vE zwZ~|~7UoavkKRz~>KtZRIcCqMR4ogl&(Z@lGYmh>Mo5KuFV zzH8$%ZGrH&aDT=70yEe&7)|UeCduooFDbJL-Px5s(`OLJt8ToQqzOcls+(&ec4(bl zyTKSG-1bTPYS#~}uv}ZXh5Jpqx@yF;-7IX(uR`j$IZbVlR%1d2iE}&(swGjal5ksB zX{P8mb^60`kH<$gNQb-s;ZfgpO00~?#U{8b^tK#a=erV4dS@#7wUt(^P5VF}++c(s zp&R|lJh9yPj3BgCLT#yOs@u{-qVO7}LlafGehVq0YKcV#dttj{|0V?m=JJEsnJsAr zV|W4mZpOscrKgXaKWBU*@H3-2bGM}m*(%|-#rb`WO>tk?h9r8y8AOYQMe|DB&RN_o z3|JMo;L>b!=|AUdn`1w{WZDyt1DR|kK|Z|M+ErzXls4f@%)Q6I)}MzHqC2w__nt zw|LuRF0TC+;}GxcUkD{hQ-o*I1EBLdItFjbYt7YJYJyp^05cUI&yIO+@rRfiLey|x z488nA~sP6g}}Z53e9LC$}0_F^7%=jYt9E%Tlt+rHb4ThqaHd zcw@DCTBze+98lY_>_yF83|~QGnbkrrI?b|HP1*u1<%&=nE@zOkVf=%)JpPTe-zJ9z z!cA{3yD9@f>EQ8;H7;jKztbFJ+{gf-`{^qX%65L8;>^4vNRlO+wWH|=2hgNR-*|5E zPBWirFAiY!Z=S5C)&apP+r)07tash2wwJc*Z@|Hh-9J1z6F(v*bycWE}@*V@ZKfyq$;MN1Elm zC!0;_fhVqO=nCIa+w+cxcARUy81QoQIL^dgWpXeyNh~dH!92|9gGIYZ@KDY;?;zQv zTy*W_Zg`61ZKk7f;iBEsI;ET$+pen*Rh~CJC>a>MFvO~-;N|6lBSw^DmP{4L)ULkm zzY%W9tlwO{;x*7o+4WG@M||*%kfGy!d1J$xGo)DAZZKa|#xLkUW0Nwyzu&VpS0i3- z3{}6>=(OdYZo+KyQc^lWs3@iE*z{x%s^IWISWIGt#+hh600d}$@ScPObWR)or9C&k zKoK{UZ2}c#i!Mb#nWGaPdlBV;Zi;;-X86hy_AfRB!!w?UCIZ^%uh07v)Rwn222MbTr(4&+E*TdoC=l z_SoU~daFht^gOO6bJFCG6l(Yd*VDzo)ocon4?qQG*VlM^EQKsgyXpr41U}adDBu!N zv-XSYQy(MTP-JovCv0O3i0)Izc;)Ii=XWNXeA+Mk9E!gPJdT^hi+9w~t zx-noQQ+RyXwfXx8Y+$)J+FaWJHoWE{@Avz!KE(m_zh1BzhnuG7aY-TX(*T_i<8|=D zEiko;8}!KoQRa}g4%k2J%QXHw3vb-f@I3x$khTzc;EKXp5|>bB3kf z+r&Ooo*T_QvN3hL*0^a+2xlD>z(_<$Q_<06On zf2iAbf&@^ZDL7{vVLCs=Qg8N}s5yhAz(}VddyI$A$i?6H#-xNYli2;qI8y5Q=N}8uaYy zeO5mIqRwP#X$7qptFa1%A7CY0G;~l&Hs4QZ`nv<&gjN_#F$KHa8eBK>Nax-{euY;x zxz{nM-WsgjVIZZ7s9rkXDtdIxb#TaNKj*Ht!ZDR3yeQN|Uj3r)%N7Uz`TgVT2Btbi zOB|5JjQ@NM{5W7UqpLrxX-3S6AQ5wj8ghDjc72 zUu{)WHsQEw`dZZvL7`V2Vsmr+V=MH@w~K86>Bu9 zEs6R7Z+)yJac0;@{3EacvWY$?m_{eZA~@Mdqtha@^8r13a<(bwu>SQuYNO(Hc^6SqQ29o zSjX;0)a@Dzdh?dz^q;WUB{NYIBs0{ByQ;cs?)1u`EPKq}7w>yiXvEY^M1X8VoCf6P>c`k2zChLdmm9%&Dq1FxR zUwj4%M>0zUYfg&Zc7Jp+`LNAxWQXRdu7s7hHl)4m9Ik%;j$XQIVdTD;2)880|J$vO zZ;`N~_a9L%KI6$aTA=@#63)69eeQ=v*&AE#jtSA(3Z0sYutcawS9DR?++x`Mbj1gM zyq3m?U2>V%_FYd*-C(es0xKF39+Au~1zGMl0yb_>@x0*WfHh}c(q0MP(lM96r?xCl zQup{Oxe6!4FQP3Un`^C(9lS2S^?l(Co$e(l?`o7z?Qyx7TA5A9>Am{7j~sBF1HTWr zDo0Al{Yf0TC=Dh$M)%i#MYbS{Pw;$UZyEE4Mj#dX703Ir`|-Qh5smpI^)tXs>V5>+AKc8X?OHdEzW01*A`2nH8||4b-o7H?&=B@7 zqQHAJ{F97s#}~4~9Q`aDz)bo?NQE>U6fKOrNpDa9|x9=6p*M2mg zGJ4Tu8OcE?gXgcb=-YO8bK|O)T}C_WNNWthu9EY+^;SB_zB)h{uxpm)q-07jcp+Wi za$l=DXHu>2`8@SxW)8u{I;|i}T$(@d`P=hXn(zIbyORZivre!_#6;~zi{jR1!_Rw3 zeTMz|=4<;@+vCoqqKlM-En6&({dmx#-lNbgC{zwwcV0`bzWFNdo&GZHss1Y~(kp*? zI~&okvSqpa zjz=PUVSQ!V%mnp0-4G7c80bP6wRwZW$5idcre9OC06f7$)3%tNJW+Cq&@P#pQrS(< z{-#ntm$Z=m5h;(p_1)6)Ss$g(WnH+lEB=F5RN~FaYhXjM(fB-xG8*o?A5{{ZhZUC@ zEthwBcd+yUZS93)8;^zW&^xqYtvZSbOLQ8ZcrDdFk<@<#U{D`V%6l2SqqNkXo2pZ` zjB3bp+~hXYR6pzWc`;}R=7wrGp}(oT>xm0%RF_OK_l%0PKWp?%(k<`dwQovQr-(H# z-t;{p-5nMItvAK)U@W>GyGZ<}Z&|)D^iV+Q!3eb^hb1;U4xHSgyvvMprITpiGM*hC ze1o`xRXMU@e1|ElX}|5s1`JpzvcU{f7}xjdvPmj^W|Ugx@>QW4l^JazN|LR8eR#U)syi<`3HS8 z?I*|+rh5SyQ%>NTRf>Vjjy=E1qR$5~|1j3@Joj?7|C@j(=xLT+JrZhR4Fg?`3haiC zA;O&?H!OkFw7zU;!T6ZvhI{3CH_GLAISR3Nk!%^!F9P(PRI%cGV-Y?pYCf6HPUx$u zT5ZsS9O(Y8ng3A1x>g~c)=^XUXysb}B;!*>$l2ykw@ztm=EgrdGGb>2qz3^Xs2-bs zujz>UsNjOc^>d#InDuW5Dm>veYVNz!>0F~tn?_!NAID>hkP7YmJZ@vUHP&?~+^ro1 zJGva7)CZDLcZ|0&$uS10N3HE1Y^~9j6{a40q*0#}Eed_-&$As*kz(p&&J01Iu+-?z z3BztpZYsegn-jeCCJ-*vnWB z+*f#IdN+CRg~J)qlJoYFqbqGkHcPF$aio5?MZLj#M`=bX)aV$Tt@zvTlx9|% zriRwM4yI*9IDuRXk8`gA1#?e1qtR0A;hMbge$8I1cKIZWPYhZQ0d{*4a!XSFO1Xmq z-;VTQ^Wved*n}6K2`(>v3@%lq$(R#8wkN@A6vbNgB{B8oQe_HOmp2Et$xi%saZk*( zR9BApV{e&Fa|}+~_KjHib|W8@9JB;7pOF-D4op-rM!rg?&P{Q2^|A##uK+DtR<;QU z;Nt9c7W-^9c6?ukjBn+;e>tz1l{|ckZ){f`1XQil|gDTBf3%nC>=cpNZ|xrIh1=I z5k@a9Vi{E+wv$fI>)lPwe=BjSLQ5}QmtL6H9NnNg9t_yvxZ&ONv9TY&_>(OR@VWal;XfD53HeHH|Z(HToS~Vza?y zw4i*5@M89fq38pUy-Aoq?$MXH_S9#)lr?fIhA`V-rOq}dhlhoC z8Ph?7>1$T4hMNkfOX-OHc%S)R{s={XX5Yqyw0$BV0Wxg8 zE7raB>0?W`Y6IQjx0}vZFB6o#@5BY3JMZ?4{#&qm!-K zat+g+6!G`y4gsb)!wmd#r8`9tpxy&E1T)S@9Gp}DBx|`*Udp|4M|4lAo$~FGgHsJp zbU^s$R=w9$nwMCPk3J#M?tHSSl1|o$4G3RftGKB+Kyh?YMwH-kRPc z(Z=ZC@>0A;=L#7kwLtUW_b-WXdY=L#&pl?VYX^AAXp2+MLNBPyHr$AZk z9vPa(bLe4reNisZg8O^4h;0Ya!!VFr4plk*^%KQ44w6LXwatyp9#Hc+EkslX3*aS? z5RENJ0``zLrerF<5<}|Epb|nxt)2%g?gE5zzR+OBkGHT7m)8fMf{L~Y`+$<v1!OlERhNn*STREz_*AJbcvIip zqn^3-3CFB1_7~hDFmUkSTOj}@m1PI1iF1_p<(CD6*A4Y~O9nG`sOU>_>@VOiNg&$D z&Bhz{jr~Jyj?+w;Ju-f6CTz< z`3nzz5FN*y(wTI1?1R(=cU~}^%3mN&(Z+DR1%UmrtL%8Dir39$h8(Px#dbl+B=VWT zr}sUdDWk=Cu3tNcY#@` zgnd3R+JomPWJ=L39bbX@!UIZlv6fgew56w*UdxI`~wPwK& zc{Z6(-lmJM-$s(S%}nkhef$@}^b!*05+qj;lcZflUQ3?RZr$hNuAUM(L3S!6R}9k>E1Tpnx_ihlop>Al05|D!+%X_n zMPzCt>fpPW{ncDfMIBNGiGW_S0#o5)fg#M-(H$BVS$wn7cSb_v}WBCwyd#>;WfUyM%(}4m> zYozb*>Z}qfTz?C%c9hJ562PDb>_kI&i#~#jBzYu%luT2`5I5cwt{D%@qI@q_H}NJ! zl0(>jV`SPg4C&`hRe@PPN2xDL_m_2qR9!0YBn1!KKAxHSa_l%dZkCTnBhYb59v(ft zn`hRHM+OO9)@Ul9z!y=_i{Ju0mrv`?A6X*W46^qfWT+&LUtAy!-Fi?@aEJVJq1BDp zW>3-i=0B8A70?P7UgeSoLK7MLZ(77?z(WoYU#Tr0Q}$Z5CtZV=N=qyp$6Y;v7{N^| zVI6_6<<25dAe_JfRZ|+GBq-)Xn1&wWJ3UTp#sh7l1^QYZUnyJ{>!GlrzE7iA5IRbn zq+vEQvjm|6T2341Vv-OWa)@dqqjU2!w3}4S24PpRO)xDWlUG)ZEya*wOB9obG10t` zCZeNS%4{&9QGM(?kr^8I3wr^UvhpTj@=Roq@w#Ecl01Ry5K~Fe0`1a9ov?RTm_Ako zv~MKDN81B7ammj3LJ&p@N=OyJY6#qk#)1wCHO7h@#HQJ`?Y6O4>%-}P3{j``xHEllp#URkVxmXqFi zJLe-}ijJCwab<{E^>+_!8|*eu0}8;nQL{pC*x2zWbQo--%~AOYcgj3QNqvN=%^&kG zsR?O8(jjv%qbc>8>|1`{{@6@!>cE0#C^FLZ+Y)z>)P5G=Cv=6K*eL$`(3+r4B3~o6 z(!JgkExjj)Of3UNcOh*d0aDJ@f@STIV*f={PkxU3KfY7;H&W5ZbiFk?XG)5ZBUYXg z%{-|D9w8;T@I3>^FCiJ1x~UH626|)NGju|RA0)k&TP^uV7YVlL#5UgLlbfE*SBSiK z&EiwvkFW3L<90%4$Ig_t!VnhGJcpMaR|N*h2MKDO`Dj!@ z-<+i!{*%bey&Z|n7vE-0$-vDO6KCd7Eqplfo_AH& zfX=%4@z9rLjPC_C2?{(H)V%*0v|Qv<&dE^KW+r=VUra`J9G85k>4JRvD$S${#;ISL zISJML@rg?O&W#eWRZV6QWJn|Bi|)L!_#l4g=!^At@NXxSUjOuGQ^qKmEnh%XV?x>( zi_)fxY56+m>K@|_GP_~vQlU`eGp!jzL+_E%OsKV>1x(s_^?+@VGS;p&p>*uUEZ+fA z3ttEM%#7u?XJB3=L|2}v1e9&J=FwJsNGw8J?!-)VV+t6edru3sT_ib<<6FN4tb@o1 zkA83$82)rp;6|VermHoc3QS=S*$k3LTWO2M1$j^_6!eHmY|DU@R=?<8KQ5w^tnd!k zF)TvF}Q8?B75J~5>SUkFw= zICa-hNOG@B=zgYB#H(!8_YHr{!OjYq*;XWcS6d9P8J7X|8zf$DA^#Nx? zO&*?OK@u+LM-V+WKni1>ghX$Wv0WQbw(QJi%T!Jv_0aN|Dx}!_D~&@xlND}6EDG$w zPvhMmazoF9f0*<}0@MR_8F*_JOTKl7a;4qn#rUf(2@ei1TPRMGGDn2T&-^212v>Su z6594~83_>Sy!EN~PIAU5PDXXi9|*qpQ!u({6U3x=UVq_=6c^AUxBXhJ_zXJo3;%!!+7o-sJd|k!%8N(isJ(!|*{zZ%h+-;~DOOuUP zeAc1Msf=Ujw(!vKRrSaQRCVW+k|>84h%WdDFFs!dMC_wMT)*H6JVO4e6E~XLmS9G* zURvb{HMtu}9o3qjKm=gVQe>Z1A}pEi{u@@B);5s;$@VXA9;g@JeEpfRF>8Q<6rbBF zD%PNmD!JX~B%>#{chST+4NIJlVWYZg*O=s2=TU9M4ShVpFt1s+T|%_;^i)#BO&h#Zk(%m`LPvVcA$zmp`%&x+Gw7LtOGf1m;M z(Q6uG?gLNkwjDFlVC65I3c-sc?3<~giJjqjwwg#ZLB_0`=qODKLl%Fxfm-6h_B&9_ z{&d(Osp~Tr*GuMTM)O@D!rewjdm773WaRIPWOmRg3A!GJnKDkja@W%#l{SAxNLq}P zG{p?&CE(MrYa0+3%p74eSdowhCS>SGgVfWm!;s|B!)&>__4gmF9=hGA2;FX08(g4q{jd>ilFUAUp2e;RbVXj!lrA=JhOWUt=OIl)WY&j+7Kj1? z17TooGy#mBh0d{ppQ3X#9zke>-efTr5kEf=nxT@UZW;!O)^wq{v|qT-=nxdh(MBF& zb&zm^fXU!dUJC(x3ym}Q_Kt!={9Fdl1o{ObToEM$%bw)S!aqcnsAwfNOJftz5*W)6 zU4mN3kpd#-2@R5&E$C_prGcxE#a6ku$VY;kvFU;68N!b&`R{dR|W+O zMU7yT;uFpB!AwaeyXRJlCLyL-!);9U%iSI)m{0L3Ja}rIb)5`cpCJ;!wtGKMobIcJ z_s7HNL)wq&M|fV5BckvwA)jL=wE=FTbbr_thg@3rllmnx8>9}dd$UlkHVCkRYP3DQ zf`<`Bp#Z%3alot8(PZR7<%h$+F2nz>t0e28-_g2))0u$3dD$ zx11||xmCnM800Pw5zGG(UP%4KL@%p$5R#X~lO8Nzpt#msAG%5q;`A2vDw%ZbFf4mA z4T`;gc}918rQuUJ1>q@7v``e{fF%_L{uQ96-+sf7PxgMl_oW>yu3yLIX#)@grMNC8 zM%(jBm~@IO1?l2}9Mn_?lLl|F?O7Tr&al;)KF}C{M^A}{c5U^A?AM@?;|aKJ{B0ye z8g44C_+or{~-9a-&lXps{W;Wux`%e~on+Wb5^BH{X{p#1ov-5c{RC@FPy}$Ue z89->p?FnkFX1i!77F@&buGsu^yHyuvXThRK{l^Y<3cA}4{ib3U@6JM88Xp(10h8W- zF*|r731Snl7E%H&W%}lF%b>-`AV;!(6hdEf4RKmZs@gPAqo}+@ACka2qGk)$pgo!< zAX@;cu@qJgfkIK)v8~WIqowk{+S?x=@qA#K83|m+AVJC2Y0fEd2s`AydgTl01oKuR#GQA|xkG2+wqSwsVoLg0N3 z5*yFMV;~5|1R(msgaoqc=gXu|;G^})TkTJYs?laJsG*L$qxz+ZpLG}LR-vDLB9>w6 zN^9`xywNJ5R~@HA9v&vj{8}8e*Z`^jDt_Nd=Fpv1q5d^-h{bP-yeWU%9YL*fqh=t> zTSLuRUHW&tI!@Bz#D1C2=exg0R3-Eagu}45(0Mlm*FR_4YjW3kK=d>nksEKQxiZ6wGPPUa*4(x z25%7U=fO9XPZzhPI!IU#;r~~>RQXXWol0a|5-ZmZrn-)FRccyT`Sj7SVk8fC z?7d2om>{yMb3VC3yWieum=pr=VV;S@TnsrvmzydbS8riFT8drHQm%|BSWiqNgM?+= zIR*3Hj8ZTs2xl{XnOV@b4MKx8)`@Qwd4UT*Fmm5#<|Lm}Nz-u@-xD z8kRIY?tnVS0Ze&0ZO`g_*Z!K%2mbTTe11%~>g>^7{bx(nHw=7x|2pch>C59G@X96+ zN0k6>@>XEmh~?k#Tx}2N^*)r24Oq`&>FEt-(M)isG1K&0DfUPMtR<=;0LlUvt?eA;Df3M?>N*60)arj9|7g4I) zy8OPy3!9-J5zG@{mMx*!%XJA5AIG1AL^Nf5LFKO&-Fe}*`=ALIU^Sq`uY2kK@Q9?= z%NMROwuhAB|d$^%qDx*lR0wCAMf%$~@_q zpPVG6(3sLTKE^;VAZYcCfiVVl>Sr_l7zt@RXN_j!j}G00N)fZe2yZQzdh^NbRA@^( zkRrm=Znh8&-~N5g>~7YH9bnx}bgz8(@;)~i`GrrKSk#?AfO&81`ul<4S3TImlgYX` z*vfUd@jmnl$tXqw<=MKQFmzO9l?B^A^zeL%8@xW2SG8s>)y8WkXW5yr5^ghGH_@goK49`05)hCeeN z@moL-A>6E}vB<8u_=RzPeJrcy!@Jf{?i)MF+>?Q;pzg#F#Tz2&YG4a3Bwpui=^ogs zxVu*EsB;mIiv0@!RL`EDVNqu~`2#A#L{o)>Sg0bm-~qZo6M<=T=g#LdMcrT8Y~Gv8 zNs}wg9B@)?8potgv^V?vEh=LH5z9zwimo7K)3!!k{z=a|W-Aj3wZh%Yg&9BA3kUC4 zVge=pE3i3jwwe9<&X8L6o@^4Svn`E7Js0w`8+3F{_l0^pOnr^+I9r~pY(DdrCGDXL zA~Y5yOS#4iJ32o&>A!DdtV*IRYGEi`~;J|%_;1gf@!UXJ&E(UA~;Z8%0Agl-|Dj%*5`-y5?O^6d6hSgjL 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%0D(pM&vLYZ2X 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 z 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

}h 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 z�$$igaEuS8b|tT*ytu8i;v*C&51{pPTI@iP-8|!> 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

m@{wu(tdobbFPP%>u`1CmDWM#^&5X$&8w=@ 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 UfG2^cfK9;D!2i1c`6cjw0UO6&lK=n! diff --git a/src/packages/Moq.4.0.10827/lib/NET40/Moq.dll b/src/packages/Moq.4.0.10827/lib/NET40/Moq.dll deleted file mode 100644 index 3a3e653aa79f33f339435b5efd7f097cf18786d4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 488448 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

}4{=+J|Mu;%xG7Iwic_D!~2o@Zr_U{S@XwyFU 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